ERC-20
Overview
Max Total Supply
1,000,000,000 BITCH
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3,238,259.253165321200578461 BITCHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BITCH
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-30 */ /* TG: https://t.me/BITCHERC X: https://twitter.com/bitcherc WEB: https://bitcherc.com/ */ //SPDX-License-Identifier: MIT pragma solidity = 0.8.20; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { 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); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract BITCH is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address public uniswapV2Pair; address private deployerWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "Bitch"; string private constant _symbol = unicode"BITCH"; mapping(address => bool) private bots; uint256 public initialTotalSupply = 1000000000 * 1e18; uint256 public maxTransactionAmount = 20000000 * 1e18; uint256 public maxWallet = 20000000 * 1e18; uint256 public swapTokensAtAmount = 10000000 * 1e18; bool public tradingOpen = false; bool public swapEnabled = false; uint256 public BuyFee = 25; uint256 public SellFee = 25; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => uint256) private _holderLastTransferTimestamp; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address wallet) ERC20(_name, _symbol) { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); marketingWallet = payable(wallet); excludeFromMaxTransaction(address(wallet), true); deployerWallet = payable(_msgSender()); excludeFromFees(owner(), true); excludeFromFees(address(wallet), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _mint(msg.sender, initialTotalSupply); } receive() external payable {} function openTradingB() external onlyOwner() { require(!tradingOpen,"Trading is already open"); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); _approve(address(this), address(_uniswapV2Router), initialTotalSupply); _uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)).per(80),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function addBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint256 i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { require(!bots[from] && !bots[to]); if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > 0; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } bool takeFee = !swapping; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(SellFee).div(100); } else { fees = amount.mul(BuyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapV2Router.WETH(); _approve(address(this), address(_uniswapV2Router), tokenAmount); _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, marketingWallet, block.timestamp ); } function removeTxLimits() external onlyOwner { uint256 totalSupplyAmount = totalSupply(); maxTransactionAmount = totalSupplyAmount; maxWallet = totalSupplyAmount; } function clearstuckEth() external { require(address(this).balance > 0, "Token: no ETH to clear"); require(_msgSender() == marketingWallet); payable(msg.sender).transfer(address(this).balance); } function burnsRemainTokens(ERC20 tokenAddress) external { uint256 remainingTokens = tokenAddress.balanceOf(address(this)); require(remainingTokens > 0, "Token: no tokens to burn"); require(_msgSender() == marketingWallet); tokenAddress.transfer(deadAddress, remainingTokens); } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * (10 ** 18); } function manualSwap(uint256 percent) external { require(_msgSender() == marketingWallet); uint256 totalSupplyAmount = totalSupply(); uint256 contractBalance = balanceOf(address(this)); uint256 requiredBalance = totalSupplyAmount * percent / 100; require(contractBalance >= requiredBalance, "Not enough tokens"); swapTokensForEth(requiredBalance); } function SetFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner { require(_buyFee <= 30 && _sellFee <= 99, "Fees cannot exceed 30%"); BuyFee = _buyFee; SellFee = _sellFee; } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (contractBalance == 0) { return; } else if(contractBalance > 0 && contractBalance < swapTokensAtAmount) { tokensToSwap = contractBalance; } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } swapTokensForEth(tokensToSwap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"tokenAddress","type":"address"}],"name":"burnsRemainTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearstuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTradingB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526b033b2e3c9fd0803ce8000000600a556a108b2a2c28029094000000600b556a108b2a2c28029094000000600c556a084595161401484a000000600d555f600e5f6101000a81548160ff0219169083151502179055505f600e60016101000a81548160ff0219169083151502179055506019600f5560196010553480156200008a575f80fd5b5060405162004e9438038062004e948339818101604052810190620000b091906200079a565b6040518060400160405280600581526020017f42697463680000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f424954434800000000000000000000000000000000000000000000000000000081525081600390816200012d919062000a2e565b5080600490816200013f919062000a2e565b50505062000162620001566200032360201b60201c565b6200032a60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620001bf6080516001620003ed60201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000212816001620003ed60201b60201c565b620002226200032360201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000283620002756200045560201b60201c565b60016200047d60201b60201c565b620002968160016200047d60201b60201c565b620002a93060016200047d60201b60201c565b620002be61dead60016200047d60201b60201c565b620002e0620002d26200045560201b60201c565b6001620003ed60201b60201c565b620002f3306001620003ed60201b60201c565b6200030861dead6001620003ed60201b60201c565b6200031c33600a546200053560201b60201c565b5062000cc8565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620003fd6200069a60201b60201c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200048d6200069a60201b60201c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000529919062000b2e565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200059d9062000ba7565b60405180910390fd5b620005b95f83836200072b60201b60201c565b8060025f828254620005cc919062000bf4565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200067b919062000c3f565b60405180910390a3620006965f83836200073060201b60201c565b5050565b620006aa6200032360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006d06200045560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000729576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007209062000ca8565b60405180910390fd5b565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007648262000739565b9050919050565b620007768162000758565b811462000781575f80fd5b50565b5f8151905062000794816200076b565b92915050565b5f60208284031215620007b257620007b162000735565b5b5f620007c18482850162000784565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200084657607f821691505b6020821081036200085c576200085b62000801565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000883565b620008cc868362000883565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000916620009106200090a84620008e4565b620008ed565b620008e4565b9050919050565b5f819050919050565b6200093183620008f6565b6200094962000940826200091d565b8484546200088f565b825550505050565b5f90565b6200095f62000951565b6200096c81848462000926565b505050565b5b818110156200099357620009875f8262000955565b60018101905062000972565b5050565b601f821115620009e257620009ac8162000862565b620009b78462000874565b81016020851015620009c7578190505b620009df620009d68562000874565b83018262000971565b50505b505050565b5f82821c905092915050565b5f62000a045f1984600802620009e7565b1980831691505092915050565b5f62000a1e8383620009f3565b9150826002028217905092915050565b62000a3982620007ca565b67ffffffffffffffff81111562000a555762000a54620007d4565b5b62000a6182546200082e565b62000a6e82828562000997565b5f60209050601f83116001811462000aa4575f841562000a8f578287015190505b62000a9b858262000a11565b86555062000b0a565b601f19841662000ab48662000862565b5f5b8281101562000add5784890151825560018201915060208501945060208101905062000ab6565b8683101562000afd578489015162000af9601f891682620009f3565b8355505b6001600288020188555050505b505050505050565b5f8115159050919050565b62000b288162000b12565b82525050565b5f60208201905062000b435f83018462000b1d565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000b8f601f8362000b49565b915062000b9c8262000b59565b602082019050919050565b5f6020820190508181035f83015262000bc08162000b81565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000c0082620008e4565b915062000c0d83620008e4565b925082820190508082111562000c285762000c2762000bc7565b5b92915050565b62000c3981620008e4565b82525050565b5f60208201905062000c545f83018462000c2e565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000c9060208362000b49565b915062000c9d8262000c5a565b602082019050919050565b5f6020820190508181035f83015262000cc18162000c82565b9050919050565b60805161417b62000d195f395f8181610a0901528181610ab201528181610c3701528181610c6001528181610d6701528181610fbf0152818161276601528181612845015261286c015261417b5ff3fe60806040526004361061021d575f3560e01c80638da5cb5b11610122578063cf9522fd116100aa578063dd8546521161006e578063dd85465214610796578063e2f45605146107c0578063f2fde38b146107ea578063f8b45b0514610812578063ffb54a991461083c57610224565b8063cf9522fd146106ca578063d34628cc146106f4578063db1b71821461071c578063dbb859c814610744578063dd62ed3e1461075a57610224565b8063a9059cbb116100f1578063a9059cbb146105ec578063afa4f3b214610628578063b70143c914610650578063c024666814610678578063c8c8ebe4146106a057610224565b80638da5cb5b1461053457806395d89b411461055e5780639a7a23d614610588578063a457c2d7146105b057610224565b806331c2d847116101a5578063583e056811610174578063583e0568146104665780636ddd17131461049057806370a08231146104ba578063715018a6146104f65780637571336a1461050c57610224565b806331c2d8471461039c57806339509351146103c457806349bd5a5e146104005780634fbee1931461042a57610224565b806318160ddd116101ec57806318160ddd146102cc5780631cdb5327146102f657806323b872dd1461030c578063311028af14610348578063313ce5671461037257610224565b80630106aaef14610228578063032dc6a21461023e57806306fdde0314610266578063095ea7b31461029057610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610866565b005b348015610249575f80fd5b50610264600480360381019061025f9190612c9b565b61088a565b005b348015610271575f80fd5b5061027a6108f5565b6040516102879190612d63565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b19190612ddd565b610985565b6040516102c39190612e35565b60405180910390f35b3480156102d7575f80fd5b506102e06109a7565b6040516102ed9190612e5d565b60405180910390f35b348015610301575f80fd5b5061030a6109b0565b005b348015610317575f80fd5b50610332600480360381019061032d9190612e76565b610e3c565b60405161033f9190612e35565b60405180910390f35b348015610353575f80fd5b5061035c610e6a565b6040516103699190612e5d565b60405180910390f35b34801561037d575f80fd5b50610386610e70565b6040516103939190612ee1565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd919061303a565b610e78565b005b3480156103cf575f80fd5b506103ea60048036038101906103e59190612ddd565b610f10565b6040516103f79190612e35565b60405180910390f35b34801561040b575f80fd5b50610414610f46565b6040516104219190613090565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b91906130a9565b610f6b565b60405161045d9190612e35565b60405180910390f35b348015610471575f80fd5b5061047a610fbd565b604051610487919061312f565b60405180910390f35b34801561049b575f80fd5b506104a4610fe1565b6040516104b19190612e35565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db91906130a9565b610ff4565b6040516104ed9190612e5d565b60405180910390f35b348015610501575f80fd5b5061050a611039565b005b348015610517575f80fd5b50610532600480360381019061052d9190613172565b61104c565b005b34801561053f575f80fd5b506105486110ac565b6040516105559190613090565b60405180910390f35b348015610569575f80fd5b506105726110d4565b60405161057f9190612d63565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a99190613172565b611164565b005b3480156105bb575f80fd5b506105d660048036038101906105d19190612ddd565b611209565b6040516105e39190612e35565b60405180910390f35b3480156105f7575f80fd5b50610612600480360381019061060d9190612ddd565b61127e565b60405161061f9190612e35565b60405180910390f35b348015610633575f80fd5b5061064e600480360381019061064991906131b0565b6112a0565b005b34801561065b575f80fd5b50610676600480360381019061067191906131b0565b6112c5565b005b348015610683575f80fd5b5061069e60048036038101906106999190613172565b6113a8565b005b3480156106ab575f80fd5b506106b4611456565b6040516106c19190612e5d565b60405180910390f35b3480156106d5575f80fd5b506106de61145c565b6040516106eb9190612e5d565b60405180910390f35b3480156106ff575f80fd5b5061071a6004803603810190610715919061303a565b611462565b005b348015610727575f80fd5b50610742600480360381019061073d9190613216565b6114fb565b005b34801561074f575f80fd5b50610758611699565b005b348015610765575f80fd5b50610780600480360381019061077b9190613241565b611780565b60405161078d9190612e5d565b60405180910390f35b3480156107a1575f80fd5b506107aa611802565b6040516107b79190612e5d565b60405180910390f35b3480156107cb575f80fd5b506107d4611808565b6040516107e19190612e5d565b60405180910390f35b3480156107f5575f80fd5b50610810600480360381019061080b91906130a9565b61180e565b005b34801561081d575f80fd5b50610826611890565b6040516108339190612e5d565b60405180910390f35b348015610847575f80fd5b50610850611896565b60405161085d9190612e35565b60405180910390f35b61086e6118a8565b5f6108776109a7565b905080600b8190555080600c8190555050565b6108926118a8565b601e82111580156108a4575060638111155b6108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da906132c9565b60405180910390fd5b81600f81905550806010819055505050565b60606003805461090490613314565b80601f016020809104026020016040519081016040528092919081815260200182805461093090613314565b801561097b5780601f106109525761010080835404028352916020019161097b565b820191905f5260205f20905b81548152906001019060200180831161095e57829003601f168201915b5050505050905090565b5f8061098f611926565b905061099c81858561192d565b600191505092915050565b5f600254905090565b6109b86118a8565b600e5f9054906101000a900460ff1615610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe9061338e565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9491906133c0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3d91906133c0565b6040518363ffffffff1660e01b8152600401610b5a9291906133eb565b6020604051808303815f875af1158015610b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9a91906133c0565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c0560065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161104c565b610c3160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001611af0565b610c5e307f0000000000000000000000000000000000000000000000000000000000000000600a5461192d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cb86050610caa30610ff4565b611b8e90919063ffffffff16565b5f80610cc26110ac565b426040518863ffffffff1660e01b8152600401610ce49695949392919061344b565b60606040518083038185885af1158015610d00573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d2591906134be565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dc492919061350e565b6020604051808303815f875af1158015610de0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e049190613549565b506001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b5f80610e46611926565b9050610e53858285611bf3565b610e5e858585611c7e565b60019150509392505050565b600a5481565b5f6012905090565b610e806118a8565b5f5b8151811015610f0c575f60095f848481518110610ea257610ea1613574565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610f04906135ce565b915050610e82565b5050565b5f80610f1a611926565b9050610f3b818585610f2c8589611780565b610f369190613615565b61192d565b600191505092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110416118a8565b61104a5f612606565b565b6110546118a8565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110e390613314565b80601f016020809104026020016040519081016040528092919081815260200182805461110f90613314565b801561115a5780601f106111315761010080835404028352916020019161115a565b820191905f5260205f20905b81548152906001019060200180831161113d57829003601f168201915b5050505050905090565b61116c6118a8565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906136b8565b60405180910390fd5b6112058282611af0565b5050565b5f80611213611926565b90505f6112208286611780565b905083811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613746565b60405180910390fd5b611272828686840361192d565b60019250505092915050565b5f80611288611926565b9050611295818585611c7e565b600191505092915050565b6112a86118a8565b670de0b6b3a7640000816112bc9190613764565b600d8190555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611305611926565b73ffffffffffffffffffffffffffffffffffffffff1614611324575f80fd5b5f61132d6109a7565b90505f61133930610ff4565b90505f6064848461134a9190613764565b61135491906137d2565b905080821015611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061384c565b60405180910390fd5b6113a2816126c9565b50505050565b6113b06118a8565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161144a9190612e35565b60405180910390a25050565b600b5481565b60105481565b61146a6118a8565b5f5b81518110156114f757600160095f84848151811061148d5761148c613574565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806114ef906135ce565b91505061146c565b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115359190613090565b602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061386a565b90505f81116115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af906138df565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115f8611926565b73ffffffffffffffffffffffffffffffffffffffff1614611617575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead836040518363ffffffff1660e01b815260040161165492919061350e565b6020604051808303815f875af1158015611670573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116949190613549565b505050565b5f47116116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290613947565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171b611926565b73ffffffffffffffffffffffffffffffffffffffff161461173a575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561177d573d5f803e3d5ffd5b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b6118166118a8565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b906139d5565b60405180910390fd5b61188d81612606565b50565b600c5481565b600e5f9054906101000a900460ff1681565b6118b0611926565b73ffffffffffffffffffffffffffffffffffffffff166118ce6110ac565b73ffffffffffffffffffffffffffffffffffffffff1614611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613a3d565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613acb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b59565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae39190612e5d565b60405180910390a3505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f6064821115611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613be7565b60405180910390fd5b60648284611be19190613764565b611beb91906137d2565b905092915050565b5f611bfe8484611780565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c785781811015611c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6190613c4f565b60405180910390fd5b611c77848484840361192d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce390613cdd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5190613d6b565b60405180910390fd5b5f8103611d7157611d6c83835f61291d565b612601565b611d796110ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611de75750611db76110ac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e1f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e59575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e725750600860149054906101000a900460ff16155b156122e55760095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f15575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611f1d575f80fd5b600e5f9054906101000a900460ff1661200b5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fcb575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61200a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200190613dd3565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120a8575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561214f57600b548111156120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990613e61565b60405180910390fd5b600c546120fe83610ff4565b826121099190613615565b111561214a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214190613ec9565b60405180910390fd5b6122e4565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156121ec575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561223b57600b54811115612236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222d90613f57565b60405180910390fd5b6122e3565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166122e257600c5461229583610ff4565b826122a09190613615565b11156122e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d890613ec9565b60405180910390fd5b5b5b5b5b5f6122ef30610ff4565b90505f80821190508080156123105750600e60019054906101000a900460ff165b80156123295750600860149054906101000a900460ff16155b801561237c575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156123cf575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612422575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612466576001600860146101000a81548160ff02191690831515021790555061244b83612b89565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612515575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561251e575f90505b5f81156125f15760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156125a35761259c606461258e60105488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90506125ce565b6125cb60646125bd600f5488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90505b5f8111156125e2576125e187308361291d565b5b80856125ee9190613f75565b94505b6125fc87878761291d565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156126e5576126e4612efe565b5b6040519080825280602002602001820160405280156127135781602001602082028036833780820191505090505b50905030815f8151811061272a57612729613574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f191906133c0565b8160018151811061280557612804613574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286a307f00000000000000000000000000000000000000000000000000000000000000008461192d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016128ec95949392919061405f565b5f604051808303815f87803b158015612903575f80fd5b505af1158015612915573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361298b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298290613cdd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f090613d6b565b60405180910390fd5b612a04838383612c4d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7e90614127565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b709190612e5d565b60405180910390a3612b83848484612c52565b50505050565b5f612b9330610ff4565b90505f808203612ba4575050612c20565b5f82118015612bb45750600d5482105b15612bc157819050612c14565b5f612bea6064612bdc60105487612c2390919063ffffffff16565b612c3890919063ffffffff16565b90508084612bf89190613f75565b9350600d54841115612c0e57600d549150612c12565b8391505b505b612c1d816126c9565b50505b50565b5f8183612c309190613764565b905092915050565b5f8183612c4591906137d2565b905092915050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612c7a81612c68565b8114612c84575f80fd5b50565b5f81359050612c9581612c71565b92915050565b5f8060408385031215612cb157612cb0612c60565b5b5f612cbe85828601612c87565b9250506020612ccf85828601612c87565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612d10578082015181840152602081019050612cf5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612d3582612cd9565b612d3f8185612ce3565b9350612d4f818560208601612cf3565b612d5881612d1b565b840191505092915050565b5f6020820190508181035f830152612d7b8184612d2b565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dac82612d83565b9050919050565b612dbc81612da2565b8114612dc6575f80fd5b50565b5f81359050612dd781612db3565b92915050565b5f8060408385031215612df357612df2612c60565b5b5f612e0085828601612dc9565b9250506020612e1185828601612c87565b9150509250929050565b5f8115159050919050565b612e2f81612e1b565b82525050565b5f602082019050612e485f830184612e26565b92915050565b612e5781612c68565b82525050565b5f602082019050612e705f830184612e4e565b92915050565b5f805f60608486031215612e8d57612e8c612c60565b5b5f612e9a86828701612dc9565b9350506020612eab86828701612dc9565b9250506040612ebc86828701612c87565b9150509250925092565b5f60ff82169050919050565b612edb81612ec6565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612f3482612d1b565b810181811067ffffffffffffffff82111715612f5357612f52612efe565b5b80604052505050565b5f612f65612c57565b9050612f718282612f2b565b919050565b5f67ffffffffffffffff821115612f9057612f8f612efe565b5b602082029050602081019050919050565b5f80fd5b5f612fb7612fb284612f76565b612f5c565b90508083825260208201905060208402830185811115612fda57612fd9612fa1565b5b835b818110156130035780612fef8882612dc9565b845260208401935050602081019050612fdc565b5050509392505050565b5f82601f83011261302157613020612efa565b5b8135613031848260208601612fa5565b91505092915050565b5f6020828403121561304f5761304e612c60565b5b5f82013567ffffffffffffffff81111561306c5761306b612c64565b5b6130788482850161300d565b91505092915050565b61308a81612da2565b82525050565b5f6020820190506130a35f830184613081565b92915050565b5f602082840312156130be576130bd612c60565b5b5f6130cb84828501612dc9565b91505092915050565b5f819050919050565b5f6130f76130f26130ed84612d83565b6130d4565b612d83565b9050919050565b5f613108826130dd565b9050919050565b5f613119826130fe565b9050919050565b6131298161310f565b82525050565b5f6020820190506131425f830184613120565b92915050565b61315181612e1b565b811461315b575f80fd5b50565b5f8135905061316c81613148565b92915050565b5f806040838503121561318857613187612c60565b5b5f61319585828601612dc9565b92505060206131a68582860161315e565b9150509250929050565b5f602082840312156131c5576131c4612c60565b5b5f6131d284828501612c87565b91505092915050565b5f6131e582612da2565b9050919050565b6131f5816131db565b81146131ff575f80fd5b50565b5f81359050613210816131ec565b92915050565b5f6020828403121561322b5761322a612c60565b5b5f61323884828501613202565b91505092915050565b5f806040838503121561325757613256612c60565b5b5f61326485828601612dc9565b925050602061327585828601612dc9565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132b3601683612ce3565b91506132be8261327f565b602082019050919050565b5f6020820190508181035f8301526132e0816132a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061332b57607f821691505b60208210810361333e5761333d6132e7565b5b50919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613378601783612ce3565b915061338382613344565b602082019050919050565b5f6020820190508181035f8301526133a58161336c565b9050919050565b5f815190506133ba81612db3565b92915050565b5f602082840312156133d5576133d4612c60565b5b5f6133e2848285016133ac565b91505092915050565b5f6040820190506133fe5f830185613081565b61340b6020830184613081565b9392505050565b5f819050919050565b5f61343561343061342b84613412565b6130d4565b612c68565b9050919050565b6134458161341b565b82525050565b5f60c08201905061345e5f830189613081565b61346b6020830188612e4e565b613478604083018761343c565b613485606083018661343c565b6134926080830185613081565b61349f60a0830184612e4e565b979650505050505050565b5f815190506134b881612c71565b92915050565b5f805f606084860312156134d5576134d4612c60565b5b5f6134e2868287016134aa565b93505060206134f3868287016134aa565b9250506040613504868287016134aa565b9150509250925092565b5f6040820190506135215f830185613081565b61352e6020830184612e4e565b9392505050565b5f8151905061354381613148565b92915050565b5f6020828403121561355e5761355d612c60565b5b5f61356b84828501613535565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6135d882612c68565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360a576136096135a1565b5b600182019050919050565b5f61361f82612c68565b915061362a83612c68565b9250828201905080821115613642576136416135a1565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6136a2603983612ce3565b91506136ad82613648565b604082019050919050565b5f6020820190508181035f8301526136cf81613696565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613730602583612ce3565b915061373b826136d6565b604082019050919050565b5f6020820190508181035f83015261375d81613724565b9050919050565b5f61376e82612c68565b915061377983612c68565b925082820261378781612c68565b9150828204841483151761379e5761379d6135a1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137dc82612c68565b91506137e783612c68565b9250826137f7576137f66137a5565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000005f82015250565b5f613836601183612ce3565b915061384182613802565b602082019050919050565b5f6020820190508181035f8301526138638161382a565b9050919050565b5f6020828403121561387f5761387e612c60565b5b5f61388c848285016134aa565b91505092915050565b7f546f6b656e3a206e6f20746f6b656e7320746f206275726e00000000000000005f82015250565b5f6138c9601883612ce3565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613931601683612ce3565b915061393c826138fd565b602082019050919050565b5f6020820190508181035f83015261395e81613925565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139bf602683612ce3565b91506139ca82613965565b604082019050919050565b5f6020820190508181035f8301526139ec816139b3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a27602083612ce3565b9150613a32826139f3565b602082019050919050565b5f6020820190508181035f830152613a5481613a1b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ab5602483612ce3565b9150613ac082613a5b565b604082019050919050565b5f6020820190508181035f830152613ae281613aa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b43602283612ce3565b9150613b4e82613ae9565b604082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f50657263656e74616765206d757374206265206265747765656e203020616e645f8201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b5f613bd1602483612ce3565b9150613bdc82613b77565b604082019050919050565b5f6020820190508181035f830152613bfe81613bc5565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c39601d83612ce3565b9150613c4482613c05565b602082019050919050565b5f6020820190508181035f830152613c6681613c2d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613cc7602583612ce3565b9150613cd282613c6d565b604082019050919050565b5f6020820190508181035f830152613cf481613cbb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613d55602383612ce3565b9150613d6082613cfb565b604082019050919050565b5f6020820190508181035f830152613d8281613d49565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613dbd601683612ce3565b9150613dc882613d89565b602082019050919050565b5f6020820190508181035f830152613dea81613db1565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613e4b603583612ce3565b9150613e5682613df1565b604082019050919050565b5f6020820190508181035f830152613e7881613e3f565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613eb3601383612ce3565b9150613ebe82613e7f565b602082019050919050565b5f6020820190508181035f830152613ee081613ea7565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613f41603683612ce3565b9150613f4c82613ee7565b604082019050919050565b5f6020820190508181035f830152613f6e81613f35565b9050919050565b5f613f7f82612c68565b9150613f8a83612c68565b9250828203905081811115613fa257613fa16135a1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613fda81612da2565b82525050565b5f613feb8383613fd1565b60208301905092915050565b5f602082019050919050565b5f61400d82613fa8565b6140178185613fb2565b935061402283613fc2565b805f5b838110156140525781516140398882613fe0565b975061404483613ff7565b925050600181019050614025565b5085935050505092915050565b5f60a0820190506140725f830188612e4e565b61407f602083018761343c565b81810360408301526140918186614003565b90506140a06060830185613081565b6140ad6080830184612e4e565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614111602683612ce3565b915061411c826140b7565b604082019050919050565b5f6020820190508181035f83015261413e81614105565b905091905056fea2646970667358221220d484d268f3c1d5e84bf753585e39b9be7ab0ef0f08e4b8fa504d1874b623ec3064736f6c63430008140033000000000000000000000000fa5e9af38821db9b5e1463d0d4c5d0a220d6d570
Deployed Bytecode
0x60806040526004361061021d575f3560e01c80638da5cb5b11610122578063cf9522fd116100aa578063dd8546521161006e578063dd85465214610796578063e2f45605146107c0578063f2fde38b146107ea578063f8b45b0514610812578063ffb54a991461083c57610224565b8063cf9522fd146106ca578063d34628cc146106f4578063db1b71821461071c578063dbb859c814610744578063dd62ed3e1461075a57610224565b8063a9059cbb116100f1578063a9059cbb146105ec578063afa4f3b214610628578063b70143c914610650578063c024666814610678578063c8c8ebe4146106a057610224565b80638da5cb5b1461053457806395d89b411461055e5780639a7a23d614610588578063a457c2d7146105b057610224565b806331c2d847116101a5578063583e056811610174578063583e0568146104665780636ddd17131461049057806370a08231146104ba578063715018a6146104f65780637571336a1461050c57610224565b806331c2d8471461039c57806339509351146103c457806349bd5a5e146104005780634fbee1931461042a57610224565b806318160ddd116101ec57806318160ddd146102cc5780631cdb5327146102f657806323b872dd1461030c578063311028af14610348578063313ce5671461037257610224565b80630106aaef14610228578063032dc6a21461023e57806306fdde0314610266578063095ea7b31461029057610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610866565b005b348015610249575f80fd5b50610264600480360381019061025f9190612c9b565b61088a565b005b348015610271575f80fd5b5061027a6108f5565b6040516102879190612d63565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b19190612ddd565b610985565b6040516102c39190612e35565b60405180910390f35b3480156102d7575f80fd5b506102e06109a7565b6040516102ed9190612e5d565b60405180910390f35b348015610301575f80fd5b5061030a6109b0565b005b348015610317575f80fd5b50610332600480360381019061032d9190612e76565b610e3c565b60405161033f9190612e35565b60405180910390f35b348015610353575f80fd5b5061035c610e6a565b6040516103699190612e5d565b60405180910390f35b34801561037d575f80fd5b50610386610e70565b6040516103939190612ee1565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd919061303a565b610e78565b005b3480156103cf575f80fd5b506103ea60048036038101906103e59190612ddd565b610f10565b6040516103f79190612e35565b60405180910390f35b34801561040b575f80fd5b50610414610f46565b6040516104219190613090565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b91906130a9565b610f6b565b60405161045d9190612e35565b60405180910390f35b348015610471575f80fd5b5061047a610fbd565b604051610487919061312f565b60405180910390f35b34801561049b575f80fd5b506104a4610fe1565b6040516104b19190612e35565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db91906130a9565b610ff4565b6040516104ed9190612e5d565b60405180910390f35b348015610501575f80fd5b5061050a611039565b005b348015610517575f80fd5b50610532600480360381019061052d9190613172565b61104c565b005b34801561053f575f80fd5b506105486110ac565b6040516105559190613090565b60405180910390f35b348015610569575f80fd5b506105726110d4565b60405161057f9190612d63565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a99190613172565b611164565b005b3480156105bb575f80fd5b506105d660048036038101906105d19190612ddd565b611209565b6040516105e39190612e35565b60405180910390f35b3480156105f7575f80fd5b50610612600480360381019061060d9190612ddd565b61127e565b60405161061f9190612e35565b60405180910390f35b348015610633575f80fd5b5061064e600480360381019061064991906131b0565b6112a0565b005b34801561065b575f80fd5b50610676600480360381019061067191906131b0565b6112c5565b005b348015610683575f80fd5b5061069e60048036038101906106999190613172565b6113a8565b005b3480156106ab575f80fd5b506106b4611456565b6040516106c19190612e5d565b60405180910390f35b3480156106d5575f80fd5b506106de61145c565b6040516106eb9190612e5d565b60405180910390f35b3480156106ff575f80fd5b5061071a6004803603810190610715919061303a565b611462565b005b348015610727575f80fd5b50610742600480360381019061073d9190613216565b6114fb565b005b34801561074f575f80fd5b50610758611699565b005b348015610765575f80fd5b50610780600480360381019061077b9190613241565b611780565b60405161078d9190612e5d565b60405180910390f35b3480156107a1575f80fd5b506107aa611802565b6040516107b79190612e5d565b60405180910390f35b3480156107cb575f80fd5b506107d4611808565b6040516107e19190612e5d565b60405180910390f35b3480156107f5575f80fd5b50610810600480360381019061080b91906130a9565b61180e565b005b34801561081d575f80fd5b50610826611890565b6040516108339190612e5d565b60405180910390f35b348015610847575f80fd5b50610850611896565b60405161085d9190612e35565b60405180910390f35b61086e6118a8565b5f6108776109a7565b905080600b8190555080600c8190555050565b6108926118a8565b601e82111580156108a4575060638111155b6108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da906132c9565b60405180910390fd5b81600f81905550806010819055505050565b60606003805461090490613314565b80601f016020809104026020016040519081016040528092919081815260200182805461093090613314565b801561097b5780601f106109525761010080835404028352916020019161097b565b820191905f5260205f20905b81548152906001019060200180831161095e57829003601f168201915b5050505050905090565b5f8061098f611926565b905061099c81858561192d565b600191505092915050565b5f600254905090565b6109b86118a8565b600e5f9054906101000a900460ff1615610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe9061338e565b60405180910390fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9491906133c0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3d91906133c0565b6040518363ffffffff1660e01b8152600401610b5a9291906133eb565b6020604051808303815f875af1158015610b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9a91906133c0565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c0560065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161104c565b610c3160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001611af0565b610c5e307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600a5461192d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cb86050610caa30610ff4565b611b8e90919063ffffffff16565b5f80610cc26110ac565b426040518863ffffffff1660e01b8152600401610ce49695949392919061344b565b60606040518083038185885af1158015610d00573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d2591906134be565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dc492919061350e565b6020604051808303815f875af1158015610de0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e049190613549565b506001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b5f80610e46611926565b9050610e53858285611bf3565b610e5e858585611c7e565b60019150509392505050565b600a5481565b5f6012905090565b610e806118a8565b5f5b8151811015610f0c575f60095f848481518110610ea257610ea1613574565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610f04906135ce565b915050610e82565b5050565b5f80610f1a611926565b9050610f3b818585610f2c8589611780565b610f369190613615565b61192d565b600191505092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110416118a8565b61104a5f612606565b565b6110546118a8565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110e390613314565b80601f016020809104026020016040519081016040528092919081815260200182805461110f90613314565b801561115a5780601f106111315761010080835404028352916020019161115a565b820191905f5260205f20905b81548152906001019060200180831161113d57829003601f168201915b5050505050905090565b61116c6118a8565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906136b8565b60405180910390fd5b6112058282611af0565b5050565b5f80611213611926565b90505f6112208286611780565b905083811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613746565b60405180910390fd5b611272828686840361192d565b60019250505092915050565b5f80611288611926565b9050611295818585611c7e565b600191505092915050565b6112a86118a8565b670de0b6b3a7640000816112bc9190613764565b600d8190555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611305611926565b73ffffffffffffffffffffffffffffffffffffffff1614611324575f80fd5b5f61132d6109a7565b90505f61133930610ff4565b90505f6064848461134a9190613764565b61135491906137d2565b905080821015611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061384c565b60405180910390fd5b6113a2816126c9565b50505050565b6113b06118a8565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161144a9190612e35565b60405180910390a25050565b600b5481565b60105481565b61146a6118a8565b5f5b81518110156114f757600160095f84848151811061148d5761148c613574565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806114ef906135ce565b91505061146c565b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115359190613090565b602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061386a565b90505f81116115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af906138df565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115f8611926565b73ffffffffffffffffffffffffffffffffffffffff1614611617575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead836040518363ffffffff1660e01b815260040161165492919061350e565b6020604051808303815f875af1158015611670573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116949190613549565b505050565b5f47116116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290613947565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171b611926565b73ffffffffffffffffffffffffffffffffffffffff161461173a575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561177d573d5f803e3d5ffd5b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b6118166118a8565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b906139d5565b60405180910390fd5b61188d81612606565b50565b600c5481565b600e5f9054906101000a900460ff1681565b6118b0611926565b73ffffffffffffffffffffffffffffffffffffffff166118ce6110ac565b73ffffffffffffffffffffffffffffffffffffffff1614611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613a3d565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613acb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b59565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae39190612e5d565b60405180910390a3505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f6064821115611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613be7565b60405180910390fd5b60648284611be19190613764565b611beb91906137d2565b905092915050565b5f611bfe8484611780565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c785781811015611c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6190613c4f565b60405180910390fd5b611c77848484840361192d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce390613cdd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5190613d6b565b60405180910390fd5b5f8103611d7157611d6c83835f61291d565b612601565b611d796110ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611de75750611db76110ac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e1f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e59575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e725750600860149054906101000a900460ff16155b156122e55760095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f15575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611f1d575f80fd5b600e5f9054906101000a900460ff1661200b5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fcb575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61200a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200190613dd3565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120a8575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561214f57600b548111156120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990613e61565b60405180910390fd5b600c546120fe83610ff4565b826121099190613615565b111561214a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214190613ec9565b60405180910390fd5b6122e4565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156121ec575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561223b57600b54811115612236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222d90613f57565b60405180910390fd5b6122e3565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166122e257600c5461229583610ff4565b826122a09190613615565b11156122e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d890613ec9565b60405180910390fd5b5b5b5b5b5f6122ef30610ff4565b90505f80821190508080156123105750600e60019054906101000a900460ff165b80156123295750600860149054906101000a900460ff16155b801561237c575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156123cf575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612422575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612466576001600860146101000a81548160ff02191690831515021790555061244b83612b89565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612515575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561251e575f90505b5f81156125f15760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156125a35761259c606461258e60105488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90506125ce565b6125cb60646125bd600f5488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90505b5f8111156125e2576125e187308361291d565b5b80856125ee9190613f75565b94505b6125fc87878761291d565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156126e5576126e4612efe565b5b6040519080825280602002602001820160405280156127135781602001602082028036833780820191505090505b50905030815f8151811061272a57612729613574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f191906133c0565b8160018151811061280557612804613574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461192d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016128ec95949392919061405f565b5f604051808303815f87803b158015612903575f80fd5b505af1158015612915573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361298b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298290613cdd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f090613d6b565b60405180910390fd5b612a04838383612c4d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7e90614127565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b709190612e5d565b60405180910390a3612b83848484612c52565b50505050565b5f612b9330610ff4565b90505f808203612ba4575050612c20565b5f82118015612bb45750600d5482105b15612bc157819050612c14565b5f612bea6064612bdc60105487612c2390919063ffffffff16565b612c3890919063ffffffff16565b90508084612bf89190613f75565b9350600d54841115612c0e57600d549150612c12565b8391505b505b612c1d816126c9565b50505b50565b5f8183612c309190613764565b905092915050565b5f8183612c4591906137d2565b905092915050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612c7a81612c68565b8114612c84575f80fd5b50565b5f81359050612c9581612c71565b92915050565b5f8060408385031215612cb157612cb0612c60565b5b5f612cbe85828601612c87565b9250506020612ccf85828601612c87565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612d10578082015181840152602081019050612cf5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612d3582612cd9565b612d3f8185612ce3565b9350612d4f818560208601612cf3565b612d5881612d1b565b840191505092915050565b5f6020820190508181035f830152612d7b8184612d2b565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dac82612d83565b9050919050565b612dbc81612da2565b8114612dc6575f80fd5b50565b5f81359050612dd781612db3565b92915050565b5f8060408385031215612df357612df2612c60565b5b5f612e0085828601612dc9565b9250506020612e1185828601612c87565b9150509250929050565b5f8115159050919050565b612e2f81612e1b565b82525050565b5f602082019050612e485f830184612e26565b92915050565b612e5781612c68565b82525050565b5f602082019050612e705f830184612e4e565b92915050565b5f805f60608486031215612e8d57612e8c612c60565b5b5f612e9a86828701612dc9565b9350506020612eab86828701612dc9565b9250506040612ebc86828701612c87565b9150509250925092565b5f60ff82169050919050565b612edb81612ec6565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612f3482612d1b565b810181811067ffffffffffffffff82111715612f5357612f52612efe565b5b80604052505050565b5f612f65612c57565b9050612f718282612f2b565b919050565b5f67ffffffffffffffff821115612f9057612f8f612efe565b5b602082029050602081019050919050565b5f80fd5b5f612fb7612fb284612f76565b612f5c565b90508083825260208201905060208402830185811115612fda57612fd9612fa1565b5b835b818110156130035780612fef8882612dc9565b845260208401935050602081019050612fdc565b5050509392505050565b5f82601f83011261302157613020612efa565b5b8135613031848260208601612fa5565b91505092915050565b5f6020828403121561304f5761304e612c60565b5b5f82013567ffffffffffffffff81111561306c5761306b612c64565b5b6130788482850161300d565b91505092915050565b61308a81612da2565b82525050565b5f6020820190506130a35f830184613081565b92915050565b5f602082840312156130be576130bd612c60565b5b5f6130cb84828501612dc9565b91505092915050565b5f819050919050565b5f6130f76130f26130ed84612d83565b6130d4565b612d83565b9050919050565b5f613108826130dd565b9050919050565b5f613119826130fe565b9050919050565b6131298161310f565b82525050565b5f6020820190506131425f830184613120565b92915050565b61315181612e1b565b811461315b575f80fd5b50565b5f8135905061316c81613148565b92915050565b5f806040838503121561318857613187612c60565b5b5f61319585828601612dc9565b92505060206131a68582860161315e565b9150509250929050565b5f602082840312156131c5576131c4612c60565b5b5f6131d284828501612c87565b91505092915050565b5f6131e582612da2565b9050919050565b6131f5816131db565b81146131ff575f80fd5b50565b5f81359050613210816131ec565b92915050565b5f6020828403121561322b5761322a612c60565b5b5f61323884828501613202565b91505092915050565b5f806040838503121561325757613256612c60565b5b5f61326485828601612dc9565b925050602061327585828601612dc9565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132b3601683612ce3565b91506132be8261327f565b602082019050919050565b5f6020820190508181035f8301526132e0816132a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061332b57607f821691505b60208210810361333e5761333d6132e7565b5b50919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613378601783612ce3565b915061338382613344565b602082019050919050565b5f6020820190508181035f8301526133a58161336c565b9050919050565b5f815190506133ba81612db3565b92915050565b5f602082840312156133d5576133d4612c60565b5b5f6133e2848285016133ac565b91505092915050565b5f6040820190506133fe5f830185613081565b61340b6020830184613081565b9392505050565b5f819050919050565b5f61343561343061342b84613412565b6130d4565b612c68565b9050919050565b6134458161341b565b82525050565b5f60c08201905061345e5f830189613081565b61346b6020830188612e4e565b613478604083018761343c565b613485606083018661343c565b6134926080830185613081565b61349f60a0830184612e4e565b979650505050505050565b5f815190506134b881612c71565b92915050565b5f805f606084860312156134d5576134d4612c60565b5b5f6134e2868287016134aa565b93505060206134f3868287016134aa565b9250506040613504868287016134aa565b9150509250925092565b5f6040820190506135215f830185613081565b61352e6020830184612e4e565b9392505050565b5f8151905061354381613148565b92915050565b5f6020828403121561355e5761355d612c60565b5b5f61356b84828501613535565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6135d882612c68565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360a576136096135a1565b5b600182019050919050565b5f61361f82612c68565b915061362a83612c68565b9250828201905080821115613642576136416135a1565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6136a2603983612ce3565b91506136ad82613648565b604082019050919050565b5f6020820190508181035f8301526136cf81613696565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613730602583612ce3565b915061373b826136d6565b604082019050919050565b5f6020820190508181035f83015261375d81613724565b9050919050565b5f61376e82612c68565b915061377983612c68565b925082820261378781612c68565b9150828204841483151761379e5761379d6135a1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137dc82612c68565b91506137e783612c68565b9250826137f7576137f66137a5565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000005f82015250565b5f613836601183612ce3565b915061384182613802565b602082019050919050565b5f6020820190508181035f8301526138638161382a565b9050919050565b5f6020828403121561387f5761387e612c60565b5b5f61388c848285016134aa565b91505092915050565b7f546f6b656e3a206e6f20746f6b656e7320746f206275726e00000000000000005f82015250565b5f6138c9601883612ce3565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613931601683612ce3565b915061393c826138fd565b602082019050919050565b5f6020820190508181035f83015261395e81613925565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139bf602683612ce3565b91506139ca82613965565b604082019050919050565b5f6020820190508181035f8301526139ec816139b3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a27602083612ce3565b9150613a32826139f3565b602082019050919050565b5f6020820190508181035f830152613a5481613a1b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ab5602483612ce3565b9150613ac082613a5b565b604082019050919050565b5f6020820190508181035f830152613ae281613aa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b43602283612ce3565b9150613b4e82613ae9565b604082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f50657263656e74616765206d757374206265206265747765656e203020616e645f8201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b5f613bd1602483612ce3565b9150613bdc82613b77565b604082019050919050565b5f6020820190508181035f830152613bfe81613bc5565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c39601d83612ce3565b9150613c4482613c05565b602082019050919050565b5f6020820190508181035f830152613c6681613c2d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613cc7602583612ce3565b9150613cd282613c6d565b604082019050919050565b5f6020820190508181035f830152613cf481613cbb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613d55602383612ce3565b9150613d6082613cfb565b604082019050919050565b5f6020820190508181035f830152613d8281613d49565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613dbd601683612ce3565b9150613dc882613d89565b602082019050919050565b5f6020820190508181035f830152613dea81613db1565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613e4b603583612ce3565b9150613e5682613df1565b604082019050919050565b5f6020820190508181035f830152613e7881613e3f565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613eb3601383612ce3565b9150613ebe82613e7f565b602082019050919050565b5f6020820190508181035f830152613ee081613ea7565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613f41603683612ce3565b9150613f4c82613ee7565b604082019050919050565b5f6020820190508181035f830152613f6e81613f35565b9050919050565b5f613f7f82612c68565b9150613f8a83612c68565b9250828203905081811115613fa257613fa16135a1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613fda81612da2565b82525050565b5f613feb8383613fd1565b60208301905092915050565b5f602082019050919050565b5f61400d82613fa8565b6140178185613fb2565b935061402283613fc2565b805f5b838110156140525781516140398882613fe0565b975061404483613ff7565b925050600181019050614025565b5085935050505092915050565b5f60a0820190506140725f830188612e4e565b61407f602083018761343c565b81810360408301526140918186614003565b90506140a06060830185613081565b6140ad6080830184612e4e565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614111602683612ce3565b915061411c826140b7565b604082019050919050565b5f6020820190508181035f83015261413e81614105565b905091905056fea2646970667358221220d484d268f3c1d5e84bf753585e39b9be7ab0ef0f08e4b8fa504d1874b623ec3064736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fa5e9af38821db9b5e1463d0d4c5d0a220d6d570
-----Decoded View---------------
Arg [0] : wallet (address): 0xfA5E9Af38821Db9B5E1463d0D4c5D0A220d6D570
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fa5e9af38821db9b5e1463d0d4c5d0a220d6d570
Deployed Bytecode Sourcemap
14667:9209:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21708:196;;;;;;;;;;;;;:::i;:::-;;23022:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9895:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10827:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10216:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16785:740;;;;;;;;;;;;;:::i;:::-;;11036:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15155:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10115:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18672:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11305:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14805:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18363:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14746:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15422:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;994:103;;;;;;;;;;;;;:::i;:::-;;17531:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;759:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10003:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17896:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11551:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10467:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22472:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22607:407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17706:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15215:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15495:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18497:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22146:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21912:226;;;;;;;;;;;;;:::i;:::-;;10668:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15462:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15324:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1105:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15275:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15384:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21708:196;718:13;:11;:13::i;:::-;21764:25:::1;21792:13;:11;:13::i;:::-;21764:41;;21839:17;21816:20;:40;;;;21879:17;21867:9;:29;;;;21753:151;21708:196::o:0;23022:211::-;718:13;:11;:13::i;:::-;23122:2:::1;23111:7;:13;;:31;;;;;23140:2;23128:8;:14;;23111:31;23103:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;23189:7;23180:6;:16;;;;23217:8;23207:7;:18;;;;23022:211:::0;;:::o;9895:100::-;9949:13;9982:5;9975:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9895:100;:::o;10827:201::-;10910:4;10927:13;10943:12;:10;:12::i;:::-;10927:28;;10966:32;10975:5;10982:7;10991:6;10966:8;:32::i;:::-;11016:4;11009:11;;;10827:201;;;;:::o;10216:108::-;10277:7;10304:12;;10297:19;;10216:108;:::o;16785:740::-;718:13;:11;:13::i;:::-;16850:11:::1;;;;;;;;;;;16849:12;16841:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16933:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16915:56;;;16980:4;16987:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16915:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16899:13;;:112;;;;;;;;;;;;;;;;;;17022:55;17056:13;;;;;;;;;;;17072:4;17022:25;:55::i;:::-;17088:58;17125:13;;;;;;;;;;;17141:4;17088:28;:58::i;:::-;17157:70;17174:4;17189:16;17208:18;;17157:8;:70::i;:::-;17238:16;:32;;;17278:21;17309:4;17315:32;17344:2;17315:24;17333:4;17315:9;:24::i;:::-;:28;;:32;;;;:::i;:::-;17348:1;17350::::0;17352:7:::1;:5;:7::i;:::-;17360:15;17238:138;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17394:13;;;;;;;;;;;17387:29;;;17425:16;17444:14;17387:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17484:4;17470:11;;:18;;;;;;;;;;;;;;;;;;17513:4;17499:11;;:18;;;;;;;;;;;;;;;;;;16785:740::o:0;11036:261::-;11133:4;11150:15;11168:12;:10;:12::i;:::-;11150:30;;11191:38;11207:4;11213:7;11222:6;11191:15;:38::i;:::-;11240:27;11250:4;11256:2;11260:6;11240:9;:27::i;:::-;11285:4;11278:11;;;11036:261;;;;;:::o;15155:53::-;;;;:::o;10115:93::-;10173:5;10198:2;10191:9;;10115:93;:::o;18672:171::-;718:13;:11;:13::i;:::-;18747:9:::1;18742:94;18766:6;:13;18762:1;:17;18742:94;;;18819:5;18801:4;:15;18806:6;18813:1;18806:9;;;;;;;;:::i;:::-;;;;;;;;18801:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;18781:3;;;;;:::i;:::-;;;;18742:94;;;;18672:171:::0;:::o;11305:238::-;11393:4;11410:13;11426:12;:10;:12::i;:::-;11410:28;;11449:64;11458:5;11465:7;11502:10;11474:25;11484:5;11491:7;11474:9;:25::i;:::-;:38;;;;:::i;:::-;11449:8;:64::i;:::-;11531:4;11524:11;;;11305:238;;;;:::o;14805:28::-;;;;;;;;;;;;;:::o;18363:126::-;18429:4;18453:19;:28;18473:7;18453:28;;;;;;;;;;;;;;;;;;;;;;;;;18446:35;;18363:126;;;:::o;14746:52::-;;;:::o;15422:31::-;;;;;;;;;;;;;:::o;10332:127::-;10406:7;10433:9;:18;10443:7;10433:18;;;;;;;;;;;;;;;;10426:25;;10332:127;;;:::o;994:103::-;718:13;:11;:13::i;:::-;1059:30:::1;1086:1;1059:18;:30::i;:::-;994:103::o:0;17531:167::-;718:13;:11;:13::i;:::-;17686:4:::1;17644:31;:39;17676:6;17644:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;17531:167:::0;;:::o;759:87::-;805:7;832:6;;;;;;;;;;;825:13;;759:87;:::o;10003:104::-;10059:13;10092:7;10085:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10003:104;:::o;17896:265::-;718:13;:11;:13::i;:::-;18026::::1;;;;;;;;;;;18018:21;;:4;:21;;::::0;18010:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18112:41;18141:4;18147:5;18112:28;:41::i;:::-;17896:265:::0;;:::o;11551:436::-;11644:4;11661:13;11677:12;:10;:12::i;:::-;11661:28;;11700:24;11727:25;11737:5;11744:7;11727:9;:25::i;:::-;11700:52;;11791:15;11771:16;:35;;11763:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11884:60;11893:5;11900:7;11928:15;11909:16;:34;11884:8;:60::i;:::-;11975:4;11968:11;;;;11551:436;;;;:::o;10467:193::-;10546:4;10563:13;10579:12;:10;:12::i;:::-;10563:28;;10602;10612:5;10619:2;10623:6;10602:9;:28::i;:::-;10648:4;10641:11;;;10467:193;;;;:::o;22472:127::-;718:13;:11;:13::i;:::-;22582:8:::1;22571:7;:20;;;;:::i;:::-;22550:18;:41;;;;22472:127:::0;:::o;22607:407::-;22688:15;;;;;;;;;;;22672:31;;:12;:10;:12::i;:::-;:31;;;22664:40;;;;;;22715:25;22743:13;:11;:13::i;:::-;22715:41;;22767:23;22793:24;22811:4;22793:9;:24::i;:::-;22767:50;;22828:23;22884:3;22874:7;22854:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;22828:59;;22925:15;22906;:34;;22898:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;22973:33;22990:15;22973:16;:33::i;:::-;22653:361;;;22607:407;:::o;17706:182::-;718:13;:11;:13::i;:::-;17822:8:::1;17791:19;:28;17811:7;17791:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;17862:7;17846:34;;;17871:8;17846:34;;;;;;:::i;:::-;;;;;;;;17706:182:::0;;:::o;15215:53::-;;;;:::o;15495:27::-;;;;:::o;18497:167::-;718:13;:11;:13::i;:::-;18571:9:::1;18566:91;18590:5;:12;18586:1;:16;18566:91;;;18641:4;18624;:14;18629:5;18635:1;18629:8;;;;;;;;:::i;:::-;;;;;;;;18624:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18604:3;;;;;:::i;:::-;;;;18566:91;;;;18497:167:::0;:::o;22146:318::-;22213:23;22239:12;:22;;;22270:4;22239:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22213:63;;22313:1;22295:15;:19;22287:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;22378:15;;;;;;;;;;;22362:31;;:12;:10;:12::i;:::-;:31;;;22354:40;;;;;;22405:12;:21;;;14962:6;22440:15;22405:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22202:262;22146:318;:::o;21912:226::-;21989:1;21965:21;:25;21957:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22052:15;;;;;;;;;;;22036:31;;:12;:10;:12::i;:::-;:31;;;22028:40;;;;;;22087:10;22079:28;;:51;22108:21;22079:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21912:226::o;10668:151::-;10757:7;10784:11;:18;10796:5;10784:18;;;;;;;;;;;;;;;:27;10803:7;10784:27;;;;;;;;;;;;;;;;10777:34;;10668:151;;;;:::o;15462:26::-;;;;:::o;15324:51::-;;;;:::o;1105:201::-;718:13;:11;:13::i;:::-;1214:1:::1;1194:22;;:8;:22;;::::0;1186:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1270:28;1289:8;1270:18;:28::i;:::-;1105:201:::0;:::o;15275:42::-;;;;:::o;15384:31::-;;;;;;;;;;;;;:::o;854:132::-;929:12;:10;:12::i;:::-;918:23;;:7;:5;:7::i;:::-;:23;;;910:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;854:132::o;232:98::-;285:7;312:10;305:17;;232:98;:::o;13690:346::-;13809:1;13792:19;;:5;:19;;;13784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13890:1;13871:21;;:7;:21;;;13863:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13974:6;13944:11;:18;13956:5;13944:18;;;;;;;;;;;;;;;:27;13963:7;13944:27;;;;;;;;;;;;;;;:36;;;;14012:7;13996:32;;14005:5;13996:32;;;14021:6;13996:32;;;;;;:::i;:::-;;;;;;;;13690:346;;;:::o;18169:186::-;18286:5;18252:25;:31;18278:4;18252:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18341:5;18307:40;;18335:4;18307:40;;;;;;;;;;;;18169:186;;:::o;8884:172::-;8942:7;8975:3;8970:1;:8;;8962:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9045:3;9041:1;9037;:5;;;;:::i;:::-;:11;;;;:::i;:::-;9030:18;;8884:172;;;;:::o;14044:419::-;14145:24;14172:25;14182:5;14189:7;14172:9;:25::i;:::-;14145:52;;14232:17;14212:16;:37;14208:248;;14294:6;14274:16;:26;;14266:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14378:51;14387:5;14394:7;14422:6;14403:16;:25;14378:8;:51::i;:::-;14208:248;14134:329;14044:419;;;:::o;18851:2363::-;18965:1;18949:18;;:4;:18;;;18941:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19042:1;19028:16;;:2;:16;;;19020:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19119:1;19109:6;:11;19105:93;;19137:28;19153:4;19159:2;19163:1;19137:15;:28::i;:::-;19180:7;;19105:93;19222:7;:5;:7::i;:::-;19214:15;;:4;:15;;;;:32;;;;;19239:7;:5;:7::i;:::-;19233:13;;:2;:13;;;;19214:32;:52;;;;;19264:1;19250:16;;:2;:16;;;;19214:52;:77;;;;;19284:6;19270:21;;:2;:21;;;;19214:77;:90;;;;;19296:8;;;;;;;;;;;19295:9;19214:90;19210:1044;;;19330:4;:10;19335:4;19330:10;;;;;;;;;;;;;;;;;;;;;;;;;19329:11;:24;;;;;19345:4;:8;19350:2;19345:8;;;;;;;;;;;;;;;;;;;;;;;;;19344:9;19329:24;19321:33;;;;;;19376:11;;;;;;;;;;;19371:140;;19416:19;:25;19436:4;19416:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;19445:19;:23;19465:2;19445:23;;;;;;;;;;;;;;;;;;;;;;;;;19416:52;19408:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;19371:140;19531:25;:31;19557:4;19531:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19567:31;:35;19599:2;19567:35;;;;;;;;;;;;;;;;;;;;;;;;;19566:36;19531:71;19527:716;;;19655:20;;19645:6;:30;;19637:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;19786:9;;19769:13;19779:2;19769:9;:13::i;:::-;19760:6;:22;;;;:::i;:::-;:35;;19752:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19527:716;;;19860:25;:29;19886:2;19860:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19894:31;:37;19926:4;19894:37;;;;;;;;;;;;;;;;;;;;;;;;;19893:38;19860:71;19856:387;;;19970:20;;19960:6;:30;;19952:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;19856:387;;;20104:31;:35;20136:2;20104:35;;;;;;;;;;;;;;;;;;;;;;;;;20099:144;;20194:9;;20177:13;20187:2;20177:9;:13::i;:::-;20168:6;:22;;;;:::i;:::-;:35;;20160:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20099:144;19856:387;19527:716;19210:1044;20266:28;20297:24;20315:4;20297:9;:24::i;:::-;20266:55;;20334:12;20372:1;20349:20;:24;20334:39;;20390:7;:22;;;;;20401:11;;;;;;;;;;;20390:22;:35;;;;;20417:8;;;;;;;;;;;20416:9;20390:35;:71;;;;;20430:25;:31;20456:4;20430:31;;;;;;;;;;;;;;;;;;;;;;;;;20429:32;20390:71;:101;;;;;20466:19;:25;20486:4;20466:25;;;;;;;;;;;;;;;;;;;;;;;;;20465:26;20390:101;:129;;;;;20496:19;:23;20516:2;20496:23;;;;;;;;;;;;;;;;;;;;;;;;;20495:24;20390:129;20386:239;;;20547:4;20536:8;;:15;;;;;;;;;;;;;;;;;;20566:16;20575:6;20566:8;:16::i;:::-;20608:5;20597:8;;:16;;;;;;;;;;;;;;;;;;20386:239;20637:12;20653:8;;;;;;;;;;;20652:9;20637:24;;20678:19;:25;20698:4;20678:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20707:19;:23;20727:2;20707:23;;;;;;;;;;;;;;;;;;;;;;;;;20678:52;20674:100;;;20757:5;20747:15;;20674:100;20786:12;20819:7;20815:348;;;20847:25;:29;20873:2;20847:29;;;;;;;;;;;;;;;;;;;;;;;;;20843:193;;;20904:28;20928:3;20904:19;20915:7;;20904:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;20897:35;;20843:193;;;20993:27;21016:3;20993:18;21004:6;;20993;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;20986:34;;20843:193;21059:1;21052:4;:8;21048:83;;;21077:42;21093:4;21107;21114;21077:15;:42::i;:::-;21048:83;21151:4;21141:14;;;;;:::i;:::-;;;20815:348;21173:33;21189:4;21195:2;21199:6;21173:15;:33::i;:::-;18930:2284;;;;18851:2363;;;;:::o;1314:191::-;1388:16;1407:6;;;;;;;;;;;1388:25;;1433:8;1424:6;;:17;;;;;;;;;;;;;;;;;;1488:8;1457:40;;1478:8;1457:40;;;;;;;;;;;;1377:128;1314:191;:::o;21222:478::-;21290:21;21328:1;21314:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21290:40;;21359:4;21341;21346:1;21341:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21385:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21375:4;21380:1;21375:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;21419:63;21436:4;21451:16;21470:11;21419:8;:63::i;:::-;21493:16;:67;;;21575:11;21601:1;21617:4;21636:15;;;;;;;;;;;21666;21493:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21277:423;21222:478;:::o;11995:641::-;12108:1;12092:18;;:4;:18;;;12084:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12185:1;12171:16;;:2;:16;;;12163:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12240:38;12261:4;12267:2;12271:6;12240:20;:38::i;:::-;12291:19;12313:9;:15;12323:4;12313:15;;;;;;;;;;;;;;;;12291:37;;12362:6;12347:11;:21;;12339:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12479:6;12465:11;:20;12447:9;:15;12457:4;12447:15;;;;;;;;;;;;;;;:38;;;;12517:6;12500:9;:13;12510:2;12500:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12567:2;12552:26;;12561:4;12552:26;;;12571:6;12552:26;;;;;;:::i;:::-;;;;;;;;12591:37;12611:4;12617:2;12621:6;12591:19;:37::i;:::-;12073:563;11995:641;;;:::o;23241:632::-;23294:23;23320:24;23338:4;23320:9;:24::i;:::-;23294:50;;23355:20;23405:1;23386:15;:20;23382:449;;23419:7;;;;23382:449;23466:1;23448:15;:19;:59;;;;;23489:18;;23471:15;:36;23448:59;23445:386;;;23535:15;23520:30;;23445:386;;;23580:21;23604:28;23628:3;23604:19;23615:7;;23604:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23580:52;;23653:13;23643:23;;;;;:::i;:::-;;;23690:18;;23681:6;:27;23677:147;;;23740:18;;23725:33;;23677:147;;;23806:6;23791:21;;23677:147;23569:262;23445:386;23837:30;23854:12;23837:16;:30::i;:::-;23283:590;;23241:632;;:::o;8352:98::-;8410:7;8441:1;8437;:5;;;;:::i;:::-;8430:12;;8352:98;;;;:::o;8458:::-;8516:7;8547:1;8543;:5;;;;:::i;:::-;8536:12;;8458:98;;;;:::o;14471:91::-;;;;:::o;14570:90::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:117::-;5442:1;5439;5432:12;5456:180;5504:77;5501:1;5494:88;5601:4;5598:1;5591:15;5625:4;5622:1;5615:15;5642:281;5725:27;5747:4;5725:27;:::i;:::-;5717:6;5713:40;5855:6;5843:10;5840:22;5819:18;5807:10;5804:34;5801:62;5798:88;;;5866:18;;:::i;:::-;5798:88;5906:10;5902:2;5895:22;5685:238;5642:281;;:::o;5929:129::-;5963:6;5990:20;;:::i;:::-;5980:30;;6019:33;6047:4;6039:6;6019:33;:::i;:::-;5929:129;;;:::o;6064:311::-;6141:4;6231:18;6223:6;6220:30;6217:56;;;6253:18;;:::i;:::-;6217:56;6303:4;6295:6;6291:17;6283:25;;6363:4;6357;6353:15;6345:23;;6064:311;;;:::o;6381:117::-;6490:1;6487;6480:12;6521:710;6617:5;6642:81;6658:64;6715:6;6658:64;:::i;:::-;6642:81;:::i;:::-;6633:90;;6743:5;6772:6;6765:5;6758:21;6806:4;6799:5;6795:16;6788:23;;6859:4;6851:6;6847:17;6839:6;6835:30;6888:3;6880:6;6877:15;6874:122;;;6907:79;;:::i;:::-;6874:122;7022:6;7005:220;7039:6;7034:3;7031:15;7005:220;;;7114:3;7143:37;7176:3;7164:10;7143:37;:::i;:::-;7138:3;7131:50;7210:4;7205:3;7201:14;7194:21;;7081:144;7065:4;7060:3;7056:14;7049:21;;7005:220;;;7009:21;6623:608;;6521:710;;;;;:::o;7254:370::-;7325:5;7374:3;7367:4;7359:6;7355:17;7351:27;7341:122;;7382:79;;:::i;:::-;7341:122;7499:6;7486:20;7524:94;7614:3;7606:6;7599:4;7591:6;7587:17;7524:94;:::i;:::-;7515:103;;7331:293;7254:370;;;;:::o;7630:539::-;7714:6;7763:2;7751:9;7742:7;7738:23;7734:32;7731:119;;;7769:79;;:::i;:::-;7731:119;7917:1;7906:9;7902:17;7889:31;7947:18;7939:6;7936:30;7933:117;;;7969:79;;:::i;:::-;7933:117;8074:78;8144:7;8135:6;8124:9;8120:22;8074:78;:::i;:::-;8064:88;;7860:302;7630:539;;;;:::o;8175:118::-;8262:24;8280:5;8262:24;:::i;:::-;8257:3;8250:37;8175:118;;:::o;8299:222::-;8392:4;8430:2;8419:9;8415:18;8407:26;;8443:71;8511:1;8500:9;8496:17;8487:6;8443:71;:::i;:::-;8299:222;;;;:::o;8527:329::-;8586:6;8635:2;8623:9;8614:7;8610:23;8606:32;8603:119;;;8641:79;;:::i;:::-;8603:119;8761:1;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8732:117;8527:329;;;;:::o;8862:60::-;8890:3;8911:5;8904:12;;8862:60;;;:::o;8928:142::-;8978:9;9011:53;9029:34;9038:24;9056:5;9038:24;:::i;:::-;9029:34;:::i;:::-;9011:53;:::i;:::-;8998:66;;8928:142;;;:::o;9076:126::-;9126:9;9159:37;9190:5;9159:37;:::i;:::-;9146:50;;9076:126;;;:::o;9208:152::-;9284:9;9317:37;9348:5;9317:37;:::i;:::-;9304:50;;9208:152;;;:::o;9366:183::-;9479:63;9536:5;9479:63;:::i;:::-;9474:3;9467:76;9366:183;;:::o;9555:274::-;9674:4;9712:2;9701:9;9697:18;9689:26;;9725:97;9819:1;9808:9;9804:17;9795:6;9725:97;:::i;:::-;9555:274;;;;:::o;9835:116::-;9905:21;9920:5;9905:21;:::i;:::-;9898:5;9895:32;9885:60;;9941:1;9938;9931:12;9885:60;9835:116;:::o;9957:133::-;10000:5;10038:6;10025:20;10016:29;;10054:30;10078:5;10054:30;:::i;:::-;9957:133;;;;:::o;10096:468::-;10161:6;10169;10218:2;10206:9;10197:7;10193:23;10189:32;10186:119;;;10224:79;;:::i;:::-;10186:119;10344:1;10369:53;10414:7;10405:6;10394:9;10390:22;10369:53;:::i;:::-;10359:63;;10315:117;10471:2;10497:50;10539:7;10530:6;10519:9;10515:22;10497:50;:::i;:::-;10487:60;;10442:115;10096:468;;;;;:::o;10570:329::-;10629:6;10678:2;10666:9;10657:7;10653:23;10649:32;10646:119;;;10684:79;;:::i;:::-;10646:119;10804:1;10829:53;10874:7;10865:6;10854:9;10850:22;10829:53;:::i;:::-;10819:63;;10775:117;10570:329;;;;:::o;10905:110::-;10956:7;10985:24;11003:5;10985:24;:::i;:::-;10974:35;;10905:110;;;:::o;11021:150::-;11108:38;11140:5;11108:38;:::i;:::-;11101:5;11098:49;11088:77;;11161:1;11158;11151:12;11088:77;11021:150;:::o;11177:167::-;11237:5;11275:6;11262:20;11253:29;;11291:47;11332:5;11291:47;:::i;:::-;11177:167;;;;:::o;11350:357::-;11423:6;11472:2;11460:9;11451:7;11447:23;11443:32;11440:119;;;11478:79;;:::i;:::-;11440:119;11598:1;11623:67;11682:7;11673:6;11662:9;11658:22;11623:67;:::i;:::-;11613:77;;11569:131;11350:357;;;;:::o;11713:474::-;11781:6;11789;11838:2;11826:9;11817:7;11813:23;11809:32;11806:119;;;11844:79;;:::i;:::-;11806:119;11964:1;11989:53;12034:7;12025:6;12014:9;12010:22;11989:53;:::i;:::-;11979:63;;11935:117;12091:2;12117:53;12162:7;12153:6;12142:9;12138:22;12117:53;:::i;:::-;12107:63;;12062:118;11713:474;;;;;:::o;12193:172::-;12333:24;12329:1;12321:6;12317:14;12310:48;12193:172;:::o;12371:366::-;12513:3;12534:67;12598:2;12593:3;12534:67;:::i;:::-;12527:74;;12610:93;12699:3;12610:93;:::i;:::-;12728:2;12723:3;12719:12;12712:19;;12371:366;;;:::o;12743:419::-;12909:4;12947:2;12936:9;12932:18;12924:26;;12996:9;12990:4;12986:20;12982:1;12971:9;12967:17;12960:47;13024:131;13150:4;13024:131;:::i;:::-;13016:139;;12743:419;;;:::o;13168:180::-;13216:77;13213:1;13206:88;13313:4;13310:1;13303:15;13337:4;13334:1;13327:15;13354:320;13398:6;13435:1;13429:4;13425:12;13415:22;;13482:1;13476:4;13472:12;13503:18;13493:81;;13559:4;13551:6;13547:17;13537:27;;13493:81;13621:2;13613:6;13610:14;13590:18;13587:38;13584:84;;13640:18;;:::i;:::-;13584:84;13405:269;13354:320;;;:::o;13680:173::-;13820:25;13816:1;13808:6;13804:14;13797:49;13680:173;:::o;13859:366::-;14001:3;14022:67;14086:2;14081:3;14022:67;:::i;:::-;14015:74;;14098:93;14187:3;14098:93;:::i;:::-;14216:2;14211:3;14207:12;14200:19;;13859:366;;;:::o;14231:419::-;14397:4;14435:2;14424:9;14420:18;14412:26;;14484:9;14478:4;14474:20;14470:1;14459:9;14455:17;14448:47;14512:131;14638:4;14512:131;:::i;:::-;14504:139;;14231:419;;;:::o;14656:143::-;14713:5;14744:6;14738:13;14729:22;;14760:33;14787:5;14760:33;:::i;:::-;14656:143;;;;:::o;14805:351::-;14875:6;14924:2;14912:9;14903:7;14899:23;14895:32;14892:119;;;14930:79;;:::i;:::-;14892:119;15050:1;15075:64;15131:7;15122:6;15111:9;15107:22;15075:64;:::i;:::-;15065:74;;15021:128;14805:351;;;;:::o;15162:332::-;15283:4;15321:2;15310:9;15306:18;15298:26;;15334:71;15402:1;15391:9;15387:17;15378:6;15334:71;:::i;:::-;15415:72;15483:2;15472:9;15468:18;15459:6;15415:72;:::i;:::-;15162:332;;;;;:::o;15500:85::-;15545:7;15574:5;15563:16;;15500:85;;;:::o;15591:158::-;15649:9;15682:61;15700:42;15709:32;15735:5;15709:32;:::i;:::-;15700:42;:::i;:::-;15682:61;:::i;:::-;15669:74;;15591:158;;;:::o;15755:147::-;15850:45;15889:5;15850:45;:::i;:::-;15845:3;15838:58;15755:147;;:::o;15908:807::-;16157:4;16195:3;16184:9;16180:19;16172:27;;16209:71;16277:1;16266:9;16262:17;16253:6;16209:71;:::i;:::-;16290:72;16358:2;16347:9;16343:18;16334:6;16290:72;:::i;:::-;16372:80;16448:2;16437:9;16433:18;16424:6;16372:80;:::i;:::-;16462;16538:2;16527:9;16523:18;16514:6;16462:80;:::i;:::-;16552:73;16620:3;16609:9;16605:19;16596:6;16552:73;:::i;:::-;16635;16703:3;16692:9;16688:19;16679:6;16635:73;:::i;:::-;15908:807;;;;;;;;;:::o;16721:143::-;16778:5;16809:6;16803:13;16794:22;;16825:33;16852:5;16825:33;:::i;:::-;16721:143;;;;:::o;16870:663::-;16958:6;16966;16974;17023:2;17011:9;17002:7;16998:23;16994:32;16991:119;;;17029:79;;:::i;:::-;16991:119;17149:1;17174:64;17230:7;17221:6;17210:9;17206:22;17174:64;:::i;:::-;17164:74;;17120:128;17287:2;17313:64;17369:7;17360:6;17349:9;17345:22;17313:64;:::i;:::-;17303:74;;17258:129;17426:2;17452:64;17508:7;17499:6;17488:9;17484:22;17452:64;:::i;:::-;17442:74;;17397:129;16870:663;;;;;:::o;17539:332::-;17660:4;17698:2;17687:9;17683:18;17675:26;;17711:71;17779:1;17768:9;17764:17;17755:6;17711:71;:::i;:::-;17792:72;17860:2;17849:9;17845:18;17836:6;17792:72;:::i;:::-;17539:332;;;;;:::o;17877:137::-;17931:5;17962:6;17956:13;17947:22;;17978:30;18002:5;17978:30;:::i;:::-;17877:137;;;;:::o;18020:345::-;18087:6;18136:2;18124:9;18115:7;18111:23;18107:32;18104:119;;;18142:79;;:::i;:::-;18104:119;18262:1;18287:61;18340:7;18331:6;18320:9;18316:22;18287:61;:::i;:::-;18277:71;;18233:125;18020:345;;;;:::o;18371:180::-;18419:77;18416:1;18409:88;18516:4;18513:1;18506:15;18540:4;18537:1;18530:15;18557:180;18605:77;18602:1;18595:88;18702:4;18699:1;18692:15;18726:4;18723:1;18716:15;18743:233;18782:3;18805:24;18823:5;18805:24;:::i;:::-;18796:33;;18851:66;18844:5;18841:77;18838:103;;18921:18;;:::i;:::-;18838:103;18968:1;18961:5;18957:13;18950:20;;18743:233;;;:::o;18982:191::-;19022:3;19041:20;19059:1;19041:20;:::i;:::-;19036:25;;19075:20;19093:1;19075:20;:::i;:::-;19070:25;;19118:1;19115;19111:9;19104:16;;19139:3;19136:1;19133:10;19130:36;;;19146:18;;:::i;:::-;19130:36;18982:191;;;;:::o;19179:244::-;19319:34;19315:1;19307:6;19303:14;19296:58;19388:27;19383:2;19375:6;19371:15;19364:52;19179:244;:::o;19429:366::-;19571:3;19592:67;19656:2;19651:3;19592:67;:::i;:::-;19585:74;;19668:93;19757:3;19668:93;:::i;:::-;19786:2;19781:3;19777:12;19770:19;;19429:366;;;:::o;19801:419::-;19967:4;20005:2;19994:9;19990:18;19982:26;;20054:9;20048:4;20044:20;20040:1;20029:9;20025:17;20018:47;20082:131;20208:4;20082:131;:::i;:::-;20074:139;;19801:419;;;:::o;20226:224::-;20366:34;20362:1;20354:6;20350:14;20343:58;20435:7;20430:2;20422:6;20418:15;20411:32;20226:224;:::o;20456:366::-;20598:3;20619:67;20683:2;20678:3;20619:67;:::i;:::-;20612:74;;20695:93;20784:3;20695:93;:::i;:::-;20813:2;20808:3;20804:12;20797:19;;20456:366;;;:::o;20828:419::-;20994:4;21032:2;21021:9;21017:18;21009:26;;21081:9;21075:4;21071:20;21067:1;21056:9;21052:17;21045:47;21109:131;21235:4;21109:131;:::i;:::-;21101:139;;20828:419;;;:::o;21253:410::-;21293:7;21316:20;21334:1;21316:20;:::i;:::-;21311:25;;21350:20;21368:1;21350:20;:::i;:::-;21345:25;;21405:1;21402;21398:9;21427:30;21445:11;21427:30;:::i;:::-;21416:41;;21606:1;21597:7;21593:15;21590:1;21587:22;21567:1;21560:9;21540:83;21517:139;;21636:18;;:::i;:::-;21517:139;21301:362;21253:410;;;;:::o;21669:180::-;21717:77;21714:1;21707:88;21814:4;21811:1;21804:15;21838:4;21835:1;21828:15;21855:185;21895:1;21912:20;21930:1;21912:20;:::i;:::-;21907:25;;21946:20;21964:1;21946:20;:::i;:::-;21941:25;;21985:1;21975:35;;21990:18;;:::i;:::-;21975:35;22032:1;22029;22025:9;22020:14;;21855:185;;;;:::o;22046:167::-;22186:19;22182:1;22174:6;22170:14;22163:43;22046:167;:::o;22219:366::-;22361:3;22382:67;22446:2;22441:3;22382:67;:::i;:::-;22375:74;;22458:93;22547:3;22458:93;:::i;:::-;22576:2;22571:3;22567:12;22560:19;;22219:366;;;:::o;22591:419::-;22757:4;22795:2;22784:9;22780:18;22772:26;;22844:9;22838:4;22834:20;22830:1;22819:9;22815:17;22808:47;22872:131;22998:4;22872:131;:::i;:::-;22864:139;;22591:419;;;:::o;23016:351::-;23086:6;23135:2;23123:9;23114:7;23110:23;23106:32;23103:119;;;23141:79;;:::i;:::-;23103:119;23261:1;23286:64;23342:7;23333:6;23322:9;23318:22;23286:64;:::i;:::-;23276:74;;23232:128;23016:351;;;;:::o;23373:174::-;23513:26;23509:1;23501:6;23497:14;23490:50;23373:174;:::o;23553:366::-;23695:3;23716:67;23780:2;23775:3;23716:67;:::i;:::-;23709:74;;23792:93;23881:3;23792:93;:::i;:::-;23910:2;23905:3;23901:12;23894:19;;23553:366;;;:::o;23925:419::-;24091:4;24129:2;24118:9;24114:18;24106:26;;24178:9;24172:4;24168:20;24164:1;24153:9;24149:17;24142:47;24206:131;24332:4;24206:131;:::i;:::-;24198:139;;23925:419;;;:::o;24350:172::-;24490:24;24486:1;24478:6;24474:14;24467:48;24350:172;:::o;24528:366::-;24670:3;24691:67;24755:2;24750:3;24691:67;:::i;:::-;24684:74;;24767:93;24856:3;24767:93;:::i;:::-;24885:2;24880:3;24876:12;24869:19;;24528:366;;;:::o;24900:419::-;25066:4;25104:2;25093:9;25089:18;25081:26;;25153:9;25147:4;25143:20;25139:1;25128:9;25124:17;25117:47;25181:131;25307:4;25181:131;:::i;:::-;25173:139;;24900:419;;;:::o;25325:225::-;25465:34;25461:1;25453:6;25449:14;25442:58;25534:8;25529:2;25521:6;25517:15;25510:33;25325:225;:::o;25556:366::-;25698:3;25719:67;25783:2;25778:3;25719:67;:::i;:::-;25712:74;;25795:93;25884:3;25795:93;:::i;:::-;25913:2;25908:3;25904:12;25897:19;;25556:366;;;:::o;25928:419::-;26094:4;26132:2;26121:9;26117:18;26109:26;;26181:9;26175:4;26171:20;26167:1;26156:9;26152:17;26145:47;26209:131;26335:4;26209:131;:::i;:::-;26201:139;;25928:419;;;:::o;26353:182::-;26493:34;26489:1;26481:6;26477:14;26470:58;26353:182;:::o;26541:366::-;26683:3;26704:67;26768:2;26763:3;26704:67;:::i;:::-;26697:74;;26780:93;26869:3;26780:93;:::i;:::-;26898:2;26893:3;26889:12;26882:19;;26541:366;;;:::o;26913:419::-;27079:4;27117:2;27106:9;27102:18;27094:26;;27166:9;27160:4;27156:20;27152:1;27141:9;27137:17;27130:47;27194:131;27320:4;27194:131;:::i;:::-;27186:139;;26913:419;;;:::o;27338:223::-;27478:34;27474:1;27466:6;27462:14;27455:58;27547:6;27542:2;27534:6;27530:15;27523:31;27338:223;:::o;27567:366::-;27709:3;27730:67;27794:2;27789:3;27730:67;:::i;:::-;27723:74;;27806:93;27895:3;27806:93;:::i;:::-;27924:2;27919:3;27915:12;27908:19;;27567:366;;;:::o;27939:419::-;28105:4;28143:2;28132:9;28128:18;28120:26;;28192:9;28186:4;28182:20;28178:1;28167:9;28163:17;28156:47;28220:131;28346:4;28220:131;:::i;:::-;28212:139;;27939:419;;;:::o;28364:221::-;28504:34;28500:1;28492:6;28488:14;28481:58;28573:4;28568:2;28560:6;28556:15;28549:29;28364:221;:::o;28591:366::-;28733:3;28754:67;28818:2;28813:3;28754:67;:::i;:::-;28747:74;;28830:93;28919:3;28830:93;:::i;:::-;28948:2;28943:3;28939:12;28932:19;;28591:366;;;:::o;28963:419::-;29129:4;29167:2;29156:9;29152:18;29144:26;;29216:9;29210:4;29206:20;29202:1;29191:9;29187:17;29180:47;29244:131;29370:4;29244:131;:::i;:::-;29236:139;;28963:419;;;:::o;29388:223::-;29528:34;29524:1;29516:6;29512:14;29505:58;29597:6;29592:2;29584:6;29580:15;29573:31;29388:223;:::o;29617:366::-;29759:3;29780:67;29844:2;29839:3;29780:67;:::i;:::-;29773:74;;29856:93;29945:3;29856:93;:::i;:::-;29974:2;29969:3;29965:12;29958:19;;29617:366;;;:::o;29989:419::-;30155:4;30193:2;30182:9;30178:18;30170:26;;30242:9;30236:4;30232:20;30228:1;30217:9;30213:17;30206:47;30270:131;30396:4;30270:131;:::i;:::-;30262:139;;29989:419;;;:::o;30414:179::-;30554:31;30550:1;30542:6;30538:14;30531:55;30414:179;:::o;30599:366::-;30741:3;30762:67;30826:2;30821:3;30762:67;:::i;:::-;30755:74;;30838:93;30927:3;30838:93;:::i;:::-;30956:2;30951:3;30947:12;30940:19;;30599:366;;;:::o;30971:419::-;31137:4;31175:2;31164:9;31160:18;31152:26;;31224:9;31218:4;31214:20;31210:1;31199:9;31195:17;31188:47;31252:131;31378:4;31252:131;:::i;:::-;31244:139;;30971:419;;;:::o;31396:224::-;31536:34;31532:1;31524:6;31520:14;31513:58;31605:7;31600:2;31592:6;31588:15;31581:32;31396:224;:::o;31626:366::-;31768:3;31789:67;31853:2;31848:3;31789:67;:::i;:::-;31782:74;;31865:93;31954:3;31865:93;:::i;:::-;31983:2;31978:3;31974:12;31967:19;;31626:366;;;:::o;31998:419::-;32164:4;32202:2;32191:9;32187:18;32179:26;;32251:9;32245:4;32241:20;32237:1;32226:9;32222:17;32215:47;32279:131;32405:4;32279:131;:::i;:::-;32271:139;;31998:419;;;:::o;32423:222::-;32563:34;32559:1;32551:6;32547:14;32540:58;32632:5;32627:2;32619:6;32615:15;32608:30;32423:222;:::o;32651:366::-;32793:3;32814:67;32878:2;32873:3;32814:67;:::i;:::-;32807:74;;32890:93;32979:3;32890:93;:::i;:::-;33008:2;33003:3;32999:12;32992:19;;32651:366;;;:::o;33023:419::-;33189:4;33227:2;33216:9;33212:18;33204:26;;33276:9;33270:4;33266:20;33262:1;33251:9;33247:17;33240:47;33304:131;33430:4;33304:131;:::i;:::-;33296:139;;33023:419;;;:::o;33448:172::-;33588:24;33584:1;33576:6;33572:14;33565:48;33448:172;:::o;33626:366::-;33768:3;33789:67;33853:2;33848:3;33789:67;:::i;:::-;33782:74;;33865:93;33954:3;33865:93;:::i;:::-;33983:2;33978:3;33974:12;33967:19;;33626:366;;;:::o;33998:419::-;34164:4;34202:2;34191:9;34187:18;34179:26;;34251:9;34245:4;34241:20;34237:1;34226:9;34222:17;34215:47;34279:131;34405:4;34279:131;:::i;:::-;34271:139;;33998:419;;;:::o;34423:240::-;34563:34;34559:1;34551:6;34547:14;34540:58;34632:23;34627:2;34619:6;34615:15;34608:48;34423:240;:::o;34669:366::-;34811:3;34832:67;34896:2;34891:3;34832:67;:::i;:::-;34825:74;;34908:93;34997:3;34908:93;:::i;:::-;35026:2;35021:3;35017:12;35010:19;;34669:366;;;:::o;35041:419::-;35207:4;35245:2;35234:9;35230:18;35222:26;;35294:9;35288:4;35284:20;35280:1;35269:9;35265:17;35258:47;35322:131;35448:4;35322:131;:::i;:::-;35314:139;;35041:419;;;:::o;35466:169::-;35606:21;35602:1;35594:6;35590:14;35583:45;35466:169;:::o;35641:366::-;35783:3;35804:67;35868:2;35863:3;35804:67;:::i;:::-;35797:74;;35880:93;35969:3;35880:93;:::i;:::-;35998:2;35993:3;35989:12;35982:19;;35641:366;;;:::o;36013:419::-;36179:4;36217:2;36206:9;36202:18;36194:26;;36266:9;36260:4;36256:20;36252:1;36241:9;36237:17;36230:47;36294:131;36420:4;36294:131;:::i;:::-;36286:139;;36013:419;;;:::o;36438:241::-;36578:34;36574:1;36566:6;36562:14;36555:58;36647:24;36642:2;36634:6;36630:15;36623:49;36438:241;:::o;36685:366::-;36827:3;36848:67;36912:2;36907:3;36848:67;:::i;:::-;36841:74;;36924:93;37013:3;36924:93;:::i;:::-;37042:2;37037:3;37033:12;37026:19;;36685:366;;;:::o;37057:419::-;37223:4;37261:2;37250:9;37246:18;37238:26;;37310:9;37304:4;37300:20;37296:1;37285:9;37281:17;37274:47;37338:131;37464:4;37338:131;:::i;:::-;37330:139;;37057:419;;;:::o;37482:194::-;37522:4;37542:20;37560:1;37542:20;:::i;:::-;37537:25;;37576:20;37594:1;37576:20;:::i;:::-;37571:25;;37620:1;37617;37613:9;37605:17;;37644:1;37638:4;37635:11;37632:37;;;37649:18;;:::i;:::-;37632:37;37482:194;;;;:::o;37682:114::-;37749:6;37783:5;37777:12;37767:22;;37682:114;;;:::o;37802:184::-;37901:11;37935:6;37930:3;37923:19;37975:4;37970:3;37966:14;37951:29;;37802:184;;;;:::o;37992:132::-;38059:4;38082:3;38074:11;;38112:4;38107:3;38103:14;38095:22;;37992:132;;;:::o;38130:108::-;38207:24;38225:5;38207:24;:::i;:::-;38202:3;38195:37;38130:108;;:::o;38244:179::-;38313:10;38334:46;38376:3;38368:6;38334:46;:::i;:::-;38412:4;38407:3;38403:14;38389:28;;38244:179;;;;:::o;38429:113::-;38499:4;38531;38526:3;38522:14;38514:22;;38429:113;;;:::o;38578:732::-;38697:3;38726:54;38774:5;38726:54;:::i;:::-;38796:86;38875:6;38870:3;38796:86;:::i;:::-;38789:93;;38906:56;38956:5;38906:56;:::i;:::-;38985:7;39016:1;39001:284;39026:6;39023:1;39020:13;39001:284;;;39102:6;39096:13;39129:63;39188:3;39173:13;39129:63;:::i;:::-;39122:70;;39215:60;39268:6;39215:60;:::i;:::-;39205:70;;39061:224;39048:1;39045;39041:9;39036:14;;39001:284;;;39005:14;39301:3;39294:10;;38702:608;;;38578:732;;;;:::o;39316:831::-;39579:4;39617:3;39606:9;39602:19;39594:27;;39631:71;39699:1;39688:9;39684:17;39675:6;39631:71;:::i;:::-;39712:80;39788:2;39777:9;39773:18;39764:6;39712:80;:::i;:::-;39839:9;39833:4;39829:20;39824:2;39813:9;39809:18;39802:48;39867:108;39970:4;39961:6;39867:108;:::i;:::-;39859:116;;39985:72;40053:2;40042:9;40038:18;40029:6;39985:72;:::i;:::-;40067:73;40135:3;40124:9;40120:19;40111:6;40067:73;:::i;:::-;39316:831;;;;;;;;:::o;40153:225::-;40293:34;40289:1;40281:6;40277:14;40270:58;40362:8;40357:2;40349:6;40345:15;40338:33;40153:225;:::o;40384:366::-;40526:3;40547:67;40611:2;40606:3;40547:67;:::i;:::-;40540:74;;40623:93;40712:3;40623:93;:::i;:::-;40741:2;40736:3;40732:12;40725:19;;40384:366;;;:::o;40756:419::-;40922:4;40960:2;40949:9;40945:18;40937:26;;41009:9;41003:4;40999:20;40995:1;40984:9;40980:17;40973:47;41037:131;41163:4;41037:131;:::i;:::-;41029:139;;40756:419;;;:::o
Swarm Source
ipfs://d484d268f3c1d5e84bf753585e39b9be7ab0ef0f08e4b8fa504d1874b623ec30
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.