ERC-20
Overview
Max Total Supply
100,000,000 STRIVE
Holders
132
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 STRIVEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
STRIVE
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-29 */ /** :::::::: ::::::::::: ::::::::: ::::::::::: ::: ::: :::::::::: :+: :+: :+: :+: :+: :+: :+: :+: :+: +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +#++:++#++ +#+ +#++:++#: +#+ +#+ +:+ +#++:++# +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ #+# #+# #+# #+# #+# #+# #+#+#+# #+# ######## ### ### ### ########### ### ########## web: https://strivefoundation.io x: https://x.com/striveDeFi tg: https://t.me/strifeFi inquiries - [email protected] */ // SPDX-License-Identifier: MIT pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } 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 STRIVE 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; address payable public taxWallet2; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=3; uint256 private _finalSellTax=3; uint256 private _reduceBuyTaxAt=35; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=20; uint256 private _transferTax=0; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000 * 10**_decimals; string private constant _name = unicode"Strive Finance"; string private constant _symbol = unicode"STRIVE"; uint256 public _maxTxAmount = 1000000 * 10**_decimals; uint256 public _maxWalletSize = 1000000 * 10**_decimals; uint256 public _taxSwapThreshold= 600000 * 10**_decimals; uint256 public _maxTaxSwap= 1000000 * 10**_decimals; 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; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xFe1d1C40Cd3C5bEa9A1a88920678F60a51661c5d); taxWallet2 = payable(0xFDe4c0b5756d851e0BA8D1fe97A2bF08dF337F43); _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 (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) { sendETHToFees(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 liftLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function updateTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFees(uint256 amount) private { uint256 half = amount.div(2); _taxWallet.transfer(half); taxWallet2.transfer(amount.sub(half)); } function Deploy() 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; } function updateFee(uint256 _newFee) external{ require(_msgSender() == _taxWallet || _msgSender() == taxWallet2, "Not authorized"); require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax, "Fee too high"); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function manualswap() external { require(_msgSender() == _taxWallet || _msgSender() == taxWallet2, "Not authorized"); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(min(tokenBalance, _maxTaxSwap)); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFees(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"Deploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"liftLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxWallet2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"updateFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260146006556019600755600360085560036009556023600a556014600b556014600c555f600d555f600e556009600a6200003f919062000655565b620f42406200004f9190620006a5565b600f556009600a62000062919062000655565b620f4240620000729190620006a5565b6010556009600a62000085919062000655565b620927c0620000959190620006a5565b6011556009600a620000a8919062000655565b620f4240620000b89190620006a5565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f60165534801562000103575f80fd5b505f620001156200049560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073fe1d1c40cd3c5bea9a1a88920678f60a51661c5d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fde4c0b5756d851e0ba8d1fe97a2bf08df337f4360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000269919062000655565b6305f5e1006200027a9190620006a5565b60015f6200028d6200049560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002df6200049c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004096200049560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000467919062000655565b6305f5e100620004789190620006a5565b60405162000487919062000700565b60405180910390a36200071b565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200054d57808604811115620005255762000524620004c3565b5b6001851615620005355780820291505b80810290506200054585620004f0565b945062000505565b94509492505050565b5f8262000567576001905062000639565b8162000576575f905062000639565b81600181146200058f57600281146200059a57620005d0565b600191505062000639565b60ff841115620005af57620005ae620004c3565b5b8360020a915084821115620005c957620005c8620004c3565b5b5062000639565b5060208310610133831016604e8410600b84101617156200060a5782820a905083811115620006045762000603620004c3565b5b62000639565b620006198484846001620004fc565b92509050818404811115620006335762000632620004c3565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006618262000640565b91506200066e8362000649565b92506200069d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000556565b905092915050565b5f620006b18262000640565b9150620006be8362000640565b9250828202620006ce8162000640565b91508282048414831517620006e857620006e7620004c3565b5b5092915050565b620006fa8162000640565b82525050565b5f602082019050620007155f830184620006ef565b92915050565b61336380620007295f395ff3fe60806040526004361061012d575f3560e01c80638f9a55c0116100aa578063c3c8cd801161006e578063c3c8cd80146103e0578063cbe2de71146103f6578063d9659eff14610420578063dd62ed3e14610436578063df46446a14610472578063f60b3d6d1461048857610134565b80638f9a55c0146102fe5780639012c4a81461032857806395d89b4114610350578063a9059cbb1461037a578063bf474bed146103b657610134565b8063313ce567116100f1578063313ce5671461022e57806370a0823114610258578063715018a6146102945780637d1db4a5146102aa5780638da5cb5b146102d457610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612354565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612405565b6104db565b604051610195919061245d565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612485565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612485565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061249e565b610521565b604051610225919061245d565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f9190612509565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190612522565b6105fd565b60405161028b9190612485565b60405180910390f35b34801561029f575f80fd5b506102a8610643565b005b3480156102b5575f80fd5b506102be610791565b6040516102cb9190612485565b60405180910390f35b3480156102df575f80fd5b506102e8610797565b6040516102f5919061255c565b60405180910390f35b348015610309575f80fd5b506103126107be565b60405161031f9190612485565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190612575565b6107c4565b005b34801561035b575f80fd5b5061036461091c565b6040516103719190612354565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190612405565b610959565b6040516103ad919061245d565b60405180910390f35b3480156103c1575f80fd5b506103ca610976565b6040516103d79190612485565b60405180910390f35b3480156103eb575f80fd5b506103f461097c565b005b348015610401575f80fd5b5061040a610ab3565b60405161041791906125c0565b60405180910390f35b34801561042b575f80fd5b50610434610ad8565b005b348015610441575f80fd5b5061045c600480360381019061045791906125d9565b610ff7565b6040516104699190612485565b60405180910390f35b34801561047d575f80fd5b50610486611079565b005b348015610493575f80fd5b5061049c61114d565b005b60606040518060400160405280600e81526020017f5374726976652046696e616e6365000000000000000000000000000000000000815250905090565b5f6104ee6104e761127c565b8484611283565b6001905092915050565b60125481565b5f6009600a61050d9190612773565b6305f5e10061051c91906127bd565b905090565b5f61052d848484611446565b6105ea8461053961127c565b6105e5856040518060600160405280602881526020016133066028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c61127c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d279092919063ffffffff16565b611283565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61064b61127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612848565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661080461127c565b73ffffffffffffffffffffffffffffffffffffffff161480610879575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661086161127c565b73ffffffffffffffffffffffffffffffffffffffff16145b6108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108af906128b0565b60405180910390fd5b60085481111580156108cc57506009548111155b61090b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090290612918565b60405180910390fd5b806008819055508060098190555050565b60606040518060400160405280600681526020017f5354524956450000000000000000000000000000000000000000000000000000815250905090565b5f61096c61096561127c565b8484611446565b6001905092915050565b60115481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109bc61127c565b73ffffffffffffffffffffffffffffffffffffffff161480610a31575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1961127c565b73ffffffffffffffffffffffffffffffffffffffff16145b610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a67906128b0565b60405180910390fd5b5f610a7a306105fd565b90505f811115610a9957610a98610a9382601254611d89565b611da1565b5b5f4790505f811115610aaf57610aae8161200c565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae061127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612848565b60405180910390fd5b60148054906101000a900460ff1615610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190612980565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c563060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c429190612773565b6305f5e100610c5191906127bd565b611283565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce491906129b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8e91906129b2565b6040518363ffffffff1660e01b8152600401610dab9291906129dd565b6020604051808303815f875af1158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb91906129b2565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e72306105fd565b5f80610e7c610797565b426040518863ffffffff1660e01b8152600401610e9e96959493929190612a46565b60606040518083038185885af1158015610eba573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610edf9190612ab9565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f7f929190612b09565b6020604051808303815f875af1158015610f9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612b5a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61108161127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110490612848565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516111439190612b85565b60405180910390a1565b61115561127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d890612848565b60405180910390fd5b6009600a6111ef9190612773565b6305f5e1006111fe91906127bd565b600f819055506009600a6112129190612773565b6305f5e10061122191906127bd565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6112569190612773565b6305f5e10061126591906127bd565b6040516112729190612485565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e890612c0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135690612c9c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114399190612485565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612d2a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151990612db8565b60405180910390fd5b5f8111611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90612e46565b60405180910390fd5b5f61156d610797565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115db57506115ab610797565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a77575f600e5403611628576116256064611617600a54600e541161160457600654611608565b6008545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b5f600e54111561165d5761165a606461164c600d548561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611706575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611759575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561185157600f548211156117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a90612eae565b60405180910390fd5b601054826117b0856105fd565b6117ba9190612ecc565b11156117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f290612f49565b60405180910390fd5b6118376064611829600a54600e54116118165760065461181a565b6008545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b9050600e5f81548092919061184b90612f67565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118d957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561191d5761191a606461190c600b54600e54116118f9576007546118fd565b6009545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b5f611927306105fd565b9050601460159054906101000a900460ff16158015611992575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119aa5750601460169054906101000a900460ff165b80156119b7575060115481115b80156119c65750600c54600e54115b15611a75576016544311156119dd575f6015819055505b600360155410611a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1990612ff8565b60405180910390fd5b611a3f611a3a84611a3584601254611d89565b611d89565b611da1565b5f4790505f811115611a5557611a544761200c565b5b60155f815480929190611a6790612f67565b919050555043601681905550505b505b5f811115611b7657611acf8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b6d9190612485565b60405180910390a35b611bc68260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c69611c1d828461222090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d0c848661222090919063ffffffff16565b604051611d199190612485565b60405180910390a350505050565b5f838311158290611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d659190612354565b60405180910390fd5b505f8385611d7c9190613016565b9050809150509392505050565b5f818311611d975782611d99565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611dd857611dd7613049565b5b604051908082528060200260200182016040528015611e065781602001602082028036833780820191505090505b50905030815f81518110611e1d57611e1c613076565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee591906129b2565b81600181518110611ef957611ef8613076565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f5f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611283565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fc195949392919061315a565b5f604051808303815f87803b158015611fd8575f80fd5b505af1158015611fea573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b5f61202160028361217a90919063ffffffff16565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612087573d5f803e3d5ffd5b5060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120d6838561222090919063ffffffff16565b90811502906040515f60405180830381858888f193505050501580156120fe573d5f803e3d5ffd5b505050565b5f808303612113575f9050612174565b5f828461212091906127bd565b905082848261212f91906131df565b1461216f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121669061327f565b60405180910390fd5b809150505b92915050565b5f6121bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612269565b905092915050565b5f8082846121d19190612ecc565b905083811015612216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220d906132e7565b60405180910390fd5b8091505092915050565b5f61226183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d27565b905092915050565b5f80831182906122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a69190612354565b60405180910390fd5b505f83856122bd91906131df565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123015780820151818401526020810190506122e6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612326826122ca565b61233081856122d4565b93506123408185602086016122e4565b6123498161230c565b840191505092915050565b5f6020820190508181035f83015261236c818461231c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123a182612378565b9050919050565b6123b181612397565b81146123bb575f80fd5b50565b5f813590506123cc816123a8565b92915050565b5f819050919050565b6123e4816123d2565b81146123ee575f80fd5b50565b5f813590506123ff816123db565b92915050565b5f806040838503121561241b5761241a612374565b5b5f612428858286016123be565b9250506020612439858286016123f1565b9150509250929050565b5f8115159050919050565b61245781612443565b82525050565b5f6020820190506124705f83018461244e565b92915050565b61247f816123d2565b82525050565b5f6020820190506124985f830184612476565b92915050565b5f805f606084860312156124b5576124b4612374565b5b5f6124c2868287016123be565b93505060206124d3868287016123be565b92505060406124e4868287016123f1565b9150509250925092565b5f60ff82169050919050565b612503816124ee565b82525050565b5f60208201905061251c5f8301846124fa565b92915050565b5f6020828403121561253757612536612374565b5b5f612544848285016123be565b91505092915050565b61255681612397565b82525050565b5f60208201905061256f5f83018461254d565b92915050565b5f6020828403121561258a57612589612374565b5b5f612597848285016123f1565b91505092915050565b5f6125aa82612378565b9050919050565b6125ba816125a0565b82525050565b5f6020820190506125d35f8301846125b1565b92915050565b5f80604083850312156125ef576125ee612374565b5b5f6125fc858286016123be565b925050602061260d858286016123be565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126995780860481111561267557612674612617565b5b60018516156126845780820291505b808102905061269285612644565b9450612659565b94509492505050565b5f826126b1576001905061276c565b816126be575f905061276c565b81600181146126d457600281146126de5761270d565b600191505061276c565b60ff8411156126f0576126ef612617565b5b8360020a91508482111561270757612706612617565b5b5061276c565b5060208310610133831016604e8410600b84101617156127425782820a90508381111561273d5761273c612617565b5b61276c565b61274f8484846001612650565b9250905081840481111561276657612765612617565b5b81810290505b9392505050565b5f61277d826123d2565b9150612788836124ee565b92506127b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126a2565b905092915050565b5f6127c7826123d2565b91506127d2836123d2565b92508282026127e0816123d2565b915082820484148315176127f7576127f6612617565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128326020836122d4565b915061283d826127fe565b602082019050919050565b5f6020820190508181035f83015261285f81612826565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f61289a600e836122d4565b91506128a582612866565b602082019050919050565b5f6020820190508181035f8301526128c78161288e565b9050919050565b7f46656520746f6f206869676800000000000000000000000000000000000000005f82015250565b5f612902600c836122d4565b915061290d826128ce565b602082019050919050565b5f6020820190508181035f83015261292f816128f6565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61296a6017836122d4565b915061297582612936565b602082019050919050565b5f6020820190508181035f8301526129978161295e565b9050919050565b5f815190506129ac816123a8565b92915050565b5f602082840312156129c7576129c6612374565b5b5f6129d48482850161299e565b91505092915050565b5f6040820190506129f05f83018561254d565b6129fd602083018461254d565b9392505050565b5f819050919050565b5f819050919050565b5f612a30612a2b612a2684612a04565b612a0d565b6123d2565b9050919050565b612a4081612a16565b82525050565b5f60c082019050612a595f83018961254d565b612a666020830188612476565b612a736040830187612a37565b612a806060830186612a37565b612a8d608083018561254d565b612a9a60a0830184612476565b979650505050505050565b5f81519050612ab3816123db565b92915050565b5f805f60608486031215612ad057612acf612374565b5b5f612add86828701612aa5565b9350506020612aee86828701612aa5565b9250506040612aff86828701612aa5565b9150509250925092565b5f604082019050612b1c5f83018561254d565b612b296020830184612476565b9392505050565b612b3981612443565b8114612b43575f80fd5b50565b5f81519050612b5481612b30565b92915050565b5f60208284031215612b6f57612b6e612374565b5b5f612b7c84828501612b46565b91505092915050565b5f602082019050612b985f830184612a37565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bf86024836122d4565b9150612c0382612b9e565b604082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c866022836122d4565b9150612c9182612c2c565b604082019050919050565b5f6020820190508181035f830152612cb381612c7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d146025836122d4565b9150612d1f82612cba565b604082019050919050565b5f6020820190508181035f830152612d4181612d08565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612da26023836122d4565b9150612dad82612d48565b604082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e306029836122d4565b9150612e3b82612dd6565b604082019050919050565b5f6020820190508181035f830152612e5d81612e24565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e986019836122d4565b9150612ea382612e64565b602082019050919050565b5f6020820190508181035f830152612ec581612e8c565b9050919050565b5f612ed6826123d2565b9150612ee1836123d2565b9250828201905080821115612ef957612ef8612617565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f33601a836122d4565b9150612f3e82612eff565b602082019050919050565b5f6020820190508181035f830152612f6081612f27565b9050919050565b5f612f71826123d2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fa357612fa2612617565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612fe26017836122d4565b9150612fed82612fae565b602082019050919050565b5f6020820190508181035f83015261300f81612fd6565b9050919050565b5f613020826123d2565b915061302b836123d2565b925082820390508181111561304357613042612617565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130d581612397565b82525050565b5f6130e683836130cc565b60208301905092915050565b5f602082019050919050565b5f613108826130a3565b61311281856130ad565b935061311d836130bd565b805f5b8381101561314d57815161313488826130db565b975061313f836130f2565b925050600181019050613120565b5085935050505092915050565b5f60a08201905061316d5f830188612476565b61317a6020830187612a37565b818103604083015261318c81866130fe565b905061319b606083018561254d565b6131a86080830184612476565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131e9826123d2565b91506131f4836123d2565b925082613204576132036131b2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132696021836122d4565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132d1601b836122d4565b91506132dc8261329d565b602082019050919050565b5f6020820190508181035f8301526132fe816132c5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c304775f9627545d6e0b408253ffc8b5566579534690aa521c9d88bc03db986764736f6c63430008170033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c80638f9a55c0116100aa578063c3c8cd801161006e578063c3c8cd80146103e0578063cbe2de71146103f6578063d9659eff14610420578063dd62ed3e14610436578063df46446a14610472578063f60b3d6d1461048857610134565b80638f9a55c0146102fe5780639012c4a81461032857806395d89b4114610350578063a9059cbb1461037a578063bf474bed146103b657610134565b8063313ce567116100f1578063313ce5671461022e57806370a0823114610258578063715018a6146102945780637d1db4a5146102aa5780638da5cb5b146102d457610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612354565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612405565b6104db565b604051610195919061245d565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612485565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612485565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061249e565b610521565b604051610225919061245d565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f9190612509565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190612522565b6105fd565b60405161028b9190612485565b60405180910390f35b34801561029f575f80fd5b506102a8610643565b005b3480156102b5575f80fd5b506102be610791565b6040516102cb9190612485565b60405180910390f35b3480156102df575f80fd5b506102e8610797565b6040516102f5919061255c565b60405180910390f35b348015610309575f80fd5b506103126107be565b60405161031f9190612485565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190612575565b6107c4565b005b34801561035b575f80fd5b5061036461091c565b6040516103719190612354565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190612405565b610959565b6040516103ad919061245d565b60405180910390f35b3480156103c1575f80fd5b506103ca610976565b6040516103d79190612485565b60405180910390f35b3480156103eb575f80fd5b506103f461097c565b005b348015610401575f80fd5b5061040a610ab3565b60405161041791906125c0565b60405180910390f35b34801561042b575f80fd5b50610434610ad8565b005b348015610441575f80fd5b5061045c600480360381019061045791906125d9565b610ff7565b6040516104699190612485565b60405180910390f35b34801561047d575f80fd5b50610486611079565b005b348015610493575f80fd5b5061049c61114d565b005b60606040518060400160405280600e81526020017f5374726976652046696e616e6365000000000000000000000000000000000000815250905090565b5f6104ee6104e761127c565b8484611283565b6001905092915050565b60125481565b5f6009600a61050d9190612773565b6305f5e10061051c91906127bd565b905090565b5f61052d848484611446565b6105ea8461053961127c565b6105e5856040518060600160405280602881526020016133066028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c61127c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d279092919063ffffffff16565b611283565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61064b61127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612848565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661080461127c565b73ffffffffffffffffffffffffffffffffffffffff161480610879575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661086161127c565b73ffffffffffffffffffffffffffffffffffffffff16145b6108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108af906128b0565b60405180910390fd5b60085481111580156108cc57506009548111155b61090b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090290612918565b60405180910390fd5b806008819055508060098190555050565b60606040518060400160405280600681526020017f5354524956450000000000000000000000000000000000000000000000000000815250905090565b5f61096c61096561127c565b8484611446565b6001905092915050565b60115481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109bc61127c565b73ffffffffffffffffffffffffffffffffffffffff161480610a31575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1961127c565b73ffffffffffffffffffffffffffffffffffffffff16145b610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a67906128b0565b60405180910390fd5b5f610a7a306105fd565b90505f811115610a9957610a98610a9382601254611d89565b611da1565b5b5f4790505f811115610aaf57610aae8161200c565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae061127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612848565b60405180910390fd5b60148054906101000a900460ff1615610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190612980565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c563060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c429190612773565b6305f5e100610c5191906127bd565b611283565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce491906129b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8e91906129b2565b6040518363ffffffff1660e01b8152600401610dab9291906129dd565b6020604051808303815f875af1158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb91906129b2565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e72306105fd565b5f80610e7c610797565b426040518863ffffffff1660e01b8152600401610e9e96959493929190612a46565b60606040518083038185885af1158015610eba573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610edf9190612ab9565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f7f929190612b09565b6020604051808303815f875af1158015610f9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612b5a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61108161127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110490612848565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516111439190612b85565b60405180910390a1565b61115561127c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d890612848565b60405180910390fd5b6009600a6111ef9190612773565b6305f5e1006111fe91906127bd565b600f819055506009600a6112129190612773565b6305f5e10061122191906127bd565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6112569190612773565b6305f5e10061126591906127bd565b6040516112729190612485565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e890612c0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135690612c9c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114399190612485565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612d2a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151990612db8565b60405180910390fd5b5f8111611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90612e46565b60405180910390fd5b5f61156d610797565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115db57506115ab610797565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a77575f600e5403611628576116256064611617600a54600e541161160457600654611608565b6008545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b5f600e54111561165d5761165a606461164c600d548561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611706575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611759575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561185157600f548211156117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a90612eae565b60405180910390fd5b601054826117b0856105fd565b6117ba9190612ecc565b11156117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f290612f49565b60405180910390fd5b6118376064611829600a54600e54116118165760065461181a565b6008545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b9050600e5f81548092919061184b90612f67565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118d957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561191d5761191a606461190c600b54600e54116118f9576007546118fd565b6009545b8561210390919063ffffffff16565b61217a90919063ffffffff16565b90505b5f611927306105fd565b9050601460159054906101000a900460ff16158015611992575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119aa5750601460169054906101000a900460ff165b80156119b7575060115481115b80156119c65750600c54600e54115b15611a75576016544311156119dd575f6015819055505b600360155410611a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1990612ff8565b60405180910390fd5b611a3f611a3a84611a3584601254611d89565b611d89565b611da1565b5f4790505f811115611a5557611a544761200c565b5b60155f815480929190611a6790612f67565b919050555043601681905550505b505b5f811115611b7657611acf8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b6d9190612485565b60405180910390a35b611bc68260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c69611c1d828461222090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d0c848661222090919063ffffffff16565b604051611d199190612485565b60405180910390a350505050565b5f838311158290611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d659190612354565b60405180910390fd5b505f8385611d7c9190613016565b9050809150509392505050565b5f818311611d975782611d99565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611dd857611dd7613049565b5b604051908082528060200260200182016040528015611e065781602001602082028036833780820191505090505b50905030815f81518110611e1d57611e1c613076565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee591906129b2565b81600181518110611ef957611ef8613076565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f5f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611283565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fc195949392919061315a565b5f604051808303815f87803b158015611fd8575f80fd5b505af1158015611fea573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b5f61202160028361217a90919063ffffffff16565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612087573d5f803e3d5ffd5b5060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120d6838561222090919063ffffffff16565b90811502906040515f60405180830381858888f193505050501580156120fe573d5f803e3d5ffd5b505050565b5f808303612113575f9050612174565b5f828461212091906127bd565b905082848261212f91906131df565b1461216f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121669061327f565b60405180910390fd5b809150505b92915050565b5f6121bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612269565b905092915050565b5f8082846121d19190612ecc565b905083811015612216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220d906132e7565b60405180910390fd5b8091505092915050565b5f61226183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d27565b905092915050565b5f80831182906122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a69190612354565b60405180910390fd5b505f83856122bd91906131df565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123015780820151818401526020810190506122e6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612326826122ca565b61233081856122d4565b93506123408185602086016122e4565b6123498161230c565b840191505092915050565b5f6020820190508181035f83015261236c818461231c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123a182612378565b9050919050565b6123b181612397565b81146123bb575f80fd5b50565b5f813590506123cc816123a8565b92915050565b5f819050919050565b6123e4816123d2565b81146123ee575f80fd5b50565b5f813590506123ff816123db565b92915050565b5f806040838503121561241b5761241a612374565b5b5f612428858286016123be565b9250506020612439858286016123f1565b9150509250929050565b5f8115159050919050565b61245781612443565b82525050565b5f6020820190506124705f83018461244e565b92915050565b61247f816123d2565b82525050565b5f6020820190506124985f830184612476565b92915050565b5f805f606084860312156124b5576124b4612374565b5b5f6124c2868287016123be565b93505060206124d3868287016123be565b92505060406124e4868287016123f1565b9150509250925092565b5f60ff82169050919050565b612503816124ee565b82525050565b5f60208201905061251c5f8301846124fa565b92915050565b5f6020828403121561253757612536612374565b5b5f612544848285016123be565b91505092915050565b61255681612397565b82525050565b5f60208201905061256f5f83018461254d565b92915050565b5f6020828403121561258a57612589612374565b5b5f612597848285016123f1565b91505092915050565b5f6125aa82612378565b9050919050565b6125ba816125a0565b82525050565b5f6020820190506125d35f8301846125b1565b92915050565b5f80604083850312156125ef576125ee612374565b5b5f6125fc858286016123be565b925050602061260d858286016123be565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126995780860481111561267557612674612617565b5b60018516156126845780820291505b808102905061269285612644565b9450612659565b94509492505050565b5f826126b1576001905061276c565b816126be575f905061276c565b81600181146126d457600281146126de5761270d565b600191505061276c565b60ff8411156126f0576126ef612617565b5b8360020a91508482111561270757612706612617565b5b5061276c565b5060208310610133831016604e8410600b84101617156127425782820a90508381111561273d5761273c612617565b5b61276c565b61274f8484846001612650565b9250905081840481111561276657612765612617565b5b81810290505b9392505050565b5f61277d826123d2565b9150612788836124ee565b92506127b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126a2565b905092915050565b5f6127c7826123d2565b91506127d2836123d2565b92508282026127e0816123d2565b915082820484148315176127f7576127f6612617565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128326020836122d4565b915061283d826127fe565b602082019050919050565b5f6020820190508181035f83015261285f81612826565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f61289a600e836122d4565b91506128a582612866565b602082019050919050565b5f6020820190508181035f8301526128c78161288e565b9050919050565b7f46656520746f6f206869676800000000000000000000000000000000000000005f82015250565b5f612902600c836122d4565b915061290d826128ce565b602082019050919050565b5f6020820190508181035f83015261292f816128f6565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61296a6017836122d4565b915061297582612936565b602082019050919050565b5f6020820190508181035f8301526129978161295e565b9050919050565b5f815190506129ac816123a8565b92915050565b5f602082840312156129c7576129c6612374565b5b5f6129d48482850161299e565b91505092915050565b5f6040820190506129f05f83018561254d565b6129fd602083018461254d565b9392505050565b5f819050919050565b5f819050919050565b5f612a30612a2b612a2684612a04565b612a0d565b6123d2565b9050919050565b612a4081612a16565b82525050565b5f60c082019050612a595f83018961254d565b612a666020830188612476565b612a736040830187612a37565b612a806060830186612a37565b612a8d608083018561254d565b612a9a60a0830184612476565b979650505050505050565b5f81519050612ab3816123db565b92915050565b5f805f60608486031215612ad057612acf612374565b5b5f612add86828701612aa5565b9350506020612aee86828701612aa5565b9250506040612aff86828701612aa5565b9150509250925092565b5f604082019050612b1c5f83018561254d565b612b296020830184612476565b9392505050565b612b3981612443565b8114612b43575f80fd5b50565b5f81519050612b5481612b30565b92915050565b5f60208284031215612b6f57612b6e612374565b5b5f612b7c84828501612b46565b91505092915050565b5f602082019050612b985f830184612a37565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bf86024836122d4565b9150612c0382612b9e565b604082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c866022836122d4565b9150612c9182612c2c565b604082019050919050565b5f6020820190508181035f830152612cb381612c7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d146025836122d4565b9150612d1f82612cba565b604082019050919050565b5f6020820190508181035f830152612d4181612d08565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612da26023836122d4565b9150612dad82612d48565b604082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e306029836122d4565b9150612e3b82612dd6565b604082019050919050565b5f6020820190508181035f830152612e5d81612e24565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e986019836122d4565b9150612ea382612e64565b602082019050919050565b5f6020820190508181035f830152612ec581612e8c565b9050919050565b5f612ed6826123d2565b9150612ee1836123d2565b9250828201905080821115612ef957612ef8612617565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f33601a836122d4565b9150612f3e82612eff565b602082019050919050565b5f6020820190508181035f830152612f6081612f27565b9050919050565b5f612f71826123d2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fa357612fa2612617565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612fe26017836122d4565b9150612fed82612fae565b602082019050919050565b5f6020820190508181035f83015261300f81612fd6565b9050919050565b5f613020826123d2565b915061302b836123d2565b925082820390508181111561304357613042612617565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130d581612397565b82525050565b5f6130e683836130cc565b60208301905092915050565b5f602082019050919050565b5f613108826130a3565b61311281856130ad565b935061311d836130bd565b805f5b8381101561314d57815161313488826130db565b975061313f836130f2565b925050600181019050613120565b5085935050505092915050565b5f60a08201905061316d5f830188612476565b61317a6020830187612a37565b818103604083015261318c81866130fe565b905061319b606083018561254d565b6131a86080830184612476565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131e9826123d2565b91506131f4836123d2565b925082613204576132036131b2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132696021836122d4565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132d1601b836122d4565b91506132dc8261329d565b602082019050919050565b5f6020820190508181035f8301526132fe816132c5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c304775f9627545d6e0b408253ffc8b5566579534690aa521c9d88bc03db986764736f6c63430008170033
Deployed Bytecode Sourcemap
4118:8658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6191:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7024:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5242:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6468:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7193:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6377:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6571:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3199:148;;;;;;;;;;;;;:::i;:::-;;5057:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2985:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5117:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12023:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6282:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6698:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5179:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12356:417;;;;;;;;;;;;;:::i;:::-;;4431:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11343:666;;;;;;;;;;;;;:::i;:::-;;6873:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11030:119;;;;;;;;;;;;;:::i;:::-;;10865:157;;;;;;;;;;;;;:::i;:::-;;6191:83;6228:13;6261:5;;;;;;;;;;;;;;;;;6254:12;;6191:83;:::o;7024:161::-;7099:4;7116:39;7125:12;:10;:12::i;:::-;7139:7;7148:6;7116:8;:39::i;:::-;7173:4;7166:11;;7024:161;;;;:::o;5242:51::-;;;;:::o;6468:95::-;6521:7;4864:1;4919:2;:13;;;;:::i;:::-;4907:9;:25;;;;:::i;:::-;6541:14;;6468:95;:::o;7193:313::-;7291:4;7308:36;7318:6;7326:9;7337:6;7308:9;:36::i;:::-;7355:121;7364:6;7372:12;:10;:12::i;:::-;7386:89;7424:6;7386:89;;;;;;;;;;;;;;;;;:11;:19;7398:6;7386:19;;;;;;;;;;;;;;;:33;7406:12;:10;:12::i;:::-;7386:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7355:8;:121::i;:::-;7494:4;7487:11;;7193:313;;;;;:::o;6377:83::-;6418:5;4864:1;6436:16;;6377:83;:::o;6571:119::-;6637:7;6664:9;:18;6674:7;6664:18;;;;;;;;;;;;;;;;6657:25;;6571:119;;;:::o;3199:148::-;3122:12;:10;:12::i;:::-;3112:22;;:6;;;;;;;;;;:22;;;3104:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3306:1:::1;3269:40;;3290:6;::::0;::::1;;;;;;;;3269:40;;;;;;;;;;;;3337:1;3320:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3199:148::o:0;5057:53::-;;;;:::o;2985:79::-;3023:7;3050:6;;;;;;;;;;;3043:13;;2985:79;:::o;5117:55::-;;;;:::o;12023:288::-;12100:10;;;;;;;;;;;12084:26;;:12;:10;:12::i;:::-;:26;;;:56;;;;12130:10;;;;;;;;;;;12114:26;;:12;:10;:12::i;:::-;:26;;;12084:56;12076:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;12187:12;;12176:7;:23;;:51;;;;;12214:13;;12203:7;:24;;12176:51;12168:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12266:7;12253:12;:20;;;;12296:7;12282:13;:21;;;;12023:288;:::o;6282:87::-;6321:13;6354:7;;;;;;;;;;;;;;;;;6347:14;;6282:87;:::o;6698:167::-;6776:4;6793:42;6803:12;:10;:12::i;:::-;6817:9;6828:6;6793:9;:42::i;:::-;6853:4;6846:11;;6698:167;;;;:::o;5179:56::-;;;;:::o;12356:417::-;12422:10;;;;;;;;;;;12406:26;;:12;:10;:12::i;:::-;:26;;;:56;;;;12452:10;;;;;;;;;;;12436:26;;:12;:10;:12::i;:::-;:26;;;12406:56;12398:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;12492:20;12513:24;12531:4;12513:9;:24::i;:::-;12492:45;;12564:1;12551:12;:14;12548:91;;;12579:48;12596:30;12600:12;12614:11;;12596:3;:30::i;:::-;12579:16;:48::i;:::-;12548:91;12649:18;12668:21;12649:40;;12714:1;12703:10;:12;12700:66;;;12729:25;12743:10;12729:13;:25::i;:::-;12700:66;12387:386;;12356:417::o;4431:33::-;;;;;;;;;;;;;:::o;11343:666::-;3122:12;:10;:12::i;:::-;3112:22;;:6;;;;;;;;;;:22;;;3104:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11402:11:::1;::::0;::::1;;;;;;;;11401:12;11393:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11488:42;11451:15;;:80;;;;;;;;;;;;;;;;;;11542:58;11559:4;11574:15;;;;;;;;;;;4864:1;4919:2;:13;;;;:::i;:::-;4907:9;:25;;;;:::i;:::-;11542:8;:58::i;:::-;11645:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11627:55;;;11691:4;11698:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11627:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11611:13;;:110;;;;;;;;;;;;;;;;;;11732:15;;;;;;;;;;;:31;;;11771:21;11802:4;11808:24;11826:4;11808:9;:24::i;:::-;11833:1;11835::::0;11837:7:::1;:5;:7::i;:::-;11845:15;11732:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11879:13;;;;;;;;;;;11872:29;;;11910:15;;;;;;;;;;;11928:14;11872:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11968:4;11954:11;;:18;;;;;;;;;;;;;;;;;;11997:4;11983:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11343:666::o:0;6873:143::-;6954:7;6981:11;:18;6993:5;6981:18;;;;;;;;;;;;;;;:27;7000:7;6981:27;;;;;;;;;;;;;;;;6974:34;;6873:143;;;;:::o;11030:119::-;3122:12;:10;:12::i;:::-;3112:22;;:6;;;;;;;;;;:22;;;3104:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11103:1:::1;11088:12;:16;;;;11120:21;11139:1;11120:21;;;;;;:::i;:::-;;;;;;;;11030:119::o:0;10865:157::-;3122:12;:10;:12::i;:::-;3112:22;;:6;;;;;;;;;;:22;;;3104:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4864:1:::1;4919:2;:13;;;;:::i;:::-;4907:9;:25;;;;:::i;:::-;10916:12;:22;;;;4864:1;4919:2;:13;;;;:::i;:::-;4907:9;:25;;;;:::i;:::-;10949:14;:22;;;;10987:27;4864:1;4919:2;:13;;;;:::i;:::-;4907:9;:25;;;;:::i;:::-;10987:27;;;;;;:::i;:::-;;;;;;;;10865:157::o:0;740:98::-;793:7;820:10;813:17;;740:98;:::o;7514:335::-;7624:1;7607:19;;:5;:19;;;7599:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7705:1;7686:21;;:7;:21;;;7678:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7787:6;7757:11;:18;7769:5;7757:18;;;;;;;;;;;;;;;:27;7776:7;7757:27;;;;;;;;;;;;;;;:36;;;;7825:7;7809:32;;7818:5;7809:32;;;7834:6;7809:32;;;;;;:::i;:::-;;;;;;;;7514:335;;;:::o;7857:2401::-;7961:1;7945:18;;:4;:18;;;7937:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8038:1;8024:16;;:2;:16;;;8016:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8108:1;8099:6;:10;8091:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8166:17;8208:7;:5;:7::i;:::-;8200:15;;:4;:15;;;;:32;;;;;8225:7;:5;:7::i;:::-;8219:13;;:2;:13;;;;8200:32;8196:1706;;;8265:1;8254:9;;:12;8251:139;;8298:76;8370:3;8298:67;8320:15;;8310:9;;:25;8309:55;;8350:14;;8309:55;;;8337:12;;8309:55;8298:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8286:88;;8251:139;8417:1;8407:9;;:11;8404:95;;;8450:33;8479:3;8450:24;8461:12;;8450:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8438:45;;8404:95;8527:13;;;;;;;;;;;8519:21;;:4;:21;;;:55;;;;;8558:15;;;;;;;;;;;8544:30;;:2;:30;;;;8519:55;:83;;;;;8580:18;:22;8599:2;8580:22;;;;;;;;;;;;;;;;;;;;;;;;;8578:24;8519:83;8515:420;;;8642:12;;8632:6;:22;;8624:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8737:14;;8727:6;8711:13;8721:2;8711:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8703:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8813:76;8885:3;8813:67;8835:15;;8825:9;;:25;8824:55;;8865:14;;8824:55;;;8852:12;;8824:55;8813:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8801:88;;8908:9;;:11;;;;;;;;;:::i;:::-;;;;;;8515:420;8960:13;;;;;;;;;;;8954:19;;:2;:19;;;:43;;;;;8992:4;8977:20;;:4;:20;;;;8954:43;8951:174;;;9030:79;9105:3;9030:70;9052:16;;9042:9;;:26;9041:58;;9084:15;;9041:58;;;9070:13;;9041:58;9030:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9018:91;;8951:174;9141:28;9172:24;9190:4;9172:9;:24::i;:::-;9141:55;;9216:6;;;;;;;;;;;9215:7;:30;;;;;9232:13;;;;;;;;;;;9226:19;;:2;:19;;;9215:30;:45;;;;;9249:11;;;;;;;;;;;9215:45;:89;;;;;9287:17;;9264:20;:40;9215:89;:123;;;;;9320:18;;9308:9;;:30;9215:123;9211:680;;;9378:13;;9363:12;:28;9359:90;;;9428:1;9416:9;:13;;;;9359:90;9487:1;9475:9;;:13;9467:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9535:69;9552:51;9556:6;9564:38;9568:20;9590:11;;9564:3;:38::i;:::-;9552:3;:51::i;:::-;9535:16;:69::i;:::-;9623:26;9652:21;9623:50;;9717:1;9696:18;:22;9692:107;;;9743:36;9757:21;9743:13;:36::i;:::-;9692:107;9817:9;;:11;;;;;;;;;:::i;:::-;;;;;;9863:12;9847:13;:28;;;;9340:551;9211:680;8234:1668;8196:1706;9927:1;9917:9;:11;9914:161;;;9967:39;9996:9;9967;:24;9985:4;9967:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9942:9;:24;9960:4;9942:24;;;;;;;;;;;;;;;:64;;;;10047:4;10024:39;;10033:4;10024:39;;;10053:9;10024:39;;;;;;:::i;:::-;;;;;;;;9914:161;10101:27;10121:6;10101:9;:15;10111:4;10101:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10085:9;:15;10095:4;10085:15;;;;;;;;;;;;;;;:43;;;;10153:40;10171:21;10182:9;10171:6;:10;;:21;;;;:::i;:::-;10153:9;:13;10163:2;10153:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10139:9;:13;10149:2;10139:13;;;;;;;;;;;;;;;:54;;;;10224:2;10209:41;;10218:4;10209:41;;;10228:21;10239:9;10228:6;:10;;:21;;;;:::i;:::-;10209:41;;;;;;:::i;:::-;;;;;;;;7926:2332;7857:2401;;;:::o;1877:190::-;1963:7;1996:1;1991;:6;;1999:12;1983:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2023:9;2039:1;2035;:5;;;;:::i;:::-;2023:17;;2058:1;2051:8;;;1877:190;;;;;:::o;10268:98::-;10325:7;10352:1;10350;:3;10349:9;;10357:1;10349:9;;;10355:1;10349:9;10342:16;;10268:98;;;;:::o;10374:483::-;5704:4;5695:6;;:13;;;;;;;;;;;;;;;;;;10452:21:::1;10490:1;10476:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10452:40;;10521:4;10503;10508:1;10503:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10547:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10537:4;10542:1;10537:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10580:62;10597:4;10612:15;;;;;;;;;;;10630:11;10580:8;:62::i;:::-;10653:15;;;;;;;;;;;:66;;;10734:11;10760:1;10776:4;10803;10823:15;10653:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10441:416;5740:5:::0;5731:6;;:14;;;;;;;;;;;;;;;;;;10374:483;:::o;11157:178::-;11215:12;11230:13;11241:1;11230:6;:10;;:13;;;;:::i;:::-;11215:28;;11254:10;;;;;;;;;;;:19;;:25;11274:4;11254:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11290:10;;;;;;;;;;;:19;;:37;11310:16;11321:4;11310:6;:10;;:16;;;;:::i;:::-;11290:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11204:131;11157:178;:::o;2075:246::-;2133:7;2162:1;2157;:6;2153:47;;2187:1;2180:8;;;;2153:47;2210:9;2226:1;2222;:5;;;;:::i;:::-;2210:17;;2255:1;2250;2246;:5;;;;:::i;:::-;:10;2238:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2312:1;2305:8;;;2075:246;;;;;:::o;2329:132::-;2387:7;2414:39;2418:1;2421;2414:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2407:46;;2329:132;;;;:::o;1546:179::-;1604:7;1624:9;1640:1;1636;:5;;;;:::i;:::-;1624:17;;1665:1;1660;:6;;1652:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1716:1;1709:8;;;1546:179;;;;:::o;1733:136::-;1791:7;1818:43;1822:1;1825;1818:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1811:50;;1733:136;;;;:::o;2469:189::-;2555:7;2587:1;2583;:5;2590:12;2575:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2614:9;2630:1;2626;:5;;;;:::i;:::-;2614:17;;2649:1;2642:8;;;2469: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:104::-;5920:7;5949:24;5967:5;5949:24;:::i;:::-;5938:35;;5875:104;;;:::o;5985:142::-;6088:32;6114:5;6088:32;:::i;:::-;6083:3;6076:45;5985:142;;:::o;6133:254::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:87;6377:1;6366:9;6362:17;6353:6;6293:87;:::i;:::-;6133:254;;;;:::o;6393:474::-;6461:6;6469;6518:2;6506:9;6497:7;6493:23;6489:32;6486:119;;;6524:79;;:::i;:::-;6486:119;6644:1;6669:53;6714:7;6705:6;6694:9;6690:22;6669:53;:::i;:::-;6659:63;;6615:117;6771:2;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6742:118;6393:474;;;;;:::o;6873:180::-;6921:77;6918:1;6911:88;7018:4;7015:1;7008:15;7042:4;7039:1;7032:15;7059:102;7101:8;7148:5;7145:1;7141:13;7120:34;;7059:102;;;:::o;7167:848::-;7228:5;7235:4;7259:6;7250:15;;7283:5;7274:14;;7297:712;7318:1;7308:8;7305:15;7297:712;;;7413:4;7408:3;7404:14;7398:4;7395:24;7392:50;;;7422:18;;:::i;:::-;7392:50;7472:1;7462:8;7458:16;7455:451;;;7887:4;7880:5;7876:16;7867:25;;7455:451;7937:4;7931;7927:15;7919:23;;7967:32;7990:8;7967:32;:::i;:::-;7955:44;;7297:712;;;7167:848;;;;;;;:::o;8021:1073::-;8075:5;8266:8;8256:40;;8287:1;8278:10;;8289:5;;8256:40;8315:4;8305:36;;8332:1;8323:10;;8334:5;;8305:36;8401:4;8449:1;8444:27;;;;8485:1;8480:191;;;;8394:277;;8444:27;8462:1;8453:10;;8464:5;;;8480:191;8525:3;8515:8;8512:17;8509:43;;;8532:18;;:::i;:::-;8509:43;8581:8;8578:1;8574:16;8565:25;;8616:3;8609:5;8606:14;8603:40;;;8623:18;;:::i;:::-;8603:40;8656:5;;;8394:277;;8780:2;8770:8;8767:16;8761:3;8755:4;8752:13;8748:36;8730:2;8720:8;8717:16;8712:2;8706:4;8703:12;8699:35;8683:111;8680:246;;;8836:8;8830:4;8826:19;8817:28;;8871:3;8864:5;8861:14;8858:40;;;8878:18;;:::i;:::-;8858:40;8911:5;;8680:246;8951:42;8989:3;8979:8;8973:4;8970:1;8951:42;:::i;:::-;8936:57;;;;9025:4;9020:3;9016:14;9009:5;9006:25;9003:51;;;9034:18;;:::i;:::-;9003:51;9083:4;9076:5;9072:16;9063:25;;8021:1073;;;;;;:::o;9100:281::-;9158:5;9182:23;9200:4;9182:23;:::i;:::-;9174:31;;9226:25;9242:8;9226:25;:::i;:::-;9214:37;;9270:104;9307:66;9297:8;9291:4;9270:104;:::i;:::-;9261:113;;9100:281;;;;:::o;9387:410::-;9427:7;9450:20;9468:1;9450:20;:::i;:::-;9445:25;;9484:20;9502:1;9484:20;:::i;:::-;9479:25;;9539:1;9536;9532:9;9561:30;9579:11;9561:30;:::i;:::-;9550:41;;9740:1;9731:7;9727:15;9724:1;9721:22;9701:1;9694:9;9674:83;9651:139;;9770:18;;:::i;:::-;9651:139;9435:362;9387:410;;;;:::o;9803:182::-;9943:34;9939:1;9931:6;9927:14;9920:58;9803:182;:::o;9991:366::-;10133:3;10154:67;10218:2;10213:3;10154:67;:::i;:::-;10147:74;;10230:93;10319:3;10230:93;:::i;:::-;10348:2;10343:3;10339:12;10332:19;;9991:366;;;:::o;10363:419::-;10529:4;10567:2;10556:9;10552:18;10544:26;;10616:9;10610:4;10606:20;10602:1;10591:9;10587:17;10580:47;10644:131;10770:4;10644:131;:::i;:::-;10636:139;;10363:419;;;:::o;10788:164::-;10928:16;10924:1;10916:6;10912:14;10905:40;10788:164;:::o;10958:366::-;11100:3;11121:67;11185:2;11180:3;11121:67;:::i;:::-;11114:74;;11197:93;11286:3;11197:93;:::i;:::-;11315:2;11310:3;11306:12;11299:19;;10958:366;;;:::o;11330:419::-;11496:4;11534:2;11523:9;11519:18;11511:26;;11583:9;11577:4;11573:20;11569:1;11558:9;11554:17;11547:47;11611:131;11737:4;11611:131;:::i;:::-;11603:139;;11330:419;;;:::o;11755:162::-;11895:14;11891:1;11883:6;11879:14;11872:38;11755:162;:::o;11923:366::-;12065:3;12086:67;12150:2;12145:3;12086:67;:::i;:::-;12079:74;;12162:93;12251:3;12162:93;:::i;:::-;12280:2;12275:3;12271:12;12264:19;;11923:366;;;:::o;12295:419::-;12461:4;12499:2;12488:9;12484:18;12476:26;;12548:9;12542:4;12538:20;12534:1;12523:9;12519:17;12512:47;12576:131;12702:4;12576:131;:::i;:::-;12568:139;;12295:419;;;:::o;12720:173::-;12860:25;12856:1;12848:6;12844:14;12837:49;12720:173;:::o;12899:366::-;13041:3;13062:67;13126:2;13121:3;13062:67;:::i;:::-;13055:74;;13138:93;13227:3;13138:93;:::i;:::-;13256:2;13251:3;13247:12;13240:19;;12899:366;;;:::o;13271:419::-;13437:4;13475:2;13464:9;13460:18;13452:26;;13524:9;13518:4;13514:20;13510:1;13499:9;13495:17;13488:47;13552:131;13678:4;13552:131;:::i;:::-;13544:139;;13271:419;;;:::o;13696:143::-;13753:5;13784:6;13778:13;13769:22;;13800:33;13827:5;13800:33;:::i;:::-;13696:143;;;;:::o;13845:351::-;13915:6;13964:2;13952:9;13943:7;13939:23;13935:32;13932:119;;;13970:79;;:::i;:::-;13932:119;14090:1;14115:64;14171:7;14162:6;14151:9;14147:22;14115:64;:::i;:::-;14105:74;;14061:128;13845:351;;;;:::o;14202:332::-;14323:4;14361:2;14350:9;14346:18;14338:26;;14374:71;14442:1;14431:9;14427:17;14418:6;14374:71;:::i;:::-;14455:72;14523:2;14512:9;14508:18;14499:6;14455:72;:::i;:::-;14202:332;;;;;:::o;14540:85::-;14585:7;14614:5;14603:16;;14540:85;;;:::o;14631:60::-;14659:3;14680:5;14673:12;;14631:60;;;:::o;14697:158::-;14755:9;14788:61;14806:42;14815:32;14841:5;14815:32;:::i;:::-;14806:42;:::i;:::-;14788:61;:::i;:::-;14775:74;;14697:158;;;:::o;14861:147::-;14956:45;14995:5;14956:45;:::i;:::-;14951:3;14944:58;14861:147;;:::o;15014:807::-;15263:4;15301:3;15290:9;15286:19;15278:27;;15315:71;15383:1;15372:9;15368:17;15359:6;15315:71;:::i;:::-;15396:72;15464:2;15453:9;15449:18;15440:6;15396:72;:::i;:::-;15478:80;15554:2;15543:9;15539:18;15530:6;15478:80;:::i;:::-;15568;15644:2;15633:9;15629:18;15620:6;15568:80;:::i;:::-;15658:73;15726:3;15715:9;15711:19;15702:6;15658:73;:::i;:::-;15741;15809:3;15798:9;15794:19;15785:6;15741:73;:::i;:::-;15014:807;;;;;;;;;:::o;15827:143::-;15884:5;15915:6;15909:13;15900:22;;15931:33;15958:5;15931:33;:::i;:::-;15827:143;;;;:::o;15976:663::-;16064:6;16072;16080;16129:2;16117:9;16108:7;16104:23;16100:32;16097:119;;;16135:79;;:::i;:::-;16097:119;16255:1;16280:64;16336:7;16327:6;16316:9;16312:22;16280:64;:::i;:::-;16270:74;;16226:128;16393:2;16419:64;16475:7;16466:6;16455:9;16451:22;16419:64;:::i;:::-;16409:74;;16364:129;16532:2;16558:64;16614:7;16605:6;16594:9;16590:22;16558:64;:::i;:::-;16548:74;;16503:129;15976:663;;;;;:::o;16645:332::-;16766:4;16804:2;16793:9;16789:18;16781:26;;16817:71;16885:1;16874:9;16870:17;16861:6;16817:71;:::i;:::-;16898:72;16966:2;16955:9;16951:18;16942:6;16898:72;:::i;:::-;16645:332;;;;;:::o;16983:116::-;17053:21;17068:5;17053:21;:::i;:::-;17046:5;17043:32;17033:60;;17089:1;17086;17079:12;17033:60;16983:116;:::o;17105:137::-;17159:5;17190:6;17184:13;17175:22;;17206:30;17230:5;17206:30;:::i;:::-;17105:137;;;;:::o;17248:345::-;17315:6;17364:2;17352:9;17343:7;17339:23;17335:32;17332:119;;;17370:79;;:::i;:::-;17332:119;17490:1;17515:61;17568:7;17559:6;17548:9;17544:22;17515:61;:::i;:::-;17505:71;;17461:125;17248:345;;;;:::o;17599:238::-;17700:4;17738:2;17727:9;17723:18;17715:26;;17751:79;17827:1;17816:9;17812:17;17803:6;17751:79;:::i;:::-;17599:238;;;;:::o;17843:223::-;17983:34;17979:1;17971:6;17967:14;17960:58;18052:6;18047:2;18039:6;18035:15;18028:31;17843:223;:::o;18072:366::-;18214:3;18235:67;18299:2;18294:3;18235:67;:::i;:::-;18228:74;;18311:93;18400:3;18311:93;:::i;:::-;18429:2;18424:3;18420:12;18413:19;;18072:366;;;:::o;18444:419::-;18610:4;18648:2;18637:9;18633:18;18625:26;;18697:9;18691:4;18687:20;18683:1;18672:9;18668:17;18661:47;18725:131;18851:4;18725:131;:::i;:::-;18717:139;;18444:419;;;:::o;18869:221::-;19009:34;19005:1;18997:6;18993:14;18986:58;19078:4;19073:2;19065:6;19061:15;19054:29;18869:221;:::o;19096:366::-;19238:3;19259:67;19323:2;19318:3;19259:67;:::i;:::-;19252:74;;19335:93;19424:3;19335:93;:::i;:::-;19453:2;19448:3;19444:12;19437:19;;19096:366;;;:::o;19468:419::-;19634:4;19672:2;19661:9;19657:18;19649:26;;19721:9;19715:4;19711:20;19707:1;19696:9;19692:17;19685:47;19749:131;19875:4;19749:131;:::i;:::-;19741:139;;19468:419;;;:::o;19893:224::-;20033:34;20029:1;20021:6;20017:14;20010:58;20102:7;20097:2;20089:6;20085:15;20078:32;19893:224;:::o;20123:366::-;20265:3;20286:67;20350:2;20345:3;20286:67;:::i;:::-;20279:74;;20362:93;20451:3;20362:93;:::i;:::-;20480:2;20475:3;20471:12;20464:19;;20123:366;;;:::o;20495:419::-;20661:4;20699:2;20688:9;20684:18;20676:26;;20748:9;20742:4;20738:20;20734:1;20723:9;20719:17;20712:47;20776:131;20902:4;20776:131;:::i;:::-;20768:139;;20495:419;;;:::o;20920:222::-;21060:34;21056:1;21048:6;21044:14;21037:58;21129:5;21124:2;21116:6;21112:15;21105:30;20920:222;:::o;21148:366::-;21290:3;21311:67;21375:2;21370:3;21311:67;:::i;:::-;21304:74;;21387:93;21476:3;21387:93;:::i;:::-;21505:2;21500:3;21496:12;21489:19;;21148:366;;;:::o;21520:419::-;21686:4;21724:2;21713:9;21709:18;21701:26;;21773:9;21767:4;21763:20;21759:1;21748:9;21744:17;21737:47;21801:131;21927:4;21801:131;:::i;:::-;21793:139;;21520:419;;;:::o;21945:228::-;22085:34;22081:1;22073:6;22069:14;22062:58;22154:11;22149:2;22141:6;22137:15;22130:36;21945:228;:::o;22179:366::-;22321:3;22342:67;22406:2;22401:3;22342:67;:::i;:::-;22335:74;;22418:93;22507:3;22418:93;:::i;:::-;22536:2;22531:3;22527:12;22520:19;;22179:366;;;:::o;22551:419::-;22717:4;22755:2;22744:9;22740:18;22732:26;;22804:9;22798:4;22794:20;22790:1;22779:9;22775:17;22768:47;22832:131;22958:4;22832:131;:::i;:::-;22824:139;;22551:419;;;:::o;22976:175::-;23116:27;23112:1;23104:6;23100:14;23093:51;22976:175;:::o;23157:366::-;23299:3;23320:67;23384:2;23379:3;23320:67;:::i;:::-;23313:74;;23396:93;23485:3;23396:93;:::i;:::-;23514:2;23509:3;23505:12;23498:19;;23157:366;;;:::o;23529:419::-;23695:4;23733:2;23722:9;23718:18;23710:26;;23782:9;23776:4;23772:20;23768:1;23757:9;23753:17;23746:47;23810:131;23936:4;23810:131;:::i;:::-;23802:139;;23529:419;;;:::o;23954:191::-;23994:3;24013:20;24031:1;24013:20;:::i;:::-;24008:25;;24047:20;24065:1;24047:20;:::i;:::-;24042:25;;24090:1;24087;24083:9;24076:16;;24111:3;24108:1;24105:10;24102:36;;;24118:18;;:::i;:::-;24102:36;23954:191;;;;:::o;24151:176::-;24291:28;24287:1;24279:6;24275:14;24268:52;24151:176;:::o;24333:366::-;24475:3;24496:67;24560:2;24555:3;24496:67;:::i;:::-;24489:74;;24572:93;24661:3;24572:93;:::i;:::-;24690:2;24685:3;24681:12;24674:19;;24333:366;;;:::o;24705:419::-;24871:4;24909:2;24898:9;24894:18;24886:26;;24958:9;24952:4;24948:20;24944:1;24933:9;24929:17;24922:47;24986:131;25112:4;24986:131;:::i;:::-;24978:139;;24705:419;;;:::o;25130:233::-;25169:3;25192:24;25210:5;25192:24;:::i;:::-;25183:33;;25238:66;25231:5;25228:77;25225:103;;25308:18;;:::i;:::-;25225:103;25355:1;25348:5;25344:13;25337:20;;25130:233;;;:::o;25369:173::-;25509:25;25505:1;25497:6;25493:14;25486:49;25369:173;:::o;25548:366::-;25690:3;25711:67;25775:2;25770:3;25711:67;:::i;:::-;25704:74;;25787:93;25876:3;25787:93;:::i;:::-;25905:2;25900:3;25896:12;25889:19;;25548:366;;;:::o;25920:419::-;26086:4;26124:2;26113:9;26109:18;26101:26;;26173:9;26167:4;26163:20;26159:1;26148:9;26144:17;26137:47;26201:131;26327:4;26201:131;:::i;:::-;26193:139;;25920:419;;;:::o;26345:194::-;26385:4;26405:20;26423:1;26405:20;:::i;:::-;26400:25;;26439:20;26457:1;26439:20;:::i;:::-;26434:25;;26483:1;26480;26476:9;26468:17;;26507:1;26501:4;26498:11;26495:37;;;26512:18;;:::i;:::-;26495:37;26345:194;;;;:::o;26545:180::-;26593:77;26590:1;26583:88;26690:4;26687:1;26680:15;26714:4;26711:1;26704:15;26731:180;26779:77;26776:1;26769:88;26876:4;26873:1;26866:15;26900:4;26897:1;26890:15;26917:114;26984:6;27018:5;27012:12;27002:22;;26917:114;;;:::o;27037:184::-;27136:11;27170:6;27165:3;27158:19;27210:4;27205:3;27201:14;27186:29;;27037:184;;;;:::o;27227:132::-;27294:4;27317:3;27309:11;;27347:4;27342:3;27338:14;27330:22;;27227:132;;;:::o;27365:108::-;27442:24;27460:5;27442:24;:::i;:::-;27437:3;27430:37;27365:108;;:::o;27479:179::-;27548:10;27569:46;27611:3;27603:6;27569:46;:::i;:::-;27647:4;27642:3;27638:14;27624:28;;27479:179;;;;:::o;27664:113::-;27734:4;27766;27761:3;27757:14;27749:22;;27664:113;;;:::o;27813:732::-;27932:3;27961:54;28009:5;27961:54;:::i;:::-;28031:86;28110:6;28105:3;28031:86;:::i;:::-;28024:93;;28141:56;28191:5;28141:56;:::i;:::-;28220:7;28251:1;28236:284;28261:6;28258:1;28255:13;28236:284;;;28337:6;28331:13;28364:63;28423:3;28408:13;28364:63;:::i;:::-;28357:70;;28450:60;28503:6;28450:60;:::i;:::-;28440:70;;28296:224;28283:1;28280;28276:9;28271:14;;28236:284;;;28240:14;28536:3;28529:10;;27937:608;;;27813:732;;;;:::o;28551:831::-;28814:4;28852:3;28841:9;28837:19;28829:27;;28866:71;28934:1;28923:9;28919:17;28910:6;28866:71;:::i;:::-;28947:80;29023:2;29012:9;29008:18;28999:6;28947:80;:::i;:::-;29074:9;29068:4;29064:20;29059:2;29048:9;29044:18;29037:48;29102:108;29205:4;29196:6;29102:108;:::i;:::-;29094:116;;29220:72;29288:2;29277:9;29273:18;29264:6;29220:72;:::i;:::-;29302:73;29370:3;29359:9;29355:19;29346:6;29302:73;:::i;:::-;28551:831;;;;;;;;:::o;29388:180::-;29436:77;29433:1;29426:88;29533:4;29530:1;29523:15;29557:4;29554:1;29547:15;29574:185;29614:1;29631:20;29649:1;29631:20;:::i;:::-;29626:25;;29665:20;29683:1;29665:20;:::i;:::-;29660:25;;29704:1;29694:35;;29709:18;;:::i;:::-;29694:35;29751:1;29748;29744:9;29739:14;;29574:185;;;;:::o;29765:220::-;29905:34;29901:1;29893:6;29889:14;29882:58;29974:3;29969:2;29961:6;29957:15;29950:28;29765:220;:::o;29991:366::-;30133:3;30154:67;30218:2;30213:3;30154:67;:::i;:::-;30147:74;;30230:93;30319:3;30230:93;:::i;:::-;30348:2;30343:3;30339:12;30332:19;;29991:366;;;:::o;30363:419::-;30529:4;30567:2;30556:9;30552:18;30544:26;;30616:9;30610:4;30606:20;30602:1;30591:9;30587:17;30580:47;30644:131;30770:4;30644:131;:::i;:::-;30636:139;;30363:419;;;:::o;30788:177::-;30928:29;30924:1;30916:6;30912:14;30905:53;30788:177;:::o;30971:366::-;31113:3;31134:67;31198:2;31193:3;31134:67;:::i;:::-;31127:74;;31210:93;31299:3;31210:93;:::i;:::-;31328:2;31323:3;31319:12;31312:19;;30971:366;;;:::o;31343:419::-;31509:4;31547:2;31536:9;31532:18;31524:26;;31596:9;31590:4;31586:20;31582:1;31571:9;31567:17;31560:47;31624:131;31750:4;31624:131;:::i;:::-;31616:139;;31343:419;;;:::o
Swarm Source
ipfs://c304775f9627545d6e0b408253ffc8b5566579534690aa521c9d88bc03db9867
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.