ERC-20
Overview
Max Total Supply
500,000,000 SYC
Holders
10
Market
Price
$0.00 @ 0.000000 MATIC
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
12,800.1761322650095 SYCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
ShibaYachtClub
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-03-13 */ /** ShibaYachtClub - $SYC https://t.me/Shiba_Yacht_Club */ // SPDX-License-Identifier: MIT pragma solidity 0.8.12; abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) {owner = _owner;authorizations[_owner] = true;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} modifier authorized() {require(isAuthorized(msg.sender), "!AUTHORIZED"); _;} function authorize(address adr) public onlyOwner {authorizations[adr] = true;} function unauthorize(address adr) public onlyOwner {authorizations[adr] = false;} function isOwner(address account) public view returns (bool) {return account == owner;} function isAuthorized(address adr) public view returns (bool) {return authorizations[adr];} function transferOwnership(address payable adr) public onlyOwner {owner = adr;authorizations[adr] = true;emit OwnershipTransferred(adr);} event OwnershipTransferred(address owner); } interface IBEP20 { 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 allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transfer(address recipient, 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); } interface IDexFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface 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 removeLiquidity(address tokenA,address tokenB,uint liquidity,uint amountAMin,uint amountBMin,address to,uint deadline) external returns (uint amountA, uint amountB); function removeLiquidityETH(address token,uint liquidity,uint amountTokenMin,uint amountETHMin,address to,uint deadline) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit(address tokenA,address tokenB,uint liquidity,uint amountAMin,uint amountBMin,address to,uint deadline,bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit(address token,uint liquidity,uint amountTokenMin,uint amountETHMin,address to,uint deadline,bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens(uint amountIn,uint amountOutMin,address[] calldata path,address to,uint deadline) external returns (uint[] memory amounts); function swapTokensForExactTokens(uint amountOut,uint amountInMax,address[] calldata path,address to,uint deadline) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); function removeLiquidityETHSupportingFeeOnTransferTokens(address token,uint liquidity,uint amountTokenMin,uint amountETHMin,address to,uint deadline) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token,uint liquidity,uint amountTokenMin,uint amountETHMin,address to,uint deadline,bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint amountIn,uint amountOutMin,address[] calldata path,address to,uint deadline) external; function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin,address[] calldata path,address to,uint deadline) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn,uint amountOutMin,address[] calldata path,address to,uint deadline) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap(address indexed sender,uint amount0In,uint amount1In,uint amount0Out,uint amount1Out,address indexed to); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } contract ShibaYachtClub is IBEP20, Auth { address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "Shiba Yacht Club"; string constant _symbol = "SYC"; uint8 constant _decimals = 18; uint256 _totalSupply = 500_000_000 * (10 ** _decimals); uint256 public _maxTxAmount = _totalSupply / 100; uint256 public _maxWalletAmount = _totalSupply / 50; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) isLimitlessAddress; // Fees. Some may be completely inactive at all times. uint256 liquidityFee = 10; uint256 marketingFee = 70; uint256 burnFee = 0; uint256 stakingFee = 10; uint256 lpStakingFee = 10; uint256 sellMultiplier = 2; uint256 sellDenominator = 1; uint256 feeDenominator = 1000; uint256 sellFeeOnWebsite = 180; uint256 buyFeeOnWebsite = 90; bool public feeOnNonTrade = false; uint256 public stakingPrizePool = 0; bool public stakingRewardsActive = false; address public stakingRewardsContract; uint256 public lpStakingPrizePool = 0; bool public lpStakingRewardsActive = false; address public lpStakingRewardsContract; bool public projectFeesActivated = false; address public autoLiquidityReceiver; address public marketingWallet = 0x35ED6ab8cBAAcfeF3F948E3a048BfBf57FE7706C; address public devWallet; address public projectWallet; IDexRouter public router; address pcs2BNBPair; address[] public pairs; bool public swapEnabled = true; bool private security = true; bool private isSell = true; uint256 public swapThreshold = _totalSupply / 20000; uint256 public maxSwapAmount = _totalSupply / 100; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } uint256 public launchedAt = 0; bool private gasLimitActive = true; event AutoLiquifyEnabled(bool enabledOrNot); event AutoLiquify(uint256 amountBNB, uint256 autoBuybackAmount); event StakingRewards(bool activate); event lpStakingRewards(bool active); event TokensBoughtOnWebsite(address buyer, uint256 amount); event TokensSoldOnWebsite(address seller, uint256 amount); constructor() Auth(msg.sender) { router = IDexRouter(0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff); pcs2BNBPair = IDexFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(this)] = true; isTxLimitExempt[DEAD] = true; isTxLimitExempt[ZERO] = true; autoLiquidityReceiver = msg.sender; pairs.push(pcs2BNBPair); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { require(_allowances[sender][msg.sender] >= amount, "Insufficient Allowance"); _allowances[sender][msg.sender] -= amount; } return _transferFrom(sender, recipient, amount); } function _isStakingReward(address sender, address recipient) internal view returns (bool) { return sender == stakingRewardsContract || sender == lpStakingRewardsContract || recipient == stakingRewardsContract || recipient == lpStakingRewardsContract; } function _isLimitlessAddress(address sender, address recipient) internal view returns (bool) { if(isLimitlessAddress[sender] || isLimitlessAddress[recipient]){ return true; } else { return false; } } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(amount > 0); if (inSwap || _isStakingReward(sender, recipient) || _isLimitlessAddress(sender, recipient)) { return _basicTransfer(sender, recipient, amount); } checkTxLimit(sender, recipient, amount); if (shouldSwapBack()) { liquify(); } if (!launched() && recipient == pcs2BNBPair) { require(_balances[sender] > 0); require(sender == owner, "Only the owner can be the first to add liquidity."); launch(); } require(amount <= _balances[sender], "Insufficient Balance"); _balances[sender] -= amount; uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount; _balances[recipient] += amountReceived; // Update staking pool, if active. // Update of the pool can be deactivated for launch and staking contract migration. if (stakingRewardsActive) { sendToStakingPool(); } if (lpStakingRewardsActive) { sendToLpStakingPool(); } emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { require(amount <= _balances[sender], "Insufficient Balance"); _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, address recipient, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender] || isTxLimitExempt[recipient] && sender == pcs2BNBPair, "TX Limit Exceeded"); // Max wallet check. if (sender != owner && recipient != owner && !isTxLimitExempt[recipient] && recipient != ZERO && recipient != DEAD && recipient != pcs2BNBPair && recipient != address(this) ) { uint256 newBalance = balanceOf(recipient) + amount; require(newBalance <= _maxWalletAmount, "Exceeds max wallet."); } } // Decides whether this trade should take a fee. // Trades with pairs are always taxed, unless sender or receiver is exempted. // Non trades, like wallet to wallet, are configured, untaxed by default. function shouldTakeFee(address sender, address recipient) internal returns (bool) { if (isFeeExempt[sender] || isFeeExempt[recipient] || !launched()) { return false; } address[] memory liqPairs = pairs; for (uint256 i = 0; i < liqPairs.length; i++) { if (sender == liqPairs[i] ) { isSell = false; return true; } } for (uint256 i = 0; i < liqPairs.length; i++) { if (recipient == liqPairs[i]) { isSell = true; return true; } } return feeOnNonTrade; } function takeFee(address sender, uint256 amount) internal returns (uint256) { if (!launched()) { return amount; } uint256 swapFee = 0; uint256 bf = 0; uint256 steak = 0; uint256 lpStake = 0; // If there is a liquidity tax active for autoliq, the contract keeps it. if (liquidityFee + marketingFee > 0) { swapFee = amount * (marketingFee + liquidityFee) / feeDenominator; if(isSell){ swapFee = swapFee * sellMultiplier / sellDenominator; } _balances[address(this)] += swapFee; emit Transfer(sender, address(this), swapFee); } // If there is an active burn fee, burn a percentage and give it to dead address. if (burnFee > 0) { bf = amount * burnFee / feeDenominator; if(isSell){ bf = bf * sellMultiplier / sellDenominator; } _balances[DEAD] += bf; emit Transfer(sender, DEAD, bf); } // If staking tax is active, it is stored on ZERO address. // If staking payout itself is active, it is later moved from ZERO to the appropriate staking address. if (stakingFee > 0) { steak = amount * stakingFee / feeDenominator; if(isSell){ steak = steak * sellMultiplier / sellDenominator; } _balances[ZERO] += steak; stakingPrizePool += steak; emit Transfer(sender, ZERO, steak); } if (lpStakingFee > 0) { lpStake = amount * lpStakingFee / feeDenominator; if(isSell){ lpStake = lpStake * sellMultiplier / sellDenominator; } _balances[ZERO] += lpStake; lpStakingPrizePool += lpStake; emit Transfer(sender, ZERO, lpStake); } return amount - swapFee - bf - steak - lpStake; } function sendToStakingPool() internal { _balances[ZERO] -= stakingPrizePool; _balances[stakingRewardsContract] += stakingPrizePool; emit Transfer(ZERO, stakingRewardsContract, stakingPrizePool); stakingPrizePool = 0; } function sendToLpStakingPool() internal { _balances[ZERO] -= lpStakingPrizePool; _balances[lpStakingRewardsContract] += lpStakingPrizePool; emit Transfer(ZERO, lpStakingRewardsContract, lpStakingPrizePool); lpStakingPrizePool = 0; } function setStakingRewardsAddress(address addy) external authorized { stakingRewardsContract = addy; isFeeExempt[addy] = true; isTxLimitExempt[addy] = true; } function setLpStakingRewardsAddress(address addy) external authorized { lpStakingRewardsContract = addy; isFeeExempt[addy] = true; isTxLimitExempt[addy] = true; } function shouldSwapBack() internal view returns (bool) { return launched() && msg.sender != pcs2BNBPair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function setSwapEnabled(bool set) external authorized { swapEnabled = set; emit AutoLiquifyEnabled(set); } function liquify() internal swapping { uint256 contractBalance = balanceOf(address(this)); if(contractBalance > maxSwapAmount) { contractBalance = maxSwapAmount; } uint256 amountToLiquidity = contractBalance * liquidityFee / (liquidityFee + marketingFee) / 2; uint256 amountToSwapForBNB = contractBalance - amountToLiquidity; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwapForBNB, 0, path, address(this), block.timestamp ); uint256 amountBNBLiquidity = address(this).balance * (liquidityFee / 2) / ((liquidityFee / 2) + marketingFee); router.addLiquidityETH{value: amountBNBLiquidity}( address(this), amountToLiquidity, 0, 0, autoLiquidityReceiver, block.timestamp ); if(projectFeesActivated){ uint256 bnbFeesPercent = address(this).balance / marketingFee; payable(devWallet).transfer(bnbFeesPercent); payable(projectWallet).transfer(bnbFeesPercent); } payable(marketingWallet).transfer(address(this).balance); emit AutoLiquify(amountBNBLiquidity, amountToLiquidity); } function BuyDirectlyFromContract() payable external swapping { uint256 bnbAmount = msg.value; uint256 taxes = buyFeeOnWebsite * bnbAmount / 100; bnbAmount -= taxes; address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: bnbAmount}( 0, path, msg.sender, block.timestamp ); if(projectFeesActivated){ uint256 bnbFeesPercent = address(this).balance / marketingFee; payable(devWallet).transfer(bnbFeesPercent); payable(projectWallet).transfer(bnbFeesPercent); } payable(marketingWallet).transfer(address(this).balance); emit TokensBoughtOnWebsite(msg.sender, msg.value); } function SellDirectlyToContract(uint256 _tokenAmount) external swapping { _tokenAmount = _tokenAmount * 10**18; uint256 initialBalance = address(this).balance; require(balanceOf(msg.sender) >= _tokenAmount,"Cannot sell more than you own"); if(_allowances[address(this)][address(router)] < type(uint256).max){ approve(address(router), type(uint256).max); } _balances[msg.sender] -= _tokenAmount; _balances[address(this)] += _tokenAmount; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( _tokenAmount, 0, path, address(this), block.timestamp ); uint256 bnbFromSell = address(this).balance - initialBalance; uint256 taxes = sellFeeOnWebsite * bnbFromSell / feeDenominator; bnbFromSell -= taxes; payable(msg.sender).transfer(bnbFromSell); if(projectFeesActivated){ uint256 bnbFeesPercent = address(this).balance / marketingFee; payable(devWallet).transfer(bnbFeesPercent); payable(projectWallet).transfer(bnbFeesPercent); } payable(marketingWallet).transfer(address(this).balance); emit TokensSoldOnWebsite(msg.sender, _tokenAmount); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function setTxLimit(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setMaxWallet(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxWalletAmount = amount; } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setLimitlessAddress(address addy, bool state) external authorized { isLimitlessAddress[addy] = state; } function setFees(uint256 _liquidityFee, uint256 _marketingFee, uint256 _burnFee, uint256 _stakingFee, uint256 _lpStakingFee, uint256 _feeDenominator, bool _projectFeesActivated, uint256 _sellMultiplier, uint256 _sellDenominator) external authorized { liquidityFee = _liquidityFee; marketingFee = _marketingFee; burnFee = _burnFee; stakingFee = _stakingFee; lpStakingFee = _lpStakingFee; feeDenominator = _feeDenominator; sellMultiplier = _sellMultiplier; sellDenominator = _sellDenominator; projectFeesActivated = _projectFeesActivated; uint256 totalFee = _marketingFee + _liquidityFee + _burnFee + _stakingFee + _lpStakingFee; require(totalFee * _sellMultiplier / _sellDenominator < feeDenominator / 4, "Maximum allowed taxation on this contract is 20%."); } function setLiquidityReceiver(address _autoLiquidityReceiver) external authorized { autoLiquidityReceiver = _autoLiquidityReceiver; } function setMarketingWallet(address _marketingWallet) external authorized { marketingWallet = _marketingWallet; } function setProjectWallet(address _projectWallet) external authorized { projectWallet = _projectWallet; } function setDevWallet(address _devWallet) external authorized { devWallet = _devWallet; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO) + stakingPrizePool + lpStakingPrizePool; } // Recover any BNB sent to the contract by mistake. function rescue() external { payable(owner).transfer(address(this).balance); } function setStakingRewardsActive(bool active) external authorized { stakingRewardsActive = active; emit StakingRewards(active); } function setLpStakingRewardsActive(bool active) external authorized { lpStakingRewardsActive = active; emit lpStakingRewards(active); } function addPair(address pair) external authorized { pairs.push(pair); } function removeLastPair() external authorized { pairs.pop(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"autoBuybackAmount","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabledOrNot","type":"bool"}],"name":"AutoLiquifyEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"activate","type":"bool"}],"name":"StakingRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBoughtOnWebsite","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensSoldOnWebsite","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"active","type":"bool"}],"name":"lpStakingRewards","type":"event"},{"inputs":[],"name":"BuyDirectlyFromContract","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"SellDirectlyToContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"addPair","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnNonTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"address","name":"adr","type":"address"}],"name":"isAuthorized","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpStakingPrizePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpStakingRewardsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpStakingRewardsContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapAmount","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":"uint256","name":"","type":"uint256"}],"name":"pairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectFeesActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLastPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_devWallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_stakingFee","type":"uint256"},{"internalType":"uint256","name":"_lpStakingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"},{"internalType":"bool","name":"_projectFeesActivated","type":"bool"},{"internalType":"uint256","name":"_sellMultiplier","type":"uint256"},{"internalType":"uint256","name":"_sellDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setLimitlessAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"}],"name":"setLiquidityReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"active","type":"bool"}],"name":"setLpStakingRewardsActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"setLpStakingRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_projectWallet","type":"address"}],"name":"setProjectWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"active","type":"bool"}],"name":"setStakingRewardsActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"setStakingRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"set","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingPrizePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingRewardsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingRewardsContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811661dead17909155600380549091169055620000326012600a62000558565b6200004290631dcd650062000570565b600455606460045462000056919062000592565b60055560326004546200006a919062000592565b600655600a600c8190556046600d556000600e819055600f829055601091909155600260115560016012556103e860135560b4601455605a6015556016805460ff199081169091556017829055601880549091169055601955601a805460ff60ff60a81b0119169055601c80546001600160a01b0319167335ed6ab8cbaacfef3f948e3a048bfbf57fe7706c179055602280546201010162ffffff199091161790556004546200011e90614e209062000592565b602355606460045462000132919062000592565b60245560006026556027805460ff191660011790553480156200015457600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601f805473a5e0829caced8ffdd4de3c43696c57f7d7a678ff931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001db573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002019190620005b5565b6001600160a01b031663c9c65396601f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002899190620005b5565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fc9190620005b5565b602080546001600160a01b039283166001600160a01b0319918216178255306000818152600884526040808220601f5487168352855280822060001990553380835260098652818320805460ff1990811660019081179092558585528385208054821683179055828552600a8852838520805482168317905594845282842080548616821790556002548816845282842080548616821790556003548816845282842080549095168117909455601b805486168217905585546021805495860190557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5709094018054909516939096169290921790925560045484835260079093528082208390555190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200043591815260200190565b60405180910390a3620005e0565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049a5781600019048211156200047e576200047e62000443565b808516156200048c57918102915b93841c93908002906200045e565b509250929050565b600082620004b35750600162000552565b81620004c25750600062000552565b8160018114620004db5760028114620004e65762000506565b600191505062000552565b60ff841115620004fa57620004fa62000443565b50506001821b62000552565b5060208310610133831016604e8410600b84101617156200052b575081810a62000552565b62000537838362000459565b80600019048211156200054e576200054e62000443565b0290505b92915050565b60006200056960ff841683620004a2565b9392505050565b60008160001904831182151516156200058d576200058d62000443565b500290565b600082620005b057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005c857600080fd5b81516001600160a01b03811681146200056957600080fd5b61309680620005f06000396000f3fe6080604052600436106103795760003560e01c806384becc8e116101d1578063beb08ab911610102578063edeaedfa116100a0578063f887ea401161006f578063f887ea4014610a48578063f8bc7e2f14610a68578063f91564af14610a7e578063fe9fbb8014610a9e57600080fd5b8063edeaedfa146109e0578063f0b37c04146109e8578063f2fde38b14610a08578063f84ba65d14610a2857600080fd5b8063ca33e64c116100dc578063ca33e64c14610944578063cce987d414610964578063dd62ed3e1461097a578063e01af92c146109c057600080fd5b8063beb08ab9146108ee578063bf56b3711461090e578063c2b7bbb61461092457600080fd5b8063a9059cbb1161016f578063b6a5d7de11610149578063b6a5d7de1461086d578063b7d016e41461088d578063b91ac788146108ae578063ba2261d0146108ce57600080fd5b8063a9059cbb14610813578063b08b9b4614610833578063b57e36821461084d57600080fd5b80638ea5220f116101ab5780638ea5220f1461078d57806395d89b41146107ad578063a42f3d12146107d9578063a6fe5ac6146107f357600080fd5b806384becc8e1461072a578063893d20e81461074f5780638a7804471461076d57600080fd5b806333623794116102ab578063658d4b7f1161024957806370a082311161022357806370a082311461069e57806375f0a874146106d45780637d1db4a5146106f45780637d253fc21461070a57600080fd5b8063658d4b7f1461064e5780636c0a24eb1461066e5780636ddd17131461068457600080fd5b806359e60bc81161028557806359e60bc8146105ce5780635c85974f146105ee5780635d0044ca1461060e5780635d098b381461062e57600080fd5b806333623794146105575780634e9a969514610594578063571ac8b0146105ae57600080fd5b80631f53ac021161031857806324b41af2116102f257806324b41af2146104d75780632b112e49146104f75780632f54bf6e1461050c578063313ce5671461053b57600080fd5b80631f53ac02146104825780631fbe1979146104a257806323b872dd146104b757600080fd5b806306fdde031161035457806306fdde03146103db578063095ea7b31461041d578063172f5c4a1461044d57806318160ddd1461046d57600080fd5b806293dc14146103855780630379a3e91461039c5780630445b667146103c557600080fd5b3661038057005b600080fd5b34801561039157600080fd5b5061039a610abe565b005b3480156103a857600080fd5b506103b260195481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b506103b260235481565b3480156103e757600080fd5b5060408051808201909152601081526f29b434b130902cb0b1b43a1021b63ab160811b60208201525b6040516103bc9190612c13565b34801561042957600080fd5b5061043d610438366004612c7d565b610b21565b60405190151581526020016103bc565b34801561045957600080fd5b5061039a610468366004612cbe565b610b8e565b34801561047957600080fd5b506004546103b2565b34801561048e57600080fd5b5061039a61049d366004612cd9565b610bfb565b3480156104ae57600080fd5b5061039a610c42565b3480156104c357600080fd5b5061043d6104d2366004612cf6565b610c7f565b3480156104e357600080fd5b5061039a6104f2366004612d37565b610d65565b34801561050357600080fd5b506103b2610db5565b34801561051857600080fd5b5061043d610527366004612cd9565b6000546001600160a01b0391821691161490565b34801561054757600080fd5b50604051601281526020016103bc565b34801561056357600080fd5b5060185461057c9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b3480156105a057600080fd5b5060185461043d9060ff1681565b3480156105ba57600080fd5b5061043d6105c9366004612cd9565b610e19565b3480156105da57600080fd5b5061039a6105e9366004612d6c565b610e27565b3480156105fa57600080fd5b5061039a610609366004612ddc565b610f51565b34801561061a57600080fd5b5061039a610629366004612ddc565b610f97565b34801561063a57600080fd5b5061039a610649366004612cd9565b610fdd565b34801561065a57600080fd5b5061039a610669366004612d37565b611024565b34801561067a57600080fd5b506103b260065481565b34801561069057600080fd5b5060225461043d9060ff1681565b3480156106aa57600080fd5b506103b26106b9366004612cd9565b6001600160a01b031660009081526007602052604090205490565b3480156106e057600080fd5b50601c5461057c906001600160a01b031681565b34801561070057600080fd5b506103b260055481565b34801561071657600080fd5b5061039a610725366004612cbe565b611074565b34801561073657600080fd5b50601a5461057c9061010090046001600160a01b031681565b34801561075b57600080fd5b506000546001600160a01b031661057c565b34801561077957600080fd5b5061039a610788366004612cd9565b6110da565b34801561079957600080fd5b50601d5461057c906001600160a01b031681565b3480156107b957600080fd5b5060408051808201909152600381526253594360e81b6020820152610410565b3480156107e557600080fd5b50601a5461043d9060ff1681565b3480156107ff57600080fd5b5061039a61080e366004612cd9565b611121565b34801561081f57600080fd5b5061043d61082e366004612c7d565b61119e565b34801561083f57600080fd5b5060165461043d9060ff1681565b34801561085957600080fd5b5061039a610868366004612cd9565b6111ab565b34801561087957600080fd5b5061039a610888366004612cd9565b6111f2565b34801561089957600080fd5b50601a5461043d90600160a81b900460ff1681565b3480156108ba57600080fd5b5061057c6108c9366004612ddc565b611243565b3480156108da57600080fd5b5061039a6108e9366004612ddc565b61126d565b3480156108fa57600080fd5b50601e5461057c906001600160a01b031681565b34801561091a57600080fd5b506103b260265481565b34801561093057600080fd5b5061039a61093f366004612cd9565b611655565b34801561095057600080fd5b50601b5461057c906001600160a01b031681565b34801561097057600080fd5b506103b260245481565b34801561098657600080fd5b506103b2610995366004612df5565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156109cc57600080fd5b5061039a6109db366004612cbe565b6116cc565b61039a611732565b3480156109f457600080fd5b5061039a610a03366004612cd9565b6119db565b348015610a1457600080fd5b5061039a610a23366004612cd9565b611a26565b348015610a3457600080fd5b5061039a610a43366004612d37565b611ab6565b348015610a5457600080fd5b50601f5461057c906001600160a01b031681565b348015610a7457600080fd5b506103b260175481565b348015610a8a57600080fd5b5061039a610a99366004612cd9565b611b06565b348015610aaa57600080fd5b5061043d610ab9366004612cd9565b611b83565b610ac733611b83565b610aec5760405162461bcd60e51b8152600401610ae390612e2e565b60405180910390fd5b6021805480610afd57610afd612e53565b600082815260209020810160001990810180546001600160a01b0319169055019055565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b7c9086815260200190565b60405180910390a35060015b92915050565b610b9733611b83565b610bb35760405162461bcd60e51b8152600401610ae390612e2e565b601a805460ff19168215159081179091556040519081527fec1005e46fb1aa41ae5fd9c46821115a67c5fe552cae5fed93f6fb21a7399a16906020015b60405180910390a150565b610c0433611b83565b610c205760405162461bcd60e51b8152600401610ae390612e2e565b601d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610c7c573d6000803e3d6000fd5b50565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610d50576001600160a01b0384166000908152600860209081526040808320338452909152902054821115610d175760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610ae3565b6001600160a01b038416600090815260086020908152604080832033845290915281208054849290610d4a908490612e7f565b90915550505b610d5b848484611ba1565b90505b9392505050565b610d6e33611b83565b610d8a5760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6019546017546003546001600160a01b039081166000908152600760205260408082205460025490931682528120546004549194939291610df69190612e7f565b610e009190612e7f565b610e0a9190612e96565b610e149190612e96565b905090565b6000610b8882600019610b21565b610e3033611b83565b610e4c5760405162461bcd60e51b8152600401610ae390612e2e565b600c899055600d889055600e879055600f8690556010859055601384905560118290556012819055601a805460ff60a81b1916600160a81b851515021790556000858789610e9a8d8d612e96565b610ea49190612e96565b610eae9190612e96565b610eb89190612e96565b90506004601354610ec99190612eae565b82610ed48584612ed0565b610ede9190612eae565b10610f455760405162461bcd60e51b815260206004820152603160248201527f4d6178696d756d20616c6c6f776564207461786174696f6e206f6e20746869736044820152701031b7b73a3930b1ba1034b9901918129760791b6064820152608401610ae3565b50505050505050505050565b610f5a33611b83565b610f765760405162461bcd60e51b8152600401610ae390612e2e565b6103e8600454610f869190612eae565b811015610f9257600080fd5b600555565b610fa033611b83565b610fbc5760405162461bcd60e51b8152600401610ae390612e2e565b6103e8600454610fcc9190612eae565b811015610fd857600080fd5b600655565b610fe633611b83565b6110025760405162461bcd60e51b8152600401610ae390612e2e565b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b61102d33611b83565b6110495760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b61107d33611b83565b6110995760405162461bcd60e51b8152600401610ae390612e2e565b6018805460ff19168215159081179091556040519081527f7e3711afba34c356213fa0ce89cbf42edb76b5e481c22fcf5f5792234577604490602001610bf0565b6110e333611b83565b6110ff5760405162461bcd60e51b8152600401610ae390612e2e565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b61112a33611b83565b6111465760405162461bcd60e51b8152600401610ae390612e2e565b601a8054610100600160a81b0319166101006001600160a01b03939093169283021790556000908152600960209081526040808320805460ff199081166001908117909255600a909352922080549091169091179055565b6000610d5e338484611ba1565b6111b433611b83565b6111d05760405162461bcd60e51b8152600401610ae390612e2e565b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461121c5760405162461bcd60e51b8152600401610ae390612eef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6021818154811061125357600080fd5b6000918252602090912001546001600160a01b0316905081565b6025805460ff1916600117905561128c81670de0b6b3a7640000612ed0565b905047816112af336001600160a01b031660009081526007602052604090205490565b10156112fd5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073656c6c206d6f7265207468616e20796f75206f776e0000006044820152606401610ae3565b306000908152600860209081526040808320601f546001600160a01b03168452909152902054600019111561134657601f54611344906001600160a01b0316600019610b21565b505b3360009081526007602052604081208054849290611365908490612e7f565b90915550503060009081526007602052604081208054849290611389908490612e96565b909155505060408051600280825260608201835260009260208301908036833701905050905030816000815181106113c3576113c3612f0f565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114409190612f25565b8160018151811061145357611453612f0f565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b815291169063791ac94790611499908690600090869030904290600401612f86565b600060405180830381600087803b1580156114b357600080fd5b505af11580156114c7573d6000803e3d6000fd5b50505050600082476114d99190612e7f565b90506000601354826014546114ee9190612ed0565b6114f89190612eae565b90506115048183612e7f565b604051909250339083156108fc029084906000818181858888f19350505050158015611534573d6000803e3d6000fd5b50601a54600160a81b900460ff16156115d0576000600d54476115579190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611592573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115cd573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611609573d6000803e3d6000fd5b5060408051338152602081018790527faa2fb77a17e7d8eb286b9c0e41114c5f7c06ab30729e0fb14268851cf629920f91015b60405180910390a150506025805460ff19169055505050565b61165e33611b83565b61167a5760405162461bcd60e51b8152600401610ae390612e2e565b602180546001810182556000919091527f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b0392909216919091179055565b6116d533611b83565b6116f15760405162461bcd60e51b8152600401610ae390612e2e565b6022805460ff19168215159081179091556040519081527fdea63b4248e33990c8e14391c5e9e66041e4e9953b1d7d1c75871eb7779bbb7990602001610bf0565b6025805460ff191660011790556015543490600090606490611755908490612ed0565b61175f9190612eae565b905061176b8183612e7f565b60408051600280825260608201835292945060009290916020830190803683375050601f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190612f25565b8160008151811061181157611811612f0f565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061184557611845612f0f565b6001600160a01b039283166020918202929092010152601f5460405163b6f9de9560e01b815291169063b6f9de9590859061188b90600090869033904290600401612fc2565b6000604051808303818588803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b5050601a54600160a81b900460ff1615925061195a915050576000600d54476118e19190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f1935050505015801561191c573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611957573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611993573d6000803e3d6000fd5b50604080513381523460208201527fc31471b51111194aef3be23d7792bcd424adaa489d5d5c6632f9f5b8fdb41aeb910160405180910390a150506025805460ff1916905550565b6000546001600160a01b03163314611a055760405162461bcd60e51b8152600401610ae390612eef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314611a505760405162461bcd60e51b8152600401610ae390612eef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101610bf0565b611abf33611b83565b611adb5760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b611b0f33611b83565b611b2b5760405162461bcd60e51b8152600401610ae390612e2e565b60188054610100600160a81b0319166101006001600160a01b03939093169283021790556000908152600960209081526040808320805460ff199081166001908117909255600a909352922080549091169091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000808211611baf57600080fd5b60255460ff1680611bc55750611bc58484611e1b565b80611bd55750611bd58484611e90565b15611bec57611be5848484611ee4565b9050610d5e565b611bf7848484611fe4565b611bff6121b6565b15611c0c57611c0c612217565b602654158015611c2957506020546001600160a01b038481169116145b15611cd0576001600160a01b038416600090815260076020526040902054611c5057600080fd5b6000546001600160a01b03858116911614611cc75760405162461bcd60e51b815260206004820152603160248201527f4f6e6c7920746865206f776e65722063616e20626520746865206669727374206044820152703a379030b232103634b8bab4b234ba3c9760791b6064820152608401610ae3565b611cd043602655565b6001600160a01b038416600090815260076020526040902054821115611d2f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610ae3565b6001600160a01b03841660009081526007602052604081208054849290611d57908490612e7f565b9091555060009050611d6985856125b1565b611d735782611d7d565b611d7d858461274a565b6001600160a01b038516600090815260076020526040812080549293508392909190611daa908490612e96565b909155505060185460ff1615611dc257611dc2612ab5565b601a5460ff1615611dd557611dd5612b64565b836001600160a01b0316856001600160a01b031660008051602061304183398151915283604051611e0891815260200190565b60405180910390a3506001949350505050565b6018546000906001600160a01b03848116610100909204161480611e515750601a546001600160a01b0384811661010090920416145b80611e6e57506018546001600160a01b0383811661010090920416145b80610d5e575050601a5461010090046001600160a01b03908116911614919050565b6001600160a01b0382166000908152600b602052604081205460ff1680611ecf57506001600160a01b0382166000908152600b602052604090205460ff165b15611edc57506001610b88565b506000610b88565b6001600160a01b038316600090815260076020526040812054821115611f435760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610ae3565b6001600160a01b03841660009081526007602052604081208054849290611f6b908490612e7f565b90915550506001600160a01b03831660009081526007602052604081208054849290611f98908490612e96565b92505081905550826001600160a01b0316846001600160a01b031660008051602061304183398151915284604051611fd291815260200190565b60405180910390a35060019392505050565b6005548111158061200d57506001600160a01b0383166000908152600a602052604090205460ff165b8061204857506001600160a01b0382166000908152600a602052604090205460ff16801561204857506020546001600160a01b038481169116145b6120885760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610ae3565b6000546001600160a01b038481169116148015906120b457506000546001600160a01b03838116911614155b80156120d957506001600160a01b0382166000908152600a602052604090205460ff16155b80156120f357506003546001600160a01b03838116911614155b801561210d57506002546001600160a01b03838116911614155b801561212757506020546001600160a01b03838116911614155b801561213c57506001600160a01b0382163014155b156121b1576001600160a01b038216600090815260076020526040812054612165908390612e96565b90506006548111156121af5760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b2399036b0bc103bb0b63632ba1760691b6044820152606401610ae3565b505b505050565b60006121c3602654151590565b80156121da57506020546001600160a01b03163314155b80156121e9575060255460ff16155b80156121f7575060225460ff165b8015610e1457505060235430600090815260076020526040902054101590565b6025805460ff1916600117905530600090815260076020526040812054905060245481111561224557506024545b60006002600d54600c546122599190612e96565b600c546122669085612ed0565b6122709190612eae565b61227a9190612eae565b905060006122888284612e7f565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106122c2576122c2612f0f565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561231b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233f9190612f25565b8160018151811061235257612352612f0f565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b815291169063791ac94790612398908590600090869030904290600401612f86565b600060405180830381600087803b1580156123b257600080fd5b505af11580156123c6573d6000803e3d6000fd5b505050506000600d546002600c546123de9190612eae565b6123e89190612e96565b6002600c546123f79190612eae565b6124019047612ed0565b61240b9190612eae565b601f54601b5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af115801561247d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124a29190612ff7565b5050601a54600160a81b900460ff16159050612541576000600d54476124c89190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015612503573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561253e573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561257a573d6000803e3d6000fd5b5060408051828152602081018690527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506910161163c565b6001600160a01b03821660009081526009602052604081205460ff16806125f057506001600160a01b03821660009081526009602052604090205460ff165b806125fb5750602654155b1561260857506000610b88565b6000602180548060200260200160405190810160405280929190818152602001828054801561266057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612642575b5050505050905060005b81518110156126ce5781818151811061268557612685612f0f565b60200260200101516001600160a01b0316856001600160a01b031614156126bc5750506022805462ff000019169055506001610b88565b806126c681613025565b91505061266a565b5060005b815181101561273b578181815181106126ed576126ed612f0f565b60200260200101516001600160a01b0316846001600160a01b031614156127295750506022805462ff0000191662010000179055506001610b88565b8061273381613025565b9150506126d2565b505060165460ff169392505050565b6000612757602654151590565b612762575080610b88565b6000806000806000600d54600c5461277a9190612e96565b111561282b57601354600c54600d546127939190612e96565b61279d9088612ed0565b6127a79190612eae565b60225490945062010000900460ff16156127d8576012546011546127cb9086612ed0565b6127d59190612eae565b93505b30600090815260076020526040812080548692906127f7908490612e96565b909155505060405184815230906001600160a01b038916906000805160206130418339815191529060200160405180910390a35b600e54156128e157601354600e546128439088612ed0565b61284d9190612eae565b60225490935062010000900460ff161561287e576012546011546128719085612ed0565b61287b9190612eae565b92505b6002546001600160a01b0316600090815260076020526040812080548592906128a8908490612e96565b90915550506002546040518481526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b600f54156129b057601354600f546128f99088612ed0565b6129039190612eae565b60225490925062010000900460ff1615612934576012546011546129279084612ed0565b6129319190612eae565b91505b6003546001600160a01b03166000908152600760205260408120805484929061295e908490612e96565b9250508190555081601760008282546129779190612e96565b90915550506003546040518381526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b60105415612a7f576013546010546129c89088612ed0565b6129d29190612eae565b60225490915062010000900460ff1615612a03576012546011546129f69083612ed0565b612a009190612eae565b90505b6003546001600160a01b031660009081526007602052604081208054839290612a2d908490612e96565b925050819055508060196000828254612a469190612e96565b90915550506003546040518281526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b808284612a8c878a612e7f565b612a969190612e7f565b612aa09190612e7f565b612aaa9190612e7f565b979650505050505050565b6017546003546001600160a01b031660009081526007602052604081208054909190612ae2908490612e7f565b909155505060175460185461010090046001600160a01b031660009081526007602052604081208054909190612b19908490612e96565b90915550506018546003546017546040519081526101009092046001600160a01b03908116929116906000805160206130418339815191529060200160405180910390a36000601755565b6019546003546001600160a01b031660009081526007602052604081208054909190612b91908490612e7f565b9091555050601954601a5461010090046001600160a01b031660009081526007602052604081208054909190612bc8908490612e96565b9091555050601a546003546019546040519081526101009092046001600160a01b03908116929116906000805160206130418339815191529060200160405180910390a36000601955565b600060208083528351808285015260005b81811015612c4057858101830151858201604001528201612c24565b81811115612c52576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610c7c57600080fd5b60008060408385031215612c9057600080fd5b8235612c9b81612c68565b946020939093013593505050565b80358015158114612cb957600080fd5b919050565b600060208284031215612cd057600080fd5b610d5e82612ca9565b600060208284031215612ceb57600080fd5b8135610d5e81612c68565b600080600060608486031215612d0b57600080fd5b8335612d1681612c68565b92506020840135612d2681612c68565b929592945050506040919091013590565b60008060408385031215612d4a57600080fd5b8235612d5581612c68565b9150612d6360208401612ca9565b90509250929050565b60008060008060008060008060006101208a8c031215612d8b57600080fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a01359350612dbe60c08b01612ca9565b925060e08a013591506101008a013590509295985092959850929598565b600060208284031215612dee57600080fd5b5035919050565b60008060408385031215612e0857600080fd5b8235612e1381612c68565b91506020830135612e2381612c68565b809150509250929050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612e9157612e91612e69565b500390565b60008219821115612ea957612ea9612e69565b500190565b600082612ecb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612eea57612eea612e69565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f3757600080fd5b8151610d5e81612c68565b600081518084526020808501945080840160005b83811015612f7b5781516001600160a01b031687529582019590820190600101612f56565b509495945050505050565b85815284602082015260a060408201526000612fa560a0830186612f42565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612fdb6080830186612f42565b6001600160a01b03949094166040830152506060015292915050565b60008060006060848603121561300c57600080fd5b8351925060208401519150604084015190509250925092565b600060001982141561303957613039612e69565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122089df4e4843fe802206cc311735c32debe33fd63b77e3eb971060d777bff843cb64736f6c634300080c0033
Deployed Bytecode
0x6080604052600436106103795760003560e01c806384becc8e116101d1578063beb08ab911610102578063edeaedfa116100a0578063f887ea401161006f578063f887ea4014610a48578063f8bc7e2f14610a68578063f91564af14610a7e578063fe9fbb8014610a9e57600080fd5b8063edeaedfa146109e0578063f0b37c04146109e8578063f2fde38b14610a08578063f84ba65d14610a2857600080fd5b8063ca33e64c116100dc578063ca33e64c14610944578063cce987d414610964578063dd62ed3e1461097a578063e01af92c146109c057600080fd5b8063beb08ab9146108ee578063bf56b3711461090e578063c2b7bbb61461092457600080fd5b8063a9059cbb1161016f578063b6a5d7de11610149578063b6a5d7de1461086d578063b7d016e41461088d578063b91ac788146108ae578063ba2261d0146108ce57600080fd5b8063a9059cbb14610813578063b08b9b4614610833578063b57e36821461084d57600080fd5b80638ea5220f116101ab5780638ea5220f1461078d57806395d89b41146107ad578063a42f3d12146107d9578063a6fe5ac6146107f357600080fd5b806384becc8e1461072a578063893d20e81461074f5780638a7804471461076d57600080fd5b806333623794116102ab578063658d4b7f1161024957806370a082311161022357806370a082311461069e57806375f0a874146106d45780637d1db4a5146106f45780637d253fc21461070a57600080fd5b8063658d4b7f1461064e5780636c0a24eb1461066e5780636ddd17131461068457600080fd5b806359e60bc81161028557806359e60bc8146105ce5780635c85974f146105ee5780635d0044ca1461060e5780635d098b381461062e57600080fd5b806333623794146105575780634e9a969514610594578063571ac8b0146105ae57600080fd5b80631f53ac021161031857806324b41af2116102f257806324b41af2146104d75780632b112e49146104f75780632f54bf6e1461050c578063313ce5671461053b57600080fd5b80631f53ac02146104825780631fbe1979146104a257806323b872dd146104b757600080fd5b806306fdde031161035457806306fdde03146103db578063095ea7b31461041d578063172f5c4a1461044d57806318160ddd1461046d57600080fd5b806293dc14146103855780630379a3e91461039c5780630445b667146103c557600080fd5b3661038057005b600080fd5b34801561039157600080fd5b5061039a610abe565b005b3480156103a857600080fd5b506103b260195481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b506103b260235481565b3480156103e757600080fd5b5060408051808201909152601081526f29b434b130902cb0b1b43a1021b63ab160811b60208201525b6040516103bc9190612c13565b34801561042957600080fd5b5061043d610438366004612c7d565b610b21565b60405190151581526020016103bc565b34801561045957600080fd5b5061039a610468366004612cbe565b610b8e565b34801561047957600080fd5b506004546103b2565b34801561048e57600080fd5b5061039a61049d366004612cd9565b610bfb565b3480156104ae57600080fd5b5061039a610c42565b3480156104c357600080fd5b5061043d6104d2366004612cf6565b610c7f565b3480156104e357600080fd5b5061039a6104f2366004612d37565b610d65565b34801561050357600080fd5b506103b2610db5565b34801561051857600080fd5b5061043d610527366004612cd9565b6000546001600160a01b0391821691161490565b34801561054757600080fd5b50604051601281526020016103bc565b34801561056357600080fd5b5060185461057c9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b3480156105a057600080fd5b5060185461043d9060ff1681565b3480156105ba57600080fd5b5061043d6105c9366004612cd9565b610e19565b3480156105da57600080fd5b5061039a6105e9366004612d6c565b610e27565b3480156105fa57600080fd5b5061039a610609366004612ddc565b610f51565b34801561061a57600080fd5b5061039a610629366004612ddc565b610f97565b34801561063a57600080fd5b5061039a610649366004612cd9565b610fdd565b34801561065a57600080fd5b5061039a610669366004612d37565b611024565b34801561067a57600080fd5b506103b260065481565b34801561069057600080fd5b5060225461043d9060ff1681565b3480156106aa57600080fd5b506103b26106b9366004612cd9565b6001600160a01b031660009081526007602052604090205490565b3480156106e057600080fd5b50601c5461057c906001600160a01b031681565b34801561070057600080fd5b506103b260055481565b34801561071657600080fd5b5061039a610725366004612cbe565b611074565b34801561073657600080fd5b50601a5461057c9061010090046001600160a01b031681565b34801561075b57600080fd5b506000546001600160a01b031661057c565b34801561077957600080fd5b5061039a610788366004612cd9565b6110da565b34801561079957600080fd5b50601d5461057c906001600160a01b031681565b3480156107b957600080fd5b5060408051808201909152600381526253594360e81b6020820152610410565b3480156107e557600080fd5b50601a5461043d9060ff1681565b3480156107ff57600080fd5b5061039a61080e366004612cd9565b611121565b34801561081f57600080fd5b5061043d61082e366004612c7d565b61119e565b34801561083f57600080fd5b5060165461043d9060ff1681565b34801561085957600080fd5b5061039a610868366004612cd9565b6111ab565b34801561087957600080fd5b5061039a610888366004612cd9565b6111f2565b34801561089957600080fd5b50601a5461043d90600160a81b900460ff1681565b3480156108ba57600080fd5b5061057c6108c9366004612ddc565b611243565b3480156108da57600080fd5b5061039a6108e9366004612ddc565b61126d565b3480156108fa57600080fd5b50601e5461057c906001600160a01b031681565b34801561091a57600080fd5b506103b260265481565b34801561093057600080fd5b5061039a61093f366004612cd9565b611655565b34801561095057600080fd5b50601b5461057c906001600160a01b031681565b34801561097057600080fd5b506103b260245481565b34801561098657600080fd5b506103b2610995366004612df5565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156109cc57600080fd5b5061039a6109db366004612cbe565b6116cc565b61039a611732565b3480156109f457600080fd5b5061039a610a03366004612cd9565b6119db565b348015610a1457600080fd5b5061039a610a23366004612cd9565b611a26565b348015610a3457600080fd5b5061039a610a43366004612d37565b611ab6565b348015610a5457600080fd5b50601f5461057c906001600160a01b031681565b348015610a7457600080fd5b506103b260175481565b348015610a8a57600080fd5b5061039a610a99366004612cd9565b611b06565b348015610aaa57600080fd5b5061043d610ab9366004612cd9565b611b83565b610ac733611b83565b610aec5760405162461bcd60e51b8152600401610ae390612e2e565b60405180910390fd5b6021805480610afd57610afd612e53565b600082815260209020810160001990810180546001600160a01b0319169055019055565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b7c9086815260200190565b60405180910390a35060015b92915050565b610b9733611b83565b610bb35760405162461bcd60e51b8152600401610ae390612e2e565b601a805460ff19168215159081179091556040519081527fec1005e46fb1aa41ae5fd9c46821115a67c5fe552cae5fed93f6fb21a7399a16906020015b60405180910390a150565b610c0433611b83565b610c205760405162461bcd60e51b8152600401610ae390612e2e565b601d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610c7c573d6000803e3d6000fd5b50565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610d50576001600160a01b0384166000908152600860209081526040808320338452909152902054821115610d175760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610ae3565b6001600160a01b038416600090815260086020908152604080832033845290915281208054849290610d4a908490612e7f565b90915550505b610d5b848484611ba1565b90505b9392505050565b610d6e33611b83565b610d8a5760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6019546017546003546001600160a01b039081166000908152600760205260408082205460025490931682528120546004549194939291610df69190612e7f565b610e009190612e7f565b610e0a9190612e96565b610e149190612e96565b905090565b6000610b8882600019610b21565b610e3033611b83565b610e4c5760405162461bcd60e51b8152600401610ae390612e2e565b600c899055600d889055600e879055600f8690556010859055601384905560118290556012819055601a805460ff60a81b1916600160a81b851515021790556000858789610e9a8d8d612e96565b610ea49190612e96565b610eae9190612e96565b610eb89190612e96565b90506004601354610ec99190612eae565b82610ed48584612ed0565b610ede9190612eae565b10610f455760405162461bcd60e51b815260206004820152603160248201527f4d6178696d756d20616c6c6f776564207461786174696f6e206f6e20746869736044820152701031b7b73a3930b1ba1034b9901918129760791b6064820152608401610ae3565b50505050505050505050565b610f5a33611b83565b610f765760405162461bcd60e51b8152600401610ae390612e2e565b6103e8600454610f869190612eae565b811015610f9257600080fd5b600555565b610fa033611b83565b610fbc5760405162461bcd60e51b8152600401610ae390612e2e565b6103e8600454610fcc9190612eae565b811015610fd857600080fd5b600655565b610fe633611b83565b6110025760405162461bcd60e51b8152600401610ae390612e2e565b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b61102d33611b83565b6110495760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b61107d33611b83565b6110995760405162461bcd60e51b8152600401610ae390612e2e565b6018805460ff19168215159081179091556040519081527f7e3711afba34c356213fa0ce89cbf42edb76b5e481c22fcf5f5792234577604490602001610bf0565b6110e333611b83565b6110ff5760405162461bcd60e51b8152600401610ae390612e2e565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b61112a33611b83565b6111465760405162461bcd60e51b8152600401610ae390612e2e565b601a8054610100600160a81b0319166101006001600160a01b03939093169283021790556000908152600960209081526040808320805460ff199081166001908117909255600a909352922080549091169091179055565b6000610d5e338484611ba1565b6111b433611b83565b6111d05760405162461bcd60e51b8152600401610ae390612e2e565b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461121c5760405162461bcd60e51b8152600401610ae390612eef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6021818154811061125357600080fd5b6000918252602090912001546001600160a01b0316905081565b6025805460ff1916600117905561128c81670de0b6b3a7640000612ed0565b905047816112af336001600160a01b031660009081526007602052604090205490565b10156112fd5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073656c6c206d6f7265207468616e20796f75206f776e0000006044820152606401610ae3565b306000908152600860209081526040808320601f546001600160a01b03168452909152902054600019111561134657601f54611344906001600160a01b0316600019610b21565b505b3360009081526007602052604081208054849290611365908490612e7f565b90915550503060009081526007602052604081208054849290611389908490612e96565b909155505060408051600280825260608201835260009260208301908036833701905050905030816000815181106113c3576113c3612f0f565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114409190612f25565b8160018151811061145357611453612f0f565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b815291169063791ac94790611499908690600090869030904290600401612f86565b600060405180830381600087803b1580156114b357600080fd5b505af11580156114c7573d6000803e3d6000fd5b50505050600082476114d99190612e7f565b90506000601354826014546114ee9190612ed0565b6114f89190612eae565b90506115048183612e7f565b604051909250339083156108fc029084906000818181858888f19350505050158015611534573d6000803e3d6000fd5b50601a54600160a81b900460ff16156115d0576000600d54476115579190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611592573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115cd573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611609573d6000803e3d6000fd5b5060408051338152602081018790527faa2fb77a17e7d8eb286b9c0e41114c5f7c06ab30729e0fb14268851cf629920f91015b60405180910390a150506025805460ff19169055505050565b61165e33611b83565b61167a5760405162461bcd60e51b8152600401610ae390612e2e565b602180546001810182556000919091527f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b0392909216919091179055565b6116d533611b83565b6116f15760405162461bcd60e51b8152600401610ae390612e2e565b6022805460ff19168215159081179091556040519081527fdea63b4248e33990c8e14391c5e9e66041e4e9953b1d7d1c75871eb7779bbb7990602001610bf0565b6025805460ff191660011790556015543490600090606490611755908490612ed0565b61175f9190612eae565b905061176b8183612e7f565b60408051600280825260608201835292945060009290916020830190803683375050601f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190612f25565b8160008151811061181157611811612f0f565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061184557611845612f0f565b6001600160a01b039283166020918202929092010152601f5460405163b6f9de9560e01b815291169063b6f9de9590859061188b90600090869033904290600401612fc2565b6000604051808303818588803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b5050601a54600160a81b900460ff1615925061195a915050576000600d54476118e19190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f1935050505015801561191c573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611957573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611993573d6000803e3d6000fd5b50604080513381523460208201527fc31471b51111194aef3be23d7792bcd424adaa489d5d5c6632f9f5b8fdb41aeb910160405180910390a150506025805460ff1916905550565b6000546001600160a01b03163314611a055760405162461bcd60e51b8152600401610ae390612eef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314611a505760405162461bcd60e51b8152600401610ae390612eef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101610bf0565b611abf33611b83565b611adb5760405162461bcd60e51b8152600401610ae390612e2e565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b611b0f33611b83565b611b2b5760405162461bcd60e51b8152600401610ae390612e2e565b60188054610100600160a81b0319166101006001600160a01b03939093169283021790556000908152600960209081526040808320805460ff199081166001908117909255600a909352922080549091169091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000808211611baf57600080fd5b60255460ff1680611bc55750611bc58484611e1b565b80611bd55750611bd58484611e90565b15611bec57611be5848484611ee4565b9050610d5e565b611bf7848484611fe4565b611bff6121b6565b15611c0c57611c0c612217565b602654158015611c2957506020546001600160a01b038481169116145b15611cd0576001600160a01b038416600090815260076020526040902054611c5057600080fd5b6000546001600160a01b03858116911614611cc75760405162461bcd60e51b815260206004820152603160248201527f4f6e6c7920746865206f776e65722063616e20626520746865206669727374206044820152703a379030b232103634b8bab4b234ba3c9760791b6064820152608401610ae3565b611cd043602655565b6001600160a01b038416600090815260076020526040902054821115611d2f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610ae3565b6001600160a01b03841660009081526007602052604081208054849290611d57908490612e7f565b9091555060009050611d6985856125b1565b611d735782611d7d565b611d7d858461274a565b6001600160a01b038516600090815260076020526040812080549293508392909190611daa908490612e96565b909155505060185460ff1615611dc257611dc2612ab5565b601a5460ff1615611dd557611dd5612b64565b836001600160a01b0316856001600160a01b031660008051602061304183398151915283604051611e0891815260200190565b60405180910390a3506001949350505050565b6018546000906001600160a01b03848116610100909204161480611e515750601a546001600160a01b0384811661010090920416145b80611e6e57506018546001600160a01b0383811661010090920416145b80610d5e575050601a5461010090046001600160a01b03908116911614919050565b6001600160a01b0382166000908152600b602052604081205460ff1680611ecf57506001600160a01b0382166000908152600b602052604090205460ff165b15611edc57506001610b88565b506000610b88565b6001600160a01b038316600090815260076020526040812054821115611f435760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610ae3565b6001600160a01b03841660009081526007602052604081208054849290611f6b908490612e7f565b90915550506001600160a01b03831660009081526007602052604081208054849290611f98908490612e96565b92505081905550826001600160a01b0316846001600160a01b031660008051602061304183398151915284604051611fd291815260200190565b60405180910390a35060019392505050565b6005548111158061200d57506001600160a01b0383166000908152600a602052604090205460ff165b8061204857506001600160a01b0382166000908152600a602052604090205460ff16801561204857506020546001600160a01b038481169116145b6120885760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610ae3565b6000546001600160a01b038481169116148015906120b457506000546001600160a01b03838116911614155b80156120d957506001600160a01b0382166000908152600a602052604090205460ff16155b80156120f357506003546001600160a01b03838116911614155b801561210d57506002546001600160a01b03838116911614155b801561212757506020546001600160a01b03838116911614155b801561213c57506001600160a01b0382163014155b156121b1576001600160a01b038216600090815260076020526040812054612165908390612e96565b90506006548111156121af5760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b2399036b0bc103bb0b63632ba1760691b6044820152606401610ae3565b505b505050565b60006121c3602654151590565b80156121da57506020546001600160a01b03163314155b80156121e9575060255460ff16155b80156121f7575060225460ff165b8015610e1457505060235430600090815260076020526040902054101590565b6025805460ff1916600117905530600090815260076020526040812054905060245481111561224557506024545b60006002600d54600c546122599190612e96565b600c546122669085612ed0565b6122709190612eae565b61227a9190612eae565b905060006122888284612e7f565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106122c2576122c2612f0f565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561231b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233f9190612f25565b8160018151811061235257612352612f0f565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b815291169063791ac94790612398908590600090869030904290600401612f86565b600060405180830381600087803b1580156123b257600080fd5b505af11580156123c6573d6000803e3d6000fd5b505050506000600d546002600c546123de9190612eae565b6123e89190612e96565b6002600c546123f79190612eae565b6124019047612ed0565b61240b9190612eae565b601f54601b5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af115801561247d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124a29190612ff7565b5050601a54600160a81b900460ff16159050612541576000600d54476124c89190612eae565b601d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015612503573d6000803e3d6000fd5b50601e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561253e573d6000803e3d6000fd5b50505b601c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561257a573d6000803e3d6000fd5b5060408051828152602081018690527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506910161163c565b6001600160a01b03821660009081526009602052604081205460ff16806125f057506001600160a01b03821660009081526009602052604090205460ff165b806125fb5750602654155b1561260857506000610b88565b6000602180548060200260200160405190810160405280929190818152602001828054801561266057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612642575b5050505050905060005b81518110156126ce5781818151811061268557612685612f0f565b60200260200101516001600160a01b0316856001600160a01b031614156126bc5750506022805462ff000019169055506001610b88565b806126c681613025565b91505061266a565b5060005b815181101561273b578181815181106126ed576126ed612f0f565b60200260200101516001600160a01b0316846001600160a01b031614156127295750506022805462ff0000191662010000179055506001610b88565b8061273381613025565b9150506126d2565b505060165460ff169392505050565b6000612757602654151590565b612762575080610b88565b6000806000806000600d54600c5461277a9190612e96565b111561282b57601354600c54600d546127939190612e96565b61279d9088612ed0565b6127a79190612eae565b60225490945062010000900460ff16156127d8576012546011546127cb9086612ed0565b6127d59190612eae565b93505b30600090815260076020526040812080548692906127f7908490612e96565b909155505060405184815230906001600160a01b038916906000805160206130418339815191529060200160405180910390a35b600e54156128e157601354600e546128439088612ed0565b61284d9190612eae565b60225490935062010000900460ff161561287e576012546011546128719085612ed0565b61287b9190612eae565b92505b6002546001600160a01b0316600090815260076020526040812080548592906128a8908490612e96565b90915550506002546040518481526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b600f54156129b057601354600f546128f99088612ed0565b6129039190612eae565b60225490925062010000900460ff1615612934576012546011546129279084612ed0565b6129319190612eae565b91505b6003546001600160a01b03166000908152600760205260408120805484929061295e908490612e96565b9250508190555081601760008282546129779190612e96565b90915550506003546040518381526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b60105415612a7f576013546010546129c89088612ed0565b6129d29190612eae565b60225490915062010000900460ff1615612a03576012546011546129f69083612ed0565b612a009190612eae565b90505b6003546001600160a01b031660009081526007602052604081208054839290612a2d908490612e96565b925050819055508060196000828254612a469190612e96565b90915550506003546040518281526001600160a01b03918216918916906000805160206130418339815191529060200160405180910390a35b808284612a8c878a612e7f565b612a969190612e7f565b612aa09190612e7f565b612aaa9190612e7f565b979650505050505050565b6017546003546001600160a01b031660009081526007602052604081208054909190612ae2908490612e7f565b909155505060175460185461010090046001600160a01b031660009081526007602052604081208054909190612b19908490612e96565b90915550506018546003546017546040519081526101009092046001600160a01b03908116929116906000805160206130418339815191529060200160405180910390a36000601755565b6019546003546001600160a01b031660009081526007602052604081208054909190612b91908490612e7f565b9091555050601954601a5461010090046001600160a01b031660009081526007602052604081208054909190612bc8908490612e96565b9091555050601a546003546019546040519081526101009092046001600160a01b03908116929116906000805160206130418339815191529060200160405180910390a36000601955565b600060208083528351808285015260005b81811015612c4057858101830151858201604001528201612c24565b81811115612c52576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610c7c57600080fd5b60008060408385031215612c9057600080fd5b8235612c9b81612c68565b946020939093013593505050565b80358015158114612cb957600080fd5b919050565b600060208284031215612cd057600080fd5b610d5e82612ca9565b600060208284031215612ceb57600080fd5b8135610d5e81612c68565b600080600060608486031215612d0b57600080fd5b8335612d1681612c68565b92506020840135612d2681612c68565b929592945050506040919091013590565b60008060408385031215612d4a57600080fd5b8235612d5581612c68565b9150612d6360208401612ca9565b90509250929050565b60008060008060008060008060006101208a8c031215612d8b57600080fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a01359350612dbe60c08b01612ca9565b925060e08a013591506101008a013590509295985092959850929598565b600060208284031215612dee57600080fd5b5035919050565b60008060408385031215612e0857600080fd5b8235612e1381612c68565b91506020830135612e2381612c68565b809150509250929050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612e9157612e91612e69565b500390565b60008219821115612ea957612ea9612e69565b500190565b600082612ecb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612eea57612eea612e69565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f3757600080fd5b8151610d5e81612c68565b600081518084526020808501945080840160005b83811015612f7b5781516001600160a01b031687529582019590820190600101612f56565b509495945050505050565b85815284602082015260a060408201526000612fa560a0830186612f42565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612fdb6080830186612f42565b6001600160a01b03949094166040830152506060015292915050565b60008060006060848603121561300c57600080fd5b8351925060208401519150604084015190509250925092565b600060001982141561303957613039612e69565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122089df4e4843fe802206cc311735c32debe33fd63b77e3eb971060d777bff843cb64736f6c634300080c0033
Deployed Bytecode Sourcemap
8784:18381:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27086:76;;;;;;;;;;;;;:::i;:::-;;10051:37;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;10051:37:0;;;;;;;;10614:51;;;;;;;;;;;;;;;;12222:80;;;;;;;;;;-1:-1:-1;12294:5:0;;;;;;;;;;;;-1:-1:-1;;;12294:5:0;;;;12222:80;;;;;;;:::i;12644:216::-;;;;;;;;;;-1:-1:-1;12644:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;12644:216:0;1254:187:1;26840:143:0;;;;;;;;;;-1:-1:-1;26840:143:0;;;;;:::i;:::-;;:::i;11952:88::-;;;;;;;;;;-1:-1:-1;12025:12:0;;11952:88;;26257:104;;;;;;;;;;-1:-1:-1;26257:104:0;;;;;:::i;:::-;;:::i;26601:92::-;;;;;;;;;;;;;:::i;13159:392::-;;;;;;;;;;-1:-1:-1;13159:392:0;;;;;:::i;:::-;;:::i;24840:126::-;;;;;;;;;;-1:-1:-1;24840:126:0;;;;;:::i;:::-;;:::i;26366:176::-;;;;;;;;;;;;;:::i;650:87::-;;;;;;;;;;-1:-1:-1;650:87:0;;;;;:::i;:::-;705:4;730:5;-1:-1:-1;;;;;719:16:0;;;730:5;;719:16;;650:87;12046:80;;;;;;;;;;-1:-1:-1;12046:80:0;;9071:2;2971:36:1;;2959:2;2944:18;12046:80:0;2829:184:1;10010:37:0;;;;;;;;;;-1:-1:-1;10010:37:0;;;;;;;-1:-1:-1;;;;;10010:37:0;;;;;;-1:-1:-1;;;;;3182:32:1;;;3164:51;;3152:2;3137:18;10010:37:0;3018:203:1;9966:40:0;;;;;;;;;;-1:-1:-1;9966:40:0;;;;;;;;12868:122;;;;;;;;;;-1:-1:-1;12868:122:0;;;;;:::i;:::-;;:::i;24976:845::-;;;;;;;;;;-1:-1:-1;24976:845:0;;;;;:::i;:::-;;:::i;24282:145::-;;;;;;;;;;-1:-1:-1;24282:145:0;;;;;:::i;:::-;;:::i;24432:136::-;;;;;;;;;;-1:-1:-1;24432:136:0;;;;;:::i;:::-;;:::i;25989:128::-;;;;;;;;;;-1:-1:-1;25989:128:0;;;;;:::i;:::-;;:::i;24576:120::-;;;;;;;;;;-1:-1:-1;24576:120:0;;;;;:::i;:::-;;:::i;9195:51::-;;;;;;;;;;;;;;;;10507:30;;;;;;;;;;-1:-1:-1;10507:30:0;;;;;;;;12392:105;;;;;;;;;;-1:-1:-1;12392:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12476:18:0;12458:7;12476:18;;;:9;:18;;;;;;;12392:105;10273:75;;;;;;;;;;-1:-1:-1;10273:75:0;;;;-1:-1:-1;;;;;10273:75:0;;;9143:48;;;;;;;;;;;;;;;;26698:137;;;;;;;;;;-1:-1:-1;26698:137:0;;;;;:::i;:::-;;:::i;10138:39::-;;;;;;;;;;-1:-1:-1;10138:39:0;;;;;;;-1:-1:-1;;;;;10138:39:0;;;12308:78;;;;;;;;;;-1:-1:-1;12360:7:0;12378:5;-1:-1:-1;;;;;12378:5:0;12308:78;;26125:120;;;;;;;;;;-1:-1:-1;26125:120:0;;;;;:::i;:::-;;:::i;10355:24::-;;;;;;;;;;-1:-1:-1;10355:24:0;;;;-1:-1:-1;;;;;10355:24:0;;;12132:84;;;;;;;;;;-1:-1:-1;12206:7:0;;;;;;;;;;;;-1:-1:-1;;;12206:7:0;;;;12132:84;;10092:42;;;;;;;;;;-1:-1:-1;10092:42:0;;;;;;;;19750:173;;;;;;;;;;-1:-1:-1;19750:173:0;;;;;:::i;:::-;;:::i;12998:156::-;;;;;;;;;;-1:-1:-1;12998:156:0;;;;;:::i;:::-;;:::i;9888:33::-;;;;;;;;;;-1:-1:-1;9888:33:0;;;;;;;;25829:148;;;;;;;;;;-1:-1:-1;25829:148:0;;;;;:::i;:::-;;:::i;479:78::-;;;;;;;;;;-1:-1:-1;479:78:0;;;;;:::i;:::-;;:::i;10184:40::-;;;;;;;;;;-1:-1:-1;10184:40:0;;;;-1:-1:-1;;;10184:40:0;;;;;;10479:22;;;;;;;;;;-1:-1:-1;10479:22:0;;;;;:::i;:::-;;:::i;22606:1497::-;;;;;;;;;;-1:-1:-1;22606:1497:0;;;;;:::i;:::-;;:::i;10386:28::-;;;;;;;;;;-1:-1:-1;10386:28:0;;;;-1:-1:-1;;;;;10386:28:0;;;10821:29;;;;;;;;;;;;;;;;26988:86;;;;;;;;;;-1:-1:-1;26988:86:0;;;;;:::i;:::-;;:::i;10230:36::-;;;;;;;;;;-1:-1:-1;10230:36:0;;;;-1:-1:-1;;;;;10230:36:0;;;10672:49;;;;;;;;;;;;;;;;12503:133;;;;;;;;;;-1:-1:-1;12503:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12605:19:0;;;12587:7;12605:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12503:133;20170:114;;;;;;;;;;-1:-1:-1;20170:114:0;;;;;:::i;:::-;;:::i;21687:909::-;;;:::i;563:81::-;;;;;;;;;;-1:-1:-1;563:81:0;;;;;:::i;:::-;;:::i;840:137::-;;;;;;;;;;-1:-1:-1;840:137:0;;;;;:::i;:::-;;:::i;24704:128::-;;;;;;;;;;-1:-1:-1;24704:128:0;;;;;:::i;:::-;;:::i;10422:24::-;;;;;;;;;;-1:-1:-1;10422:24:0;;;;-1:-1:-1;;;;;10422:24:0;;;9927:35;;;;;;;;;;;;;;;;19576:169;;;;;;;;;;-1:-1:-1;19576:169:0;;;;;:::i;:::-;;:::i;743:91::-;;;;;;;;;;-1:-1:-1;743:91:0;;;;;:::i;:::-;;:::i;27086:76::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;;;;;;;;;27143:5:::1;:11;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;27143:11:0;;;;;-1:-1:-1;;;;;;27143:11:0::1;::::0;;;;;27086:76::o;12644:216::-;12748:10;12719:4;12736:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12736:32:0;;;;;;;;;;:41;;;12793:37;12719:4;;12736:32;;12793:37;;;;12771:6;160:25:1;;148:2;133:18;;14:177;12793:37:0;;;;;;;;-1:-1:-1;12848:4:0;12644:216;;;;;:::o;26840:143::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;26913:22:::1;:31:::0;;-1:-1:-1;;26913:31:0::1;::::0;::::1;;::::0;;::::1;::::0;;;26954:24:::1;::::0;1394:41:1;;;26954:24:0::1;::::0;1382:2:1;1367:18;26954:24:0::1;;;;;;;;26840:143:::0;:::o;26257:104::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;26330:9:::1;:22:::0;;-1:-1:-1;;;;;;26330:22:0::1;-1:-1:-1::0;;;;;26330:22:0;;;::::1;::::0;;;::::1;::::0;;26257:104::o;26601:92::-;26647:5;;;26639:46;;-1:-1:-1;;;;;26647:5:0;;;;26663:21;26639:46;;;;;26663:21;;26639:46;26647:5;26639:46;26663:21;26647:5;26639:46;;;;;;;;;;;;;;;;;;;;;26601:92::o;13159:392::-;-1:-1:-1;;;;;13280:19:0;;13259:4;13280:19;;;:11;:19;;;;;;;;13300:10;13280:31;;;;;;;;-1:-1:-1;;13280:52:0;13276:208;;-1:-1:-1;;;;;13348:19:0;;;;;;:11;:19;;;;;;;;13368:10;13348:31;;;;;;;;:41;-1:-1:-1;13348:41:0;13340:76;;;;-1:-1:-1;;;13340:76:0;;5699:2:1;13340:76:0;;;5681:21:1;5738:2;5718:18;;;5711:30;-1:-1:-1;;;5757:18:1;;;5750:52;5819:18;;13340:76:0;5497:346:1;13340:76:0;-1:-1:-1;;;;;13431:19:0;;;;;;:11;:19;;;;;;;;13451:10;13431:31;;;;;;;:41;;13466:6;;13431:19;:41;;13466:6;;13431:41;:::i;:::-;;;;-1:-1:-1;;13276:208:0;13503:40;13517:6;13525:9;13536:6;13503:13;:40::i;:::-;13496:47;;13159:392;;;;;;:::o;24840:126::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24926:24:0;;;::::1;;::::0;;;:18:::1;:24;::::0;;;;:32;;-1:-1:-1;;24926:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24840:126::o;26366:176::-;26516:18;;26497:16;;26489:4;;-1:-1:-1;;;;;26489:4:0;;;26419:7;12476:18;;;:9;:18;;;;;;;26471:4;;;;;12476:18;;;;;26446:12;;26419:7;;26516:18;26497:16;12476:18;26446:30;;12476:18;26446:30;:::i;:::-;:48;;;;:::i;:::-;:67;;;;:::i;:::-;:88;;;;:::i;:::-;26439:95;;26366:176;:::o;12868:122::-;12923:4;12947:35;12955:7;-1:-1:-1;;12947:7:0;:35::i;24976:845::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;25236:12:::1;:28:::0;;;25275:12:::1;:28:::0;;;25314:7:::1;:18:::0;;;25337:10:::1;:24:::0;;;25366:12:::1;:28:::0;;;25405:14:::1;:32:::0;;;25448:14:::1;:32:::0;;;25491:15:::1;:34:::0;;;25536:20:::1;:44:::0;;-1:-1:-1;;;;25536:44:0::1;-1:-1:-1::0;;;25536:44:0;::::1;;;;::::0;;-1:-1:-1;25366:28:0;25337:24;25314:18;25604:29:::1;25236:28:::0;25275;25604:29:::1;:::i;:::-;:40;;;;:::i;:::-;:54;;;;:::i;:::-;:70;;;;:::i;:::-;25585:89;;25758:1;25741:14;;:18;;;;:::i;:::-;25722:16:::0;25693:26:::1;25704:15:::0;25693:8;:26:::1;:::i;:::-;:45;;;;:::i;:::-;:66;25685:128;;;::::0;-1:-1:-1;;;25685:128:0;;6840:2:1;25685:128:0::1;::::0;::::1;6822:21:1::0;6879:2;6859:18;;;6852:30;6918:34;6898:18;;;6891:62;-1:-1:-1;;;6969:18:1;;;6962:47;7026:19;;25685:128:0::1;6638:413:1::0;25685:128:0::1;25225:596;24976:845:::0;;;;;;;;;:::o;24282:145::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;24382:4:::1;24367:12;;:19;;;;:::i;:::-;24357:6;:29;;24349:38;;;::::0;::::1;;24398:12;:21:::0;24282:145::o;24432:136::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;24528:4:::1;24513:12;;:19;;;;:::i;:::-;24503:6;:29;;24495:38;;;::::0;::::1;;24538:16;:25:::0;24432:136::o;25989:128::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;26074:15:::1;:34:::0;;-1:-1:-1;;;;;;26074:34:0::1;-1:-1:-1::0;;;;;26074:34:0;;;::::1;::::0;;;::::1;::::0;;25989:128::o;24576:120::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24660:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;24660:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24576:120::o;26698:137::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;26769:20:::1;:29:::0;;-1:-1:-1;;26769:29:0::1;::::0;::::1;;::::0;;::::1;::::0;;;26808:22:::1;::::0;1394:41:1;;;26808:22:0::1;::::0;1382:2:1;1367:18;26808:22:0::1;1254:187:1::0;26125:120:0;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;26206:13:::1;:30:::0;;-1:-1:-1;;;;;;26206:30:0::1;-1:-1:-1::0;;;;;26206:30:0;;;::::1;::::0;;;::::1;::::0;;26125:120::o;19750:173::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;19825:24:::1;:31:::0;;-1:-1:-1;;;;;;19825:31:0::1;;-1:-1:-1::0;;;;;19825:31:0;;;::::1;::::0;;::::1;;::::0;;-1:-1:-1;19861:17:0;;;:11:::1;:17;::::0;;;;;;;:24;;-1:-1:-1;;19861:24:0;;::::1;-1:-1:-1::0;19861:24:0;;::::1;::::0;;;19890:15:::1;:21:::0;;;;;:28;;;;::::1;::::0;;::::1;::::0;;19750:173::o;12998:156::-;13078:4;13102:44;13116:10;13128:9;13139:6;13102:13;:44::i;25829:148::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;25922:21:::1;:46:::0;;-1:-1:-1;;;;;;25922:46:0::1;-1:-1:-1::0;;;;;25922:46:0;;;::::1;::::0;;;::::1;::::0;;25829:148::o;479:78::-;705:4;730:5;-1:-1:-1;;;;;730:5:0;364:10;719:16;348:38;;;;-1:-1:-1;;;348:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;529:19:0::1;;::::0;;;551:4:::1;529:19;::::0;;;;;;;:26;;-1:-1:-1;;529:26:0::1;::::0;;::::1;::::0;;479:78::o;10479:22::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10479:22:0;;-1:-1:-1;10479:22:0;:::o;22606:1497::-;10771:6;:13;;-1:-1:-1;;10771:13:0;10780:4;10771:13;;;22704:21:::1;:12:::0;22719:6:::1;22704:21;:::i;:::-;22689:36:::0;-1:-1:-1;22763:21:0::1;22689:36:::0;22805:21:::1;22815:10;-1:-1:-1::0;;;;;12476:18:0;12458:7;12476:18;;;:9;:18;;;;;;;12392:105;22805:21:::1;:37;;22797:78;;;::::0;-1:-1:-1;;;22797:78:0;;7592:2:1;22797:78:0::1;::::0;::::1;7574:21:1::0;7631:2;7611:18;;;7604:30;7670:31;7650:18;;;7643:59;7719:18;;22797:78:0::1;7390:353:1::0;22797:78:0::1;22910:4;22890:26;::::0;;;:11:::1;:26;::::0;;;;;;;22925:6:::1;::::0;-1:-1:-1;;;;;22925:6:0::1;22890:43:::0;;;;;;;;-1:-1:-1;;;22887:137:0::1;;;22985:6;::::0;22969:43:::1;::::0;-1:-1:-1;;;;;22985:6:0::1;-1:-1:-1::0;;22969:7:0::1;:43::i;:::-;;22887:137;23046:10;23036:21;::::0;;;:9:::1;:21;::::0;;;;:37;;23061:12;;23036:21;:37:::1;::::0;23061:12;;23036:37:::1;:::i;:::-;::::0;;;-1:-1:-1;;23102:4:0::1;23084:24;::::0;;;:9:::1;:24;::::0;;;;:40;;23112:12;;23084:24;:40:::1;::::0;23112:12;;23084:40:::1;:::i;:::-;::::0;;;-1:-1:-1;;23169:16:0::1;::::0;;23183:1:::1;23169:16:::0;;;;;::::1;::::0;;23145:21:::1;::::0;23169:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;23169:16:0::1;23145:40;;23214:4;23196;23201:1;23196:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23196:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;23240:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;23240:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;23196:7;;23240:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23230:4;23235:1;23230:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23230:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;23266:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;23266:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;23338:12;;23266:6:::1;::::0;23381:4;;23408::::1;::::0;23428:15:::1;::::0;23266:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23467:19;23513:14;23489:21;:38;;;;:::i;:::-;23467:60;;23538:13;23587:14;;23573:11;23554:16;;:30;;;;:::i;:::-;:47;;;;:::i;:::-;23538:63:::0;-1:-1:-1;23622:20:0::1;23538:63:::0;23622:20;::::1;:::i;:::-;23653:41;::::0;23622:20;;-1:-1:-1;23661:10:0::1;::::0;23653:41;::::1;;;::::0;23622:20;;23653:41:::1;::::0;;;23622:20;23661:10;23653:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;23717:20:0::1;::::0;-1:-1:-1;;;23717:20:0;::::1;;;23714:232;;;23753:22;23802:12;;23778:21;:36;;;;:::i;:::-;23837:9;::::0;23829:43:::1;::::0;23753:61;;-1:-1:-1;;;;;;23837:9:0::1;::::0;23829:43;::::1;;;::::0;23753:61;;23837:9:::1;23829:43:::0;23837:9;23829:43;23753:61;23837:9;23829:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;23895:13:0::1;::::0;23887:47:::1;::::0;-1:-1:-1;;;;;23895:13:0;;::::1;::::0;23887:47;::::1;;;::::0;23919:14;;23895:13:::1;23887:47:::0;23895:13;23887:47;23919:14;23895:13;23887:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;23738:208;23714:232;23974:15;::::0;23966:56:::1;::::0;-1:-1:-1;;;;;23974:15:0;;::::1;::::0;24000:21:::1;23966:56:::0;::::1;;;::::0;23974:15:::1;23966:56:::0;23974:15;23966:56;24000:21;23974:15;23966:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;24040:45:0::1;::::0;;24060:10:::1;9495:51:1::0;;9577:2;9562:18;;9555:34;;;24040:45:0::1;::::0;9468:18:1;24040:45:0::1;;;;;;;;-1:-1:-1::0;;10795:6:0;:14;;-1:-1:-1;;10795:14:0;;;-1:-1:-1;;;22606:1497:0:o;26988:86::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;27050:5:::1;:16:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;27050:16:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;27050:16:0::1;-1:-1:-1::0;;;;;27050:16:0;;;::::1;::::0;;;::::1;::::0;;26988:86::o;20170:114::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;20229:11:::1;:17:::0;;-1:-1:-1;;20229:17:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20256:23:::1;::::0;1394:41:1;;;20256:23:0::1;::::0;1382:2:1;1367:18;20256:23:0::1;1254:187:1::0;21687:909:0;10771:6;:13;;-1:-1:-1;;10771:13:0;10780:4;10771:13;;;21815:15:::1;::::0;21779:9:::1;::::0;10771:6;;21845:3:::1;::::0;21815:27:::1;::::0;21779:9;;21815:27:::1;:::i;:::-;:33;;;;:::i;:::-;21799:49:::0;-1:-1:-1;21859:18:0::1;21799:49:::0;21859:18;::::1;:::i;:::-;21918:16;::::0;;21932:1:::1;21918:16:::0;;;;;::::1;::::0;;21859:18;;-1:-1:-1;21894:21:0::1;::::0;21918:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;21955:6:0::1;::::0;:13:::1;::::0;;-1:-1:-1;;;21955:13:0;;;;21894:40;;-1:-1:-1;;;;;;21955:6:0;;::::1;::::0;:11:::1;::::0;-1:-1:-1;21955:13:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21945:4;21950:1;21945:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;21945:23:0::1;;;-1:-1:-1::0;;;;;21945:23:0::1;;;::::0;::::1;21997:4;21979;21984:1;21979:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21979:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;22013:6:::1;::::0;:176:::1;::::0;-1:-1:-1;;;22013:176:0;;:6;::::1;::::0;:57:::1;::::0;22078:9;;22013:176:::1;::::0;:6:::1;::::0;22119:4;;22138:10:::1;::::0;22163:15:::1;::::0;22013:176:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22213:20:0::1;::::0;-1:-1:-1;;;22213:20:0;::::1;;;22210:232;::::0;-1:-1:-1;22210:232:0::1;::::0;-1:-1:-1;;22210:232:0::1;22249:22;22298:12;;22274:21;:36;;;;:::i;:::-;22333:9;::::0;22325:43:::1;::::0;22249:61;;-1:-1:-1;;;;;;22333:9:0::1;::::0;22325:43;::::1;;;::::0;22249:61;;22333:9:::1;22325:43:::0;22333:9;22325:43;22249:61;22333:9;22325:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22391:13:0::1;::::0;22383:47:::1;::::0;-1:-1:-1;;;;;22391:13:0;;::::1;::::0;22383:47;::::1;;;::::0;22415:14;;22391:13:::1;22383:47:::0;22391:13;22383:47;22415:14;22391:13;22383:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22234:208;22210:232;22470:15;::::0;22462:56:::1;::::0;-1:-1:-1;;;;;22470:15:0;;::::1;::::0;22496:21:::1;22462:56:::0;::::1;;;::::0;22470:15:::1;22462:56:::0;22470:15;22462:56;22496:21;22470:15;22462:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22544:44:0::1;::::0;;22566:10:::1;9495:51:1::0;;22578:9:0::1;9577:2:1::0;9562:18;;9555:34;22544:44:0::1;::::0;9468:18:1;22544:44:0::1;;;;;;;-1:-1:-1::0;;10795:6:0;:14;;-1:-1:-1;;10795:14:0;;;-1:-1:-1;21687:909:0:o;563:81::-;705:4;730:5;-1:-1:-1;;;;;730:5:0;364:10;719:16;348:38;;;;-1:-1:-1;;;348:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;615:19:0::1;637:5;615:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;615:27:0::1;::::0;;563:81::o;840:137::-;705:4;730:5;-1:-1:-1;;;;;730:5:0;364:10;719:16;348:38;;;;-1:-1:-1;;;348:38:0;;;;;;;:::i;:::-;906:5:::1;:11:::0;;-1:-1:-1;;;;;;906:11:0::1;-1:-1:-1::0;;;;;906:11:0;::::1;::::0;;::::1;::::0;;918:19;;;-1:-1:-1;918:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;918:26:0::1;::::0;;::::1;::::0;;;950:25;;3164:51:1;;;950:25:0::1;::::0;3137:18:1;950:25:0::1;3018:203:1::0;24704:128:0;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24792:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;24792:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24704:128::o;19576:169::-;428:24;441:10;428:12;:24::i;:::-;420:48;;;;-1:-1:-1;;;420:48:0;;;;;;;:::i;:::-;19649:22:::1;:29:::0;;-1:-1:-1;;;;;;19649:29:0::1;;-1:-1:-1::0;;;;;19649:29:0;;;::::1;::::0;;::::1;;::::0;;-1:-1:-1;19683:17:0;;;:11:::1;:17;::::0;;;;;;;:24;;-1:-1:-1;;19683:24:0;;::::1;-1:-1:-1::0;19683:24:0;;::::1;::::0;;;19712:15:::1;:21:::0;;;;;:28;;;;::::1;::::0;;::::1;::::0;;19576:169::o;743:91::-;-1:-1:-1;;;;;813:19:0;799:4;813:19;;;:14;:19;;;;;;;;;743:91::o;14093:1254::-;14185:4;14213:1;14204:6;:10;14196:19;;;;;;14230:6;;;;;:45;;;14240:35;14257:6;14265:9;14240:16;:35::i;:::-;14230:87;;;;14279:38;14299:6;14307:9;14279:19;:38::i;:::-;14226:168;;;14341:41;14356:6;14364:9;14375:6;14341:14;:41::i;:::-;14334:48;;;;14226:168;14406:39;14419:6;14427:9;14438:6;14406:12;:39::i;:::-;14462:16;:14;:16::i;:::-;14458:58;;;14495:9;:7;:9::i;:::-;24175:10;;:15;;;14532:39;;-1:-1:-1;14560:11:0;;-1:-1:-1;;;;;14547:24:0;;;14560:11;;14547:24;14532:39;14528:217;;;-1:-1:-1;;;;;14596:17:0;;14616:1;14596:17;;;:9;:17;;;;;;14588:30;;;;;;14651:5;;-1:-1:-1;;;;;14641:15:0;;;14651:5;;14641:15;14633:77;;;;-1:-1:-1;;;14633:77:0;;10533:2:1;14633:77:0;;;10515:21:1;10572:2;10552:18;;;10545:30;10611:34;10591:18;;;10584:62;-1:-1:-1;;;10662:18:1;;;10655:47;10719:19;;14633:77:0;10331:413:1;14633:77:0;14725:8;24257:12;24244:10;:25;24206:71;14725:8;-1:-1:-1;;;;;14769:17:0;;;;;;:9;:17;;;;;;14759:27;;;14751:60;;;;-1:-1:-1;;;14751:60:0;;10951:2:1;14751:60:0;;;10933:21:1;10990:2;10970:18;;;10963:30;-1:-1:-1;;;11009:18:1;;;11002:50;11069:18;;14751:60:0;10749:344:1;14751:60:0;-1:-1:-1;;;;;14822:17:0;;;;;;:9;:17;;;;;:27;;14843:6;;14822:17;:27;;14843:6;;14822:27;:::i;:::-;;;;-1:-1:-1;14862:22:0;;-1:-1:-1;14887:32:0;14901:6;14909:9;14887:13;:32::i;:::-;:67;;14948:6;14887:67;;;14922:23;14930:6;14938;14922:7;:23::i;:::-;-1:-1:-1;;;;;14965:20:0;;;;;;:9;:20;;;;;:38;;14862:92;;-1:-1:-1;14862:92:0;;14965:20;;;:38;;14862:92;;14965:38;:::i;:::-;;;;-1:-1:-1;;15139:20:0;;;;15135:57;;;15167:19;:17;:19::i;:::-;15200:22;;;;15196:61;;;15230:21;:19;:21::i;:::-;15291:9;-1:-1:-1;;;;;15274:43:0;15283:6;-1:-1:-1;;;;;15274:43:0;-1:-1:-1;;;;;;;;;;;15302:14:0;15274:43;;;;160:25:1;;148:2;133:18;;14:177;15274:43:0;;;;;;;;-1:-1:-1;15335:4:0;;14093:1254;-1:-1:-1;;;;14093:1254:0:o;13556:269::-;13668:22;;13640:4;;-1:-1:-1;;;;;13658:32:0;;;13668:22;;;;;13658:32;;:74;;-1:-1:-1;13708:24:0;;-1:-1:-1;;;;;13698:34:0;;;13708:24;;;;;13698:34;13658:74;:117;;;-1:-1:-1;13753:22:0;;-1:-1:-1;;;;;13740:35:0;;;13753:22;;;;;13740:35;13658:117;:162;;;-1:-1:-1;;13796:24:0;;;;;-1:-1:-1;;;;;13796:24:0;;;13783:37;;;;13556:269;-1:-1:-1;13556:269:0:o;13833:248::-;-1:-1:-1;;;;;13934:26:0;;13920:4;13934:26;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;13964:29:0;;;;;;:18;:29;;;;;;;;13934:59;13931:146;;;-1:-1:-1;14016:4:0;14009:11;;13931:146;-1:-1:-1;14060:5:0;14053:12;;15352:324;-1:-1:-1;;;;;15474:17:0;;15445:4;15474:17;;;:9;:17;;;;;;15464:27;;;15456:60;;;;-1:-1:-1;;;15456:60:0;;10951:2:1;15456:60:0;;;10933:21:1;10990:2;10970:18;;;10963:30;-1:-1:-1;;;11009:18:1;;;11002:50;11069:18;;15456:60:0;10749:344:1;15456:60:0;-1:-1:-1;;;;;15527:17:0;;;;;;:9;:17;;;;;:27;;15548:6;;15527:17;:27;;15548:6;;15527:27;:::i;:::-;;;;-1:-1:-1;;;;;;;15565:20:0;;;;;;:9;:20;;;;;:30;;15589:6;;15565:20;:30;;15589:6;;15565:30;:::i;:::-;;;;;;;;15628:9;-1:-1:-1;;;;;15611:35:0;15620:6;-1:-1:-1;;;;;15611:35:0;-1:-1:-1;;;;;;;;;;;15639:6:0;15611:35;;;;160:25:1;;148:2;133:18;;14:177;15611:35:0;;;;;;;;-1:-1:-1;15664:4:0;15352:324;;;;;:::o;15681:687::-;15797:12;;15787:6;:22;;:49;;;-1:-1:-1;;;;;;15813:23:0;;;;;;:15;:23;;;;;;;;15787:49;:104;;;-1:-1:-1;;;;;;15840:26:0;;;;;;:15;:26;;;;;;;;:51;;;;-1:-1:-1;15880:11:0;;-1:-1:-1;;;;;15870:21:0;;;15880:11;;15870:21;15840:51;15779:134;;;;-1:-1:-1;;;15779:134:0;;11300:2:1;15779:134:0;;;11282:21:1;11339:2;11319:18;;;11312:30;-1:-1:-1;;;11358:18:1;;;11351:47;11415:18;;15779:134:0;11098:341:1;15779:134:0;15956:5;;-1:-1:-1;;;;;15946:15:0;;;15956:5;;15946:15;;;;:50;;-1:-1:-1;15991:5:0;;-1:-1:-1;;;;;15978:18:0;;;15991:5;;15978:18;;15946:50;:94;;;;-1:-1:-1;;;;;;16014:26:0;;;;;;:15;:26;;;;;;;;16013:27;15946:94;:128;;;;-1:-1:-1;16070:4:0;;-1:-1:-1;;;;;16057:17:0;;;16070:4;;16057:17;;15946:128;:163;;;;-1:-1:-1;16105:4:0;;-1:-1:-1;;;;;16092:17:0;;;16105:4;;16092:17;;15946:163;:205;;;;-1:-1:-1;16140:11:0;;-1:-1:-1;;;;;16127:24:0;;;16140:11;;16127:24;;15946:205;:249;;;;-1:-1:-1;;;;;;16169:26:0;;16190:4;16169:26;;15946:249;15942:419;;;-1:-1:-1;;;;;12476:18:0;;16222;12476;;;:9;:18;;;;;;16243:29;;16266:6;;16243:29;:::i;:::-;16222:50;;16309:16;;16295:10;:30;;16287:62;;;;-1:-1:-1;;;16287:62:0;;11646:2:1;16287:62:0;;;11628:21:1;11685:2;11665:18;;;11658:30;-1:-1:-1;;;11704:18:1;;;11697:49;11763:18;;16287:62:0;11444:343:1;16287:62:0;16207:154;15942:419;15681:687;;;:::o;19931:234::-;19980:4;20004:10;24175;;:15;;;24108:90;20004:10;:43;;;;-1:-1:-1;20036:11:0;;-1:-1:-1;;;;;20036:11:0;20022:10;:25;;20004:43;:67;;;;-1:-1:-1;20065:6:0;;;;20064:7;20004:67;:95;;;;-1:-1:-1;20088:11:0;;;;20004:95;:153;;;;-1:-1:-1;;20144:13:0;;20134:4;20116:24;;;;:9;:24;;;;;;:41;;;19931:234::o;20289:1390::-;10771:6;:13;;-1:-1:-1;;10771:13:0;10780:4;10771:13;;;20381:4:::1;-1:-1:-1::0;12476:18:0;;;:9;:18;;;;;;20337:50:::1;;20419:13;;20401:15;:31;20398:94;;;-1:-1:-1::0;20467:13:0::1;::::0;20398:94:::1;20504:25;20597:1;20581:12;;20566;;:27;;;;:::i;:::-;20550:12;::::0;20532:30:::1;::::0;:15;:30:::1;:::i;:::-;:62;;;;:::i;:::-;:66;;;;:::i;:::-;20504:94:::0;-1:-1:-1;20609:26:0::1;20638:35;20504:94:::0;20638:15;:35:::1;:::i;:::-;20710:16;::::0;;20724:1:::1;20710:16:::0;;;;;::::1;::::0;;20609:64;;-1:-1:-1;20686:21:0::1;::::0;20710:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20710:16:0::1;20686:40;;20755:4;20737;20742:1;20737:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20737:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;20781:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;20781:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;20737:7;;20781:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20771:4;20776:1;20771:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20771:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;20807:6:::1;::::0;:194:::1;::::0;-1:-1:-1;;;20807:194:0;;:6;::::1;::::0;:57:::1;::::0;:194:::1;::::0;20879:18;;20807:6:::1;::::0;20928:4;;20955::::1;::::0;20975:15:::1;::::0;20807:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;21014:26;21110:12;;21105:1;21090:12;;:16;;;;:::i;:::-;21089:33;;;;:::i;:::-;21083:1;21068:12;;:16;;;;:::i;:::-;21043:42;::::0;:21:::1;:42;:::i;:::-;:80;;;;:::i;:::-;21130:6;::::0;21241:21:::1;::::0;21130:158:::1;::::0;-1:-1:-1;;;21130:158:0;;21193:4:::1;21130:158;::::0;::::1;12133:34:1::0;12183:18;;;12176:34;;;21130:6:0::1;12226:18:1::0;;;12219:34;;;12269:18;;;12262:34;-1:-1:-1;;;;;21241:21:0;;::::1;12312:19:1::0;;;12305:44;21268:15:0::1;12365:19:1::0;;;12358:35;21014:109:0;;-1:-1:-1;21130:6:0::1;::::0;:22:::1;::::0;21014:109;;12067:19:1;;21130:158:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;21304:20:0::1;::::0;-1:-1:-1;;;21304:20:0;::::1;;;21301:232;::::0;-1:-1:-1;21301:232:0::1;;21340:22;21389:12;;21365:21;:36;;;;:::i;:::-;21424:9;::::0;21416:43:::1;::::0;21340:61;;-1:-1:-1;;;;;;21424:9:0::1;::::0;21416:43;::::1;;;::::0;21340:61;;21424:9:::1;21416:43:::0;21424:9;21416:43;21340:61;21424:9;21416:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;21482:13:0::1;::::0;21474:47:::1;::::0;-1:-1:-1;;;;;21482:13:0;;::::1;::::0;21474:47;::::1;;;::::0;21506:14;;21482:13:::1;21474:47:::0;21482:13;21474:47;21506:14;21482:13;21474:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21325:208;21301:232;21561:15;::::0;21553:56:::1;::::0;-1:-1:-1;;;;;21561:15:0;;::::1;::::0;21587:21:::1;21553:56:::0;::::1;;;::::0;21561:15:::1;21553:56:::0;21561:15;21553:56;21587:21;21561:15;21553:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;21621:50:0::1;::::0;;12889:25:1;;;12945:2;12930:18;;12923:34;;;21621:50:0::1;::::0;12862:18:1;21621:50:0::1;12715:248:1::0;16580:663:0;-1:-1:-1;;;;;16677:19:0;;16656:4;16677:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;16700:22:0;;;;;;:11;:22;;;;;;;;16677:45;:60;;;-1:-1:-1;24175:10:0;;:15;16677:60;16673:105;;;-1:-1:-1;16761:5:0;16754:12;;16673:105;16788:25;16816:5;16788:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16788:33:0;;;;;;;;;;;;;;;;;;;;;;;16839:9;16834:179;16858:8;:15;16854:1;:19;16834:179;;;16909:8;16918:1;16909:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;16899:21:0;:6;-1:-1:-1;;;;;16899:21:0;;16895:107;;;-1:-1:-1;;16942:6:0;:14;;-1:-1:-1;;16942:14:0;;;-1:-1:-1;16942:14:0;16975:11;;16895:107;16875:3;;;;:::i;:::-;;;;16834:179;;;;17028:9;17023:180;17047:8;:15;17043:1;:19;17023:180;;;17101:8;17110:1;17101:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;17088:24:0;:9;-1:-1:-1;;;;;17088:24:0;;17084:108;;;-1:-1:-1;;17133:6:0;:13;;-1:-1:-1;;17133:13:0;;;;;-1:-1:-1;17142:4:0;17165:11;;17084:108;17064:3;;;;:::i;:::-;;;;17023:180;;;-1:-1:-1;;17222:13:0;;;;;16580:663;-1:-1:-1;;;16580:663:0:o;17248:1835::-;17315:7;17334:10;24175;;:15;;;24108:90;17334:10;17329:42;;-1:-1:-1;17359:6:0;17352:13;;17329:42;17375:15;17399:10;17418:13;17440:15;17579:1;17564:12;;17549;;:27;;;;:::i;:::-;:31;17545:333;;;17640:14;;17624:12;;17609;;:27;;;;:::i;:::-;17599:38;;:6;:38;:::i;:::-;:55;;;;:::i;:::-;17664:6;;17589:65;;-1:-1:-1;17664:6:0;;;;;17661:105;;;17731:15;;17714:14;;17704:24;;:7;:24;:::i;:::-;:42;;;;:::i;:::-;17694:52;;17661:105;17802:4;17784:24;;;;:9;:24;;;;;:35;;17812:7;;17784:24;:35;;17812:7;;17784:35;:::i;:::-;;;;-1:-1:-1;;17831:40:0;;160:25:1;;;17856:4:0;;-1:-1:-1;;;;;17831:40:0;;;-1:-1:-1;;;;;;;;;;;17831:40:0;148:2:1;133:18;17831:40:0;;;;;;;17545:333;17973:7;;:11;17969:248;;18017:14;;18007:7;;17998:16;;:6;:16;:::i;:::-;:33;;;;:::i;:::-;18053:6;;17993:38;;-1:-1:-1;18053:6:0;;;;;18050:95;;;18110:15;;18093:14;;18088:19;;:2;:19;:::i;:::-;:37;;;;:::i;:::-;18083:42;;18050:95;18161:4;;-1:-1:-1;;;;;18161:4:0;18151:15;;;;:9;:15;;;;;:21;;18170:2;;18151:15;:21;;18170:2;;18151:21;:::i;:::-;;;;-1:-1:-1;;18201:4:0;;18184:26;;160:25:1;;;-1:-1:-1;;;;;18201:4:0;;;;18184:26;;;-1:-1:-1;;;;;;;;;;;18184:26:0;148:2:1;133:18;18184:26:0;;;;;;;17969:248;18396:10;;:14;18392:301;;18449:14;;18436:10;;18427:19;;:6;:19;:::i;:::-;:36;;;;:::i;:::-;18473:6;;18419:44;;-1:-1:-1;18473:6:0;;;;;18470:101;;;18536:15;;18519:14;;18511:22;;:5;:22;:::i;:::-;:40;;;;:::i;:::-;18503:48;;18470:101;18599:4;;-1:-1:-1;;;;;18599:4:0;18589:15;;;;:9;:15;;;;;:24;;18608:5;;18589:15;:24;;18608:5;;18589:24;:::i;:::-;;;;;;;;18640:5;18620:16;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;18674:4:0;;18657:29;;160:25:1;;;-1:-1:-1;;;;;18674:4:0;;;;18657:29;;;-1:-1:-1;;;;;;;;;;;18657:29:0;148:2:1;133:18;18657:29:0;;;;;;;18392:301;18702:12;;:16;18698:319;;18761:14;;18746:12;;18737:21;;:6;:21;:::i;:::-;:38;;;;:::i;:::-;18797:6;;18727:48;;-1:-1:-1;18797:6:0;;;;;18794:105;;;18864:15;;18847:14;;18837:24;;:7;:24;:::i;:::-;:42;;;;:::i;:::-;18827:52;;18794:105;18915:4;;-1:-1:-1;;;;;18915:4:0;18905:15;;;;:9;:15;;;;;:26;;18924:7;;18905:15;:26;;18924:7;;18905:26;:::i;:::-;;;;;;;;18960:7;18938:18;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;;18996:4:0;;18979:31;;160:25:1;;;-1:-1:-1;;;;;18996:4:0;;;;18979:31;;;-1:-1:-1;;;;;;;;;;;18979:31:0;148:2:1;133:18;18979:31:0;;;;;;;18698:319;19068:7;19060:5;19055:2;19036:16;19045:7;19036:6;:16;:::i;:::-;:21;;;;:::i;:::-;:29;;;;:::i;:::-;:39;;;;:::i;:::-;19029:46;17248:1835;-1:-1:-1;;;;;;;17248:1835:0:o;19088:232::-;19150:16;;19141:4;;-1:-1:-1;;;;;19141:4:0;19131:15;;;;:9;:15;;;;;:35;;:15;;;:35;;19150:16;;19131:35;:::i;:::-;;;;-1:-1:-1;;19208:16:0;;19181:22;;;;;-1:-1:-1;;;;;19181:22:0;19171:33;;;;:9;:33;;;;;:53;;:33;;;:53;;19208:16;;19171:53;:::i;:::-;;;;-1:-1:-1;;19249:22:0;;19243:4;;19273:16;;19234:56;;160:25:1;;;19249:22:0;;;;-1:-1:-1;;;;;19249:22:0;;;;19243:4;;;-1:-1:-1;;;;;;;;;;;19234:56:0;148:2:1;133:18;19234:56:0;;;;;;;19314:1;19295:16;:20;19088:232::o;19325:246::-;19389:18;;19380:4;;-1:-1:-1;;;;;19380:4:0;19370:15;;;;:9;:15;;;;;:37;;:15;;;:37;;19389:18;;19370:37;:::i;:::-;;;;-1:-1:-1;;19451:18:0;;19422:24;;;;;-1:-1:-1;;;;;19422:24:0;19412:35;;;;:9;:35;;;;;:57;;:35;;;:57;;19451:18;;19412:57;:::i;:::-;;;;-1:-1:-1;;19494:24:0;;19488:4;;19520:18;;19479:60;;160:25:1;;;19494:24:0;;;;-1:-1:-1;;;;;19494:24:0;;;;19488:4;;;-1:-1:-1;;;;;;;;;;;19479:60:0;148:2:1;133:18;19479:60:0;;;;;;;19565:1;19544:18;:22;19325:246::o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:180::-;1667:6;1720:2;1708:9;1699:7;1695:23;1691:32;1688:52;;;1736:1;1733;1726:12;1688:52;1759:26;1775:9;1759:26;:::i;1796:247::-;1855:6;1908:2;1896:9;1887:7;1883:23;1879:32;1876:52;;;1924:1;1921;1914:12;1876:52;1963:9;1950:23;1982:31;2007:5;1982:31;:::i;2048:456::-;2125:6;2133;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2249:9;2236:23;2268:31;2293:5;2268:31;:::i;:::-;2318:5;-1:-1:-1;2375:2:1;2360:18;;2347:32;2388:33;2347:32;2388:33;:::i;:::-;2048:456;;2440:7;;-1:-1:-1;;;2494:2:1;2479:18;;;;2466:32;;2048:456::o;2509:315::-;2574:6;2582;2635:2;2623:9;2614:7;2610:23;2606:32;2603:52;;;2651:1;2648;2641:12;2603:52;2690:9;2677:23;2709:31;2734:5;2709:31;:::i;:::-;2759:5;-1:-1:-1;2783:35:1;2814:2;2799:18;;2783:35;:::i;:::-;2773:45;;2509:315;;;;;:::o;3226:730::-;3354:6;3362;3370;3378;3386;3394;3402;3410;3418;3471:3;3459:9;3450:7;3446:23;3442:33;3439:53;;;3488:1;3485;3478:12;3439:53;3524:9;3511:23;3501:33;;3581:2;3570:9;3566:18;3553:32;3543:42;;3632:2;3621:9;3617:18;3604:32;3594:42;;3683:2;3672:9;3668:18;3655:32;3645:42;;3734:3;3723:9;3719:19;3706:33;3696:43;;3786:3;3775:9;3771:19;3758:33;3748:43;;3810:36;3841:3;3830:9;3826:19;3810:36;:::i;:::-;3800:46;;3893:3;3882:9;3878:19;3865:33;3855:43;;3945:3;3934:9;3930:19;3917:33;3907:43;;3226:730;;;;;;;;;;;:::o;3961:180::-;4020:6;4073:2;4061:9;4052:7;4048:23;4044:32;4041:52;;;4089:1;4086;4079:12;4041:52;-1:-1:-1;4112:23:1;;3961:180;-1:-1:-1;3961:180:1:o;4146:388::-;4214:6;4222;4275:2;4263:9;4254:7;4250:23;4246:32;4243:52;;;4291:1;4288;4281:12;4243:52;4330:9;4317:23;4349:31;4374:5;4349:31;:::i;:::-;4399:5;-1:-1:-1;4456:2:1;4441:18;;4428:32;4469:33;4428:32;4469:33;:::i;:::-;4521:7;4511:17;;;4146:388;;;;;:::o;5025:335::-;5227:2;5209:21;;;5266:2;5246:18;;;5239:30;-1:-1:-1;;;5300:2:1;5285:18;;5278:41;5351:2;5336:18;;5025:335::o;5365:127::-;5426:10;5421:3;5417:20;5414:1;5407:31;5457:4;5454:1;5447:15;5481:4;5478:1;5471:15;5848:127;5909:10;5904:3;5900:20;5897:1;5890:31;5940:4;5937:1;5930:15;5964:4;5961:1;5954:15;5980:125;6020:4;6048:1;6045;6042:8;6039:34;;;6053:18;;:::i;:::-;-1:-1:-1;6090:9:1;;5980:125::o;6110:128::-;6150:3;6181:1;6177:6;6174:1;6171:13;6168:39;;;6187:18;;:::i;:::-;-1:-1:-1;6223:9:1;;6110:128::o;6243:217::-;6283:1;6309;6299:132;;6353:10;6348:3;6344:20;6341:1;6334:31;6388:4;6385:1;6378:15;6416:4;6413:1;6406:15;6299:132;-1:-1:-1;6445:9:1;;6243:217::o;6465:168::-;6505:7;6571:1;6567;6563:6;6559:14;6556:1;6553:21;6548:1;6541:9;6534:17;6530:45;6527:71;;;6578:18;;:::i;:::-;-1:-1:-1;6618:9:1;;6465:168::o;7056:329::-;7258:2;7240:21;;;7297:1;7277:18;;;7270:29;-1:-1:-1;;;7330:2:1;7315:18;;7308:36;7376:2;7361:18;;7056:329::o;7880:127::-;7941:10;7936:3;7932:20;7929:1;7922:31;7972:4;7969:1;7962:15;7996:4;7993:1;7986:15;8012:251;8082:6;8135:2;8123:9;8114:7;8110:23;8106:32;8103:52;;;8151:1;8148;8141:12;8103:52;8183:9;8177:16;8202:31;8227:5;8202:31;:::i;8268:461::-;8321:3;8359:5;8353:12;8386:6;8381:3;8374:19;8412:4;8441:2;8436:3;8432:12;8425:19;;8478:2;8471:5;8467:14;8499:1;8509:195;8523:6;8520:1;8517:13;8509:195;;;8588:13;;-1:-1:-1;;;;;8584:39:1;8572:52;;8644:12;;;;8679:15;;;;8620:1;8538:9;8509:195;;;-1:-1:-1;8720:3:1;;8268:461;-1:-1:-1;;;;;8268:461:1:o;8734:582::-;9033:6;9022:9;9015:25;9076:6;9071:2;9060:9;9056:18;9049:34;9119:3;9114:2;9103:9;9099:18;9092:31;8996:4;9140:57;9192:3;9181:9;9177:19;9169:6;9140:57;:::i;:::-;-1:-1:-1;;;;;9233:32:1;;;;9228:2;9213:18;;9206:60;-1:-1:-1;9297:3:1;9282:19;9275:35;9132:65;8734:582;-1:-1:-1;;;8734:582:1:o;9600:510::-;9871:6;9860:9;9853:25;9914:3;9909:2;9898:9;9894:18;9887:31;9834:4;9935:57;9987:3;9976:9;9972:19;9964:6;9935:57;:::i;:::-;-1:-1:-1;;;;;10028:32:1;;;;10023:2;10008:18;;10001:60;-1:-1:-1;10092:2:1;10077:18;10070:34;9927:65;9600:510;-1:-1:-1;;9600:510:1:o;12404:306::-;12492:6;12500;12508;12561:2;12549:9;12540:7;12536:23;12532:32;12529:52;;;12577:1;12574;12567:12;12529:52;12606:9;12600:16;12590:26;;12656:2;12645:9;12641:18;12635:25;12625:35;;12700:2;12689:9;12685:18;12679:25;12669:35;;12404:306;;;;;:::o;12968:135::-;13007:3;-1:-1:-1;;13028:17:1;;13025:43;;;13048:18;;:::i;:::-;-1:-1:-1;13095:1:1;13084:13;;12968:135::o
Swarm Source
ipfs://89df4e4843fe802206cc311735c32debe33fd63b77e3eb971060d777bff843cb
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.