ERC-20
Overview
Max Total Supply
1,000,000,000,000 TOYINU
Holders
22
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,030,960,370.030171244 TOYINUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TOYAMA
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-15 */ // https://t.me/TOYAMAINU // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; 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; address private _previousOwner; 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( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract TOYAMA is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = " TOYAMA INU"; string private constant _symbol = " TOYINU "; uint8 private constant _decimals = 9; // RFI mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 3; uint256 private _teamFee = 3; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1) { _teamAddress = addr1; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = 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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = 3; _teamFee = 3; } 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"); if (from != owner() && to != owner()) { if (cooldownEnabled) { if ( from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router) ) { require( _msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair, "ERR: Uniswap only" ); } } require(amount <= _maxTxAmount); require(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (60 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _teamAddress.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _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 ); swapEnabled = true; cooldownEnabled = false; _maxTxAmount = 1000000000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function manualswap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, 6); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 TeamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d91906200043a565b6000196200002c9190620004a1565b600655600360085560036009556000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f55348015620000a457600080fd5b5060405162003d3938038062003d398339818101604052810190620000ca919062000546565b6000620000dc620003d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620001d2620003d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000226620003d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000359620003d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620003c1919062000589565b60405180910390a350620005a6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004478262000401565b9150620004548362000401565b9250826200046757620004666200040b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004ae8262000401565b9150620004bb8362000401565b925082821015620004d157620004d062000472565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200050e82620004e1565b9050919050565b620005208162000501565b81146200052c57600080fd5b50565b600081519050620005408162000515565b92915050565b6000602082840312156200055f576200055e620004dc565b5b60006200056f848285016200052f565b91505092915050565b620005838162000401565b82525050565b6000602082019050620005a0600083018462000578565b92915050565b61378380620005b66000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063b515566a11610064578063b515566a14610364578063c3c8cd801461038d578063c9567bf9146103a4578063d543dbeb146103bb578063dd62ed3e146103e457610114565b8063715018a6146102ba5780638da5cb5b146102d157806395d89b41146102fc578063a9059cbb1461032757610114565b8063273123b7116100dc578063273123b7146101e9578063313ce567146102125780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612782565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061284c565b61045e565b60405161017891906128a7565b60405180910390f35b34801561018d57600080fd5b5061019661047c565b6040516101a391906128d1565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906128ec565b61048d565b6040516101e091906128a7565b60405180910390f35b3480156101f557600080fd5b50610210600480360381019061020b919061293f565b610566565b005b34801561021e57600080fd5b50610227610656565b6040516102349190612988565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906129cf565b61065f565b005b34801561027257600080fd5b5061027b610711565b005b34801561028957600080fd5b506102a4600480360381019061029f919061293f565b610783565b6040516102b191906128d1565b60405180910390f35b3480156102c657600080fd5b506102cf6107d4565b005b3480156102dd57600080fd5b506102e6610927565b6040516102f39190612a0b565b60405180910390f35b34801561030857600080fd5b50610311610950565b60405161031e9190612782565b60405180910390f35b34801561033357600080fd5b5061034e6004803603810190610349919061284c565b61098d565b60405161035b91906128a7565b60405180910390f35b34801561037057600080fd5b5061038b60048036038101906103869190612b6e565b6109ab565b005b34801561039957600080fd5b506103a2610ad5565b005b3480156103b057600080fd5b506103b9610b4f565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190612bb7565b6110ac565b005b3480156103f057600080fd5b5061040b60048036038101906104069190612be4565b6111f5565b60405161041891906128d1565b60405180910390f35b60606040518060400160405280600b81526020017f20544f59414d4120494e55000000000000000000000000000000000000000000815250905090565b600061047261046b61127c565b8484611284565b6001905092915050565b6000683635c9adc5dea00000905090565b600061049a84848461144f565b61055b846104a661127c565b6105568560405180606001604052806028815260200161372660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050c61127c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0e9092919063ffffffff16565b611284565b600190509392505050565b61056e61127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f290612c70565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61066761127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90612c70565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075261127c565b73ffffffffffffffffffffffffffffffffffffffff161461077257600080fd5b600047905061078081611c72565b50565b60006107cd600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cde565b9050919050565b6107dc61127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612c70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f20544f59494e5520000000000000000000000000000000000000000000000000815250905090565b60006109a161099a61127c565b848461144f565b6001905092915050565b6109b361127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3790612c70565b60405180910390fd5b60005b8151811015610ad1576001600a6000848481518110610a6557610a64612c90565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ac990612cee565b915050610a43565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b1661127c565b73ffffffffffffffffffffffffffffffffffffffff1614610b3657600080fd5b6000610b4130610783565b9050610b4c81611d4c565b50565b610b5761127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90612c70565b60405180910390fd5b600e60149054906101000a900460ff1615610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90612d83565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc430600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611284565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d429190612db8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190612db8565b6040518363ffffffff1660e01b8152600401610df9929190612de5565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612db8565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ed430610783565b600080610edf610927565b426040518863ffffffff1660e01b8152600401610f0196959493929190612e53565b6060604051808303818588803b158015610f1a57600080fd5b505af1158015610f2e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f539190612ec9565b5050506001600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611056929190612f1c565b602060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a89190612f5a565b5050565b6110b461127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890612c70565b60405180910390fd5b60008111611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612fd3565b60405180910390fd5b6111b360646111a583683635c9adc5dea00000611fd490919063ffffffff16565b61204f90919063ffffffff16565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600f546040516111ea91906128d1565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb90613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b906130f7565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161144291906128d1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b690613189565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115269061321b565b60405180910390fd5b60008111611572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611569906132ad565b60405180910390fd5b61157a610927565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115e857506115b8610927565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b4b57600e60179054906101000a900460ff161561181b573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561166a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116c45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171e5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561181a57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661176461127c565b73ffffffffffffffffffffffffffffffffffffffff1614806117da5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117c261127c565b73ffffffffffffffffffffffffffffffffffffffff16145b611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613319565b60405180910390fd5b5b5b600f5481111561182a57600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118ce5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118d757600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119825750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119d85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119f05750600e60179054906101000a900460ff165b15611a915742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4057600080fd5b603c42611a4d9190613339565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611a9c30610783565b9050600e60159054906101000a900460ff16158015611b095750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b215750600e60169054906101000a900460ff165b15611b4957611b2f81611d4c565b60004790506000811115611b4757611b4647611c72565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bf25750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611bfc57600090505b611c0884848484612099565b50505050565b6000838311158290611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d9190612782565b60405180910390fd5b5060008385611c65919061338f565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cda573d6000803e3d6000fd5b5050565b6000600654821115611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c90613435565b60405180910390fd5b6000611d2f6120c6565b9050611d44818461204f90919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611d8457611d83612a2b565b5b604051908082528060200260200182016040528015611db25781602001602082028036833780820191505090505b5090503081600081518110611dca57611dc9612c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6c57600080fd5b505afa158015611e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea49190612db8565b81600181518110611eb857611eb7612c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f1f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611284565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f83959493929190613513565b600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b600080831415611fe75760009050612049565b60008284611ff5919061356d565b905082848261200491906135f6565b14612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b90613699565b60405180910390fd5b809150505b92915050565b600061209183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120f1565b905092915050565b806120a7576120a6612154565b5b6120b2848484612185565b806120c0576120bf612350565b5b50505050565b60008060006120d3612362565b915091506120ea818361204f90919063ffffffff16565b9250505090565b60008083118290612138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212f9190612782565b60405180910390fd5b506000838561214791906135f6565b9050809150509392505050565b600060085414801561216857506000600954145b1561217257612183565b600060088190555060006009819055505b565b600080600080600080612197876123c4565b9550955095509550955095506121f586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122d6816124d3565b6122e08483612590565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161233d91906128d1565b60405180910390a3505050505050505050565b60036008819055506003600981905550565b600080600060065490506000683635c9adc5dea000009050612398683635c9adc5dea0000060065461204f90919063ffffffff16565b8210156123b757600654683635c9adc5dea000009350935050506123c0565b81819350935050505b9091565b60008060008060008060008060006123e08a60085460066125ca565b92509250925060006123f06120c6565b905060008060006124038e878787612660565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061246d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c0e565b905092915050565b60008082846124849190613339565b9050838110156124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c090613705565b60405180910390fd5b8091505092915050565b60006124dd6120c6565b905060006124f48284611fd490919063ffffffff16565b905061254881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6125a58260065461242b90919063ffffffff16565b6006819055506125c08160075461247590919063ffffffff16565b6007819055505050565b6000806000806125f660646125e8888a611fd490919063ffffffff16565b61204f90919063ffffffff16565b905060006126206064612612888b611fd490919063ffffffff16565b61204f90919063ffffffff16565b905060006126498261263b858c61242b90919063ffffffff16565b61242b90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806126798589611fd490919063ffffffff16565b905060006126908689611fd490919063ffffffff16565b905060006126a78789611fd490919063ffffffff16565b905060006126d0826126c2858761242b90919063ffffffff16565b61242b90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612723578082015181840152602081019050612708565b83811115612732576000848401525b50505050565b6000601f19601f8301169050919050565b6000612754826126e9565b61275e81856126f4565b935061276e818560208601612705565b61277781612738565b840191505092915050565b6000602082019050818103600083015261279c8184612749565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127e3826127b8565b9050919050565b6127f3816127d8565b81146127fe57600080fd5b50565b600081359050612810816127ea565b92915050565b6000819050919050565b61282981612816565b811461283457600080fd5b50565b60008135905061284681612820565b92915050565b60008060408385031215612863576128626127ae565b5b600061287185828601612801565b925050602061288285828601612837565b9150509250929050565b60008115159050919050565b6128a18161288c565b82525050565b60006020820190506128bc6000830184612898565b92915050565b6128cb81612816565b82525050565b60006020820190506128e660008301846128c2565b92915050565b600080600060608486031215612905576129046127ae565b5b600061291386828701612801565b935050602061292486828701612801565b925050604061293586828701612837565b9150509250925092565b600060208284031215612955576129546127ae565b5b600061296384828501612801565b91505092915050565b600060ff82169050919050565b6129828161296c565b82525050565b600060208201905061299d6000830184612979565b92915050565b6129ac8161288c565b81146129b757600080fd5b50565b6000813590506129c9816129a3565b92915050565b6000602082840312156129e5576129e46127ae565b5b60006129f3848285016129ba565b91505092915050565b612a05816127d8565b82525050565b6000602082019050612a2060008301846129fc565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a6382612738565b810181811067ffffffffffffffff82111715612a8257612a81612a2b565b5b80604052505050565b6000612a956127a4565b9050612aa18282612a5a565b919050565b600067ffffffffffffffff821115612ac157612ac0612a2b565b5b602082029050602081019050919050565b600080fd5b6000612aea612ae584612aa6565b612a8b565b90508083825260208201905060208402830185811115612b0d57612b0c612ad2565b5b835b81811015612b365780612b228882612801565b845260208401935050602081019050612b0f565b5050509392505050565b600082601f830112612b5557612b54612a26565b5b8135612b65848260208601612ad7565b91505092915050565b600060208284031215612b8457612b836127ae565b5b600082013567ffffffffffffffff811115612ba257612ba16127b3565b5b612bae84828501612b40565b91505092915050565b600060208284031215612bcd57612bcc6127ae565b5b6000612bdb84828501612837565b91505092915050565b60008060408385031215612bfb57612bfa6127ae565b5b6000612c0985828601612801565b9250506020612c1a85828601612801565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c5a6020836126f4565b9150612c6582612c24565b602082019050919050565b60006020820190508181036000830152612c8981612c4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612cf982612816565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d2c57612d2b612cbf565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612d6d6017836126f4565b9150612d7882612d37565b602082019050919050565b60006020820190508181036000830152612d9c81612d60565b9050919050565b600081519050612db2816127ea565b92915050565b600060208284031215612dce57612dcd6127ae565b5b6000612ddc84828501612da3565b91505092915050565b6000604082019050612dfa60008301856129fc565b612e0760208301846129fc565b9392505050565b6000819050919050565b6000819050919050565b6000612e3d612e38612e3384612e0e565b612e18565b612816565b9050919050565b612e4d81612e22565b82525050565b600060c082019050612e6860008301896129fc565b612e7560208301886128c2565b612e826040830187612e44565b612e8f6060830186612e44565b612e9c60808301856129fc565b612ea960a08301846128c2565b979650505050505050565b600081519050612ec381612820565b92915050565b600080600060608486031215612ee257612ee16127ae565b5b6000612ef086828701612eb4565b9350506020612f0186828701612eb4565b9250506040612f1286828701612eb4565b9150509250925092565b6000604082019050612f3160008301856129fc565b612f3e60208301846128c2565b9392505050565b600081519050612f54816129a3565b92915050565b600060208284031215612f7057612f6f6127ae565b5b6000612f7e84828501612f45565b91505092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000612fbd601d836126f4565b9150612fc882612f87565b602082019050919050565b60006020820190508181036000830152612fec81612fb0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061304f6024836126f4565b915061305a82612ff3565b604082019050919050565b6000602082019050818103600083015261307e81613042565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130e16022836126f4565b91506130ec82613085565b604082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131736025836126f4565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132056023836126f4565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132976029836126f4565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b60006133036011836126f4565b915061330e826132cd565b602082019050919050565b60006020820190508181036000830152613332816132f6565b9050919050565b600061334482612816565b915061334f83612816565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561338457613383612cbf565b5b828201905092915050565b600061339a82612816565b91506133a583612816565b9250828210156133b8576133b7612cbf565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061341f602a836126f4565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61348a816127d8565b82525050565b600061349c8383613481565b60208301905092915050565b6000602082019050919050565b60006134c082613455565b6134ca8185613460565b93506134d583613471565b8060005b838110156135065781516134ed8882613490565b97506134f8836134a8565b9250506001810190506134d9565b5085935050505092915050565b600060a08201905061352860008301886128c2565b6135356020830187612e44565b818103604083015261354781866134b5565b905061355660608301856129fc565b61356360808301846128c2565b9695505050505050565b600061357882612816565b915061358383612816565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135bc576135bb612cbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061360182612816565b915061360c83612816565b92508261361c5761361b6135c7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006136836021836126f4565b915061368e82613627565b604082019050919050565b600060208201905081810360008301526136b281613676565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136ef601b836126f4565b91506136fa826136b9565b602082019050919050565b6000602082019050818103600083015261371e816136e2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014d898ef5e8e3730346d4d5c057f181e1c02c94c1c6e3df04e51b55a4cb777ea64736f6c634300080900330000000000000000000000000a361506fa062b00b9020139e7bf6bdff377bf6a
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a611610095578063b515566a11610064578063b515566a14610364578063c3c8cd801461038d578063c9567bf9146103a4578063d543dbeb146103bb578063dd62ed3e146103e457610114565b8063715018a6146102ba5780638da5cb5b146102d157806395d89b41146102fc578063a9059cbb1461032757610114565b8063273123b7116100dc578063273123b7146101e9578063313ce567146102125780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612782565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061284c565b61045e565b60405161017891906128a7565b60405180910390f35b34801561018d57600080fd5b5061019661047c565b6040516101a391906128d1565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906128ec565b61048d565b6040516101e091906128a7565b60405180910390f35b3480156101f557600080fd5b50610210600480360381019061020b919061293f565b610566565b005b34801561021e57600080fd5b50610227610656565b6040516102349190612988565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906129cf565b61065f565b005b34801561027257600080fd5b5061027b610711565b005b34801561028957600080fd5b506102a4600480360381019061029f919061293f565b610783565b6040516102b191906128d1565b60405180910390f35b3480156102c657600080fd5b506102cf6107d4565b005b3480156102dd57600080fd5b506102e6610927565b6040516102f39190612a0b565b60405180910390f35b34801561030857600080fd5b50610311610950565b60405161031e9190612782565b60405180910390f35b34801561033357600080fd5b5061034e6004803603810190610349919061284c565b61098d565b60405161035b91906128a7565b60405180910390f35b34801561037057600080fd5b5061038b60048036038101906103869190612b6e565b6109ab565b005b34801561039957600080fd5b506103a2610ad5565b005b3480156103b057600080fd5b506103b9610b4f565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190612bb7565b6110ac565b005b3480156103f057600080fd5b5061040b60048036038101906104069190612be4565b6111f5565b60405161041891906128d1565b60405180910390f35b60606040518060400160405280600b81526020017f20544f59414d4120494e55000000000000000000000000000000000000000000815250905090565b600061047261046b61127c565b8484611284565b6001905092915050565b6000683635c9adc5dea00000905090565b600061049a84848461144f565b61055b846104a661127c565b6105568560405180606001604052806028815260200161372660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050c61127c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0e9092919063ffffffff16565b611284565b600190509392505050565b61056e61127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f290612c70565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61066761127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90612c70565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075261127c565b73ffffffffffffffffffffffffffffffffffffffff161461077257600080fd5b600047905061078081611c72565b50565b60006107cd600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cde565b9050919050565b6107dc61127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612c70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f20544f59494e5520000000000000000000000000000000000000000000000000815250905090565b60006109a161099a61127c565b848461144f565b6001905092915050565b6109b361127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3790612c70565b60405180910390fd5b60005b8151811015610ad1576001600a6000848481518110610a6557610a64612c90565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ac990612cee565b915050610a43565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b1661127c565b73ffffffffffffffffffffffffffffffffffffffff1614610b3657600080fd5b6000610b4130610783565b9050610b4c81611d4c565b50565b610b5761127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90612c70565b60405180910390fd5b600e60149054906101000a900460ff1615610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90612d83565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc430600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611284565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d429190612db8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190612db8565b6040518363ffffffff1660e01b8152600401610df9929190612de5565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612db8565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ed430610783565b600080610edf610927565b426040518863ffffffff1660e01b8152600401610f0196959493929190612e53565b6060604051808303818588803b158015610f1a57600080fd5b505af1158015610f2e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f539190612ec9565b5050506001600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611056929190612f1c565b602060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a89190612f5a565b5050565b6110b461127c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890612c70565b60405180910390fd5b60008111611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612fd3565b60405180910390fd5b6111b360646111a583683635c9adc5dea00000611fd490919063ffffffff16565b61204f90919063ffffffff16565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600f546040516111ea91906128d1565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb90613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b906130f7565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161144291906128d1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b690613189565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115269061321b565b60405180910390fd5b60008111611572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611569906132ad565b60405180910390fd5b61157a610927565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115e857506115b8610927565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b4b57600e60179054906101000a900460ff161561181b573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561166a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116c45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171e5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561181a57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661176461127c565b73ffffffffffffffffffffffffffffffffffffffff1614806117da5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117c261127c565b73ffffffffffffffffffffffffffffffffffffffff16145b611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613319565b60405180910390fd5b5b5b600f5481111561182a57600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118ce5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118d757600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119825750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119d85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119f05750600e60179054906101000a900460ff165b15611a915742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4057600080fd5b603c42611a4d9190613339565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611a9c30610783565b9050600e60159054906101000a900460ff16158015611b095750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b215750600e60169054906101000a900460ff165b15611b4957611b2f81611d4c565b60004790506000811115611b4757611b4647611c72565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bf25750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611bfc57600090505b611c0884848484612099565b50505050565b6000838311158290611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d9190612782565b60405180910390fd5b5060008385611c65919061338f565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cda573d6000803e3d6000fd5b5050565b6000600654821115611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c90613435565b60405180910390fd5b6000611d2f6120c6565b9050611d44818461204f90919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611d8457611d83612a2b565b5b604051908082528060200260200182016040528015611db25781602001602082028036833780820191505090505b5090503081600081518110611dca57611dc9612c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6c57600080fd5b505afa158015611e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea49190612db8565b81600181518110611eb857611eb7612c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f1f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611284565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f83959493929190613513565b600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b600080831415611fe75760009050612049565b60008284611ff5919061356d565b905082848261200491906135f6565b14612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b90613699565b60405180910390fd5b809150505b92915050565b600061209183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120f1565b905092915050565b806120a7576120a6612154565b5b6120b2848484612185565b806120c0576120bf612350565b5b50505050565b60008060006120d3612362565b915091506120ea818361204f90919063ffffffff16565b9250505090565b60008083118290612138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212f9190612782565b60405180910390fd5b506000838561214791906135f6565b9050809150509392505050565b600060085414801561216857506000600954145b1561217257612183565b600060088190555060006009819055505b565b600080600080600080612197876123c4565b9550955095509550955095506121f586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122d6816124d3565b6122e08483612590565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161233d91906128d1565b60405180910390a3505050505050505050565b60036008819055506003600981905550565b600080600060065490506000683635c9adc5dea000009050612398683635c9adc5dea0000060065461204f90919063ffffffff16565b8210156123b757600654683635c9adc5dea000009350935050506123c0565b81819350935050505b9091565b60008060008060008060008060006123e08a60085460066125ca565b92509250925060006123f06120c6565b905060008060006124038e878787612660565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061246d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c0e565b905092915050565b60008082846124849190613339565b9050838110156124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c090613705565b60405180910390fd5b8091505092915050565b60006124dd6120c6565b905060006124f48284611fd490919063ffffffff16565b905061254881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6125a58260065461242b90919063ffffffff16565b6006819055506125c08160075461247590919063ffffffff16565b6007819055505050565b6000806000806125f660646125e8888a611fd490919063ffffffff16565b61204f90919063ffffffff16565b905060006126206064612612888b611fd490919063ffffffff16565b61204f90919063ffffffff16565b905060006126498261263b858c61242b90919063ffffffff16565b61242b90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806126798589611fd490919063ffffffff16565b905060006126908689611fd490919063ffffffff16565b905060006126a78789611fd490919063ffffffff16565b905060006126d0826126c2858761242b90919063ffffffff16565b61242b90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612723578082015181840152602081019050612708565b83811115612732576000848401525b50505050565b6000601f19601f8301169050919050565b6000612754826126e9565b61275e81856126f4565b935061276e818560208601612705565b61277781612738565b840191505092915050565b6000602082019050818103600083015261279c8184612749565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127e3826127b8565b9050919050565b6127f3816127d8565b81146127fe57600080fd5b50565b600081359050612810816127ea565b92915050565b6000819050919050565b61282981612816565b811461283457600080fd5b50565b60008135905061284681612820565b92915050565b60008060408385031215612863576128626127ae565b5b600061287185828601612801565b925050602061288285828601612837565b9150509250929050565b60008115159050919050565b6128a18161288c565b82525050565b60006020820190506128bc6000830184612898565b92915050565b6128cb81612816565b82525050565b60006020820190506128e660008301846128c2565b92915050565b600080600060608486031215612905576129046127ae565b5b600061291386828701612801565b935050602061292486828701612801565b925050604061293586828701612837565b9150509250925092565b600060208284031215612955576129546127ae565b5b600061296384828501612801565b91505092915050565b600060ff82169050919050565b6129828161296c565b82525050565b600060208201905061299d6000830184612979565b92915050565b6129ac8161288c565b81146129b757600080fd5b50565b6000813590506129c9816129a3565b92915050565b6000602082840312156129e5576129e46127ae565b5b60006129f3848285016129ba565b91505092915050565b612a05816127d8565b82525050565b6000602082019050612a2060008301846129fc565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a6382612738565b810181811067ffffffffffffffff82111715612a8257612a81612a2b565b5b80604052505050565b6000612a956127a4565b9050612aa18282612a5a565b919050565b600067ffffffffffffffff821115612ac157612ac0612a2b565b5b602082029050602081019050919050565b600080fd5b6000612aea612ae584612aa6565b612a8b565b90508083825260208201905060208402830185811115612b0d57612b0c612ad2565b5b835b81811015612b365780612b228882612801565b845260208401935050602081019050612b0f565b5050509392505050565b600082601f830112612b5557612b54612a26565b5b8135612b65848260208601612ad7565b91505092915050565b600060208284031215612b8457612b836127ae565b5b600082013567ffffffffffffffff811115612ba257612ba16127b3565b5b612bae84828501612b40565b91505092915050565b600060208284031215612bcd57612bcc6127ae565b5b6000612bdb84828501612837565b91505092915050565b60008060408385031215612bfb57612bfa6127ae565b5b6000612c0985828601612801565b9250506020612c1a85828601612801565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c5a6020836126f4565b9150612c6582612c24565b602082019050919050565b60006020820190508181036000830152612c8981612c4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612cf982612816565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d2c57612d2b612cbf565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612d6d6017836126f4565b9150612d7882612d37565b602082019050919050565b60006020820190508181036000830152612d9c81612d60565b9050919050565b600081519050612db2816127ea565b92915050565b600060208284031215612dce57612dcd6127ae565b5b6000612ddc84828501612da3565b91505092915050565b6000604082019050612dfa60008301856129fc565b612e0760208301846129fc565b9392505050565b6000819050919050565b6000819050919050565b6000612e3d612e38612e3384612e0e565b612e18565b612816565b9050919050565b612e4d81612e22565b82525050565b600060c082019050612e6860008301896129fc565b612e7560208301886128c2565b612e826040830187612e44565b612e8f6060830186612e44565b612e9c60808301856129fc565b612ea960a08301846128c2565b979650505050505050565b600081519050612ec381612820565b92915050565b600080600060608486031215612ee257612ee16127ae565b5b6000612ef086828701612eb4565b9350506020612f0186828701612eb4565b9250506040612f1286828701612eb4565b9150509250925092565b6000604082019050612f3160008301856129fc565b612f3e60208301846128c2565b9392505050565b600081519050612f54816129a3565b92915050565b600060208284031215612f7057612f6f6127ae565b5b6000612f7e84828501612f45565b91505092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000612fbd601d836126f4565b9150612fc882612f87565b602082019050919050565b60006020820190508181036000830152612fec81612fb0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061304f6024836126f4565b915061305a82612ff3565b604082019050919050565b6000602082019050818103600083015261307e81613042565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130e16022836126f4565b91506130ec82613085565b604082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131736025836126f4565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132056023836126f4565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132976029836126f4565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b60006133036011836126f4565b915061330e826132cd565b602082019050919050565b60006020820190508181036000830152613332816132f6565b9050919050565b600061334482612816565b915061334f83612816565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561338457613383612cbf565b5b828201905092915050565b600061339a82612816565b91506133a583612816565b9250828210156133b8576133b7612cbf565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061341f602a836126f4565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61348a816127d8565b82525050565b600061349c8383613481565b60208301905092915050565b6000602082019050919050565b60006134c082613455565b6134ca8185613460565b93506134d583613471565b8060005b838110156135065781516134ed8882613490565b97506134f8836134a8565b9250506001810190506134d9565b5085935050505092915050565b600060a08201905061352860008301886128c2565b6135356020830187612e44565b818103604083015261354781866134b5565b905061355660608301856129fc565b61356360808301846128c2565b9695505050505050565b600061357882612816565b915061358383612816565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135bc576135bb612cbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061360182612816565b915061360c83612816565b92508261361c5761361b6135c7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006136836021836126f4565b915061368e82613627565b604082019050919050565b600060208201905081810360008301526136b281613676565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136ef601b836126f4565b91506136fa826136b9565b602082019050919050565b6000602082019050818103600083015261371e816136e2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014d898ef5e8e3730346d4d5c057f181e1c02c94c1c6e3df04e51b55a4cb777ea64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000a361506fa062b00b9020139e7bf6bdff377bf6a
-----Decoded View---------------
Arg [0] : addr1 (address): 0x0A361506Fa062B00b9020139e7bf6BdFF377Bf6A
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000a361506fa062b00b9020139e7bf6bdff377bf6a
Deployed Bytecode Sourcemap
3888:12188:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5557:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6482:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5834:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6683:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12334:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5743:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7137:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11960:191;;;;;;;;;;;;;:::i;:::-;;5937:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2840:148;;;;;;;;;;;;;:::i;:::-;;2626:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5648:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6083:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12159:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11760:192;;;;;;;;;;;;;:::i;:::-;;10771:981;;;;;;;;;;;;;:::i;:::-;;15818:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6290:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5557:83;5594:13;5627:5;;;;;;;;;;;;;;;;;5620:12;;5557:83;:::o;6482:193::-;6584:4;6606:39;6615:12;:10;:12::i;:::-;6629:7;6638:6;6606:8;:39::i;:::-;6663:4;6656:11;;6482:193;;;;:::o;5834:95::-;5887:7;4450:21;5907:14;;5834:95;:::o;6683:446::-;6815:4;6832:36;6842:6;6850:9;6861:6;6832:9;:36::i;:::-;6879:220;6902:6;6923:12;:10;:12::i;:::-;6950:138;7006:6;6950:138;;;;;;;;;;;;;;;;;:11;:19;6962:6;6950:19;;;;;;;;;;;;;;;:33;6970:12;:10;:12::i;:::-;6950:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6879:8;:220::i;:::-;7117:4;7110:11;;6683:446;;;;;:::o;12334:88::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12409:5:::1;12394:4;:12;12399:6;12394:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12334:88:::0;:::o;5743:83::-;5784:5;4112:1;5802:16;;5743:83;:::o;7137:103::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7227:5:::1;7209:15;;:23;;;;;;;;;;;;;;;;;;7137:103:::0;:::o;11960:191::-;12026:12;;;;;;;;;;;12010:28;;:12;:10;:12::i;:::-;:28;;;12002:37;;;;;;12050:26;12079:21;12050:50;;12111:32;12124:18;12111:12;:32::i;:::-;11991:160;11960:191::o;5937:138::-;6003:7;6030:37;6050:7;:16;6058:7;6050:16;;;;;;;;;;;;;;;;6030:19;:37::i;:::-;6023:44;;5937:138;;;:::o;2840:148::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2947:1:::1;2910:40;;2931:6;::::0;::::1;;;;;;;;2910:40;;;;;;;;;;;;2978:1;2961:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2840:148::o:0;2626:79::-;2664:7;2691:6;;;;;;;;;;;2684:13;;2626:79;:::o;5648:87::-;5687:13;5720:7;;;;;;;;;;;;;;;;;5713:14;;5648:87;:::o;6083:199::-;6188:4;6210:42;6220:12;:10;:12::i;:::-;6234:9;6245:6;6210:9;:42::i;:::-;6270:4;6263:11;;6083:199;;;;:::o;12159:167::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12233:9:::1;12228:91;12252:5;:12;12248:1;:16;12228:91;;;12303:4;12286;:14;12291:5;12297:1;12291:8;;;;;;;;:::i;:::-;;;;;;;;12286:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12266:3;;;;;:::i;:::-;;;;12228:91;;;;12159:167:::0;:::o;11760:192::-;11826:12;;;;;;;;;;;11810:28;;:12;:10;:12::i;:::-;:28;;;11802:37;;;;;;11850:23;11876:24;11894:4;11876:9;:24::i;:::-;11850:50;;11911:33;11928:15;11911:16;:33::i;:::-;11791:161;11760:192::o;10771:981::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10835:11:::1;;;;;;;;;;;10834:12;10826:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10885:35;10955:42;10885:113;;11027:16;11009:15;;:34;;;;;;;;;;;;;;;;;;11054:58;11071:4;11086:15;;;;;;;;;;;4450:21;11054:8;:58::i;:::-;11157:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11139:70;;;11218:4;11225:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11139:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11123:13;;:126;;;;;;;;;;;;;;;;;;11260:15;;;;;;;;;;;:31;;;11299:21;11344:4;11364:24;11382:4;11364:9;:24::i;:::-;11403:1;11419::::0;11435:7:::1;:5;:7::i;:::-;11457:15;11260:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11508:4;11494:11;;:18;;;;;;;;;;;;;;;;;;11541:5;11523:15;;:23;;;;;;;;;;;;;;;;;;11572:21;11557:12;:36;;;;11618:4;11604:11;;:18;;;;;;;;;;;;;;;;;;11640:13;;;;;;;;;;;11633:29;;;11685:15;;;;;;;;;;;11716:17;11633:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10815:937;10771:981::o:0;15818:255::-;2763:12;:10;:12::i;:::-;2753:22;;:6;;;;;;;;;;:22;;;2745:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15920:1:::1;15905:12;:16;15897:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15981:36;16011:5;15981:25;15993:12;4450:21;15981:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;15966:12;:51;;;;16033:32;16052:12;;16033:32;;;;;;:::i;:::-;;;;;;;;15818:255:::0;:::o;6290:184::-;6407:7;6439:11;:18;6451:5;6439:18;;;;;;;;;;;;;;;:27;6458:7;6439:27;;;;;;;;;;;;;;;;6432:34;;6290:184;;;;:::o;129:98::-;182:7;209:10;202:17;;129:98;:::o;7818:369::-;7962:1;7945:19;;:5;:19;;;;7937:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8043:1;8024:21;;:7;:21;;;;8016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8125:6;8095:11;:18;8107:5;8095:18;;;;;;;;;;;;;;;:27;8114:7;8095:27;;;;;;;;;;;;;;;:36;;;;8163:7;8147:32;;8156:5;8147:32;;;8172:6;8147:32;;;;;;:::i;:::-;;;;;;;;7818:369;;;:::o;8195:1975::-;8333:1;8317:18;;:4;:18;;;;8309:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8410:1;8396:16;;:2;:16;;;;8388:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8480:1;8471:6;:10;8463:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8552:7;:5;:7::i;:::-;8544:15;;:4;:15;;;;:32;;;;;8569:7;:5;:7::i;:::-;8563:13;;:2;:13;;;;8544:32;8540:1429;;;8597:15;;;;;;;;;;;8593:526;;;8675:4;8659:21;;:4;:21;;;;:65;;;;;8719:4;8705:19;;:2;:19;;;;8659:65;:122;;;;;8765:15;;;;;;;;;;;8749:32;;:4;:32;;;;8659:122;:177;;;;;8820:15;;;;;;;;;;;8806:30;;:2;:30;;;;8659:177;8633:471;;;8937:15;;;;;;;;;;;8913:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9002:13;;;;;;;;;;;8986:29;;:12;:10;:12::i;:::-;:29;;;8913:102;8879:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;8633:471;8593:526;9151:12;;9141:6;:22;;9133:31;;;;;;9188:4;:10;9193:4;9188:10;;;;;;;;;;;;;;;;;;;;;;;;;9187:11;:24;;;;;9203:4;:8;9208:2;9203:8;;;;;;;;;;;;;;;;;;;;;;;;;9202:9;9187:24;9179:33;;;;;;9257:13;;;;;;;;;;;9249:21;;:4;:21;;;:72;;;;;9305:15;;;;;;;;;;;9291:30;;:2;:30;;;;9249:72;:116;;;;;9343:18;:22;9362:2;9343:22;;;;;;;;;;;;;;;;;;;;;;;;;9342:23;9249:116;:152;;;;;9386:15;;;;;;;;;;;9249:152;9227:328;;;9459:15;9444:8;:12;9453:2;9444:12;;;;;;;;;;;;;;;;:30;9436:39;;;;;;9528:10;9509:15;:30;;;;:::i;:::-;9494:8;:12;9503:2;9494:12;;;;;;;;;;;;;;;:45;;;;9227:328;9569:28;9600:24;9618:4;9600:9;:24::i;:::-;9569:55;;9644:6;;;;;;;;;;;9643:7;:32;;;;;9662:13;;;;;;;;;;;9654:21;;:4;:21;;;;9643:32;:47;;;;;9679:11;;;;;;;;;;;9643:47;9639:319;;;9711:38;9728:20;9711:16;:38::i;:::-;9768:26;9797:21;9768:50;;9862:1;9841:18;:22;9837:106;;;9888:35;9901:21;9888:12;:35::i;:::-;9837:106;9692:266;9639:319;8578:1391;8540:1429;9979:12;9994:4;9979:19;;10015:18;:24;10034:4;10015:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10043:18;:22;10062:2;10043:22;;;;;;;;;;;;;;;;;;;;;;;;;10015:50;10011:98;;;10092:5;10082:15;;10011:98;10121:41;10136:4;10142:2;10146:6;10154:7;10121:14;:41::i;:::-;8298:1872;8195:1975;;;:::o;1391:224::-;1511:7;1544:1;1539;:6;;1547:12;1531:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1571:9;1587:1;1583;:5;;;;:::i;:::-;1571:17;;1606:1;1599:8;;;1391:224;;;;;:::o;10669:94::-;10726:12;;;;;;;;;;;:21;;:29;10748:6;10726:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:94;:::o;7248:323::-;7343:7;7401;;7390;:18;;7368:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7489:19;7511:10;:8;:10::i;:::-;7489:32;;7539:24;7551:11;7539:7;:11;;:24;;;;:::i;:::-;7532:31;;;7248:323;;;:::o;10178:483::-;5171:4;5162:6;;:13;;;;;;;;;;;;;;;;;;10256:21:::1;10294:1;10280:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10256:40;;10325:4;10307;10312:1;10307:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10351:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10341:4;10346:1;10341:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10384:62;10401:4;10416:15;;;;;;;;;;;10434:11;10384:8;:62::i;:::-;10457:15;;;;;;;;;;;:66;;;10538:11;10564:1;10580:4;10607;10627:15;10457:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10245:416;5207:5:::0;5198:6;;:14;;;;;;;;;;;;;;;;;;10178:483;:::o;1623:246::-;1681:7;1710:1;1705;:6;1701:47;;;1735:1;1728:8;;;;1701:47;1758:9;1774:1;1770;:5;;;;:::i;:::-;1758:17;;1803:1;1798;1794;:5;;;;:::i;:::-;:10;1786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1860:1;1853:8;;;1623:246;;;;;:::o;1877:132::-;1935:7;1962:39;1966:1;1969;1962:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1955:46;;1877:132;;;;:::o;12430:282::-;12586:7;12581:28;;12595:14;:12;:14::i;:::-;12581:28;12620:44;12638:6;12646:9;12657:6;12620:17;:44::i;:::-;12680:7;12675:29;;12689:15;:13;:15::i;:::-;12675:29;12430:282;;;;:::o;15381:164::-;15423:7;15444:15;15461;15480:19;:17;:19::i;:::-;15443:56;;;;15517:20;15529:7;15517;:11;;:20;;;;:::i;:::-;15510:27;;;;15381:164;:::o;2017:223::-;2137:7;2169:1;2165;:5;2172:12;2157:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2196:9;2212:1;2208;:5;;;;:::i;:::-;2196:17;;2231:1;2224:8;;;2017:223;;;;;:::o;7579:137::-;7637:1;7626:7;;:12;:29;;;;;7654:1;7642:8;;:13;7626:29;7622:42;;;7657:7;;7622:42;7684:1;7674:7;:11;;;;7707:1;7696:8;:12;;;;7579:137;:::o;12720:610::-;12867:15;12897:23;12935:12;12962:23;13000:12;13027:13;13054:19;13065:7;13054:10;:19::i;:::-;12852:221;;;;;;;;;;;;13102:28;13122:7;13102;:15;13110:6;13102:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13084:7;:15;13092:6;13084:15;;;;;;;;;;;;;;;:46;;;;13162:39;13185:15;13162:7;:18;13170:9;13162:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13141:7;:18;13149:9;13141:18;;;;;;;;;;;;;;;:60;;;;13212:16;13222:5;13212:9;:16::i;:::-;13239:23;13251:4;13257;13239:11;:23::i;:::-;13295:9;13278:44;;13287:6;13278:44;;;13306:15;13278:44;;;;;;:::i;:::-;;;;;;;;12841:489;;;;;;12720:610;;;:::o;7724:86::-;7778:1;7768:7;:11;;;;7801:1;7790:8;:12;;;;7724:86::o;15553:257::-;15604:7;15613;15633:15;15651:7;;15633:25;;15669:15;4450:21;15669:25;;15719:20;4450:21;15719:7;;:11;;:20;;;;:::i;:::-;15709:7;:30;15705:61;;;15749:7;;4450:21;15741:25;;;;;;;;15705:61;15785:7;15794;15777:25;;;;;;15553:257;;;:::o;13749:607::-;13849:7;13871;13893;13915;13937;13959;13995:23;14020:12;14034:13;14064:32;14076:7;14085;;14094:1;14064:11;:32::i;:::-;13994:102;;;;;;14107:19;14129:10;:8;:10::i;:::-;14107:32;;14151:15;14168:23;14193:12;14222:46;14234:7;14243:4;14249:5;14256:11;14222;:46::i;:::-;14150:118;;;;;;14287:7;14296:15;14313:4;14319:15;14336:4;14342:5;14279:69;;;;;;;;;;;;;;;;;;;13749:607;;;;;;;:::o;1247:136::-;1305:7;1332:43;1336:1;1339;1332:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1325:50;;1247:136;;;;:::o;1060:179::-;1118:7;1138:9;1154:1;1150;:5;;;;:::i;:::-;1138:17;;1179:1;1174;:6;;1166:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1230:1;1223:8;;;1060:179;;;;:::o;13338:211::-;13391:19;13413:10;:8;:10::i;:::-;13391:32;;13434:13;13450:22;13460:11;13450:5;:9;;:22;;;;:::i;:::-;13434:38;;13508:33;13535:5;13508:7;:22;13524:4;13508:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13483:7;:22;13499:4;13483:22;;;;;;;;;;;;;;;:58;;;;13380:169;;13338:211;:::o;13557:147::-;13635:17;13647:4;13635:7;;:11;;:17;;;;:::i;:::-;13625:7;:27;;;;13676:20;13691:4;13676:10;;:14;;:20;;;;:::i;:::-;13663:10;:33;;;;13557:147;;:::o;14364:467::-;14532:7;14554;14576;14611:12;14626:28;14650:3;14626:19;14638:6;14626:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14611:43;;14665:13;14681:29;14706:3;14681:20;14693:7;14681;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14665:45;;14721:23;14747:28;14769:5;14747:17;14759:4;14747:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14721:54;;14794:15;14811:4;14817:5;14786:37;;;;;;;;;14364:467;;;;;;;:::o;14839:534::-;15033:7;15055;15077;15112:15;15130:24;15142:11;15130:7;:11;;:24;;;;:::i;:::-;15112:42;;15165:12;15180:21;15189:11;15180:4;:8;;:21;;;;:::i;:::-;15165:36;;15212:13;15228:22;15238:11;15228:5;:9;;:22;;;;:::i;:::-;15212:38;;15261:23;15287:28;15309:5;15287:17;15299:4;15287:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15261:54;;15334:7;15343:15;15360:4;15326:39;;;;;;;;;;14839:534;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:116::-;5306:21;5321:5;5306:21;:::i;:::-;5299:5;5296:32;5286:60;;5342:1;5339;5332:12;5286:60;5236:116;:::o;5358:133::-;5401:5;5439:6;5426:20;5417:29;;5455:30;5479:5;5455:30;:::i;:::-;5358:133;;;;:::o;5497:323::-;5553:6;5602:2;5590:9;5581:7;5577:23;5573:32;5570:119;;;5608:79;;:::i;:::-;5570:119;5728:1;5753:50;5795:7;5786:6;5775:9;5771:22;5753:50;:::i;:::-;5743:60;;5699:114;5497:323;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:117::-;6287:1;6284;6277:12;6301:180;6349:77;6346:1;6339:88;6446:4;6443:1;6436:15;6470:4;6467:1;6460:15;6487:281;6570:27;6592:4;6570:27;:::i;:::-;6562:6;6558:40;6700:6;6688:10;6685:22;6664:18;6652:10;6649:34;6646:62;6643:88;;;6711:18;;:::i;:::-;6643:88;6751:10;6747:2;6740:22;6530:238;6487:281;;:::o;6774:129::-;6808:6;6835:20;;:::i;:::-;6825:30;;6864:33;6892:4;6884:6;6864:33;:::i;:::-;6774:129;;;:::o;6909:311::-;6986:4;7076:18;7068:6;7065:30;7062:56;;;7098:18;;:::i;:::-;7062:56;7148:4;7140:6;7136:17;7128:25;;7208:4;7202;7198:15;7190:23;;6909:311;;;:::o;7226:117::-;7335:1;7332;7325:12;7366:710;7462:5;7487:81;7503:64;7560:6;7503:64;:::i;:::-;7487:81;:::i;:::-;7478:90;;7588:5;7617:6;7610:5;7603:21;7651:4;7644:5;7640:16;7633:23;;7704:4;7696:6;7692:17;7684:6;7680:30;7733:3;7725:6;7722:15;7719:122;;;7752:79;;:::i;:::-;7719:122;7867:6;7850:220;7884:6;7879:3;7876:15;7850:220;;;7959:3;7988:37;8021:3;8009:10;7988:37;:::i;:::-;7983:3;7976:50;8055:4;8050:3;8046:14;8039:21;;7926:144;7910:4;7905:3;7901:14;7894:21;;7850:220;;;7854:21;7468:608;;7366:710;;;;;:::o;8099:370::-;8170:5;8219:3;8212:4;8204:6;8200:17;8196:27;8186:122;;8227:79;;:::i;:::-;8186:122;8344:6;8331:20;8369:94;8459:3;8451:6;8444:4;8436:6;8432:17;8369:94;:::i;:::-;8360:103;;8176:293;8099:370;;;;:::o;8475:539::-;8559:6;8608:2;8596:9;8587:7;8583:23;8579:32;8576:119;;;8614:79;;:::i;:::-;8576:119;8762:1;8751:9;8747:17;8734:31;8792:18;8784:6;8781:30;8778:117;;;8814:79;;:::i;:::-;8778:117;8919:78;8989:7;8980:6;8969:9;8965:22;8919:78;:::i;:::-;8909:88;;8705:302;8475:539;;;;:::o;9020:329::-;9079:6;9128:2;9116:9;9107:7;9103:23;9099:32;9096:119;;;9134:79;;:::i;:::-;9096:119;9254:1;9279:53;9324:7;9315:6;9304:9;9300:22;9279:53;:::i;:::-;9269:63;;9225:117;9020:329;;;;:::o;9355:474::-;9423:6;9431;9480:2;9468:9;9459:7;9455:23;9451:32;9448:119;;;9486:79;;:::i;:::-;9448:119;9606:1;9631:53;9676:7;9667:6;9656:9;9652:22;9631:53;:::i;:::-;9621:63;;9577:117;9733:2;9759:53;9804:7;9795:6;9784:9;9780:22;9759:53;:::i;:::-;9749:63;;9704:118;9355:474;;;;;:::o;9835:182::-;9975:34;9971:1;9963:6;9959:14;9952:58;9835:182;:::o;10023:366::-;10165:3;10186:67;10250:2;10245:3;10186:67;:::i;:::-;10179:74;;10262:93;10351:3;10262:93;:::i;:::-;10380:2;10375:3;10371:12;10364:19;;10023:366;;;:::o;10395:419::-;10561:4;10599:2;10588:9;10584:18;10576:26;;10648:9;10642:4;10638:20;10634:1;10623:9;10619:17;10612:47;10676:131;10802:4;10676:131;:::i;:::-;10668:139;;10395:419;;;:::o;10820:180::-;10868:77;10865:1;10858:88;10965:4;10962:1;10955:15;10989:4;10986:1;10979:15;11006:180;11054:77;11051:1;11044:88;11151:4;11148:1;11141:15;11175:4;11172:1;11165:15;11192:233;11231:3;11254:24;11272:5;11254:24;:::i;:::-;11245:33;;11300:66;11293:5;11290:77;11287:103;;;11370:18;;:::i;:::-;11287:103;11417:1;11410:5;11406:13;11399:20;;11192:233;;;:::o;11431:173::-;11571:25;11567:1;11559:6;11555:14;11548:49;11431:173;:::o;11610:366::-;11752:3;11773:67;11837:2;11832:3;11773:67;:::i;:::-;11766:74;;11849:93;11938:3;11849:93;:::i;:::-;11967:2;11962:3;11958:12;11951:19;;11610:366;;;:::o;11982:419::-;12148:4;12186:2;12175:9;12171:18;12163:26;;12235:9;12229:4;12225:20;12221:1;12210:9;12206:17;12199:47;12263:131;12389:4;12263:131;:::i;:::-;12255:139;;11982:419;;;:::o;12407:143::-;12464:5;12495:6;12489:13;12480:22;;12511:33;12538:5;12511:33;:::i;:::-;12407:143;;;;:::o;12556:351::-;12626:6;12675:2;12663:9;12654:7;12650:23;12646:32;12643:119;;;12681:79;;:::i;:::-;12643:119;12801:1;12826:64;12882:7;12873:6;12862:9;12858:22;12826:64;:::i;:::-;12816:74;;12772:128;12556:351;;;;:::o;12913:332::-;13034:4;13072:2;13061:9;13057:18;13049:26;;13085:71;13153:1;13142:9;13138:17;13129:6;13085:71;:::i;:::-;13166:72;13234:2;13223:9;13219:18;13210:6;13166:72;:::i;:::-;12913:332;;;;;:::o;13251:85::-;13296:7;13325:5;13314:16;;13251:85;;;:::o;13342:60::-;13370:3;13391:5;13384:12;;13342:60;;;:::o;13408:158::-;13466:9;13499:61;13517:42;13526:32;13552:5;13526:32;:::i;:::-;13517:42;:::i;:::-;13499:61;:::i;:::-;13486:74;;13408:158;;;:::o;13572:147::-;13667:45;13706:5;13667:45;:::i;:::-;13662:3;13655:58;13572:147;;:::o;13725:807::-;13974:4;14012:3;14001:9;13997:19;13989:27;;14026:71;14094:1;14083:9;14079:17;14070:6;14026:71;:::i;:::-;14107:72;14175:2;14164:9;14160:18;14151:6;14107:72;:::i;:::-;14189:80;14265:2;14254:9;14250:18;14241:6;14189:80;:::i;:::-;14279;14355:2;14344:9;14340:18;14331:6;14279:80;:::i;:::-;14369:73;14437:3;14426:9;14422:19;14413:6;14369:73;:::i;:::-;14452;14520:3;14509:9;14505:19;14496:6;14452:73;:::i;:::-;13725:807;;;;;;;;;:::o;14538:143::-;14595:5;14626:6;14620:13;14611:22;;14642:33;14669:5;14642:33;:::i;:::-;14538:143;;;;:::o;14687:663::-;14775:6;14783;14791;14840:2;14828:9;14819:7;14815:23;14811:32;14808:119;;;14846:79;;:::i;:::-;14808:119;14966:1;14991:64;15047:7;15038:6;15027:9;15023:22;14991:64;:::i;:::-;14981:74;;14937:128;15104:2;15130:64;15186:7;15177:6;15166:9;15162:22;15130:64;:::i;:::-;15120:74;;15075:129;15243:2;15269:64;15325:7;15316:6;15305:9;15301:22;15269:64;:::i;:::-;15259:74;;15214:129;14687:663;;;;;:::o;15356:332::-;15477:4;15515:2;15504:9;15500:18;15492:26;;15528:71;15596:1;15585:9;15581:17;15572:6;15528:71;:::i;:::-;15609:72;15677:2;15666:9;15662:18;15653:6;15609:72;:::i;:::-;15356:332;;;;;:::o;15694:137::-;15748:5;15779:6;15773:13;15764:22;;15795:30;15819:5;15795:30;:::i;:::-;15694:137;;;;:::o;15837:345::-;15904:6;15953:2;15941:9;15932:7;15928:23;15924:32;15921:119;;;15959:79;;:::i;:::-;15921:119;16079:1;16104:61;16157:7;16148:6;16137:9;16133:22;16104:61;:::i;:::-;16094:71;;16050:125;15837:345;;;;:::o;16188:179::-;16328:31;16324:1;16316:6;16312:14;16305:55;16188:179;:::o;16373:366::-;16515:3;16536:67;16600:2;16595:3;16536:67;:::i;:::-;16529:74;;16612:93;16701:3;16612:93;:::i;:::-;16730:2;16725:3;16721:12;16714:19;;16373:366;;;:::o;16745:419::-;16911:4;16949:2;16938:9;16934:18;16926:26;;16998:9;16992:4;16988:20;16984:1;16973:9;16969:17;16962:47;17026:131;17152:4;17026:131;:::i;:::-;17018:139;;16745:419;;;:::o;17170:223::-;17310:34;17306:1;17298:6;17294:14;17287:58;17379:6;17374:2;17366:6;17362:15;17355:31;17170:223;:::o;17399:366::-;17541:3;17562:67;17626:2;17621:3;17562:67;:::i;:::-;17555:74;;17638:93;17727:3;17638:93;:::i;:::-;17756:2;17751:3;17747:12;17740:19;;17399:366;;;:::o;17771:419::-;17937:4;17975:2;17964:9;17960:18;17952:26;;18024:9;18018:4;18014:20;18010:1;17999:9;17995:17;17988:47;18052:131;18178:4;18052:131;:::i;:::-;18044:139;;17771:419;;;:::o;18196:221::-;18336:34;18332:1;18324:6;18320:14;18313:58;18405:4;18400:2;18392:6;18388:15;18381:29;18196:221;:::o;18423:366::-;18565:3;18586:67;18650:2;18645:3;18586:67;:::i;:::-;18579:74;;18662:93;18751:3;18662:93;:::i;:::-;18780:2;18775:3;18771:12;18764:19;;18423:366;;;:::o;18795:419::-;18961:4;18999:2;18988:9;18984:18;18976:26;;19048:9;19042:4;19038:20;19034:1;19023:9;19019:17;19012:47;19076:131;19202:4;19076:131;:::i;:::-;19068:139;;18795:419;;;:::o;19220:224::-;19360:34;19356:1;19348:6;19344:14;19337:58;19429:7;19424:2;19416:6;19412:15;19405:32;19220:224;:::o;19450:366::-;19592:3;19613:67;19677:2;19672:3;19613:67;:::i;:::-;19606:74;;19689:93;19778:3;19689:93;:::i;:::-;19807:2;19802:3;19798:12;19791:19;;19450:366;;;:::o;19822:419::-;19988:4;20026:2;20015:9;20011:18;20003:26;;20075:9;20069:4;20065:20;20061:1;20050:9;20046:17;20039:47;20103:131;20229:4;20103:131;:::i;:::-;20095:139;;19822:419;;;:::o;20247:222::-;20387:34;20383:1;20375:6;20371:14;20364:58;20456:5;20451:2;20443:6;20439:15;20432:30;20247:222;:::o;20475:366::-;20617:3;20638:67;20702:2;20697:3;20638:67;:::i;:::-;20631:74;;20714:93;20803:3;20714:93;:::i;:::-;20832:2;20827:3;20823:12;20816:19;;20475:366;;;:::o;20847:419::-;21013:4;21051:2;21040:9;21036:18;21028:26;;21100:9;21094:4;21090:20;21086:1;21075:9;21071:17;21064:47;21128:131;21254:4;21128:131;:::i;:::-;21120:139;;20847:419;;;:::o;21272:228::-;21412:34;21408:1;21400:6;21396:14;21389:58;21481:11;21476:2;21468:6;21464:15;21457:36;21272:228;:::o;21506:366::-;21648:3;21669:67;21733:2;21728:3;21669:67;:::i;:::-;21662:74;;21745:93;21834:3;21745:93;:::i;:::-;21863:2;21858:3;21854:12;21847:19;;21506:366;;;:::o;21878:419::-;22044:4;22082:2;22071:9;22067:18;22059:26;;22131:9;22125:4;22121:20;22117:1;22106:9;22102:17;22095:47;22159:131;22285:4;22159:131;:::i;:::-;22151:139;;21878:419;;;:::o;22303:167::-;22443:19;22439:1;22431:6;22427:14;22420:43;22303:167;:::o;22476:366::-;22618:3;22639:67;22703:2;22698:3;22639:67;:::i;:::-;22632:74;;22715:93;22804:3;22715:93;:::i;:::-;22833:2;22828:3;22824:12;22817:19;;22476:366;;;:::o;22848:419::-;23014:4;23052:2;23041:9;23037:18;23029:26;;23101:9;23095:4;23091:20;23087:1;23076:9;23072:17;23065:47;23129:131;23255:4;23129:131;:::i;:::-;23121:139;;22848:419;;;:::o;23273:305::-;23313:3;23332:20;23350:1;23332:20;:::i;:::-;23327:25;;23366:20;23384:1;23366:20;:::i;:::-;23361:25;;23520:1;23452:66;23448:74;23445:1;23442:81;23439:107;;;23526:18;;:::i;:::-;23439:107;23570:1;23567;23563:9;23556:16;;23273:305;;;;:::o;23584:191::-;23624:4;23644:20;23662:1;23644:20;:::i;:::-;23639:25;;23678:20;23696:1;23678:20;:::i;:::-;23673:25;;23717:1;23714;23711:8;23708:34;;;23722:18;;:::i;:::-;23708:34;23767:1;23764;23760:9;23752:17;;23584:191;;;;:::o;23781:229::-;23921:34;23917:1;23909:6;23905:14;23898:58;23990:12;23985:2;23977:6;23973:15;23966:37;23781:229;:::o;24016:366::-;24158:3;24179:67;24243:2;24238:3;24179:67;:::i;:::-;24172:74;;24255:93;24344:3;24255:93;:::i;:::-;24373:2;24368:3;24364:12;24357:19;;24016:366;;;:::o;24388:419::-;24554:4;24592:2;24581:9;24577:18;24569:26;;24641:9;24635:4;24631:20;24627:1;24616:9;24612:17;24605:47;24669:131;24795:4;24669:131;:::i;:::-;24661:139;;24388:419;;;:::o;24813:114::-;24880:6;24914:5;24908:12;24898:22;;24813:114;;;:::o;24933:184::-;25032:11;25066:6;25061:3;25054:19;25106:4;25101:3;25097:14;25082:29;;24933:184;;;;:::o;25123:132::-;25190:4;25213:3;25205:11;;25243:4;25238:3;25234:14;25226:22;;25123:132;;;:::o;25261:108::-;25338:24;25356:5;25338:24;:::i;:::-;25333:3;25326:37;25261:108;;:::o;25375:179::-;25444:10;25465:46;25507:3;25499:6;25465:46;:::i;:::-;25543:4;25538:3;25534:14;25520:28;;25375:179;;;;:::o;25560:113::-;25630:4;25662;25657:3;25653:14;25645:22;;25560:113;;;:::o;25709:732::-;25828:3;25857:54;25905:5;25857:54;:::i;:::-;25927:86;26006:6;26001:3;25927:86;:::i;:::-;25920:93;;26037:56;26087:5;26037:56;:::i;:::-;26116:7;26147:1;26132:284;26157:6;26154:1;26151:13;26132:284;;;26233:6;26227:13;26260:63;26319:3;26304:13;26260:63;:::i;:::-;26253:70;;26346:60;26399:6;26346:60;:::i;:::-;26336:70;;26192:224;26179:1;26176;26172:9;26167:14;;26132:284;;;26136:14;26432:3;26425:10;;25833:608;;;25709:732;;;;:::o;26447:831::-;26710:4;26748:3;26737:9;26733:19;26725:27;;26762:71;26830:1;26819:9;26815:17;26806:6;26762:71;:::i;:::-;26843:80;26919:2;26908:9;26904:18;26895:6;26843:80;:::i;:::-;26970:9;26964:4;26960:20;26955:2;26944:9;26940:18;26933:48;26998:108;27101:4;27092:6;26998:108;:::i;:::-;26990:116;;27116:72;27184:2;27173:9;27169:18;27160:6;27116:72;:::i;:::-;27198:73;27266:3;27255:9;27251:19;27242:6;27198:73;:::i;:::-;26447:831;;;;;;;;:::o;27284:348::-;27324:7;27347:20;27365:1;27347:20;:::i;:::-;27342:25;;27381:20;27399:1;27381:20;:::i;:::-;27376:25;;27569:1;27501:66;27497:74;27494:1;27491:81;27486:1;27479:9;27472:17;27468:105;27465:131;;;27576:18;;:::i;:::-;27465:131;27624:1;27621;27617:9;27606:20;;27284:348;;;;:::o;27638:180::-;27686:77;27683:1;27676:88;27783:4;27780:1;27773:15;27807:4;27804:1;27797:15;27824:185;27864:1;27881:20;27899:1;27881:20;:::i;:::-;27876:25;;27915:20;27933:1;27915:20;:::i;:::-;27910:25;;27954:1;27944:35;;27959:18;;:::i;:::-;27944:35;28001:1;27998;27994:9;27989:14;;27824:185;;;;:::o;28015:220::-;28155:34;28151:1;28143:6;28139:14;28132:58;28224:3;28219:2;28211:6;28207:15;28200:28;28015:220;:::o;28241:366::-;28383:3;28404:67;28468:2;28463:3;28404:67;:::i;:::-;28397:74;;28480:93;28569:3;28480:93;:::i;:::-;28598:2;28593:3;28589:12;28582:19;;28241:366;;;:::o;28613:419::-;28779:4;28817:2;28806:9;28802:18;28794:26;;28866:9;28860:4;28856:20;28852:1;28841:9;28837:17;28830:47;28894:131;29020:4;28894:131;:::i;:::-;28886:139;;28613:419;;;:::o;29038:177::-;29178:29;29174:1;29166:6;29162:14;29155:53;29038:177;:::o;29221:366::-;29363:3;29384:67;29448:2;29443:3;29384:67;:::i;:::-;29377:74;;29460:93;29549:3;29460:93;:::i;:::-;29578:2;29573:3;29569:12;29562:19;;29221:366;;;:::o;29593:419::-;29759:4;29797:2;29786:9;29782:18;29774:26;;29846:9;29840:4;29836:20;29832:1;29821:9;29817:17;29810:47;29874:131;30000:4;29874:131;:::i;:::-;29866:139;;29593:419;;;:::o
Swarm Source
ipfs://14d898ef5e8e3730346d4d5c057f181e1c02c94c1c6e3df04e51b55a4cb777ea
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.