More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 169 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19114198 | 326 days ago | IN | 0 ETH | 0.00043513 | ||||
Approve | 16607015 | 678 days ago | IN | 0 ETH | 0.00091298 | ||||
Approve | 16584741 | 681 days ago | IN | 0 ETH | 0.00201066 | ||||
Approve | 16583097 | 681 days ago | IN | 0 ETH | 0.00111598 | ||||
Approve | 16582846 | 681 days ago | IN | 0 ETH | 0.00118322 | ||||
Approve | 16561411 | 684 days ago | IN | 0 ETH | 0.00089257 | ||||
Approve | 16503456 | 692 days ago | IN | 0 ETH | 0.0003411 | ||||
Approve | 16503455 | 692 days ago | IN | 0 ETH | 0.00034724 | ||||
Approve | 16503443 | 692 days ago | IN | 0 ETH | 0.00064611 | ||||
Approve | 16503439 | 692 days ago | IN | 0 ETH | 0.00037986 | ||||
Approve | 16503435 | 692 days ago | IN | 0 ETH | 0.0006766 | ||||
Approve | 16463370 | 698 days ago | IN | 0 ETH | 0.00102155 | ||||
Approve | 16437983 | 701 days ago | IN | 0 ETH | 0.00082646 | ||||
Approve | 16437969 | 701 days ago | IN | 0 ETH | 0.0009128 | ||||
Approve | 16436309 | 702 days ago | IN | 0 ETH | 0.00106321 | ||||
Approve | 16435444 | 702 days ago | IN | 0 ETH | 0.00141825 | ||||
Approve | 16434771 | 702 days ago | IN | 0 ETH | 0.00438412 | ||||
Approve | 16434624 | 702 days ago | IN | 0 ETH | 0.0012372 | ||||
Approve | 16432393 | 702 days ago | IN | 0 ETH | 0.00072102 | ||||
Approve | 16432157 | 702 days ago | IN | 0 ETH | 0.00082799 | ||||
Approve | 16432121 | 702 days ago | IN | 0 ETH | 0.00081012 | ||||
Approve | 16431782 | 702 days ago | IN | 0 ETH | 0.00071976 | ||||
Approve | 16431672 | 702 days ago | IN | 0 ETH | 0.00074266 | ||||
Approve | 16430987 | 702 days ago | IN | 0 ETH | 0.00093234 | ||||
Approve | 16430297 | 703 days ago | IN | 0 ETH | 0.00124644 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
16646262 | 672 days ago | 0.00016545 ETH | ||||
16646262 | 672 days ago | 0.00049635 ETH | ||||
16646262 | 672 days ago | 0.00016545 ETH | ||||
16646262 | 672 days ago | 0.00082726 ETH | ||||
16646250 | 672 days ago | 0.00034847 ETH | ||||
16646250 | 672 days ago | 0.00104543 ETH | ||||
16646250 | 672 days ago | 0.00034847 ETH | ||||
16646250 | 672 days ago | 0.00174239 ETH | ||||
16646242 | 672 days ago | 0.00073189 ETH | ||||
16646242 | 672 days ago | 0.00219567 ETH | ||||
16646242 | 672 days ago | 0.00073189 ETH | ||||
16646242 | 672 days ago | 0.00365945 ETH | ||||
16646232 | 672 days ago | 0.00153537 ETH | ||||
16646232 | 672 days ago | 0.00460613 ETH | ||||
16646232 | 672 days ago | 0.00153537 ETH | ||||
16646232 | 672 days ago | 0.00767689 ETH | ||||
16646219 | 672 days ago | 0.00301797 ETH | ||||
16646219 | 672 days ago | 0.00905392 ETH | ||||
16646219 | 672 days ago | 0.00301797 ETH | ||||
16646219 | 672 days ago | 0.01508986 ETH | ||||
16603047 | 678 days ago | 0.00045255 ETH | ||||
16603047 | 678 days ago | 0.00135766 ETH | ||||
16603047 | 678 days ago | 0.00045255 ETH | ||||
16603047 | 678 days ago | 0.00226277 ETH | ||||
16463376 | 698 days ago | 0.0012523 ETH |
Loading...
Loading
Contract Name:
FlirtyAIBot
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-16 */ // SPDX-License-Identifier: unlicensed /* Flirty AI BOT - Next Trending AI and Valentines coin on ETH! V1 bot released on launch day + integration with Tinder soon TG: https://t.me/FlirtyAIBot Website: https://flirtyai.com/ Twitter: FlirtyAIBot */ pragma solidity ^0.8.6; interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } function getUnlockTime() public view returns (uint256) { return _lockTime; } function Ownershiplock(uint256 time) public virtual onlyOwner { _previousOwner = owner; owner = address(0); _lockTime = block.timestamp + time; emit OwnershipTransferred(owner, address(0)); } function Ownershipunlock() public virtual { require(_previousOwner == msg.sender, "You don't have permission to unlock"); require(block.timestamp > _lockTime , "Contract is locked"); emit OwnershipTransferred(owner, _previousOwner); owner = _previousOwner; } } /** * Router Interfaces */ interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { 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 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 Code */ contract FlirtyAIBot is ERC20, Ownable { address WBNB = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "Flirty AI"; // string constant _symbol = "Flirty AI"; // uint8 constant _decimals = 9; uint256 _totalSupply = 1 * 10**9 * 10**_decimals; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; // Detailed Fees uint256 public liquidityFee; uint256 public devFee; uint256 public marketingFee; uint256 public buybackFee; uint256 public totalFee; uint256 public BuyliquidityFee = 1; uint256 public BuydevFee = 65; uint256 public BuymarketingFee = 5; uint256 public BuybuybackFee = 15; uint256 public BuytotalFee = BuyliquidityFee + BuydevFee + BuymarketingFee + BuybuybackFee; uint256 public SellliquidityFee = 1; uint256 public SelldevFee = 65; uint256 public SellmarketingFee = 5; uint256 public SellbuybackFee = 15; uint256 public SelltotalFee = SellliquidityFee + SelldevFee + SellmarketingFee + SellbuybackFee; // Max wallet & Transaction uint256 public _maxBuyTxAmount = _totalSupply / (100) * (1); // 1% uint256 public _maxSellTxAmount = _totalSupply / (100) * (1); // 1% uint256 public _maxWalletToken = _totalSupply / (100) * (1); // 1% // Fees receivers address public autoLiquidityReceiver = 0x1709ea8D12041732B45e70d951595357F64f9469; address public marketingFeeReceiver = 0x1709ea8D12041732B45e70d951595357F64f9469; address public devFeeReceiver = 0x4364eFfabeE2a2c9b67B781eB01EC4ECC7da00a2; address public buybackFeeReceiver = 0x4364eFfabeE2a2c9b67B781eB01EC4ECC7da00a2; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000 * 1; // 0.1% uint256 public maxSwapSize = _totalSupply / 100 * 1; //1% uint256 public tokensToSell; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IDEXFactory(router.factory()).createPair(WBNB, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(sender == pair){ buyFees(); } if(recipient == pair){ sellFees(); } if (sender != owner && recipient != address(this) && recipient != address(DEAD) && recipient != pair || isTxLimitExempt[recipient]){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} // Checks max transaction limit if(sender == pair){ require(amount <= _maxBuyTxAmount || isTxLimitExempt[recipient], "TX Limit Exceeded"); } if(recipient == pair){ require(amount <= _maxSellTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } //Exchange tokens if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender] - amount; uint256 amountReceived = shouldTakeFee(sender) ? takeFee(recipient, amount) : amount; _balances[recipient] = _balances[recipient] + amountReceived; emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + (amount); emit Transfer(sender, recipient, amount); return true; } // Internal Functions function buyFees() internal{ liquidityFee = BuyliquidityFee; devFee = BuydevFee; marketingFee = BuymarketingFee; buybackFee = BuybuybackFee; totalFee = BuytotalFee; } function sellFees() internal{ liquidityFee = SellliquidityFee; devFee = SelldevFee; marketingFee = SellmarketingFee; buybackFee = SellbuybackFee; totalFee = SelltotalFee; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount / 100 * (totalFee); _balances[address(this)] = _balances[address(this)] + (feeAmount); emit Transfer(sender, address(this), feeAmount); return amount - (feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= maxSwapSize){ tokensToSell = maxSwapSize; } else{ tokensToSell = contractTokenBalance; } uint256 amountToLiquify = tokensToSell / (totalFee) * (liquidityFee) / (2); uint256 amountToSwap = tokensToSell - (amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WBNB; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance - (balanceBefore); uint256 totalBNBFee = totalFee - (liquidityFee / (2)); uint256 amountBNBLiquidity = amountBNB * (liquidityFee) / (totalBNBFee) / (2); uint256 amountBNBbuyback = amountBNB * (buybackFee) / (totalBNBFee); uint256 amountBNBMarketing = amountBNB * (marketingFee) / (totalBNBFee); uint256 amountBNBDev = amountBNB - amountBNBLiquidity - amountBNBbuyback - amountBNBMarketing; (bool MarketingSuccess,) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); (bool buybackSuccess,) = payable(buybackFeeReceiver).call{value: amountBNBbuyback, gas: 30000}(""); require(buybackSuccess, "receiver rejected ETH transfer"); (bool devSuccess,) = payable(devFeeReceiver).call{value: amountBNBDev, gas: 30000}(""); require(devSuccess, "receiver rejected ETH transfer"); addLiquidity(amountToLiquify, amountBNBLiquidity); } function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private { if(tokenAmount > 0){ router.addLiquidityETH{value: bnbAmount}( address(this), tokenAmount, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(bnbAmount, tokenAmount); } } // External Functions function checkSwapThreshold() external view returns (uint256) { return swapThreshold; } function checkMaxWalletToken() external view returns (uint256) { return _maxWalletToken; } function checkMaxBuyTxAmount() external view returns (uint256) { return _maxBuyTxAmount; } function checkMaxSellTxAmount() external view returns (uint256) { return _maxSellTxAmount; } function isNotInSwap() external view returns (bool) { return !inSwap; } // Only Owner allowed function setBuyFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee) external onlyOwner { BuyliquidityFee = _liquidityFee; BuybuybackFee = _buybackFee; BuymarketingFee = _marketingFee; BuydevFee = _devFee; BuytotalFee = _liquidityFee + (_buybackFee) + (_marketingFee) + (_devFee); } function setSellFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee) external onlyOwner { SellliquidityFee = _liquidityFee; SellbuybackFee = _buybackFee; SellmarketingFee = _marketingFee; SelldevFee = _devFee; SelltotalFee = _liquidityFee + (_buybackFee) + (_marketingFee) + (_devFee); } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _buybackFeeReceiver, address _devFeeReceiver) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; buybackFeeReceiver = _buybackFeeReceiver; devFeeReceiver = _devFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _percentage_min_base10000, uint256 _percentage_max_base10000) external onlyOwner { swapEnabled = _enabled; swapThreshold = _totalSupply / (10000) * (_percentage_min_base10000); maxSwapSize = _totalSupply / (10000) * (_percentage_max_base10000); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner { _maxWalletToken = _totalSupply / (1000) * (maxWallPercent_base1000); } function setMaxBuyTxPercent_base1000(uint256 maxBuyTXPercentage_base1000) external onlyOwner { _maxBuyTxAmount = _totalSupply / (1000) * (maxBuyTXPercentage_base1000); } function setMaxSellTxPercent_base1000(uint256 maxSellTXPercentage_base1000) external onlyOwner { _maxSellTxAmount = _totalSupply / (1000) * (maxSellTXPercentage_base1000); } // Stuck Balances Functions function rescueToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) { return ERC20(tokenAddress).transfer(msg.sender, tokens); } function clearStuckBalance(uint256 amountPercentage) external onlyOwner { uint256 amountBNB = address(this).balance; payable(msg.sender).transfer(amountBNB * amountPercentage / 100); } event AutoLiquify(uint256 amountBNB, uint256 amountTokens); }
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":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuybuybackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BuydevFee","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":"BuytotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"Ownershiplock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Ownershipunlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SellbuybackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SelldevFee","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":"SelltotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSellTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkMaxBuyTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkMaxSellTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkMaxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNotInSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuyTXPercentage_base1000","type":"uint256"}],"name":"setMaxBuyTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSellTXPercentage_base1000","type":"uint256"}],"name":"setMaxSellTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_percentage_min_base10000","type":"uint256"},{"internalType":"uint256","name":"_percentage_max_base10000","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensToSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ee9190620009b5565b633b9aca00620000ff919062000af2565b600655600160105560416011556005601255600f6013556013546012546011546010546200012e9190620008c5565b6200013a9190620008c5565b620001469190620008c5565b601455600160155560416016556005601755600f601855601854601754601654601554620001759190620008c5565b620001819190620008c5565b6200018d9190620008c5565b60195560016064600654620001a3919062000922565b620001af919062000af2565b601a5560016064600654620001c5919062000922565b620001d1919062000af2565b601b5560016064600654620001e7919062000922565b620001f3919062000af2565b601c55731709ea8d12041732b45e70d951595357f64f9469601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731709ea8d12041732b45e70d951595357f64f9469601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734364effabee2a2c9b67b781eb01ec4ecc7da00a2601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734364effabee2a2c9b67b781eb01ec4ecc7da00a2602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001602260146101000a81548160ff02191690831515021790555060016103e860065462000379919062000922565b62000385919062000af2565b602355600160646006546200039b919062000922565b620003a7919062000af2565b602455348015620003b757600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004b857600080fd5b505afa158015620004cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f3919062000827565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620005519291906200087b565b602060405180830381600087803b1580156200056c57600080fd5b505af115801562000581573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a7919062000827565b602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600654600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620008029190620008a8565b60405180910390a362000c28565b600081519050620008218162000c0e565b92915050565b60006020828403121562000840576200083f62000bfc565b5b6000620008508482850162000810565b91505092915050565b620008648162000b53565b82525050565b620008758162000b87565b82525050565b600060408201905062000892600083018562000859565b620008a1602083018462000859565b9392505050565b6000602082019050620008bf60008301846200086a565b92915050565b6000620008d28262000b87565b9150620008df8362000b87565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000917576200091662000b9e565b5b828201905092915050565b60006200092f8262000b87565b91506200093c8362000b87565b9250826200094f576200094e62000bcd565b5b828204905092915050565b6000808291508390505b6001851115620009ac5780860481111562000984576200098362000b9e565b5b6001851615620009945780820291505b8081029050620009a48562000c01565b945062000964565b94509492505050565b6000620009c28262000b87565b9150620009cf8362000b91565b9250620009fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a06565b905092915050565b60008262000a18576001905062000aeb565b8162000a28576000905062000aeb565b816001811462000a41576002811462000a4c5762000a82565b600191505062000aeb565b60ff84111562000a615762000a6062000b9e565b5b8360020a91508482111562000a7b5762000a7a62000b9e565b5b5062000aeb565b5060208310610133831016604e8410600b841016171562000abc5782820a90508381111562000ab65762000ab562000b9e565b5b62000aeb565b62000acb84848460016200095a565b9250905081840481111562000ae55762000ae462000b9e565b5b81810290505b9392505050565b600062000aff8262000b87565b915062000b0c8362000b87565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b485762000b4762000b9e565b5b828202905092915050565b600062000b608262000b67565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000c198162000b53565b811462000c2557600080fd5b50565b6140668062000c386000396000f3fe6080604052600436106103b15760003560e01c80636ddd1713116101e7578063ab00d68d1161010d578063e96fada2116100a0578063f7baf3c51161006f578063f7baf3c514610e19578063f84ba65d14610e30578063f887ea4014610e59578063fc44ed4814610e84576103b8565b8063e96fada214610d6f578063e99090c114610d9a578063ea19e4a814610dc5578063f2fde38b14610df0576103b8565b8063d0889358116100dc578063d088935814610cb3578063dab84ee714610cdc578063dd62ed3e14610d07578063e9563dfd14610d44576103b8565b8063ab00d68d14610c07578063b43b783514610c32578063ca33e64c14610c5d578063cf4be39414610c88576103b8565b8063893d20e81161018557806398118cb41161015457806398118cb414610b4b578063a4e1307114610b76578063a8aa1b3114610b9f578063a9059cbb14610bca576103b8565b8063893d20e814610a8f5780638b42507f14610aba57806395d89b4114610af757806396c99f5b14610b22576103b8565b806378109e54116101c157806378109e54146109e35780637fbcedff14610a0e57806383b4ac6814610a3957806384b1d1ef14610a64576103b8565b80636ddd17131461095057806370a082311461097b5780637724555f146109b8576103b8565b8063391e73a3116102d7578063602bc62b1161026a5780636b67c4df116102395780636b67c4df146108a65780636c5b2855146108d15780636d351d1a146108fa5780636d796e8814610925576103b8565b8063602bc62b146107fc5780636533e39314610827578063658d4b7f146108525780636827e7641461087b576103b8565b80633f4218e0116102a65780633f4218e01461072c5780634f28cac214610769578063541b4de714610794578063571ac8b0146107bf576103b8565b8063391e73a3146106825780633b2d081c146106ad5780633c8e556d146106d85780633d95669114610701576103b8565b80631898cab21161034f5780632f54bf6e1161031e5780632f54bf6e146105b2578063313ce567146105ef578063334773271461061a57806333f3d62814610645576103b8565b80631898cab2146104f65780631da1db5e146105215780631df4ccfc1461054a57806323b872dd14610575576103b8565b8063095ea7b31161038b578063095ea7b31461043c578063154d4abb14610479578063178d9b8e146104a257806318160ddd146104cb576103b8565b80630445b667146103bd57806306fdde03146103e857806309302dc614610413576103b8565b366103b857005b600080fd5b3480156103c957600080fd5b506103d2610eaf565b6040516103df9190613a99565b60405180910390f35b3480156103f457600080fd5b506103fd610eb5565b60405161040a9190613997565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190613590565b610ef2565b005b34801561044857600080fd5b50610463600480360381019061045e91906134d0565b610f5e565b6040516104709190613961565b60405180910390f35b34801561048557600080fd5b506104a0600480360381019061049b9190613590565b611050565b005b3480156104ae57600080fd5b506104c960048036038101906104c49190613610565b6110bc565b005b3480156104d757600080fd5b506104e061114e565b6040516104ed9190613a99565b60405180910390f35b34801561050257600080fd5b5061050b611158565b6040516105189190613a99565b60405180910390f35b34801561052d57600080fd5b5061054860048036038101906105439190613590565b611162565b005b34801561055657600080fd5b5061055f611211565b60405161056c9190613a99565b60405180910390f35b34801561058157600080fd5b5061059c6004803603810190610597919061343d565b611217565b6040516105a99190613961565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d49190613369565b6113d9565b6040516105e69190613961565b60405180910390f35b3480156105fb57600080fd5b50610604611432565b6040516106119190613b37565b60405180910390f35b34801561062657600080fd5b5061062f61143b565b60405161063c9190613a99565b60405180910390f35b34801561065157600080fd5b5061066c600480360381019061066791906134d0565b611441565b6040516106799190613961565b60405180910390f35b34801561068e57600080fd5b50610697611520565b6040516106a49190613a99565b60405180910390f35b3480156106b957600080fd5b506106c2611526565b6040516106cf9190613a99565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa91906133d6565b61152c565b005b34801561070d57600080fd5b5061071661167e565b6040516107239190613a99565b60405180910390f35b34801561073857600080fd5b50610753600480360381019061074e9190613369565b611684565b6040516107609190613961565b60405180910390f35b34801561077557600080fd5b5061077e6116a4565b60405161078b9190613a99565b60405180910390f35b3480156107a057600080fd5b506107a96116aa565b6040516107b69190613a99565b60405180910390f35b3480156107cb57600080fd5b506107e660048036038101906107e19190613369565b6116b4565b6040516107f39190613961565b60405180910390f35b34801561080857600080fd5b506108116116e7565b60405161081e9190613a99565b60405180910390f35b34801561083357600080fd5b5061083c6116f1565b6040516108499190613a99565b60405180910390f35b34801561085e57600080fd5b5061087960048036038101906108749190613490565b6116f7565b005b34801561088757600080fd5b5061089061179a565b60405161089d9190613a99565b60405180910390f35b3480156108b257600080fd5b506108bb6117a0565b6040516108c89190613a99565b60405180910390f35b3480156108dd57600080fd5b506108f860048036038101906108f39190613610565b6117a6565b005b34801561090657600080fd5b5061090f611838565b60405161091c9190613a99565b60405180910390f35b34801561093157600080fd5b5061093a611842565b6040516109479190613a99565b60405180910390f35b34801561095c57600080fd5b50610965611848565b6040516109729190613961565b60405180910390f35b34801561098757600080fd5b506109a2600480360381019061099d9190613369565b61185b565b6040516109af9190613a99565b60405180910390f35b3480156109c457600080fd5b506109cd6118a4565b6040516109da9190613a99565b60405180910390f35b3480156109ef57600080fd5b506109f86118aa565b604051610a059190613a99565b60405180910390f35b348015610a1a57600080fd5b50610a236118b0565b604051610a309190613a99565b60405180910390f35b348015610a4557600080fd5b50610a4e6118b6565b604051610a5b9190613961565b60405180910390f35b348015610a7057600080fd5b50610a796118ce565b604051610a8691906138bc565b60405180910390f35b348015610a9b57600080fd5b50610aa46118f4565b604051610ab191906138bc565b60405180910390f35b348015610ac657600080fd5b50610ae16004803603810190610adc9190613369565b61191d565b604051610aee9190613961565b60405180910390f35b348015610b0357600080fd5b50610b0c61193d565b604051610b199190613997565b60405180910390f35b348015610b2e57600080fd5b50610b496004803603810190610b449190613590565b61197a565b005b348015610b5757600080fd5b50610b606119e6565b604051610b6d9190613a99565b60405180910390f35b348015610b8257600080fd5b50610b9d6004803603810190610b989190613590565b6119ec565b005b348015610bab57600080fd5b50610bb4611b66565b604051610bc191906138bc565b60405180910390f35b348015610bd657600080fd5b50610bf16004803603810190610bec91906134d0565b611b8c565b604051610bfe9190613961565b60405180910390f35b348015610c1357600080fd5b50610c1c611ba1565b604051610c299190613a99565b60405180910390f35b348015610c3e57600080fd5b50610c47611ba7565b604051610c549190613a99565b60405180910390f35b348015610c6957600080fd5b50610c72611bb1565b604051610c7f91906138bc565b60405180910390f35b348015610c9457600080fd5b50610c9d611bd7565b604051610caa9190613a99565b60405180910390f35b348015610cbf57600080fd5b50610cda6004803603810190610cd5919061353d565b611bdd565b005b348015610ce857600080fd5b50610cf1611c86565b604051610cfe91906138bc565b60405180910390f35b348015610d1357600080fd5b50610d2e6004803603810190610d299190613396565b611cac565b604051610d3b9190613a99565b60405180910390f35b348015610d5057600080fd5b50610d59611d33565b604051610d669190613a99565b60405180910390f35b348015610d7b57600080fd5b50610d84611d39565b604051610d9191906138bc565b60405180910390f35b348015610da657600080fd5b50610daf611d5f565b604051610dbc9190613a99565b60405180910390f35b348015610dd157600080fd5b50610dda611d65565b604051610de79190613a99565b60405180910390f35b348015610dfc57600080fd5b50610e176004803603810190610e129190613369565b611d6b565b005b348015610e2557600080fd5b50610e2e611ee0565b005b348015610e3c57600080fd5b50610e576004803603810190610e529190613490565b6120b4565b005b348015610e6557600080fd5b50610e6e612157565b604051610e7b919061397c565b60405180910390f35b348015610e9057600080fd5b50610e9961217d565b604051610ea69190613a99565b60405180910390f35b60235481565b60606040518060400160405280600981526020017f466c697274792041490000000000000000000000000000000000000000000000815250905090565b610efb336113d9565b610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190613a39565b60405180910390fd5b806103e8600654610f4b9190613c08565b610f559190613c39565b601c8190555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161103e9190613a99565b60405180910390a36001905092915050565b611059336113d9565b611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f90613a39565b60405180910390fd5b806103e86006546110a99190613c08565b6110b39190613c39565b601a8190555050565b6110c5336113d9565b611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90613a39565b60405180910390fd5b836010819055508260138190555081601281905550806011819055508082848661112e9190613bb2565b6111389190613bb2565b6111429190613bb2565b60148190555050505050565b6000600654905090565b6000601a54905090565b61116b336113d9565b6111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190613a39565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc606484846111d79190613c39565b6111e19190613c08565b9081150290604051600060405180830381858888f1935050505015801561120c573d6000803e3d6000fd5b505050565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146113c55781600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113449190613c93565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6113d0848484612183565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b601a5481565b600061144c336113d9565b61148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290613a39565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016114c69291906138d7565b602060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190613510565b905092915050565b60145481565b600e5481565b611535336113d9565b611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90613a39565b60405180910390fd5b83601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60255481565b60096020528060005260406000206000915054906101000a900460ff1681565b60245481565b6000601b54905090565b60006116e0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610f5e565b9050919050565b6000600254905090565b60115481565b611700336113d9565b61173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690613a39565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b600d5481565b6117af336113d9565b6117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e590613a39565b60405180910390fd5b83601581905550826018819055508160178190555080601681905550808284866118189190613bb2565b6118229190613bb2565b61182c9190613bb2565b60198190555050505050565b6000602354905090565b60175481565b602260149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60195481565b601c5481565b60125481565b6000602660009054906101000a900460ff1615905090565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b60606040518060400160405280600981526020017f466c697274792041490000000000000000000000000000000000000000000000815250905090565b611983336113d9565b6119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990613a39565b60405180910390fd5b806103e86006546119d39190613c08565b6119dd9190613c39565b601b8190555050565b600b5481565b6119f5336113d9565b611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b90613a39565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508042611ae29190613bb2565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b99338484612183565b905092915050565b60165481565b6000601c54905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b611be6336113d9565b611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1c90613a39565b60405180910390fd5b82602260146101000a81548160ff02191690831515021790555081612710600654611c509190613c08565b611c5a9190613c39565b60238190555080612710600654611c719190613c08565b611c7b9190613c39565b602481905550505050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b60105481565b611d74336113d9565b611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90613a39565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1a906139d9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6790613a79565b60405180910390fd5b6002544211611fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fab90613a59565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6120bd336113d9565b6120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f390613a39565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b6000602660009054906101000a900460ff16156121ac576121a5848484612804565b90506127fd565b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561220b5761220a612992565b5b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576122696129c1565b5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122f257503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561234c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123a65750602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b806123fa5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561245e57600061240a8461185b565b9050601c54838261241b9190613bb2565b111561245c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245390613a19565b60405180910390fd5b505b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561254e57601a548211158061250e5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61254d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612544906139b9565b60405180910390fd5b5b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561263e57601b54821115806125fe5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61263d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612634906139b9565b60405180910390fd5b5b6126466129f0565b1561265457612653612ac7565b5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269f9190613c93565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006126ed8561305d565b6126f75782612702565b61270184846130b4565b5b905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274f9190613bb2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127ef9190613a99565b60405180910390a360019150505b9392505050565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128519190613c93565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128df9190613bb2565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161297f9190613a99565b60405180910390a3600190509392505050565b601054600b81905550601154600c81905550601254600d81905550601354600e81905550601454600f81905550565b601554600b81905550601654600c81905550601754600d81905550601854600e81905550601954600f81905550565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612a5d5750602660009054906101000a900460ff16155b8015612a755750602260149054906101000a900460ff165b8015612ac25750602354600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602660006101000a81548160ff0219169083151502179055506000612aed3061185b565b90506024548110612b0657602454602581905550612b0e565b806025819055505b60006002600b54600f54602554612b259190613c08565b612b2f9190613c39565b612b399190613c08565b9050600081602554612b4b9190613c93565b90506000600267ffffffffffffffff811115612b6a57612b69613e12565b5b604051908082528060200260200182016040528015612b985781602001602082028036833780820191505090505b5090503081600081518110612bb057612baf613de3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612c2157612c20613de3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401612cc4959493929190613ab4565b600060405180830381600087803b158015612cde57600080fd5b505af1158015612cf2573d6000803e3d6000fd5b5050505060008147612d049190613c93565b905060006002600b54612d179190613c08565b600f54612d249190613c93565b90506000600282600b5485612d399190613c39565b612d439190613c08565b612d4d9190613c08565b9050600082600e5485612d609190613c39565b612d6a9190613c08565b9050600083600d5486612d7d9190613c39565b612d879190613c08565b9050600081838588612d999190613c93565b612da39190613c93565b612dad9190613c93565b90506000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051612dfb906138a7565b600060405180830381858888f193505050503d8060008114612e39576040519150601f19603f3d011682016040523d82523d6000602084013e612e3e565b606091505b5050905080612e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e79906139f9565b60405180910390fd5b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168561753090604051612ece906138a7565b600060405180830381858888f193505050503d8060008114612f0c576040519150601f19603f3d011682016040523d82523d6000602084013e612f11565b606091505b5050905080612f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4c906139f9565b60405180910390fd5b6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168461753090604051612fa1906138a7565b600060405180830381858888f193505050503d8060008114612fdf576040519150601f19603f3d011682016040523d82523d6000602084013e612fe4565b606091505b5050905080613028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301f906139f9565b60405180910390fd5b6130328d886131db565b50505050505050505050505050506000602660006101000a81548160ff021916908315150217905550565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080600f546064846130c79190613c08565b6130d19190613c39565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461311e9190613bb2565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131be9190613a99565b60405180910390a380836131d29190613c93565b91505092915050565b60008211156132fc57602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161326d96959493929190613900565b6060604051808303818588803b15801561328657600080fd5b505af115801561329a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bf91906135bd565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450681836040516132f3929190613b0e565b60405180910390a15b5050565b60008135905061330f81613feb565b92915050565b60008135905061332481614002565b92915050565b60008151905061333981614002565b92915050565b60008135905061334e81614019565b92915050565b60008151905061336381614019565b92915050565b60006020828403121561337f5761337e613e41565b5b600061338d84828501613300565b91505092915050565b600080604083850312156133ad576133ac613e41565b5b60006133bb85828601613300565b92505060206133cc85828601613300565b9150509250929050565b600080600080608085870312156133f0576133ef613e41565b5b60006133fe87828801613300565b945050602061340f87828801613300565b935050604061342087828801613300565b925050606061343187828801613300565b91505092959194509250565b60008060006060848603121561345657613455613e41565b5b600061346486828701613300565b935050602061347586828701613300565b92505060406134868682870161333f565b9150509250925092565b600080604083850312156134a7576134a6613e41565b5b60006134b585828601613300565b92505060206134c685828601613315565b9150509250929050565b600080604083850312156134e7576134e6613e41565b5b60006134f585828601613300565b92505060206135068582860161333f565b9150509250929050565b60006020828403121561352657613525613e41565b5b60006135348482850161332a565b91505092915050565b60008060006060848603121561355657613555613e41565b5b600061356486828701613315565b93505060206135758682870161333f565b92505060406135868682870161333f565b9150509250925092565b6000602082840312156135a6576135a5613e41565b5b60006135b48482850161333f565b91505092915050565b6000806000606084860312156135d6576135d5613e41565b5b60006135e486828701613354565b93505060206135f586828701613354565b925050604061360686828701613354565b9150509250925092565b6000806000806080858703121561362a57613629613e41565b5b60006136388782880161333f565b94505060206136498782880161333f565b935050604061365a8782880161333f565b925050606061366b8782880161333f565b91505092959194509250565b6000613683838361368f565b60208301905092915050565b61369881613cc7565b82525050565b6136a781613cc7565b82525050565b60006136b882613b62565b6136c28185613b85565b93506136cd83613b52565b8060005b838110156136fe5781516136e58882613677565b97506136f083613b78565b9250506001810190506136d1565b5085935050505092915050565b61371481613cd9565b82525050565b61372381613d1c565b82525050565b61373281613d40565b82525050565b600061374382613b6d565b61374d8185613ba1565b935061375d818560208601613d52565b61376681613e46565b840191505092915050565b600061377e601183613ba1565b915061378982613e57565b602082019050919050565b60006137a1602683613ba1565b91506137ac82613e80565b604082019050919050565b60006137c4601e83613ba1565b91506137cf82613ecf565b602082019050919050565b60006137e7603e83613ba1565b91506137f282613ef8565b604082019050919050565b600061380a600683613ba1565b915061381582613f47565b602082019050919050565b600061382d600083613b96565b915061383882613f70565b600082019050919050565b6000613850601283613ba1565b915061385b82613f73565b602082019050919050565b6000613873602383613ba1565b915061387e82613f9c565b604082019050919050565b61389281613d05565b82525050565b6138a181613d0f565b82525050565b60006138b282613820565b9150819050919050565b60006020820190506138d1600083018461369e565b92915050565b60006040820190506138ec600083018561369e565b6138f96020830184613889565b9392505050565b600060c082019050613915600083018961369e565b6139226020830188613889565b61392f6040830187613729565b61393c6060830186613729565b613949608083018561369e565b61395660a0830184613889565b979650505050505050565b6000602082019050613976600083018461370b565b92915050565b6000602082019050613991600083018461371a565b92915050565b600060208201905081810360008301526139b18184613738565b905092915050565b600060208201905081810360008301526139d281613771565b9050919050565b600060208201905081810360008301526139f281613794565b9050919050565b60006020820190508181036000830152613a12816137b7565b9050919050565b60006020820190508181036000830152613a32816137da565b9050919050565b60006020820190508181036000830152613a52816137fd565b9050919050565b60006020820190508181036000830152613a7281613843565b9050919050565b60006020820190508181036000830152613a9281613866565b9050919050565b6000602082019050613aae6000830184613889565b92915050565b600060a082019050613ac96000830188613889565b613ad66020830187613729565b8181036040830152613ae881866136ad565b9050613af7606083018561369e565b613b046080830184613889565b9695505050505050565b6000604082019050613b236000830185613889565b613b306020830184613889565b9392505050565b6000602082019050613b4c6000830184613898565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613bbd82613d05565b9150613bc883613d05565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bfd57613bfc613d85565b5b828201905092915050565b6000613c1382613d05565b9150613c1e83613d05565b925082613c2e57613c2d613db4565b5b828204905092915050565b6000613c4482613d05565b9150613c4f83613d05565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c8857613c87613d85565b5b828202905092915050565b6000613c9e82613d05565b9150613ca983613d05565b925082821015613cbc57613cbb613d85565b5b828203905092915050565b6000613cd282613ce5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d2782613d2e565b9050919050565b6000613d3982613ce5565b9050919050565b6000613d4b82613d05565b9050919050565b60005b83811015613d70578082015181840152602081019050613d55565b83811115613d7f576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f436f6e7472616374206973206c6f636b65640000000000000000000000000000600082015250565b7f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b613ff481613cc7565b8114613fff57600080fd5b50565b61400b81613cd9565b811461401657600080fd5b50565b61402281613d05565b811461402d57600080fd5b5056fea2646970667358221220197c675efd3130e12542428964d2ecf881611233fdf35d1f36f82245c3ec448864736f6c63430008060033
Deployed Bytecode
0x6080604052600436106103b15760003560e01c80636ddd1713116101e7578063ab00d68d1161010d578063e96fada2116100a0578063f7baf3c51161006f578063f7baf3c514610e19578063f84ba65d14610e30578063f887ea4014610e59578063fc44ed4814610e84576103b8565b8063e96fada214610d6f578063e99090c114610d9a578063ea19e4a814610dc5578063f2fde38b14610df0576103b8565b8063d0889358116100dc578063d088935814610cb3578063dab84ee714610cdc578063dd62ed3e14610d07578063e9563dfd14610d44576103b8565b8063ab00d68d14610c07578063b43b783514610c32578063ca33e64c14610c5d578063cf4be39414610c88576103b8565b8063893d20e81161018557806398118cb41161015457806398118cb414610b4b578063a4e1307114610b76578063a8aa1b3114610b9f578063a9059cbb14610bca576103b8565b8063893d20e814610a8f5780638b42507f14610aba57806395d89b4114610af757806396c99f5b14610b22576103b8565b806378109e54116101c157806378109e54146109e35780637fbcedff14610a0e57806383b4ac6814610a3957806384b1d1ef14610a64576103b8565b80636ddd17131461095057806370a082311461097b5780637724555f146109b8576103b8565b8063391e73a3116102d7578063602bc62b1161026a5780636b67c4df116102395780636b67c4df146108a65780636c5b2855146108d15780636d351d1a146108fa5780636d796e8814610925576103b8565b8063602bc62b146107fc5780636533e39314610827578063658d4b7f146108525780636827e7641461087b576103b8565b80633f4218e0116102a65780633f4218e01461072c5780634f28cac214610769578063541b4de714610794578063571ac8b0146107bf576103b8565b8063391e73a3146106825780633b2d081c146106ad5780633c8e556d146106d85780633d95669114610701576103b8565b80631898cab21161034f5780632f54bf6e1161031e5780632f54bf6e146105b2578063313ce567146105ef578063334773271461061a57806333f3d62814610645576103b8565b80631898cab2146104f65780631da1db5e146105215780631df4ccfc1461054a57806323b872dd14610575576103b8565b8063095ea7b31161038b578063095ea7b31461043c578063154d4abb14610479578063178d9b8e146104a257806318160ddd146104cb576103b8565b80630445b667146103bd57806306fdde03146103e857806309302dc614610413576103b8565b366103b857005b600080fd5b3480156103c957600080fd5b506103d2610eaf565b6040516103df9190613a99565b60405180910390f35b3480156103f457600080fd5b506103fd610eb5565b60405161040a9190613997565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190613590565b610ef2565b005b34801561044857600080fd5b50610463600480360381019061045e91906134d0565b610f5e565b6040516104709190613961565b60405180910390f35b34801561048557600080fd5b506104a0600480360381019061049b9190613590565b611050565b005b3480156104ae57600080fd5b506104c960048036038101906104c49190613610565b6110bc565b005b3480156104d757600080fd5b506104e061114e565b6040516104ed9190613a99565b60405180910390f35b34801561050257600080fd5b5061050b611158565b6040516105189190613a99565b60405180910390f35b34801561052d57600080fd5b5061054860048036038101906105439190613590565b611162565b005b34801561055657600080fd5b5061055f611211565b60405161056c9190613a99565b60405180910390f35b34801561058157600080fd5b5061059c6004803603810190610597919061343d565b611217565b6040516105a99190613961565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d49190613369565b6113d9565b6040516105e69190613961565b60405180910390f35b3480156105fb57600080fd5b50610604611432565b6040516106119190613b37565b60405180910390f35b34801561062657600080fd5b5061062f61143b565b60405161063c9190613a99565b60405180910390f35b34801561065157600080fd5b5061066c600480360381019061066791906134d0565b611441565b6040516106799190613961565b60405180910390f35b34801561068e57600080fd5b50610697611520565b6040516106a49190613a99565b60405180910390f35b3480156106b957600080fd5b506106c2611526565b6040516106cf9190613a99565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa91906133d6565b61152c565b005b34801561070d57600080fd5b5061071661167e565b6040516107239190613a99565b60405180910390f35b34801561073857600080fd5b50610753600480360381019061074e9190613369565b611684565b6040516107609190613961565b60405180910390f35b34801561077557600080fd5b5061077e6116a4565b60405161078b9190613a99565b60405180910390f35b3480156107a057600080fd5b506107a96116aa565b6040516107b69190613a99565b60405180910390f35b3480156107cb57600080fd5b506107e660048036038101906107e19190613369565b6116b4565b6040516107f39190613961565b60405180910390f35b34801561080857600080fd5b506108116116e7565b60405161081e9190613a99565b60405180910390f35b34801561083357600080fd5b5061083c6116f1565b6040516108499190613a99565b60405180910390f35b34801561085e57600080fd5b5061087960048036038101906108749190613490565b6116f7565b005b34801561088757600080fd5b5061089061179a565b60405161089d9190613a99565b60405180910390f35b3480156108b257600080fd5b506108bb6117a0565b6040516108c89190613a99565b60405180910390f35b3480156108dd57600080fd5b506108f860048036038101906108f39190613610565b6117a6565b005b34801561090657600080fd5b5061090f611838565b60405161091c9190613a99565b60405180910390f35b34801561093157600080fd5b5061093a611842565b6040516109479190613a99565b60405180910390f35b34801561095c57600080fd5b50610965611848565b6040516109729190613961565b60405180910390f35b34801561098757600080fd5b506109a2600480360381019061099d9190613369565b61185b565b6040516109af9190613a99565b60405180910390f35b3480156109c457600080fd5b506109cd6118a4565b6040516109da9190613a99565b60405180910390f35b3480156109ef57600080fd5b506109f86118aa565b604051610a059190613a99565b60405180910390f35b348015610a1a57600080fd5b50610a236118b0565b604051610a309190613a99565b60405180910390f35b348015610a4557600080fd5b50610a4e6118b6565b604051610a5b9190613961565b60405180910390f35b348015610a7057600080fd5b50610a796118ce565b604051610a8691906138bc565b60405180910390f35b348015610a9b57600080fd5b50610aa46118f4565b604051610ab191906138bc565b60405180910390f35b348015610ac657600080fd5b50610ae16004803603810190610adc9190613369565b61191d565b604051610aee9190613961565b60405180910390f35b348015610b0357600080fd5b50610b0c61193d565b604051610b199190613997565b60405180910390f35b348015610b2e57600080fd5b50610b496004803603810190610b449190613590565b61197a565b005b348015610b5757600080fd5b50610b606119e6565b604051610b6d9190613a99565b60405180910390f35b348015610b8257600080fd5b50610b9d6004803603810190610b989190613590565b6119ec565b005b348015610bab57600080fd5b50610bb4611b66565b604051610bc191906138bc565b60405180910390f35b348015610bd657600080fd5b50610bf16004803603810190610bec91906134d0565b611b8c565b604051610bfe9190613961565b60405180910390f35b348015610c1357600080fd5b50610c1c611ba1565b604051610c299190613a99565b60405180910390f35b348015610c3e57600080fd5b50610c47611ba7565b604051610c549190613a99565b60405180910390f35b348015610c6957600080fd5b50610c72611bb1565b604051610c7f91906138bc565b60405180910390f35b348015610c9457600080fd5b50610c9d611bd7565b604051610caa9190613a99565b60405180910390f35b348015610cbf57600080fd5b50610cda6004803603810190610cd5919061353d565b611bdd565b005b348015610ce857600080fd5b50610cf1611c86565b604051610cfe91906138bc565b60405180910390f35b348015610d1357600080fd5b50610d2e6004803603810190610d299190613396565b611cac565b604051610d3b9190613a99565b60405180910390f35b348015610d5057600080fd5b50610d59611d33565b604051610d669190613a99565b60405180910390f35b348015610d7b57600080fd5b50610d84611d39565b604051610d9191906138bc565b60405180910390f35b348015610da657600080fd5b50610daf611d5f565b604051610dbc9190613a99565b60405180910390f35b348015610dd157600080fd5b50610dda611d65565b604051610de79190613a99565b60405180910390f35b348015610dfc57600080fd5b50610e176004803603810190610e129190613369565b611d6b565b005b348015610e2557600080fd5b50610e2e611ee0565b005b348015610e3c57600080fd5b50610e576004803603810190610e529190613490565b6120b4565b005b348015610e6557600080fd5b50610e6e612157565b604051610e7b919061397c565b60405180910390f35b348015610e9057600080fd5b50610e9961217d565b604051610ea69190613a99565b60405180910390f35b60235481565b60606040518060400160405280600981526020017f466c697274792041490000000000000000000000000000000000000000000000815250905090565b610efb336113d9565b610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190613a39565b60405180910390fd5b806103e8600654610f4b9190613c08565b610f559190613c39565b601c8190555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161103e9190613a99565b60405180910390a36001905092915050565b611059336113d9565b611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f90613a39565b60405180910390fd5b806103e86006546110a99190613c08565b6110b39190613c39565b601a8190555050565b6110c5336113d9565b611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90613a39565b60405180910390fd5b836010819055508260138190555081601281905550806011819055508082848661112e9190613bb2565b6111389190613bb2565b6111429190613bb2565b60148190555050505050565b6000600654905090565b6000601a54905090565b61116b336113d9565b6111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190613a39565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc606484846111d79190613c39565b6111e19190613c08565b9081150290604051600060405180830381858888f1935050505015801561120c573d6000803e3d6000fd5b505050565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146113c55781600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113449190613c93565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6113d0848484612183565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b601a5481565b600061144c336113d9565b61148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290613a39565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016114c69291906138d7565b602060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190613510565b905092915050565b60145481565b600e5481565b611535336113d9565b611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90613a39565b60405180910390fd5b83601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60255481565b60096020528060005260406000206000915054906101000a900460ff1681565b60245481565b6000601b54905090565b60006116e0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610f5e565b9050919050565b6000600254905090565b60115481565b611700336113d9565b61173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690613a39565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b600d5481565b6117af336113d9565b6117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e590613a39565b60405180910390fd5b83601581905550826018819055508160178190555080601681905550808284866118189190613bb2565b6118229190613bb2565b61182c9190613bb2565b60198190555050505050565b6000602354905090565b60175481565b602260149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60195481565b601c5481565b60125481565b6000602660009054906101000a900460ff1615905090565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b60606040518060400160405280600981526020017f466c697274792041490000000000000000000000000000000000000000000000815250905090565b611983336113d9565b6119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990613a39565b60405180910390fd5b806103e86006546119d39190613c08565b6119dd9190613c39565b601b8190555050565b600b5481565b6119f5336113d9565b611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b90613a39565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508042611ae29190613bb2565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b99338484612183565b905092915050565b60165481565b6000601c54905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b611be6336113d9565b611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1c90613a39565b60405180910390fd5b82602260146101000a81548160ff02191690831515021790555081612710600654611c509190613c08565b611c5a9190613c39565b60238190555080612710600654611c719190613c08565b611c7b9190613c39565b602481905550505050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b60105481565b611d74336113d9565b611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90613a39565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1a906139d9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6790613a79565b60405180910390fd5b6002544211611fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fab90613a59565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6120bd336113d9565b6120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f390613a39565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b6000602660009054906101000a900460ff16156121ac576121a5848484612804565b90506127fd565b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561220b5761220a612992565b5b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576122696129c1565b5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122f257503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561234c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123a65750602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b806123fa5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561245e57600061240a8461185b565b9050601c54838261241b9190613bb2565b111561245c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245390613a19565b60405180910390fd5b505b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561254e57601a548211158061250e5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61254d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612544906139b9565b60405180910390fd5b5b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561263e57601b54821115806125fe5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61263d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612634906139b9565b60405180910390fd5b5b6126466129f0565b1561265457612653612ac7565b5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269f9190613c93565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006126ed8561305d565b6126f75782612702565b61270184846130b4565b5b905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274f9190613bb2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127ef9190613a99565b60405180910390a360019150505b9392505050565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128519190613c93565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128df9190613bb2565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161297f9190613a99565b60405180910390a3600190509392505050565b601054600b81905550601154600c81905550601254600d81905550601354600e81905550601454600f81905550565b601554600b81905550601654600c81905550601754600d81905550601854600e81905550601954600f81905550565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612a5d5750602660009054906101000a900460ff16155b8015612a755750602260149054906101000a900460ff165b8015612ac25750602354600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602660006101000a81548160ff0219169083151502179055506000612aed3061185b565b90506024548110612b0657602454602581905550612b0e565b806025819055505b60006002600b54600f54602554612b259190613c08565b612b2f9190613c39565b612b399190613c08565b9050600081602554612b4b9190613c93565b90506000600267ffffffffffffffff811115612b6a57612b69613e12565b5b604051908082528060200260200182016040528015612b985781602001602082028036833780820191505090505b5090503081600081518110612bb057612baf613de3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612c2157612c20613de3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401612cc4959493929190613ab4565b600060405180830381600087803b158015612cde57600080fd5b505af1158015612cf2573d6000803e3d6000fd5b5050505060008147612d049190613c93565b905060006002600b54612d179190613c08565b600f54612d249190613c93565b90506000600282600b5485612d399190613c39565b612d439190613c08565b612d4d9190613c08565b9050600082600e5485612d609190613c39565b612d6a9190613c08565b9050600083600d5486612d7d9190613c39565b612d879190613c08565b9050600081838588612d999190613c93565b612da39190613c93565b612dad9190613c93565b90506000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051612dfb906138a7565b600060405180830381858888f193505050503d8060008114612e39576040519150601f19603f3d011682016040523d82523d6000602084013e612e3e565b606091505b5050905080612e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e79906139f9565b60405180910390fd5b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168561753090604051612ece906138a7565b600060405180830381858888f193505050503d8060008114612f0c576040519150601f19603f3d011682016040523d82523d6000602084013e612f11565b606091505b5050905080612f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4c906139f9565b60405180910390fd5b6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168461753090604051612fa1906138a7565b600060405180830381858888f193505050503d8060008114612fdf576040519150601f19603f3d011682016040523d82523d6000602084013e612fe4565b606091505b5050905080613028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301f906139f9565b60405180910390fd5b6130328d886131db565b50505050505050505050505050506000602660006101000a81548160ff021916908315150217905550565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080600f546064846130c79190613c08565b6130d19190613c39565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461311e9190613bb2565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131be9190613a99565b60405180910390a380836131d29190613c93565b91505092915050565b60008211156132fc57602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161326d96959493929190613900565b6060604051808303818588803b15801561328657600080fd5b505af115801561329a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bf91906135bd565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450681836040516132f3929190613b0e565b60405180910390a15b5050565b60008135905061330f81613feb565b92915050565b60008135905061332481614002565b92915050565b60008151905061333981614002565b92915050565b60008135905061334e81614019565b92915050565b60008151905061336381614019565b92915050565b60006020828403121561337f5761337e613e41565b5b600061338d84828501613300565b91505092915050565b600080604083850312156133ad576133ac613e41565b5b60006133bb85828601613300565b92505060206133cc85828601613300565b9150509250929050565b600080600080608085870312156133f0576133ef613e41565b5b60006133fe87828801613300565b945050602061340f87828801613300565b935050604061342087828801613300565b925050606061343187828801613300565b91505092959194509250565b60008060006060848603121561345657613455613e41565b5b600061346486828701613300565b935050602061347586828701613300565b92505060406134868682870161333f565b9150509250925092565b600080604083850312156134a7576134a6613e41565b5b60006134b585828601613300565b92505060206134c685828601613315565b9150509250929050565b600080604083850312156134e7576134e6613e41565b5b60006134f585828601613300565b92505060206135068582860161333f565b9150509250929050565b60006020828403121561352657613525613e41565b5b60006135348482850161332a565b91505092915050565b60008060006060848603121561355657613555613e41565b5b600061356486828701613315565b93505060206135758682870161333f565b92505060406135868682870161333f565b9150509250925092565b6000602082840312156135a6576135a5613e41565b5b60006135b48482850161333f565b91505092915050565b6000806000606084860312156135d6576135d5613e41565b5b60006135e486828701613354565b93505060206135f586828701613354565b925050604061360686828701613354565b9150509250925092565b6000806000806080858703121561362a57613629613e41565b5b60006136388782880161333f565b94505060206136498782880161333f565b935050604061365a8782880161333f565b925050606061366b8782880161333f565b91505092959194509250565b6000613683838361368f565b60208301905092915050565b61369881613cc7565b82525050565b6136a781613cc7565b82525050565b60006136b882613b62565b6136c28185613b85565b93506136cd83613b52565b8060005b838110156136fe5781516136e58882613677565b97506136f083613b78565b9250506001810190506136d1565b5085935050505092915050565b61371481613cd9565b82525050565b61372381613d1c565b82525050565b61373281613d40565b82525050565b600061374382613b6d565b61374d8185613ba1565b935061375d818560208601613d52565b61376681613e46565b840191505092915050565b600061377e601183613ba1565b915061378982613e57565b602082019050919050565b60006137a1602683613ba1565b91506137ac82613e80565b604082019050919050565b60006137c4601e83613ba1565b91506137cf82613ecf565b602082019050919050565b60006137e7603e83613ba1565b91506137f282613ef8565b604082019050919050565b600061380a600683613ba1565b915061381582613f47565b602082019050919050565b600061382d600083613b96565b915061383882613f70565b600082019050919050565b6000613850601283613ba1565b915061385b82613f73565b602082019050919050565b6000613873602383613ba1565b915061387e82613f9c565b604082019050919050565b61389281613d05565b82525050565b6138a181613d0f565b82525050565b60006138b282613820565b9150819050919050565b60006020820190506138d1600083018461369e565b92915050565b60006040820190506138ec600083018561369e565b6138f96020830184613889565b9392505050565b600060c082019050613915600083018961369e565b6139226020830188613889565b61392f6040830187613729565b61393c6060830186613729565b613949608083018561369e565b61395660a0830184613889565b979650505050505050565b6000602082019050613976600083018461370b565b92915050565b6000602082019050613991600083018461371a565b92915050565b600060208201905081810360008301526139b18184613738565b905092915050565b600060208201905081810360008301526139d281613771565b9050919050565b600060208201905081810360008301526139f281613794565b9050919050565b60006020820190508181036000830152613a12816137b7565b9050919050565b60006020820190508181036000830152613a32816137da565b9050919050565b60006020820190508181036000830152613a52816137fd565b9050919050565b60006020820190508181036000830152613a7281613843565b9050919050565b60006020820190508181036000830152613a9281613866565b9050919050565b6000602082019050613aae6000830184613889565b92915050565b600060a082019050613ac96000830188613889565b613ad66020830187613729565b8181036040830152613ae881866136ad565b9050613af7606083018561369e565b613b046080830184613889565b9695505050505050565b6000604082019050613b236000830185613889565b613b306020830184613889565b9392505050565b6000602082019050613b4c6000830184613898565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613bbd82613d05565b9150613bc883613d05565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bfd57613bfc613d85565b5b828201905092915050565b6000613c1382613d05565b9150613c1e83613d05565b925082613c2e57613c2d613db4565b5b828204905092915050565b6000613c4482613d05565b9150613c4f83613d05565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c8857613c87613d85565b5b828202905092915050565b6000613c9e82613d05565b9150613ca983613d05565b925082821015613cbc57613cbb613d85565b5b828203905092915050565b6000613cd282613ce5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d2782613d2e565b9050919050565b6000613d3982613ce5565b9050919050565b6000613d4b82613d05565b9050919050565b60005b83811015613d70578082015181840152602081019050613d55565b83811115613d7f576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f436f6e7472616374206973206c6f636b65640000000000000000000000000000600082015250565b7f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b613ff481613cc7565b8114613fff57600080fd5b50565b61400b81613cd9565b811461401657600080fd5b50565b61402281613d05565b811461402d57600080fd5b5056fea2646970667358221220197c675efd3130e12542428964d2ecf881611233fdf35d1f36f82245c3ec448864736f6c63430008060033
Deployed Bytecode Sourcemap
4139:13061:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6251:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7295:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16141:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7715:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16325:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14394:367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7025:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14044:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16925:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4942:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8237:341;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1595:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7119:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5570:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16744:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5145:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4910:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15154:375;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6383:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4680:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6320:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14160:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7943:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1956:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5018:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15875:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4848:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4876:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14769:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13815:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5335:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6214:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7465:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5426:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5715:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5056:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14274:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6068:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7381;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4731:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7205:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16516:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4814:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2054:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6186:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8073:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5296:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13928:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5812:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5642:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15537:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5987:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7576:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5100:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5251:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1706:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2294:299;;;;;;;;;;;;;:::i;:::-;;16006:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6155:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5380:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6251:54;;;;:::o;7295:80::-;7343:13;7367:5;;;;;;;;;;;;;;;;;7360:12;;7295:80;:::o;16141:176::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;16285:23:::1;16276:4;16260:12;;:21;;;;:::i;:::-;:49;;;;:::i;:::-;16242:15;:67;;;;16141:176:::0;:::o;7715:216::-;7790:4;7842:6;7807:11;:23;7819:10;7807:23;;;;;;;;;;;;;;;:32;7831:7;7807:32;;;;;;;;;;;;;;;:41;;;;7885:7;7864:37;;7873:10;7864:37;;;7894:6;7864:37;;;;;;:::i;:::-;;;;;;;;7919:4;7912:11;;7715:216;;;;:::o;16325:183::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;16472:27:::1;16463:4;16447:12;;:21;;;;:::i;:::-;:53;;;;:::i;:::-;16429:15;:71;;;;16325:183:::0;:::o;14394:367::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14546:13:::1;14528:15;:31;;;;14586:11;14570:13;:27;;;;14626:13;14608:15;:31;;;;14662:7;14650:9;:19;;;;14745:7;14727:13;14711:11;14694:13;:29;;;;:::i;:::-;:47;;;;:::i;:::-;:59;;;;:::i;:::-;14680:11;:73;;;;14394:367:::0;;;;:::o;7025:88::-;7080:7;7098:12;;7091:19;;7025:88;:::o;14044:104::-;14098:7;14125:15;;14118:22;;14044:104;:::o;16925:207::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;17008:17:::1;17028:21;17008:41;;17068:10;17060:28;;:64;17120:3;17101:16;17089:9;:28;;;;:::i;:::-;:34;;;;:::i;:::-;17060:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16997:135;16925:207:::0;:::o;4942:23::-;;;;:::o;8237:341::-;8337:4;8392:17;8357:11;:19;8369:6;8357:19;;;;;;;;;;;;;;;:31;8377:10;8357:31;;;;;;;;;;;;;;;;:52;8354:157;;8493:6;8459:11;:19;8471:6;8459:19;;;;;;;;;;;;;;;:31;8479:10;8459:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;8425:11;:19;8437:6;8425:19;;;;;;;;;;;;;;;:31;8445:10;8425:31;;;;;;;;;;;;;;;:74;;;;8354:157;8530:40;8544:6;8552:9;8563:6;8530:13;:40::i;:::-;8523:47;;8237:341;;;;;:::o;1595:103::-;1650:4;1685:5;;;;;;;;;;;1674:16;;:7;:16;;;1667:23;;1595:103;;;:::o;7119:80::-;7171:5;4502:1;7180:16;;7119:80;:::o;5570:59::-;;;;:::o;16744:173::-;16829:12;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;16867:12:::1;16861:28;;;16890:10;16902:6;16861:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16854:55;;16744:173:::0;;;;:::o;5145:97::-;;;;:::o;4910:25::-;;;;:::o;15154:375::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15350:22:::1;15326:21;;:46;;;;;;;;;;;;;;;;;;15406:21;15383:20;;:44;;;;;;;;;;;;;;;;;;15459:19;15438:18;;:40;;;;;;;;;;;;;;;;;;15506:15;15489:14;;:32;;;;;;;;;;;;;;;;;;15154:375:::0;;;;:::o;6383:27::-;;;;:::o;4680:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;6320:51::-;;;;:::o;14160:106::-;14215:7;14242:16;;14235:23;;14160:106;:::o;7943:122::-;7998:4;8022:35;8030:7;8039:17;8022:7;:35::i;:::-;8015:42;;7943:122;;;:::o;1956:90::-;2002:7;2029:9;;2022:16;;1956:90;:::o;5018:31::-;;;;:::o;15875:119::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15980:6:::1;15958:11;:19;15970:6;15958:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;15875:119:::0;;:::o;4848:21::-;;;;:::o;4876:27::-;;;;:::o;14769:373::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14923:13:::1;14904:16;:32;;;;14964:11;14947:14;:28;;;;15005:13;14986:16;:32;;;;15042:7;15029:10;:20;;;;15126:7;15108:13;15092:11;15075:13;:29;;;;:::i;:::-;:47;;;;:::i;:::-;:59;;;;:::i;:::-;15060:12;:74;;;;14769:373:::0;;;;:::o;13815:101::-;13868:7;13895:13;;13888:20;;13815:101;:::o;5335:38::-;;;;:::o;6214:30::-;;;;;;;;;;;;;:::o;7465:105::-;7531:7;7549:9;:18;7559:7;7549:18;;;;;;;;;;;;;;;;7542:25;;7465:105;;;:::o;5426:102::-;;;;:::o;5715:59::-;;;;:::o;5056:37::-;;;;:::o;14274:85::-;14320:4;14345:6;;;;;;;;;;;14344:7;14337:14;;14274:85;:::o;6068:78::-;;;;;;;;;;;;;:::o;7381:::-;7433:7;7451:5;;;;;;;;;;;7444:12;;7381:78;:::o;4731:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;7205:84::-;7255:13;7279:7;;;;;;;;;;;;;;;;;7272:14;;7205:84;:::o;16516:187::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;16666:28:::1;16657:4;16641:12;;:21;;;;:::i;:::-;:54;;;;:::i;:::-;16622:16;:73;;;;16516:187:::0;:::o;4814:27::-;;;;:::o;2054:232::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2144:5:::1;::::0;::::1;;;;;;;;2127:14;;:22;;;;;;;;;;;;;;;;;;2176:1;2160:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2219:4;2201:15;:22;;;;:::i;:::-;2189:9;:34;;;;2275:1;2239:39;;2260:5;::::0;::::1;;;;;;;;2239:39;;;;;;;;;;;;2054:232:::0;:::o;6186:19::-;;;;;;;;;;;;;:::o;8073:156::-;8153:4;8177:44;8191:10;8203:9;8214:6;8177:13;:44::i;:::-;8170:51;;8073:156;;;;:::o;5296:32::-;;;;:::o;13928:104::-;13982:7;14009:15;;14002:22;;13928:104;:::o;5812:81::-;;;;;;;;;;;;;:::o;5642:60::-;;;;:::o;15537:330::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15695:8:::1;15681:11;;:22;;;;;;;;;;;;;;;;;;15756:25;15746:5;15730:12;;:22;;;;:::i;:::-;:52;;;;:::i;:::-;15714:13;:68;;;;15833:25;15823:5;15807:12;;:22;;;;:::i;:::-;:52;;;;:::i;:::-;15793:11;:66;;;;15537:330:::0;;;:::o;5987:74::-;;;;;;;;;;;;;:::o;7576:133::-;7660:7;7678:11;:19;7690:6;7678:19;;;;;;;;;;;;;;;:28;7698:7;7678:28;;;;;;;;;;;;;;;;7671:35;;7576:133;;;;:::o;5100:38::-;;;;:::o;5900:80::-;;;;;;;;;;;;;:::o;5251:38::-;;;;:::o;4974:37::-;;;;:::o;1706:242::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1815:1:::1;1795:22;;:8;:22;;;;1787:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1904:8;1876:37;;1897:5;::::0;::::1;;;;;;;;1876:37;;;;;;;;;;;;1932:8;1924:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1706:242:::0;:::o;2294:299::-;2373:10;2355:28;;:14;;;;;;;;;;;:28;;;2347:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;2460:9;;2442:15;:27;2434:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2537:14;;;;;;;;;;;2509:43;;2530:5;;;;;;;;;;2509:43;;;;;;;;;;;;2571:14;;;;;;;;;;;2563:5;;:22;;;;;;;;;;;;;;;;;;2294:299::o;16006:127::-;1546:19;1554:10;1546:7;:19::i;:::-;1538:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;16119:6:::1;16093:15;:23;16109:6;16093:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;16006:127:::0;;:::o;6155:24::-;;;;;;;;;;;;;:::o;5380:39::-;;;;:::o;8586:1361::-;8678:4;8698:6;;;;;;;;;;;8695:63;;;8714:41;8729:6;8737:9;8748:6;8714:14;:41::i;:::-;8707:48;;;;8695:63;8783:4;;;;;;;;;;;8773:14;;:6;:14;;;8770:54;;;8803:9;:7;:9::i;:::-;8770:54;8852:4;;;;;;;;;;;8839:17;;:9;:17;;;8836:58;;;8872:10;:8;:10::i;:::-;8836:58;8920:5;;;;;;;;;;8910:15;;:6;:15;;;;:45;;;;;8950:4;8929:26;;:9;:26;;;;8910:45;:75;;;;;8980:4;;;;;;;;;;;8959:26;;:9;:26;;;;8910:75;:96;;;;;9002:4;;;;;;;;;;;8989:17;;:9;:17;;;;8910:96;:126;;;;9010:15;:26;9026:9;9010:26;;;;;;;;;;;;;;;;;;;;;;;;;8910:126;8906:318;;;9052:18;9073:20;9083:9;9073;:20::i;:::-;9052:41;;9141:15;;9130:6;9117:10;:19;;;;:::i;:::-;9116:40;;9108:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;9037:187;8906:318;9290:4;;;;;;;;;;;9280:14;;:6;:14;;;9277:130;;;9328:15;;9318:6;:25;;:55;;;;9347:15;:26;9363:9;9347:26;;;;;;;;;;;;;;;;;;;;;;;;;9318:55;9310:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:130;9443:4;;;;;;;;;;;9430:17;;:9;:17;;;9427:131;;;9481:16;;9471:6;:26;;:53;;;;9501:15;:23;9517:6;9501:23;;;;;;;;;;;;;;;;;;;;;;;;;9471:53;9463:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;9427:131;9598:16;:14;:16::i;:::-;9595:35;;;9617:10;:8;:10::i;:::-;9595:35;9682:6;9662:9;:17;9672:6;9662:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9642:9;:17;9652:6;9642:17;;;;;;;;;;;;;;;:46;;;;9701:22;9726:21;9740:6;9726:13;:21::i;:::-;:59;;9779:6;9726:59;;;9750:26;9758:9;9769:6;9750:7;:26::i;:::-;9726:59;9701:84;;9842:14;9819:9;:20;9829:9;9819:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;9796:9;:20;9806:9;9796:20;;;;;;;;;;;;;;;:60;;;;9891:9;9874:43;;9883:6;9874:43;;;9902:14;9874:43;;;;;;:::i;:::-;;;;;;;;9935:4;9928:11;;;8586:1361;;;;;;:::o;9959:302::-;10052:4;10109:6;10089:9;:17;10099:6;10089:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10069:9;:17;10079:6;10069:17;;;;;;;;;;;;;;;:46;;;;10173:6;10149:9;:20;10159:9;10149:20;;;;;;;;;;;;;;;;:31;;;;:::i;:::-;10126:9;:20;10136:9;10126:20;;;;;;;;;;;;;;;:54;;;;10213:9;10196:35;;10205:6;10196:35;;;10224:6;10196:35;;;;;;:::i;:::-;;;;;;;;10249:4;10242:11;;9959:302;;;;;:::o;10296:236::-;10352:15;;10334:12;:33;;;;10389:9;;10378:6;:20;;;;10427:15;;10409:12;:33;;;;10471:13;;10453:10;:31;;;;10513:11;;10495:8;:29;;;;10296:236::o;10540:242::-;10597:16;;10579:12;:34;;;;10635:10;;10624:6;:21;;;;10674:16;;10656:12;:34;;;;10719:14;;10701:10;:32;;;;10762:12;;10744:8;:30;;;;10540:242::o;11238:197::-;11287:4;11325;;;;;;;;;;;11311:18;;:10;:18;;;;:38;;;;;11343:6;;;;;;;;;;;11342:7;11311:38;:62;;;;;11362:11;;;;;;;;;;;11311:62;:116;;;;;11414:13;;11386:9;:24;11404:4;11386:24;;;;;;;;;;;;;;;;:41;;11311:116;11304:123;;11238:197;:::o;11443:1913::-;6468:4;6459:6;;:13;;;;;;;;;;;;;;;;;;11492:28:::1;11523:24;11541:4;11523:9;:24::i;:::-;11492:55;;11585:11;;11561:20;:35;11558:180;;11627:11;;11612:12;:26;;;;11558:180;;;11706:20;11691:12;:35;;;;11558:180;11750:23;11822:1;11805:12;;11792:8;;11776:12;;:25;;;;:::i;:::-;:42;;;;:::i;:::-;:48;;;;:::i;:::-;11750:74;;11835:20;11874:15;11858:12;;:32;;;;:::i;:::-;11835:55;;11903:21;11941:1;11927:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11903:40;;11972:4;11954;11959:1;11954:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11998:4;;;;;;;;;;;11988;11993:1;11988:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;12015:21;12039;12015:45;;12073:6;;;;;;;;;;;:57;;;12145:12;12172:1;12188:4;12215;12235:15;12073:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12274:17;12319:13;12294:21;:39;;;;:::i;:::-;12274:59;;12346:19;12396:1;12380:12;;:18;;;;:::i;:::-;12368:8;;:31;;;;:::i;:::-;12346:53;;12420:26;12495:1;12479:11;12462:12;;12449:9;:26;;;;:::i;:::-;:42;;;;:::i;:::-;:48;;;;:::i;:::-;12420:77;;12508:24;12563:11;12548:10;;12535:9;:24;;;;:::i;:::-;:40;;;;:::i;:::-;12508:67;;12586:26;12645:11;12628:12;;12615:9;:26;;;;:::i;:::-;:42;;;;:::i;:::-;12586:71;;12668:20;12743:18;12724:16;12703:18;12691:9;:30;;;;:::i;:::-;:49;;;;:::i;:::-;:70;;;;:::i;:::-;12668:93;;12775:21;12809:20;;;;;;;;;;;12801:34;;12843:18;12868:5;12801:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12774:104;;;12897:16;12889:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12960:19;12992:18;;;;;;;;;;;12984:32;;13024:16;13047:5;12984:73;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12959:98;;;13076:14;13068:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;13137:15;13165:14;;;;;;;;;;;13157:28;;13193:12;13212:5;13157:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13136:86;;;13241:10;13233:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13299:49;13312:15;13329:18;13299:12;:49::i;:::-;11481:1875;;;;;;;;;;;;;;6486:5:::0;6477:6;;:14;;;;;;;;;;;;;;;;;;11443:1913::o;10790:114::-;10852:4;10877:11;:19;10889:6;10877:19;;;;;;;;;;;;;;;;;;;;;;;;;10876:20;10869:27;;10790:114;;;:::o;10912:316::-;10979:7;10999:17;11035:8;;11028:3;11019:6;:12;;;;:::i;:::-;:25;;;;:::i;:::-;10999:45;;11112:9;11084;:24;11102:4;11084:24;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;11057:9;:24;11075:4;11057:24;;;;;;;;;;;;;;;:65;;;;11163:4;11138:42;;11147:6;11138:42;;;11170:9;11138:42;;;;;;:::i;:::-;;;;;;;;11210:9;11200:6;:20;;;;:::i;:::-;11193:27;;;10912:316;;;;:::o;13364:416::-;13458:1;13444:11;:15;13441:332;;;13475:6;;;;;;;;;;;:22;;;13505:9;13542:4;13566:11;13596:1;13616;13636:21;;;;;;;;;;;13676:15;13475:231;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13726:35;13738:9;13749:11;13726:35;;;;;;;:::i;:::-;;;;;;;;13441:332;13364:416;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:137::-;345:5;376:6;370:13;361:22;;392:30;416:5;392:30;:::i;:::-;351:77;;;;:::o;434:139::-;480:5;518:6;505:20;496:29;;534:33;561:5;534:33;:::i;:::-;486:87;;;;:::o;579:143::-;636:5;667:6;661:13;652:22;;683:33;710:5;683:33;:::i;:::-;642:80;;;;:::o;728:329::-;787:6;836:2;824:9;815:7;811:23;807:32;804:2;;;842:79;;:::i;:::-;804:2;962:1;987:53;1032:7;1023:6;1012:9;1008:22;987:53;:::i;:::-;977:63;;933:117;794:263;;;;:::o;1063:474::-;1131:6;1139;1188:2;1176:9;1167:7;1163:23;1159:32;1156:2;;;1194:79;;:::i;:::-;1156:2;1314:1;1339:53;1384:7;1375:6;1364:9;1360:22;1339:53;:::i;:::-;1329:63;;1285:117;1441:2;1467:53;1512:7;1503:6;1492:9;1488:22;1467:53;:::i;:::-;1457:63;;1412:118;1146:391;;;;;:::o;1543:765::-;1629:6;1637;1645;1653;1702:3;1690:9;1681:7;1677:23;1673:33;1670:2;;;1709:79;;:::i;:::-;1670:2;1829:1;1854:53;1899:7;1890:6;1879:9;1875:22;1854:53;:::i;:::-;1844:63;;1800:117;1956:2;1982:53;2027:7;2018:6;2007:9;2003:22;1982:53;:::i;:::-;1972:63;;1927:118;2084:2;2110:53;2155:7;2146:6;2135:9;2131:22;2110:53;:::i;:::-;2100:63;;2055:118;2212:2;2238:53;2283:7;2274:6;2263:9;2259:22;2238:53;:::i;:::-;2228:63;;2183:118;1660:648;;;;;;;:::o;2314:619::-;2391:6;2399;2407;2456:2;2444:9;2435:7;2431:23;2427:32;2424:2;;;2462:79;;:::i;:::-;2424:2;2582:1;2607:53;2652:7;2643:6;2632:9;2628:22;2607:53;:::i;:::-;2597:63;;2553:117;2709:2;2735:53;2780:7;2771:6;2760:9;2756:22;2735:53;:::i;:::-;2725:63;;2680:118;2837:2;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2808:118;2414:519;;;;;:::o;2939:468::-;3004:6;3012;3061:2;3049:9;3040:7;3036:23;3032:32;3029:2;;;3067:79;;:::i;:::-;3029:2;3187:1;3212:53;3257:7;3248:6;3237:9;3233:22;3212:53;:::i;:::-;3202:63;;3158:117;3314:2;3340:50;3382:7;3373:6;3362:9;3358:22;3340:50;:::i;:::-;3330:60;;3285:115;3019:388;;;;;:::o;3413:474::-;3481:6;3489;3538:2;3526:9;3517:7;3513:23;3509:32;3506:2;;;3544:79;;:::i;:::-;3506:2;3664:1;3689:53;3734:7;3725:6;3714:9;3710:22;3689:53;:::i;:::-;3679:63;;3635:117;3791:2;3817:53;3862:7;3853:6;3842:9;3838:22;3817:53;:::i;:::-;3807:63;;3762:118;3496:391;;;;;:::o;3893:345::-;3960:6;4009:2;3997:9;3988:7;3984:23;3980:32;3977:2;;;4015:79;;:::i;:::-;3977:2;4135:1;4160:61;4213:7;4204:6;4193:9;4189:22;4160:61;:::i;:::-;4150:71;;4106:125;3967:271;;;;:::o;4244:613::-;4318:6;4326;4334;4383:2;4371:9;4362:7;4358:23;4354:32;4351:2;;;4389:79;;:::i;:::-;4351:2;4509:1;4534:50;4576:7;4567:6;4556:9;4552:22;4534:50;:::i;:::-;4524:60;;4480:114;4633:2;4659:53;4704:7;4695:6;4684:9;4680:22;4659:53;:::i;:::-;4649:63;;4604:118;4761:2;4787:53;4832:7;4823:6;4812:9;4808:22;4787:53;:::i;:::-;4777:63;;4732:118;4341:516;;;;;:::o;4863:329::-;4922:6;4971:2;4959:9;4950:7;4946:23;4942:32;4939:2;;;4977:79;;:::i;:::-;4939:2;5097:1;5122:53;5167:7;5158:6;5147:9;5143:22;5122:53;:::i;:::-;5112:63;;5068:117;4929:263;;;;:::o;5198:663::-;5286:6;5294;5302;5351:2;5339:9;5330:7;5326:23;5322:32;5319:2;;;5357:79;;:::i;:::-;5319:2;5477:1;5502:64;5558:7;5549:6;5538:9;5534:22;5502:64;:::i;:::-;5492:74;;5448:128;5615:2;5641:64;5697:7;5688:6;5677:9;5673:22;5641:64;:::i;:::-;5631:74;;5586:129;5754:2;5780:64;5836:7;5827:6;5816:9;5812:22;5780:64;:::i;:::-;5770:74;;5725:129;5309:552;;;;;:::o;5867:765::-;5953:6;5961;5969;5977;6026:3;6014:9;6005:7;6001:23;5997:33;5994:2;;;6033:79;;:::i;:::-;5994:2;6153:1;6178:53;6223:7;6214:6;6203:9;6199:22;6178:53;:::i;:::-;6168:63;;6124:117;6280:2;6306:53;6351:7;6342:6;6331:9;6327:22;6306:53;:::i;:::-;6296:63;;6251:118;6408:2;6434:53;6479:7;6470:6;6459:9;6455:22;6434:53;:::i;:::-;6424:63;;6379:118;6536:2;6562:53;6607:7;6598:6;6587:9;6583:22;6562:53;:::i;:::-;6552:63;;6507:118;5984:648;;;;;;;:::o;6638:179::-;6707:10;6728:46;6770:3;6762:6;6728:46;:::i;:::-;6806:4;6801:3;6797:14;6783:28;;6718:99;;;;:::o;6823:108::-;6900:24;6918:5;6900:24;:::i;:::-;6895:3;6888:37;6878:53;;:::o;6937:118::-;7024:24;7042:5;7024:24;:::i;:::-;7019:3;7012:37;7002:53;;:::o;7091:732::-;7210:3;7239:54;7287:5;7239:54;:::i;:::-;7309:86;7388:6;7383:3;7309:86;:::i;:::-;7302:93;;7419:56;7469:5;7419:56;:::i;:::-;7498:7;7529:1;7514:284;7539:6;7536:1;7533:13;7514:284;;;7615:6;7609:13;7642:63;7701:3;7686:13;7642:63;:::i;:::-;7635:70;;7728:60;7781:6;7728:60;:::i;:::-;7718:70;;7574:224;7561:1;7558;7554:9;7549:14;;7514:284;;;7518:14;7814:3;7807:10;;7215:608;;;;;;;:::o;7829:109::-;7910:21;7925:5;7910:21;:::i;:::-;7905:3;7898:34;7888:50;;:::o;7944:167::-;8049:55;8098:5;8049:55;:::i;:::-;8044:3;8037:68;8027:84;;:::o;8117:147::-;8212:45;8251:5;8212:45;:::i;:::-;8207:3;8200:58;8190:74;;:::o;8270:364::-;8358:3;8386:39;8419:5;8386:39;:::i;:::-;8441:71;8505:6;8500:3;8441:71;:::i;:::-;8434:78;;8521:52;8566:6;8561:3;8554:4;8547:5;8543:16;8521:52;:::i;:::-;8598:29;8620:6;8598:29;:::i;:::-;8593:3;8589:39;8582:46;;8362:272;;;;;:::o;8640:366::-;8782:3;8803:67;8867:2;8862:3;8803:67;:::i;:::-;8796:74;;8879:93;8968:3;8879:93;:::i;:::-;8997:2;8992:3;8988:12;8981:19;;8786:220;;;:::o;9012:366::-;9154:3;9175:67;9239:2;9234:3;9175:67;:::i;:::-;9168:74;;9251:93;9340:3;9251:93;:::i;:::-;9369:2;9364:3;9360:12;9353:19;;9158:220;;;:::o;9384:366::-;9526:3;9547:67;9611:2;9606:3;9547:67;:::i;:::-;9540:74;;9623:93;9712:3;9623:93;:::i;:::-;9741:2;9736:3;9732:12;9725:19;;9530:220;;;:::o;9756:366::-;9898:3;9919:67;9983:2;9978:3;9919:67;:::i;:::-;9912:74;;9995:93;10084:3;9995:93;:::i;:::-;10113:2;10108:3;10104:12;10097:19;;9902:220;;;:::o;10128:365::-;10270:3;10291:66;10355:1;10350:3;10291:66;:::i;:::-;10284:73;;10366:93;10455:3;10366:93;:::i;:::-;10484:2;10479:3;10475:12;10468:19;;10274:219;;;:::o;10499:398::-;10658:3;10679:83;10760:1;10755:3;10679:83;:::i;:::-;10672:90;;10771:93;10860:3;10771:93;:::i;:::-;10889:1;10884:3;10880:11;10873:18;;10662:235;;;:::o;10903:366::-;11045:3;11066:67;11130:2;11125:3;11066:67;:::i;:::-;11059:74;;11142:93;11231:3;11142:93;:::i;:::-;11260:2;11255:3;11251:12;11244:19;;11049:220;;;:::o;11275:366::-;11417:3;11438:67;11502:2;11497:3;11438:67;:::i;:::-;11431:74;;11514:93;11603:3;11514:93;:::i;:::-;11632:2;11627:3;11623:12;11616:19;;11421:220;;;:::o;11647:118::-;11734:24;11752:5;11734:24;:::i;:::-;11729:3;11722:37;11712:53;;:::o;11771:112::-;11854:22;11870:5;11854:22;:::i;:::-;11849:3;11842:35;11832:51;;:::o;11889:379::-;12073:3;12095:147;12238:3;12095:147;:::i;:::-;12088:154;;12259:3;12252:10;;12077:191;;;:::o;12274:222::-;12367:4;12405:2;12394:9;12390:18;12382:26;;12418:71;12486:1;12475:9;12471:17;12462:6;12418:71;:::i;:::-;12372:124;;;;:::o;12502:332::-;12623:4;12661:2;12650:9;12646:18;12638:26;;12674:71;12742:1;12731:9;12727:17;12718:6;12674:71;:::i;:::-;12755:72;12823:2;12812:9;12808:18;12799:6;12755:72;:::i;:::-;12628:206;;;;;:::o;12840:807::-;13089:4;13127:3;13116:9;13112:19;13104:27;;13141:71;13209:1;13198:9;13194:17;13185:6;13141:71;:::i;:::-;13222:72;13290:2;13279:9;13275:18;13266:6;13222:72;:::i;:::-;13304:80;13380:2;13369:9;13365:18;13356:6;13304:80;:::i;:::-;13394;13470:2;13459:9;13455:18;13446:6;13394:80;:::i;:::-;13484:73;13552:3;13541:9;13537:19;13528:6;13484:73;:::i;:::-;13567;13635:3;13624:9;13620:19;13611:6;13567:73;:::i;:::-;13094:553;;;;;;;;;:::o;13653:210::-;13740:4;13778:2;13767:9;13763:18;13755:26;;13791:65;13853:1;13842:9;13838:17;13829:6;13791:65;:::i;:::-;13745:118;;;;:::o;13869:258::-;13980:4;14018:2;14007:9;14003:18;13995:26;;14031:89;14117:1;14106:9;14102:17;14093:6;14031:89;:::i;:::-;13985:142;;;;:::o;14133:313::-;14246:4;14284:2;14273:9;14269:18;14261:26;;14333:9;14327:4;14323:20;14319:1;14308:9;14304:17;14297:47;14361:78;14434:4;14425:6;14361:78;:::i;:::-;14353:86;;14251:195;;;;:::o;14452:419::-;14618:4;14656:2;14645:9;14641:18;14633:26;;14705:9;14699:4;14695:20;14691:1;14680:9;14676:17;14669:47;14733:131;14859:4;14733:131;:::i;:::-;14725:139;;14623:248;;;:::o;14877:419::-;15043:4;15081:2;15070:9;15066:18;15058:26;;15130:9;15124:4;15120:20;15116:1;15105:9;15101:17;15094:47;15158:131;15284:4;15158:131;:::i;:::-;15150:139;;15048:248;;;:::o;15302:419::-;15468:4;15506:2;15495:9;15491:18;15483:26;;15555:9;15549:4;15545:20;15541:1;15530:9;15526:17;15519:47;15583:131;15709:4;15583:131;:::i;:::-;15575:139;;15473:248;;;:::o;15727:419::-;15893:4;15931:2;15920:9;15916:18;15908:26;;15980:9;15974:4;15970:20;15966:1;15955:9;15951:17;15944:47;16008:131;16134:4;16008:131;:::i;:::-;16000:139;;15898:248;;;:::o;16152:419::-;16318:4;16356:2;16345:9;16341:18;16333:26;;16405:9;16399:4;16395:20;16391:1;16380:9;16376:17;16369:47;16433:131;16559:4;16433:131;:::i;:::-;16425:139;;16323:248;;;:::o;16577:419::-;16743:4;16781:2;16770:9;16766:18;16758:26;;16830:9;16824:4;16820:20;16816:1;16805:9;16801:17;16794:47;16858:131;16984:4;16858:131;:::i;:::-;16850:139;;16748:248;;;:::o;17002:419::-;17168:4;17206:2;17195:9;17191:18;17183:26;;17255:9;17249:4;17245:20;17241:1;17230:9;17226:17;17219:47;17283:131;17409:4;17283:131;:::i;:::-;17275:139;;17173:248;;;:::o;17427:222::-;17520:4;17558:2;17547:9;17543:18;17535:26;;17571:71;17639:1;17628:9;17624:17;17615:6;17571:71;:::i;:::-;17525:124;;;;:::o;17655:831::-;17918:4;17956:3;17945:9;17941:19;17933:27;;17970:71;18038:1;18027:9;18023:17;18014:6;17970:71;:::i;:::-;18051:80;18127:2;18116:9;18112:18;18103:6;18051:80;:::i;:::-;18178:9;18172:4;18168:20;18163:2;18152:9;18148:18;18141:48;18206:108;18309:4;18300:6;18206:108;:::i;:::-;18198:116;;18324:72;18392:2;18381:9;18377:18;18368:6;18324:72;:::i;:::-;18406:73;18474:3;18463:9;18459:19;18450:6;18406:73;:::i;:::-;17923:563;;;;;;;;:::o;18492:332::-;18613:4;18651:2;18640:9;18636:18;18628:26;;18664:71;18732:1;18721:9;18717:17;18708:6;18664:71;:::i;:::-;18745:72;18813:2;18802:9;18798:18;18789:6;18745:72;:::i;:::-;18618:206;;;;;:::o;18830:214::-;18919:4;18957:2;18946:9;18942:18;18934:26;;18970:67;19034:1;19023:9;19019:17;19010:6;18970:67;:::i;:::-;18924:120;;;;:::o;19131:132::-;19198:4;19221:3;19213:11;;19251:4;19246:3;19242:14;19234:22;;19203:60;;;:::o;19269:114::-;19336:6;19370:5;19364:12;19354:22;;19343:40;;;:::o;19389:99::-;19441:6;19475:5;19469:12;19459:22;;19448:40;;;:::o;19494:113::-;19564:4;19596;19591:3;19587:14;19579:22;;19569:38;;;:::o;19613:184::-;19712:11;19746:6;19741:3;19734:19;19786:4;19781:3;19777:14;19762:29;;19724:73;;;;:::o;19803:147::-;19904:11;19941:3;19926:18;;19916:34;;;;:::o;19956:169::-;20040:11;20074:6;20069:3;20062:19;20114:4;20109:3;20105:14;20090:29;;20052:73;;;;:::o;20131:305::-;20171:3;20190:20;20208:1;20190:20;:::i;:::-;20185:25;;20224:20;20242:1;20224:20;:::i;:::-;20219:25;;20378:1;20310:66;20306:74;20303:1;20300:81;20297:2;;;20384:18;;:::i;:::-;20297:2;20428:1;20425;20421:9;20414:16;;20175:261;;;;:::o;20442:185::-;20482:1;20499:20;20517:1;20499:20;:::i;:::-;20494:25;;20533:20;20551:1;20533:20;:::i;:::-;20528:25;;20572:1;20562:2;;20577:18;;:::i;:::-;20562:2;20619:1;20616;20612:9;20607:14;;20484:143;;;;:::o;20633:348::-;20673:7;20696:20;20714:1;20696:20;:::i;:::-;20691:25;;20730:20;20748:1;20730:20;:::i;:::-;20725:25;;20918:1;20850:66;20846:74;20843:1;20840:81;20835:1;20828:9;20821:17;20817:105;20814:2;;;20925:18;;:::i;:::-;20814:2;20973:1;20970;20966:9;20955:20;;20681:300;;;;:::o;20987:191::-;21027:4;21047:20;21065:1;21047:20;:::i;:::-;21042:25;;21081:20;21099:1;21081:20;:::i;:::-;21076:25;;21120:1;21117;21114:8;21111:2;;;21125:18;;:::i;:::-;21111:2;21170:1;21167;21163:9;21155:17;;21032:146;;;;:::o;21184:96::-;21221:7;21250:24;21268:5;21250:24;:::i;:::-;21239:35;;21229:51;;;:::o;21286:90::-;21320:7;21363:5;21356:13;21349:21;21338:32;;21328:48;;;:::o;21382:126::-;21419:7;21459:42;21452:5;21448:54;21437:65;;21427:81;;;:::o;21514:77::-;21551:7;21580:5;21569:16;;21559:32;;;:::o;21597:86::-;21632:7;21672:4;21665:5;21661:16;21650:27;;21640:43;;;:::o;21689:162::-;21757:9;21790:55;21839:5;21790:55;:::i;:::-;21777:68;;21767:84;;;:::o;21857:131::-;21925:9;21958:24;21976:5;21958:24;:::i;:::-;21945:37;;21935:53;;;:::o;21994:121::-;22052:9;22085:24;22103:5;22085:24;:::i;:::-;22072:37;;22062:53;;;:::o;22121:307::-;22189:1;22199:113;22213:6;22210:1;22207:13;22199:113;;;22298:1;22293:3;22289:11;22283:18;22279:1;22274:3;22270:11;22263:39;22235:2;22232:1;22228:10;22223:15;;22199:113;;;22330:6;22327:1;22324:13;22321:2;;;22410:1;22401:6;22396:3;22392:16;22385:27;22321:2;22170:258;;;;:::o;22434:180::-;22482:77;22479:1;22472:88;22579:4;22576:1;22569:15;22603:4;22600:1;22593:15;22620:180;22668:77;22665:1;22658:88;22765:4;22762:1;22755:15;22789:4;22786:1;22779:15;22806:180;22854:77;22851:1;22844:88;22951:4;22948:1;22941:15;22975:4;22972:1;22965:15;22992:180;23040:77;23037:1;23030:88;23137:4;23134:1;23127:15;23161:4;23158:1;23151:15;23301:117;23410:1;23407;23400:12;23424:102;23465:6;23516:2;23512:7;23507:2;23500:5;23496:14;23492:28;23482:38;;23472:54;;;:::o;23532:167::-;23672:19;23668:1;23660:6;23656:14;23649:43;23638:61;:::o;23705:225::-;23845:34;23841:1;23833:6;23829:14;23822:58;23914:8;23909:2;23901:6;23897:15;23890:33;23811:119;:::o;23936:180::-;24076:32;24072:1;24064:6;24060:14;24053:56;24042:74;:::o;24122:249::-;24262:34;24258:1;24250:6;24246:14;24239:58;24331:32;24326:2;24318:6;24314:15;24307:57;24228:143;:::o;24377:156::-;24517:8;24513:1;24505:6;24501:14;24494:32;24483:50;:::o;24539:114::-;24645:8;:::o;24659:168::-;24799:20;24795:1;24787:6;24783:14;24776:44;24765:62;:::o;24833:222::-;24973:34;24969:1;24961:6;24957:14;24950:58;25042:5;25037:2;25029:6;25025:15;25018:30;24939:116;:::o;25061:122::-;25134:24;25152:5;25134:24;:::i;:::-;25127:5;25124:35;25114:2;;25173:1;25170;25163:12;25114:2;25104:79;:::o;25189:116::-;25259:21;25274:5;25259:21;:::i;:::-;25252:5;25249:32;25239:2;;25295:1;25292;25285:12;25239:2;25229:76;:::o;25311:122::-;25384:24;25402:5;25384:24;:::i;:::-;25377:5;25374:35;25364:2;;25423:1;25420;25413:12;25364:2;25354:79;:::o
Swarm Source
ipfs://197c675efd3130e12542428964d2ecf881611233fdf35d1f36f82245c3ec4488
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.