ERC-20
Overview
Max Total Supply
100,000,000 ISG
Holders
13
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
110,265.337875721762205012 ISGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
InfiniteSonicGlitch
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-03-08 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; /** * @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. * * The initial owner is set to the address provided by the deployer. 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; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @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 { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _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); } } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File: infinitesonicglitch1.sol pragma solidity ^0.8.20; contract InfiniteSonicGlitch is Ownable { using SafeMath for uint256; string public constant name = "Infinite Sonic Glitch"; string public constant symbol = "ISG"; uint8 public constant decimals = 18; uint256 public constant totalSupply = 100000000 * 10 ** 18; // 100M ISG mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; // Tax variables uint256 public buyTaxFee = 6; // 6% tax in ISG for buys (updated from 4%) uint256 public sellTaxFee = 8; // 8% tax in ISG for sells (updated from 4%) uint256 public constant TAX_DENOMINATOR = 100; // Special wallets address public immutable marketingWallet; address public immutable developmentWallet; address public immutable liquidityWallet; address public immutable burnWallet; address public immutable ownerWallet; address public pairAddress; // Equalizer LP pair address // Tax distribution percentages uint256 public constant REWARD_SHARE = 50; uint256 public constant MARKETING_SHARE = 15; uint256 public constant DEVELOPMENT_SHARE = 10; uint256 public constant LIQUIDITY_SHARE = 10; uint256 public constant BURN_SHARE = 10; uint256 public constant OWNER_SHARE = 5; // Staking variables mapping(address => uint256) public stakedBalances; mapping(address => uint256) public stakingStartTime; mapping(address => uint256) public accumulatedStakingRewards; uint256 public totalStaked; uint256 public stakingPeriod = 7 days; uint256 public constant STAKING_BOOST = 2; // Reward variables uint256 public rewardPool; // ISG pool for rewards (changed from $S) uint256 public lastRewardDistribution; uint256 public constant REWARD_INTERVAL = 24 hours; // Holder tracking address[] public holders; mapping(address => uint256) public holderIndex; mapping(address => bool) public isHolder; uint256 public totalEligibleSupply; // Trading control bool public tradingEnabled; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Staked(address indexed user, uint256 amount); event Unstaked(address indexed user, uint256 amount, uint256 reward); event RewardDistributed(address indexed user, uint256 reward); event TaxCollected(address indexed user, uint256 amount, bool isBuy); event TradingEnabled(); event HolderAdded(address indexed holder); event HolderRemoved(address indexed holder); constructor( address _marketingWallet, address _developmentWallet, address _liquidityWallet, address _burnWallet ) Ownable(msg.sender) { require(_marketingWallet != address(0), "Invalid marketing wallet"); require(_developmentWallet != address(0), "Invalid development wallet"); require(_liquidityWallet != address(0), "Invalid liquidity wallet"); require(_burnWallet != address(0), "Invalid burn wallet"); _balances[msg.sender] = totalSupply; marketingWallet = _marketingWallet; developmentWallet = _developmentWallet; liquidityWallet = _liquidityWallet; burnWallet = _burnWallet; ownerWallet = msg.sender; lastRewardDistribution = block.timestamp; if (!isExcluded(msg.sender)) { holders.push(msg.sender); holderIndex[msg.sender] = 0; isHolder[msg.sender] = true; totalEligibleSupply = totalSupply; } emit Transfer(address(0), msg.sender, totalSupply); } // Basic ERC-20 functions function balanceOf(address account) external view returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external returns (bool) { require(tradingEnabled || msg.sender == owner(), "Trading not enabled"); _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) { require(tradingEnabled || msg.sender == owner(), "Trading not enabled"); uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "Insufficient allowance"); _approve(sender, msg.sender, currentAllowance - amount); _transfer(sender, recipient, amount); return true; } function allowance(address owner, address spender) external view returns (uint256) { return _allowances[owner][spender]; } function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "Transfer from zero address"); require(recipient != address(0), "Transfer to zero address"); require(_balances[sender] >= amount, "Insufficient balance"); uint256 taxAmount = 0; bool isBuy = sender == pairAddress && !isExcluded(recipient); bool isSell = recipient == pairAddress && !isExcluded(sender); // Apply tax on buy/sell via Equalizer pair if ((isBuy || isSell) && sender != address(this) && recipient != address(this)) { taxAmount = isBuy ? amount.mul(buyTaxFee).div(TAX_DENOMINATOR) : amount.mul(sellTaxFee).div(TAX_DENOMINATOR); _distributeTax(taxAmount); emit TaxCollected(sender, taxAmount, isBuy); } uint256 amountAfterTax = amount.sub(taxAmount); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amountAfterTax); updateHolderList(sender, recipient); emit Transfer(sender, recipient, amountAfterTax); } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "Approve from zero address"); require(spender != address(0), "Approve to zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } // Exclusion check function isExcluded(address account) public view returns (bool) { return account == marketingWallet || account == developmentWallet || account == liquidityWallet || account == burnWallet || account == ownerWallet || account == address(this); } // Update holder list function updateHolderList(address sender, address recipient) internal { bool senderExcluded = isExcluded(sender); bool recipientExcluded = isExcluded(recipient); if (!senderExcluded) { uint256 senderBalance = _balances[sender]; if (senderBalance == 0 && stakedBalances[sender] == 0 && isHolder[sender]) { totalEligibleSupply = totalEligibleSupply.sub(_balances[sender]); removeHolder(sender); } else if (senderBalance > 0 && !isHolder[sender] && stakedBalances[sender] == 0) { addHolder(sender); totalEligibleSupply = totalEligibleSupply.add(senderBalance); } else if (isHolder[sender] && stakedBalances[sender] == 0) { totalEligibleSupply = totalEligibleSupply.sub(_balances[sender]).add(senderBalance); } else if (isHolder[sender] && stakedBalances[sender] > 0) { totalEligibleSupply = totalEligibleSupply.sub(_balances[sender]); removeHolder(sender); } } if (!recipientExcluded) { uint256 recipientBalance = _balances[recipient]; if (recipientBalance > 0 && !isHolder[recipient] && stakedBalances[recipient] == 0) { addHolder(recipient); totalEligibleSupply = totalEligibleSupply.add(recipientBalance); } else if (isHolder[recipient] && stakedBalances[recipient] == 0) { totalEligibleSupply = totalEligibleSupply.sub(_balances[recipient]).add(recipientBalance); } else if (isHolder[recipient] && stakedBalances[recipient] > 0) { totalEligibleSupply = totalEligibleSupply.sub(_balances[recipient]); removeHolder(recipient); } } } function addHolder(address holder) internal { holders.push(holder); holderIndex[holder] = holders.length - 1; isHolder[holder] = true; emit HolderAdded(holder); } function removeHolder(address holder) internal { uint256 index = holderIndex[holder]; address lastHolder = holders[holders.length - 1]; holders[index] = lastHolder; holderIndex[lastHolder] = index; holders.pop(); delete holderIndex[holder]; isHolder[holder] = false; emit HolderRemoved(holder); } function _distributeTax(uint256 taxAmount) internal { uint256 rewardShare = taxAmount.mul(REWARD_SHARE).div(TAX_DENOMINATOR); uint256 marketingShare = taxAmount.mul(MARKETING_SHARE).div(TAX_DENOMINATOR); uint256 devShare = taxAmount.mul(DEVELOPMENT_SHARE).div(TAX_DENOMINATOR); uint256 liqShare = taxAmount.mul(LIQUIDITY_SHARE).div(TAX_DENOMINATOR); uint256 burnShare = taxAmount.mul(BURN_SHARE).div(TAX_DENOMINATOR); uint256 ownerShare = taxAmount.mul(OWNER_SHARE).div(TAX_DENOMINATOR); rewardPool = rewardPool.add(rewardShare); _balances[marketingWallet] = _balances[marketingWallet].add(marketingShare); _balances[developmentWallet] = _balances[developmentWallet].add(devShare); _balances[liquidityWallet] = _balances[liquidityWallet].add(liqShare); _balances[burnWallet] = _balances[burnWallet].add(burnShare); _balances[ownerWallet] = _balances[ownerWallet].add(ownerShare); emit Transfer(address(this), marketingWallet, marketingShare); emit Transfer(address(this), developmentWallet, devShare); emit Transfer(address(this), liquidityWallet, liqShare); emit Transfer(address(this), burnWallet, burnShare); emit Transfer(address(this), ownerWallet, ownerShare); } // Staking functions function stake(uint256 amount) external { require(tradingEnabled || msg.sender == owner(), "Trading not enabled"); require(amount > 0, "Cannot stake 0"); require(_balances[msg.sender] >= amount, "Insufficient balance"); _transfer(msg.sender, address(this), amount); stakedBalances[msg.sender] = stakedBalances[msg.sender].add(amount); totalStaked = totalStaked.add(amount); if (stakingStartTime[msg.sender] == 0) stakingStartTime[msg.sender] = block.timestamp; emit Staked(msg.sender, amount); } function unstake(uint256 amount) external { require(amount > 0, "Cannot unstake 0"); require(stakedBalances[msg.sender] >= amount, "Insufficient staked balance"); require(block.timestamp >= stakingStartTime[msg.sender] + stakingPeriod, "Staking period not completed"); uint256 reward = accumulatedStakingRewards[msg.sender]; stakedBalances[msg.sender] = stakedBalances[msg.sender].sub(amount); totalStaked = totalStaked.sub(amount); if (stakedBalances[msg.sender] == 0) { stakingStartTime[msg.sender] = 0; accumulatedStakingRewards[msg.sender] = 0; } _balances[msg.sender] = _balances[msg.sender].add(amount); if (reward > 0 && !isExcluded(msg.sender)) { _balances[msg.sender] = _balances[msg.sender].add(reward); rewardPool = rewardPool.sub(reward); emit RewardDistributed(msg.sender, reward); emit Transfer(address(this), msg.sender, reward); } updateHolderList(msg.sender, address(this)); emit Unstaked(msg.sender, amount, reward); emit Transfer(address(this), msg.sender, amount); } // Reward distribution function distributeRewards() external { require(block.timestamp >= lastRewardDistribution + REWARD_INTERVAL, "24 hours not passed"); require(rewardPool > 0, "No ISG to distribute"); uint256 totalReward = rewardPool; uint256 totalWeightedSupply = totalEligibleSupply + (totalStaked * STAKING_BOOST); if (totalWeightedSupply == 0) { lastRewardDistribution = block.timestamp; return; } for (uint256 i = 0; i < holders.length; i++) { address holder = holders[i]; uint256 balance = _balances[holder]; if (balance > 0) { uint256 holderReward = balance.mul(totalReward).div(totalWeightedSupply); if (holderReward > 0 && rewardPool >= holderReward) { rewardPool = rewardPool.sub(holderReward); _balances[holder] = _balances[holder].add(holderReward); emit RewardDistributed(holder, holderReward); emit Transfer(address(this), holder, holderReward); } } } for (uint256 i = 0; i < holders.length; i++) { address holder = holders[i]; uint256 stakedBalance = stakedBalances[holder]; if (stakedBalance > 0 && !isExcluded(holder)) { uint256 stakerReward = stakedBalance.mul(STAKING_BOOST).mul(totalReward).div(totalWeightedSupply); if (stakerReward > 0 && rewardPool >= stakerReward) { rewardPool = rewardPool.sub(stakerReward); accumulatedStakingRewards[holder] = accumulatedStakingRewards[holder].add(stakerReward); } } } lastRewardDistribution = block.timestamp; } // Owner functions function enableTrading() external onlyOwner { require(!tradingEnabled, "Trading already enabled"); tradingEnabled = true; emit TradingEnabled(); } function setTaxFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner { require(newBuyFee <= 10 && newSellFee <= 10, "Tax fee too high"); buyTaxFee = newBuyFee; sellTaxFee = newSellFee; } function setStakingPeriod(uint256 newPeriod) external onlyOwner { require(newPeriod >= 1 days, "Staking period too short"); stakingPeriod = newPeriod; } function setPairAddress(address _pairAddress) external onlyOwner { require(_pairAddress != address(0), "Invalid pair address"); pairAddress = _pairAddress; } receive() external payable { // Accept $S but don’t use for taxes (optional funding) } function getHolderCount() external view returns (uint256) { return holders.length; } function getAccumulatedStakingRewards(address account) external view returns (uint256) { return accumulatedStakingRewards[account]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_developmentWallet","type":"address"},{"internalType":"address","name":"_liquidityWallet","type":"address"},{"internalType":"address","name":"_burnWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"}],"name":"HolderAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"}],"name":"HolderRemoved","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":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isBuy","type":"bool"}],"name":"TaxCollected","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingEnabled","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"Unstaked","type":"event"},{"inputs":[],"name":"BURN_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEVELOPMENT_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDITY_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETING_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OWNER_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_BOOST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TAX_DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accumulatedStakingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccumulatedStakingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHolderCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRewardDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"ownerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pairAddress","type":"address"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setStakingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setTaxFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakedBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakingStartTime","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":"totalEligibleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6101206040526006600355600860045562093a80600a5534801562000022575f80fd5b506040516200572738038062005727833981810160405281019062000048919062000802565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000bc575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000b3919062000882565b60405180910390fd5b620000cd816200058760201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036200013f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013690620008fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001a79062000969565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000221576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200021890620009d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000292576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002899062000a45565b60405180910390fd5b6a52b7d2dcc80cd2e400000060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff168152505042600c81905550620003fc336200064860201b60201c565b6200050b57600d33908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e40000006010819055505b3373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e400000060405162000575919062000a7f565b60405180910390a35050505062000a9a565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60805173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480620006b3575060a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80620006ec575060c05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8062000725575060e05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806200075f57506101005173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806200079657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007cc82620007a1565b9050919050565b620007de81620007c0565b8114620007e9575f80fd5b50565b5f81519050620007fc81620007d3565b92915050565b5f805f80608085870312156200081d576200081c6200079d565b5b5f6200082c87828801620007ec565b94505060206200083f87828801620007ec565b93505060406200085287828801620007ec565b92505060606200086587828801620007ec565b91505092959194509250565b6200087c81620007c0565b82525050565b5f602082019050620008975f83018462000871565b92915050565b5f82825260208201905092915050565b7f496e76616c6964206d61726b6574696e672077616c6c657400000000000000005f82015250565b5f620008e36018836200089d565b9150620008f082620008ad565b602082019050919050565b5f6020820190508181035f8301526200091481620008d5565b9050919050565b7f496e76616c696420646576656c6f706d656e742077616c6c65740000000000005f82015250565b5f62000951601a836200089d565b91506200095e826200091b565b602082019050919050565b5f6020820190508181035f830152620009828162000943565b9050919050565b7f496e76616c6964206c69717569646974792077616c6c657400000000000000005f82015250565b5f620009bf6018836200089d565b9150620009cc8262000989565b602082019050919050565b5f6020820190508181035f830152620009f081620009b1565b9050919050565b7f496e76616c6964206275726e2077616c6c6574000000000000000000000000005f82015250565b5f62000a2d6013836200089d565b915062000a3a82620009f7565b602082019050919050565b5f6020820190508181035f83015262000a5e8162000a1f565b9050919050565b5f819050919050565b62000a798162000a65565b82525050565b5f60208201905062000a945f83018462000a6e565b92915050565b60805160a05160c05160e05161010051614bc362000b645f395f8181611b120152818161220001528181613827015281816138930152613b0501525f8181610bf4015281816121aa01528181613756015281816137c20152613a8001525f8181612154015281816122a201528181613685015281816136f101526139fb01525f8181612084015281816120fe015281816135b401528181613620015261397601525f81816119b2015281816120a9015281816134e30152818161354f01526138f10152614bc35ff3fe6080604052600436106102e7575f3560e01c806389c3d5081161018f578063a9059cbb116100db578063d469801611610094578063e9bbb0401161006e578063e9bbb04014610b3a578063f2fde38b14610b76578063f42c0f0214610b9e578063f8a25a9414610bc8576102ee565b8063d469801614610a98578063d4d7b19a14610ac2578063dd62ed3e14610afe576102ee565b8063a9059cbb14610966578063b0cd9cff146109a2578063c03d5b47146109cc578063c04a5414146109f6578063cba0e99614610a20578063d123273014610a5c576102ee565b8063957d778011610148578063a51c9ace11610122578063a51c9ace146108ae578063a694fc3a146108d8578063a8b0898214610900578063a8bbfd3a1461092a576102ee565b8063957d77801461083457806395d89b411461085c578063a22d483214610886576102ee565b806389c3d5081461074c5780638a8c523c146107765780638da5cb5b1461078c5780639335dcb7146107b657806393b998fb146107e0578063941fa5cd1461080a576102ee565b806343270d561161024e5780636f4a2cd011610207578063715018a6116101e1578063715018a6146106ba57806375f0a874146106d057806381230a83146106fa578063817b1cd214610722576102ee565b80636f4a2cd01461063e57806370a08231146106545780637136982b14610690576102ee565b806343270d56146105425780634ada218b1461056c578063565e5db3146105965780635dbdda69146105c057806366666aa9146105ea5780636a1c6e7814610614576102ee565b806322693d93116102a057806322693d931461041257806323b872dd1461043c5780632a11ced0146104785780632e164fe6146104b45780632e17de78146104f0578063313ce56714610518576102ee565b806306228749146102f257806306fdde031461031c578063095ea7b3146103465780631460fa871461038257806318160ddd146103be5780632048c9e1146103e8576102ee565b366102ee57005b5f80fd5b3480156102fd575f80fd5b50610306610bf2565b6040516103139190613f72565b60405180910390f35b348015610327575f80fd5b50610330610c16565b60405161033d9190614015565b60405180910390f35b348015610351575f80fd5b5061036c60048036038101906103679190614096565b610c4f565b60405161037991906140ee565b60405180910390f35b34801561038d575f80fd5b506103a860048036038101906103a39190614107565b610c65565b6040516103b59190614141565b60405180910390f35b3480156103c9575f80fd5b506103d2610c7a565b6040516103df9190614141565b60405180910390f35b3480156103f3575f80fd5b506103fc610c89565b6040516104099190614141565b60405180910390f35b34801561041d575f80fd5b50610426610c8e565b6040516104339190614141565b60405180910390f35b348015610447575f80fd5b50610462600480360381019061045d919061415a565b610c94565b60405161046f91906140ee565b60405180910390f35b348015610483575f80fd5b5061049e600480360381019061049991906141aa565b610e0c565b6040516104ab9190613f72565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d59190614107565b610e47565b6040516104e79190614141565b60405180910390f35b3480156104fb575f80fd5b50610516600480360381019061051191906141aa565b610e5c565b005b348015610523575f80fd5b5061052c61142f565b60405161053991906141f0565b60405180910390f35b34801561054d575f80fd5b50610556611434565b6040516105639190614141565b60405180910390f35b348015610577575f80fd5b50610580611439565b60405161058d91906140ee565b60405180910390f35b3480156105a1575f80fd5b506105aa61144b565b6040516105b79190614141565b60405180910390f35b3480156105cb575f80fd5b506105d4611450565b6040516105e19190614141565b60405180910390f35b3480156105f5575f80fd5b506105fe611457565b60405161060b9190614141565b60405180910390f35b34801561061f575f80fd5b5061062861145d565b6040516106359190614141565b60405180910390f35b348015610649575f80fd5b50610652611462565b005b34801561065f575f80fd5b5061067a60048036038101906106759190614107565b61194b565b6040516106879190614141565b60405180910390f35b34801561069b575f80fd5b506106a4611991565b6040516106b19190614141565b60405180910390f35b3480156106c5575f80fd5b506106ce61199d565b005b3480156106db575f80fd5b506106e46119b0565b6040516106f19190613f72565b60405180910390f35b348015610705575f80fd5b50610720600480360381019061071b9190614209565b6119d4565b005b34801561072d575f80fd5b50610736611a3f565b6040516107439190614141565b60405180910390f35b348015610757575f80fd5b50610760611a45565b60405161076d9190614141565b60405180910390f35b348015610781575f80fd5b5061078a611a4a565b005b348015610797575f80fd5b506107a0611ae9565b6040516107ad9190613f72565b60405180910390f35b3480156107c1575f80fd5b506107ca611b10565b6040516107d79190613f72565b60405180910390f35b3480156107eb575f80fd5b506107f4611b34565b6040516108019190614141565b60405180910390f35b348015610815575f80fd5b5061081e611b39565b60405161082b9190614141565b60405180910390f35b34801561083f575f80fd5b5061085a600480360381019061085591906141aa565b611b3f565b005b348015610867575f80fd5b50610870611b97565b60405161087d9190614015565b60405180910390f35b348015610891575f80fd5b506108ac60048036038101906108a79190614107565b611bd0565b005b3480156108b9575f80fd5b506108c2611c89565b6040516108cf9190614141565b60405180910390f35b3480156108e3575f80fd5b506108fe60048036038101906108f991906141aa565b611c8e565b005b34801561090b575f80fd5b50610914611f6a565b6040516109219190613f72565b60405180910390f35b348015610935575f80fd5b50610950600480360381019061094b9190614107565b611f8f565b60405161095d9190614141565b60405180910390f35b348015610971575f80fd5b5061098c60048036038101906109879190614096565b611fd5565b60405161099991906140ee565b60405180910390f35b3480156109ad575f80fd5b506109b6612076565b6040516109c39190614141565b60405180910390f35b3480156109d7575f80fd5b506109e061207c565b6040516109ed9190614141565b60405180910390f35b348015610a01575f80fd5b50610a0a612082565b604051610a179190613f72565b60405180910390f35b348015610a2b575f80fd5b50610a466004803603810190610a419190614107565b6120a6565b604051610a5391906140ee565b60405180910390f35b348015610a67575f80fd5b50610a826004803603810190610a7d9190614107565b61228b565b604051610a8f9190614141565b60405180910390f35b348015610aa3575f80fd5b50610aac6122a0565b604051610ab99190613f72565b60405180910390f35b348015610acd575f80fd5b50610ae86004803603810190610ae39190614107565b6122c4565b604051610af591906140ee565b60405180910390f35b348015610b09575f80fd5b50610b246004803603810190610b1f9190614247565b6122e1565b604051610b319190614141565b60405180910390f35b348015610b45575f80fd5b50610b606004803603810190610b5b9190614107565b612363565b604051610b6d9190614141565b60405180910390f35b348015610b81575f80fd5b50610b9c6004803603810190610b979190614107565b612378565b005b348015610ba9575f80fd5b50610bb26123fc565b604051610bbf9190614141565b60405180910390f35b348015610bd3575f80fd5b50610bdc612401565b604051610be99190614141565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060400160405280601581526020017f496e66696e69746520536f6e696320476c69746368000000000000000000000081525081565b5f610c5b338484612407565b6001905092915050565b6006602052805f5260405f205f915090505481565b6a52b7d2dcc80cd2e400000081565b600a81565b60105481565b5f60115f9054906101000a900460ff1680610ce15750610cb2611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d17906142cf565b60405180910390fd5b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690614337565b60405180910390fd5b610df585338584610df09190614382565b612407565b610e008585856125ca565b60019150509392505050565b600d8181548110610e1b575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008602052805f5260405f205f915090505481565b5f8111610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e95906143ff565b60405180910390fd5b8060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590614467565b60405180910390fd5b600a5460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f699190614485565b421015610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa290614502565b60405180910390fd5b5f60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905061103c8260065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ad690919063ffffffff16565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061109282600954612ad690919063ffffffff16565b6009819055505f60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611161575f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6111b18260015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811180156112075750611205336120a6565b155b1561136c5761125c8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112b281600b54612ad690919063ffffffff16565b600b819055503373ffffffffffffffffffffffffffffffffffffffff167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea6826040516112fe9190614141565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113639190614141565b60405180910390a35b6113763330612b00565b3373ffffffffffffffffffffffffffffffffffffffff167f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e83836040516113be929190614520565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114239190614141565b60405180910390a35050565b601281565b600a81565b60115f9054906101000a900460ff1681565b603281565b6201518081565b600b5481565b600581565b62015180600c546114739190614485565b4210156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90614591565b60405180910390fd5b5f600b54116114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f0906145f9565b60405180910390fd5b5f600b5490505f600260095461150f9190614617565b60105461151c9190614485565b90505f81036115335742600c819055505050611949565b5f5b600d8054905081101561177f575f600d828154811061155757611556614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81111561176a575f6115f0856115e2888561325190919063ffffffff16565b61326690919063ffffffff16565b90505f81118015611603575080600b5410155b156117685761161d81600b54612ad690919063ffffffff16565b600b819055506116738160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea6826040516116fa9190614141565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175f9190614141565b60405180910390a35b505b5050808061177790614685565b915050611535565b505f5b600d8054905081101561193e575f600d82815481106117a4576117a3614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f811180156118245750611822826120a6565b155b15611929575f611862856118548861184660028761325190919063ffffffff16565b61325190919063ffffffff16565b61326690919063ffffffff16565b90505f81118015611875575080600b5410155b156119275761188f81600b54612ad690919063ffffffff16565b600b819055506118e58160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505b5050808061193690614685565b915050611782565b5042600c8190555050505b565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f600d80549050905090565b6119a561327b565b6119ae5f613302565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6119dc61327b565b600a82111580156119ee5750600a8111155b611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490614716565b60405180910390fd5b81600381905550806004819055505050565b60095481565b600281565b611a5261327b565b60115f9054906101000a900460ff1615611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061477e565b60405180910390fd5b600160115f6101000a81548160ff0219169083151502179055507f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c760405160405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a81565b60035481565b611b4761327b565b62015180811015611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b84906147e6565b60405180910390fd5b80600a8190555050565b6040518060400160405280600381526020017f495347000000000000000000000000000000000000000000000000000000000081525081565b611bd861327b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d9061484e565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606481565b60115f9054906101000a900460ff1680611cda5750611cab611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906142cf565b60405180910390fd5b5f8111611d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d52906148b6565b60405180910390fd5b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd29061491e565b60405180910390fd5b611de63330836125ca565b611e368160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e8c81600954612aeb90919063ffffffff16565b6009819055505f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611f19574260075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d82604051611f5f9190614141565b60405180910390a250565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60115f9054906101000a900460ff16806120225750611ff3611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906142cf565b60405180910390fd5b61206c3384846125ca565b6001905092915050565b600c5481565b600a5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061214c57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806121a257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806121f857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061224e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061228457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6007602052805f5260405f205f915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e602052805f5260405f205f915090505481565b61238061327b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123f0575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016123e79190613f72565b60405180910390fd5b6123f981613302565b50565b600f81565b60045481565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246c90614986565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124da906149ee565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125bd9190614141565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262f90614a56565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269d90614abe565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271d9061491e565b60405180910390fd5b5f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561278a5750612788846120a6565b155b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156127ef57506127ed866120a6565b155b905081806127fa5750805b801561283257503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b801561286a57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561292657816128a15761289c606461288e6004548761325190919063ffffffff16565b61326690919063ffffffff16565b6128ca565b6128c960646128bb6003548761325190919063ffffffff16565b61326690919063ffffffff16565b5b92506128d5836133c3565b8573ffffffffffffffffffffffffffffffffffffffff167fee32cb2307349beabd02d4eb3bcf8bc239d05d6f856e440036dafd1c94323a1a848460405161291d929190614adc565b60405180910390a25b5f61293a8486612ad690919063ffffffff16565b905061298c8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ad690919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612a1d8160015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612a688787612b00565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ac59190614141565b60405180910390a350505050505050565b5f8183612ae39190614382565b905092915050565b5f8183612af89190614485565b905092915050565b5f612b0a836120a6565b90505f612b16836120a6565b905081612f36575f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81148015612ba957505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b8015612bfb5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612c6657612c5260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b601081905550612c6185613b91565b612f34565b5f81118015612cbc5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612d0457505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15612d3257612d1285613dde565b612d2781601054612aeb90919063ffffffff16565b601081905550612f33565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dc457505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15612e3857612e2d81612e1f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b612aeb90919063ffffffff16565b601081905550612f32565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612eca57505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054115b15612f3157612f2160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b601081905550612f3085613b91565b5b5b5b5b505b8061324b575f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81118015612fd25750600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561301a57505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b156130485761302884613dde565b61303d81601054612aeb90919063ffffffff16565b601081905550613249565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156130da57505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b1561314e576131438161313560015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b612aeb90919063ffffffff16565b601081905550613248565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156131e057505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054115b156132475761323760015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b60108190555061324684613b91565b5b5b5b505b50505050565b5f818361325e9190614617565b905092915050565b5f81836132739190614b30565b905092915050565b613283613f2c565b73ffffffffffffffffffffffffffffffffffffffff166132a1611ae9565b73ffffffffffffffffffffffffffffffffffffffff1614613300576132c4613f2c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016132f79190613f72565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6133eb60646133dd60328561325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134156064613407600f8661325190919063ffffffff16565b61326690919063ffffffff16565b90505f61343f6064613431600a8761325190919063ffffffff16565b61326690919063ffffffff16565b90505f613469606461345b600a8861325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134936064613485600a8961325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134bd60646134af60058a61325190919063ffffffff16565b61326690919063ffffffff16565b90506134d486600b54612aeb90919063ffffffff16565b600b8190555061354a8560015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061361b8460015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506136ec8360015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506137bd8260015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061388e8160015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161396c9190614141565b60405180910390a37f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516139f19190614141565b60405180910390a37f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613a769190614141565b60405180910390a37f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613afb9190614141565b60405180910390a37f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b809190614141565b60405180910390a350505050505050565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f600d6001600d80549050613be79190614382565b81548110613bf857613bf7614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600d8381548110613c3757613c36614658565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600d805480613cd057613ccf614b60565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90555f600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fd9bc583d1445615d8b795b7374f03ff79efa83b6359a91331efd95e4cf023ab660405160405180910390a2505050565b600d81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d80549050613e509190614382565b600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9894d458cf29e8bc4eb7e591bac54b31dc90125dfa852474419972ab4347dd1260405160405180910390a250565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f5c82613f33565b9050919050565b613f6c81613f52565b82525050565b5f602082019050613f855f830184613f63565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613fc2578082015181840152602081019050613fa7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613fe782613f8b565b613ff18185613f95565b9350614001818560208601613fa5565b61400a81613fcd565b840191505092915050565b5f6020820190508181035f83015261402d8184613fdd565b905092915050565b5f80fd5b61404281613f52565b811461404c575f80fd5b50565b5f8135905061405d81614039565b92915050565b5f819050919050565b61407581614063565b811461407f575f80fd5b50565b5f813590506140908161406c565b92915050565b5f80604083850312156140ac576140ab614035565b5b5f6140b98582860161404f565b92505060206140ca85828601614082565b9150509250929050565b5f8115159050919050565b6140e8816140d4565b82525050565b5f6020820190506141015f8301846140df565b92915050565b5f6020828403121561411c5761411b614035565b5b5f6141298482850161404f565b91505092915050565b61413b81614063565b82525050565b5f6020820190506141545f830184614132565b92915050565b5f805f6060848603121561417157614170614035565b5b5f61417e8682870161404f565b935050602061418f8682870161404f565b92505060406141a086828701614082565b9150509250925092565b5f602082840312156141bf576141be614035565b5b5f6141cc84828501614082565b91505092915050565b5f60ff82169050919050565b6141ea816141d5565b82525050565b5f6020820190506142035f8301846141e1565b92915050565b5f806040838503121561421f5761421e614035565b5b5f61422c85828601614082565b925050602061423d85828601614082565b9150509250929050565b5f806040838503121561425d5761425c614035565b5b5f61426a8582860161404f565b925050602061427b8582860161404f565b9150509250929050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f6142b9601383613f95565b91506142c482614285565b602082019050919050565b5f6020820190508181035f8301526142e6816142ad565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f614321601683613f95565b915061432c826142ed565b602082019050919050565b5f6020820190508181035f83015261434e81614315565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61438c82614063565b915061439783614063565b92508282039050818111156143af576143ae614355565b5b92915050565b7f43616e6e6f7420756e7374616b652030000000000000000000000000000000005f82015250565b5f6143e9601083613f95565b91506143f4826143b5565b602082019050919050565b5f6020820190508181035f830152614416816143dd565b9050919050565b7f496e73756666696369656e74207374616b65642062616c616e636500000000005f82015250565b5f614451601b83613f95565b915061445c8261441d565b602082019050919050565b5f6020820190508181035f83015261447e81614445565b9050919050565b5f61448f82614063565b915061449a83614063565b92508282019050808211156144b2576144b1614355565b5b92915050565b7f5374616b696e6720706572696f64206e6f7420636f6d706c65746564000000005f82015250565b5f6144ec601c83613f95565b91506144f7826144b8565b602082019050919050565b5f6020820190508181035f830152614519816144e0565b9050919050565b5f6040820190506145335f830185614132565b6145406020830184614132565b9392505050565b7f323420686f757273206e6f7420706173736564000000000000000000000000005f82015250565b5f61457b601383613f95565b915061458682614547565b602082019050919050565b5f6020820190508181035f8301526145a88161456f565b9050919050565b7f4e6f2049534720746f20646973747269627574650000000000000000000000005f82015250565b5f6145e3601483613f95565b91506145ee826145af565b602082019050919050565b5f6020820190508181035f830152614610816145d7565b9050919050565b5f61462182614063565b915061462c83614063565b925082820261463a81614063565b9150828204841483151761465157614650614355565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61468f82614063565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146c1576146c0614355565b5b600182019050919050565b7f5461782066656520746f6f2068696768000000000000000000000000000000005f82015250565b5f614700601083613f95565b915061470b826146cc565b602082019050919050565b5f6020820190508181035f83015261472d816146f4565b9050919050565b7f54726164696e6720616c726561647920656e61626c65640000000000000000005f82015250565b5f614768601783613f95565b915061477382614734565b602082019050919050565b5f6020820190508181035f8301526147958161475c565b9050919050565b7f5374616b696e6720706572696f6420746f6f2073686f727400000000000000005f82015250565b5f6147d0601883613f95565b91506147db8261479c565b602082019050919050565b5f6020820190508181035f8301526147fd816147c4565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f614838601483613f95565b915061484382614804565b602082019050919050565b5f6020820190508181035f8301526148658161482c565b9050919050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f6148a0600e83613f95565b91506148ab8261486c565b602082019050919050565b5f6020820190508181035f8301526148cd81614894565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f614908601483613f95565b9150614913826148d4565b602082019050919050565b5f6020820190508181035f830152614935816148fc565b9050919050565b7f417070726f76652066726f6d207a65726f2061646472657373000000000000005f82015250565b5f614970601983613f95565b915061497b8261493c565b602082019050919050565b5f6020820190508181035f83015261499d81614964565b9050919050565b7f417070726f766520746f207a65726f20616464726573730000000000000000005f82015250565b5f6149d8601783613f95565b91506149e3826149a4565b602082019050919050565b5f6020820190508181035f830152614a05816149cc565b9050919050565b7f5472616e736665722066726f6d207a65726f20616464726573730000000000005f82015250565b5f614a40601a83613f95565b9150614a4b82614a0c565b602082019050919050565b5f6020820190508181035f830152614a6d81614a34565b9050919050565b7f5472616e7366657220746f207a65726f206164647265737300000000000000005f82015250565b5f614aa8601883613f95565b9150614ab382614a74565b602082019050919050565b5f6020820190508181035f830152614ad581614a9c565b9050919050565b5f604082019050614aef5f830185614132565b614afc60208301846140df565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614b3a82614063565b9150614b4583614063565b925082614b5557614b54614b03565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220e650f1271cfe2b5f4c198e2809ce4a89dda340057a8fe61bfb292423014c150b64736f6c63430008140033000000000000000000000000ea0a641825b3c46a6904dc8164638048d7303789000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae502000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f40000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f86747
Deployed Bytecode
0x6080604052600436106102e7575f3560e01c806389c3d5081161018f578063a9059cbb116100db578063d469801611610094578063e9bbb0401161006e578063e9bbb04014610b3a578063f2fde38b14610b76578063f42c0f0214610b9e578063f8a25a9414610bc8576102ee565b8063d469801614610a98578063d4d7b19a14610ac2578063dd62ed3e14610afe576102ee565b8063a9059cbb14610966578063b0cd9cff146109a2578063c03d5b47146109cc578063c04a5414146109f6578063cba0e99614610a20578063d123273014610a5c576102ee565b8063957d778011610148578063a51c9ace11610122578063a51c9ace146108ae578063a694fc3a146108d8578063a8b0898214610900578063a8bbfd3a1461092a576102ee565b8063957d77801461083457806395d89b411461085c578063a22d483214610886576102ee565b806389c3d5081461074c5780638a8c523c146107765780638da5cb5b1461078c5780639335dcb7146107b657806393b998fb146107e0578063941fa5cd1461080a576102ee565b806343270d561161024e5780636f4a2cd011610207578063715018a6116101e1578063715018a6146106ba57806375f0a874146106d057806381230a83146106fa578063817b1cd214610722576102ee565b80636f4a2cd01461063e57806370a08231146106545780637136982b14610690576102ee565b806343270d56146105425780634ada218b1461056c578063565e5db3146105965780635dbdda69146105c057806366666aa9146105ea5780636a1c6e7814610614576102ee565b806322693d93116102a057806322693d931461041257806323b872dd1461043c5780632a11ced0146104785780632e164fe6146104b45780632e17de78146104f0578063313ce56714610518576102ee565b806306228749146102f257806306fdde031461031c578063095ea7b3146103465780631460fa871461038257806318160ddd146103be5780632048c9e1146103e8576102ee565b366102ee57005b5f80fd5b3480156102fd575f80fd5b50610306610bf2565b6040516103139190613f72565b60405180910390f35b348015610327575f80fd5b50610330610c16565b60405161033d9190614015565b60405180910390f35b348015610351575f80fd5b5061036c60048036038101906103679190614096565b610c4f565b60405161037991906140ee565b60405180910390f35b34801561038d575f80fd5b506103a860048036038101906103a39190614107565b610c65565b6040516103b59190614141565b60405180910390f35b3480156103c9575f80fd5b506103d2610c7a565b6040516103df9190614141565b60405180910390f35b3480156103f3575f80fd5b506103fc610c89565b6040516104099190614141565b60405180910390f35b34801561041d575f80fd5b50610426610c8e565b6040516104339190614141565b60405180910390f35b348015610447575f80fd5b50610462600480360381019061045d919061415a565b610c94565b60405161046f91906140ee565b60405180910390f35b348015610483575f80fd5b5061049e600480360381019061049991906141aa565b610e0c565b6040516104ab9190613f72565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d59190614107565b610e47565b6040516104e79190614141565b60405180910390f35b3480156104fb575f80fd5b50610516600480360381019061051191906141aa565b610e5c565b005b348015610523575f80fd5b5061052c61142f565b60405161053991906141f0565b60405180910390f35b34801561054d575f80fd5b50610556611434565b6040516105639190614141565b60405180910390f35b348015610577575f80fd5b50610580611439565b60405161058d91906140ee565b60405180910390f35b3480156105a1575f80fd5b506105aa61144b565b6040516105b79190614141565b60405180910390f35b3480156105cb575f80fd5b506105d4611450565b6040516105e19190614141565b60405180910390f35b3480156105f5575f80fd5b506105fe611457565b60405161060b9190614141565b60405180910390f35b34801561061f575f80fd5b5061062861145d565b6040516106359190614141565b60405180910390f35b348015610649575f80fd5b50610652611462565b005b34801561065f575f80fd5b5061067a60048036038101906106759190614107565b61194b565b6040516106879190614141565b60405180910390f35b34801561069b575f80fd5b506106a4611991565b6040516106b19190614141565b60405180910390f35b3480156106c5575f80fd5b506106ce61199d565b005b3480156106db575f80fd5b506106e46119b0565b6040516106f19190613f72565b60405180910390f35b348015610705575f80fd5b50610720600480360381019061071b9190614209565b6119d4565b005b34801561072d575f80fd5b50610736611a3f565b6040516107439190614141565b60405180910390f35b348015610757575f80fd5b50610760611a45565b60405161076d9190614141565b60405180910390f35b348015610781575f80fd5b5061078a611a4a565b005b348015610797575f80fd5b506107a0611ae9565b6040516107ad9190613f72565b60405180910390f35b3480156107c1575f80fd5b506107ca611b10565b6040516107d79190613f72565b60405180910390f35b3480156107eb575f80fd5b506107f4611b34565b6040516108019190614141565b60405180910390f35b348015610815575f80fd5b5061081e611b39565b60405161082b9190614141565b60405180910390f35b34801561083f575f80fd5b5061085a600480360381019061085591906141aa565b611b3f565b005b348015610867575f80fd5b50610870611b97565b60405161087d9190614015565b60405180910390f35b348015610891575f80fd5b506108ac60048036038101906108a79190614107565b611bd0565b005b3480156108b9575f80fd5b506108c2611c89565b6040516108cf9190614141565b60405180910390f35b3480156108e3575f80fd5b506108fe60048036038101906108f991906141aa565b611c8e565b005b34801561090b575f80fd5b50610914611f6a565b6040516109219190613f72565b60405180910390f35b348015610935575f80fd5b50610950600480360381019061094b9190614107565b611f8f565b60405161095d9190614141565b60405180910390f35b348015610971575f80fd5b5061098c60048036038101906109879190614096565b611fd5565b60405161099991906140ee565b60405180910390f35b3480156109ad575f80fd5b506109b6612076565b6040516109c39190614141565b60405180910390f35b3480156109d7575f80fd5b506109e061207c565b6040516109ed9190614141565b60405180910390f35b348015610a01575f80fd5b50610a0a612082565b604051610a179190613f72565b60405180910390f35b348015610a2b575f80fd5b50610a466004803603810190610a419190614107565b6120a6565b604051610a5391906140ee565b60405180910390f35b348015610a67575f80fd5b50610a826004803603810190610a7d9190614107565b61228b565b604051610a8f9190614141565b60405180910390f35b348015610aa3575f80fd5b50610aac6122a0565b604051610ab99190613f72565b60405180910390f35b348015610acd575f80fd5b50610ae86004803603810190610ae39190614107565b6122c4565b604051610af591906140ee565b60405180910390f35b348015610b09575f80fd5b50610b246004803603810190610b1f9190614247565b6122e1565b604051610b319190614141565b60405180910390f35b348015610b45575f80fd5b50610b606004803603810190610b5b9190614107565b612363565b604051610b6d9190614141565b60405180910390f35b348015610b81575f80fd5b50610b9c6004803603810190610b979190614107565b612378565b005b348015610ba9575f80fd5b50610bb26123fc565b604051610bbf9190614141565b60405180910390f35b348015610bd3575f80fd5b50610bdc612401565b604051610be99190614141565b60405180910390f35b7f000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f8674781565b6040518060400160405280601581526020017f496e66696e69746520536f6e696320476c69746368000000000000000000000081525081565b5f610c5b338484612407565b6001905092915050565b6006602052805f5260405f205f915090505481565b6a52b7d2dcc80cd2e400000081565b600a81565b60105481565b5f60115f9054906101000a900460ff1680610ce15750610cb2611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d17906142cf565b60405180910390fd5b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690614337565b60405180910390fd5b610df585338584610df09190614382565b612407565b610e008585856125ca565b60019150509392505050565b600d8181548110610e1b575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008602052805f5260405f205f915090505481565b5f8111610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e95906143ff565b60405180910390fd5b8060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590614467565b60405180910390fd5b600a5460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f699190614485565b421015610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa290614502565b60405180910390fd5b5f60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905061103c8260065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ad690919063ffffffff16565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061109282600954612ad690919063ffffffff16565b6009819055505f60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611161575f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6111b18260015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811180156112075750611205336120a6565b155b1561136c5761125c8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112b281600b54612ad690919063ffffffff16565b600b819055503373ffffffffffffffffffffffffffffffffffffffff167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea6826040516112fe9190614141565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113639190614141565b60405180910390a35b6113763330612b00565b3373ffffffffffffffffffffffffffffffffffffffff167f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e83836040516113be929190614520565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114239190614141565b60405180910390a35050565b601281565b600a81565b60115f9054906101000a900460ff1681565b603281565b6201518081565b600b5481565b600581565b62015180600c546114739190614485565b4210156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90614591565b60405180910390fd5b5f600b54116114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f0906145f9565b60405180910390fd5b5f600b5490505f600260095461150f9190614617565b60105461151c9190614485565b90505f81036115335742600c819055505050611949565b5f5b600d8054905081101561177f575f600d828154811061155757611556614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81111561176a575f6115f0856115e2888561325190919063ffffffff16565b61326690919063ffffffff16565b90505f81118015611603575080600b5410155b156117685761161d81600b54612ad690919063ffffffff16565b600b819055506116738160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea6826040516116fa9190614141565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175f9190614141565b60405180910390a35b505b5050808061177790614685565b915050611535565b505f5b600d8054905081101561193e575f600d82815481106117a4576117a3614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f811180156118245750611822826120a6565b155b15611929575f611862856118548861184660028761325190919063ffffffff16565b61325190919063ffffffff16565b61326690919063ffffffff16565b90505f81118015611875575080600b5410155b156119275761188f81600b54612ad690919063ffffffff16565b600b819055506118e58160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505b5050808061193690614685565b915050611782565b5042600c8190555050505b565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f600d80549050905090565b6119a561327b565b6119ae5f613302565b565b7f000000000000000000000000ea0a641825b3c46a6904dc8164638048d730378981565b6119dc61327b565b600a82111580156119ee5750600a8111155b611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490614716565b60405180910390fd5b81600381905550806004819055505050565b60095481565b600281565b611a5261327b565b60115f9054906101000a900460ff1615611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061477e565b60405180910390fd5b600160115f6101000a81548160ff0219169083151502179055507f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c760405160405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000ca6fb7fb777d65882a3155d2527ddd97c12fd91d81565b600a81565b60035481565b611b4761327b565b62015180811015611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b84906147e6565b60405180910390fd5b80600a8190555050565b6040518060400160405280600381526020017f495347000000000000000000000000000000000000000000000000000000000081525081565b611bd861327b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d9061484e565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606481565b60115f9054906101000a900460ff1680611cda5750611cab611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906142cf565b60405180910390fd5b5f8111611d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d52906148b6565b60405180910390fd5b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd29061491e565b60405180910390fd5b611de63330836125ca565b611e368160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e8c81600954612aeb90919063ffffffff16565b6009819055505f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611f19574260075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d82604051611f5f9190614141565b60405180910390a250565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60115f9054906101000a900460ff16806120225750611ff3611ae9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906142cf565b60405180910390fd5b61206c3384846125ca565b6001905092915050565b600c5481565b600a5481565b7f000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae50281565b5f7f000000000000000000000000ea0a641825b3c46a6904dc8164638048d730378973ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061214c57507f000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae50273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806121a257507f000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f4073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806121f857507f000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f8674773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061224e57507f000000000000000000000000ca6fb7fb777d65882a3155d2527ddd97c12fd91d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061228457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6007602052805f5260405f205f915090505481565b7f000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f4081565b600f602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e602052805f5260405f205f915090505481565b61238061327b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123f0575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016123e79190613f72565b60405180910390fd5b6123f981613302565b50565b600f81565b60045481565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246c90614986565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124da906149ee565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125bd9190614141565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262f90614a56565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269d90614abe565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271d9061491e565b60405180910390fd5b5f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561278a5750612788846120a6565b155b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156127ef57506127ed866120a6565b155b905081806127fa5750805b801561283257503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b801561286a57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561292657816128a15761289c606461288e6004548761325190919063ffffffff16565b61326690919063ffffffff16565b6128ca565b6128c960646128bb6003548761325190919063ffffffff16565b61326690919063ffffffff16565b5b92506128d5836133c3565b8573ffffffffffffffffffffffffffffffffffffffff167fee32cb2307349beabd02d4eb3bcf8bc239d05d6f856e440036dafd1c94323a1a848460405161291d929190614adc565b60405180910390a25b5f61293a8486612ad690919063ffffffff16565b905061298c8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ad690919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612a1d8160015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612a688787612b00565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ac59190614141565b60405180910390a350505050505050565b5f8183612ae39190614382565b905092915050565b5f8183612af89190614485565b905092915050565b5f612b0a836120a6565b90505f612b16836120a6565b905081612f36575f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81148015612ba957505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b8015612bfb5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612c6657612c5260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b601081905550612c6185613b91565b612f34565b5f81118015612cbc5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612d0457505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15612d3257612d1285613dde565b612d2781601054612aeb90919063ffffffff16565b601081905550612f33565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dc457505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15612e3857612e2d81612e1f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b612aeb90919063ffffffff16565b601081905550612f32565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612eca57505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054115b15612f3157612f2160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b601081905550612f3085613b91565b5b5b5b5b505b8061324b575f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81118015612fd25750600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561301a57505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b156130485761302884613dde565b61303d81601054612aeb90919063ffffffff16565b601081905550613249565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156130da57505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b1561314e576131438161313560015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b612aeb90919063ffffffff16565b601081905550613248565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156131e057505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054115b156132475761323760015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054601054612ad690919063ffffffff16565b60108190555061324684613b91565b5b5b5b505b50505050565b5f818361325e9190614617565b905092915050565b5f81836132739190614b30565b905092915050565b613283613f2c565b73ffffffffffffffffffffffffffffffffffffffff166132a1611ae9565b73ffffffffffffffffffffffffffffffffffffffff1614613300576132c4613f2c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016132f79190613f72565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6133eb60646133dd60328561325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134156064613407600f8661325190919063ffffffff16565b61326690919063ffffffff16565b90505f61343f6064613431600a8761325190919063ffffffff16565b61326690919063ffffffff16565b90505f613469606461345b600a8861325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134936064613485600a8961325190919063ffffffff16565b61326690919063ffffffff16565b90505f6134bd60646134af60058a61325190919063ffffffff16565b61326690919063ffffffff16565b90506134d486600b54612aeb90919063ffffffff16565b600b8190555061354a8560015f7f000000000000000000000000ea0a641825b3c46a6904dc8164638048d730378973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000ea0a641825b3c46a6904dc8164638048d730378973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061361b8460015f7f000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae50273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae50273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506136ec8360015f7f000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f4073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f4073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506137bd8260015f7f000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f8674773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f8674773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061388e8160015f7f000000000000000000000000ca6fb7fb777d65882a3155d2527ddd97c12fd91d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aeb90919063ffffffff16565b60015f7f000000000000000000000000ca6fb7fb777d65882a3155d2527ddd97c12fd91d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507f000000000000000000000000ea0a641825b3c46a6904dc8164638048d730378973ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161396c9190614141565b60405180910390a37f000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae50273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516139f19190614141565b60405180910390a37f000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f4073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613a769190614141565b60405180910390a37f000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f8674773ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613afb9190614141565b60405180910390a37f000000000000000000000000ca6fb7fb777d65882a3155d2527ddd97c12fd91d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b809190614141565b60405180910390a350505050505050565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f600d6001600d80549050613be79190614382565b81548110613bf857613bf7614658565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600d8381548110613c3757613c36614658565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600d805480613cd057613ccf614b60565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90555f600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fd9bc583d1445615d8b795b7374f03ff79efa83b6359a91331efd95e4cf023ab660405160405180910390a2505050565b600d81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d80549050613e509190614382565b600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9894d458cf29e8bc4eb7e591bac54b31dc90125dfa852474419972ab4347dd1260405160405180910390a250565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f5c82613f33565b9050919050565b613f6c81613f52565b82525050565b5f602082019050613f855f830184613f63565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613fc2578082015181840152602081019050613fa7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613fe782613f8b565b613ff18185613f95565b9350614001818560208601613fa5565b61400a81613fcd565b840191505092915050565b5f6020820190508181035f83015261402d8184613fdd565b905092915050565b5f80fd5b61404281613f52565b811461404c575f80fd5b50565b5f8135905061405d81614039565b92915050565b5f819050919050565b61407581614063565b811461407f575f80fd5b50565b5f813590506140908161406c565b92915050565b5f80604083850312156140ac576140ab614035565b5b5f6140b98582860161404f565b92505060206140ca85828601614082565b9150509250929050565b5f8115159050919050565b6140e8816140d4565b82525050565b5f6020820190506141015f8301846140df565b92915050565b5f6020828403121561411c5761411b614035565b5b5f6141298482850161404f565b91505092915050565b61413b81614063565b82525050565b5f6020820190506141545f830184614132565b92915050565b5f805f6060848603121561417157614170614035565b5b5f61417e8682870161404f565b935050602061418f8682870161404f565b92505060406141a086828701614082565b9150509250925092565b5f602082840312156141bf576141be614035565b5b5f6141cc84828501614082565b91505092915050565b5f60ff82169050919050565b6141ea816141d5565b82525050565b5f6020820190506142035f8301846141e1565b92915050565b5f806040838503121561421f5761421e614035565b5b5f61422c85828601614082565b925050602061423d85828601614082565b9150509250929050565b5f806040838503121561425d5761425c614035565b5b5f61426a8582860161404f565b925050602061427b8582860161404f565b9150509250929050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f6142b9601383613f95565b91506142c482614285565b602082019050919050565b5f6020820190508181035f8301526142e6816142ad565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f614321601683613f95565b915061432c826142ed565b602082019050919050565b5f6020820190508181035f83015261434e81614315565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61438c82614063565b915061439783614063565b92508282039050818111156143af576143ae614355565b5b92915050565b7f43616e6e6f7420756e7374616b652030000000000000000000000000000000005f82015250565b5f6143e9601083613f95565b91506143f4826143b5565b602082019050919050565b5f6020820190508181035f830152614416816143dd565b9050919050565b7f496e73756666696369656e74207374616b65642062616c616e636500000000005f82015250565b5f614451601b83613f95565b915061445c8261441d565b602082019050919050565b5f6020820190508181035f83015261447e81614445565b9050919050565b5f61448f82614063565b915061449a83614063565b92508282019050808211156144b2576144b1614355565b5b92915050565b7f5374616b696e6720706572696f64206e6f7420636f6d706c65746564000000005f82015250565b5f6144ec601c83613f95565b91506144f7826144b8565b602082019050919050565b5f6020820190508181035f830152614519816144e0565b9050919050565b5f6040820190506145335f830185614132565b6145406020830184614132565b9392505050565b7f323420686f757273206e6f7420706173736564000000000000000000000000005f82015250565b5f61457b601383613f95565b915061458682614547565b602082019050919050565b5f6020820190508181035f8301526145a88161456f565b9050919050565b7f4e6f2049534720746f20646973747269627574650000000000000000000000005f82015250565b5f6145e3601483613f95565b91506145ee826145af565b602082019050919050565b5f6020820190508181035f830152614610816145d7565b9050919050565b5f61462182614063565b915061462c83614063565b925082820261463a81614063565b9150828204841483151761465157614650614355565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61468f82614063565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146c1576146c0614355565b5b600182019050919050565b7f5461782066656520746f6f2068696768000000000000000000000000000000005f82015250565b5f614700601083613f95565b915061470b826146cc565b602082019050919050565b5f6020820190508181035f83015261472d816146f4565b9050919050565b7f54726164696e6720616c726561647920656e61626c65640000000000000000005f82015250565b5f614768601783613f95565b915061477382614734565b602082019050919050565b5f6020820190508181035f8301526147958161475c565b9050919050565b7f5374616b696e6720706572696f6420746f6f2073686f727400000000000000005f82015250565b5f6147d0601883613f95565b91506147db8261479c565b602082019050919050565b5f6020820190508181035f8301526147fd816147c4565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f614838601483613f95565b915061484382614804565b602082019050919050565b5f6020820190508181035f8301526148658161482c565b9050919050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f6148a0600e83613f95565b91506148ab8261486c565b602082019050919050565b5f6020820190508181035f8301526148cd81614894565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f614908601483613f95565b9150614913826148d4565b602082019050919050565b5f6020820190508181035f830152614935816148fc565b9050919050565b7f417070726f76652066726f6d207a65726f2061646472657373000000000000005f82015250565b5f614970601983613f95565b915061497b8261493c565b602082019050919050565b5f6020820190508181035f83015261499d81614964565b9050919050565b7f417070726f766520746f207a65726f20616464726573730000000000000000005f82015250565b5f6149d8601783613f95565b91506149e3826149a4565b602082019050919050565b5f6020820190508181035f830152614a05816149cc565b9050919050565b7f5472616e736665722066726f6d207a65726f20616464726573730000000000005f82015250565b5f614a40601a83613f95565b9150614a4b82614a0c565b602082019050919050565b5f6020820190508181035f830152614a6d81614a34565b9050919050565b7f5472616e7366657220746f207a65726f206164647265737300000000000000005f82015250565b5f614aa8601883613f95565b9150614ab382614a74565b602082019050919050565b5f6020820190508181035f830152614ad581614a9c565b9050919050565b5f604082019050614aef5f830185614132565b614afc60208301846140df565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614b3a82614063565b9150614b4583614063565b925082614b5557614b54614b03565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220e650f1271cfe2b5f4c198e2809ce4a89dda340057a8fe61bfb292423014c150b64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ea0a641825b3c46a6904dc8164638048d7303789000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae502000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f40000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f86747
-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0xeA0A641825B3c46a6904DC8164638048D7303789
Arg [1] : _developmentWallet (address): 0xc634e944C48c058c05e39c6479E229Bd835ae502
Arg [2] : _liquidityWallet (address): 0xAb359F1eD47F5989714fD88bF05A6E5665F99F40
Arg [3] : _burnWallet (address): 0x772ac583f671ab827cAd9eFE6c394F53b5f86747
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000ea0a641825b3c46a6904dc8164638048d7303789
Arg [1] : 000000000000000000000000c634e944c48c058c05e39c6479e229bd835ae502
Arg [2] : 000000000000000000000000ab359f1ed47f5989714fd88bf05a6e5665f99f40
Arg [3] : 000000000000000000000000772ac583f671ab827cad9efe6c394f53b5f86747
Deployed Bytecode Sourcemap
11207:15466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12045:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11289:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15379:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12554:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11435:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12330:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13219:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15539:463;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13088:24;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12668:60;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22421:1201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11393:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12383:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13286:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12231:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13005:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12887:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12480:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23658:1825;;;;;;;;;;;;;:::i;:::-;;15011:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26417:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3361:103;;;;;;;;;;;;;:::i;:::-;;11902:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25701:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12735:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12812:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25515:178;;;;;;;;;;;;;:::i;:::-;;2686:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12087:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12434:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11664:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25936:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11349:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26119:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11824:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21839:574;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12130:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26523:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15131:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12961:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12768;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11949:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17662:337;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12610:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11998:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16010:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13119:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3619:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12279:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11743:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12045:35;;;:::o;11289:53::-;;;;;;;;;;;;;;;;;;;:::o;15379:152::-;15447:4;15464:37;15473:10;15485:7;15494:6;15464:8;:37::i;:::-;15519:4;15512:11;;15379:152;;;;:::o;12554:49::-;;;;;;;;;;;;;;;;;:::o;11435:58::-;11473:20;11435:58;:::o;12330:46::-;12374:2;12330:46;:::o;13219:34::-;;;;:::o;15539:463::-;15630:4;15655:14;;;;;;;;;;;:39;;;;15687:7;:5;:7::i;:::-;15673:21;;:10;:21;;;15655:39;15647:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15729:24;15756:11;:19;15768:6;15756:19;;;;;;;;;;;;;;;:31;15776:10;15756:31;;;;;;;;;;;;;;;;15729:58;;15826:6;15806:16;:26;;15798:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15870:55;15879:6;15887:10;15918:6;15899:16;:25;;;;:::i;:::-;15870:8;:55::i;:::-;15936:36;15946:6;15954:9;15965:6;15936:9;:36::i;:::-;15990:4;15983:11;;;15539:463;;;;;:::o;13088:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12668:60::-;;;;;;;;;;;;;;;;;:::o;22421:1201::-;22491:1;22482:6;:10;22474:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;22562:6;22532:14;:26;22547:10;22532:26;;;;;;;;;;;;;;;;:36;;22524:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;22669:13;;22638:16;:28;22655:10;22638:28;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;22619:15;:63;;22611:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;22728:14;22745:25;:37;22771:10;22745:37;;;;;;;;;;;;;;;;22728:54;;22822:38;22853:6;22822:14;:26;22837:10;22822:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;22793:14;:26;22808:10;22793:26;;;;;;;;;;;;;;;:67;;;;22885:23;22901:6;22885:11;;:15;;:23;;;;:::i;:::-;22871:11;:37;;;;22953:1;22923:14;:26;22938:10;22923:26;;;;;;;;;;;;;;;;:31;22919:152;;23002:1;22971:16;:28;22988:10;22971:28;;;;;;;;;;;;;;;:32;;;;23058:1;23018:25;:37;23044:10;23018:37;;;;;;;;;;;;;;;:41;;;;22919:152;23105:33;23131:6;23105:9;:21;23115:10;23105:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;23081:9;:21;23091:10;23081:21;;;;;;;;;;;;;;;:57;;;;23164:1;23155:6;:10;:37;;;;;23170:22;23181:10;23170;:22::i;:::-;23169:23;23155:37;23151:297;;;23233:33;23259:6;23233:9;:21;23243:10;23233:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;23209:9;:21;23219:10;23209:21;;;;;;;;;;;;;;;:57;;;;23294:22;23309:6;23294:10;;:14;;:22;;;;:::i;:::-;23281:10;:35;;;;23354:10;23336:37;;;23366:6;23336:37;;;;;;:::i;:::-;;;;;;;;23417:10;23393:43;;23410:4;23393:43;;;23429:6;23393:43;;;;;;:::i;:::-;;;;;;;;23151:297;23460:43;23477:10;23497:4;23460:16;:43::i;:::-;23528:10;23519:36;;;23540:6;23548;23519:36;;;;;;;:::i;:::-;;;;;;;;23595:10;23571:43;;23588:4;23571:43;;;23607:6;23571:43;;;;;;:::i;:::-;;;;;;;;22463:1159;22421:1201;:::o;11393:35::-;11426:2;11393:35;:::o;12383:44::-;12425:2;12383:44;:::o;13286:26::-;;;;;;;;;;;;;:::o;12231:41::-;12270:2;12231:41;:::o;13005:50::-;13047:8;13005:50;:::o;12887:25::-;;;;:::o;12480:39::-;12518:1;12480:39;:::o;23658:1825::-;13047:8;23734:22;;:40;;;;:::i;:::-;23715:15;:59;;23707:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;23830:1;23817:10;;:14;23809:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;23869:19;23891:10;;23869:32;;23912:27;12852:1;23965:11;;:27;;;;:::i;:::-;23942:19;;:51;;;;:::i;:::-;23912:81;;24033:1;24010:19;:24;24006:118;;24076:15;24051:22;:40;;;;24106:7;;;;24006:118;24141:9;24136:659;24160:7;:14;;;;24156:1;:18;24136:659;;;24196:14;24213:7;24221:1;24213:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;24196:27;;24238:15;24256:9;:17;24266:6;24256:17;;;;;;;;;;;;;;;;24238:35;;24302:1;24292:7;:11;24288:496;;;24324:20;24347:49;24376:19;24347:24;24359:11;24347:7;:11;;:24;;;;:::i;:::-;:28;;:49;;;;:::i;:::-;24324:72;;24434:1;24419:12;:16;:46;;;;;24453:12;24439:10;;:26;;24419:46;24415:354;;;24503:28;24518:12;24503:10;;:14;;:28;;;;:::i;:::-;24490:10;:41;;;;24574:35;24596:12;24574:9;:17;24584:6;24574:17;;;;;;;;;;;;;;;;:21;;:35;;;;:::i;:::-;24554:9;:17;24564:6;24554:17;;;;;;;;;;;;;;;:55;;;;24655:6;24637:39;;;24663:12;24637:39;;;;;;:::i;:::-;;;;;;;;24728:6;24704:45;;24721:4;24704:45;;;24736:12;24704:45;;;;;;:::i;:::-;;;;;;;;24415:354;24305:479;24288:496;24181:614;;24176:3;;;;;:::i;:::-;;;;24136:659;;;;24812:9;24807:616;24831:7;:14;;;;24827:1;:18;24807:616;;;24867:14;24884:7;24892:1;24884:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;24867:27;;24909:21;24933:14;:22;24948:6;24933:22;;;;;;;;;;;;;;;;24909:46;;24990:1;24974:13;:17;:40;;;;;24996:18;25007:6;24996:10;:18::i;:::-;24995:19;24974:40;24970:442;;;25035:20;25058:74;25112:19;25058:49;25095:11;25058:32;12852:1;25058:13;:17;;:32;;;;:::i;:::-;:36;;:49;;;;:::i;:::-;:53;;:74;;;;:::i;:::-;25035:97;;25170:1;25155:12;:16;:46;;;;;25189:12;25175:10;;:26;;25155:46;25151:246;;;25239:28;25254:12;25239:10;;:14;;:28;;;;:::i;:::-;25226:10;:41;;;;25326:51;25364:12;25326:25;:33;25352:6;25326:33;;;;;;;;;;;;;;;;:37;;:51;;;;:::i;:::-;25290:25;:33;25316:6;25290:33;;;;;;;;;;;;;;;:87;;;;25151:246;25016:396;24970:442;24852:571;;24847:3;;;;;:::i;:::-;;;;24807:616;;;;25460:15;25435:22;:40;;;;23696:1787;;23658:1825;:::o;15011:112::-;15070:7;15097:9;:18;15107:7;15097:18;;;;;;;;;;;;;;;;15090:25;;15011:112;;;:::o;26417:98::-;26466:7;26493;:14;;;;26486:21;;26417:98;:::o;3361:103::-;2572:13;:11;:13::i;:::-;3426:30:::1;3453:1;3426:18;:30::i;:::-;3361:103::o:0;11902:40::-;;;:::o;25701:227::-;2572:13;:11;:13::i;:::-;25811:2:::1;25798:9;:15;;:35;;;;;25831:2;25817:10;:16;;25798:35;25790:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;25877:9;25865;:21;;;;25910:10;25897;:23;;;;25701:227:::0;;:::o;12735:26::-;;;;:::o;12812:41::-;12852:1;12812:41;:::o;25515:178::-;2572:13;:11;:13::i;:::-;25579:14:::1;;;;;;;;;;;25578:15;25570:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;25649:4;25632:14;;:21;;;;;;;;;;;;;;;;;;25669:16;;;;;;;;;;25515:178::o:0;2686:87::-;2732:7;2759:6;;;;;;;;;;;2752:13;;2686:87;:::o;12087:36::-;;;:::o;12434:39::-;12471:2;12434:39;:::o;11664:28::-;;;;:::o;25936:175::-;2572:13;:11;:13::i;:::-;26032:6:::1;26019:9;:19;;26011:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;26094:9;26078:13;:25;;;;25936:175:::0;:::o;11349:37::-;;;;;;;;;;;;;;;;;;;:::o;26119:180::-;2572:13;:11;:13::i;:::-;26227:1:::1;26203:26;;:12;:26;;::::0;26195:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;26279:12;26265:11;;:26;;;;;;;;;;;;;;;;;;26119:180:::0;:::o;11824:45::-;11866:3;11824:45;:::o;21839:574::-;21898:14;;;;;;;;;;;:39;;;;21930:7;:5;:7::i;:::-;21916:21;;:10;:21;;;21898:39;21890:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21989:1;21980:6;:10;21972:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;22053:6;22028:9;:21;22038:10;22028:21;;;;;;;;;;;;;;;;:31;;22020:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;22097:44;22107:10;22127:4;22134:6;22097:9;:44::i;:::-;22181:38;22212:6;22181:14;:26;22196:10;22181:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;22152:14;:26;22167:10;22152:26;;;;;;;;;;;;;;;:67;;;;22244:23;22260:6;22244:11;;:15;;:23;;;;:::i;:::-;22230:11;:37;;;;22314:1;22282:16;:28;22299:10;22282:28;;;;;;;;;;;;;;;;:33;22278:85;;22348:15;22317:16;:28;22334:10;22317:28;;;;;;;;;;;;;;;:46;;;;22278:85;22386:10;22379:26;;;22398:6;22379:26;;;;;;:::i;:::-;;;;;;;;21839:574;:::o;12130:26::-;;;;;;;;;;;;;:::o;26523:147::-;26601:7;26628:25;:34;26654:7;26628:34;;;;;;;;;;;;;;;;26621:41;;26523:147;;;:::o;15131:240::-;15202:4;15227:14;;;;;;;;;;;:39;;;;15259:7;:5;:7::i;:::-;15245:21;;:10;:21;;;15227:39;15219:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15301:40;15311:10;15323:9;15334:6;15301:9;:40::i;:::-;15359:4;15352:11;;15131:240;;;;:::o;12961:37::-;;;;:::o;12768:::-;;;;:::o;11949:42::-;;;:::o;17662:337::-;17720:4;17755:15;17744:26;;:7;:26;;;:74;;;;17801:17;17790:28;;:7;:28;;;17744:74;:120;;;;17849:15;17838:26;;:7;:26;;;17744:120;:161;;;;17895:10;17884:21;;:7;:21;;;17744:161;:203;;;;17936:11;17925:22;;:7;:22;;;17744:203;:247;;;;17986:4;17967:24;;:7;:24;;;17744:247;17737:254;;17662:337;;;:::o;12610:51::-;;;;;;;;;;;;;;;;;:::o;11998:40::-;;;:::o;13172:::-;;;;;;;;;;;;;;;;;;;;;;:::o;16010:136::-;16084:7;16111:11;:18;16123:5;16111:18;;;;;;;;;;;;;;;:27;16130:7;16111:27;;;;;;;;;;;;;;;;16104:34;;16010:136;;;;:::o;13119:46::-;;;;;;;;;;;;;;;;;:::o;3619:220::-;2572:13;:11;:13::i;:::-;3724:1:::1;3704:22;;:8;:22;;::::0;3700:93:::1;;3778:1;3750:31;;;;;;;;;;;:::i;:::-;;;;;;;;3700:93;3803:28;3822:8;3803:18;:28::i;:::-;3619:220:::0;:::o;12279:44::-;12321:2;12279:44;:::o;11743:29::-;;;;:::o;17316:314::-;17427:1;17410:19;;:5;:19;;;17402:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;17497:1;17478:21;;:7;:21;;;17470:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;17568:6;17538:11;:18;17550:5;17538:18;;;;;;;;;;;;;;;:27;17557:7;17538:27;;;;;;;;;;;;;;;:36;;;;17606:7;17590:32;;17599:5;17590:32;;;17615:6;17590:32;;;;;;:::i;:::-;;;;;;;;17316:314;;;:::o;16154:1154::-;16270:1;16252:20;;:6;:20;;;16244:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;16343:1;16322:23;;:9;:23;;;16314:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16414:6;16393:9;:17;16403:6;16393:17;;;;;;;;;;;;;;;;:27;;16385:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16458:17;16490:10;16513:11;;;;;;;;;;;16503:21;;:6;:21;;;:47;;;;;16529:21;16540:9;16529:10;:21::i;:::-;16528:22;16503:47;16490:60;;16561:11;16588;;;;;;;;;;;16575:24;;:9;:24;;;:47;;;;;16604:18;16615:6;16604:10;:18::i;:::-;16603:19;16575:47;16561:61;;16693:5;:15;;;;16702:6;16693:15;16692:44;;;;;16731:4;16713:23;;:6;:23;;;;16692:44;:74;;;;;16761:4;16740:26;;:9;:26;;;;16692:74;16688:313;;;16795:5;:96;;16848:43;11866:3;16848:22;16859:10;;16848:6;:10;;:22;;;;:::i;:::-;:26;;:43;;;;:::i;:::-;16795:96;;;16803:42;11866:3;16803:21;16814:9;;16803:6;:10;;:21;;;;:::i;:::-;:25;;:42;;;;:::i;:::-;16795:96;16783:108;;16906:25;16921:9;16906:14;:25::i;:::-;16964:6;16951:38;;;16972:9;16983:5;16951:38;;;;;;;:::i;:::-;;;;;;;;16688:313;17013:22;17038:21;17049:9;17038:6;:10;;:21;;;;:::i;:::-;17013:46;;17090:29;17112:6;17090:9;:17;17100:6;17090:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;17070:9;:17;17080:6;17070:17;;;;;;;;;;;;;;;:49;;;;17153:40;17178:14;17153:9;:20;17163:9;17153:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;17130:9;:20;17140:9;17130:20;;;;;;;;;;;;;;;:63;;;;17204:35;17221:6;17229:9;17204:16;:35::i;:::-;17274:9;17257:43;;17266:6;17257:43;;;17285:14;17257:43;;;;;;:::i;:::-;;;;;;;;16233:1075;;;;16154:1154;;;:::o;7454:98::-;7512:7;7543:1;7539;:5;;;;:::i;:::-;7532:12;;7454:98;;;;:::o;7073:::-;7131:7;7162:1;7158;:5;;;;:::i;:::-;7151:12;;7073:98;;;;:::o;18034:1841::-;18115:19;18137:18;18148:6;18137:10;:18::i;:::-;18115:40;;18166:22;18191:21;18202:9;18191:10;:21::i;:::-;18166:46;;18230:14;18225:901;;18261:21;18285:9;:17;18295:6;18285:17;;;;;;;;;;;;;;;;18261:41;;18338:1;18321:13;:18;:49;;;;;18369:1;18343:14;:22;18358:6;18343:22;;;;;;;;;;;;;;;;:27;18321:49;:69;;;;;18374:8;:16;18383:6;18374:16;;;;;;;;;;;;;;;;;;;;;;;;;18321:69;18317:798;;;18433:42;18457:9;:17;18467:6;18457:17;;;;;;;;;;;;;;;;18433:19;;:23;;:42;;;;:::i;:::-;18411:19;:64;;;;18494:20;18507:6;18494:12;:20::i;:::-;18317:798;;;18556:1;18540:13;:17;:38;;;;;18562:8;:16;18571:6;18562:16;;;;;;;;;;;;;;;;;;;;;;;;;18561:17;18540:38;:69;;;;;18608:1;18582:14;:22;18597:6;18582:22;;;;;;;;;;;;;;;;:27;18540:69;18536:579;;;18630:17;18640:6;18630:9;:17::i;:::-;18688:38;18712:13;18688:19;;:23;;:38;;;;:::i;:::-;18666:19;:60;;;;18536:579;;;18752:8;:16;18761:6;18752:16;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;;18798:1;18772:14;:22;18787:6;18772:22;;;;;;;;;;;;;;;;:27;18752:47;18748:367;;;18842:61;18889:13;18842:42;18866:9;:17;18876:6;18866:17;;;;;;;;;;;;;;;;18842:19;;:23;;:42;;;;:::i;:::-;:46;;:61;;;;:::i;:::-;18820:19;:83;;;;18748:367;;;18929:8;:16;18938:6;18929:16;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;18974:1;18949:14;:22;18964:6;18949:22;;;;;;;;;;;;;;;;:26;18929:46;18925:190;;;19018:42;19042:9;:17;19052:6;19042:17;;;;;;;;;;;;;;;;19018:19;;:23;;:42;;;;:::i;:::-;18996:19;:64;;;;19079:20;19092:6;19079:12;:20::i;:::-;18925:190;18748:367;18536:579;18317:798;18246:880;18225:901;19143:17;19138:730;;19177:24;19204:9;:20;19214:9;19204:20;;;;;;;;;;;;;;;;19177:47;;19262:1;19243:16;:20;:44;;;;;19268:8;:19;19277:9;19268:19;;;;;;;;;;;;;;;;;;;;;;;;;19267:20;19243:44;:78;;;;;19320:1;19291:14;:25;19306:9;19291:25;;;;;;;;;;;;;;;;:30;19243:78;19239:618;;;19342:20;19352:9;19342;:20::i;:::-;19403:41;19427:16;19403:19;;:23;;:41;;;;:::i;:::-;19381:19;:63;;;;19239:618;;;19470:8;:19;19479:9;19470:19;;;;;;;;;;;;;;;;;;;;;;;;;:53;;;;;19522:1;19493:14;:25;19508:9;19493:25;;;;;;;;;;;;;;;;:30;19470:53;19466:391;;;19566:67;19616:16;19566:45;19590:9;:20;19600:9;19590:20;;;;;;;;;;;;;;;;19566:19;;:23;;:45;;;;:::i;:::-;:49;;:67;;;;:::i;:::-;19544:19;:89;;;;19466:391;;;19659:8;:19;19668:9;19659:19;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;;19710:1;19682:14;:25;19697:9;19682:25;;;;;;;;;;;;;;;;:29;19659:52;19655:202;;;19754:45;19778:9;:20;19788:9;19778:20;;;;;;;;;;;;;;;;19754:19;;:23;;:45;;;;:::i;:::-;19732:19;:67;;;;19818:23;19831:9;19818:12;:23::i;:::-;19655:202;19466:391;19239:618;19162:706;19138:730;18104:1771;;18034:1841;;:::o;7811:98::-;7869:7;7900:1;7896;:5;;;;:::i;:::-;7889:12;;7811:98;;;;:::o;8210:::-;8268:7;8299:1;8295;:5;;;;:::i;:::-;8288:12;;8210:98;;;;:::o;2851:166::-;2922:12;:10;:12::i;:::-;2911:23;;:7;:5;:7::i;:::-;:23;;;2907:103;;2985:12;:10;:12::i;:::-;2958:40;;;;;;;;;;;:::i;:::-;;;;;;;;2907:103;2851:166::o;3999:191::-;4073:16;4092:6;;;;;;;;;;;4073:25;;4118:8;4109:6;;:17;;;;;;;;;;;;;;;;;;4173:8;4142:40;;4163:8;4142:40;;;;;;;;;;;;4062:128;3999:191;:::o;20475:1330::-;20538:19;20560:48;11866:3;20560:27;12270:2;20560:9;:13;;:27;;;;:::i;:::-;:31;;:48;;;;:::i;:::-;20538:70;;20619:22;20644:51;11866:3;20644:30;12321:2;20644:9;:13;;:30;;;;:::i;:::-;:34;;:51;;;;:::i;:::-;20619:76;;20706:16;20725:53;11866:3;20725:32;12374:2;20725:9;:13;;:32;;;;:::i;:::-;:36;;:53;;;;:::i;:::-;20706:72;;20789:16;20808:51;11866:3;20808:30;12425:2;20808:9;:13;;:30;;;;:::i;:::-;:34;;:51;;;;:::i;:::-;20789:70;;20870:17;20890:46;11866:3;20890:25;12471:2;20890:9;:13;;:25;;;;:::i;:::-;:29;;:46;;;;:::i;:::-;20870:66;;20947:18;20968:47;11866:3;20968:26;12518:1;20968:9;:13;;:26;;;;:::i;:::-;:30;;:47;;;;:::i;:::-;20947:68;;21041:27;21056:11;21041:10;;:14;;:27;;;;:::i;:::-;21028:10;:40;;;;21108:46;21139:14;21108:9;:26;21118:15;21108:26;;;;;;;;;;;;;;;;:30;;:46;;;;:::i;:::-;21079:9;:26;21089:15;21079:26;;;;;;;;;;;;;;;:75;;;;21196:42;21229:8;21196:9;:28;21206:17;21196:28;;;;;;;;;;;;;;;;:32;;:42;;;;:::i;:::-;21165:9;:28;21175:17;21165:28;;;;;;;;;;;;;;;:73;;;;21278:40;21309:8;21278:9;:26;21288:15;21278:26;;;;;;;;;;;;;;;;:30;;:40;;;;:::i;:::-;21249:9;:26;21259:15;21249:26;;;;;;;;;;;;;;;:69;;;;21353:36;21379:9;21353;:21;21363:10;21353:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;21329:9;:21;21339:10;21329:21;;;;;;;;;;;;;;;:60;;;;21425:38;21452:10;21425:9;:22;21435:11;21425:22;;;;;;;;;;;;;;;;:26;;:38;;;;:::i;:::-;21400:9;:22;21410:11;21400:22;;;;;;;;;;;;;;;:63;;;;21505:15;21481:56;;21498:4;21481:56;;;21522:14;21481:56;;;;;;:::i;:::-;;;;;;;;21577:17;21553:52;;21570:4;21553:52;;;21596:8;21553:52;;;;;;:::i;:::-;;;;;;;;21645:15;21621:50;;21638:4;21621:50;;;21662:8;21621:50;;;;;;:::i;:::-;;;;;;;;21711:10;21687:46;;21704:4;21687:46;;;21723:9;21687:46;;;;;;:::i;:::-;;;;;;;;21773:11;21749:48;;21766:4;21749:48;;;21786:10;21749:48;;;;;;:::i;:::-;;;;;;;;20527:1278;;;;;;20475:1330;:::o;20094:373::-;20152:13;20168:11;:19;20180:6;20168:19;;;;;;;;;;;;;;;;20152:35;;20198:18;20219:7;20244:1;20227:7;:14;;;;:18;;;;:::i;:::-;20219:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20198:48;;20274:10;20257:7;20265:5;20257:14;;;;;;;;:::i;:::-;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20321:5;20295:11;:23;20307:10;20295:23;;;;;;;;;;;;;;;:31;;;;20337:7;:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;20368:11;:19;20380:6;20368:19;;;;;;;;;;;;;;;20361:26;;;20417:5;20398:8;:16;20407:6;20398:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;20452:6;20438:21;;;;;;;;;;;;20141:326;;20094:373;:::o;19883:203::-;19938:7;19951:6;19938:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20008:1;19991:7;:14;;;;:18;;;;:::i;:::-;19969:11;:19;19981:6;19969:19;;;;;;;;;;;;;;;:40;;;;20039:4;20020:8;:16;20029:6;20020:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;20071:6;20059:19;;;;;;;;;;;;19883:203;:::o;695:98::-;748:7;775:10;768:17;;695:98;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:246::-;954:1;964:113;978:6;975:1;972:13;964:113;;;1063:1;1058:3;1054:11;1048:18;1044:1;1039:3;1035:11;1028:39;1000:2;997:1;993:10;988:15;;964:113;;;1111:1;1102:6;1097:3;1093:16;1086:27;935:184;873:246;;;:::o;1125:102::-;1166:6;1217:2;1213:7;1208:2;1201:5;1197:14;1193:28;1183:38;;1125:102;;;:::o;1233:377::-;1321:3;1349:39;1382:5;1349:39;:::i;:::-;1404:71;1468:6;1463:3;1404:71;:::i;:::-;1397:78;;1484:65;1542:6;1537:3;1530:4;1523:5;1519:16;1484:65;:::i;:::-;1574:29;1596:6;1574:29;:::i;:::-;1569:3;1565:39;1558:46;;1325:285;1233:377;;;;:::o;1616:313::-;1729:4;1767:2;1756:9;1752:18;1744:26;;1816:9;1810:4;1806:20;1802:1;1791:9;1787:17;1780:47;1844:78;1917:4;1908:6;1844:78;:::i;:::-;1836:86;;1616:313;;;;:::o;2016:117::-;2125:1;2122;2115:12;2262:122;2335:24;2353:5;2335:24;:::i;:::-;2328:5;2325:35;2315:63;;2374:1;2371;2364:12;2315:63;2262:122;:::o;2390:139::-;2436:5;2474:6;2461:20;2452:29;;2490:33;2517:5;2490:33;:::i;:::-;2390:139;;;;:::o;2535:77::-;2572:7;2601:5;2590:16;;2535:77;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4133:118;;:::o;4257:222::-;4350:4;4388:2;4377:9;4373:18;4365:26;;4401:71;4469:1;4458:9;4454:17;4445:6;4401:71;:::i;:::-;4257:222;;;;:::o;4485:619::-;4562:6;4570;4578;4627:2;4615:9;4606:7;4602:23;4598:32;4595:119;;;4633:79;;:::i;:::-;4595:119;4753:1;4778:53;4823:7;4814:6;4803:9;4799:22;4778:53;:::i;:::-;4768:63;;4724:117;4880:2;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4851:118;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;4485:619;;;;;:::o;5110:329::-;5169:6;5218:2;5206:9;5197:7;5193:23;5189:32;5186:119;;;5224:79;;:::i;:::-;5186:119;5344:1;5369:53;5414:7;5405:6;5394:9;5390:22;5369:53;:::i;:::-;5359:63;;5315:117;5110:329;;;;:::o;5445:86::-;5480:7;5520:4;5513:5;5509:16;5498:27;;5445:86;;;:::o;5537:112::-;5620:22;5636:5;5620:22;:::i;:::-;5615:3;5608:35;5537:112;;:::o;5655:214::-;5744:4;5782:2;5771:9;5767:18;5759:26;;5795:67;5859:1;5848:9;5844:17;5835:6;5795:67;:::i;:::-;5655:214;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:169::-;6975:21;6971:1;6963:6;6959:14;6952:45;6835:169;:::o;7010:366::-;7152:3;7173:67;7237:2;7232:3;7173:67;:::i;:::-;7166:74;;7249:93;7338:3;7249:93;:::i;:::-;7367:2;7362:3;7358:12;7351:19;;7010:366;;;:::o;7382:419::-;7548:4;7586:2;7575:9;7571:18;7563:26;;7635:9;7629:4;7625:20;7621:1;7610:9;7606:17;7599:47;7663:131;7789:4;7663:131;:::i;:::-;7655:139;;7382:419;;;:::o;7807:172::-;7947:24;7943:1;7935:6;7931:14;7924:48;7807:172;:::o;7985:366::-;8127:3;8148:67;8212:2;8207:3;8148:67;:::i;:::-;8141:74;;8224:93;8313:3;8224:93;:::i;:::-;8342:2;8337:3;8333:12;8326:19;;7985:366;;;:::o;8357:419::-;8523:4;8561:2;8550:9;8546:18;8538:26;;8610:9;8604:4;8600:20;8596:1;8585:9;8581:17;8574:47;8638:131;8764:4;8638:131;:::i;:::-;8630:139;;8357:419;;;:::o;8782:180::-;8830:77;8827:1;8820:88;8927:4;8924:1;8917:15;8951:4;8948:1;8941:15;8968:194;9008:4;9028:20;9046:1;9028:20;:::i;:::-;9023:25;;9062:20;9080:1;9062:20;:::i;:::-;9057:25;;9106:1;9103;9099:9;9091:17;;9130:1;9124:4;9121:11;9118:37;;;9135:18;;:::i;:::-;9118:37;8968:194;;;;:::o;9168:166::-;9308:18;9304:1;9296:6;9292:14;9285:42;9168:166;:::o;9340:366::-;9482:3;9503:67;9567:2;9562:3;9503:67;:::i;:::-;9496:74;;9579:93;9668:3;9579:93;:::i;:::-;9697:2;9692:3;9688:12;9681:19;;9340:366;;;:::o;9712:419::-;9878:4;9916:2;9905:9;9901:18;9893:26;;9965:9;9959:4;9955:20;9951:1;9940:9;9936:17;9929:47;9993:131;10119:4;9993:131;:::i;:::-;9985:139;;9712:419;;;:::o;10137:177::-;10277:29;10273:1;10265:6;10261:14;10254:53;10137:177;:::o;10320:366::-;10462:3;10483:67;10547:2;10542:3;10483:67;:::i;:::-;10476:74;;10559:93;10648:3;10559:93;:::i;:::-;10677:2;10672:3;10668:12;10661:19;;10320:366;;;:::o;10692:419::-;10858:4;10896:2;10885:9;10881:18;10873:26;;10945:9;10939:4;10935:20;10931:1;10920:9;10916:17;10909:47;10973:131;11099:4;10973:131;:::i;:::-;10965:139;;10692:419;;;:::o;11117:191::-;11157:3;11176:20;11194:1;11176:20;:::i;:::-;11171:25;;11210:20;11228:1;11210:20;:::i;:::-;11205:25;;11253:1;11250;11246:9;11239:16;;11274:3;11271:1;11268:10;11265:36;;;11281:18;;:::i;:::-;11265:36;11117:191;;;;:::o;11314:178::-;11454:30;11450:1;11442:6;11438:14;11431:54;11314:178;:::o;11498:366::-;11640:3;11661:67;11725:2;11720:3;11661:67;:::i;:::-;11654:74;;11737:93;11826:3;11737:93;:::i;:::-;11855:2;11850:3;11846:12;11839:19;;11498:366;;;:::o;11870:419::-;12036:4;12074:2;12063:9;12059:18;12051:26;;12123:9;12117:4;12113:20;12109:1;12098:9;12094:17;12087:47;12151:131;12277:4;12151:131;:::i;:::-;12143:139;;11870:419;;;:::o;12295:332::-;12416:4;12454:2;12443:9;12439:18;12431:26;;12467:71;12535:1;12524:9;12520:17;12511:6;12467:71;:::i;:::-;12548:72;12616:2;12605:9;12601:18;12592:6;12548:72;:::i;:::-;12295:332;;;;;:::o;12633:169::-;12773:21;12769:1;12761:6;12757:14;12750:45;12633:169;:::o;12808:366::-;12950:3;12971:67;13035:2;13030:3;12971:67;:::i;:::-;12964:74;;13047:93;13136:3;13047:93;:::i;:::-;13165:2;13160:3;13156:12;13149:19;;12808:366;;;:::o;13180:419::-;13346:4;13384:2;13373:9;13369:18;13361:26;;13433:9;13427:4;13423:20;13419:1;13408:9;13404:17;13397:47;13461:131;13587:4;13461:131;:::i;:::-;13453:139;;13180:419;;;:::o;13605:170::-;13745:22;13741:1;13733:6;13729:14;13722:46;13605:170;:::o;13781:366::-;13923:3;13944:67;14008:2;14003:3;13944:67;:::i;:::-;13937:74;;14020:93;14109:3;14020:93;:::i;:::-;14138:2;14133:3;14129:12;14122:19;;13781:366;;;:::o;14153:419::-;14319:4;14357:2;14346:9;14342:18;14334:26;;14406:9;14400:4;14396:20;14392:1;14381:9;14377:17;14370:47;14434:131;14560:4;14434:131;:::i;:::-;14426:139;;14153:419;;;:::o;14578:410::-;14618:7;14641:20;14659:1;14641:20;:::i;:::-;14636:25;;14675:20;14693:1;14675:20;:::i;:::-;14670:25;;14730:1;14727;14723:9;14752:30;14770:11;14752:30;:::i;:::-;14741:41;;14931:1;14922:7;14918:15;14915:1;14912:22;14892:1;14885:9;14865:83;14842:139;;14961:18;;:::i;:::-;14842:139;14626:362;14578:410;;;;:::o;14994:180::-;15042:77;15039:1;15032:88;15139:4;15136:1;15129:15;15163:4;15160:1;15153:15;15180:233;15219:3;15242:24;15260:5;15242:24;:::i;:::-;15233:33;;15288:66;15281:5;15278:77;15275:103;;15358:18;;:::i;:::-;15275:103;15405:1;15398:5;15394:13;15387:20;;15180:233;;;:::o;15419:166::-;15559:18;15555:1;15547:6;15543:14;15536:42;15419:166;:::o;15591:366::-;15733:3;15754:67;15818:2;15813:3;15754:67;:::i;:::-;15747:74;;15830:93;15919:3;15830:93;:::i;:::-;15948:2;15943:3;15939:12;15932:19;;15591:366;;;:::o;15963:419::-;16129:4;16167:2;16156:9;16152:18;16144:26;;16216:9;16210:4;16206:20;16202:1;16191:9;16187:17;16180:47;16244:131;16370:4;16244:131;:::i;:::-;16236:139;;15963:419;;;:::o;16388:173::-;16528:25;16524:1;16516:6;16512:14;16505:49;16388:173;:::o;16567:366::-;16709:3;16730:67;16794:2;16789:3;16730:67;:::i;:::-;16723:74;;16806:93;16895:3;16806:93;:::i;:::-;16924:2;16919:3;16915:12;16908:19;;16567:366;;;:::o;16939:419::-;17105:4;17143:2;17132:9;17128:18;17120:26;;17192:9;17186:4;17182:20;17178:1;17167:9;17163:17;17156:47;17220:131;17346:4;17220:131;:::i;:::-;17212:139;;16939:419;;;:::o;17364:174::-;17504:26;17500:1;17492:6;17488:14;17481:50;17364:174;:::o;17544:366::-;17686:3;17707:67;17771:2;17766:3;17707:67;:::i;:::-;17700:74;;17783:93;17872:3;17783:93;:::i;:::-;17901:2;17896:3;17892:12;17885:19;;17544:366;;;:::o;17916:419::-;18082:4;18120:2;18109:9;18105:18;18097:26;;18169:9;18163:4;18159:20;18155:1;18144:9;18140:17;18133:47;18197:131;18323:4;18197:131;:::i;:::-;18189:139;;17916:419;;;:::o;18341:170::-;18481:22;18477:1;18469:6;18465:14;18458:46;18341:170;:::o;18517:366::-;18659:3;18680:67;18744:2;18739:3;18680:67;:::i;:::-;18673:74;;18756:93;18845:3;18756:93;:::i;:::-;18874:2;18869:3;18865:12;18858:19;;18517:366;;;:::o;18889:419::-;19055:4;19093:2;19082:9;19078:18;19070:26;;19142:9;19136:4;19132:20;19128:1;19117:9;19113:17;19106:47;19170:131;19296:4;19170:131;:::i;:::-;19162:139;;18889:419;;;:::o;19314:164::-;19454:16;19450:1;19442:6;19438:14;19431:40;19314:164;:::o;19484:366::-;19626:3;19647:67;19711:2;19706:3;19647:67;:::i;:::-;19640:74;;19723:93;19812:3;19723:93;:::i;:::-;19841:2;19836:3;19832:12;19825:19;;19484:366;;;:::o;19856:419::-;20022:4;20060:2;20049:9;20045:18;20037:26;;20109:9;20103:4;20099:20;20095:1;20084:9;20080:17;20073:47;20137:131;20263:4;20137:131;:::i;:::-;20129:139;;19856:419;;;:::o;20281:170::-;20421:22;20417:1;20409:6;20405:14;20398:46;20281:170;:::o;20457:366::-;20599:3;20620:67;20684:2;20679:3;20620:67;:::i;:::-;20613:74;;20696:93;20785:3;20696:93;:::i;:::-;20814:2;20809:3;20805:12;20798:19;;20457:366;;;:::o;20829:419::-;20995:4;21033:2;21022:9;21018:18;21010:26;;21082:9;21076:4;21072:20;21068:1;21057:9;21053:17;21046:47;21110:131;21236:4;21110:131;:::i;:::-;21102:139;;20829:419;;;:::o;21254:175::-;21394:27;21390:1;21382:6;21378:14;21371:51;21254:175;:::o;21435:366::-;21577:3;21598:67;21662:2;21657:3;21598:67;:::i;:::-;21591:74;;21674:93;21763:3;21674:93;:::i;:::-;21792:2;21787:3;21783:12;21776:19;;21435:366;;;:::o;21807:419::-;21973:4;22011:2;22000:9;21996:18;21988:26;;22060:9;22054:4;22050:20;22046:1;22035:9;22031:17;22024:47;22088:131;22214:4;22088:131;:::i;:::-;22080:139;;21807:419;;;:::o;22232:173::-;22372:25;22368:1;22360:6;22356:14;22349:49;22232:173;:::o;22411:366::-;22553:3;22574:67;22638:2;22633:3;22574:67;:::i;:::-;22567:74;;22650:93;22739:3;22650:93;:::i;:::-;22768:2;22763:3;22759:12;22752:19;;22411:366;;;:::o;22783:419::-;22949:4;22987:2;22976:9;22972:18;22964:26;;23036:9;23030:4;23026:20;23022:1;23011:9;23007:17;23000:47;23064:131;23190:4;23064:131;:::i;:::-;23056:139;;22783:419;;;:::o;23208:176::-;23348:28;23344:1;23336:6;23332:14;23325:52;23208:176;:::o;23390:366::-;23532:3;23553:67;23617:2;23612:3;23553:67;:::i;:::-;23546:74;;23629:93;23718:3;23629:93;:::i;:::-;23747:2;23742:3;23738:12;23731:19;;23390:366;;;:::o;23762:419::-;23928:4;23966:2;23955:9;23951:18;23943:26;;24015:9;24009:4;24005:20;24001:1;23990:9;23986:17;23979:47;24043:131;24169:4;24043:131;:::i;:::-;24035:139;;23762:419;;;:::o;24187:174::-;24327:26;24323:1;24315:6;24311:14;24304:50;24187:174;:::o;24367:366::-;24509:3;24530:67;24594:2;24589:3;24530:67;:::i;:::-;24523:74;;24606:93;24695:3;24606:93;:::i;:::-;24724:2;24719:3;24715:12;24708:19;;24367:366;;;:::o;24739:419::-;24905:4;24943:2;24932:9;24928:18;24920:26;;24992:9;24986:4;24982:20;24978:1;24967:9;24963:17;24956:47;25020:131;25146:4;25020:131;:::i;:::-;25012:139;;24739:419;;;:::o;25164:320::-;25279:4;25317:2;25306:9;25302:18;25294:26;;25330:71;25398:1;25387:9;25383:17;25374:6;25330:71;:::i;:::-;25411:66;25473:2;25462:9;25458:18;25449:6;25411:66;:::i;:::-;25164:320;;;;;:::o;25490:180::-;25538:77;25535:1;25528:88;25635:4;25632:1;25625:15;25659:4;25656:1;25649:15;25676:185;25716:1;25733:20;25751:1;25733:20;:::i;:::-;25728:25;;25767:20;25785:1;25767:20;:::i;:::-;25762:25;;25806:1;25796:35;;25811:18;;:::i;:::-;25796:35;25853:1;25850;25846:9;25841:14;;25676:185;;;;:::o;25867:180::-;25915:77;25912:1;25905:88;26012:4;26009:1;26002:15;26036:4;26033:1;26026:15
Swarm Source
ipfs://e650f1271cfe2b5f4c198e2809ce4a89dda340057a8fe61bfb292423014c150b
[ 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.