Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 469 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19722587 | 203 days ago | IN | 0 ETH | 0.00026254 | ||||
Approve | 16814947 | 611 days ago | IN | 0 ETH | 0.00171521 | ||||
Approve | 16576292 | 644 days ago | IN | 0 ETH | 0.00106371 | ||||
Approve | 16374433 | 672 days ago | IN | 0 ETH | 0.00039155 | ||||
Approve | 16191832 | 698 days ago | IN | 0 ETH | 0.00124028 | ||||
Approve | 16067639 | 715 days ago | IN | 0 ETH | 0.00049798 | ||||
Approve | 15806242 | 752 days ago | IN | 0 ETH | 0.000839 | ||||
Approve | 15774838 | 756 days ago | IN | 0 ETH | 0.00092025 | ||||
Approve | 15762236 | 758 days ago | IN | 0 ETH | 0.00057004 | ||||
Approve | 15754161 | 759 days ago | IN | 0 ETH | 0.00087664 | ||||
Approve | 15754038 | 759 days ago | IN | 0 ETH | 0.00077408 | ||||
Approve | 15748491 | 760 days ago | IN | 0 ETH | 0.00057814 | ||||
Approve | 15748491 | 760 days ago | IN | 0 ETH | 0.00057814 | ||||
Approve | 15740196 | 761 days ago | IN | 0 ETH | 0.00155479 | ||||
Approve | 15738211 | 761 days ago | IN | 0 ETH | 0.00027497 | ||||
Approve | 15738178 | 761 days ago | IN | 0 ETH | 0.00052962 | ||||
Approve | 15735308 | 762 days ago | IN | 0 ETH | 0.00097653 | ||||
Approve | 15735034 | 762 days ago | IN | 0 ETH | 0.0007524 | ||||
Approve | 15735002 | 762 days ago | IN | 0 ETH | 0.00070061 | ||||
Approve | 15734722 | 762 days ago | IN | 0 ETH | 0.00074428 | ||||
Approve | 15734554 | 762 days ago | IN | 0 ETH | 0.00072805 | ||||
Transfer | 15734538 | 762 days ago | IN | 0 ETH | 0.0007969 | ||||
Transfer | 15734524 | 762 days ago | IN | 0 ETH | 0.00067139 | ||||
Approve | 15733964 | 762 days ago | IN | 0 ETH | 0.00092593 | ||||
Approve | 15733862 | 762 days ago | IN | 0 ETH | 0.00113804 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15806247 | 752 days ago | 0.00502933 ETH | ||||
15806247 | 752 days ago | 0.00502933 ETH | ||||
15806247 | 752 days ago | 0.00100586 ETH | ||||
15806247 | 752 days ago | 0.01106453 ETH | ||||
15774841 | 756 days ago | 0.0055566 ETH | ||||
15774841 | 756 days ago | 0.0055566 ETH | ||||
15774841 | 756 days ago | 0.00111132 ETH | ||||
15774841 | 756 days ago | 0.01222453 ETH | ||||
15740210 | 761 days ago | 0.00664115 ETH | ||||
15740210 | 761 days ago | 0.00664115 ETH | ||||
15740210 | 761 days ago | 0.00132823 ETH | ||||
15740210 | 761 days ago | 0.01461054 ETH | ||||
15738197 | 761 days ago | 0.01020408 ETH | ||||
15738197 | 761 days ago | 0.01020408 ETH | ||||
15738197 | 761 days ago | 0.00000209 ETH | ||||
15738197 | 761 days ago | 0.0020406 ETH | ||||
15738197 | 761 days ago | 0.02244668 ETH | ||||
15735226 | 762 days ago | 0.00762509 ETH | ||||
15735226 | 762 days ago | 0.00762509 ETH | ||||
15735226 | 762 days ago | 0.00152501 ETH | ||||
15735226 | 762 days ago | 0.0167752 ETH | ||||
15734726 | 762 days ago | 0.01538169 ETH | ||||
15734726 | 762 days ago | 0.01538169 ETH | ||||
15734726 | 762 days ago | 0.00000721 ETH | ||||
15734726 | 762 days ago | 0.00307561 ETH |
Loading...
Loading
Contract Name:
Shibsama
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-06 */ /* ##### ## ## ###### ###### ##### ### ## ## ### ## ## ## ## ## ## ## ## ## ## ## ### ### ## ## ## ## ## ## ## ## ## ## ## ####### ## ## ##### ###### ## ##### ##### ## ## ## # ## ## ## ## ## ## ## ## ## ## ####### ## ## ####### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##### ## ## ###### ###### ##### ## ## ## ## ## ## A Decentralized Meme Token that unites the Shiba Multiverse! Tg: https://t.me/shibsamaentry Twitter: https://twitter.com/Shibsama Website: https://shibsamatoken.com */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; /** * ERC20 standard interface */ 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); } /** * Basic access control mechanism */ abstract contract Ownable { address internal owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!YOU ARE NOT THE 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(owner, address(0)); owner = address(0); } } /** * 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; } /** * Token Contract Code */ contract Shibsama is ERC20, Ownable { // -- Mappings -- mapping(address => bool) public _blacklisted; mapping(address => bool) private _whitelisted; mapping(address => bool) public _automatedMarketMakers; mapping(address => bool) private _isLimitless; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; // -- Basic Token Information -- string constant _name = "Shibsama"; string constant _symbol = "Shibsama"; uint8 constant _decimals = 18; uint256 private _totalSupply = 1_000_000_000 * 10 ** _decimals; // -- Transaction & Wallet Limits -- uint256 public maxBuyPercentage; uint256 public maxSellPercentage; uint256 public maxWalletPercentage; uint256 private maxBuyAmount; uint256 private maxSellAmount; uint256 private maxWalletAmount; // -- Contract Variables -- address[] private sniperList; uint256 tokenTax; uint256 transferFee; uint256 private targetLiquidity = 50; // -- Fee Structs -- struct BuyFee { uint256 liquidityFee; uint256 developmentFee; uint256 marketingFee; uint256 total; } struct SellFee { uint256 liquidityFee; uint256 developmentFee; uint256 marketingFee; uint256 total; } BuyFee public buyFee; SellFee public sellFee; // -- Addresses -- address public _exchangeRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; address public developmentReceiver = 0x98ba459D78f15944CEc54084B41FE54D93ac86B4; address public marketingReceiver = 0x98ba459D78f15944CEc54084B41FE54D93ac86B4; IDEXRouter public router; address public pair; // -- Misc Variables -- bool public antiSniperMode = true; // AntiSniper active at launch by default bool private _addingLP; bool private inSwap; bool private _initialDistributionFinished; // -- Swap Variables -- bool public swapEnabled = true; uint256 private swapThreshold = _totalSupply / 1000; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { // Initialize Uniswap Pair router = IDEXRouter(_exchangeRouterAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; _automatedMarketMakers[pair]=true; // Set Initial Buy Fees -- Base 1000 Set 10 for 1% buyFee.liquidityFee = 10; buyFee.developmentFee = 35; buyFee.marketingFee = 35; buyFee.total = buyFee.liquidityFee + buyFee.developmentFee + buyFee.marketingFee; // Set Initial Sell Fees -- Base 1000 Set 10 for 1% sellFee.liquidityFee = 10; sellFee.developmentFee = 35; sellFee.marketingFee = 35; sellFee.total = sellFee.liquidityFee + sellFee.developmentFee + sellFee.marketingFee; // Set Initial Buy, Sell & Wallet Limits -- Base 1000 Set 10 for 1% maxBuyPercentage = 20; maxBuyAmount = _totalSupply /1000 * maxBuyPercentage; maxSellPercentage = 20; maxSellAmount = _totalSupply /1000 * maxSellPercentage; maxWalletPercentage = 20; maxWalletAmount = _totalSupply /1000 * maxWalletPercentage; // Exclude from fees & limits _isLimitless[owner] = _isLimitless[address(this)] = true; // Mint _totalSupply to owner address _balances[owner] = _totalSupply; emit Transfer(address(0x0), owner, _totalSupply); } ///////////////////////////////////////// -- Setter Functions -- ///////////////////////////////////////// // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerSetLimits(uint256 _maxBuyPercentage, uint256 _maxSellPercentage, uint256 _maxWalletPercentage) external onlyOwner { maxBuyPercentage = _maxBuyPercentage; maxBuyAmount = _totalSupply /1000 * maxBuyPercentage; maxSellPercentage = _maxSellPercentage; maxSellAmount = _totalSupply /1000 * maxSellPercentage; maxWalletPercentage= _maxWalletPercentage; maxWalletAmount = _totalSupply /1000 * maxWalletPercentage; } function ownerSetInitialDistributionFinished() external onlyOwner { _initialDistributionFinished = true; } function ownerSetLimitlessAddress(address _addr, bool _status) external onlyOwner { _isLimitless[_addr] = _status; } function ownerSetSwapBackSettings(bool _enabled, uint256 _percentageBase1000) external onlyOwner { swapEnabled = _enabled; swapThreshold = _totalSupply / 1000 * _percentageBase1000; } function ownerSetTargetLiquidity(uint256 target) external onlyOwner { targetLiquidity = target; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateBuyFees (uint256 _liquidityFee, uint256 _developmentFee, uint256 _marketingFee) external onlyOwner { buyFee.liquidityFee = _liquidityFee; buyFee.developmentFee = _developmentFee; buyFee.marketingFee = _marketingFee; buyFee.total = buyFee.liquidityFee + buyFee.developmentFee + buyFee.marketingFee; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateSellFees (uint256 _liquidityFee, uint256 _developmentFee, uint256 _marketingFee) external onlyOwner { sellFee.liquidityFee = _liquidityFee; sellFee.developmentFee = _developmentFee; sellFee.marketingFee = _marketingFee; sellFee.total = sellFee.liquidityFee + sellFee.developmentFee + sellFee.marketingFee; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateTransferFee (uint256 _transferFee) external onlyOwner { transferFee = _transferFee; } function ownerSetReceivers (address _development, address _marketing) external onlyOwner { developmentReceiver = _development; marketingReceiver = _marketing; } function ownerAirDropWallets(address[] memory airdropWallets, uint256[] memory amounts) external onlyOwner{ require(airdropWallets.length < 100, "Can only airdrop 100 wallets per txn due to gas limits"); for(uint256 i = 0; i < airdropWallets.length; i++){ address wallet = airdropWallets[i]; uint256 amount = (amounts[i] * 10**_decimals); _transfer(msg.sender, wallet, amount); } } function reverseSniper(address sniper) external onlyOwner { _blacklisted[sniper] = false; } function addNewMarketMaker(address newAMM) external onlyOwner { _automatedMarketMakers[newAMM]=true; _isLimitless[newAMM]=true; } function controlAntiSniperMode(bool value) external onlyOwner { antiSniperMode = value; } function clearStuckBalance() external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(owner).transfer(contractETHBalance); } function clearStuckToken(address _token) public onlyOwner { uint256 _contractBalance = ERC20(_token).balanceOf(address(this)); payable(developmentReceiver).transfer(_contractBalance); } ///////////////////////////////////////// -- Getter Functions -- ///////////////////////////////////////// function getCirculatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO); } function showSniperList() public view returns(address[] memory){ return sniperList; } function showSniperListLength() public view returns(uint256){ return sniperList.length; } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy * (balanceOf(pair) * (2)) / (getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } ///////////////////////////////////////// -- Internal Functions -- ///////////////////////////////////////// function _transfer(address sender,address recipient,uint256 amount) private { require(sender!=address(0)&&recipient!=address(0),"Cannot be address(0)."); bool isBuy=_automatedMarketMakers[sender]; bool isSell=_automatedMarketMakers[recipient]; bool isExcluded=_isLimitless[sender]||_isLimitless[recipient]||_addingLP; if(isExcluded)_transferExcluded(sender,recipient,amount); else { require(_initialDistributionFinished); // Punish for Snipers if(antiSniperMode)_punishSnipers(sender,recipient,amount); // Buy Tokens else if(isBuy)_buyTokens(sender,recipient,amount); // Sell Tokens else if(isSell) { // Swap & Liquify if (shouldSwapBack()) {swapBack();} _sellTokens(sender,recipient,amount); } else { // P2P Transfer require(!_blacklisted[sender]&&!_blacklisted[recipient]); require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit"); _P2PTransfer(sender,recipient,amount); } } } function _punishSnipers(address sender,address recipient,uint256 amount) private { require(!_blacklisted[recipient]); require(amount <= maxBuyAmount, "Buy exceeds limit"); tokenTax = amount*90/100; _blacklisted[recipient]=true; sniperList.push(address(recipient)); _transferIncluded(sender,recipient,amount,tokenTax); } function _buyTokens(address sender,address recipient,uint256 amount) private { require(!_blacklisted[recipient]); require(amount <= maxBuyAmount, "Buy exceeds limit"); require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit"); if(!_whitelisted[recipient]){ tokenTax = amount*buyFee.total/1000;} else tokenTax = 0; _transferIncluded(sender,recipient,amount,tokenTax); } function _sellTokens(address sender,address recipient,uint256 amount) private { require(!_blacklisted[sender]); require(amount <= maxSellAmount); if(!_whitelisted[sender]){ tokenTax = amount*sellFee.total/1000;} else tokenTax = 0; _transferIncluded(sender,recipient,amount,tokenTax); } function _P2PTransfer(address sender,address recipient,uint256 amount) private { tokenTax = amount * transferFee/1000; if( tokenTax > 0) {_transferIncluded(sender,recipient,amount,tokenTax);} else {_transferExcluded(sender,recipient,amount);} } function _transferExcluded(address sender,address recipient,uint256 amount) private { _updateBalance(sender,_balances[sender]-amount); _updateBalance(recipient,_balances[recipient]+amount); emit Transfer(sender,recipient,amount); } function _transferIncluded(address sender,address recipient,uint256 amount,uint256 taxAmount) private { uint256 newAmount = amount-tokenTax; _updateBalance(sender,_balances[sender]-amount); _updateBalance(address(this),_balances[address(this)]+taxAmount); _updateBalance(recipient,_balances[recipient]+newAmount); emit Transfer(sender,recipient,newAmount); emit Transfer(sender,address(this),taxAmount); } function _updateBalance(address account,uint256 newBalance) private { _balances[account] = newBalance; } function shouldSwapBack() private view returns (bool) { return !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() private swapping { uint256 toSwap = balanceOf(address(this)); uint256 totalLPTokens=toSwap*(sellFee.liquidityFee + buyFee.liquidityFee)/(sellFee.total + buyFee.total); uint256 tokensLeft=toSwap-totalLPTokens; uint256 LPTokens=totalLPTokens/2; uint256 LPETHTokens=totalLPTokens-LPTokens; toSwap=tokensLeft+LPETHTokens; uint256 oldETH=address(this).balance; _swapTokensForETH(toSwap); uint256 newETH=address(this).balance-oldETH; uint256 LPETH=(newETH*LPETHTokens)/toSwap; _addLiquidity(LPTokens,LPETH); uint256 remainingETH=address(this).balance-oldETH; _distributeETH(remainingETH); } function _distributeETH(uint256 remainingETH) private { uint256 marketingFee = (buyFee.marketingFee + sellFee.marketingFee); uint256 developmentFee = (buyFee.developmentFee + sellFee.developmentFee); uint256 totalFee = (marketingFee + developmentFee); uint256 amountETHmarketing = remainingETH * (marketingFee) / (totalFee); uint256 amountETHdevelopment = remainingETH * (developmentFee) / (totalFee); if(amountETHdevelopment > 0){ (bool developmentSuccess, /* bytes memory data */) = payable(developmentReceiver).call{value: amountETHdevelopment, gas: 30000}(""); require(developmentSuccess, "receiver rejected ETH transfer"); } if(amountETHmarketing > 0){ (bool marketingSuccess, /* bytes memory data */) = payable(marketingReceiver).call{value: amountETHmarketing, gas: 30000}(""); require(marketingSuccess, "receiver rejected ETH transfer"); } } function _swapTokensForETH(uint256 amount) private { address[] memory path=new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ); } function _addLiquidity(uint256 amountTokens,uint256 amountETH) private { _addingLP=true; router.addLiquidityETH{value: amountETH}( address(this), amountTokens, 0, 0, developmentReceiver, block.timestamp ); _addingLP=false; } /** * IERC20 */ 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 transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { uint256 allowance_ = _allowances[sender][msg.sender]; require(allowance_ >= amount); if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } _transfer(sender, recipient, amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"","type":"address"}],"name":"_automatedMarketMakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_exchangeRouterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAMM","type":"address"}],"name":"addNewMarketMaker","outputs":[],"stateMutability":"nonpayable","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":[],"name":"antiSniperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developmentFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"controlAntiSniperMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"ownerAirDropWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ownerSetInitialDistributionFinished","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ownerSetLimitlessAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxSellPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxWalletPercentage","type":"uint256"}],"name":"ownerSetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_development","type":"address"},{"internalType":"address","name":"_marketing","type":"address"}],"name":"ownerSetReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_percentageBase1000","type":"uint256"}],"name":"ownerSetSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"}],"name":"ownerSetTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developmentFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developmentFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"ownerUpdateTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"reverseSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developmentFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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
60806040526012600a620000149190620009e4565b633b9aca0062000025919062000a35565b6008556032601255737a250d5630b4cf539739df2c5dacb4c659f2488d601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507398ba459d78f15944cec54084b41fe54d93ac86b4601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507398ba459d78f15944cec54084b41fe54d93ac86b4601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601f60146101000a81548160ff0219169083151502179055506001601f60186101000a81548160ff0219169083151502179055506103e860085462000174919062000ac5565b6020553480156200018457600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000298573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002be919062000b67565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000347573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036d919062000b67565b306040518363ffffffff1660e01b81526004016200038d92919062000baa565b6020604051808303816000875af1158015620003ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d3919062000b67565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a601360000181905550602360136001018190555060236013600201819055506013600201546013600101546013600001546200058f919062000bd7565b6200059b919062000bd7565b601360030181905550600a60176000018190555060236017600101819055506023601760020181905550601760020154601760010154601760000154620005e3919062000bd7565b620005ef919062000bd7565b60176003018190555060146009819055506009546103e860085462000615919062000ac5565b62000621919062000a35565b600c819055506014600a81905550600a546103e860085462000644919062000ac5565b62000650919062000a35565b600d819055506014600b81905550600b546103e860085462000673919062000ac5565b6200067f919062000a35565b600e819055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600854600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200083c919062000c45565b60405180910390a362000c62565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008d857808604811115620008b057620008af6200084a565b5b6001851615620008c05780820291505b8081029050620008d08562000879565b945062000890565b94509492505050565b600082620008f35760019050620009c6565b81620009035760009050620009c6565b81600181146200091c576002811462000927576200095d565b6001915050620009c6565b60ff8411156200093c576200093b6200084a565b5b8360020a9150848211156200095657620009556200084a565b5b50620009c6565b5060208310610133831016604e8410600b8410161715620009975782820a9050838111156200099157620009906200084a565b5b620009c6565b620009a6848484600162000886565b92509050818404811115620009c057620009bf6200084a565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009f182620009cd565b9150620009fe83620009d7565b925062000a2d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008e1565b905092915050565b600062000a4282620009cd565b915062000a4f83620009cd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a8b5762000a8a6200084a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ad282620009cd565b915062000adf83620009cd565b92508262000af25762000af162000a96565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b2f8262000b02565b9050919050565b62000b418162000b22565b811462000b4d57600080fd5b50565b60008151905062000b618162000b36565b92915050565b60006020828403121562000b805762000b7f62000afd565b5b600062000b908482850162000b50565b91505092915050565b62000ba48162000b22565b82525050565b600060408201905062000bc1600083018562000b99565b62000bd0602083018462000b99565b9392505050565b600062000be482620009cd565b915062000bf183620009cd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c295762000c286200084a565b5b828201905092915050565b62000c3f81620009cd565b82525050565b600060208201905062000c5c600083018462000c34565b92915050565b6143708062000c726000396000f3fe60806040526004361061028c5760003560e01c80636ddd17131161015a578063a5949bcf116100c1578063dca3cef11161007a578063dca3cef1146109d1578063dd62ed3e146109fa578063e065099714610a37578063e5a772d214610a62578063f2fde38b14610a8b578063f887ea4014610ab457610293565b8063a5949bcf146108ad578063a8aa1b31146108d8578063a9059cbb14610903578063b46ba24b14610940578063b704a9f614610969578063d51ed1c81461099457610293565b8063893d20e811610113578063893d20e8146107b35780638ca42e4e146107de5780638ee41ca81461080757806395d89b41146108305780639b0ad05c1461085b5780639be953b31461088457610293565b80636ddd1713146106a557806370a08231146106d0578063715018a61461070d5780637a6d69b41461072457806383bd84851461076157806387cfc4931461078a57610293565b80632f54bf6e116101fe57806352aae9dd116101b757806352aae9dd146105a757806353cd6210146105d0578063593173c1146105fb578063599ca3971461062657806359d3cac2146106515780636390aeeb1461067a57610293565b80632f54bf6e146104ba578063313ce567146104f7578063364333f414610522578063470624021461053957806347375a37146105675780634c5d87101461057e57610293565b806318160ddd1161025057806318160ddd146103a35780631ca0b1d0146103ce57806323b872dd146103f95780632b112e49146104365780632b14ca56146104615780632d3b40471461048f57610293565b806306fdde0314610298578063095ea7b3146102c35780630c5b1d93146103005780630cb23d86146103295780631161ae391461036657610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610adf565b6040516102ba9190613238565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613302565b610b1c565b6040516102f7919061335d565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906133a4565b610c0e565b005b34801561033557600080fd5b50610350600480360381019061034b91906133e4565b610cb1565b60405161035d919061335d565b60405180910390f35b34801561037257600080fd5b5061038d60048036038101906103889190613411565b610cd1565b60405161039a919061335d565b60405180910390f35b3480156103af57600080fd5b506103b8610ce6565b6040516103c59190613460565b60405180910390f35b3480156103da57600080fd5b506103e3610cf0565b6040516103f09190613539565b60405180910390f35b34801561040557600080fd5b50610420600480360381019061041b919061355b565b610d7e565b60405161042d919061335d565b60405180910390f35b34801561044257600080fd5b5061044b610fd0565b6040516104589190613460565b60405180910390f35b34801561046d57600080fd5b50610476611003565b60405161048694939291906135ae565b60405180910390f35b34801561049b57600080fd5b506104a4611021565b6040516104b19190613602565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc91906133e4565b611047565b6040516104ee919061335d565b60405180910390f35b34801561050357600080fd5b5061050c6110a0565b6040516105199190613639565b60405180910390f35b34801561052e57600080fd5b506105376110a9565b005b34801561054557600080fd5b5061054e611160565b60405161055e94939291906135ae565b60405180910390f35b34801561057357600080fd5b5061057c61117e565b005b34801561058a57600080fd5b506105a560048036038101906105a09190613654565b6111e3565b005b3480156105b357600080fd5b506105ce60048036038101906105c991906136a7565b6112ae565b005b3480156105dc57600080fd5b506105e5611300565b6040516105f2919061335d565b60405180910390f35b34801561060757600080fd5b50610610611313565b60405161061d9190613602565b60405180910390f35b34801561063257600080fd5b5061063b611339565b6040516106489190613460565b60405180910390f35b34801561065d57600080fd5b5061067860048036038101906106739190613654565b61133f565b005b34801561068657600080fd5b5061068f6113d9565b60405161069c9190613460565b60405180910390f35b3480156106b157600080fd5b506106ba6113e6565b6040516106c7919061335d565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f291906133e4565b6113f9565b6040516107049190613460565b60405180910390f35b34801561071957600080fd5b50610722611442565b005b34801561073057600080fd5b5061074b600480360381019061074691906133e4565b611548565b604051610758919061335d565b60405180910390f35b34801561076d57600080fd5b50610788600480360381019061078391906136d4565b611568565b005b34801561079657600080fd5b506107b160048036038101906107ac91906133e4565b6115cd565b005b3480156107bf57600080fd5b506107c8611670565b6040516107d59190613602565b60405180910390f35b3480156107ea57600080fd5b50610805600480360381019061080091906136a7565b611699565b005b34801561081357600080fd5b5061082e60048036038101906108299190613701565b6116eb565b005b34801561083c57600080fd5b50610845611772565b6040516108529190613238565b60405180910390f35b34801561086757600080fd5b50610882600480360381019061087d919061394c565b6117af565b005b34801561089057600080fd5b506108ab60048036038101906108a691906133e4565b6118c2565b005b3480156108b957600080fd5b506108c26119f5565b6040516108cf9190613602565b60405180910390f35b3480156108e457600080fd5b506108ed611a1b565b6040516108fa9190613602565b60405180910390f35b34801561090f57600080fd5b5061092a60048036038101906109259190613302565b611a41565b604051610937919061335d565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190613654565b611a58565b005b34801561097557600080fd5b5061097e611af2565b60405161098b9190613460565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b691906136a7565b611af8565b6040516109c89190613460565b60405180910390f35b3480156109dd57600080fd5b506109f860048036038101906109f391906139c4565b611b55565b005b348015610a0657600080fd5b50610a216004803603810190610a1c91906139c4565b611c23565b604051610a2e9190613460565b60405180910390f35b348015610a4357600080fd5b50610a4c611caa565b604051610a599190613460565b60405180910390f35b348015610a6e57600080fd5b50610a896004803603810190610a8491906133e4565b611cb0565b005b348015610a9757600080fd5b50610ab26004803603810190610aad91906133e4565b611dab565b005b348015610ac057600080fd5b50610ac9611f20565b604051610ad69190613a63565b60405180910390f35b60606040518060400160405280600881526020017f5368696273616d61000000000000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bfc9190613460565b60405180910390a36001905092915050565b610c1733611047565b610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d90613aca565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610cdd83611af8565b11905092915050565b6000600854905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015610d7457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610d2a575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e0d57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610fb95782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f389190613b19565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610fc4858585611f46565b60019150509392505050565b6000610fdc60006113f9565b610fe761dead6113f9565b600854610ff49190613b19565b610ffe9190613b19565b905090565b60178060000154908060010154908060020154908060030154905084565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6110b233611047565b6110f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e890613aca565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561115c573d6000803e3d6000fd5b5050565b60138060000154908060010154908060020154908060030154905084565b61118733611047565b6111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90613aca565b60405180910390fd5b6001601f60176101000a81548160ff021916908315150217905550565b6111ec33611047565b61122b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122290613aca565b60405180910390fd5b826009819055506009546103e86008546112459190613b7c565b61124f9190613bad565b600c8190555081600a81905550600a546103e860085461126f9190613b7c565b6112799190613bad565b600d8190555080600b81905550600b546103e86008546112999190613b7c565b6112a39190613bad565b600e81905550505050565b6112b733611047565b6112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90613aca565b60405180910390fd5b8060128190555050565b601f60149054906101000a900460ff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b61134833611047565b611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90613aca565b60405180910390fd5b8260176000018190555081601760010181905550806017600201819055506017600201546017600101546017600001546113c19190613c07565b6113cb9190613c07565b601760030181905550505050565b6000600f80549050905090565b601f60189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61144b33611047565b61148a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148190613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b61157133611047565b6115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a790613aca565b60405180910390fd5b80601f60146101000a81548160ff02191690831515021790555050565b6115d633611047565b611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c90613aca565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6116a233611047565b6116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890613aca565b60405180910390fd5b8060118190555050565b6116f433611047565b611733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172a90613aca565b60405180910390fd5b81601f60186101000a81548160ff021916908315150217905550806103e860085461175e9190613b7c565b6117689190613bad565b6020819055505050565b60606040518060400160405280600881526020017f5368696273616d61000000000000000000000000000000000000000000000000815250905090565b6117b833611047565b6117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90613aca565b60405180910390fd5b606482511061183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290613ccf565b60405180910390fd5b60005b82518110156118bd57600083828151811061185c5761185b613cef565b5b6020026020010151905060006012600a6118769190613e51565b84848151811061188957611888613cef565b5b602002602001015161189b9190613bad565b90506118a8338383611f46565b505080806118b590613e9c565b91505061183e565b505050565b6118cb33611047565b61190a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190190613aca565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119459190613602565b602060405180830381865afa158015611962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119869190613efa565b9050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f0573d6000803e3d6000fd5b505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a4e338484611f46565b6001905092915050565b611a6133611047565b611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9790613aca565b60405180910390fd5b826013600001819055508160136001018190555080601360020181905550601360020154601360010154601360000154611ada9190613c07565b611ae49190613c07565b601360030181905550505050565b600a5481565b6000611b02610fd0565b6002611b2f601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113f9565b611b399190613bad565b83611b449190613bad565b611b4e9190613b7c565b9050919050565b611b5e33611047565b611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490613aca565b60405180910390fd5b81601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611cb933611047565b611cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cef90613aca565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611db433611047565b611df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dea90613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a90613f99565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fb05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690614005565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121345750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061214b5750601f60159054906101000a900460ff165b905080156121635761215e8686866122ff565b6122f7565b601f60179054906101000a900460ff1661217c57600080fd5b601f60149054906101000a900460ff16156121a15761219c868686612411565b6122f6565b82156121b7576121b286868661259a565b6122f5565b81156121e3576121c5612724565b156121d3576121d26127a1565b5b6121de8686866128cf565b6122f4565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122875750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61229057600080fd5b600e548461229d876113f9565b6122a79190613c07565b11156122e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122df90614071565b60405180910390fd5b6122f38686866129cb565b5b5b5b5b505050505050565b6123538382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234e9190613b19565b612a1b565b6123a78282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a29190613c07565b612a1b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124049190613460565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246857600080fd5b600c548111156124ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a4906140dd565b60405180910390fd5b6064605a826124bc9190613bad565b6124c69190613b7c565b6010819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612595838383601054612a63565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125f157600080fd5b600c54811115612636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262d906140dd565b60405180910390fd5b600e5481612643846113f9565b61264d9190613c07565b111561268e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268590614071565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612708576103e8601360030154826126f39190613bad565b6126fd9190613b7c565b601081905550612711565b60006010819055505b61271f838383601054612a63565b505050565b6000601f60169054906101000a900460ff1615801561274f5750601f60189054906101000a900460ff165b801561279c5750602054600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60166101000a81548160ff02191690831515021790555060006127c7306113f9565b905060006013600301546017600301546127e19190613c07565b6013600001546017600001546127f79190613c07565b836128029190613bad565b61280c9190613b7c565b90506000818361281c9190613b19565b9050600060028361282d9190613b7c565b90506000818461283d9190613b19565b9050808361284b9190613c07565b9450600047905061285b86612c42565b600081476128699190613b19565b9050600087848361287a9190613bad565b6128849190613b7c565b90506128908582612e58565b6000834761289e9190613b19565b90506128a981612f61565b5050505050505050506000601f60166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561292657600080fd5b600d5481111561293557600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166129af576103e86017600301548261299a9190613bad565b6129a49190613b7c565b6010819055506129b8565b60006010819055505b6129c6838383601054612a63565b505050565b6103e8601154826129dc9190613bad565b6129e69190613b7c565b60108190555060006010541115612a0a57612a05838383601054612a63565b612a16565b612a158383836122ff565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060105483612a739190613b19565b9050612ac98584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac49190613b19565b612a1b565b612b1d3083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b189190613c07565b612a1b565b612b718482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b6c9190613c07565b612a1b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bce9190613460565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c339190613460565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612c5f57612c5e613746565b5b604051908082528060200260200182016040528015612c8d5781602001602082028036833780820191505090505b5090503081600081518110612ca557612ca4613cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d709190614112565b81600181518110612d8457612d83613cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e2295949392919061417a565b600060405180830381600087803b158015612e3c57600080fd5b505af1158015612e50573d6000803e3d6000fd5b505050505050565b6001601f60156101000a81548160ff021916908315150217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612efc969594939291906141d4565b60606040518083038185885af1158015612f1a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f3f9190614235565b5050506000601f60156101000a81548160ff0219169083151502179055505050565b6000601760020154601360020154612f799190613c07565b90506000601760010154601360010154612f939190613c07565b905060008183612fa39190613c07565b90506000818486612fb49190613bad565b612fbe9190613b7c565b90506000828487612fcf9190613bad565b612fd99190613b7c565b905060008111156130b9576000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051613030906142b9565b600060405180830381858888f193505050503d806000811461306e576040519150601f19603f3d011682016040523d82523d6000602084013e613073565b606091505b50509050806130b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ae9061431a565b60405180910390fd5b505b6000821115613197576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836175309060405161310e906142b9565b600060405180830381858888f193505050503d806000811461314c576040519150601f19603f3d011682016040523d82523d6000602084013e613151565b606091505b5050905080613195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318c9061431a565b60405180910390fd5b505b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131d95780820151818401526020810190506131be565b838111156131e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061320a8261319f565b61321481856131aa565b93506132248185602086016131bb565b61322d816131ee565b840191505092915050565b6000602082019050818103600083015261325281846131ff565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132998261326e565b9050919050565b6132a98161328e565b81146132b457600080fd5b50565b6000813590506132c6816132a0565b92915050565b6000819050919050565b6132df816132cc565b81146132ea57600080fd5b50565b6000813590506132fc816132d6565b92915050565b6000806040838503121561331957613318613264565b5b6000613327858286016132b7565b9250506020613338858286016132ed565b9150509250929050565b60008115159050919050565b61335781613342565b82525050565b6000602082019050613372600083018461334e565b92915050565b61338181613342565b811461338c57600080fd5b50565b60008135905061339e81613378565b92915050565b600080604083850312156133bb576133ba613264565b5b60006133c9858286016132b7565b92505060206133da8582860161338f565b9150509250929050565b6000602082840312156133fa576133f9613264565b5b6000613408848285016132b7565b91505092915050565b6000806040838503121561342857613427613264565b5b6000613436858286016132ed565b9250506020613447858286016132ed565b9150509250929050565b61345a816132cc565b82525050565b60006020820190506134756000830184613451565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134b08161328e565b82525050565b60006134c283836134a7565b60208301905092915050565b6000602082019050919050565b60006134e68261347b565b6134f08185613486565b93506134fb83613497565b8060005b8381101561352c57815161351388826134b6565b975061351e836134ce565b9250506001810190506134ff565b5085935050505092915050565b6000602082019050818103600083015261355381846134db565b905092915050565b60008060006060848603121561357457613573613264565b5b6000613582868287016132b7565b9350506020613593868287016132b7565b92505060406135a4868287016132ed565b9150509250925092565b60006080820190506135c36000830187613451565b6135d06020830186613451565b6135dd6040830185613451565b6135ea6060830184613451565b95945050505050565b6135fc8161328e565b82525050565b600060208201905061361760008301846135f3565b92915050565b600060ff82169050919050565b6136338161361d565b82525050565b600060208201905061364e600083018461362a565b92915050565b60008060006060848603121561366d5761366c613264565b5b600061367b868287016132ed565b935050602061368c868287016132ed565b925050604061369d868287016132ed565b9150509250925092565b6000602082840312156136bd576136bc613264565b5b60006136cb848285016132ed565b91505092915050565b6000602082840312156136ea576136e9613264565b5b60006136f88482850161338f565b91505092915050565b6000806040838503121561371857613717613264565b5b60006137268582860161338f565b9250506020613737858286016132ed565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61377e826131ee565b810181811067ffffffffffffffff8211171561379d5761379c613746565b5b80604052505050565b60006137b061325a565b90506137bc8282613775565b919050565b600067ffffffffffffffff8211156137dc576137db613746565b5b602082029050602081019050919050565b600080fd5b6000613805613800846137c1565b6137a6565b90508083825260208201905060208402830185811115613828576138276137ed565b5b835b81811015613851578061383d88826132b7565b84526020840193505060208101905061382a565b5050509392505050565b600082601f8301126138705761386f613741565b5b81356138808482602086016137f2565b91505092915050565b600067ffffffffffffffff8211156138a4576138a3613746565b5b602082029050602081019050919050565b60006138c86138c384613889565b6137a6565b905080838252602082019050602084028301858111156138eb576138ea6137ed565b5b835b81811015613914578061390088826132ed565b8452602084019350506020810190506138ed565b5050509392505050565b600082601f83011261393357613932613741565b5b81356139438482602086016138b5565b91505092915050565b6000806040838503121561396357613962613264565b5b600083013567ffffffffffffffff81111561398157613980613269565b5b61398d8582860161385b565b925050602083013567ffffffffffffffff8111156139ae576139ad613269565b5b6139ba8582860161391e565b9150509250929050565b600080604083850312156139db576139da613264565b5b60006139e9858286016132b7565b92505060206139fa858286016132b7565b9150509250929050565b6000819050919050565b6000613a29613a24613a1f8461326e565b613a04565b61326e565b9050919050565b6000613a3b82613a0e565b9050919050565b6000613a4d82613a30565b9050919050565b613a5d81613a42565b82525050565b6000602082019050613a786000830184613a54565b92915050565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b6000613ab46016836131aa565b9150613abf82613a7e565b602082019050919050565b60006020820190508181036000830152613ae381613aa7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b24826132cc565b9150613b2f836132cc565b925082821015613b4257613b41613aea565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b87826132cc565b9150613b92836132cc565b925082613ba257613ba1613b4d565b5b828204905092915050565b6000613bb8826132cc565b9150613bc3836132cc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bfc57613bfb613aea565b5b828202905092915050565b6000613c12826132cc565b9150613c1d836132cc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5257613c51613aea565b5b828201905092915050565b7f43616e206f6e6c792061697264726f70203130302077616c6c6574732070657260008201527f2074786e2064756520746f20676173206c696d69747300000000000000000000602082015250565b6000613cb96036836131aa565b9150613cc482613c5d565b604082019050919050565b60006020820190508181036000830152613ce881613cac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613d7557808604811115613d5157613d50613aea565b5b6001851615613d605780820291505b8081029050613d6e85613d1e565b9450613d35565b94509492505050565b600082613d8e5760019050613e4a565b81613d9c5760009050613e4a565b8160018114613db25760028114613dbc57613deb565b6001915050613e4a565b60ff841115613dce57613dcd613aea565b5b8360020a915084821115613de557613de4613aea565b5b50613e4a565b5060208310610133831016604e8410600b8410161715613e205782820a905083811115613e1b57613e1a613aea565b5b613e4a565b613e2d8484846001613d2b565b92509050818404811115613e4457613e43613aea565b5b81810290505b9392505050565b6000613e5c826132cc565b9150613e678361361d565b9250613e947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d7e565b905092915050565b6000613ea7826132cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613eda57613ed9613aea565b5b600182019050919050565b600081519050613ef4816132d6565b92915050565b600060208284031215613f1057613f0f613264565b5b6000613f1e84828501613ee5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f836026836131aa565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b6000613fef6015836131aa565b9150613ffa82613fb9565b602082019050919050565b6000602082019050818103600083015261401e81613fe2565b9050919050565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b600061405b6020836131aa565b915061406682614025565b602082019050919050565b6000602082019050818103600083015261408a8161404e565b9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b60006140c76011836131aa565b91506140d282614091565b602082019050919050565b600060208201905081810360008301526140f6816140ba565b9050919050565b60008151905061410c816132a0565b92915050565b60006020828403121561412857614127613264565b5b6000614136848285016140fd565b91505092915050565b6000819050919050565b600061416461415f61415a8461413f565b613a04565b6132cc565b9050919050565b61417481614149565b82525050565b600060a08201905061418f6000830188613451565b61419c602083018761416b565b81810360408301526141ae81866134db565b90506141bd60608301856135f3565b6141ca6080830184613451565b9695505050505050565b600060c0820190506141e960008301896135f3565b6141f66020830188613451565b614203604083018761416b565b614210606083018661416b565b61421d60808301856135f3565b61422a60a0830184613451565b979650505050505050565b60008060006060848603121561424e5761424d613264565b5b600061425c86828701613ee5565b935050602061426d86828701613ee5565b925050604061427e86828701613ee5565b9150509250925092565b600081905092915050565b50565b60006142a3600083614288565b91506142ae82614293565b600082019050919050565b60006142c482614296565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000614304601e836131aa565b915061430f826142ce565b602082019050919050565b60006020820190508181036000830152614333816142f7565b905091905056fea26469706673582212207562b62072474e3939d58e243910f1b817f93ea9c105de940bd120539b927aac64736f6c634300080a0033
Deployed Bytecode
0x60806040526004361061028c5760003560e01c80636ddd17131161015a578063a5949bcf116100c1578063dca3cef11161007a578063dca3cef1146109d1578063dd62ed3e146109fa578063e065099714610a37578063e5a772d214610a62578063f2fde38b14610a8b578063f887ea4014610ab457610293565b8063a5949bcf146108ad578063a8aa1b31146108d8578063a9059cbb14610903578063b46ba24b14610940578063b704a9f614610969578063d51ed1c81461099457610293565b8063893d20e811610113578063893d20e8146107b35780638ca42e4e146107de5780638ee41ca81461080757806395d89b41146108305780639b0ad05c1461085b5780639be953b31461088457610293565b80636ddd1713146106a557806370a08231146106d0578063715018a61461070d5780637a6d69b41461072457806383bd84851461076157806387cfc4931461078a57610293565b80632f54bf6e116101fe57806352aae9dd116101b757806352aae9dd146105a757806353cd6210146105d0578063593173c1146105fb578063599ca3971461062657806359d3cac2146106515780636390aeeb1461067a57610293565b80632f54bf6e146104ba578063313ce567146104f7578063364333f414610522578063470624021461053957806347375a37146105675780634c5d87101461057e57610293565b806318160ddd1161025057806318160ddd146103a35780631ca0b1d0146103ce57806323b872dd146103f95780632b112e49146104365780632b14ca56146104615780632d3b40471461048f57610293565b806306fdde0314610298578063095ea7b3146102c35780630c5b1d93146103005780630cb23d86146103295780631161ae391461036657610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610adf565b6040516102ba9190613238565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613302565b610b1c565b6040516102f7919061335d565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906133a4565b610c0e565b005b34801561033557600080fd5b50610350600480360381019061034b91906133e4565b610cb1565b60405161035d919061335d565b60405180910390f35b34801561037257600080fd5b5061038d60048036038101906103889190613411565b610cd1565b60405161039a919061335d565b60405180910390f35b3480156103af57600080fd5b506103b8610ce6565b6040516103c59190613460565b60405180910390f35b3480156103da57600080fd5b506103e3610cf0565b6040516103f09190613539565b60405180910390f35b34801561040557600080fd5b50610420600480360381019061041b919061355b565b610d7e565b60405161042d919061335d565b60405180910390f35b34801561044257600080fd5b5061044b610fd0565b6040516104589190613460565b60405180910390f35b34801561046d57600080fd5b50610476611003565b60405161048694939291906135ae565b60405180910390f35b34801561049b57600080fd5b506104a4611021565b6040516104b19190613602565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc91906133e4565b611047565b6040516104ee919061335d565b60405180910390f35b34801561050357600080fd5b5061050c6110a0565b6040516105199190613639565b60405180910390f35b34801561052e57600080fd5b506105376110a9565b005b34801561054557600080fd5b5061054e611160565b60405161055e94939291906135ae565b60405180910390f35b34801561057357600080fd5b5061057c61117e565b005b34801561058a57600080fd5b506105a560048036038101906105a09190613654565b6111e3565b005b3480156105b357600080fd5b506105ce60048036038101906105c991906136a7565b6112ae565b005b3480156105dc57600080fd5b506105e5611300565b6040516105f2919061335d565b60405180910390f35b34801561060757600080fd5b50610610611313565b60405161061d9190613602565b60405180910390f35b34801561063257600080fd5b5061063b611339565b6040516106489190613460565b60405180910390f35b34801561065d57600080fd5b5061067860048036038101906106739190613654565b61133f565b005b34801561068657600080fd5b5061068f6113d9565b60405161069c9190613460565b60405180910390f35b3480156106b157600080fd5b506106ba6113e6565b6040516106c7919061335d565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f291906133e4565b6113f9565b6040516107049190613460565b60405180910390f35b34801561071957600080fd5b50610722611442565b005b34801561073057600080fd5b5061074b600480360381019061074691906133e4565b611548565b604051610758919061335d565b60405180910390f35b34801561076d57600080fd5b50610788600480360381019061078391906136d4565b611568565b005b34801561079657600080fd5b506107b160048036038101906107ac91906133e4565b6115cd565b005b3480156107bf57600080fd5b506107c8611670565b6040516107d59190613602565b60405180910390f35b3480156107ea57600080fd5b50610805600480360381019061080091906136a7565b611699565b005b34801561081357600080fd5b5061082e60048036038101906108299190613701565b6116eb565b005b34801561083c57600080fd5b50610845611772565b6040516108529190613238565b60405180910390f35b34801561086757600080fd5b50610882600480360381019061087d919061394c565b6117af565b005b34801561089057600080fd5b506108ab60048036038101906108a691906133e4565b6118c2565b005b3480156108b957600080fd5b506108c26119f5565b6040516108cf9190613602565b60405180910390f35b3480156108e457600080fd5b506108ed611a1b565b6040516108fa9190613602565b60405180910390f35b34801561090f57600080fd5b5061092a60048036038101906109259190613302565b611a41565b604051610937919061335d565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190613654565b611a58565b005b34801561097557600080fd5b5061097e611af2565b60405161098b9190613460565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b691906136a7565b611af8565b6040516109c89190613460565b60405180910390f35b3480156109dd57600080fd5b506109f860048036038101906109f391906139c4565b611b55565b005b348015610a0657600080fd5b50610a216004803603810190610a1c91906139c4565b611c23565b604051610a2e9190613460565b60405180910390f35b348015610a4357600080fd5b50610a4c611caa565b604051610a599190613460565b60405180910390f35b348015610a6e57600080fd5b50610a896004803603810190610a8491906133e4565b611cb0565b005b348015610a9757600080fd5b50610ab26004803603810190610aad91906133e4565b611dab565b005b348015610ac057600080fd5b50610ac9611f20565b604051610ad69190613a63565b60405180910390f35b60606040518060400160405280600881526020017f5368696273616d61000000000000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bfc9190613460565b60405180910390a36001905092915050565b610c1733611047565b610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d90613aca565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610cdd83611af8565b11905092915050565b6000600854905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015610d7457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610d2a575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e0d57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610fb95782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f389190613b19565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610fc4858585611f46565b60019150509392505050565b6000610fdc60006113f9565b610fe761dead6113f9565b600854610ff49190613b19565b610ffe9190613b19565b905090565b60178060000154908060010154908060020154908060030154905084565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6110b233611047565b6110f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e890613aca565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561115c573d6000803e3d6000fd5b5050565b60138060000154908060010154908060020154908060030154905084565b61118733611047565b6111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90613aca565b60405180910390fd5b6001601f60176101000a81548160ff021916908315150217905550565b6111ec33611047565b61122b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122290613aca565b60405180910390fd5b826009819055506009546103e86008546112459190613b7c565b61124f9190613bad565b600c8190555081600a81905550600a546103e860085461126f9190613b7c565b6112799190613bad565b600d8190555080600b81905550600b546103e86008546112999190613b7c565b6112a39190613bad565b600e81905550505050565b6112b733611047565b6112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90613aca565b60405180910390fd5b8060128190555050565b601f60149054906101000a900460ff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b61134833611047565b611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90613aca565b60405180910390fd5b8260176000018190555081601760010181905550806017600201819055506017600201546017600101546017600001546113c19190613c07565b6113cb9190613c07565b601760030181905550505050565b6000600f80549050905090565b601f60189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61144b33611047565b61148a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148190613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b61157133611047565b6115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a790613aca565b60405180910390fd5b80601f60146101000a81548160ff02191690831515021790555050565b6115d633611047565b611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c90613aca565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6116a233611047565b6116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890613aca565b60405180910390fd5b8060118190555050565b6116f433611047565b611733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172a90613aca565b60405180910390fd5b81601f60186101000a81548160ff021916908315150217905550806103e860085461175e9190613b7c565b6117689190613bad565b6020819055505050565b60606040518060400160405280600881526020017f5368696273616d61000000000000000000000000000000000000000000000000815250905090565b6117b833611047565b6117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90613aca565b60405180910390fd5b606482511061183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290613ccf565b60405180910390fd5b60005b82518110156118bd57600083828151811061185c5761185b613cef565b5b6020026020010151905060006012600a6118769190613e51565b84848151811061188957611888613cef565b5b602002602001015161189b9190613bad565b90506118a8338383611f46565b505080806118b590613e9c565b91505061183e565b505050565b6118cb33611047565b61190a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190190613aca565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119459190613602565b602060405180830381865afa158015611962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119869190613efa565b9050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f0573d6000803e3d6000fd5b505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a4e338484611f46565b6001905092915050565b611a6133611047565b611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9790613aca565b60405180910390fd5b826013600001819055508160136001018190555080601360020181905550601360020154601360010154601360000154611ada9190613c07565b611ae49190613c07565b601360030181905550505050565b600a5481565b6000611b02610fd0565b6002611b2f601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113f9565b611b399190613bad565b83611b449190613bad565b611b4e9190613b7c565b9050919050565b611b5e33611047565b611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490613aca565b60405180910390fd5b81601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611cb933611047565b611cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cef90613aca565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611db433611047565b611df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dea90613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a90613f99565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fb05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690614005565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121345750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061214b5750601f60159054906101000a900460ff165b905080156121635761215e8686866122ff565b6122f7565b601f60179054906101000a900460ff1661217c57600080fd5b601f60149054906101000a900460ff16156121a15761219c868686612411565b6122f6565b82156121b7576121b286868661259a565b6122f5565b81156121e3576121c5612724565b156121d3576121d26127a1565b5b6121de8686866128cf565b6122f4565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122875750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61229057600080fd5b600e548461229d876113f9565b6122a79190613c07565b11156122e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122df90614071565b60405180910390fd5b6122f38686866129cb565b5b5b5b5b505050505050565b6123538382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234e9190613b19565b612a1b565b6123a78282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a29190613c07565b612a1b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124049190613460565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246857600080fd5b600c548111156124ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a4906140dd565b60405180910390fd5b6064605a826124bc9190613bad565b6124c69190613b7c565b6010819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612595838383601054612a63565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125f157600080fd5b600c54811115612636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262d906140dd565b60405180910390fd5b600e5481612643846113f9565b61264d9190613c07565b111561268e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268590614071565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612708576103e8601360030154826126f39190613bad565b6126fd9190613b7c565b601081905550612711565b60006010819055505b61271f838383601054612a63565b505050565b6000601f60169054906101000a900460ff1615801561274f5750601f60189054906101000a900460ff165b801561279c5750602054600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60166101000a81548160ff02191690831515021790555060006127c7306113f9565b905060006013600301546017600301546127e19190613c07565b6013600001546017600001546127f79190613c07565b836128029190613bad565b61280c9190613b7c565b90506000818361281c9190613b19565b9050600060028361282d9190613b7c565b90506000818461283d9190613b19565b9050808361284b9190613c07565b9450600047905061285b86612c42565b600081476128699190613b19565b9050600087848361287a9190613bad565b6128849190613b7c565b90506128908582612e58565b6000834761289e9190613b19565b90506128a981612f61565b5050505050505050506000601f60166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561292657600080fd5b600d5481111561293557600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166129af576103e86017600301548261299a9190613bad565b6129a49190613b7c565b6010819055506129b8565b60006010819055505b6129c6838383601054612a63565b505050565b6103e8601154826129dc9190613bad565b6129e69190613b7c565b60108190555060006010541115612a0a57612a05838383601054612a63565b612a16565b612a158383836122ff565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060105483612a739190613b19565b9050612ac98584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac49190613b19565b612a1b565b612b1d3083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b189190613c07565b612a1b565b612b718482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b6c9190613c07565b612a1b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bce9190613460565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c339190613460565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612c5f57612c5e613746565b5b604051908082528060200260200182016040528015612c8d5781602001602082028036833780820191505090505b5090503081600081518110612ca557612ca4613cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d709190614112565b81600181518110612d8457612d83613cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e2295949392919061417a565b600060405180830381600087803b158015612e3c57600080fd5b505af1158015612e50573d6000803e3d6000fd5b505050505050565b6001601f60156101000a81548160ff021916908315150217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612efc969594939291906141d4565b60606040518083038185885af1158015612f1a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f3f9190614235565b5050506000601f60156101000a81548160ff0219169083151502179055505050565b6000601760020154601360020154612f799190613c07565b90506000601760010154601360010154612f939190613c07565b905060008183612fa39190613c07565b90506000818486612fb49190613bad565b612fbe9190613b7c565b90506000828487612fcf9190613bad565b612fd99190613b7c565b905060008111156130b9576000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051613030906142b9565b600060405180830381858888f193505050503d806000811461306e576040519150601f19603f3d011682016040523d82523d6000602084013e613073565b606091505b50509050806130b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ae9061431a565b60405180910390fd5b505b6000821115613197576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836175309060405161310e906142b9565b600060405180830381858888f193505050503d806000811461314c576040519150601f19603f3d011682016040523d82523d6000602084013e613151565b606091505b5050905080613195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318c9061431a565b60405180910390fd5b505b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131d95780820151818401526020810190506131be565b838111156131e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061320a8261319f565b61321481856131aa565b93506132248185602086016131bb565b61322d816131ee565b840191505092915050565b6000602082019050818103600083015261325281846131ff565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132998261326e565b9050919050565b6132a98161328e565b81146132b457600080fd5b50565b6000813590506132c6816132a0565b92915050565b6000819050919050565b6132df816132cc565b81146132ea57600080fd5b50565b6000813590506132fc816132d6565b92915050565b6000806040838503121561331957613318613264565b5b6000613327858286016132b7565b9250506020613338858286016132ed565b9150509250929050565b60008115159050919050565b61335781613342565b82525050565b6000602082019050613372600083018461334e565b92915050565b61338181613342565b811461338c57600080fd5b50565b60008135905061339e81613378565b92915050565b600080604083850312156133bb576133ba613264565b5b60006133c9858286016132b7565b92505060206133da8582860161338f565b9150509250929050565b6000602082840312156133fa576133f9613264565b5b6000613408848285016132b7565b91505092915050565b6000806040838503121561342857613427613264565b5b6000613436858286016132ed565b9250506020613447858286016132ed565b9150509250929050565b61345a816132cc565b82525050565b60006020820190506134756000830184613451565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134b08161328e565b82525050565b60006134c283836134a7565b60208301905092915050565b6000602082019050919050565b60006134e68261347b565b6134f08185613486565b93506134fb83613497565b8060005b8381101561352c57815161351388826134b6565b975061351e836134ce565b9250506001810190506134ff565b5085935050505092915050565b6000602082019050818103600083015261355381846134db565b905092915050565b60008060006060848603121561357457613573613264565b5b6000613582868287016132b7565b9350506020613593868287016132b7565b92505060406135a4868287016132ed565b9150509250925092565b60006080820190506135c36000830187613451565b6135d06020830186613451565b6135dd6040830185613451565b6135ea6060830184613451565b95945050505050565b6135fc8161328e565b82525050565b600060208201905061361760008301846135f3565b92915050565b600060ff82169050919050565b6136338161361d565b82525050565b600060208201905061364e600083018461362a565b92915050565b60008060006060848603121561366d5761366c613264565b5b600061367b868287016132ed565b935050602061368c868287016132ed565b925050604061369d868287016132ed565b9150509250925092565b6000602082840312156136bd576136bc613264565b5b60006136cb848285016132ed565b91505092915050565b6000602082840312156136ea576136e9613264565b5b60006136f88482850161338f565b91505092915050565b6000806040838503121561371857613717613264565b5b60006137268582860161338f565b9250506020613737858286016132ed565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61377e826131ee565b810181811067ffffffffffffffff8211171561379d5761379c613746565b5b80604052505050565b60006137b061325a565b90506137bc8282613775565b919050565b600067ffffffffffffffff8211156137dc576137db613746565b5b602082029050602081019050919050565b600080fd5b6000613805613800846137c1565b6137a6565b90508083825260208201905060208402830185811115613828576138276137ed565b5b835b81811015613851578061383d88826132b7565b84526020840193505060208101905061382a565b5050509392505050565b600082601f8301126138705761386f613741565b5b81356138808482602086016137f2565b91505092915050565b600067ffffffffffffffff8211156138a4576138a3613746565b5b602082029050602081019050919050565b60006138c86138c384613889565b6137a6565b905080838252602082019050602084028301858111156138eb576138ea6137ed565b5b835b81811015613914578061390088826132ed565b8452602084019350506020810190506138ed565b5050509392505050565b600082601f83011261393357613932613741565b5b81356139438482602086016138b5565b91505092915050565b6000806040838503121561396357613962613264565b5b600083013567ffffffffffffffff81111561398157613980613269565b5b61398d8582860161385b565b925050602083013567ffffffffffffffff8111156139ae576139ad613269565b5b6139ba8582860161391e565b9150509250929050565b600080604083850312156139db576139da613264565b5b60006139e9858286016132b7565b92505060206139fa858286016132b7565b9150509250929050565b6000819050919050565b6000613a29613a24613a1f8461326e565b613a04565b61326e565b9050919050565b6000613a3b82613a0e565b9050919050565b6000613a4d82613a30565b9050919050565b613a5d81613a42565b82525050565b6000602082019050613a786000830184613a54565b92915050565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b6000613ab46016836131aa565b9150613abf82613a7e565b602082019050919050565b60006020820190508181036000830152613ae381613aa7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b24826132cc565b9150613b2f836132cc565b925082821015613b4257613b41613aea565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b87826132cc565b9150613b92836132cc565b925082613ba257613ba1613b4d565b5b828204905092915050565b6000613bb8826132cc565b9150613bc3836132cc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bfc57613bfb613aea565b5b828202905092915050565b6000613c12826132cc565b9150613c1d836132cc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5257613c51613aea565b5b828201905092915050565b7f43616e206f6e6c792061697264726f70203130302077616c6c6574732070657260008201527f2074786e2064756520746f20676173206c696d69747300000000000000000000602082015250565b6000613cb96036836131aa565b9150613cc482613c5d565b604082019050919050565b60006020820190508181036000830152613ce881613cac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613d7557808604811115613d5157613d50613aea565b5b6001851615613d605780820291505b8081029050613d6e85613d1e565b9450613d35565b94509492505050565b600082613d8e5760019050613e4a565b81613d9c5760009050613e4a565b8160018114613db25760028114613dbc57613deb565b6001915050613e4a565b60ff841115613dce57613dcd613aea565b5b8360020a915084821115613de557613de4613aea565b5b50613e4a565b5060208310610133831016604e8410600b8410161715613e205782820a905083811115613e1b57613e1a613aea565b5b613e4a565b613e2d8484846001613d2b565b92509050818404811115613e4457613e43613aea565b5b81810290505b9392505050565b6000613e5c826132cc565b9150613e678361361d565b9250613e947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d7e565b905092915050565b6000613ea7826132cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613eda57613ed9613aea565b5b600182019050919050565b600081519050613ef4816132d6565b92915050565b600060208284031215613f1057613f0f613264565b5b6000613f1e84828501613ee5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f836026836131aa565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b6000613fef6015836131aa565b9150613ffa82613fb9565b602082019050919050565b6000602082019050818103600083015261401e81613fe2565b9050919050565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b600061405b6020836131aa565b915061406682614025565b602082019050919050565b6000602082019050818103600083015261408a8161404e565b9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b60006140c76011836131aa565b91506140d282614091565b602082019050919050565b600060208201905081810360008301526140f6816140ba565b9050919050565b60008151905061410c816132a0565b92915050565b60006020828403121561412857614127613264565b5b6000614136848285016140fd565b91505092915050565b6000819050919050565b600061416461415f61415a8461413f565b613a04565b6132cc565b9050919050565b61417481614149565b82525050565b600060a08201905061418f6000830188613451565b61419c602083018761416b565b81810360408301526141ae81866134db565b90506141bd60608301856135f3565b6141ca6080830184613451565b9695505050505050565b600060c0820190506141e960008301896135f3565b6141f66020830188613451565b614203604083018761416b565b614210606083018661416b565b61421d60808301856135f3565b61422a60a0830184613451565b979650505050505050565b60008060006060848603121561424e5761424d613264565b5b600061425c86828701613ee5565b935050602061426d86828701613ee5565b925050604061427e86828701613ee5565b9150509250925092565b600081905092915050565b50565b60006142a3600083614288565b91506142ae82614293565b600082019050919050565b60006142c482614296565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000614304601e836131aa565b915061430f826142ce565b602082019050919050565b60006020820190508181036000830152614333816142f7565b905091905056fea26469706673582212207562b62072474e3939d58e243910f1b817f93ea9c105de940bd120539b927aac64736f6c634300080a0033
Deployed Bytecode Sourcemap
4282:16482:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19485:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19906:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9034:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4451:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12654:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19215:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12261:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20305:456;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12116:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5718:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;5774:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2211:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19309:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11607:171;;;;;;;;;;;;;:::i;:::-;;5691:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;8905:120;;;;;;;;;;;;;:::i;:::-;;8385:511;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9388:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6293:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6031:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5045:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10000:368;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12369:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6511:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19655:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2574:146;;;;;;;;;;;;;:::i;:::-;;4348:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11495:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11220:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19571:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10439:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9173:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19395:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10759:452;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11787:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6117:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6235:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20131:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9569:360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5006:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12481:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10567:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19765:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4968:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11334:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2323:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6204:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19485:80;19533:13;19557:5;;;;;;;;;;;;;;;;;19550:12;;19485:80;:::o;19906:216::-;19981:4;20033:6;19998:11;:23;20010:10;19998:23;;;;;;;;;;;;;;;:32;20022:7;19998:32;;;;;;;;;;;;;;;:41;;;;20076:7;20055:37;;20064:10;20055:37;;;20085:6;20055:37;;;;;;:::i;:::-;;;;;;;;20110:4;20103:11;;19906:216;;;;:::o;9034:130::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9149:7:::1;9127:12;:19;9140:5;9127:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9034:130:::0;;:::o;4451:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;12654:150::-;12734:4;12790:6;12758:29;12778:8;12758:19;:29::i;:::-;:38;12751:45;;12654:150;;;;:::o;19215:88::-;19270:7;19288:12;;19281:19;;19215:88;:::o;12261:99::-;12307:16;12342:10;12335:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12261:99;:::o;20305:456::-;20403:4;20420:18;20441:11;:19;20453:6;20441:19;;;;;;;;;;;;;;;:31;20461:10;20441:31;;;;;;;;;;;;;;;;20420:52;;20505:6;20491:10;:20;;20483:29;;;;;;20565:17;20530:11;:19;20542:6;20530:19;;;;;;;;;;;;;;;:31;20550:10;20530:31;;;;;;;;;;;;;;;;:52;20526:159;;20667:6;20633:11;:19;20645:6;20633:19;;;;;;;;;;;;;;;:31;20653:10;20633:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;20599:11;:19;20611:6;20599:19;;;;;;;;;;;;;;;:31;20619:10;20599:31;;;;;;;;;;;;;;;:74;;;;20526:159;20695:36;20705:6;20713:9;20724:6;20695:9;:36::i;:::-;20749:4;20742:11;;;20305:456;;;;;:::o;12116:136::-;12169:7;12229:15;5979:42;12229:9;:15::i;:::-;12211;5898:42;12211:9;:15::i;:::-;12196:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;12189:55;;12116:136;:::o;5718:22::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5774:82::-;;;;;;;;;;;;;:::o;2211:103::-;2266:4;2301:5;;;;;;;;;;;2290:16;;:7;:16;;;2283:23;;2211:103;;;:::o;19309:80::-;19361:5;4842:2;19370:16;;19309:80;:::o;11607:171::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11666:26:::1;11695:21;11666:50;;11735:5;::::0;::::1;;;;;;;;11727:23;;:43;11751:18;11727:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11655:123;11607:171::o:0;5691:20::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;8905:120::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9013:4:::1;8982:28;;:35;;;;;;;;;;;;;;;;;;8905:120::o:0;8385:511::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8543:17:::1;8524:16;:36;;;;8618:16;;8611:4;8597:12;;:18;;;;:::i;:::-;:37;;;;:::i;:::-;8582:12;:52;;;;8667:18;8647:17;:38;;;;8742:17;;8735:4;8721:12;;:18;;;;:::i;:::-;:38;;;;:::i;:::-;8705:13;:54;;;;8793:20;8772:19;:41;;;;8869:19;;8862:4;8848:12;;:18;;;;:::i;:::-;:40;;;;:::i;:::-;8830:15;:58;;;;8385:511:::0;;;:::o;9388:111::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9485:6:::1;9467:15;:24;;;;9388:111:::0;:::o;6293:33::-;;;;;;;;;;;;;:::o;6031:79::-;;;;;;;;;;;;;:::o;5045:34::-;;;;:::o;10000:368::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10154:13:::1;10131:7;:20;;:36;;;;10203:15;10178:7;:22;;:40;;;;10252:13;10229:7;:20;;:36;;;;10340:7;:20;;;10315:7;:22;;;10292:7;:20;;;:45;;;;:::i;:::-;:68;;;;:::i;:::-;10276:7;:13;;:84;;;;10000:368:::0;;;:::o;12369:103::-;12421:7;12447:10;:17;;;;12440:24;;12369:103;:::o;6511:30::-;;;;;;;;;;;;;:::o;19655:104::-;19721:7;19739:9;:18;19749:7;19739:18;;;;;;;;;;;;;;;;19732:25;;19655:104;;;:::o;2574:146::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2680:1:::1;2644:39;;2665:5;::::0;::::1;;;;;;;;2644:39;;;;;;;;;;;;2710:1;2694:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2574:146::o:0;4348:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;11495:103::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11585:5:::1;11568:14;;:22;;;;;;;;;;;;;;;;;;11495:103:::0;:::o;11220:105::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11312:5:::1;11289:12;:20;11302:6;11289:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11220:105:::0;:::o;19571:78::-;19623:7;19641:5;;;;;;;;;;;19634:12;;19571:78;:::o;10439:119::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10538:12:::1;10524:11;:26;;;;10439:119:::0;:::o;9173:206::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9295:8:::1;9281:11;;:22;;;;;;;;;;;;;;;;;;9352:19;9345:4;9330:12;;:19;;;;:::i;:::-;:41;;;;:::i;:::-;9314:13;:57;;;;9173:206:::0;;:::o;19395:84::-;19445:13;19469:7;;;;;;;;;;;;;;;;;19462:14;;19395:84;:::o;10759:452::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10908:3:::1;10884:14;:21;:27;10876:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;10985:9;10981:223;11004:14;:21;11000:1;:25;10981:223;;;11046:14;11063;11078:1;11063:17;;;;;;;;:::i;:::-;;;;;;;;11046:34;;11095:14;4842:2;11126;:13;;;;:::i;:::-;11113:7;11121:1;11113:10;;;;;;;;:::i;:::-;;;;;;;;:26;;;;:::i;:::-;11095:45;;11155:37;11165:10;11177:6;11185;11155:9;:37::i;:::-;11031:173;;11027:3;;;;;:::i;:::-;;;;10981:223;;;;10759:452:::0;;:::o;11787:208::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11856:24:::1;11889:6;11883:23;;;11915:4;11883:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11856:65;;11940:19;;;;;;;;;;;11932:37;;:55;11970:16;11932:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11845:150;11787:208:::0;:::o;6117:77::-;;;;;;;;;;;;;:::o;6235:19::-;;;;;;;;;;;;;:::o;20131:165::-;20209:4;20226:40;20236:10;20248:9;20259:6;20226:9;:40::i;:::-;20284:4;20277:11;;20131:165;;;;:::o;9569:360::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9721:13:::1;9699:6;:19;;:35;;;;9769:15;9745:6;:21;;:39;;;;9817:13;9795:6;:19;;:35;;;;9902:6;:19;;;9878:6;:21;;;9856:6;:19;;;:43;;;;:::i;:::-;:65;;;;:::i;:::-;9841:6;:12;;:80;;;;9569:360:::0;;;:::o;5006:32::-;;;;:::o;12481:164::-;12549:7;12614:22;:20;:22::i;:::-;12607:1;12588:15;12598:4;;;;;;;;;;;12588:9;:15::i;:::-;:21;;;;:::i;:::-;12576:8;:34;;;;:::i;:::-;:61;;;;:::i;:::-;12569:68;;12481:164;;;:::o;10567:183::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10689:12:::1;10667:19;;:34;;;;;;;;;;;;;;;;;;10732:10;10712:17;;:30;;;;;;;;;;;;;;;;;;10567:183:::0;;:::o;19765:132::-;19849:7;19867:11;:19;19879:6;19867:19;;;;;;;;;;;;;;;:28;19887:7;19867:28;;;;;;;;;;;;;;;;19860:35;;19765:132;;;;:::o;4968:31::-;;;;:::o;11334:152::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11438:4:::1;11407:22;:30;11430:6;11407:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11474:4;11453:12;:20;11466:6;11453:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11334:152:::0;:::o;2323:242::-;2145:19;2153:10;2145:7;:19::i;:::-;2137:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2432:1:::1;2412:22;;:8;:22;;;;2404:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2521:8;2493:37;;2514:5;::::0;::::1;;;;;;;;2493:37;;;;;;;;;;;;2549:8;2541:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;2323:242:::0;:::o;6204:24::-;;;;;;;;;;;;;:::o;12930:1205::-;13041:1;13025:18;;:6;:18;;;;:41;;;;;13064:1;13045:21;;:9;:21;;;;13025:41;13017:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13102:10;13113:22;:30;13136:6;13113:30;;;;;;;;;;;;;;;;;;;;;;;;;13102:41;;13154:11;13166:22;:33;13189:9;13166:33;;;;;;;;;;;;;;;;;;;;;;;;;13154:45;;13210:15;13226:12;:20;13239:6;13226:20;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;13248:12;:23;13261:9;13248:23;;;;;;;;;;;;;;;;;;;;;;;;;13226:45;:56;;;;13273:9;;;;;;;;;;;13226:56;13210:72;;13299:10;13296:832;;;13310:42;13328:6;13335:9;13345:6;13310:17;:42::i;:::-;13296:832;;;13378:28;;;;;;;;;;;13370:37;;;;;;13460:14;;;;;;;;;;;13457:660;;;13475:39;13490:6;13497:9;13507:6;13475:14;:39::i;:::-;13457:660;;;13564:5;13561:556;;;13570:35;13581:6;13588:9;13598:6;13570:10;:35::i;:::-;13561:556;;;13656:6;13653:464;;;13722:16;:14;:16::i;:::-;13718:35;;;13741:10;:8;:10::i;:::-;13718:35;13771:36;13783:6;13790:9;13800:6;13771:11;:36::i;:::-;13653:464;;;13890:12;:20;13903:6;13890:20;;;;;;;;;;;;;;;;;;;;;;;;;13889:21;:47;;;;;13913:12;:23;13926:9;13913:23;;;;;;;;;;;;;;;;;;;;;;;;;13912:24;13889:47;13881:56;;;;;;13993:15;;13985:6;13964:20;13974:9;13964;:20::i;:::-;:27;;;;:::i;:::-;:44;;13956:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;14064:37;14077:6;14084:9;14094:6;14064:12;:37::i;:::-;13653:464;13561:556;13457:660;13296:832;13006:1129;;;12930:1205;;;:::o;15643:263::-;15738:47;15753:6;15778;15760:9;:17;15770:6;15760:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;15738:14;:47::i;:::-;15796:53;15811:9;15842:6;15821:9;:20;15831:9;15821:20;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;15796:14;:53::i;:::-;15881:9;15865:33;;15874:6;15865:33;;;15891:6;15865:33;;;;;;:::i;:::-;;;;;;;;15643:263;;;:::o;14144:378::-;14245:12;:23;14258:9;14245:23;;;;;;;;;;;;;;;;;;;;;;;;;14244:24;14236:33;;;;;;14298:12;;14288:6;:22;;14280:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14364:3;14361:2;14354:6;:9;;;;:::i;:::-;:13;;;;:::i;:::-;14343:8;:24;;;;14402:4;14378:12;:23;14391:9;14378:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14417:10;14441:9;14417:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14463:51;14481:6;14488:9;14498:6;14505:8;;14463:17;:51::i;:::-;14144:378;;;:::o;14531:468::-;14628:12;:23;14641:9;14628:23;;;;;;;;;;;;;;;;;;;;;;;;;14627:24;14619:33;;;;;;14681:12;;14671:6;:22;;14663:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14763:15;;14755:6;14734:20;14744:9;14734;:20::i;:::-;:27;;;;:::i;:::-;:44;;14726:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;14830:12;:23;14843:9;14830:23;;;;;;;;;;;;;;;;;;;;;;;;;14826:103;;14896:4;14883:6;:12;;;14876:6;:19;;;;:::i;:::-;:24;;;;:::i;:::-;14865:8;:35;;;;14826:103;;;14928:1;14917:8;:12;;;;14826:103;14940:51;14958:6;14965:9;14975:6;14982:8;;14940:17;:51::i;:::-;14531:468;;;:::o;16515:186::-;16563:4;16601:6;;;;;;;;;;;16600:7;:35;;;;;16624:11;;;;;;;;;;;16600:35;:93;;;;;16680:13;;16652:9;:24;16670:4;16652:24;;;;;;;;;;;;;;;;:41;;16600:93;16580:113;;16515:186;:::o;16713:729::-;6649:4;6640:6;;:13;;;;;;;;;;;;;;;;;;16761:14:::1;16778:24;16796:4;16778:9;:24::i;:::-;16761:41;;16816:21;16907:6;:12;;;16891:7;:13;;;:28;;;;:::i;:::-;16869:6;:19;;;16846:7;:20;;;:42;;;;:::i;:::-;16838:6;:51;;;;:::i;:::-;:82;;;;:::i;:::-;16816:104;;16931:18;16957:13;16950:6;:20;;;;:::i;:::-;16931:39;;16981:16;17012:1;16998:13;:15;;;;:::i;:::-;16981:32;;17024:19;17058:8;17044:13;:22;;;;:::i;:::-;17024:42;;17095:11;17084:10;:22;;;;:::i;:::-;17077:29;;17117:14;17132:21;17117:36;;17164:25;17182:6;17164:17;:25::i;:::-;17200:14;17237:6;17215:21;:28;;;;:::i;:::-;17200:43;;17254:13;17289:6;17276:11;17269:6;:18;;;;:::i;:::-;17268:27;;;;:::i;:::-;17254:41;;17306:29;17320:8;17329:5;17306:13;:29::i;:::-;17346:20;17389:6;17367:21;:28;;;;:::i;:::-;17346:49;;17406:28;17421:12;17406:14;:28::i;:::-;16750:692;;;;;;;;;6685:5:::0;6676:6;;:14;;;;;;;;;;;;;;;;;;16713:729::o;15005:344::-;15103:12;:20;15116:6;15103:20;;;;;;;;;;;;;;;;;;;;;;;;;15102:21;15094:30;;;;;;15153:13;;15143:6;:23;;15135:32;;;;;;15182:12;:20;15195:6;15182:20;;;;;;;;;;;;;;;;;;;;;;;;;15178:101;;15246:4;15232:7;:13;;;15225:6;:20;;;;:::i;:::-;:25;;;;:::i;:::-;15214:8;:36;;;;15178:101;;;15278:1;15267:8;:12;;;;15178:101;15290:51;15308:6;15315:9;15325:6;15332:8;;15290:17;:51::i;:::-;15005:344;;;:::o;15358:276::-;15480:4;15468:11;;15459:6;:20;;;;:::i;:::-;:25;;;;:::i;:::-;15448:8;:36;;;;15510:1;15499:8;;:12;15495:132;;;15514:51;15532:6;15539:9;15549:6;15556:8;;15514:17;:51::i;:::-;15495:132;;;15583:42;15601:6;15608:9;15618:6;15583:17;:42::i;:::-;15495:132;15358:276;;;:::o;16388:118::-;16488:10;16467:9;:18;16477:7;16467:18;;;;;;;;;;;;;;;:31;;;;16388:118;;:::o;15915:464::-;16028:17;16055:8;;16048:6;:15;;;;:::i;:::-;16028:35;;16074:47;16089:6;16114;16096:9;:17;16106:6;16096:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;16074:14;:47::i;:::-;16132:64;16155:4;16186:9;16161;:24;16179:4;16161:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;16132:14;:64::i;:::-;16207:56;16222:9;16253;16232;:20;16242:9;16232:20;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;16207:14;:56::i;:::-;16295:9;16279:36;;16288:6;16279:36;;;16305:9;16279:36;;;;;;:::i;:::-;;;;;;;;16355:4;16331:40;;16340:6;16331:40;;;16361:9;16331:40;;;;;;:::i;:::-;;;;;;;;16017:362;15915:464;;;;:::o;18422:369::-;18484:21;18520:1;18506:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18484:38;;18551:4;18533;18538:1;18533:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18577:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18567:4;18572:1;18567:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18601:6;;;;;;;;;;;:57;;;18673:6;18694:1;18710:4;18737;18757:15;18601:182;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18473:318;18422:369;:::o;18800:343::-;18892:4;18882:9;;:14;;;;;;;;;;;;;;;;;;18907:6;;;;;;;;;;;:22;;;18937:9;18970:4;18990:12;19017:1;19033;19049:19;;;;;;;;;;;19083:15;18907:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19130:5;19120:9;;:15;;;;;;;;;;;;;;;;;;18800:343;;:::o;17451:962::-;17516:20;17562:7;:20;;;17540:6;:19;;;:42;;;;:::i;:::-;17516:67;;17594:22;17644:7;:22;;;17620:6;:21;;;:46;;;;:::i;:::-;17594:73;;17678:16;17713:14;17698:12;:29;;;;:::i;:::-;17678:50;;17742:26;17804:8;17787:12;17771;:29;;;;:::i;:::-;:42;;;;:::i;:::-;17742:71;;17824:28;17890:8;17871:14;17855:12;:31;;;;:::i;:::-;:44;;;;:::i;:::-;17824:75;;17939:1;17916:20;:24;17913:245;;;17953:23;18013:19;;;;;;;;;;;18005:33;;18046:20;18073:5;18005:78;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17952:131;;;18102:18;18094:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;17941:217;17913:245;18195:1;18174:18;:22;18171:235;;;18209:21;18267:17;;;;;;;;;;;18259:31;;18298:18;18323:5;18259:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18208:125;;;18352:16;18344:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;18197:209;18171:235;17505:908;;;;;17451:962;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:116::-;3564:21;3579:5;3564:21;:::i;:::-;3557:5;3554:32;3544:60;;3600:1;3597;3590:12;3544:60;3494:116;:::o;3616:133::-;3659:5;3697:6;3684:20;3675:29;;3713:30;3737:5;3713:30;:::i;:::-;3616:133;;;;:::o;3755:468::-;3820:6;3828;3877:2;3865:9;3856:7;3852:23;3848:32;3845:119;;;3883:79;;:::i;:::-;3845:119;4003:1;4028:53;4073:7;4064:6;4053:9;4049:22;4028:53;:::i;:::-;4018:63;;3974:117;4130:2;4156:50;4198:7;4189:6;4178:9;4174:22;4156:50;:::i;:::-;4146:60;;4101:115;3755:468;;;;;:::o;4229:329::-;4288:6;4337:2;4325:9;4316:7;4312:23;4308:32;4305:119;;;4343:79;;:::i;:::-;4305:119;4463:1;4488:53;4533:7;4524:6;4513:9;4509:22;4488:53;:::i;:::-;4478:63;;4434:117;4229:329;;;;:::o;4564:474::-;4632:6;4640;4689:2;4677:9;4668:7;4664:23;4660:32;4657:119;;;4695:79;;:::i;:::-;4657:119;4815:1;4840:53;4885:7;4876:6;4865:9;4861:22;4840:53;:::i;:::-;4830:63;;4786:117;4942:2;4968:53;5013:7;5004:6;4993:9;4989:22;4968:53;:::i;:::-;4958:63;;4913:118;4564:474;;;;;:::o;5044:118::-;5131:24;5149:5;5131:24;:::i;:::-;5126:3;5119:37;5044:118;;:::o;5168:222::-;5261:4;5299:2;5288:9;5284:18;5276:26;;5312:71;5380:1;5369:9;5365:17;5356:6;5312:71;:::i;:::-;5168:222;;;;:::o;5396:114::-;5463:6;5497:5;5491:12;5481:22;;5396:114;;;:::o;5516:184::-;5615:11;5649:6;5644:3;5637:19;5689:4;5684:3;5680:14;5665:29;;5516:184;;;;:::o;5706:132::-;5773:4;5796:3;5788:11;;5826:4;5821:3;5817:14;5809:22;;5706:132;;;:::o;5844:108::-;5921:24;5939:5;5921:24;:::i;:::-;5916:3;5909:37;5844:108;;:::o;5958:179::-;6027:10;6048:46;6090:3;6082:6;6048:46;:::i;:::-;6126:4;6121:3;6117:14;6103:28;;5958:179;;;;:::o;6143:113::-;6213:4;6245;6240:3;6236:14;6228:22;;6143:113;;;:::o;6292:732::-;6411:3;6440:54;6488:5;6440:54;:::i;:::-;6510:86;6589:6;6584:3;6510:86;:::i;:::-;6503:93;;6620:56;6670:5;6620:56;:::i;:::-;6699:7;6730:1;6715:284;6740:6;6737:1;6734:13;6715:284;;;6816:6;6810:13;6843:63;6902:3;6887:13;6843:63;:::i;:::-;6836:70;;6929:60;6982:6;6929:60;:::i;:::-;6919:70;;6775:224;6762:1;6759;6755:9;6750:14;;6715:284;;;6719:14;7015:3;7008:10;;6416:608;;;6292:732;;;;:::o;7030:373::-;7173:4;7211:2;7200:9;7196:18;7188:26;;7260:9;7254:4;7250:20;7246:1;7235:9;7231:17;7224:47;7288:108;7391:4;7382:6;7288:108;:::i;:::-;7280:116;;7030:373;;;;:::o;7409:619::-;7486:6;7494;7502;7551:2;7539:9;7530:7;7526:23;7522:32;7519:119;;;7557:79;;:::i;:::-;7519:119;7677:1;7702:53;7747:7;7738:6;7727:9;7723:22;7702:53;:::i;:::-;7692:63;;7648:117;7804:2;7830:53;7875:7;7866:6;7855:9;7851:22;7830:53;:::i;:::-;7820:63;;7775:118;7932:2;7958:53;8003:7;7994:6;7983:9;7979:22;7958:53;:::i;:::-;7948:63;;7903:118;7409:619;;;;;:::o;8034:553::-;8211:4;8249:3;8238:9;8234:19;8226:27;;8263:71;8331:1;8320:9;8316:17;8307:6;8263:71;:::i;:::-;8344:72;8412:2;8401:9;8397:18;8388:6;8344:72;:::i;:::-;8426;8494:2;8483:9;8479:18;8470:6;8426:72;:::i;:::-;8508;8576:2;8565:9;8561:18;8552:6;8508:72;:::i;:::-;8034:553;;;;;;;:::o;8593:118::-;8680:24;8698:5;8680:24;:::i;:::-;8675:3;8668:37;8593:118;;:::o;8717:222::-;8810:4;8848:2;8837:9;8833:18;8825:26;;8861:71;8929:1;8918:9;8914:17;8905:6;8861:71;:::i;:::-;8717:222;;;;:::o;8945:86::-;8980:7;9020:4;9013:5;9009:16;8998:27;;8945:86;;;:::o;9037:112::-;9120:22;9136:5;9120:22;:::i;:::-;9115:3;9108:35;9037:112;;:::o;9155:214::-;9244:4;9282:2;9271:9;9267:18;9259:26;;9295:67;9359:1;9348:9;9344:17;9335:6;9295:67;:::i;:::-;9155:214;;;;:::o;9375:619::-;9452:6;9460;9468;9517:2;9505:9;9496:7;9492:23;9488:32;9485:119;;;9523:79;;:::i;:::-;9485:119;9643:1;9668:53;9713:7;9704:6;9693:9;9689:22;9668:53;:::i;:::-;9658:63;;9614:117;9770:2;9796:53;9841:7;9832:6;9821:9;9817:22;9796:53;:::i;:::-;9786:63;;9741:118;9898:2;9924:53;9969:7;9960:6;9949:9;9945:22;9924:53;:::i;:::-;9914:63;;9869:118;9375:619;;;;;:::o;10000:329::-;10059:6;10108:2;10096:9;10087:7;10083:23;10079:32;10076:119;;;10114:79;;:::i;:::-;10076:119;10234:1;10259:53;10304:7;10295:6;10284:9;10280:22;10259:53;:::i;:::-;10249:63;;10205:117;10000:329;;;;:::o;10335:323::-;10391:6;10440:2;10428:9;10419:7;10415:23;10411:32;10408:119;;;10446:79;;:::i;:::-;10408:119;10566:1;10591:50;10633:7;10624:6;10613:9;10609:22;10591:50;:::i;:::-;10581:60;;10537:114;10335:323;;;;:::o;10664:468::-;10729:6;10737;10786:2;10774:9;10765:7;10761:23;10757:32;10754:119;;;10792:79;;:::i;:::-;10754:119;10912:1;10937:50;10979:7;10970:6;10959:9;10955:22;10937:50;:::i;:::-;10927:60;;10883:114;11036:2;11062:53;11107:7;11098:6;11087:9;11083:22;11062:53;:::i;:::-;11052:63;;11007:118;10664:468;;;;;:::o;11138:117::-;11247:1;11244;11237:12;11261:180;11309:77;11306:1;11299:88;11406:4;11403:1;11396:15;11430:4;11427:1;11420:15;11447:281;11530:27;11552:4;11530:27;:::i;:::-;11522:6;11518:40;11660:6;11648:10;11645:22;11624:18;11612:10;11609:34;11606:62;11603:88;;;11671:18;;:::i;:::-;11603:88;11711:10;11707:2;11700:22;11490:238;11447:281;;:::o;11734:129::-;11768:6;11795:20;;:::i;:::-;11785:30;;11824:33;11852:4;11844:6;11824:33;:::i;:::-;11734:129;;;:::o;11869:311::-;11946:4;12036:18;12028:6;12025:30;12022:56;;;12058:18;;:::i;:::-;12022:56;12108:4;12100:6;12096:17;12088:25;;12168:4;12162;12158:15;12150:23;;11869:311;;;:::o;12186:117::-;12295:1;12292;12285:12;12326:710;12422:5;12447:81;12463:64;12520:6;12463:64;:::i;:::-;12447:81;:::i;:::-;12438:90;;12548:5;12577:6;12570:5;12563:21;12611:4;12604:5;12600:16;12593:23;;12664:4;12656:6;12652:17;12644:6;12640:30;12693:3;12685:6;12682:15;12679:122;;;12712:79;;:::i;:::-;12679:122;12827:6;12810:220;12844:6;12839:3;12836:15;12810:220;;;12919:3;12948:37;12981:3;12969:10;12948:37;:::i;:::-;12943:3;12936:50;13015:4;13010:3;13006:14;12999:21;;12886:144;12870:4;12865:3;12861:14;12854:21;;12810:220;;;12814:21;12428:608;;12326:710;;;;;:::o;13059:370::-;13130:5;13179:3;13172:4;13164:6;13160:17;13156:27;13146:122;;13187:79;;:::i;:::-;13146:122;13304:6;13291:20;13329:94;13419:3;13411:6;13404:4;13396:6;13392:17;13329:94;:::i;:::-;13320:103;;13136:293;13059:370;;;;:::o;13435:311::-;13512:4;13602:18;13594:6;13591:30;13588:56;;;13624:18;;:::i;:::-;13588:56;13674:4;13666:6;13662:17;13654:25;;13734:4;13728;13724:15;13716:23;;13435:311;;;:::o;13769:710::-;13865:5;13890:81;13906:64;13963:6;13906:64;:::i;:::-;13890:81;:::i;:::-;13881:90;;13991:5;14020:6;14013:5;14006:21;14054:4;14047:5;14043:16;14036:23;;14107:4;14099:6;14095:17;14087:6;14083:30;14136:3;14128:6;14125:15;14122:122;;;14155:79;;:::i;:::-;14122:122;14270:6;14253:220;14287:6;14282:3;14279:15;14253:220;;;14362:3;14391:37;14424:3;14412:10;14391:37;:::i;:::-;14386:3;14379:50;14458:4;14453:3;14449:14;14442:21;;14329:144;14313:4;14308:3;14304:14;14297:21;;14253:220;;;14257:21;13871:608;;13769:710;;;;;:::o;14502:370::-;14573:5;14622:3;14615:4;14607:6;14603:17;14599:27;14589:122;;14630:79;;:::i;:::-;14589:122;14747:6;14734:20;14772:94;14862:3;14854:6;14847:4;14839:6;14835:17;14772:94;:::i;:::-;14763:103;;14579:293;14502:370;;;;:::o;14878:894::-;14996:6;15004;15053:2;15041:9;15032:7;15028:23;15024:32;15021:119;;;15059:79;;:::i;:::-;15021:119;15207:1;15196:9;15192:17;15179:31;15237:18;15229:6;15226:30;15223:117;;;15259:79;;:::i;:::-;15223:117;15364:78;15434:7;15425:6;15414:9;15410:22;15364:78;:::i;:::-;15354:88;;15150:302;15519:2;15508:9;15504:18;15491:32;15550:18;15542:6;15539:30;15536:117;;;15572:79;;:::i;:::-;15536:117;15677:78;15747:7;15738:6;15727:9;15723:22;15677:78;:::i;:::-;15667:88;;15462:303;14878:894;;;;;:::o;15778:474::-;15846:6;15854;15903:2;15891:9;15882:7;15878:23;15874:32;15871:119;;;15909:79;;:::i;:::-;15871:119;16029:1;16054:53;16099:7;16090:6;16079:9;16075:22;16054:53;:::i;:::-;16044:63;;16000:117;16156:2;16182:53;16227:7;16218:6;16207:9;16203:22;16182:53;:::i;:::-;16172:63;;16127:118;15778:474;;;;;:::o;16258:60::-;16286:3;16307:5;16300:12;;16258:60;;;:::o;16324:142::-;16374:9;16407:53;16425:34;16434:24;16452:5;16434:24;:::i;:::-;16425:34;:::i;:::-;16407:53;:::i;:::-;16394:66;;16324:142;;;:::o;16472:126::-;16522:9;16555:37;16586:5;16555:37;:::i;:::-;16542:50;;16472:126;;;:::o;16604:144::-;16672:9;16705:37;16736:5;16705:37;:::i;:::-;16692:50;;16604:144;;;:::o;16754:167::-;16859:55;16908:5;16859:55;:::i;:::-;16854:3;16847:68;16754:167;;:::o;16927:258::-;17038:4;17076:2;17065:9;17061:18;17053:26;;17089:89;17175:1;17164:9;17160:17;17151:6;17089:89;:::i;:::-;16927:258;;;;:::o;17191:172::-;17331:24;17327:1;17319:6;17315:14;17308:48;17191:172;:::o;17369:366::-;17511:3;17532:67;17596:2;17591:3;17532:67;:::i;:::-;17525:74;;17608:93;17697:3;17608:93;:::i;:::-;17726:2;17721:3;17717:12;17710:19;;17369:366;;;:::o;17741:419::-;17907:4;17945:2;17934:9;17930:18;17922:26;;17994:9;17988:4;17984:20;17980:1;17969:9;17965:17;17958:47;18022:131;18148:4;18022:131;:::i;:::-;18014:139;;17741:419;;;:::o;18166:180::-;18214:77;18211:1;18204:88;18311:4;18308:1;18301:15;18335:4;18332:1;18325:15;18352:191;18392:4;18412:20;18430:1;18412:20;:::i;:::-;18407:25;;18446:20;18464:1;18446:20;:::i;:::-;18441:25;;18485:1;18482;18479:8;18476:34;;;18490:18;;:::i;:::-;18476:34;18535:1;18532;18528:9;18520:17;;18352:191;;;;:::o;18549:180::-;18597:77;18594:1;18587:88;18694:4;18691:1;18684:15;18718:4;18715:1;18708:15;18735:185;18775:1;18792:20;18810:1;18792:20;:::i;:::-;18787:25;;18826:20;18844:1;18826:20;:::i;:::-;18821:25;;18865:1;18855:35;;18870:18;;:::i;:::-;18855:35;18912:1;18909;18905:9;18900:14;;18735:185;;;;:::o;18926:348::-;18966:7;18989:20;19007:1;18989:20;:::i;:::-;18984:25;;19023:20;19041:1;19023:20;:::i;:::-;19018:25;;19211:1;19143:66;19139:74;19136:1;19133:81;19128:1;19121:9;19114:17;19110:105;19107:131;;;19218:18;;:::i;:::-;19107:131;19266:1;19263;19259:9;19248:20;;18926:348;;;;:::o;19280:305::-;19320:3;19339:20;19357:1;19339:20;:::i;:::-;19334:25;;19373:20;19391:1;19373:20;:::i;:::-;19368:25;;19527:1;19459:66;19455:74;19452:1;19449:81;19446:107;;;19533:18;;:::i;:::-;19446:107;19577:1;19574;19570:9;19563:16;;19280:305;;;;:::o;19591:241::-;19731:34;19727:1;19719:6;19715:14;19708:58;19800:24;19795:2;19787:6;19783:15;19776:49;19591:241;:::o;19838:366::-;19980:3;20001:67;20065:2;20060:3;20001:67;:::i;:::-;19994:74;;20077:93;20166:3;20077:93;:::i;:::-;20195:2;20190:3;20186:12;20179:19;;19838:366;;;:::o;20210:419::-;20376:4;20414:2;20403:9;20399:18;20391:26;;20463:9;20457:4;20453:20;20449:1;20438:9;20434:17;20427:47;20491:131;20617:4;20491:131;:::i;:::-;20483:139;;20210:419;;;:::o;20635:180::-;20683:77;20680:1;20673:88;20780:4;20777:1;20770:15;20804:4;20801:1;20794:15;20821:102;20863:8;20910:5;20907:1;20903:13;20882:34;;20821:102;;;:::o;20929:848::-;20990:5;20997:4;21021:6;21012:15;;21045:5;21036:14;;21059:712;21080:1;21070:8;21067:15;21059:712;;;21175:4;21170:3;21166:14;21160:4;21157:24;21154:50;;;21184:18;;:::i;:::-;21154:50;21234:1;21224:8;21220:16;21217:451;;;21649:4;21642:5;21638:16;21629:25;;21217:451;21699:4;21693;21689:15;21681:23;;21729:32;21752:8;21729:32;:::i;:::-;21717:44;;21059:712;;;20929:848;;;;;;;:::o;21783:1073::-;21837:5;22028:8;22018:40;;22049:1;22040:10;;22051:5;;22018:40;22077:4;22067:36;;22094:1;22085:10;;22096:5;;22067:36;22163:4;22211:1;22206:27;;;;22247:1;22242:191;;;;22156:277;;22206:27;22224:1;22215:10;;22226:5;;;22242:191;22287:3;22277:8;22274:17;22271:43;;;22294:18;;:::i;:::-;22271:43;22343:8;22340:1;22336:16;22327:25;;22378:3;22371:5;22368:14;22365:40;;;22385:18;;:::i;:::-;22365:40;22418:5;;;22156:277;;22542:2;22532:8;22529:16;22523:3;22517:4;22514:13;22510:36;22492:2;22482:8;22479:16;22474:2;22468:4;22465:12;22461:35;22445:111;22442:246;;;22598:8;22592:4;22588:19;22579:28;;22633:3;22626:5;22623:14;22620:40;;;22640:18;;:::i;:::-;22620:40;22673:5;;22442:246;22713:42;22751:3;22741:8;22735:4;22732:1;22713:42;:::i;:::-;22698:57;;;;22787:4;22782:3;22778:14;22771:5;22768:25;22765:51;;;22796:18;;:::i;:::-;22765:51;22845:4;22838:5;22834:16;22825:25;;21783:1073;;;;;;:::o;22862:281::-;22920:5;22944:23;22962:4;22944:23;:::i;:::-;22936:31;;22988:25;23004:8;22988:25;:::i;:::-;22976:37;;23032:104;23069:66;23059:8;23053:4;23032:104;:::i;:::-;23023:113;;22862:281;;;;:::o;23149:233::-;23188:3;23211:24;23229:5;23211:24;:::i;:::-;23202:33;;23257:66;23250:5;23247:77;23244:103;;;23327:18;;:::i;:::-;23244:103;23374:1;23367:5;23363:13;23356:20;;23149:233;;;:::o;23388:143::-;23445:5;23476:6;23470:13;23461:22;;23492:33;23519:5;23492:33;:::i;:::-;23388:143;;;;:::o;23537:351::-;23607:6;23656:2;23644:9;23635:7;23631:23;23627:32;23624:119;;;23662:79;;:::i;:::-;23624:119;23782:1;23807:64;23863:7;23854:6;23843:9;23839:22;23807:64;:::i;:::-;23797:74;;23753:128;23537:351;;;;:::o;23894:225::-;24034:34;24030:1;24022:6;24018:14;24011:58;24103:8;24098:2;24090:6;24086:15;24079:33;23894:225;:::o;24125:366::-;24267:3;24288:67;24352:2;24347:3;24288:67;:::i;:::-;24281:74;;24364:93;24453:3;24364:93;:::i;:::-;24482:2;24477:3;24473:12;24466:19;;24125:366;;;:::o;24497:419::-;24663:4;24701:2;24690:9;24686:18;24678:26;;24750:9;24744:4;24740:20;24736:1;24725:9;24721:17;24714:47;24778:131;24904:4;24778:131;:::i;:::-;24770:139;;24497:419;;;:::o;24922:171::-;25062:23;25058:1;25050:6;25046:14;25039:47;24922:171;:::o;25099:366::-;25241:3;25262:67;25326:2;25321:3;25262:67;:::i;:::-;25255:74;;25338:93;25427:3;25338:93;:::i;:::-;25456:2;25451:3;25447:12;25440:19;;25099:366;;;:::o;25471:419::-;25637:4;25675:2;25664:9;25660:18;25652:26;;25724:9;25718:4;25714:20;25710:1;25699:9;25695:17;25688:47;25752:131;25878:4;25752:131;:::i;:::-;25744:139;;25471:419;;;:::o;25896:182::-;26036:34;26032:1;26024:6;26020:14;26013:58;25896:182;:::o;26084:366::-;26226:3;26247:67;26311:2;26306:3;26247:67;:::i;:::-;26240:74;;26323:93;26412:3;26323:93;:::i;:::-;26441:2;26436:3;26432:12;26425:19;;26084:366;;;:::o;26456:419::-;26622:4;26660:2;26649:9;26645:18;26637:26;;26709:9;26703:4;26699:20;26695:1;26684:9;26680:17;26673:47;26737:131;26863:4;26737:131;:::i;:::-;26729:139;;26456:419;;;:::o;26881:167::-;27021:19;27017:1;27009:6;27005:14;26998:43;26881:167;:::o;27054:366::-;27196:3;27217:67;27281:2;27276:3;27217:67;:::i;:::-;27210:74;;27293:93;27382:3;27293:93;:::i;:::-;27411:2;27406:3;27402:12;27395:19;;27054:366;;;:::o;27426:419::-;27592:4;27630:2;27619:9;27615:18;27607:26;;27679:9;27673:4;27669:20;27665:1;27654:9;27650:17;27643:47;27707:131;27833:4;27707:131;:::i;:::-;27699:139;;27426:419;;;:::o;27851:143::-;27908:5;27939:6;27933:13;27924:22;;27955:33;27982:5;27955:33;:::i;:::-;27851:143;;;;:::o;28000:351::-;28070:6;28119:2;28107:9;28098:7;28094:23;28090:32;28087:119;;;28125:79;;:::i;:::-;28087:119;28245:1;28270:64;28326:7;28317:6;28306:9;28302:22;28270:64;:::i;:::-;28260:74;;28216:128;28000:351;;;;:::o;28357:85::-;28402:7;28431:5;28420:16;;28357:85;;;:::o;28448:158::-;28506:9;28539:61;28557:42;28566:32;28592:5;28566:32;:::i;:::-;28557:42;:::i;:::-;28539:61;:::i;:::-;28526:74;;28448:158;;;:::o;28612:147::-;28707:45;28746:5;28707:45;:::i;:::-;28702:3;28695:58;28612:147;;:::o;28765:831::-;29028:4;29066:3;29055:9;29051:19;29043:27;;29080:71;29148:1;29137:9;29133:17;29124:6;29080:71;:::i;:::-;29161:80;29237:2;29226:9;29222:18;29213:6;29161:80;:::i;:::-;29288:9;29282:4;29278:20;29273:2;29262:9;29258:18;29251:48;29316:108;29419:4;29410:6;29316:108;:::i;:::-;29308:116;;29434:72;29502:2;29491:9;29487:18;29478:6;29434:72;:::i;:::-;29516:73;29584:3;29573:9;29569:19;29560:6;29516:73;:::i;:::-;28765:831;;;;;;;;:::o;29602:807::-;29851:4;29889:3;29878:9;29874:19;29866:27;;29903:71;29971:1;29960:9;29956:17;29947:6;29903:71;:::i;:::-;29984:72;30052:2;30041:9;30037:18;30028:6;29984:72;:::i;:::-;30066:80;30142:2;30131:9;30127:18;30118:6;30066:80;:::i;:::-;30156;30232:2;30221:9;30217:18;30208:6;30156:80;:::i;:::-;30246:73;30314:3;30303:9;30299:19;30290:6;30246:73;:::i;:::-;30329;30397:3;30386:9;30382:19;30373:6;30329:73;:::i;:::-;29602:807;;;;;;;;;:::o;30415:663::-;30503:6;30511;30519;30568:2;30556:9;30547:7;30543:23;30539:32;30536:119;;;30574:79;;:::i;:::-;30536:119;30694:1;30719:64;30775:7;30766:6;30755:9;30751:22;30719:64;:::i;:::-;30709:74;;30665:128;30832:2;30858:64;30914:7;30905:6;30894:9;30890:22;30858:64;:::i;:::-;30848:74;;30803:129;30971:2;30997:64;31053:7;31044:6;31033:9;31029:22;30997:64;:::i;:::-;30987:74;;30942:129;30415:663;;;;;:::o;31084:147::-;31185:11;31222:3;31207:18;;31084:147;;;;:::o;31237:114::-;;:::o;31357:398::-;31516:3;31537:83;31618:1;31613:3;31537:83;:::i;:::-;31530:90;;31629:93;31718:3;31629:93;:::i;:::-;31747:1;31742:3;31738:11;31731:18;;31357:398;;;:::o;31761:379::-;31945:3;31967:147;32110:3;31967:147;:::i;:::-;31960:154;;32131:3;32124:10;;31761:379;;;:::o;32146:180::-;32286:32;32282:1;32274:6;32270:14;32263:56;32146:180;:::o;32332:366::-;32474:3;32495:67;32559:2;32554:3;32495:67;:::i;:::-;32488:74;;32571:93;32660:3;32571:93;:::i;:::-;32689:2;32684:3;32680:12;32673:19;;32332:366;;;:::o;32704:419::-;32870:4;32908:2;32897:9;32893:18;32885:26;;32957:9;32951:4;32947:20;32943:1;32932:9;32928:17;32921:47;32985:131;33111:4;32985:131;:::i;:::-;32977:139;;32704:419;;;:::o
Swarm Source
ipfs://7562b62072474e3939d58e243910f1b817f93ea9c105de940bd120539b927aac
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,226.01 | 0.000000000000000075 | <$0.000001 |
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.