ERC-20
Overview
Max Total Supply
1,000,000,000 RINGO
Holders
124
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0 RINGOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ringo
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-18 */ // SPDX-License-Identifier: MIT /* $RINGO, Doge’s first friend and mentor. https://kabochan.blog.jp/archives/11082791.html Tg : https://t.me/ringoethereum X: https://x.com/Ringoethereum Website : https://ringoeth.com */ pragma solidity ^0.8.26; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function 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"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } 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 ringo 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 payable private _taxWallet; uint256 private _initialBuyTax = 23; uint256 private _initialSellTax = 23; uint256 private _finalBuyTax =0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 0; uint256 private _reduceSellTaxAt = 40; uint256 private _preventSwapBefore = 42; uint256 private _transferTax = 0; uint256 private _buyCount = 0; uint8 private constant _decimals= 9; uint256 private constant _tTotal= 1000000000 * 10**_decimals; string private constant _name = unicode"Ringo"; string private constant _symbol = unicode"RINGO"; uint256 public _maxTxAmount = (_tTotal * 2) / 100; uint256 public _maxWalletSize = (_tTotal * 2) / 100; uint256 public _taxSwapThreshold = (_tTotal * 1) / 100; uint256 public _maxTaxSwap = (_tTotal * 1) / 100; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; uint256 private firstBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); event ClearToken(address TokenAddressCleared, uint256 Amount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xa2Bf1f07A46E63f096CB14f88B0f9a4c1Ef086Bc); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; 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 sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _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"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { if(_buyCount == 0){ taxAmount= amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100); } if(_buyCount > 0){ taxAmount= amount.mul(_transferTax).div(100); } if(block.number == firstBlock){ require(_buyCount < 55, "Exceeds buys on the first block."); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from != address(this) ){ taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount =0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount,min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance= address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a > b)? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimit() external onlyOwner{ _maxTxAmount= _tTotal; _maxWalletSize= _tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax= 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); 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; firstBlock= block.number; } receive() external payable {} function reduceFee(uint256 _newFee) external{ require(_msgSender() == _taxWallet); require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax); _finalBuyTax= _newFee; _finalSellTax= _newFee; } function rescueTokens(address tokenAddress, uint256 tokens) external returns (bool success) { require(_msgSender() == _taxWallet); if(tokens == 0){ tokens = IERC20(tokenAddress).balanceOf(address(this)); } emit ClearToken(tokenAddress,tokens); return IERC20(tokenAddress).transfer(_taxWallet, tokens); } function clearETH() external { require(_msgSender() == _taxWallet); uint256 ethBalance= address(this).balance; require(ethBalance > 0,"Contract balance must be greater than zero"); sendETHToFee(ethBalance); } function clearTokens() 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":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"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":[{"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":"clearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601760055560176006555f6007555f6008555f6009556028600a55602a600b555f600c555f600d55606460026009600a61003e9190610621565b633b9aca0061004d919061066b565b610057919061066b565b61006191906106d9565b600e55606460026009600a6100769190610621565b633b9aca00610085919061066b565b61008f919061066b565b61009991906106d9565b600f55606460016009600a6100ae9190610621565b633b9aca006100bd919061066b565b6100c7919061066b565b6100d191906106d9565b601055606460016009600a6100e69190610621565b633b9aca006100f5919061066b565b6100ff919061066b565b61010991906106d9565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6014555f6015555f601655348015610157575f80fd5b505f61016761048260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073a2bf1f07a46e63f096cb14f88b0f9a4c1ef086bc60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102659190610621565b633b9aca00610274919061066b565b60015f61028561048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102d561048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103fd61048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104599190610621565b633b9aca00610468919061066b565b6040516104759190610718565b60405180910390a3610731565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105325780860481111561050e5761050d6104b0565b5b600185161561051d5780820291505b808102905061052b856104dd565b94506104f2565b94509492505050565b5f8261054a5760019050610605565b81610557575f9050610605565b816001811461056d5760028114610577576105a6565b6001915050610605565b60ff841115610589576105886104b0565b5b8360020a9150848211156105a05761059f6104b0565b5b50610605565b5060208310610133831016604e8410600b84101617156105db5782820a9050838111156105d6576105d56104b0565b5b610605565b6105e884848460016104e9565b925090508184048111156105ff576105fe6104b0565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61062b8261060c565b915061063683610615565b92506106637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461053b565b905092915050565b5f6106758261060c565b91506106808361060c565b925082820261068e8161060c565b915082820484148315176106a5576106a46104b0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106e38261060c565b91506106ee8361060c565b9250826106fe576106fd6106ac565b5b828204905092915050565b6107128161060c565b82525050565b5f60208201905061072b5f830184610709565b92915050565b6134b68061073e5f395ff3fe608060405260043610610138575f3560e01c806370a08231116100aa5780638f9a55c01161006e5780638f9a55c0146103b357806395d89b41146103dd578063a9059cbb14610407578063bf474bed14610443578063dd62ed3e1461046d578063ec1f3f63146104a95761013f565b806370a08231146102f7578063715018a6146103335780637d1db4a5146103495780638a8c523c146103735780638da5cb5b146103895761013f565b806318160ddd116100fc57806318160ddd146101ff57806323b872dd14610229578063313ce56714610265578063573761981461028f578063616eb638146102cb57806362256589146102e15761013f565b806304bf86271461014357806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104d1565b005b348015610164575f80fd5b5061016d610568565b60405161017a9190612416565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a491906124c7565b6105a5565b6040516101b6919061251f565b60405180910390f35b3480156101ca575f80fd5b506101d36105c2565b6040516101e09190612547565b60405180910390f35b3480156101f4575f80fd5b506101fd6105c8565b005b34801561020a575f80fd5b5061021361069c565b6040516102209190612547565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190612560565b6106bf565b60405161025c919061251f565b60405180910390f35b348015610270575f80fd5b50610279610793565b60405161028691906125cb565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b091906124c7565b61079b565b6040516102c2919061251f565b60405180910390f35b3480156102d6575f80fd5b506102df61095a565b005b3480156102ec575f80fd5b506102f5610a0b565b005b348015610302575f80fd5b5061031d600480360381019061031891906125e4565b610b3a565b60405161032a9190612547565b60405180910390f35b34801561033e575f80fd5b50610347610b80565b005b348015610354575f80fd5b5061035d610cce565b60405161036a9190612547565b60405180910390f35b34801561037e575f80fd5b50610387610cd4565b005b348015610394575f80fd5b5061039d6111fd565b6040516103aa919061261e565b60405180910390f35b3480156103be575f80fd5b506103c7611224565b6040516103d49190612547565b60405180910390f35b3480156103e8575f80fd5b506103f161122a565b6040516103fe9190612416565b60405180910390f35b348015610412575f80fd5b5061042d600480360381019061042891906124c7565b611267565b60405161043a919061251f565b60405180910390f35b34801561044e575f80fd5b50610457611284565b6040516104649190612547565b60405180910390f35b348015610478575f80fd5b50610493600480360381019061048e9190612637565b61128a565b6040516104a09190612547565b60405180910390f35b3480156104b4575f80fd5b506104cf60048036038101906104ca9190612675565b61130c565b005b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610511611398565b73ffffffffffffffffffffffffffffffffffffffff1614610530575f80fd5b5f61053a30610b3a565b90505f81111561054e5761054d8161139f565b5b5f4790505f811115610564576105638161160a565b5b5050565b60606040518060400160405280600581526020017f52696e676f000000000000000000000000000000000000000000000000000000815250905090565b5f6105b86105b1611398565b8484611672565b6001905092915050565b60115481565b6105d0611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610653906126ea565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f604051610692919061274a565b60405180910390a1565b5f6009600a6106ab91906128bf565b633b9aca006106ba9190612909565b905090565b5f6106cb848484611835565b610788846106d7611398565b610783856040518060600160405280602881526020016134596028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61073a611398565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121659092919063ffffffff16565b611672565b600190509392505050565b5f6009905090565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107dc611398565b73ffffffffffffffffffffffffffffffffffffffff16146107fb575f80fd5b5f820361087d578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083b919061261e565b602060405180830381865afa158015610856573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087a919061295e565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516108ae929190612989565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610912929190612a02565b6020604051808303815f875af115801561092e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190612a53565b905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099a611398565b73ffffffffffffffffffffffffffffffffffffffff16146109b9575f80fd5b5f4790505f81116109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612aee565b60405180910390fd5b610a088161160a565b50565b610a13611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a96906126ea565b60405180910390fd5b6009600a610aad91906128bf565b633b9aca00610abc9190612909565b600e819055506009600a610ad091906128bf565b633b9aca00610adf9190612909565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b1491906128bf565b633b9aca00610b239190612909565b604051610b309190612547565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b88611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b906126ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b610cdc611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f906126ea565b60405180910390fd5b601360149054906101000a900460ff1615610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90612b56565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e543060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e4091906128bf565b633b9aca00610e4f9190612909565b611672565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee29190612b88565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8c9190612b88565b6040518363ffffffff1660e01b8152600401610fa9929190612bb3565b6020604051808303815f875af1158015610fc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe99190612b88565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061107030610b3a565b5f8061107a6111fd565b426040518863ffffffff1660e01b815260040161109c96959493929190612bda565b60606040518083038185885af11580156110b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110dd9190612c39565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161117d929190612989565b6020604051808303815f875af1158015611199573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111bd9190612a53565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043601681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f52494e474f000000000000000000000000000000000000000000000000000000815250905090565b5f61127a611273611398565b8484611835565b6001905092915050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661134c611398565b73ffffffffffffffffffffffffffffffffffffffff161461136b575f80fd5b600754811115801561137f57506008548111155b611387575f80fd5b806007819055508060088190555050565b5f33905090565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156113d6576113d5612c89565b5b6040519080825280602002602001820160405280156114045781602001602082028036833780820191505090505b50905030815f8151811061141b5761141a612cb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e39190612b88565b816001815181106114f7576114f6612cb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061155d3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611672565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016115bf959493929190612d9a565b5f604051808303815f87803b1580156115d6575f80fd5b505af11580156115e8573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561166e573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612e62565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590612ef0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118289190612547565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612f7e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611911576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119089061300c565b60405180910390fd5b5f8111611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a9061309a565b60405180910390fd5b5f61195c6111fd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119ca575061199a6111fd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb5575f600d5403611a1757611a146064611a06600954600d54116119f3576005546119f7565b6007545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f600d541115611a4c57611a496064611a3b600c54856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b6016544303611a9b576037600d5410611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613102565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b44575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b97575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c8f57600e54821115611be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd89061316a565b60405180910390fd5b600f5482611bee85610b3a565b611bf89190613188565b1115611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090613205565b60405180910390fd5b611c756064611c67600954600d5411611c5457600554611c58565b6007545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b9050600d5f815480929190611c8990613223565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d1757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d5b57611d586064611d4a600a54600d5411611d3757600654611d3b565b6008545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f611d6530610b3a565b9050601360159054906101000a900460ff16158015611dd0575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611de85750601360169054906101000a900460ff165b8015611df5575060105481115b8015611e045750600b54600d54115b15611eb357601554431115611e1b575f6014819055505b600360145410611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e57906132b4565b60405180910390fd5b611e7d611e7884611e7384601154612287565b612287565b61139f565b5f4790505f811115611e9357611e924761160a565b5b60145f815480929190611ea590613223565b919050555043601581905550505b505b5f811115611fb457611f0d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fab9190612547565b60405180910390a35b6120048260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120a761205b82846122fc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61214a84866122fc90919063ffffffff16565b6040516121579190612547565b60405180910390a350505050565b5f8383111582906121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a39190612416565b60405180910390fd5b505f83856121ba91906132d2565b9050809150509392505050565b5f8083036121d7575f9050612238565b5f82846121e49190612909565b90508284826121f39190613332565b14612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a906133d2565b60405180910390fd5b809150505b92915050565b5f61227f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8183116122955782612297565b815b905092915050565b5f8082846122ad9190613188565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e99061343a565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612165565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612416565b60405180910390fd5b505f83856123999190613332565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123e8826123a6565b6123f281856123b0565b93506124028185602086016123c0565b61240b816123ce565b840191505092915050565b5f6020820190508181035f83015261242e81846123de565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124638261243a565b9050919050565b61247381612459565b811461247d575f80fd5b50565b5f8135905061248e8161246a565b92915050565b5f819050919050565b6124a681612494565b81146124b0575f80fd5b50565b5f813590506124c18161249d565b92915050565b5f80604083850312156124dd576124dc612436565b5b5f6124ea85828601612480565b92505060206124fb858286016124b3565b9150509250929050565b5f8115159050919050565b61251981612505565b82525050565b5f6020820190506125325f830184612510565b92915050565b61254181612494565b82525050565b5f60208201905061255a5f830184612538565b92915050565b5f805f6060848603121561257757612576612436565b5b5f61258486828701612480565b935050602061259586828701612480565b92505060406125a6868287016124b3565b9150509250925092565b5f60ff82169050919050565b6125c5816125b0565b82525050565b5f6020820190506125de5f8301846125bc565b92915050565b5f602082840312156125f9576125f8612436565b5b5f61260684828501612480565b91505092915050565b61261881612459565b82525050565b5f6020820190506126315f83018461260f565b92915050565b5f806040838503121561264d5761264c612436565b5b5f61265a85828601612480565b925050602061266b85828601612480565b9150509250929050565b5f6020828403121561268a57612689612436565b5b5f612697848285016124b3565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126d46020836123b0565b91506126df826126a0565b602082019050919050565b5f6020820190508181035f830152612701816126c8565b9050919050565b5f819050919050565b5f819050919050565b5f61273461272f61272a84612708565b612711565b612494565b9050919050565b6127448161271a565b82525050565b5f60208201905061275d5f83018461273b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127e5578086048111156127c1576127c0612763565b5b60018516156127d05780820291505b80810290506127de85612790565b94506127a5565b94509492505050565b5f826127fd57600190506128b8565b8161280a575f90506128b8565b8160018114612820576002811461282a57612859565b60019150506128b8565b60ff84111561283c5761283b612763565b5b8360020a91508482111561285357612852612763565b5b506128b8565b5060208310610133831016604e8410600b841016171561288e5782820a90508381111561288957612888612763565b5b6128b8565b61289b848484600161279c565b925090508184048111156128b2576128b1612763565b5b81810290505b9392505050565b5f6128c982612494565b91506128d4836125b0565b92506129017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127ee565b905092915050565b5f61291382612494565b915061291e83612494565b925082820261292c81612494565b9150828204841483151761294357612942612763565b5b5092915050565b5f815190506129588161249d565b92915050565b5f6020828403121561297357612972612436565b5b5f6129808482850161294a565b91505092915050565b5f60408201905061299c5f83018561260f565b6129a96020830184612538565b9392505050565b5f6129ca6129c56129c08461243a565b612711565b61243a565b9050919050565b5f6129db826129b0565b9050919050565b5f6129ec826129d1565b9050919050565b6129fc816129e2565b82525050565b5f604082019050612a155f8301856129f3565b612a226020830184612538565b9392505050565b612a3281612505565b8114612a3c575f80fd5b50565b5f81519050612a4d81612a29565b92915050565b5f60208284031215612a6857612a67612436565b5b5f612a7584828501612a3f565b91505092915050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f612ad8602a836123b0565b9150612ae382612a7e565b604082019050919050565b5f6020820190508181035f830152612b0581612acc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b406017836123b0565b9150612b4b82612b0c565b602082019050919050565b5f6020820190508181035f830152612b6d81612b34565b9050919050565b5f81519050612b828161246a565b92915050565b5f60208284031215612b9d57612b9c612436565b5b5f612baa84828501612b74565b91505092915050565b5f604082019050612bc65f83018561260f565b612bd3602083018461260f565b9392505050565b5f60c082019050612bed5f83018961260f565b612bfa6020830188612538565b612c07604083018761273b565b612c14606083018661273b565b612c21608083018561260f565b612c2e60a0830184612538565b979650505050505050565b5f805f60608486031215612c5057612c4f612436565b5b5f612c5d8682870161294a565b9350506020612c6e8682870161294a565b9250506040612c7f8682870161294a565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1581612459565b82525050565b5f612d268383612d0c565b60208301905092915050565b5f602082019050919050565b5f612d4882612ce3565b612d528185612ced565b9350612d5d83612cfd565b805f5b83811015612d8d578151612d748882612d1b565b9750612d7f83612d32565b925050600181019050612d60565b5085935050505092915050565b5f60a082019050612dad5f830188612538565b612dba602083018761273b565b8181036040830152612dcc8186612d3e565b9050612ddb606083018561260f565b612de86080830184612538565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e4c6024836123b0565b9150612e5782612df2565b604082019050919050565b5f6020820190508181035f830152612e7981612e40565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612eda6022836123b0565b9150612ee582612e80565b604082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f686025836123b0565b9150612f7382612f0e565b604082019050919050565b5f6020820190508181035f830152612f9581612f5c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ff66023836123b0565b915061300182612f9c565b604082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130846029836123b0565b915061308f8261302a565b604082019050919050565b5f6020820190508181035f8301526130b181613078565b9050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f6130ec6020836123b0565b91506130f7826130b8565b602082019050919050565b5f6020820190508181035f830152613119816130e0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131546019836123b0565b915061315f82613120565b602082019050919050565b5f6020820190508181035f83015261318181613148565b9050919050565b5f61319282612494565b915061319d83612494565b92508282019050808211156131b5576131b4612763565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131ef601a836123b0565b91506131fa826131bb565b602082019050919050565b5f6020820190508181035f83015261321c816131e3565b9050919050565b5f61322d82612494565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361325f5761325e612763565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61329e6017836123b0565b91506132a98261326a565b602082019050919050565b5f6020820190508181035f8301526132cb81613292565b9050919050565b5f6132dc82612494565b91506132e783612494565b92508282039050818111156132ff576132fe612763565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61333c82612494565b915061334783612494565b92508261335757613356613305565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bc6021836123b0565b91506133c782613362565b604082019050919050565b5f6020820190508181035f8301526133e9816133b0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613424601b836123b0565b915061342f826133f0565b602082019050919050565b5f6020820190508181035f83015261345181613418565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204bb2c018b7a28307acd106e0a135e16b0ce8a91a0207c28c23313e61e71d05f764736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610138575f3560e01c806370a08231116100aa5780638f9a55c01161006e5780638f9a55c0146103b357806395d89b41146103dd578063a9059cbb14610407578063bf474bed14610443578063dd62ed3e1461046d578063ec1f3f63146104a95761013f565b806370a08231146102f7578063715018a6146103335780637d1db4a5146103495780638a8c523c146103735780638da5cb5b146103895761013f565b806318160ddd116100fc57806318160ddd146101ff57806323b872dd14610229578063313ce56714610265578063573761981461028f578063616eb638146102cb57806362256589146102e15761013f565b806304bf86271461014357806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104d1565b005b348015610164575f80fd5b5061016d610568565b60405161017a9190612416565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a491906124c7565b6105a5565b6040516101b6919061251f565b60405180910390f35b3480156101ca575f80fd5b506101d36105c2565b6040516101e09190612547565b60405180910390f35b3480156101f4575f80fd5b506101fd6105c8565b005b34801561020a575f80fd5b5061021361069c565b6040516102209190612547565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190612560565b6106bf565b60405161025c919061251f565b60405180910390f35b348015610270575f80fd5b50610279610793565b60405161028691906125cb565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b091906124c7565b61079b565b6040516102c2919061251f565b60405180910390f35b3480156102d6575f80fd5b506102df61095a565b005b3480156102ec575f80fd5b506102f5610a0b565b005b348015610302575f80fd5b5061031d600480360381019061031891906125e4565b610b3a565b60405161032a9190612547565b60405180910390f35b34801561033e575f80fd5b50610347610b80565b005b348015610354575f80fd5b5061035d610cce565b60405161036a9190612547565b60405180910390f35b34801561037e575f80fd5b50610387610cd4565b005b348015610394575f80fd5b5061039d6111fd565b6040516103aa919061261e565b60405180910390f35b3480156103be575f80fd5b506103c7611224565b6040516103d49190612547565b60405180910390f35b3480156103e8575f80fd5b506103f161122a565b6040516103fe9190612416565b60405180910390f35b348015610412575f80fd5b5061042d600480360381019061042891906124c7565b611267565b60405161043a919061251f565b60405180910390f35b34801561044e575f80fd5b50610457611284565b6040516104649190612547565b60405180910390f35b348015610478575f80fd5b50610493600480360381019061048e9190612637565b61128a565b6040516104a09190612547565b60405180910390f35b3480156104b4575f80fd5b506104cf60048036038101906104ca9190612675565b61130c565b005b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610511611398565b73ffffffffffffffffffffffffffffffffffffffff1614610530575f80fd5b5f61053a30610b3a565b90505f81111561054e5761054d8161139f565b5b5f4790505f811115610564576105638161160a565b5b5050565b60606040518060400160405280600581526020017f52696e676f000000000000000000000000000000000000000000000000000000815250905090565b5f6105b86105b1611398565b8484611672565b6001905092915050565b60115481565b6105d0611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610653906126ea565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f604051610692919061274a565b60405180910390a1565b5f6009600a6106ab91906128bf565b633b9aca006106ba9190612909565b905090565b5f6106cb848484611835565b610788846106d7611398565b610783856040518060600160405280602881526020016134596028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61073a611398565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121659092919063ffffffff16565b611672565b600190509392505050565b5f6009905090565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107dc611398565b73ffffffffffffffffffffffffffffffffffffffff16146107fb575f80fd5b5f820361087d578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083b919061261e565b602060405180830381865afa158015610856573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087a919061295e565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516108ae929190612989565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610912929190612a02565b6020604051808303815f875af115801561092e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190612a53565b905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099a611398565b73ffffffffffffffffffffffffffffffffffffffff16146109b9575f80fd5b5f4790505f81116109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612aee565b60405180910390fd5b610a088161160a565b50565b610a13611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a96906126ea565b60405180910390fd5b6009600a610aad91906128bf565b633b9aca00610abc9190612909565b600e819055506009600a610ad091906128bf565b633b9aca00610adf9190612909565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b1491906128bf565b633b9aca00610b239190612909565b604051610b309190612547565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b88611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b906126ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b610cdc611398565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f906126ea565b60405180910390fd5b601360149054906101000a900460ff1615610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90612b56565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e543060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e4091906128bf565b633b9aca00610e4f9190612909565b611672565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee29190612b88565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8c9190612b88565b6040518363ffffffff1660e01b8152600401610fa9929190612bb3565b6020604051808303815f875af1158015610fc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe99190612b88565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061107030610b3a565b5f8061107a6111fd565b426040518863ffffffff1660e01b815260040161109c96959493929190612bda565b60606040518083038185885af11580156110b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110dd9190612c39565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161117d929190612989565b6020604051808303815f875af1158015611199573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111bd9190612a53565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043601681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f52494e474f000000000000000000000000000000000000000000000000000000815250905090565b5f61127a611273611398565b8484611835565b6001905092915050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661134c611398565b73ffffffffffffffffffffffffffffffffffffffff161461136b575f80fd5b600754811115801561137f57506008548111155b611387575f80fd5b806007819055508060088190555050565b5f33905090565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156113d6576113d5612c89565b5b6040519080825280602002602001820160405280156114045781602001602082028036833780820191505090505b50905030815f8151811061141b5761141a612cb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e39190612b88565b816001815181106114f7576114f6612cb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061155d3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611672565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016115bf959493929190612d9a565b5f604051808303815f87803b1580156115d6575f80fd5b505af11580156115e8573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561166e573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612e62565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590612ef0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118289190612547565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612f7e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611911576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119089061300c565b60405180910390fd5b5f8111611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a9061309a565b60405180910390fd5b5f61195c6111fd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119ca575061199a6111fd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb5575f600d5403611a1757611a146064611a06600954600d54116119f3576005546119f7565b6007545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f600d541115611a4c57611a496064611a3b600c54856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b6016544303611a9b576037600d5410611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613102565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b44575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b97575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c8f57600e54821115611be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd89061316a565b60405180910390fd5b600f5482611bee85610b3a565b611bf89190613188565b1115611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090613205565b60405180910390fd5b611c756064611c67600954600d5411611c5457600554611c58565b6007545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b9050600d5f815480929190611c8990613223565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d1757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d5b57611d586064611d4a600a54600d5411611d3757600654611d3b565b6008545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f611d6530610b3a565b9050601360159054906101000a900460ff16158015611dd0575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611de85750601360169054906101000a900460ff165b8015611df5575060105481115b8015611e045750600b54600d54115b15611eb357601554431115611e1b575f6014819055505b600360145410611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e57906132b4565b60405180910390fd5b611e7d611e7884611e7384601154612287565b612287565b61139f565b5f4790505f811115611e9357611e924761160a565b5b60145f815480929190611ea590613223565b919050555043601581905550505b505b5f811115611fb457611f0d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fab9190612547565b60405180910390a35b6120048260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120a761205b82846122fc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61214a84866122fc90919063ffffffff16565b6040516121579190612547565b60405180910390a350505050565b5f8383111582906121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a39190612416565b60405180910390fd5b505f83856121ba91906132d2565b9050809150509392505050565b5f8083036121d7575f9050612238565b5f82846121e49190612909565b90508284826121f39190613332565b14612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a906133d2565b60405180910390fd5b809150505b92915050565b5f61227f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8183116122955782612297565b815b905092915050565b5f8082846122ad9190613188565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e99061343a565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612165565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612416565b60405180910390fd5b505f83856123999190613332565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123e8826123a6565b6123f281856123b0565b93506124028185602086016123c0565b61240b816123ce565b840191505092915050565b5f6020820190508181035f83015261242e81846123de565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124638261243a565b9050919050565b61247381612459565b811461247d575f80fd5b50565b5f8135905061248e8161246a565b92915050565b5f819050919050565b6124a681612494565b81146124b0575f80fd5b50565b5f813590506124c18161249d565b92915050565b5f80604083850312156124dd576124dc612436565b5b5f6124ea85828601612480565b92505060206124fb858286016124b3565b9150509250929050565b5f8115159050919050565b61251981612505565b82525050565b5f6020820190506125325f830184612510565b92915050565b61254181612494565b82525050565b5f60208201905061255a5f830184612538565b92915050565b5f805f6060848603121561257757612576612436565b5b5f61258486828701612480565b935050602061259586828701612480565b92505060406125a6868287016124b3565b9150509250925092565b5f60ff82169050919050565b6125c5816125b0565b82525050565b5f6020820190506125de5f8301846125bc565b92915050565b5f602082840312156125f9576125f8612436565b5b5f61260684828501612480565b91505092915050565b61261881612459565b82525050565b5f6020820190506126315f83018461260f565b92915050565b5f806040838503121561264d5761264c612436565b5b5f61265a85828601612480565b925050602061266b85828601612480565b9150509250929050565b5f6020828403121561268a57612689612436565b5b5f612697848285016124b3565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126d46020836123b0565b91506126df826126a0565b602082019050919050565b5f6020820190508181035f830152612701816126c8565b9050919050565b5f819050919050565b5f819050919050565b5f61273461272f61272a84612708565b612711565b612494565b9050919050565b6127448161271a565b82525050565b5f60208201905061275d5f83018461273b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127e5578086048111156127c1576127c0612763565b5b60018516156127d05780820291505b80810290506127de85612790565b94506127a5565b94509492505050565b5f826127fd57600190506128b8565b8161280a575f90506128b8565b8160018114612820576002811461282a57612859565b60019150506128b8565b60ff84111561283c5761283b612763565b5b8360020a91508482111561285357612852612763565b5b506128b8565b5060208310610133831016604e8410600b841016171561288e5782820a90508381111561288957612888612763565b5b6128b8565b61289b848484600161279c565b925090508184048111156128b2576128b1612763565b5b81810290505b9392505050565b5f6128c982612494565b91506128d4836125b0565b92506129017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127ee565b905092915050565b5f61291382612494565b915061291e83612494565b925082820261292c81612494565b9150828204841483151761294357612942612763565b5b5092915050565b5f815190506129588161249d565b92915050565b5f6020828403121561297357612972612436565b5b5f6129808482850161294a565b91505092915050565b5f60408201905061299c5f83018561260f565b6129a96020830184612538565b9392505050565b5f6129ca6129c56129c08461243a565b612711565b61243a565b9050919050565b5f6129db826129b0565b9050919050565b5f6129ec826129d1565b9050919050565b6129fc816129e2565b82525050565b5f604082019050612a155f8301856129f3565b612a226020830184612538565b9392505050565b612a3281612505565b8114612a3c575f80fd5b50565b5f81519050612a4d81612a29565b92915050565b5f60208284031215612a6857612a67612436565b5b5f612a7584828501612a3f565b91505092915050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f612ad8602a836123b0565b9150612ae382612a7e565b604082019050919050565b5f6020820190508181035f830152612b0581612acc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b406017836123b0565b9150612b4b82612b0c565b602082019050919050565b5f6020820190508181035f830152612b6d81612b34565b9050919050565b5f81519050612b828161246a565b92915050565b5f60208284031215612b9d57612b9c612436565b5b5f612baa84828501612b74565b91505092915050565b5f604082019050612bc65f83018561260f565b612bd3602083018461260f565b9392505050565b5f60c082019050612bed5f83018961260f565b612bfa6020830188612538565b612c07604083018761273b565b612c14606083018661273b565b612c21608083018561260f565b612c2e60a0830184612538565b979650505050505050565b5f805f60608486031215612c5057612c4f612436565b5b5f612c5d8682870161294a565b9350506020612c6e8682870161294a565b9250506040612c7f8682870161294a565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1581612459565b82525050565b5f612d268383612d0c565b60208301905092915050565b5f602082019050919050565b5f612d4882612ce3565b612d528185612ced565b9350612d5d83612cfd565b805f5b83811015612d8d578151612d748882612d1b565b9750612d7f83612d32565b925050600181019050612d60565b5085935050505092915050565b5f60a082019050612dad5f830188612538565b612dba602083018761273b565b8181036040830152612dcc8186612d3e565b9050612ddb606083018561260f565b612de86080830184612538565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e4c6024836123b0565b9150612e5782612df2565b604082019050919050565b5f6020820190508181035f830152612e7981612e40565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612eda6022836123b0565b9150612ee582612e80565b604082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f686025836123b0565b9150612f7382612f0e565b604082019050919050565b5f6020820190508181035f830152612f9581612f5c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ff66023836123b0565b915061300182612f9c565b604082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130846029836123b0565b915061308f8261302a565b604082019050919050565b5f6020820190508181035f8301526130b181613078565b9050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f6130ec6020836123b0565b91506130f7826130b8565b602082019050919050565b5f6020820190508181035f830152613119816130e0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131546019836123b0565b915061315f82613120565b602082019050919050565b5f6020820190508181035f83015261318181613148565b9050919050565b5f61319282612494565b915061319d83612494565b92508282019050808211156131b5576131b4612763565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131ef601a836123b0565b91506131fa826131bb565b602082019050919050565b5f6020820190508181035f83015261321c816131e3565b9050919050565b5f61322d82612494565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361325f5761325e612763565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61329e6017836123b0565b91506132a98261326a565b602082019050919050565b5f6020820190508181035f8301526132cb81613292565b9050919050565b5f6132dc82612494565b91506132e783612494565b92508282039050818111156132ff576132fe612763565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61333c82612494565b915061334783612494565b92508261335757613356613305565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bc6021836123b0565b91506133c782613362565b604082019050919050565b5f6020820190508181035f8301526133e9816133b0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613424601b836123b0565b915061342f826133f0565b602082019050919050565b5f6020820190508181035f83015261345181613418565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204bb2c018b7a28307acd106e0a135e16b0ce8a91a0207c28c23313e61e71d05f764736f6c634300081a0033
Deployed Bytecode Sourcemap
3790:9285:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12721:351;;;;;;;;;;;;;:::i;:::-;;5844:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6677:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4868:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10863:118;;;;;;;;;;;;;:::i;:::-;;6121:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6846:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6030:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12084:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12462:251;;;;;;;;;;;;;:::i;:::-;;10697:158;;;;;;;;;;;;;:::i;:::-;;6224:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2871:148;;;;;;;;;;;;;:::i;:::-;;4693:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11089:710;;;;;;;;;;;;;:::i;:::-;;2657:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4749:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5935:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6351:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4807:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6526:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11848:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12721:351;12788:10;;;;;;;;;;;12772:26;;:12;:10;:12::i;:::-;:26;;;12764:35;;;;;;12812:20;12835:24;12853:4;12835:9;:24::i;:::-;12812:47;;12886:1;12873:12;:14;12870:62;;;12890:30;12907:12;12890:16;:30::i;:::-;12870:62;12944:18;12964:21;12944:41;;13010:1;12999:10;:12;12996:69;;;13028:24;13041:10;13028:12;:24::i;:::-;12996:69;12753:319;;12721:351::o;5844:83::-;5881:13;5914:5;;;;;;;;;;;;;;;;;5907:12;;5844:83;:::o;6677:161::-;6752:4;6769:39;6778:12;:10;:12::i;:::-;6792:7;6801:6;6769:8;:39::i;:::-;6826:4;6819:11;;6677:161;;;;:::o;4868:48::-;;;;:::o;10863:118::-;2794:12;:10;:12::i;:::-;2784:22;;:6;;;;;;;;;;:22;;;2776:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10935:1:::1;10921:12;:15;;;;10952:21;10971:1;10952:21;;;;;;:::i;:::-;;;;;;;;10863:118::o:0;6121:95::-;6174:7;4510:1;4565:2;:13;;;;:::i;:::-;4552:10;:26;;;;:::i;:::-;6194:14;;6121:95;:::o;6846:313::-;6944:4;6961:36;6971:6;6979:9;6990:6;6961:9;:36::i;:::-;7008:121;7017:6;7025:12;:10;:12::i;:::-;7039:89;7077:6;7039:89;;;;;;;;;;;;;;;;;:11;:19;7051:6;7039:19;;;;;;;;;;;;;;;:33;7059:12;:10;:12::i;:::-;7039:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7008:8;:121::i;:::-;7147:4;7140:11;;6846:313;;;;;:::o;6030:83::-;6071:5;4510:1;6089:16;;6030:83;:::o;12084:370::-;12162:12;12211:10;;;;;;;;;;;12195:26;;:12;:10;:12::i;:::-;:26;;;12187:35;;;;;;12248:1;12238:6;:11;12235:96;;12281:12;12274:30;;;12313:4;12274:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12265:54;;12235:96;12348:31;12359:12;12372:6;12348:31;;;;;;;:::i;:::-;;;;;;;;12404:12;12397:29;;;12427:10;;;;;;;;;;;12439:6;12397:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12390:56;;12084:370;;;;:::o;12462:251::-;12526:10;;;;;;;;;;;12510:26;;:12;:10;:12::i;:::-;:26;;;12502:35;;;;;;12550:18;12570:21;12550:41;;12623:1;12610:10;:14;12602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12681:24;12694:10;12681:12;:24::i;:::-;12491:222;12462:251::o;10697:158::-;2794:12;:10;:12::i;:::-;2784:22;;:6;;;;;;;;;;:22;;;2776:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4510:1:::1;4565:2;:13;;;;:::i;:::-;4552:10;:26;;;;:::i;:::-;10749:12;:21;;;;4510:1;4565:2;:13;;;;:::i;:::-;4552:10;:26;;;;:::i;:::-;10781:14;:23;;;;10820:27;4510:1;4565:2;:13;;;;:::i;:::-;4552:10;:26;;;;:::i;:::-;10820:27;;;;;;:::i;:::-;;;;;;;;10697:158::o:0;6224:119::-;6290:7;6317:9;:18;6327:7;6317:18;;;;;;;;;;;;;;;;6310:25;;6224:119;;;:::o;2871:148::-;2794:12;:10;:12::i;:::-;2784:22;;:6;;;;;;;;;;:22;;;2776:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2978:1:::1;2941:40;;2962:6;::::0;::::1;;;;;;;;2941:40;;;;;;;;;;;;3009:1;2992:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2871:148::o:0;4693:49::-;;;;:::o;11089:710::-;2794:12;:10;:12::i;:::-;2784:22;;:6;;;;;;;;;;:22;;;2776:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11155:11:::1;;;;;;;;;;;11154:12;11146:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11241:42;11204:15;;:80;;;;;;;;;;;;;;;;;;11295:58;11312:4;11327:15;;;;;;;;;;;4510:1;4565:2;:13;;;;:::i;:::-;4552:10;:26;;;;:::i;:::-;11295:8;:58::i;:::-;11398:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11380:55;;;11444:4;11451:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11380:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11364:13;;:110;;;;;;;;;;;;;;;;;;11485:15;;;;;;;;;;;:31;;;11524:21;11555:4;11562:24;11580:4;11562:9;:24::i;:::-;11588:1;11591::::0;11594:7:::1;:5;:7::i;:::-;11603:15;11485:134;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11637:13;;;;;;;;;;;11630:29;;;11668:15;;;;;;;;;;;11685:14;11630:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11724:4;11711:11;;:17;;;;;;;;;;;;;;;;;;11752:4;11739:11;;:17;;;;;;;;;;;;;;;;;;11779:12;11767:10;:24;;;;11089:710::o:0;2657:79::-;2695:7;2722:6;;;;;;;;;;;2715:13;;2657:79;:::o;4749:51::-;;;;:::o;5935:87::-;5974:13;6007:7;;;;;;;;;;;;;;;;;6000:14;;5935:87;:::o;6351:167::-;6429:4;6446:42;6456:12;:10;:12::i;:::-;6470:9;6481:6;6446:9;:42::i;:::-;6506:4;6499:11;;6351:167;;;;:::o;4807:54::-;;;;:::o;6526:143::-;6607:7;6634:11;:18;6646:5;6634:18;;;;;;;;;;;;;;;:27;6653:7;6634:27;;;;;;;;;;;;;;;;6627:34;;6526:143;;;;:::o;11848:228::-;11925:10;;;;;;;;;;;11909:26;;:12;:10;:12::i;:::-;:26;;;11901:35;;;;;;11964:12;;11953:7;:23;;:51;;;;;11991:13;;11980:7;:24;;11953:51;11945:60;;;;;;12030:7;12016:12;:21;;;;12061:7;12046:13;:22;;;;11848:228;:::o;303:98::-;356:7;383:10;376:17;;303:98;:::o;10206:483::-;5432:4;5423:6;;:13;;;;;;;;;;;;;;;;;;10284:21:::1;10322:1;10308:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10284:40;;10353:4;10335;10340:1;10335:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10379:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10369:4;10374:1;10369:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10412:62;10429:4;10444:15;;;;;;;;;;;10462:11;10412:8;:62::i;:::-;10485:15;;;;;;;;;;;:66;;;10566:11;10592:1;10608:4;10635;10655:15;10485:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10273:416;5468:5:::0;5459:6;;:14;;;;;;;;;;;;;;;;;;10206:483;:::o;10989:92::-;11046:10;;;;;;;;;;;:19;;:27;11066:6;11046:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:92;:::o;7167:335::-;7277:1;7260:19;;:5;:19;;;7252:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7358:1;7339:21;;:7;:21;;;7331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7440:6;7410:11;:18;7422:5;7410:18;;;;;;;;;;;;;;;:27;7429:7;7410:27;;;;;;;;;;;;;;;:36;;;;7478:7;7462:32;;7471:5;7462:32;;;7487:6;7462:32;;;;;;:::i;:::-;;;;;;;;7167:335;;;:::o;7510:2575::-;7614:1;7598:18;;:4;:18;;;7590:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7691:1;7677:16;;:2;:16;;;7669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7761:1;7752:6;:10;7744:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7819:17;7863:7;:5;:7::i;:::-;7855:15;;:4;:15;;;;:32;;;;;7880:7;:5;:7::i;:::-;7874:13;;:2;:13;;;;7855:32;7851:1869;;;7922:1;7909:9;;:14;7906:146;;7954:82;8032:3;7954:73;7978:15;;7966:9;;:27;7965:61;;8012:14;;7965:61;;;7997:12;;7965:61;7954:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;7943:93;;7906:146;8083:1;8071:9;;:13;8068:96;;;8115:33;8144:3;8115:24;8126:12;;8115:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8104:44;;8068:96;8199:10;;8183:12;:26;8180:124;;8249:2;8237:9;;:14;8229:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8180:124;8332:13;;;;;;;;;;;8324:21;;:4;:21;;;:55;;;;;8363:15;;;;;;;;;;;8349:30;;:2;:30;;;;8324:55;:83;;;;;8385:18;:22;8404:2;8385:22;;;;;;;;;;;;;;;;;;;;;;;;;8383:24;8324:83;8320:426;;;8447:12;;8437:6;:22;;8429:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8542:14;;8532:6;8516:13;8526:2;8516:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8508:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8618:82;8696:3;8618:73;8642:15;;8630:9;;:27;8629:61;;8676:14;;8629:61;;;8661:12;;8629:61;8618:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;8606:94;;8719:9;;:11;;;;;;;;;:::i;:::-;;;;;;8320:426;8771:13;;;;;;;;;;;8765:19;;:2;:19;;;:44;;;;;8804:4;8788:21;;:4;:21;;;;8765:44;8762:181;;;8842:85;8923:3;8842:76;8866:16;;8854:9;;:28;8853:64;;8902:15;;8853:64;;;8886:13;;8853:64;8842:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;8830:97;;8762:181;8959:28;8990:24;9008:4;8990:9;:24::i;:::-;8959:55;;9034:6;;;;;;;;;;;9033:7;:30;;;;;9050:13;;;;;;;;;;;9044:19;;:2;:19;;;9033:30;:45;;;;;9067:11;;;;;;;;;;;9033:45;:89;;;;;9105:17;;9082:20;:40;9033:89;:123;;;;;9138:18;;9126:9;;:30;9033:123;9029:680;;;9196:13;;9181:12;:28;9177:89;;;9245:1;9234:9;:12;;;;9177:89;9304:1;9292:9;;:13;9284:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9354:68;9371:50;9375:6;9382:38;9386:20;9408:11;;9382:3;:38::i;:::-;9371:3;:50::i;:::-;9354:16;:68::i;:::-;9441:26;9469:21;9441:49;;9534:1;9513:18;:22;9509:106;;;9560:35;9573:21;9560:12;:35::i;:::-;9509:106;9635:9;;:11;;;;;;;;;:::i;:::-;;;;;;9681:12;9665:13;:28;;;;9158:551;9029:680;7889:1831;7851:1869;9747:1;9735:9;:13;9732:166;;;9789:39;9818:9;9789;:24;9807:4;9789:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9762:9;:24;9780:4;9762:24;;;;;;;;;;;;;;;:66;;;;9869:4;9846:40;;9855:4;9846:40;;;9876:9;9846:40;;;;;;:::i;:::-;;;;;;;;9732:166;9928:27;9948:6;9928:9;:15;9938:4;9928:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9910:9;:15;9920:4;9910:15;;;;;;;;;;;;;;;:45;;;;9982:40;10000:21;10011:9;10000:6;:10;;:21;;;;:::i;:::-;9982:9;:13;9992:2;9982:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9966:9;:13;9976:2;9966:13;;;;;;;;;;;;;;;:56;;;;10052:2;10038:39;;10047:4;10038:39;;;10055:21;10066:9;10055:6;:10;;:21;;;;:::i;:::-;10038:39;;;;;;:::i;:::-;;;;;;;;7579:2506;7510:2575;;;:::o;1549:190::-;1635:7;1668:1;1663;:6;;1671:12;1655:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1695:9;1711:1;1707;:5;;;;:::i;:::-;1695:17;;1730:1;1723:8;;;1549:190;;;;;:::o;1747:246::-;1805:7;1834:1;1829;:6;1825:47;;1859:1;1852:8;;;;1825:47;1882:9;1898:1;1894;:5;;;;:::i;:::-;1882:17;;1927:1;1922;1918;:5;;;;:::i;:::-;:10;1910:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1984:1;1977:8;;;1747:246;;;;;:::o;2001:132::-;2059:7;2086:39;2090:1;2093;2086:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2079:46;;2001:132;;;;:::o;10095:103::-;10152:7;10181:1;10177;:5;10176:14;;10189:1;10176:14;;;10185:1;10176:14;10169:21;;10095:103;;;;:::o;1218:179::-;1276:7;1296:9;1312:1;1308;:5;;;;:::i;:::-;1296:17;;1337:1;1332;:6;;1324:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1388:1;1381:8;;;1218:179;;;;:::o;1405:136::-;1463:7;1490:43;1494:1;1497;1490:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1483:50;;1405:136;;;;:::o;2141:189::-;2227:7;2259:1;2255;:5;2262:12;2247:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2286:9;2302:1;2298;:5;;;;:::i;:::-;2286:17;;2321:1;2314:8;;;2141:189;;;;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:329::-;5972:6;6021:2;6009:9;6000:7;5996:23;5992:32;5989:119;;;6027:79;;:::i;:::-;5989:119;6147:1;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6118:117;5913:329;;;;:::o;6248:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:85::-;7278:7;7307:5;7296:16;;7233:85;;;:::o;7324:60::-;7352:3;7373:5;7366:12;;7324:60;;;:::o;7390:158::-;7448:9;7481:61;7499:42;7508:32;7534:5;7508:32;:::i;:::-;7499:42;:::i;:::-;7481:61;:::i;:::-;7468:74;;7390:158;;;:::o;7554:147::-;7649:45;7688:5;7649:45;:::i;:::-;7644:3;7637:58;7554:147;;:::o;7707:238::-;7808:4;7846:2;7835:9;7831:18;7823:26;;7859:79;7935:1;7924:9;7920:17;7911:6;7859:79;:::i;:::-;7707:238;;;;:::o;7951:180::-;7999:77;7996:1;7989:88;8096:4;8093:1;8086:15;8120:4;8117:1;8110:15;8137:102;8179:8;8226:5;8223:1;8219:13;8198:34;;8137:102;;;:::o;8245:848::-;8306:5;8313:4;8337:6;8328:15;;8361:5;8352:14;;8375:712;8396:1;8386:8;8383:15;8375:712;;;8491:4;8486:3;8482:14;8476:4;8473:24;8470:50;;;8500:18;;:::i;:::-;8470:50;8550:1;8540:8;8536:16;8533:451;;;8965:4;8958:5;8954:16;8945:25;;8533:451;9015:4;9009;9005:15;8997:23;;9045:32;9068:8;9045:32;:::i;:::-;9033:44;;8375:712;;;8245:848;;;;;;;:::o;9099:1073::-;9153:5;9344:8;9334:40;;9365:1;9356:10;;9367:5;;9334:40;9393:4;9383:36;;9410:1;9401:10;;9412:5;;9383:36;9479:4;9527:1;9522:27;;;;9563:1;9558:191;;;;9472:277;;9522:27;9540:1;9531:10;;9542:5;;;9558:191;9603:3;9593:8;9590:17;9587:43;;;9610:18;;:::i;:::-;9587:43;9659:8;9656:1;9652:16;9643:25;;9694:3;9687:5;9684:14;9681:40;;;9701:18;;:::i;:::-;9681:40;9734:5;;;9472:277;;9858:2;9848:8;9845:16;9839:3;9833:4;9830:13;9826:36;9808:2;9798:8;9795:16;9790:2;9784:4;9781:12;9777:35;9761:111;9758:246;;;9914:8;9908:4;9904:19;9895:28;;9949:3;9942:5;9939:14;9936:40;;;9956:18;;:::i;:::-;9936:40;9989:5;;9758:246;10029:42;10067:3;10057:8;10051:4;10048:1;10029:42;:::i;:::-;10014:57;;;;10103:4;10098:3;10094:14;10087:5;10084:25;10081:51;;;10112:18;;:::i;:::-;10081:51;10161:4;10154:5;10150:16;10141:25;;9099:1073;;;;;;:::o;10178:281::-;10236:5;10260:23;10278:4;10260:23;:::i;:::-;10252:31;;10304:25;10320:8;10304:25;:::i;:::-;10292:37;;10348:104;10385:66;10375:8;10369:4;10348:104;:::i;:::-;10339:113;;10178:281;;;;:::o;10465:410::-;10505:7;10528:20;10546:1;10528:20;:::i;:::-;10523:25;;10562:20;10580:1;10562:20;:::i;:::-;10557:25;;10617:1;10614;10610:9;10639:30;10657:11;10639:30;:::i;:::-;10628:41;;10818:1;10809:7;10805:15;10802:1;10799:22;10779:1;10772:9;10752:83;10729:139;;10848:18;;:::i;:::-;10729:139;10513:362;10465:410;;;;:::o;10881:143::-;10938:5;10969:6;10963:13;10954:22;;10985:33;11012:5;10985:33;:::i;:::-;10881:143;;;;:::o;11030:351::-;11100:6;11149:2;11137:9;11128:7;11124:23;11120:32;11117:119;;;11155:79;;:::i;:::-;11117:119;11275:1;11300:64;11356:7;11347:6;11336:9;11332:22;11300:64;:::i;:::-;11290:74;;11246:128;11030:351;;;;:::o;11387:332::-;11508:4;11546:2;11535:9;11531:18;11523:26;;11559:71;11627:1;11616:9;11612:17;11603:6;11559:71;:::i;:::-;11640:72;11708:2;11697:9;11693:18;11684:6;11640:72;:::i;:::-;11387:332;;;;;:::o;11725:142::-;11775:9;11808:53;11826:34;11835:24;11853:5;11835:24;:::i;:::-;11826:34;:::i;:::-;11808:53;:::i;:::-;11795:66;;11725:142;;;:::o;11873:126::-;11923:9;11956:37;11987:5;11956:37;:::i;:::-;11943:50;;11873:126;;;:::o;12005:134::-;12063:9;12096:37;12127:5;12096:37;:::i;:::-;12083:50;;12005:134;;;:::o;12145:147::-;12240:45;12279:5;12240:45;:::i;:::-;12235:3;12228:58;12145:147;;:::o;12298:348::-;12427:4;12465:2;12454:9;12450:18;12442:26;;12478:79;12554:1;12543:9;12539:17;12530:6;12478:79;:::i;:::-;12567:72;12635:2;12624:9;12620:18;12611:6;12567:72;:::i;:::-;12298:348;;;;;:::o;12652:116::-;12722:21;12737:5;12722:21;:::i;:::-;12715:5;12712:32;12702:60;;12758:1;12755;12748:12;12702:60;12652:116;:::o;12774:137::-;12828:5;12859:6;12853:13;12844:22;;12875:30;12899:5;12875:30;:::i;:::-;12774:137;;;;:::o;12917:345::-;12984:6;13033:2;13021:9;13012:7;13008:23;13004:32;13001:119;;;13039:79;;:::i;:::-;13001:119;13159:1;13184:61;13237:7;13228:6;13217:9;13213:22;13184:61;:::i;:::-;13174:71;;13130:125;12917:345;;;;:::o;13268:229::-;13408:34;13404:1;13396:6;13392:14;13385:58;13477:12;13472:2;13464:6;13460:15;13453:37;13268:229;:::o;13503:366::-;13645:3;13666:67;13730:2;13725:3;13666:67;:::i;:::-;13659:74;;13742:93;13831:3;13742:93;:::i;:::-;13860:2;13855:3;13851:12;13844:19;;13503:366;;;:::o;13875:419::-;14041:4;14079:2;14068:9;14064:18;14056:26;;14128:9;14122:4;14118:20;14114:1;14103:9;14099:17;14092:47;14156:131;14282:4;14156:131;:::i;:::-;14148:139;;13875:419;;;:::o;14300:173::-;14440:25;14436:1;14428:6;14424:14;14417:49;14300:173;:::o;14479:366::-;14621:3;14642:67;14706:2;14701:3;14642:67;:::i;:::-;14635:74;;14718:93;14807:3;14718:93;:::i;:::-;14836:2;14831:3;14827:12;14820:19;;14479:366;;;:::o;14851:419::-;15017:4;15055:2;15044:9;15040:18;15032:26;;15104:9;15098:4;15094:20;15090:1;15079:9;15075:17;15068:47;15132:131;15258:4;15132:131;:::i;:::-;15124:139;;14851:419;;;:::o;15276:143::-;15333:5;15364:6;15358:13;15349:22;;15380:33;15407:5;15380:33;:::i;:::-;15276:143;;;;:::o;15425:351::-;15495:6;15544:2;15532:9;15523:7;15519:23;15515:32;15512:119;;;15550:79;;:::i;:::-;15512:119;15670:1;15695:64;15751:7;15742:6;15731:9;15727:22;15695:64;:::i;:::-;15685:74;;15641:128;15425:351;;;;:::o;15782:332::-;15903:4;15941:2;15930:9;15926:18;15918:26;;15954:71;16022:1;16011:9;16007:17;15998:6;15954:71;:::i;:::-;16035:72;16103:2;16092:9;16088:18;16079:6;16035:72;:::i;:::-;15782:332;;;;;:::o;16120:807::-;16369:4;16407:3;16396:9;16392:19;16384:27;;16421:71;16489:1;16478:9;16474:17;16465:6;16421:71;:::i;:::-;16502:72;16570:2;16559:9;16555:18;16546:6;16502:72;:::i;:::-;16584:80;16660:2;16649:9;16645:18;16636:6;16584:80;:::i;:::-;16674;16750:2;16739:9;16735:18;16726:6;16674:80;:::i;:::-;16764:73;16832:3;16821:9;16817:19;16808:6;16764:73;:::i;:::-;16847;16915:3;16904:9;16900:19;16891:6;16847:73;:::i;:::-;16120:807;;;;;;;;;:::o;16933:663::-;17021:6;17029;17037;17086:2;17074:9;17065:7;17061:23;17057:32;17054:119;;;17092:79;;:::i;:::-;17054:119;17212:1;17237:64;17293:7;17284:6;17273:9;17269:22;17237:64;:::i;:::-;17227:74;;17183:128;17350:2;17376:64;17432:7;17423:6;17412:9;17408:22;17376:64;:::i;:::-;17366:74;;17321:129;17489:2;17515:64;17571:7;17562:6;17551:9;17547:22;17515:64;:::i;:::-;17505:74;;17460:129;16933:663;;;;;:::o;17602:180::-;17650:77;17647:1;17640:88;17747:4;17744:1;17737:15;17771:4;17768:1;17761:15;17788:180;17836:77;17833:1;17826:88;17933:4;17930:1;17923:15;17957:4;17954:1;17947:15;17974:114;18041:6;18075:5;18069:12;18059:22;;17974:114;;;:::o;18094:184::-;18193:11;18227:6;18222:3;18215:19;18267:4;18262:3;18258:14;18243:29;;18094:184;;;;:::o;18284:132::-;18351:4;18374:3;18366:11;;18404:4;18399:3;18395:14;18387:22;;18284:132;;;:::o;18422:108::-;18499:24;18517:5;18499:24;:::i;:::-;18494:3;18487:37;18422:108;;:::o;18536:179::-;18605:10;18626:46;18668:3;18660:6;18626:46;:::i;:::-;18704:4;18699:3;18695:14;18681:28;;18536:179;;;;:::o;18721:113::-;18791:4;18823;18818:3;18814:14;18806:22;;18721:113;;;:::o;18870:732::-;18989:3;19018:54;19066:5;19018:54;:::i;:::-;19088:86;19167:6;19162:3;19088:86;:::i;:::-;19081:93;;19198:56;19248:5;19198:56;:::i;:::-;19277:7;19308:1;19293:284;19318:6;19315:1;19312:13;19293:284;;;19394:6;19388:13;19421:63;19480:3;19465:13;19421:63;:::i;:::-;19414:70;;19507:60;19560:6;19507:60;:::i;:::-;19497:70;;19353:224;19340:1;19337;19333:9;19328:14;;19293:284;;;19297:14;19593:3;19586:10;;18994:608;;;18870:732;;;;:::o;19608:831::-;19871:4;19909:3;19898:9;19894:19;19886:27;;19923:71;19991:1;19980:9;19976:17;19967:6;19923:71;:::i;:::-;20004:80;20080:2;20069:9;20065:18;20056:6;20004:80;:::i;:::-;20131:9;20125:4;20121:20;20116:2;20105:9;20101:18;20094:48;20159:108;20262:4;20253:6;20159:108;:::i;:::-;20151:116;;20277:72;20345:2;20334:9;20330:18;20321:6;20277:72;:::i;:::-;20359:73;20427:3;20416:9;20412:19;20403:6;20359:73;:::i;:::-;19608:831;;;;;;;;:::o;20445:223::-;20585:34;20581:1;20573:6;20569:14;20562:58;20654:6;20649:2;20641:6;20637:15;20630:31;20445:223;:::o;20674:366::-;20816:3;20837:67;20901:2;20896:3;20837:67;:::i;:::-;20830:74;;20913:93;21002:3;20913:93;:::i;:::-;21031:2;21026:3;21022:12;21015:19;;20674:366;;;:::o;21046:419::-;21212:4;21250:2;21239:9;21235:18;21227:26;;21299:9;21293:4;21289:20;21285:1;21274:9;21270:17;21263:47;21327:131;21453:4;21327:131;:::i;:::-;21319:139;;21046:419;;;:::o;21471:221::-;21611:34;21607:1;21599:6;21595:14;21588:58;21680:4;21675:2;21667:6;21663:15;21656:29;21471:221;:::o;21698:366::-;21840:3;21861:67;21925:2;21920:3;21861:67;:::i;:::-;21854:74;;21937:93;22026:3;21937:93;:::i;:::-;22055:2;22050:3;22046:12;22039:19;;21698:366;;;:::o;22070:419::-;22236:4;22274:2;22263:9;22259:18;22251:26;;22323:9;22317:4;22313:20;22309:1;22298:9;22294:17;22287:47;22351:131;22477:4;22351:131;:::i;:::-;22343:139;;22070:419;;;:::o;22495:224::-;22635:34;22631:1;22623:6;22619:14;22612:58;22704:7;22699:2;22691:6;22687:15;22680:32;22495:224;:::o;22725:366::-;22867:3;22888:67;22952:2;22947:3;22888:67;:::i;:::-;22881:74;;22964:93;23053:3;22964:93;:::i;:::-;23082:2;23077:3;23073:12;23066:19;;22725:366;;;:::o;23097:419::-;23263:4;23301:2;23290:9;23286:18;23278:26;;23350:9;23344:4;23340:20;23336:1;23325:9;23321:17;23314:47;23378:131;23504:4;23378:131;:::i;:::-;23370:139;;23097:419;;;:::o;23522:222::-;23662:34;23658:1;23650:6;23646:14;23639:58;23731:5;23726:2;23718:6;23714:15;23707:30;23522:222;:::o;23750:366::-;23892:3;23913:67;23977:2;23972:3;23913:67;:::i;:::-;23906:74;;23989:93;24078:3;23989:93;:::i;:::-;24107:2;24102:3;24098:12;24091:19;;23750:366;;;:::o;24122:419::-;24288:4;24326:2;24315:9;24311:18;24303:26;;24375:9;24369:4;24365:20;24361:1;24350:9;24346:17;24339:47;24403:131;24529:4;24403:131;:::i;:::-;24395:139;;24122:419;;;:::o;24547:228::-;24687:34;24683:1;24675:6;24671:14;24664:58;24756:11;24751:2;24743:6;24739:15;24732:36;24547:228;:::o;24781:366::-;24923:3;24944:67;25008:2;25003:3;24944:67;:::i;:::-;24937:74;;25020:93;25109:3;25020:93;:::i;:::-;25138:2;25133:3;25129:12;25122:19;;24781:366;;;:::o;25153:419::-;25319:4;25357:2;25346:9;25342:18;25334:26;;25406:9;25400:4;25396:20;25392:1;25381:9;25377:17;25370:47;25434:131;25560:4;25434:131;:::i;:::-;25426:139;;25153:419;;;:::o;25578:182::-;25718:34;25714:1;25706:6;25702:14;25695:58;25578:182;:::o;25766:366::-;25908:3;25929:67;25993:2;25988:3;25929:67;:::i;:::-;25922:74;;26005:93;26094:3;26005:93;:::i;:::-;26123:2;26118:3;26114:12;26107:19;;25766:366;;;:::o;26138:419::-;26304:4;26342:2;26331:9;26327:18;26319:26;;26391:9;26385:4;26381:20;26377:1;26366:9;26362:17;26355:47;26419:131;26545:4;26419:131;:::i;:::-;26411:139;;26138:419;;;:::o;26563:175::-;26703:27;26699:1;26691:6;26687:14;26680:51;26563:175;:::o;26744:366::-;26886:3;26907:67;26971:2;26966:3;26907:67;:::i;:::-;26900:74;;26983:93;27072:3;26983:93;:::i;:::-;27101:2;27096:3;27092:12;27085:19;;26744:366;;;:::o;27116:419::-;27282:4;27320:2;27309:9;27305:18;27297:26;;27369:9;27363:4;27359:20;27355:1;27344:9;27340:17;27333:47;27397:131;27523:4;27397:131;:::i;:::-;27389:139;;27116:419;;;:::o;27541:191::-;27581:3;27600:20;27618:1;27600:20;:::i;:::-;27595:25;;27634:20;27652:1;27634:20;:::i;:::-;27629:25;;27677:1;27674;27670:9;27663:16;;27698:3;27695:1;27692:10;27689:36;;;27705:18;;:::i;:::-;27689:36;27541:191;;;;:::o;27738:176::-;27878:28;27874:1;27866:6;27862:14;27855:52;27738:176;:::o;27920:366::-;28062:3;28083:67;28147:2;28142:3;28083:67;:::i;:::-;28076:74;;28159:93;28248:3;28159:93;:::i;:::-;28277:2;28272:3;28268:12;28261:19;;27920:366;;;:::o;28292:419::-;28458:4;28496:2;28485:9;28481:18;28473:26;;28545:9;28539:4;28535:20;28531:1;28520:9;28516:17;28509:47;28573:131;28699:4;28573:131;:::i;:::-;28565:139;;28292:419;;;:::o;28717:233::-;28756:3;28779:24;28797:5;28779:24;:::i;:::-;28770:33;;28825:66;28818:5;28815:77;28812:103;;28895:18;;:::i;:::-;28812:103;28942:1;28935:5;28931:13;28924:20;;28717:233;;;:::o;28956:173::-;29096:25;29092:1;29084:6;29080:14;29073:49;28956:173;:::o;29135:366::-;29277:3;29298:67;29362:2;29357:3;29298:67;:::i;:::-;29291:74;;29374:93;29463:3;29374:93;:::i;:::-;29492:2;29487:3;29483:12;29476:19;;29135:366;;;:::o;29507:419::-;29673:4;29711:2;29700:9;29696:18;29688:26;;29760:9;29754:4;29750:20;29746:1;29735:9;29731:17;29724:47;29788:131;29914:4;29788:131;:::i;:::-;29780:139;;29507:419;;;:::o;29932:194::-;29972:4;29992:20;30010:1;29992:20;:::i;:::-;29987:25;;30026:20;30044:1;30026:20;:::i;:::-;30021:25;;30070:1;30067;30063:9;30055:17;;30094:1;30088:4;30085:11;30082:37;;;30099:18;;:::i;:::-;30082:37;29932:194;;;;:::o;30132:180::-;30180:77;30177:1;30170:88;30277:4;30274:1;30267:15;30301:4;30298:1;30291:15;30318:185;30358:1;30375:20;30393:1;30375:20;:::i;:::-;30370:25;;30409:20;30427:1;30409:20;:::i;:::-;30404:25;;30448:1;30438:35;;30453:18;;:::i;:::-;30438:35;30495:1;30492;30488:9;30483:14;;30318:185;;;;:::o;30509:220::-;30649:34;30645:1;30637:6;30633:14;30626:58;30718:3;30713:2;30705:6;30701:15;30694:28;30509:220;:::o;30735:366::-;30877:3;30898:67;30962:2;30957:3;30898:67;:::i;:::-;30891:74;;30974:93;31063:3;30974:93;:::i;:::-;31092:2;31087:3;31083:12;31076:19;;30735:366;;;:::o;31107:419::-;31273:4;31311:2;31300:9;31296:18;31288:26;;31360:9;31354:4;31350:20;31346:1;31335:9;31331:17;31324:47;31388:131;31514:4;31388:131;:::i;:::-;31380:139;;31107:419;;;:::o;31532:177::-;31672:29;31668:1;31660:6;31656:14;31649:53;31532:177;:::o;31715:366::-;31857:3;31878:67;31942:2;31937:3;31878:67;:::i;:::-;31871:74;;31954:93;32043:3;31954:93;:::i;:::-;32072:2;32067:3;32063:12;32056:19;;31715:366;;;:::o;32087:419::-;32253:4;32291:2;32280:9;32276:18;32268:26;;32340:9;32334:4;32330:20;32326:1;32315:9;32311:17;32304:47;32368:131;32494:4;32368:131;:::i;:::-;32360:139;;32087:419;;;:::o
Swarm Source
ipfs://4bb2c018b7a28307acd106e0a135e16b0ce8a91a0207c28c23313e61e71d05f7
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.