ERC-20
Overview
Max Total Supply
1,000,000,000,000 Khloe 👸
Holders
116
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,158.266719656 Khloe 👸Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
KhloeTeraeToken
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-15 */ // Khloe Terae Official Token ($Khloe) // _ ___ _ _______ // | |/ / | | | |__ __| // | ' /| |__ | | ___ ___ | | ___ _ __ __ _ ___ // | < | '_ \| |/ _ \ / _ \ | |/ _ \ '__/ _` |/ _ \ // | . \| | | | | (_) | __/ | | __/ | | (_| | __/ // |_|\_\_| |_|_|\___/ \___| |_|\___|_| \__,_|\___| // Telegram: https://t.me/khloeteraetoken // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } 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 KhloeTeraeToken is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Khloe Terae"; string private constant _symbol = "Khloe \xF0\x9F\x91\xB8"; 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 = 5; uint256 private _teamFee = 5; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; address payable private _marketingFunds; 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; uint256 private _cooldownSeconds = 30; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = 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 isEnabled) external onlyOwner() { cooldownEnabled = isEnabled; } 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 = 5; _teamFee = 10; } 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(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { require(cooldown[to] < block.timestamp); require(amount <= _maxTxAmount); cooldown[to] = block.timestamp + (_cooldownSeconds * 1 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.div(2)); _marketingFunds.transfer(amount.div(2)); } function addLiquidityETH() external onlyOwner() { require(!tradingOpen, "Trading is already started"); 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 = true; _taxFee = 1; _teamFee = 10; _maxTxAmount = 5000000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(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, _teamFee); 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); } function setCooldownSeconds(uint256 cooldownSecs) external onlyOwner() { require(cooldownSecs > 0, "Secs must be greater than 0"); _cooldownSeconds = cooldownSecs; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","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":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldownSecs","type":"uint256"}],"name":"setCooldownSeconds","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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005c1565b6000196200002c919062000548565b600655600560085560056009556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea00000601055601e601155348015620000a957600080fd5b5060405162003f0538038062003f058339818101604052810190620000cf9190620004d9565b6000620000e16200049160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002186200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004196200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200048191906200052b565b60405180910390a3505062000671565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004d38162000657565b92915050565b60008060408385031215620004ed57600080fd5b6000620004fd85828601620004c2565b92505060206200051085828601620004c2565b9150509250929050565b6200052581620005b7565b82525050565b60006020820190506200054260008301846200051a565b92915050565b60006200055582620005b7565b91506200056283620005b7565b925082821015620005785762000577620005f9565b5b828203905092915050565b6000620005908262000597565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005ce82620005b7565b9150620005db83620005b7565b925082620005ee57620005ed62000628565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006628162000583565b81146200066e57600080fd5b50565b61388480620006816000396000f3fe6080604052600436106101015760003560e01c806370a082311161009557806395d89b411161006457806395d89b411461032b578063a9059cbb14610356578063d543dbeb14610393578063dd62ed3e146103bc578063ed995307146103f957610108565b806370a0823114610283578063715018a6146102c05780637b5b1157146102d75780638da5cb5b1461030057610108565b806323b872dd116100d157806323b872dd146101c9578063313ce567146102065780635932ead1146102315780636b9990531461025a57610108565b8062b8cf2a1461010d57806306fdde0314610136578063095ea7b31461016157806318160ddd1461019e57610108565b3661010857005b600080fd5b34801561011957600080fd5b50610134600480360381019061012f9190612a3f565b610410565b005b34801561014257600080fd5b5061014b610560565b6040516101589190612f03565b60405180910390f35b34801561016d57600080fd5b5061018860048036038101906101839190612a03565b61059d565b6040516101959190612ee8565b60405180910390f35b3480156101aa57600080fd5b506101b36105bb565b6040516101c091906130c5565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb91906129b4565b6105cc565b6040516101fd9190612ee8565b60405180910390f35b34801561021257600080fd5b5061021b6106a5565b604051610228919061313a565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190612a80565b6106ae565b005b34801561026657600080fd5b50610281600480360381019061027c9190612926565b610760565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612926565b610850565b6040516102b791906130c5565b60405180910390f35b3480156102cc57600080fd5b506102d56108a1565b005b3480156102e357600080fd5b506102fe60048036038101906102f99190612ad2565b6109f4565b005b34801561030c57600080fd5b50610315610ad6565b6040516103229190612e1a565b60405180910390f35b34801561033757600080fd5b50610340610aff565b60405161034d9190612f03565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190612a03565b610b3c565b60405161038a9190612ee8565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190612ad2565b610b5a565b005b3480156103c857600080fd5b506103e360048036038101906103de9190612978565b610ca3565b6040516103f091906130c5565b60405180910390f35b34801561040557600080fd5b5061040e610d2a565b005b610418611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049c90613005565b60405180910390fd5b60005b815181101561055c576001600a60008484815181106104f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610554906133db565b9150506104a8565b5050565b60606040518060400160405280600b81526020017f4b686c6f65205465726165000000000000000000000000000000000000000000815250905090565b60006105b16105aa611296565b848461129e565b6001905092915050565b6000683635c9adc5dea00000905090565b60006105d9848484611469565b61069a846105e5611296565b6106958560405180606001604052806028815260200161382760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064b611296565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c359092919063ffffffff16565b61129e565b600190509392505050565b60006009905090565b6106b6611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90613005565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b610768611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ec90613005565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061089a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c99565b9050919050565b6108a9611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109fc611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613005565b60405180910390fd5b60008111610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac390612fa5565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b686c6f6520f09f91b800000000000000000000000000000000000000000000815250905090565b6000610b50610b49611296565b8484611469565b6001905092915050565b610b62611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690613005565b60405180910390fd5b60008111610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612fc5565b60405180910390fd5b610c616064610c5383683635c9adc5dea00000611d0790919063ffffffff16565b611d8290919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610c9891906130c5565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d32611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690613005565b60405180910390fd5b600f60149054906101000a900460ff1615610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0690613085565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9f30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061129e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee557600080fd5b505afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061294f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb7919061294f565b6040518363ffffffff1660e01b8152600401610fd4929190612e35565b602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611026919061294f565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110af30610850565b6000806110ba610ad6565b426040518863ffffffff1660e01b81526004016110dc96959493929190612e87565b6060604051808303818588803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190612afb565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612e5e565b602060405180830381600087803b15801561125a57600080fd5b505af115801561126e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112929190612aa9565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612f65565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145c91906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090613045565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612f25565b60405180910390fd5b6000811161158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390613025565b60405180910390fd5b611594610ad6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160257506115d2610ad6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b7257600f60179054906101000a900460ff1615611835573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561168457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116de5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117385750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561183457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661177e611296565b73ffffffffffffffffffffffffffffffffffffffff1614806117f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc611296565b73ffffffffffffffffffffffffffffffffffffffff16145b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a906130a5565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118e257600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561198d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fb5750600f60179054906101000a900460ff165b15611ab85742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4b57600080fd5b601054811115611a5a57600080fd5b6001601154611a699190613282565b42611a7491906131fb565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611ac330610850565b9050600f60159054906101000a900460ff16158015611b305750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b485750600f60169054906101000a900460ff165b15611b7057611b5681611dcc565b60004790506000811115611b6e57611b6d476120c6565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c195750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611c2357600090505b611c2f848484846121c1565b50505050565b6000838311158290611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c749190612f03565b60405180910390fd5b5060008385611c8c91906132dc565b9050809150509392505050565b6000600654821115611ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd790612f45565b60405180910390fd5b6000611cea6121ee565b9050611cff8184611d8290919063ffffffff16565b915050919050565b600080831415611d1a5760009050611d7c565b60008284611d289190613282565b9050828482611d379190613251565b14611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90612fe5565b60405180910390fd5b809150505b92915050565b6000611dc483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612219565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e585781602001602082028036833780820191505090505b5090503081600081518110611e96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3857600080fd5b505afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f70919061294f565b81600181518110611faa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061201130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120759594939291906130e0565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612116600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612141573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612192600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121bd573d6000803e3d6000fd5b5050565b806121cf576121ce61227c565b5b6121da8484846122ad565b806121e8576121e7612478565b5b50505050565b60008060006121fb61248a565b915091506122128183611d8290919063ffffffff16565b9250505090565b60008083118290612260576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122579190612f03565b60405180910390fd5b506000838561226f9190613251565b9050809150509392505050565b600060085414801561229057506000600954145b1561229a576122ab565b600060088190555060006009819055505b565b6000806000806000806122bf876124ec565b95509550955095509550955061231d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123b285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fe816125fc565b61240884836126b9565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161246591906130c5565b60405180910390a3505050505050505050565b6005600881905550600a600981905550565b600080600060065490506000683635c9adc5dea0000090506124c0683635c9adc5dea00000600654611d8290919063ffffffff16565b8210156124df57600654683635c9adc5dea000009350935050506124e8565b81819350935050505b9091565b60008060008060008060008060006125098a6008546009546126f3565b92509250925060006125196121ee565b9050600080600061252c8e878787612789565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061259683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c35565b905092915050565b60008082846125ad91906131fb565b9050838110156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e990612f85565b60405180910390fd5b8091505092915050565b60006126066121ee565b9050600061261d8284611d0790919063ffffffff16565b905061267181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126ce8260065461255490919063ffffffff16565b6006819055506126e98160075461259e90919063ffffffff16565b6007819055505050565b60008060008061271f6064612711888a611d0790919063ffffffff16565b611d8290919063ffffffff16565b90506000612749606461273b888b611d0790919063ffffffff16565b611d8290919063ffffffff16565b9050600061277282612764858c61255490919063ffffffff16565b61255490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127a28589611d0790919063ffffffff16565b905060006127b98689611d0790919063ffffffff16565b905060006127d08789611d0790919063ffffffff16565b905060006127f9826127eb858761255490919063ffffffff16565b61255490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006128256128208461317a565b613155565b9050808382526020820190508285602086028201111561284457600080fd5b60005b85811015612874578161285a888261287e565b845260208401935060208301925050600181019050612847565b5050509392505050565b60008135905061288d816137e1565b92915050565b6000815190506128a2816137e1565b92915050565b600082601f8301126128b957600080fd5b81356128c9848260208601612812565b91505092915050565b6000813590506128e1816137f8565b92915050565b6000815190506128f6816137f8565b92915050565b60008135905061290b8161380f565b92915050565b6000815190506129208161380f565b92915050565b60006020828403121561293857600080fd5b60006129468482850161287e565b91505092915050565b60006020828403121561296157600080fd5b600061296f84828501612893565b91505092915050565b6000806040838503121561298b57600080fd5b60006129998582860161287e565b92505060206129aa8582860161287e565b9150509250929050565b6000806000606084860312156129c957600080fd5b60006129d78682870161287e565b93505060206129e88682870161287e565b92505060406129f9868287016128fc565b9150509250925092565b60008060408385031215612a1657600080fd5b6000612a248582860161287e565b9250506020612a35858286016128fc565b9150509250929050565b600060208284031215612a5157600080fd5b600082013567ffffffffffffffff811115612a6b57600080fd5b612a77848285016128a8565b91505092915050565b600060208284031215612a9257600080fd5b6000612aa0848285016128d2565b91505092915050565b600060208284031215612abb57600080fd5b6000612ac9848285016128e7565b91505092915050565b600060208284031215612ae457600080fd5b6000612af2848285016128fc565b91505092915050565b600080600060608486031215612b1057600080fd5b6000612b1e86828701612911565b9350506020612b2f86828701612911565b9250506040612b4086828701612911565b9150509250925092565b6000612b568383612b62565b60208301905092915050565b612b6b81613310565b82525050565b612b7a81613310565b82525050565b6000612b8b826131b6565b612b9581856131d9565b9350612ba0836131a6565b8060005b83811015612bd1578151612bb88882612b4a565b9750612bc3836131cc565b925050600181019050612ba4565b5085935050505092915050565b612be781613322565b82525050565b612bf681613365565b82525050565b6000612c07826131c1565b612c1181856131ea565b9350612c21818560208601613377565b612c2a816134b1565b840191505092915050565b6000612c426023836131ea565b9150612c4d826134c2565b604082019050919050565b6000612c65602a836131ea565b9150612c7082613511565b604082019050919050565b6000612c886022836131ea565b9150612c9382613560565b604082019050919050565b6000612cab601b836131ea565b9150612cb6826135af565b602082019050919050565b6000612cce601b836131ea565b9150612cd9826135d8565b602082019050919050565b6000612cf1601d836131ea565b9150612cfc82613601565b602082019050919050565b6000612d146021836131ea565b9150612d1f8261362a565b604082019050919050565b6000612d376020836131ea565b9150612d4282613679565b602082019050919050565b6000612d5a6029836131ea565b9150612d65826136a2565b604082019050919050565b6000612d7d6025836131ea565b9150612d88826136f1565b604082019050919050565b6000612da06024836131ea565b9150612dab82613740565b604082019050919050565b6000612dc3601a836131ea565b9150612dce8261378f565b602082019050919050565b6000612de66011836131ea565b9150612df1826137b8565b602082019050919050565b612e058161334e565b82525050565b612e1481613358565b82525050565b6000602082019050612e2f6000830184612b71565b92915050565b6000604082019050612e4a6000830185612b71565b612e576020830184612b71565b9392505050565b6000604082019050612e736000830185612b71565b612e806020830184612dfc565b9392505050565b600060c082019050612e9c6000830189612b71565b612ea96020830188612dfc565b612eb66040830187612bed565b612ec36060830186612bed565b612ed06080830185612b71565b612edd60a0830184612dfc565b979650505050505050565b6000602082019050612efd6000830184612bde565b92915050565b60006020820190508181036000830152612f1d8184612bfc565b905092915050565b60006020820190508181036000830152612f3e81612c35565b9050919050565b60006020820190508181036000830152612f5e81612c58565b9050919050565b60006020820190508181036000830152612f7e81612c7b565b9050919050565b60006020820190508181036000830152612f9e81612c9e565b9050919050565b60006020820190508181036000830152612fbe81612cc1565b9050919050565b60006020820190508181036000830152612fde81612ce4565b9050919050565b60006020820190508181036000830152612ffe81612d07565b9050919050565b6000602082019050818103600083015261301e81612d2a565b9050919050565b6000602082019050818103600083015261303e81612d4d565b9050919050565b6000602082019050818103600083015261305e81612d70565b9050919050565b6000602082019050818103600083015261307e81612d93565b9050919050565b6000602082019050818103600083015261309e81612db6565b9050919050565b600060208201905081810360008301526130be81612dd9565b9050919050565b60006020820190506130da6000830184612dfc565b92915050565b600060a0820190506130f56000830188612dfc565b6131026020830187612bed565b81810360408301526131148186612b80565b90506131236060830185612b71565b6131306080830184612dfc565b9695505050505050565b600060208201905061314f6000830184612e0b565b92915050565b600061315f613170565b905061316b82826133aa565b919050565b6000604051905090565b600067ffffffffffffffff82111561319557613194613482565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132068261334e565b91506132118361334e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561324657613245613424565b5b828201905092915050565b600061325c8261334e565b91506132678361334e565b92508261327757613276613453565b5b828204905092915050565b600061328d8261334e565b91506132988361334e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132d1576132d0613424565b5b828202905092915050565b60006132e78261334e565b91506132f28361334e565b92508282101561330557613304613424565b5b828203905092915050565b600061331b8261332e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133708261334e565b9050919050565b60005b8381101561339557808201518184015260208101905061337a565b838111156133a4576000848401525b50505050565b6133b3826134b1565b810181811067ffffffffffffffff821117156133d2576133d1613482565b5b80604052505050565b60006133e68261334e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561341957613418613424565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b6137ea81613310565b81146137f557600080fd5b50565b61380181613322565b811461380c57600080fd5b50565b6138188161334e565b811461382357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f795130114d36d3adddc0547ef176b727cbc201719a9ac5a70c6d5b41699523064736f6c63430008040033000000000000000000000000703f02def2ad86f710bf5a967c6ebc8fa0180414000000000000000000000000be33ffb1b4ffbe11a9650aad2a46a31111c96455
Deployed Bytecode
0x6080604052600436106101015760003560e01c806370a082311161009557806395d89b411161006457806395d89b411461032b578063a9059cbb14610356578063d543dbeb14610393578063dd62ed3e146103bc578063ed995307146103f957610108565b806370a0823114610283578063715018a6146102c05780637b5b1157146102d75780638da5cb5b1461030057610108565b806323b872dd116100d157806323b872dd146101c9578063313ce567146102065780635932ead1146102315780636b9990531461025a57610108565b8062b8cf2a1461010d57806306fdde0314610136578063095ea7b31461016157806318160ddd1461019e57610108565b3661010857005b600080fd5b34801561011957600080fd5b50610134600480360381019061012f9190612a3f565b610410565b005b34801561014257600080fd5b5061014b610560565b6040516101589190612f03565b60405180910390f35b34801561016d57600080fd5b5061018860048036038101906101839190612a03565b61059d565b6040516101959190612ee8565b60405180910390f35b3480156101aa57600080fd5b506101b36105bb565b6040516101c091906130c5565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb91906129b4565b6105cc565b6040516101fd9190612ee8565b60405180910390f35b34801561021257600080fd5b5061021b6106a5565b604051610228919061313a565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190612a80565b6106ae565b005b34801561026657600080fd5b50610281600480360381019061027c9190612926565b610760565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612926565b610850565b6040516102b791906130c5565b60405180910390f35b3480156102cc57600080fd5b506102d56108a1565b005b3480156102e357600080fd5b506102fe60048036038101906102f99190612ad2565b6109f4565b005b34801561030c57600080fd5b50610315610ad6565b6040516103229190612e1a565b60405180910390f35b34801561033757600080fd5b50610340610aff565b60405161034d9190612f03565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190612a03565b610b3c565b60405161038a9190612ee8565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190612ad2565b610b5a565b005b3480156103c857600080fd5b506103e360048036038101906103de9190612978565b610ca3565b6040516103f091906130c5565b60405180910390f35b34801561040557600080fd5b5061040e610d2a565b005b610418611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049c90613005565b60405180910390fd5b60005b815181101561055c576001600a60008484815181106104f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610554906133db565b9150506104a8565b5050565b60606040518060400160405280600b81526020017f4b686c6f65205465726165000000000000000000000000000000000000000000815250905090565b60006105b16105aa611296565b848461129e565b6001905092915050565b6000683635c9adc5dea00000905090565b60006105d9848484611469565b61069a846105e5611296565b6106958560405180606001604052806028815260200161382760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064b611296565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c359092919063ffffffff16565b61129e565b600190509392505050565b60006009905090565b6106b6611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90613005565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b610768611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ec90613005565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061089a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c99565b9050919050565b6108a9611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109fc611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613005565b60405180910390fd5b60008111610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac390612fa5565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b686c6f6520f09f91b800000000000000000000000000000000000000000000815250905090565b6000610b50610b49611296565b8484611469565b6001905092915050565b610b62611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690613005565b60405180910390fd5b60008111610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612fc5565b60405180910390fd5b610c616064610c5383683635c9adc5dea00000611d0790919063ffffffff16565b611d8290919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610c9891906130c5565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d32611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690613005565b60405180910390fd5b600f60149054906101000a900460ff1615610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0690613085565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9f30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061129e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee557600080fd5b505afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061294f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb7919061294f565b6040518363ffffffff1660e01b8152600401610fd4929190612e35565b602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611026919061294f565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110af30610850565b6000806110ba610ad6565b426040518863ffffffff1660e01b81526004016110dc96959493929190612e87565b6060604051808303818588803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190612afb565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612e5e565b602060405180830381600087803b15801561125a57600080fd5b505af115801561126e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112929190612aa9565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612f65565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145c91906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090613045565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612f25565b60405180910390fd5b6000811161158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390613025565b60405180910390fd5b611594610ad6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160257506115d2610ad6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b7257600f60179054906101000a900460ff1615611835573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561168457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116de5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117385750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561183457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661177e611296565b73ffffffffffffffffffffffffffffffffffffffff1614806117f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc611296565b73ffffffffffffffffffffffffffffffffffffffff16145b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a906130a5565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118e257600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561198d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fb5750600f60179054906101000a900460ff165b15611ab85742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4b57600080fd5b601054811115611a5a57600080fd5b6001601154611a699190613282565b42611a7491906131fb565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611ac330610850565b9050600f60159054906101000a900460ff16158015611b305750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b485750600f60169054906101000a900460ff165b15611b7057611b5681611dcc565b60004790506000811115611b6e57611b6d476120c6565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c195750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611c2357600090505b611c2f848484846121c1565b50505050565b6000838311158290611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c749190612f03565b60405180910390fd5b5060008385611c8c91906132dc565b9050809150509392505050565b6000600654821115611ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd790612f45565b60405180910390fd5b6000611cea6121ee565b9050611cff8184611d8290919063ffffffff16565b915050919050565b600080831415611d1a5760009050611d7c565b60008284611d289190613282565b9050828482611d379190613251565b14611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90612fe5565b60405180910390fd5b809150505b92915050565b6000611dc483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612219565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e585781602001602082028036833780820191505090505b5090503081600081518110611e96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3857600080fd5b505afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f70919061294f565b81600181518110611faa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061201130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120759594939291906130e0565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612116600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612141573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612192600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121bd573d6000803e3d6000fd5b5050565b806121cf576121ce61227c565b5b6121da8484846122ad565b806121e8576121e7612478565b5b50505050565b60008060006121fb61248a565b915091506122128183611d8290919063ffffffff16565b9250505090565b60008083118290612260576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122579190612f03565b60405180910390fd5b506000838561226f9190613251565b9050809150509392505050565b600060085414801561229057506000600954145b1561229a576122ab565b600060088190555060006009819055505b565b6000806000806000806122bf876124ec565b95509550955095509550955061231d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123b285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fe816125fc565b61240884836126b9565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161246591906130c5565b60405180910390a3505050505050505050565b6005600881905550600a600981905550565b600080600060065490506000683635c9adc5dea0000090506124c0683635c9adc5dea00000600654611d8290919063ffffffff16565b8210156124df57600654683635c9adc5dea000009350935050506124e8565b81819350935050505b9091565b60008060008060008060008060006125098a6008546009546126f3565b92509250925060006125196121ee565b9050600080600061252c8e878787612789565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061259683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c35565b905092915050565b60008082846125ad91906131fb565b9050838110156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e990612f85565b60405180910390fd5b8091505092915050565b60006126066121ee565b9050600061261d8284611d0790919063ffffffff16565b905061267181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126ce8260065461255490919063ffffffff16565b6006819055506126e98160075461259e90919063ffffffff16565b6007819055505050565b60008060008061271f6064612711888a611d0790919063ffffffff16565b611d8290919063ffffffff16565b90506000612749606461273b888b611d0790919063ffffffff16565b611d8290919063ffffffff16565b9050600061277282612764858c61255490919063ffffffff16565b61255490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127a28589611d0790919063ffffffff16565b905060006127b98689611d0790919063ffffffff16565b905060006127d08789611d0790919063ffffffff16565b905060006127f9826127eb858761255490919063ffffffff16565b61255490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006128256128208461317a565b613155565b9050808382526020820190508285602086028201111561284457600080fd5b60005b85811015612874578161285a888261287e565b845260208401935060208301925050600181019050612847565b5050509392505050565b60008135905061288d816137e1565b92915050565b6000815190506128a2816137e1565b92915050565b600082601f8301126128b957600080fd5b81356128c9848260208601612812565b91505092915050565b6000813590506128e1816137f8565b92915050565b6000815190506128f6816137f8565b92915050565b60008135905061290b8161380f565b92915050565b6000815190506129208161380f565b92915050565b60006020828403121561293857600080fd5b60006129468482850161287e565b91505092915050565b60006020828403121561296157600080fd5b600061296f84828501612893565b91505092915050565b6000806040838503121561298b57600080fd5b60006129998582860161287e565b92505060206129aa8582860161287e565b9150509250929050565b6000806000606084860312156129c957600080fd5b60006129d78682870161287e565b93505060206129e88682870161287e565b92505060406129f9868287016128fc565b9150509250925092565b60008060408385031215612a1657600080fd5b6000612a248582860161287e565b9250506020612a35858286016128fc565b9150509250929050565b600060208284031215612a5157600080fd5b600082013567ffffffffffffffff811115612a6b57600080fd5b612a77848285016128a8565b91505092915050565b600060208284031215612a9257600080fd5b6000612aa0848285016128d2565b91505092915050565b600060208284031215612abb57600080fd5b6000612ac9848285016128e7565b91505092915050565b600060208284031215612ae457600080fd5b6000612af2848285016128fc565b91505092915050565b600080600060608486031215612b1057600080fd5b6000612b1e86828701612911565b9350506020612b2f86828701612911565b9250506040612b4086828701612911565b9150509250925092565b6000612b568383612b62565b60208301905092915050565b612b6b81613310565b82525050565b612b7a81613310565b82525050565b6000612b8b826131b6565b612b9581856131d9565b9350612ba0836131a6565b8060005b83811015612bd1578151612bb88882612b4a565b9750612bc3836131cc565b925050600181019050612ba4565b5085935050505092915050565b612be781613322565b82525050565b612bf681613365565b82525050565b6000612c07826131c1565b612c1181856131ea565b9350612c21818560208601613377565b612c2a816134b1565b840191505092915050565b6000612c426023836131ea565b9150612c4d826134c2565b604082019050919050565b6000612c65602a836131ea565b9150612c7082613511565b604082019050919050565b6000612c886022836131ea565b9150612c9382613560565b604082019050919050565b6000612cab601b836131ea565b9150612cb6826135af565b602082019050919050565b6000612cce601b836131ea565b9150612cd9826135d8565b602082019050919050565b6000612cf1601d836131ea565b9150612cfc82613601565b602082019050919050565b6000612d146021836131ea565b9150612d1f8261362a565b604082019050919050565b6000612d376020836131ea565b9150612d4282613679565b602082019050919050565b6000612d5a6029836131ea565b9150612d65826136a2565b604082019050919050565b6000612d7d6025836131ea565b9150612d88826136f1565b604082019050919050565b6000612da06024836131ea565b9150612dab82613740565b604082019050919050565b6000612dc3601a836131ea565b9150612dce8261378f565b602082019050919050565b6000612de66011836131ea565b9150612df1826137b8565b602082019050919050565b612e058161334e565b82525050565b612e1481613358565b82525050565b6000602082019050612e2f6000830184612b71565b92915050565b6000604082019050612e4a6000830185612b71565b612e576020830184612b71565b9392505050565b6000604082019050612e736000830185612b71565b612e806020830184612dfc565b9392505050565b600060c082019050612e9c6000830189612b71565b612ea96020830188612dfc565b612eb66040830187612bed565b612ec36060830186612bed565b612ed06080830185612b71565b612edd60a0830184612dfc565b979650505050505050565b6000602082019050612efd6000830184612bde565b92915050565b60006020820190508181036000830152612f1d8184612bfc565b905092915050565b60006020820190508181036000830152612f3e81612c35565b9050919050565b60006020820190508181036000830152612f5e81612c58565b9050919050565b60006020820190508181036000830152612f7e81612c7b565b9050919050565b60006020820190508181036000830152612f9e81612c9e565b9050919050565b60006020820190508181036000830152612fbe81612cc1565b9050919050565b60006020820190508181036000830152612fde81612ce4565b9050919050565b60006020820190508181036000830152612ffe81612d07565b9050919050565b6000602082019050818103600083015261301e81612d2a565b9050919050565b6000602082019050818103600083015261303e81612d4d565b9050919050565b6000602082019050818103600083015261305e81612d70565b9050919050565b6000602082019050818103600083015261307e81612d93565b9050919050565b6000602082019050818103600083015261309e81612db6565b9050919050565b600060208201905081810360008301526130be81612dd9565b9050919050565b60006020820190506130da6000830184612dfc565b92915050565b600060a0820190506130f56000830188612dfc565b6131026020830187612bed565b81810360408301526131148186612b80565b90506131236060830185612b71565b6131306080830184612dfc565b9695505050505050565b600060208201905061314f6000830184612e0b565b92915050565b600061315f613170565b905061316b82826133aa565b919050565b6000604051905090565b600067ffffffffffffffff82111561319557613194613482565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132068261334e565b91506132118361334e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561324657613245613424565b5b828201905092915050565b600061325c8261334e565b91506132678361334e565b92508261327757613276613453565b5b828204905092915050565b600061328d8261334e565b91506132988361334e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132d1576132d0613424565b5b828202905092915050565b60006132e78261334e565b91506132f28361334e565b92508282101561330557613304613424565b5b828203905092915050565b600061331b8261332e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133708261334e565b9050919050565b60005b8381101561339557808201518184015260208101905061337a565b838111156133a4576000848401525b50505050565b6133b3826134b1565b810181811067ffffffffffffffff821117156133d2576133d1613482565b5b80604052505050565b60006133e68261334e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561341957613418613424565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b6137ea81613310565b81146137f557600080fd5b50565b61380181613322565b811461380c57600080fd5b50565b6138188161334e565b811461382357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f795130114d36d3adddc0547ef176b727cbc201719a9ac5a70c6d5b41699523064736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000703f02def2ad86f710bf5a967c6ebc8fa0180414000000000000000000000000be33ffb1b4ffbe11a9650aad2a46a31111c96455
-----Decoded View---------------
Arg [0] : addr1 (address): 0x703F02dEf2ad86f710bf5a967c6EbC8fA0180414
Arg [1] : addr2 (address): 0xbe33ffb1b4FfBe11A9650aaD2a46a31111c96455
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000703f02def2ad86f710bf5a967c6ebc8fa0180414
Arg [1] : 000000000000000000000000be33ffb1b4ffbe11a9650aad2a46a31111c96455
Deployed Bytecode Sourcemap
4248:12181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12362:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6140:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6992:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6417:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7161:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6326:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7615:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12539:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6520:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3200:148;;;;;;;;;;;;;:::i;:::-;;16238:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2986:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6231:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6666:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15975:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6841:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11337:1017;;;;;;;;;;;;;:::i;:::-;;12362:169;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12438:9:::1;12433:91;12457:5;:12;12453:1;:16;12433:91;;;12508:4;12491;:14;12496:5;12502:1;12496:8;;;;;;;;;;;;;;;;;;;;;;12491:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12471:3;;;;;:::i;:::-;;;;12433:91;;;;12362:169:::0;:::o;6140:83::-;6177:13;6210:5;;;;;;;;;;;;;;;;;6203:12;;6140:83;:::o;6992:161::-;7067:4;7084:39;7093:12;:10;:12::i;:::-;7107:7;7116:6;7084:8;:39::i;:::-;7141:4;7134:11;;6992:161;;;;:::o;6417:95::-;6470:7;4833:21;6490:14;;6417:95;:::o;7161:446::-;7293:4;7310:36;7320:6;7328:9;7339:6;7310:9;:36::i;:::-;7357:220;7380:6;7401:12;:10;:12::i;:::-;7428:138;7484:6;7428:138;;;;;;;;;;;;;;;;;:11;:19;7440:6;7428:19;;;;;;;;;;;;;;;:33;7448:12;:10;:12::i;:::-;7428:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7357:8;:220::i;:::-;7595:4;7588:11;;7161:446;;;;;:::o;6326:83::-;6367:5;4495:1;6385:16;;6326:83;:::o;7615:111::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7709:9:::1;7691:15;;:27;;;;;;;;;;;;;;;;;;7615:111:::0;:::o;12539:92::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12618:5:::1;12603:4;:12;12608:6;12603:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12539:92:::0;:::o;6520:138::-;6586:7;6613:37;6633:7;:16;6641:7;6633:16;;;;;;;;;;;;;;;;6613:19;:37::i;:::-;6606:44;;6520:138;;;:::o;3200:148::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3307:1:::1;3270:40;;3291:6;::::0;::::1;;;;;;;;3270:40;;;;;;;;;;;;3338:1;3321:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3200:148::o:0;16238:188::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16343:1:::1;16328:12;:16;16320:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16406:12;16387:16;:31;;;;16238:188:::0;:::o;2986:79::-;3024:7;3051:6;;;;;;;;;;;3044:13;;2986:79;:::o;6231:87::-;6270:13;6303:7;;;;;;;;;;;;;;;;;6296:14;;6231:87;:::o;6666:167::-;6744:4;6761:42;6771:12;:10;:12::i;:::-;6785:9;6796:6;6761:9;:42::i;:::-;6821:4;6814:11;;6666:167;;;;:::o;15975:255::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16077:1:::1;16062:12;:16;16054:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16138:36;16168:5;16138:25;16150:12;4833:21;16138:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16123:12;:51;;;;16190:32;16209:12;;16190:32;;;;;;:::i;:::-;;;;;;;;15975:255:::0;:::o;6841:143::-;6922:7;6949:11;:18;6961:5;6949:18;;;;;;;;;;;;;;;:27;6968:7;6949:27;;;;;;;;;;;;;;;;6942:34;;6841:143;;;;:::o;11337:1017::-;3123:12;:10;:12::i;:::-;3113:22;;:6;;;;;;;;;;:22;;;3105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11405:11:::1;;;;;;;;;;;11404:12;11396:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;11458:35;11515:42;11458:100;;11587:16;11569:15;;:34;;;;;;;;;;;;;;;;;;11614:58;11631:4;11646:15;;;;;;;;;;;4833:21;11614:8;:58::i;:::-;11717:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11699:70;;;11778:4;11785:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11699:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11683:13;;:126;;;;;;;;;;;;;;;;;;11820:15;;;;;;;;;;;:31;;;11859:21;11904:4;11924:24;11942:4;11924:9;:24::i;:::-;11963:1;11979::::0;11995:7:::1;:5;:7::i;:::-;12017:15;11820:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12068:4;12054:11;;:18;;;;;;;;;;;;;;;;;;12101:4;12083:15;;:22;;;;;;;;;;;;;;;;;;12126:1;12116:7;:11;;;;12149:2;12138:8;:13;;;;12177:18;12162:12;:33;;;;12220:4;12206:11;;:18;;;;;;;;;;;;;;;;;;12242:13;;;;;;;;;;;12235:29;;;12287:15;;;;;;;;;;;12318:17;12235:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3183:1;11337:1017::o:0;1813:98::-;1866:7;1893:10;1886:17;;1813:98;:::o;8305:369::-;8449:1;8432:19;;:5;:19;;;;8424:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8530:1;8511:21;;:7;:21;;;;8503:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8612:6;8582:11;:18;8594:5;8582:18;;;;;;;;;;;;;;;:27;8601:7;8582:27;;;;;;;;;;;;;;;:36;;;;8650:7;8634:32;;8643:5;8634:32;;;8659:6;8634:32;;;;;;:::i;:::-;;;;;;;;8305:369;;;:::o;8682:1997::-;8820:1;8804:18;;:4;:18;;;;8796:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8897:1;8883:16;;:2;:16;;;;8875:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8967:1;8958:6;:10;8950:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9039:7;:5;:7::i;:::-;9031:15;;:4;:15;;;;:32;;;;;9056:7;:5;:7::i;:::-;9050:13;;:2;:13;;;;9031:32;9027:1451;;;9084:15;;;;;;;;;;;9080:526;;;9162:4;9146:21;;:4;:21;;;;:65;;;;;9206:4;9192:19;;:2;:19;;;;9146:65;:122;;;;;9252:15;;;;;;;;;;;9236:32;;:4;:32;;;;9146:122;:177;;;;;9307:15;;;;;;;;;;;9293:30;;:2;:30;;;;9146:177;9120:471;;;9424:15;;;;;;;;;;;9400:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9489:13;;;;;;;;;;;9473:29;;:12;:10;:12::i;:::-;:29;;;9400:102;9366:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;9120:471;9080:526;9629:4;:10;9634:4;9629:10;;;;;;;;;;;;;;;;;;;;;;;;;9628:11;:24;;;;;9644:4;:8;9649:2;9644:8;;;;;;;;;;;;;;;;;;;;;;;;;9643:9;9628:24;9620:33;;;;;;9698:13;;;;;;;;;;;9690:21;;:4;:21;;;:72;;;;;9746:15;;;;;;;;;;;9732:30;;:2;:30;;;;9690:72;:116;;;;;9784:18;:22;9803:2;9784:22;;;;;;;;;;;;;;;;;;;;;;;;;9783:23;9690:116;:152;;;;;9827:15;;;;;;;;;;;9690:152;9668:396;;;9900:15;9885:8;:12;9894:2;9885:12;;;;;;;;;;;;;;;;:30;9877:39;;;;;;9953:12;;9943:6;:22;;9935:31;;;;;;10038:9;10019:16;;:28;;;;:::i;:::-;10000:15;:48;;;;:::i;:::-;9985:8;:12;9994:2;9985:12;;;;;;;;;;;;;;;:63;;;;9668:396;10078:28;10109:24;10127:4;10109:9;:24::i;:::-;10078:55;;10153:6;;;;;;;;;;;10152:7;:32;;;;;10171:13;;;;;;;;;;;10163:21;;:4;:21;;;;10152:32;:47;;;;;10188:11;;;;;;;;;;;10152:47;10148:319;;;10220:38;10237:20;10220:16;:38::i;:::-;10277:26;10306:21;10277:50;;10371:1;10350:18;:22;10346:106;;;10397:35;10410:21;10397:12;:35::i;:::-;10346:106;10148:319;;9027:1451;;10488:12;10503:4;10488:19;;10524:18;:24;10543:4;10524:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10552:18;:22;10571:2;10552:22;;;;;;;;;;;;;;;;;;;;;;;;;10524:50;10520:98;;;10601:5;10591:15;;10520:98;10630:41;10645:4;10651:2;10655:6;10663:7;10630:14;:41::i;:::-;8682:1997;;;;:::o;924:224::-;1044:7;1077:1;1072;:6;;1080:12;1064:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1104:9;1120:1;1116;:5;;;;:::i;:::-;1104:17;;1139:1;1132:8;;;924:224;;;;;:::o;7734:323::-;7829:7;7887;;7876;:18;;7854:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7975:19;7997:10;:8;:10::i;:::-;7975:32;;8025:24;8037:11;8025:7;:11;;:24;;;;:::i;:::-;8018:31;;;7734:323;;;:::o;1156:246::-;1214:7;1243:1;1238;:6;1234:47;;;1268:1;1261:8;;;;1234:47;1291:9;1307:1;1303;:5;;;;:::i;:::-;1291:17;;1336:1;1331;1327;:5;;;;:::i;:::-;:10;1319:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1393:1;1386:8;;;1156:246;;;;;:::o;1410:132::-;1468:7;1495:39;1499:1;1502;1495:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1488:46;;1410:132;;;;:::o;10687:483::-;5644:4;5635:6;;:13;;;;;;;;;;;;;;;;;;10765:21:::1;10803:1;10789:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10765:40;;10834:4;10816;10821:1;10816:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10860:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10850:4;10855:1;10850:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10893:62;10910:4;10925:15;;;;;;;;;;;10943:11;10893:8;:62::i;:::-;10966:15;;;;;;;;;;;:66;;;11047:11;11073:1;11089:4;11116;11136:15;10966:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5659:1;5680:5:::0;5671:6;;:14;;;;;;;;;;;;;;;;;;10687:483;:::o;11178:151::-;11235:12;;;;;;;;;;;:21;;:36;11257:13;11268:1;11257:6;:10;;:13;;;;:::i;:::-;11235:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11282:15;;;;;;;;;;;:24;;:39;11307:13;11318:1;11307:6;:10;;:13;;;;:::i;:::-;11282:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11178:151;:::o;12639:282::-;12795:7;12790:28;;12804:14;:12;:14::i;:::-;12790:28;12829:44;12847:6;12855:9;12866:6;12829:17;:44::i;:::-;12889:7;12884:29;;12898:15;:13;:15::i;:::-;12884:29;12639:282;;;;:::o;15534:166::-;15576:7;15597:15;15614;15633:19;:17;:19::i;:::-;15596:56;;;;15672:20;15684:7;15672;:11;;:20;;;;:::i;:::-;15665:27;;;;15534:166;:::o;1550:223::-;1670:7;1702:1;1698;:5;1705:12;1690:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1729:9;1745:1;1741;:5;;;;:::i;:::-;1729:17;;1764:1;1757:8;;;1550:223;;;;;:::o;8065:137::-;8123:1;8112:7;;:12;:29;;;;;8140:1;8128:8;;:13;8112:29;8108:42;;;8143:7;;8108:42;8170:1;8160:7;:11;;;;8193:1;8182:8;:12;;;;8065:137;:::o;12929:610::-;13076:15;13106:23;13144:12;13171:23;13209:12;13236:13;13263:19;13274:7;13263:10;:19::i;:::-;13061:221;;;;;;;;;;;;13311:28;13331:7;13311;:15;13319:6;13311:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13293:7;:15;13301:6;13293:15;;;;;;;;;;;;;;;:46;;;;13371:39;13394:15;13371:7;:18;13379:9;13371:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13350:7;:18;13358:9;13350:18;;;;;;;;;;;;;;;:60;;;;13421:16;13431:5;13421:9;:16::i;:::-;13448:23;13460:4;13466;13448:11;:23::i;:::-;13504:9;13487:44;;13496:6;13487:44;;;13515:15;13487:44;;;;;;:::i;:::-;;;;;;;;12929:610;;;;;;;;;:::o;8210:87::-;8264:1;8254:7;:11;;;;8287:2;8276:8;:13;;;;8210:87::o;15708:259::-;15759:7;15768;15788:15;15806:7;;15788:25;;15824:15;4833:21;15824:25;;15874:20;4833:21;15874:7;;:11;;:20;;;;:::i;:::-;15864:7;:30;15860:61;;;15904:7;;4833:21;15896:25;;;;;;;;15860:61;15942:7;15951;15934:25;;;;;;15708:259;;;:::o;13958:624::-;14058:7;14080;14102;14124;14146;14168;14204:23;14229:12;14243:13;14273:39;14285:7;14294;;14303:8;;14273:11;:39::i;:::-;14203:109;;;;;;14323:19;14345:10;:8;:10::i;:::-;14323:32;;14367:15;14384:23;14409:12;14438:46;14450:7;14459:4;14465:5;14472:11;14438;:46::i;:::-;14366:118;;;;;;14513:7;14522:15;14539:4;14545:15;14562:4;14568:5;14505:69;;;;;;;;;;;;;;;;;;;13958:624;;;;;;;:::o;780:136::-;838:7;865:43;869:1;872;865:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;858:50;;780:136;;;;:::o;593:179::-;651:7;671:9;687:1;683;:5;;;;:::i;:::-;671:17;;712:1;707;:6;;699:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;763:1;756:8;;;593:179;;;;:::o;13547:211::-;13600:19;13622:10;:8;:10::i;:::-;13600:32;;13643:13;13659:22;13669:11;13659:5;:9;;:22;;;;:::i;:::-;13643:38;;13717:33;13744:5;13717:7;:22;13733:4;13717:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13692:7;:22;13708:4;13692:22;;;;;;;;;;;;;;;:58;;;;13547:211;;;:::o;13766:147::-;13844:17;13856:4;13844:7;;:11;;:17;;;;:::i;:::-;13834:7;:27;;;;13885:20;13900:4;13885:10;;:14;;:20;;;;:::i;:::-;13872:10;:33;;;;13766:147;;:::o;14590:435::-;14724:7;14746;14768;14803:12;14818:28;14842:3;14818:19;14830:6;14818:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14803:43;;14857:13;14873:29;14898:3;14873:20;14885:7;14873;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14857:45;;14913:23;14939:28;14961:5;14939:17;14951:4;14939:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14913:54;;14988:15;15005:4;15011:5;14980:37;;;;;;;;;14590:435;;;;;;;:::o;15033:493::-;15184:7;15206;15228;15263:15;15281:24;15293:11;15281:7;:11;;:24;;;;:::i;:::-;15263:42;;15316:12;15331:21;15340:11;15331:4;:8;;:21;;;;:::i;:::-;15316:36;;15363:13;15379:22;15389:11;15379:5;:9;;:22;;;;:::i;:::-;15363:38;;15412:23;15438:28;15460:5;15438:17;15450:4;15438:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15412:54;;15487:7;15496:15;15513:4;15479:39;;;;;;;;;;15033:493;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:262::-;4839:6;4888:2;4876:9;4867:7;4863:23;4859:32;4856:2;;;4904:1;4901;4894:12;4856:2;4947:1;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4918:117;4846:196;;;;:::o;5048:596::-;5136:6;5144;5152;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5260:1;5285:64;5341:7;5332:6;5321:9;5317:22;5285:64;:::i;:::-;5275:74;;5231:128;5398:2;5424:64;5480:7;5471:6;5460:9;5456:22;5424:64;:::i;:::-;5414:74;;5369:129;5537:2;5563:64;5619:7;5610:6;5599:9;5595:22;5563:64;:::i;:::-;5553:74;;5508:129;5159:485;;;;;:::o;5650:179::-;5719:10;5740:46;5782:3;5774:6;5740:46;:::i;:::-;5818:4;5813:3;5809:14;5795:28;;5730:99;;;;:::o;5835:108::-;5912:24;5930:5;5912:24;:::i;:::-;5907:3;5900:37;5890:53;;:::o;5949:118::-;6036:24;6054:5;6036:24;:::i;:::-;6031:3;6024:37;6014:53;;:::o;6103:732::-;6222:3;6251:54;6299:5;6251:54;:::i;:::-;6321:86;6400:6;6395:3;6321:86;:::i;:::-;6314:93;;6431:56;6481:5;6431:56;:::i;:::-;6510:7;6541:1;6526:284;6551:6;6548:1;6545:13;6526:284;;;6627:6;6621:13;6654:63;6713:3;6698:13;6654:63;:::i;:::-;6647:70;;6740:60;6793:6;6740:60;:::i;:::-;6730:70;;6586:224;6573:1;6570;6566:9;6561:14;;6526:284;;;6530:14;6826:3;6819:10;;6227:608;;;;;;;:::o;6841:109::-;6922:21;6937:5;6922:21;:::i;:::-;6917:3;6910:34;6900:50;;:::o;6956:147::-;7051:45;7090:5;7051:45;:::i;:::-;7046:3;7039:58;7029:74;;:::o;7109:364::-;7197:3;7225:39;7258:5;7225:39;:::i;:::-;7280:71;7344:6;7339:3;7280:71;:::i;:::-;7273:78;;7360:52;7405:6;7400:3;7393:4;7386:5;7382:16;7360:52;:::i;:::-;7437:29;7459:6;7437:29;:::i;:::-;7432:3;7428:39;7421:46;;7201:272;;;;;:::o;7479:366::-;7621:3;7642:67;7706:2;7701:3;7642:67;:::i;:::-;7635:74;;7718:93;7807:3;7718:93;:::i;:::-;7836:2;7831:3;7827:12;7820:19;;7625:220;;;:::o;7851:366::-;7993:3;8014:67;8078:2;8073:3;8014:67;:::i;:::-;8007:74;;8090:93;8179:3;8090:93;:::i;:::-;8208:2;8203:3;8199:12;8192:19;;7997:220;;;:::o;8223:366::-;8365:3;8386:67;8450:2;8445:3;8386:67;:::i;:::-;8379:74;;8462:93;8551:3;8462:93;:::i;:::-;8580:2;8575:3;8571:12;8564:19;;8369:220;;;:::o;8595:366::-;8737:3;8758:67;8822:2;8817:3;8758:67;:::i;:::-;8751:74;;8834:93;8923:3;8834:93;:::i;:::-;8952:2;8947:3;8943:12;8936:19;;8741:220;;;:::o;8967:366::-;9109:3;9130:67;9194:2;9189:3;9130:67;:::i;:::-;9123:74;;9206:93;9295:3;9206:93;:::i;:::-;9324:2;9319:3;9315:12;9308:19;;9113:220;;;:::o;9339:366::-;9481:3;9502:67;9566:2;9561:3;9502:67;:::i;:::-;9495:74;;9578:93;9667:3;9578:93;:::i;:::-;9696:2;9691:3;9687:12;9680:19;;9485:220;;;:::o;9711:366::-;9853:3;9874:67;9938:2;9933:3;9874:67;:::i;:::-;9867:74;;9950:93;10039:3;9950:93;:::i;:::-;10068:2;10063:3;10059:12;10052:19;;9857:220;;;:::o;10083:366::-;10225:3;10246:67;10310:2;10305:3;10246:67;:::i;:::-;10239:74;;10322:93;10411:3;10322:93;:::i;:::-;10440:2;10435:3;10431:12;10424:19;;10229:220;;;:::o;10455:366::-;10597:3;10618:67;10682:2;10677:3;10618:67;:::i;:::-;10611:74;;10694:93;10783:3;10694:93;:::i;:::-;10812:2;10807:3;10803:12;10796:19;;10601:220;;;:::o;10827:366::-;10969:3;10990:67;11054:2;11049:3;10990:67;:::i;:::-;10983:74;;11066:93;11155:3;11066:93;:::i;:::-;11184:2;11179:3;11175:12;11168:19;;10973:220;;;:::o;11199:366::-;11341:3;11362:67;11426:2;11421:3;11362:67;:::i;:::-;11355:74;;11438:93;11527:3;11438:93;:::i;:::-;11556:2;11551:3;11547:12;11540:19;;11345:220;;;:::o;11571:366::-;11713:3;11734:67;11798:2;11793:3;11734:67;:::i;:::-;11727:74;;11810:93;11899:3;11810:93;:::i;:::-;11928:2;11923:3;11919:12;11912:19;;11717:220;;;:::o;11943:366::-;12085:3;12106:67;12170:2;12165:3;12106:67;:::i;:::-;12099:74;;12182:93;12271:3;12182:93;:::i;:::-;12300:2;12295:3;12291:12;12284:19;;12089:220;;;:::o;12315:118::-;12402:24;12420:5;12402:24;:::i;:::-;12397:3;12390:37;12380:53;;:::o;12439:112::-;12522:22;12538:5;12522:22;:::i;:::-;12517:3;12510:35;12500:51;;:::o;12557:222::-;12650:4;12688:2;12677:9;12673:18;12665:26;;12701:71;12769:1;12758:9;12754:17;12745:6;12701:71;:::i;:::-;12655:124;;;;:::o;12785:332::-;12906:4;12944:2;12933:9;12929:18;12921:26;;12957:71;13025:1;13014:9;13010:17;13001:6;12957:71;:::i;:::-;13038:72;13106:2;13095:9;13091:18;13082:6;13038:72;:::i;:::-;12911:206;;;;;:::o;13123:332::-;13244:4;13282:2;13271:9;13267:18;13259:26;;13295:71;13363:1;13352:9;13348:17;13339:6;13295:71;:::i;:::-;13376:72;13444:2;13433:9;13429:18;13420:6;13376:72;:::i;:::-;13249:206;;;;;:::o;13461:807::-;13710:4;13748:3;13737:9;13733:19;13725:27;;13762:71;13830:1;13819:9;13815:17;13806:6;13762:71;:::i;:::-;13843:72;13911:2;13900:9;13896:18;13887:6;13843:72;:::i;:::-;13925:80;14001:2;13990:9;13986:18;13977:6;13925:80;:::i;:::-;14015;14091:2;14080:9;14076:18;14067:6;14015:80;:::i;:::-;14105:73;14173:3;14162:9;14158:19;14149:6;14105:73;:::i;:::-;14188;14256:3;14245:9;14241:19;14232:6;14188:73;:::i;:::-;13715:553;;;;;;;;;:::o;14274:210::-;14361:4;14399:2;14388:9;14384:18;14376:26;;14412:65;14474:1;14463:9;14459:17;14450:6;14412:65;:::i;:::-;14366:118;;;;:::o;14490:313::-;14603:4;14641:2;14630:9;14626:18;14618:26;;14690:9;14684:4;14680:20;14676:1;14665:9;14661:17;14654:47;14718:78;14791:4;14782:6;14718:78;:::i;:::-;14710:86;;14608:195;;;;:::o;14809:419::-;14975:4;15013:2;15002:9;14998:18;14990:26;;15062:9;15056:4;15052:20;15048:1;15037:9;15033:17;15026:47;15090:131;15216:4;15090:131;:::i;:::-;15082:139;;14980:248;;;:::o;15234:419::-;15400:4;15438:2;15427:9;15423:18;15415:26;;15487:9;15481:4;15477:20;15473:1;15462:9;15458:17;15451:47;15515:131;15641:4;15515:131;:::i;:::-;15507:139;;15405:248;;;:::o;15659:419::-;15825:4;15863:2;15852:9;15848:18;15840:26;;15912:9;15906:4;15902:20;15898:1;15887:9;15883:17;15876:47;15940:131;16066:4;15940:131;:::i;:::-;15932:139;;15830:248;;;:::o;16084:419::-;16250:4;16288:2;16277:9;16273:18;16265:26;;16337:9;16331:4;16327:20;16323:1;16312:9;16308:17;16301:47;16365:131;16491:4;16365:131;:::i;:::-;16357:139;;16255:248;;;:::o;16509:419::-;16675:4;16713:2;16702:9;16698:18;16690:26;;16762:9;16756:4;16752:20;16748:1;16737:9;16733:17;16726:47;16790:131;16916:4;16790:131;:::i;:::-;16782:139;;16680:248;;;:::o;16934:419::-;17100:4;17138:2;17127:9;17123:18;17115:26;;17187:9;17181:4;17177:20;17173:1;17162:9;17158:17;17151:47;17215:131;17341:4;17215:131;:::i;:::-;17207:139;;17105:248;;;:::o;17359:419::-;17525:4;17563:2;17552:9;17548:18;17540:26;;17612:9;17606:4;17602:20;17598:1;17587:9;17583:17;17576:47;17640:131;17766:4;17640:131;:::i;:::-;17632:139;;17530:248;;;:::o;17784:419::-;17950:4;17988:2;17977:9;17973:18;17965:26;;18037:9;18031:4;18027:20;18023:1;18012:9;18008:17;18001:47;18065:131;18191:4;18065:131;:::i;:::-;18057:139;;17955:248;;;:::o;18209:419::-;18375:4;18413:2;18402:9;18398:18;18390:26;;18462:9;18456:4;18452:20;18448:1;18437:9;18433:17;18426:47;18490:131;18616:4;18490:131;:::i;:::-;18482:139;;18380:248;;;:::o;18634:419::-;18800:4;18838:2;18827:9;18823:18;18815:26;;18887:9;18881:4;18877:20;18873:1;18862:9;18858:17;18851:47;18915:131;19041:4;18915:131;:::i;:::-;18907:139;;18805:248;;;:::o;19059:419::-;19225:4;19263:2;19252:9;19248:18;19240:26;;19312:9;19306:4;19302:20;19298:1;19287:9;19283:17;19276:47;19340:131;19466:4;19340:131;:::i;:::-;19332:139;;19230:248;;;:::o;19484:419::-;19650:4;19688:2;19677:9;19673:18;19665:26;;19737:9;19731:4;19727:20;19723:1;19712:9;19708:17;19701:47;19765:131;19891:4;19765:131;:::i;:::-;19757:139;;19655:248;;;:::o;19909:419::-;20075:4;20113:2;20102:9;20098:18;20090:26;;20162:9;20156:4;20152:20;20148:1;20137:9;20133:17;20126:47;20190:131;20316:4;20190:131;:::i;:::-;20182:139;;20080:248;;;:::o;20334:222::-;20427:4;20465:2;20454:9;20450:18;20442:26;;20478:71;20546:1;20535:9;20531:17;20522:6;20478:71;:::i;:::-;20432:124;;;;:::o;20562:831::-;20825:4;20863:3;20852:9;20848:19;20840:27;;20877:71;20945:1;20934:9;20930:17;20921:6;20877:71;:::i;:::-;20958:80;21034:2;21023:9;21019:18;21010:6;20958:80;:::i;:::-;21085:9;21079:4;21075:20;21070:2;21059:9;21055:18;21048:48;21113:108;21216:4;21207:6;21113:108;:::i;:::-;21105:116;;21231:72;21299:2;21288:9;21284:18;21275:6;21231:72;:::i;:::-;21313:73;21381:3;21370:9;21366:19;21357:6;21313:73;:::i;:::-;20830:563;;;;;;;;:::o;21399:214::-;21488:4;21526:2;21515:9;21511:18;21503:26;;21539:67;21603:1;21592:9;21588:17;21579:6;21539:67;:::i;:::-;21493:120;;;;:::o;21619:129::-;21653:6;21680:20;;:::i;:::-;21670:30;;21709:33;21737:4;21729:6;21709:33;:::i;:::-;21660:88;;;:::o;21754:75::-;21787:6;21820:2;21814:9;21804:19;;21794:35;:::o;21835:311::-;21912:4;22002:18;21994:6;21991:30;21988:2;;;22024:18;;:::i;:::-;21988:2;22074:4;22066:6;22062:17;22054:25;;22134:4;22128;22124:15;22116:23;;21917:229;;;:::o;22152:132::-;22219:4;22242:3;22234:11;;22272:4;22267:3;22263:14;22255:22;;22224:60;;;:::o;22290:114::-;22357:6;22391:5;22385:12;22375:22;;22364:40;;;:::o;22410:99::-;22462:6;22496:5;22490:12;22480:22;;22469:40;;;:::o;22515:113::-;22585:4;22617;22612:3;22608:14;22600:22;;22590:38;;;:::o;22634:184::-;22733:11;22767:6;22762:3;22755:19;22807:4;22802:3;22798:14;22783:29;;22745:73;;;;:::o;22824:169::-;22908:11;22942:6;22937:3;22930:19;22982:4;22977:3;22973:14;22958:29;;22920:73;;;;:::o;22999:305::-;23039:3;23058:20;23076:1;23058:20;:::i;:::-;23053:25;;23092:20;23110:1;23092:20;:::i;:::-;23087:25;;23246:1;23178:66;23174:74;23171:1;23168:81;23165:2;;;23252:18;;:::i;:::-;23165:2;23296:1;23293;23289:9;23282:16;;23043:261;;;;:::o;23310:185::-;23350:1;23367:20;23385:1;23367:20;:::i;:::-;23362:25;;23401:20;23419:1;23401:20;:::i;:::-;23396:25;;23440:1;23430:2;;23445:18;;:::i;:::-;23430:2;23487:1;23484;23480:9;23475:14;;23352:143;;;;:::o;23501:348::-;23541:7;23564:20;23582:1;23564:20;:::i;:::-;23559:25;;23598:20;23616:1;23598:20;:::i;:::-;23593:25;;23786:1;23718:66;23714:74;23711:1;23708:81;23703:1;23696:9;23689:17;23685:105;23682:2;;;23793:18;;:::i;:::-;23682:2;23841:1;23838;23834:9;23823:20;;23549:300;;;;:::o;23855:191::-;23895:4;23915:20;23933:1;23915:20;:::i;:::-;23910:25;;23949:20;23967:1;23949:20;:::i;:::-;23944:25;;23988:1;23985;23982:8;23979:2;;;23993:18;;:::i;:::-;23979:2;24038:1;24035;24031:9;24023:17;;23900:146;;;;:::o;24052:96::-;24089:7;24118:24;24136:5;24118:24;:::i;:::-;24107:35;;24097:51;;;:::o;24154:90::-;24188:7;24231:5;24224:13;24217:21;24206:32;;24196:48;;;:::o;24250:126::-;24287:7;24327:42;24320:5;24316:54;24305:65;;24295:81;;;:::o;24382:77::-;24419:7;24448:5;24437:16;;24427:32;;;:::o;24465:86::-;24500:7;24540:4;24533:5;24529:16;24518:27;;24508:43;;;:::o;24557:121::-;24615:9;24648:24;24666:5;24648:24;:::i;:::-;24635:37;;24625:53;;;:::o;24684:307::-;24752:1;24762:113;24776:6;24773:1;24770:13;24762:113;;;24861:1;24856:3;24852:11;24846:18;24842:1;24837:3;24833:11;24826:39;24798:2;24795:1;24791:10;24786:15;;24762:113;;;24893:6;24890:1;24887:13;24884:2;;;24973:1;24964:6;24959:3;24955:16;24948:27;24884:2;24733:258;;;;:::o;24997:281::-;25080:27;25102:4;25080:27;:::i;:::-;25072:6;25068:40;25210:6;25198:10;25195:22;25174:18;25162:10;25159:34;25156:62;25153:2;;;25221:18;;:::i;:::-;25153:2;25261:10;25257:2;25250:22;25040:238;;;:::o;25284:233::-;25323:3;25346:24;25364:5;25346:24;:::i;:::-;25337:33;;25392:66;25385:5;25382:77;25379:2;;;25462:18;;:::i;:::-;25379:2;25509:1;25502:5;25498:13;25491:20;;25327:190;;;:::o;25523:180::-;25571:77;25568:1;25561:88;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25709:180;25757:77;25754:1;25747:88;25854:4;25851:1;25844:15;25878:4;25875:1;25868:15;25895:180;25943:77;25940:1;25933:88;26040:4;26037:1;26030:15;26064:4;26061:1;26054:15;26081:102;26122:6;26173:2;26169:7;26164:2;26157:5;26153:14;26149:28;26139:38;;26129:54;;;:::o;26189:222::-;26329:34;26325:1;26317:6;26313:14;26306:58;26398:5;26393:2;26385:6;26381:15;26374:30;26295:116;:::o;26417:229::-;26557:34;26553:1;26545:6;26541:14;26534:58;26626:12;26621:2;26613:6;26609:15;26602:37;26523:123;:::o;26652:221::-;26792:34;26788:1;26780:6;26776:14;26769:58;26861:4;26856:2;26848:6;26844:15;26837:29;26758:115;:::o;26879:177::-;27019:29;27015:1;27007:6;27003:14;26996:53;26985:71;:::o;27062:177::-;27202:29;27198:1;27190:6;27186:14;27179:53;27168:71;:::o;27245:179::-;27385:31;27381:1;27373:6;27369:14;27362:55;27351:73;:::o;27430:220::-;27570:34;27566:1;27558:6;27554:14;27547:58;27639:3;27634:2;27626:6;27622:15;27615:28;27536:114;:::o;27656:182::-;27796:34;27792:1;27784:6;27780:14;27773:58;27762:76;:::o;27844:228::-;27984:34;27980:1;27972:6;27968:14;27961:58;28053:11;28048:2;28040:6;28036:15;28029:36;27950:122;:::o;28078:224::-;28218:34;28214:1;28206:6;28202:14;28195:58;28287:7;28282:2;28274:6;28270:15;28263:32;28184:118;:::o;28308:223::-;28448:34;28444:1;28436:6;28432:14;28425:58;28517:6;28512:2;28504:6;28500:15;28493:31;28414:117;:::o;28537:176::-;28677:28;28673:1;28665:6;28661:14;28654:52;28643:70;:::o;28719:167::-;28859:19;28855:1;28847:6;28843:14;28836:43;28825:61;:::o;28892:122::-;28965:24;28983:5;28965:24;:::i;:::-;28958:5;28955:35;28945:2;;29004:1;29001;28994:12;28945:2;28935:79;:::o;29020:116::-;29090:21;29105:5;29090:21;:::i;:::-;29083:5;29080:32;29070:2;;29126:1;29123;29116:12;29070:2;29060:76;:::o;29142:122::-;29215:24;29233:5;29215:24;:::i;:::-;29208:5;29205:35;29195:2;;29254:1;29251;29244:12;29195:2;29185:79;:::o
Swarm Source
ipfs://f795130114d36d3adddc0547ef176b727cbc201719a9ac5a70c6d5b416995230
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.