ERC-20
Overview
Max Total Supply
1,000,000,000,000 UpKoin
Holders
53
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
563,014,048.367755304 UpKoinValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
UpKoin
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-24 */ // UpKoin ($UpKoin) // Telegram: https://t.me/upkointoken // Website: https://upkoin.space/ // Twitter: https://twitter.com/koin_up // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract UpKoin is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "UpKoin"; string private constant _symbol = "UpKoin"; 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; uint256 private _launchTime; uint256 private _lastSellTime; 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 = 2; _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 ) { if (block.timestamp < _launchTime + 5 minutes) { 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) { require(block.timestamp >= _lastSellTime + 2 minutes, "ERR: Try 2 minutes later"); _lastSellTime = block.timestamp; if (contractTokenBalance > 0) { 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, "Liquidity already added"); 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 = 2; _teamFee = 10; _maxTxAmount = 5000000000 * 10**9; tradingOpen = true; _launchTime = block.timestamp; _lastSellTime = block.timestamp; 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 manualSwap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _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":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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
6080604052683635c9adc5dea000006000196200001d9190620005c1565b6000196200002c919062000548565b600655600560085560056009556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea00000601055601e601155348015620000a957600080fd5b5060405162004129380380620041298339818101604052810190620000cf9190620004d9565b6000620000e16200049160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002186200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004196200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200048191906200052b565b60405180910390a3505062000671565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004d38162000657565b92915050565b60008060408385031215620004ed57600080fd5b6000620004fd85828601620004c2565b92505060206200051085828601620004c2565b9150509250929050565b6200052581620005b7565b82525050565b60006020820190506200054260008301846200051a565b92915050565b60006200055582620005b7565b91506200056283620005b7565b925082821015620005785762000577620005f9565b5b828203905092915050565b6000620005908262000597565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005ce82620005b7565b9150620005db83620005b7565b925082620005ee57620005ed62000628565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006628162000583565b81146200066e57600080fd5b50565b613aa880620006816000396000f3fe6080604052600436106101175760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610383578063d543dbeb146103c0578063dd62ed3e146103e9578063ed99530714610426578063f42938901461043d5761011e565b806370a08231146102b0578063715018a6146102ed5780637b5b1157146103045780638da5cb5b1461032d57806395d89b41146103585761011e565b806323b872dd116100e757806323b872dd146101df578063313ce5671461021c57806351bc3c85146102475780635932ead11461025e5780636b999053146102875761011e565b8062b8cf2a1461012357806306fdde031461014c578063095ea7b31461017757806318160ddd146101b45761011e565b3661011e57005b600080fd5b34801561012f57600080fd5b5061014a60048036038101906101459190612bf7565b610454565b005b34801561015857600080fd5b506101616105a4565b60405161016e91906130de565b60405180910390f35b34801561018357600080fd5b5061019e60048036038101906101999190612bbb565b6105e1565b6040516101ab91906130c3565b60405180910390f35b3480156101c057600080fd5b506101c96105ff565b6040516101d691906132c0565b60405180910390f35b3480156101eb57600080fd5b5061020660048036038101906102019190612b6c565b610610565b60405161021391906130c3565b60405180910390f35b34801561022857600080fd5b506102316106e9565b60405161023e9190613335565b60405180910390f35b34801561025357600080fd5b5061025c6106f2565b005b34801561026a57600080fd5b5061028560048036038101906102809190612c38565b61076c565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612ade565b61081e565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612ade565b61090e565b6040516102e491906132c0565b60405180910390f35b3480156102f957600080fd5b5061030261095f565b005b34801561031057600080fd5b5061032b60048036038101906103269190612c8a565b610ab2565b005b34801561033957600080fd5b50610342610b94565b60405161034f9190612ff5565b60405180910390f35b34801561036457600080fd5b5061036d610bbd565b60405161037a91906130de565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190612bbb565b610bfa565b6040516103b791906130c3565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612c8a565b610c18565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612b30565b610d61565b60405161041d91906132c0565b60405180910390f35b34801561043257600080fd5b5061043b610de8565b005b34801561044957600080fd5b50610452611362565b005b61045c6113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e090613200565b60405180910390fd5b60005b81518110156105a0576001600a6000848481518110610534577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610598906135d6565b9150506104ec565b5050565b60606040518060400160405280600681526020017f55704b6f696e0000000000000000000000000000000000000000000000000000815250905090565b60006105f56105ee6113d4565b84846113dc565b6001905092915050565b6000683635c9adc5dea00000905090565b600061061d8484846115a7565b6106de846106296113d4565b6106d985604051806060016040528060288152602001613a4b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f6113d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ded9092919063ffffffff16565b6113dc565b600190509392505050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107336113d4565b73ffffffffffffffffffffffffffffffffffffffff161461075357600080fd5b600061075e3061090e565b905061076981611e51565b50565b6107746113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f890613200565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b6108266113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa90613200565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610958600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214b565b9050919050565b6109676113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90613200565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aba6113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613200565b60405180910390fd5b60008111610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190613180565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f55704b6f696e0000000000000000000000000000000000000000000000000000815250905090565b6000610c0e610c076113d4565b84846115a7565b6001905092915050565b610c206113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca490613200565b60405180910390fd5b60008111610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce7906131a0565b60405180910390fd5b610d1f6064610d1183683635c9adc5dea000006121b990919063ffffffff16565b61223490919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610d5691906132c0565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df06113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490613200565b60405180910390fd5b600f60149054906101000a900460ff1615610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906131c0565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f5d30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006113dc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612b07565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561103d57600080fd5b505afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190612b07565b6040518363ffffffff1660e01b8152600401611092929190613010565b602060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612b07565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061116d3061090e565b600080611178610b94565b426040518863ffffffff1660e01b815260040161119a96959493929190613062565b6060604051808303818588803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ec9190612cb3565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506002600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff0219169083151502179055504260128190555042601381905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161130c929190613039565b602060405180830381600087803b15801561132657600080fd5b505af115801561133a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135e9190612c61565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113a36113d4565b73ffffffffffffffffffffffffffffffffffffffff16146113c357600080fd5b60004790506113d18161227e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390613260565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390613140565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161159a91906132c0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160e90613240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90613100565b60405180910390fd5b600081116116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190613220565b60405180910390fd5b6116d2610b94565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117405750611710610b94565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d2a57600f60179054906101000a900460ff1615611973573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117c257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118765750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561197257600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118bc6113d4565b73ffffffffffffffffffffffffffffffffffffffff1614806119325750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661191a6113d4565b73ffffffffffffffffffffffffffffffffffffffff16145b611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890613280565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a175750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a2057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611acb5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b215750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b395750600f60179054906101000a900460ff165b15611c0e5761012c601254611b4e91906133f6565b421015611c0d5742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ba057600080fd5b601054811115611baf57600080fd5b6001601154611bbe919061347d565b42611bc991906133f6565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000611c193061090e565b9050600f60159054906101000a900460ff16158015611c865750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c9e5750600f60169054906101000a900460ff165b15611d28576078601354611cb291906133f6565b421015611cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ceb906132a0565b60405180910390fd5b426013819055506000811115611d0e57611d0d81611e51565b5b60004790506000811115611d2657611d254761227e565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dd15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ddb57600090505b611de784848484612379565b50505050565b6000838311158290611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c91906130de565b60405180910390fd5b5060008385611e4491906134d7565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eaf577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611edd5781602001602082028036833780820191505090505b5090503081600081518110611f1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611fbd57600080fd5b505afa158015611fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff59190612b07565b8160018151811061202f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113dc565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120fa9594939291906132db565b600060405180830381600087803b15801561211457600080fd5b505af1158015612128573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000600654821115612192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218990613120565b60405180910390fd5b600061219c6123a6565b90506121b1818461223490919063ffffffff16565b915050919050565b6000808314156121cc576000905061222e565b600082846121da919061347d565b90508284826121e9919061344c565b14612229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612220906131e0565b60405180910390fd5b809150505b92915050565b600061227683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d1565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122ce60028461223490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122f9573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61234a60028461223490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612375573d6000803e3d6000fd5b5050565b8061238757612386612434565b5b612392848484612465565b806123a05761239f612630565b5b50505050565b60008060006123b3612642565b915091506123ca818361223490919063ffffffff16565b9250505090565b60008083118290612418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240f91906130de565b60405180910390fd5b5060008385612427919061344c565b9050809150509392505050565b600060085414801561244857506000600954145b1561245257612463565b600060088190555060006009819055505b565b600080600080600080612477876126a4565b9550955095509550955095506124d586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270c90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125b6816127b4565b6125c08483612871565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161261d91906132c0565b60405180910390a3505050505050505050565b6002600881905550600a600981905550565b600080600060065490506000683635c9adc5dea000009050612678683635c9adc5dea0000060065461223490919063ffffffff16565b82101561269757600654683635c9adc5dea000009350935050506126a0565b81819350935050505b9091565b60008060008060008060008060006126c18a6008546009546128ab565b92509250925060006126d16123a6565b905060008060006126e48e878787612941565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061274e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ded565b905092915050565b600080828461276591906133f6565b9050838110156127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a190613160565b60405180910390fd5b8091505092915050565b60006127be6123a6565b905060006127d582846121b990919063ffffffff16565b905061282981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6128868260065461270c90919063ffffffff16565b6006819055506128a18160075461275690919063ffffffff16565b6007819055505050565b6000806000806128d760646128c9888a6121b990919063ffffffff16565b61223490919063ffffffff16565b9050600061290160646128f3888b6121b990919063ffffffff16565b61223490919063ffffffff16565b9050600061292a8261291c858c61270c90919063ffffffff16565b61270c90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061295a85896121b990919063ffffffff16565b9050600061297186896121b990919063ffffffff16565b9050600061298887896121b990919063ffffffff16565b905060006129b1826129a3858761270c90919063ffffffff16565b61270c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006129dd6129d884613375565b613350565b905080838252602082019050828560208602820111156129fc57600080fd5b60005b85811015612a2c5781612a128882612a36565b8452602084019350602083019250506001810190506129ff565b5050509392505050565b600081359050612a4581613a05565b92915050565b600081519050612a5a81613a05565b92915050565b600082601f830112612a7157600080fd5b8135612a818482602086016129ca565b91505092915050565b600081359050612a9981613a1c565b92915050565b600081519050612aae81613a1c565b92915050565b600081359050612ac381613a33565b92915050565b600081519050612ad881613a33565b92915050565b600060208284031215612af057600080fd5b6000612afe84828501612a36565b91505092915050565b600060208284031215612b1957600080fd5b6000612b2784828501612a4b565b91505092915050565b60008060408385031215612b4357600080fd5b6000612b5185828601612a36565b9250506020612b6285828601612a36565b9150509250929050565b600080600060608486031215612b8157600080fd5b6000612b8f86828701612a36565b9350506020612ba086828701612a36565b9250506040612bb186828701612ab4565b9150509250925092565b60008060408385031215612bce57600080fd5b6000612bdc85828601612a36565b9250506020612bed85828601612ab4565b9150509250929050565b600060208284031215612c0957600080fd5b600082013567ffffffffffffffff811115612c2357600080fd5b612c2f84828501612a60565b91505092915050565b600060208284031215612c4a57600080fd5b6000612c5884828501612a8a565b91505092915050565b600060208284031215612c7357600080fd5b6000612c8184828501612a9f565b91505092915050565b600060208284031215612c9c57600080fd5b6000612caa84828501612ab4565b91505092915050565b600080600060608486031215612cc857600080fd5b6000612cd686828701612ac9565b9350506020612ce786828701612ac9565b9250506040612cf886828701612ac9565b9150509250925092565b6000612d0e8383612d1a565b60208301905092915050565b612d238161350b565b82525050565b612d328161350b565b82525050565b6000612d43826133b1565b612d4d81856133d4565b9350612d58836133a1565b8060005b83811015612d89578151612d708882612d02565b9750612d7b836133c7565b925050600181019050612d5c565b5085935050505092915050565b612d9f8161351d565b82525050565b612dae81613560565b82525050565b6000612dbf826133bc565b612dc981856133e5565b9350612dd9818560208601613572565b612de2816136ac565b840191505092915050565b6000612dfa6023836133e5565b9150612e05826136bd565b604082019050919050565b6000612e1d602a836133e5565b9150612e288261370c565b604082019050919050565b6000612e406022836133e5565b9150612e4b8261375b565b604082019050919050565b6000612e63601b836133e5565b9150612e6e826137aa565b602082019050919050565b6000612e86601b836133e5565b9150612e91826137d3565b602082019050919050565b6000612ea9601d836133e5565b9150612eb4826137fc565b602082019050919050565b6000612ecc6017836133e5565b9150612ed782613825565b602082019050919050565b6000612eef6021836133e5565b9150612efa8261384e565b604082019050919050565b6000612f126020836133e5565b9150612f1d8261389d565b602082019050919050565b6000612f356029836133e5565b9150612f40826138c6565b604082019050919050565b6000612f586025836133e5565b9150612f6382613915565b604082019050919050565b6000612f7b6024836133e5565b9150612f8682613964565b604082019050919050565b6000612f9e6011836133e5565b9150612fa9826139b3565b602082019050919050565b6000612fc16018836133e5565b9150612fcc826139dc565b602082019050919050565b612fe081613549565b82525050565b612fef81613553565b82525050565b600060208201905061300a6000830184612d29565b92915050565b60006040820190506130256000830185612d29565b6130326020830184612d29565b9392505050565b600060408201905061304e6000830185612d29565b61305b6020830184612fd7565b9392505050565b600060c0820190506130776000830189612d29565b6130846020830188612fd7565b6130916040830187612da5565b61309e6060830186612da5565b6130ab6080830185612d29565b6130b860a0830184612fd7565b979650505050505050565b60006020820190506130d86000830184612d96565b92915050565b600060208201905081810360008301526130f88184612db4565b905092915050565b6000602082019050818103600083015261311981612ded565b9050919050565b6000602082019050818103600083015261313981612e10565b9050919050565b6000602082019050818103600083015261315981612e33565b9050919050565b6000602082019050818103600083015261317981612e56565b9050919050565b6000602082019050818103600083015261319981612e79565b9050919050565b600060208201905081810360008301526131b981612e9c565b9050919050565b600060208201905081810360008301526131d981612ebf565b9050919050565b600060208201905081810360008301526131f981612ee2565b9050919050565b6000602082019050818103600083015261321981612f05565b9050919050565b6000602082019050818103600083015261323981612f28565b9050919050565b6000602082019050818103600083015261325981612f4b565b9050919050565b6000602082019050818103600083015261327981612f6e565b9050919050565b6000602082019050818103600083015261329981612f91565b9050919050565b600060208201905081810360008301526132b981612fb4565b9050919050565b60006020820190506132d56000830184612fd7565b92915050565b600060a0820190506132f06000830188612fd7565b6132fd6020830187612da5565b818103604083015261330f8186612d38565b905061331e6060830185612d29565b61332b6080830184612fd7565b9695505050505050565b600060208201905061334a6000830184612fe6565b92915050565b600061335a61336b565b905061336682826135a5565b919050565b6000604051905090565b600067ffffffffffffffff8211156133905761338f61367d565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061340182613549565b915061340c83613549565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134415761344061361f565b5b828201905092915050565b600061345782613549565b915061346283613549565b9250826134725761347161364e565b5b828204905092915050565b600061348882613549565b915061349383613549565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134cc576134cb61361f565b5b828202905092915050565b60006134e282613549565b91506134ed83613549565b925082821015613500576134ff61361f565b5b828203905092915050565b600061351682613529565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061356b82613549565b9050919050565b60005b83811015613590578082015181840152602081019050613575565b8381111561359f576000848401525b50505050565b6135ae826136ac565b810181811067ffffffffffffffff821117156135cd576135cc61367d565b5b80604052505050565b60006135e182613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136145761361361361f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f4c697175696469747920616c7265616479206164646564000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b7f4552523a205472792032206d696e75746573206c617465720000000000000000600082015250565b613a0e8161350b565b8114613a1957600080fd5b50565b613a258161351d565b8114613a3057600080fd5b50565b613a3c81613549565b8114613a4757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220933218ca7b60c7d8de03e0d0987d16d045663f1067da17b89a90cb1c90780d8b64736f6c63430008040033000000000000000000000000379075681013f770b274d4de27c4a641a1b32f2b00000000000000000000000007a56ac60febbf87b4ac0a560b81658940941e58
Deployed Bytecode
0x6080604052600436106101175760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610383578063d543dbeb146103c0578063dd62ed3e146103e9578063ed99530714610426578063f42938901461043d5761011e565b806370a08231146102b0578063715018a6146102ed5780637b5b1157146103045780638da5cb5b1461032d57806395d89b41146103585761011e565b806323b872dd116100e757806323b872dd146101df578063313ce5671461021c57806351bc3c85146102475780635932ead11461025e5780636b999053146102875761011e565b8062b8cf2a1461012357806306fdde031461014c578063095ea7b31461017757806318160ddd146101b45761011e565b3661011e57005b600080fd5b34801561012f57600080fd5b5061014a60048036038101906101459190612bf7565b610454565b005b34801561015857600080fd5b506101616105a4565b60405161016e91906130de565b60405180910390f35b34801561018357600080fd5b5061019e60048036038101906101999190612bbb565b6105e1565b6040516101ab91906130c3565b60405180910390f35b3480156101c057600080fd5b506101c96105ff565b6040516101d691906132c0565b60405180910390f35b3480156101eb57600080fd5b5061020660048036038101906102019190612b6c565b610610565b60405161021391906130c3565b60405180910390f35b34801561022857600080fd5b506102316106e9565b60405161023e9190613335565b60405180910390f35b34801561025357600080fd5b5061025c6106f2565b005b34801561026a57600080fd5b5061028560048036038101906102809190612c38565b61076c565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612ade565b61081e565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612ade565b61090e565b6040516102e491906132c0565b60405180910390f35b3480156102f957600080fd5b5061030261095f565b005b34801561031057600080fd5b5061032b60048036038101906103269190612c8a565b610ab2565b005b34801561033957600080fd5b50610342610b94565b60405161034f9190612ff5565b60405180910390f35b34801561036457600080fd5b5061036d610bbd565b60405161037a91906130de565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190612bbb565b610bfa565b6040516103b791906130c3565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612c8a565b610c18565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612b30565b610d61565b60405161041d91906132c0565b60405180910390f35b34801561043257600080fd5b5061043b610de8565b005b34801561044957600080fd5b50610452611362565b005b61045c6113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e090613200565b60405180910390fd5b60005b81518110156105a0576001600a6000848481518110610534577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610598906135d6565b9150506104ec565b5050565b60606040518060400160405280600681526020017f55704b6f696e0000000000000000000000000000000000000000000000000000815250905090565b60006105f56105ee6113d4565b84846113dc565b6001905092915050565b6000683635c9adc5dea00000905090565b600061061d8484846115a7565b6106de846106296113d4565b6106d985604051806060016040528060288152602001613a4b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f6113d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ded9092919063ffffffff16565b6113dc565b600190509392505050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107336113d4565b73ffffffffffffffffffffffffffffffffffffffff161461075357600080fd5b600061075e3061090e565b905061076981611e51565b50565b6107746113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f890613200565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b6108266113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa90613200565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610958600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214b565b9050919050565b6109676113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90613200565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aba6113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613200565b60405180910390fd5b60008111610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190613180565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f55704b6f696e0000000000000000000000000000000000000000000000000000815250905090565b6000610c0e610c076113d4565b84846115a7565b6001905092915050565b610c206113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca490613200565b60405180910390fd5b60008111610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce7906131a0565b60405180910390fd5b610d1f6064610d1183683635c9adc5dea000006121b990919063ffffffff16565b61223490919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610d5691906132c0565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df06113d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490613200565b60405180910390fd5b600f60149054906101000a900460ff1615610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906131c0565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f5d30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006113dc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612b07565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561103d57600080fd5b505afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190612b07565b6040518363ffffffff1660e01b8152600401611092929190613010565b602060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612b07565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061116d3061090e565b600080611178610b94565b426040518863ffffffff1660e01b815260040161119a96959493929190613062565b6060604051808303818588803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ec9190612cb3565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506002600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff0219169083151502179055504260128190555042601381905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161130c929190613039565b602060405180830381600087803b15801561132657600080fd5b505af115801561133a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135e9190612c61565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113a36113d4565b73ffffffffffffffffffffffffffffffffffffffff16146113c357600080fd5b60004790506113d18161227e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390613260565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390613140565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161159a91906132c0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160e90613240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90613100565b60405180910390fd5b600081116116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190613220565b60405180910390fd5b6116d2610b94565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117405750611710610b94565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d2a57600f60179054906101000a900460ff1615611973573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117c257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118765750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561197257600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118bc6113d4565b73ffffffffffffffffffffffffffffffffffffffff1614806119325750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661191a6113d4565b73ffffffffffffffffffffffffffffffffffffffff16145b611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890613280565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a175750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a2057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611acb5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b215750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b395750600f60179054906101000a900460ff165b15611c0e5761012c601254611b4e91906133f6565b421015611c0d5742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ba057600080fd5b601054811115611baf57600080fd5b6001601154611bbe919061347d565b42611bc991906133f6565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000611c193061090e565b9050600f60159054906101000a900460ff16158015611c865750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c9e5750600f60169054906101000a900460ff165b15611d28576078601354611cb291906133f6565b421015611cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ceb906132a0565b60405180910390fd5b426013819055506000811115611d0e57611d0d81611e51565b5b60004790506000811115611d2657611d254761227e565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dd15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ddb57600090505b611de784848484612379565b50505050565b6000838311158290611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c91906130de565b60405180910390fd5b5060008385611e4491906134d7565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eaf577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611edd5781602001602082028036833780820191505090505b5090503081600081518110611f1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611fbd57600080fd5b505afa158015611fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff59190612b07565b8160018151811061202f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113dc565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120fa9594939291906132db565b600060405180830381600087803b15801561211457600080fd5b505af1158015612128573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000600654821115612192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218990613120565b60405180910390fd5b600061219c6123a6565b90506121b1818461223490919063ffffffff16565b915050919050565b6000808314156121cc576000905061222e565b600082846121da919061347d565b90508284826121e9919061344c565b14612229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612220906131e0565b60405180910390fd5b809150505b92915050565b600061227683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d1565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122ce60028461223490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122f9573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61234a60028461223490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612375573d6000803e3d6000fd5b5050565b8061238757612386612434565b5b612392848484612465565b806123a05761239f612630565b5b50505050565b60008060006123b3612642565b915091506123ca818361223490919063ffffffff16565b9250505090565b60008083118290612418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240f91906130de565b60405180910390fd5b5060008385612427919061344c565b9050809150509392505050565b600060085414801561244857506000600954145b1561245257612463565b600060088190555060006009819055505b565b600080600080600080612477876126a4565b9550955095509550955095506124d586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270c90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125b6816127b4565b6125c08483612871565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161261d91906132c0565b60405180910390a3505050505050505050565b6002600881905550600a600981905550565b600080600060065490506000683635c9adc5dea000009050612678683635c9adc5dea0000060065461223490919063ffffffff16565b82101561269757600654683635c9adc5dea000009350935050506126a0565b81819350935050505b9091565b60008060008060008060008060006126c18a6008546009546128ab565b92509250925060006126d16123a6565b905060008060006126e48e878787612941565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061274e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ded565b905092915050565b600080828461276591906133f6565b9050838110156127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a190613160565b60405180910390fd5b8091505092915050565b60006127be6123a6565b905060006127d582846121b990919063ffffffff16565b905061282981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6128868260065461270c90919063ffffffff16565b6006819055506128a18160075461275690919063ffffffff16565b6007819055505050565b6000806000806128d760646128c9888a6121b990919063ffffffff16565b61223490919063ffffffff16565b9050600061290160646128f3888b6121b990919063ffffffff16565b61223490919063ffffffff16565b9050600061292a8261291c858c61270c90919063ffffffff16565b61270c90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061295a85896121b990919063ffffffff16565b9050600061297186896121b990919063ffffffff16565b9050600061298887896121b990919063ffffffff16565b905060006129b1826129a3858761270c90919063ffffffff16565b61270c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006129dd6129d884613375565b613350565b905080838252602082019050828560208602820111156129fc57600080fd5b60005b85811015612a2c5781612a128882612a36565b8452602084019350602083019250506001810190506129ff565b5050509392505050565b600081359050612a4581613a05565b92915050565b600081519050612a5a81613a05565b92915050565b600082601f830112612a7157600080fd5b8135612a818482602086016129ca565b91505092915050565b600081359050612a9981613a1c565b92915050565b600081519050612aae81613a1c565b92915050565b600081359050612ac381613a33565b92915050565b600081519050612ad881613a33565b92915050565b600060208284031215612af057600080fd5b6000612afe84828501612a36565b91505092915050565b600060208284031215612b1957600080fd5b6000612b2784828501612a4b565b91505092915050565b60008060408385031215612b4357600080fd5b6000612b5185828601612a36565b9250506020612b6285828601612a36565b9150509250929050565b600080600060608486031215612b8157600080fd5b6000612b8f86828701612a36565b9350506020612ba086828701612a36565b9250506040612bb186828701612ab4565b9150509250925092565b60008060408385031215612bce57600080fd5b6000612bdc85828601612a36565b9250506020612bed85828601612ab4565b9150509250929050565b600060208284031215612c0957600080fd5b600082013567ffffffffffffffff811115612c2357600080fd5b612c2f84828501612a60565b91505092915050565b600060208284031215612c4a57600080fd5b6000612c5884828501612a8a565b91505092915050565b600060208284031215612c7357600080fd5b6000612c8184828501612a9f565b91505092915050565b600060208284031215612c9c57600080fd5b6000612caa84828501612ab4565b91505092915050565b600080600060608486031215612cc857600080fd5b6000612cd686828701612ac9565b9350506020612ce786828701612ac9565b9250506040612cf886828701612ac9565b9150509250925092565b6000612d0e8383612d1a565b60208301905092915050565b612d238161350b565b82525050565b612d328161350b565b82525050565b6000612d43826133b1565b612d4d81856133d4565b9350612d58836133a1565b8060005b83811015612d89578151612d708882612d02565b9750612d7b836133c7565b925050600181019050612d5c565b5085935050505092915050565b612d9f8161351d565b82525050565b612dae81613560565b82525050565b6000612dbf826133bc565b612dc981856133e5565b9350612dd9818560208601613572565b612de2816136ac565b840191505092915050565b6000612dfa6023836133e5565b9150612e05826136bd565b604082019050919050565b6000612e1d602a836133e5565b9150612e288261370c565b604082019050919050565b6000612e406022836133e5565b9150612e4b8261375b565b604082019050919050565b6000612e63601b836133e5565b9150612e6e826137aa565b602082019050919050565b6000612e86601b836133e5565b9150612e91826137d3565b602082019050919050565b6000612ea9601d836133e5565b9150612eb4826137fc565b602082019050919050565b6000612ecc6017836133e5565b9150612ed782613825565b602082019050919050565b6000612eef6021836133e5565b9150612efa8261384e565b604082019050919050565b6000612f126020836133e5565b9150612f1d8261389d565b602082019050919050565b6000612f356029836133e5565b9150612f40826138c6565b604082019050919050565b6000612f586025836133e5565b9150612f6382613915565b604082019050919050565b6000612f7b6024836133e5565b9150612f8682613964565b604082019050919050565b6000612f9e6011836133e5565b9150612fa9826139b3565b602082019050919050565b6000612fc16018836133e5565b9150612fcc826139dc565b602082019050919050565b612fe081613549565b82525050565b612fef81613553565b82525050565b600060208201905061300a6000830184612d29565b92915050565b60006040820190506130256000830185612d29565b6130326020830184612d29565b9392505050565b600060408201905061304e6000830185612d29565b61305b6020830184612fd7565b9392505050565b600060c0820190506130776000830189612d29565b6130846020830188612fd7565b6130916040830187612da5565b61309e6060830186612da5565b6130ab6080830185612d29565b6130b860a0830184612fd7565b979650505050505050565b60006020820190506130d86000830184612d96565b92915050565b600060208201905081810360008301526130f88184612db4565b905092915050565b6000602082019050818103600083015261311981612ded565b9050919050565b6000602082019050818103600083015261313981612e10565b9050919050565b6000602082019050818103600083015261315981612e33565b9050919050565b6000602082019050818103600083015261317981612e56565b9050919050565b6000602082019050818103600083015261319981612e79565b9050919050565b600060208201905081810360008301526131b981612e9c565b9050919050565b600060208201905081810360008301526131d981612ebf565b9050919050565b600060208201905081810360008301526131f981612ee2565b9050919050565b6000602082019050818103600083015261321981612f05565b9050919050565b6000602082019050818103600083015261323981612f28565b9050919050565b6000602082019050818103600083015261325981612f4b565b9050919050565b6000602082019050818103600083015261327981612f6e565b9050919050565b6000602082019050818103600083015261329981612f91565b9050919050565b600060208201905081810360008301526132b981612fb4565b9050919050565b60006020820190506132d56000830184612fd7565b92915050565b600060a0820190506132f06000830188612fd7565b6132fd6020830187612da5565b818103604083015261330f8186612d38565b905061331e6060830185612d29565b61332b6080830184612fd7565b9695505050505050565b600060208201905061334a6000830184612fe6565b92915050565b600061335a61336b565b905061336682826135a5565b919050565b6000604051905090565b600067ffffffffffffffff8211156133905761338f61367d565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061340182613549565b915061340c83613549565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134415761344061361f565b5b828201905092915050565b600061345782613549565b915061346283613549565b9250826134725761347161364e565b5b828204905092915050565b600061348882613549565b915061349383613549565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134cc576134cb61361f565b5b828202905092915050565b60006134e282613549565b91506134ed83613549565b925082821015613500576134ff61361f565b5b828203905092915050565b600061351682613529565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061356b82613549565b9050919050565b60005b83811015613590578082015181840152602081019050613575565b8381111561359f576000848401525b50505050565b6135ae826136ac565b810181811067ffffffffffffffff821117156135cd576135cc61367d565b5b80604052505050565b60006135e182613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136145761361361361f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f4c697175696469747920616c7265616479206164646564000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b7f4552523a205472792032206d696e75746573206c617465720000000000000000600082015250565b613a0e8161350b565b8114613a1957600080fd5b50565b613a258161351d565b8114613a3057600080fd5b50565b613a3c81613549565b8114613a4757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220933218ca7b60c7d8de03e0d0987d16d045663f1067da17b89a90cb1c90780d8b64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000379075681013f770b274d4de27c4a641a1b32f2b00000000000000000000000007a56ac60febbf87b4ac0a560b81658940941e58
-----Decoded View---------------
Arg [0] : addr1 (address): 0x379075681013F770B274d4de27C4A641a1B32f2b
Arg [1] : addr2 (address): 0x07A56AC60feBbF87B4aC0a560b81658940941e58
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000379075681013f770b274d4de27c4a641a1b32f2b
Arg [1] : 00000000000000000000000007a56ac60febbf87b4ac0a560b81658940941e58
Deployed Bytecode Sourcemap
3822:13018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12374:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5754:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6606:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6031:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6775:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5940:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12651:192;;;;;;;;;;;;;:::i;:::-;;7229:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12551:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6134:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2774:148;;;;;;;;;;;;;:::i;:::-;;16649:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2560:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5845:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6280:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16386:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6455:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11270:1096;;;;;;;;;;;;;:::i;:::-;;12851:191;;;;;;;;;;;;;:::i;:::-;;12374:169;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12450:9:::1;12445:91;12469:5;:12;12465:1;:16;12445:91;;;12520:4;12503;:14;12508:5;12514:1;12508:8;;;;;;;;;;;;;;;;;;;;;;12503:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12483:3;;;;;:::i;:::-;;;;12445:91;;;;12374:169:::0;:::o;5754:83::-;5791:13;5824:5;;;;;;;;;;;;;;;;;5817:12;;5754:83;:::o;6606:161::-;6681:4;6698:39;6707:12;:10;:12::i;:::-;6721:7;6730:6;6698:8;:39::i;:::-;6755:4;6748:11;;6606:161;;;;:::o;6031:95::-;6084:7;4377:21;6104:14;;6031:95;:::o;6775:446::-;6907:4;6924:36;6934:6;6942:9;6953:6;6924:9;:36::i;:::-;6971:220;6994:6;7015:12;:10;:12::i;:::-;7042:138;7098:6;7042:138;;;;;;;;;;;;;;;;;:11;:19;7054:6;7042:19;;;;;;;;;;;;;;;:33;7062:12;:10;:12::i;:::-;7042:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6971:8;:220::i;:::-;7209:4;7202:11;;6775:446;;;;;:::o;5940:83::-;5981:5;4039:1;5999:16;;5940:83;:::o;12651:192::-;12717:12;;;;;;;;;;;12701:28;;:12;:10;:12::i;:::-;:28;;;12693:37;;;;;;12741:23;12767:24;12785:4;12767:9;:24::i;:::-;12741:50;;12802:33;12819:15;12802:16;:33::i;:::-;12651:192;:::o;7229:111::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7323:9:::1;7305:15;;:27;;;;;;;;;;;;;;;;;;7229:111:::0;:::o;12551:92::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12630:5:::1;12615:4;:12;12620:6;12615:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12551:92:::0;:::o;6134:138::-;6200:7;6227:37;6247:7;:16;6255:7;6247:16;;;;;;;;;;;;;;;;6227:19;:37::i;:::-;6220:44;;6134:138;;;:::o;2774:148::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2881:1:::1;2844:40;;2865:6;::::0;::::1;;;;;;;;2844:40;;;;;;;;;;;;2912:1;2895:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2774:148::o:0;16649:188::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16754:1:::1;16739:12;:16;16731:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16817:12;16798:16;:31;;;;16649:188:::0;:::o;2560:79::-;2598:7;2625:6;;;;;;;;;;;2618:13;;2560:79;:::o;5845:87::-;5884:13;5917:7;;;;;;;;;;;;;;;;;5910:14;;5845:87;:::o;6280:167::-;6358:4;6375:42;6385:12;:10;:12::i;:::-;6399:9;6410:6;6375:9;:42::i;:::-;6435:4;6428:11;;6280:167;;;;:::o;16386:255::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16488:1:::1;16473:12;:16;16465:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16549:36;16579:5;16549:25;16561:12;4377:21;16549:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16534:12;:51;;;;16601:32;16620:12;;16601:32;;;;;;:::i;:::-;;;;;;;;16386:255:::0;:::o;6455:143::-;6536:7;6563:11;:18;6575:5;6563:18;;;;;;;;;;;;;;;:27;6582:7;6563:27;;;;;;;;;;;;;;;;6556:34;;6455:143;;;;:::o;11270:1096::-;2697:12;:10;:12::i;:::-;2687:22;;:6;;;;;;;;;;:22;;;2679:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11338:11:::1;;;;;;;;;;;11337:12;11329:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11388:35;11445:42;11388:100;;11517:16;11499:15;;:34;;;;;;;;;;;;;;;;;;11544:58;11561:4;11576:15;;;;;;;;;;;4377:21;11544:8;:58::i;:::-;11647:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11629:70;;;11708:4;11715:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11629:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11613:13;;:126;;;;;;;;;;;;;;;;;;11750:15;;;;;;;;;;;:31;;;11789:21;11834:4;11854:24;11872:4;11854:9;:24::i;:::-;11893:1;11909::::0;11925:7:::1;:5;:7::i;:::-;11947:15;11750:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11998:4;11984:11;;:18;;;;;;;;;;;;;;;;;;12031:4;12013:15;;:22;;;;;;;;;;;;;;;;;;12056:1;12046:7;:11;;;;12079:2;12068:8;:13;;;;12107:18;12092:12;:33;;;;12150:4;12136:11;;:18;;;;;;;;;;;;;;;;;;12179:15;12165:11;:29;;;;12221:15;12205:13;:31;;;;12254:13;;;;;;;;;;;12247:29;;;12299:15;;;;;;;;;;;12330:17;12247:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2757:1;11270:1096::o:0;12851:191::-;12917:12;;;;;;;;;;;12901:28;;:12;:10;:12::i;:::-;:28;;;12893:37;;;;;;12941:26;12970:21;12941:50;;13002:32;13015:18;13002:12;:32::i;:::-;12851:191;:::o;244:98::-;297:7;324:10;317:17;;244:98;:::o;7919:369::-;8063:1;8046:19;;:5;:19;;;;8038:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8144:1;8125:21;;:7;:21;;;;8117:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8226:6;8196:11;:18;8208:5;8196:18;;;;;;;;;;;;;;;:27;8215:7;8196:27;;;;;;;;;;;;;;;:36;;;;8264:7;8248:32;;8257:5;8248:32;;;8273:6;8248:32;;;;;;:::i;:::-;;;;;;;;7919:369;;;:::o;8296:2316::-;8434:1;8418:18;;:4;:18;;;;8410:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8511:1;8497:16;;:2;:16;;;;8489:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8581:1;8572:6;:10;8564:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8653:7;:5;:7::i;:::-;8645:15;;:4;:15;;;;:32;;;;;8670:7;:5;:7::i;:::-;8664:13;;:2;:13;;;;8645:32;8641:1770;;;8698:15;;;;;;;;;;;8694:526;;;8776:4;8760:21;;:4;:21;;;;:65;;;;;8820:4;8806:19;;:2;:19;;;;8760:65;:122;;;;;8866:15;;;;;;;;;;;8850:32;;:4;:32;;;;8760:122;:177;;;;;8921:15;;;;;;;;;;;8907:30;;:2;:30;;;;8760:177;8734:471;;;9038:15;;;;;;;;;;;9014:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9103:13;;;;;;;;;;;9087:29;;:12;:10;:12::i;:::-;:29;;;9014:102;8980:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;8734:471;8694:526;9243:4;:10;9248:4;9243:10;;;;;;;;;;;;;;;;;;;;;;;;;9242:11;:24;;;;;9258:4;:8;9263:2;9258:8;;;;;;;;;;;;;;;;;;;;;;;;;9257:9;9242:24;9234:33;;;;;;9312:13;;;;;;;;;;;9304:21;;:4;:21;;;:72;;;;;9360:15;;;;;;;;;;;9346:30;;:2;:30;;;;9304:72;:116;;;;;9398:18;:22;9417:2;9398:22;;;;;;;;;;;;;;;;;;;;;;;;;9397:23;9304:116;:152;;;;;9441:15;;;;;;;;;;;9304:152;9282:493;;;9527:9;9513:11;;:23;;;;:::i;:::-;9495:15;:41;9491:269;;;9584:15;9569:8;:12;9578:2;9569:12;;;;;;;;;;;;;;;;:30;9561:39;;;;;;9641:12;;9631:6;:22;;9623:31;;;;;;9730:9;9711:16;;:28;;;;:::i;:::-;9692:15;:48;;;;:::i;:::-;9677:8;:12;9686:2;9677:12;;;;;;;;;;;;;;;:63;;;;9491:269;9282:493;9789:28;9820:24;9838:4;9820:9;:24::i;:::-;9789:55;;9864:6;;;;;;;;;;;9863:7;:32;;;;;9882:13;;;;;;;;;;;9874:21;;:4;:21;;;;9863:32;:47;;;;;9899:11;;;;;;;;;;;9863:47;9859:541;;;9974:9;9958:13;;:25;;;;:::i;:::-;9939:15;:44;;9931:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10047:15;10031:13;:31;;;;10108:1;10085:20;:24;10081:111;;;10134:38;10151:20;10134:16;:38::i;:::-;10081:111;10210:26;10239:21;10210:50;;10304:1;10283:18;:22;10279:106;;;10330:35;10343:21;10330:12;:35::i;:::-;10279:106;9859:541;;8641:1770;;10421:12;10436:4;10421:19;;10457:18;:24;10476:4;10457:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10485:18;:22;10504:2;10485:22;;;;;;;;;;;;;;;;;;;;;;;;;10457:50;10453:98;;;10534:5;10524:15;;10453:98;10563:41;10578:4;10584:2;10588:6;10596:7;10563:14;:41::i;:::-;8296:2316;;;;:::o;1393:190::-;1479:7;1512:1;1507;:6;;1515:12;1499:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1539:9;1555:1;1551;:5;;;;:::i;:::-;1539:17;;1574:1;1567:8;;;1393:190;;;;;:::o;10620:483::-;5258:4;5249:6;;:13;;;;;;;;;;;;;;;;;;10698:21:::1;10736:1;10722:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10698:40;;10767:4;10749;10754:1;10749:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10793:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10783:4;10788:1;10783:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10826:62;10843:4;10858:15;;;;;;;;;;;10876:11;10826:8;:62::i;:::-;10899:15;;;;;;;;;;;:66;;;10980:11;11006:1;11022:4;11049;11069:15;10899:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5273:1;5294:5:::0;5285:6;;:14;;;;;;;;;;;;;;;;;;10620:483;:::o;7348:323::-;7443:7;7501;;7490;:18;;7468:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7589:19;7611:10;:8;:10::i;:::-;7589:32;;7639:24;7651:11;7639:7;:11;;:24;;;;:::i;:::-;7632:31;;;7348:323;;;:::o;1591:246::-;1649:7;1678:1;1673;:6;1669:47;;;1703:1;1696:8;;;;1669:47;1726:9;1742:1;1738;:5;;;;:::i;:::-;1726:17;;1771:1;1766;1762;:5;;;;:::i;:::-;:10;1754:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1828:1;1821:8;;;1591:246;;;;;:::o;1845:132::-;1903:7;1930:39;1934:1;1937;1930:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1923:46;;1845:132;;;;:::o;11111:151::-;11168:12;;;;;;;;;;;:21;;:36;11190:13;11201:1;11190:6;:10;;:13;;;;:::i;:::-;11168:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11215:15;;;;;;;;;;;:24;;:39;11240:13;11251:1;11240:6;:10;;:13;;;;:::i;:::-;11215:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11111:151;:::o;13050:282::-;13206:7;13201:28;;13215:14;:12;:14::i;:::-;13201:28;13240:44;13258:6;13266:9;13277:6;13240:17;:44::i;:::-;13300:7;13295:29;;13309:15;:13;:15::i;:::-;13295:29;13050:282;;;;:::o;15945:166::-;15987:7;16008:15;16025;16044:19;:17;:19::i;:::-;16007:56;;;;16083:20;16095:7;16083;:11;;:20;;;;:::i;:::-;16076:27;;;;15945:166;:::o;1985:189::-;2071:7;2103:1;2099;:5;2106:12;2091:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2130:9;2146:1;2142;:5;;;;:::i;:::-;2130:17;;2165:1;2158:8;;;1985:189;;;;;:::o;7679:137::-;7737:1;7726:7;;:12;:29;;;;;7754:1;7742:8;;:13;7726:29;7722:42;;;7757:7;;7722:42;7784:1;7774:7;:11;;;;7807:1;7796:8;:12;;;;7679:137;:::o;13340:610::-;13487:15;13517:23;13555:12;13582:23;13620:12;13647:13;13674:19;13685:7;13674:10;:19::i;:::-;13472:221;;;;;;;;;;;;13722:28;13742:7;13722;:15;13730:6;13722:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13704:7;:15;13712:6;13704:15;;;;;;;;;;;;;;;:46;;;;13782:39;13805:15;13782:7;:18;13790:9;13782:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13761:7;:18;13769:9;13761:18;;;;;;;;;;;;;;;:60;;;;13832:16;13842:5;13832:9;:16::i;:::-;13859:23;13871:4;13877;13859:11;:23::i;:::-;13915:9;13898:44;;13907:6;13898:44;;;13926:15;13898:44;;;;;;:::i;:::-;;;;;;;;13340:610;;;;;;;;;:::o;7824:87::-;7878:1;7868:7;:11;;;;7901:2;7890:8;:13;;;;7824:87::o;16119:259::-;16170:7;16179;16199:15;16217:7;;16199:25;;16235:15;4377:21;16235:25;;16285:20;4377:21;16285:7;;:11;;:20;;;;:::i;:::-;16275:7;:30;16271:61;;;16315:7;;4377:21;16307:25;;;;;;;;16271:61;16353:7;16362;16345:25;;;;;;16119:259;;;:::o;14369:624::-;14469:7;14491;14513;14535;14557;14579;14615:23;14640:12;14654:13;14684:39;14696:7;14705;;14714:8;;14684:11;:39::i;:::-;14614:109;;;;;;14734:19;14756:10;:8;:10::i;:::-;14734:32;;14778:15;14795:23;14820:12;14849:46;14861:7;14870:4;14876:5;14883:11;14849;:46::i;:::-;14777:118;;;;;;14924:7;14933:15;14950:4;14956:15;14973:4;14979:5;14916:69;;;;;;;;;;;;;;;;;;;14369:624;;;;;;;:::o;1249:136::-;1307:7;1334:43;1338:1;1341;1334:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1327:50;;1249:136;;;;:::o;1062:179::-;1120:7;1140:9;1156:1;1152;:5;;;;:::i;:::-;1140:17;;1181:1;1176;:6;;1168:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1232:1;1225:8;;;1062:179;;;;:::o;13958:211::-;14011:19;14033:10;:8;:10::i;:::-;14011:32;;14054:13;14070:22;14080:11;14070:5;:9;;:22;;;;:::i;:::-;14054:38;;14128:33;14155:5;14128:7;:22;14144:4;14128:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14103:7;:22;14119:4;14103:22;;;;;;;;;;;;;;;:58;;;;13958:211;;;:::o;14177:147::-;14255:17;14267:4;14255:7;;:11;;:17;;;;:::i;:::-;14245:7;:27;;;;14296:20;14311:4;14296:10;;:14;;:20;;;;:::i;:::-;14283:10;:33;;;;14177:147;;:::o;15001:435::-;15135:7;15157;15179;15214:12;15229:28;15253:3;15229:19;15241:6;15229:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15214:43;;15268:13;15284:29;15309:3;15284:20;15296:7;15284;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15268:45;;15324:23;15350:28;15372:5;15350:17;15362:4;15350:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15324:54;;15399:15;15416:4;15422:5;15391:37;;;;;;;;;15001:435;;;;;;;:::o;15444:493::-;15595:7;15617;15639;15674:15;15692:24;15704:11;15692:7;:11;;:24;;;;:::i;:::-;15674:42;;15727:12;15742:21;15751:11;15742:4;:8;;:21;;;;:::i;:::-;15727:36;;15774:13;15790:22;15800:11;15790:5;:9;;:22;;;;:::i;:::-;15774:38;;15823:23;15849:28;15871:5;15849:17;15861:4;15849:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15823:54;;15898:7;15907:15;15924:4;15890:39;;;;;;;;;;15444: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:366::-;12457:3;12478:67;12542:2;12537:3;12478:67;:::i;:::-;12471:74;;12554:93;12643:3;12554:93;:::i;:::-;12672:2;12667:3;12663:12;12656:19;;12461:220;;;:::o;12687:118::-;12774:24;12792:5;12774:24;:::i;:::-;12769:3;12762:37;12752:53;;:::o;12811:112::-;12894:22;12910:5;12894:22;:::i;:::-;12889:3;12882:35;12872:51;;:::o;12929:222::-;13022:4;13060:2;13049:9;13045:18;13037:26;;13073:71;13141:1;13130:9;13126:17;13117:6;13073:71;:::i;:::-;13027:124;;;;:::o;13157:332::-;13278:4;13316:2;13305:9;13301:18;13293:26;;13329:71;13397:1;13386:9;13382:17;13373:6;13329:71;:::i;:::-;13410:72;13478:2;13467:9;13463:18;13454:6;13410:72;:::i;:::-;13283:206;;;;;:::o;13495:332::-;13616:4;13654:2;13643:9;13639:18;13631:26;;13667:71;13735:1;13724:9;13720:17;13711:6;13667:71;:::i;:::-;13748:72;13816:2;13805:9;13801:18;13792:6;13748:72;:::i;:::-;13621:206;;;;;:::o;13833:807::-;14082:4;14120:3;14109:9;14105:19;14097:27;;14134:71;14202:1;14191:9;14187:17;14178:6;14134:71;:::i;:::-;14215:72;14283:2;14272:9;14268:18;14259:6;14215:72;:::i;:::-;14297:80;14373:2;14362:9;14358:18;14349:6;14297:80;:::i;:::-;14387;14463:2;14452:9;14448:18;14439:6;14387:80;:::i;:::-;14477:73;14545:3;14534:9;14530:19;14521:6;14477:73;:::i;:::-;14560;14628:3;14617:9;14613:19;14604:6;14560:73;:::i;:::-;14087:553;;;;;;;;;:::o;14646:210::-;14733:4;14771:2;14760:9;14756:18;14748:26;;14784:65;14846:1;14835:9;14831:17;14822:6;14784:65;:::i;:::-;14738:118;;;;:::o;14862:313::-;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:78;15163:4;15154:6;15090:78;:::i;:::-;15082:86;;14980:195;;;;:::o;15181:419::-;15347:4;15385:2;15374:9;15370:18;15362:26;;15434:9;15428:4;15424:20;15420:1;15409:9;15405:17;15398:47;15462:131;15588:4;15462:131;:::i;:::-;15454:139;;15352:248;;;:::o;15606:419::-;15772:4;15810:2;15799:9;15795:18;15787:26;;15859:9;15853:4;15849:20;15845:1;15834:9;15830:17;15823:47;15887:131;16013:4;15887:131;:::i;:::-;15879:139;;15777:248;;;:::o;16031:419::-;16197:4;16235:2;16224:9;16220:18;16212:26;;16284:9;16278:4;16274:20;16270:1;16259:9;16255:17;16248:47;16312:131;16438:4;16312:131;:::i;:::-;16304:139;;16202:248;;;:::o;16456:419::-;16622:4;16660:2;16649:9;16645:18;16637:26;;16709:9;16703:4;16699:20;16695:1;16684:9;16680:17;16673:47;16737:131;16863:4;16737:131;:::i;:::-;16729:139;;16627:248;;;:::o;16881:419::-;17047:4;17085:2;17074:9;17070:18;17062:26;;17134:9;17128:4;17124:20;17120:1;17109:9;17105:17;17098:47;17162:131;17288:4;17162:131;:::i;:::-;17154:139;;17052:248;;;:::o;17306:419::-;17472:4;17510:2;17499:9;17495:18;17487:26;;17559:9;17553:4;17549:20;17545:1;17534:9;17530:17;17523:47;17587:131;17713:4;17587:131;:::i;:::-;17579:139;;17477:248;;;:::o;17731:419::-;17897:4;17935:2;17924:9;17920:18;17912:26;;17984:9;17978:4;17974:20;17970:1;17959:9;17955:17;17948:47;18012:131;18138:4;18012:131;:::i;:::-;18004:139;;17902:248;;;:::o;18156:419::-;18322:4;18360:2;18349:9;18345:18;18337:26;;18409:9;18403:4;18399:20;18395:1;18384:9;18380:17;18373:47;18437:131;18563:4;18437:131;:::i;:::-;18429:139;;18327:248;;;:::o;18581:419::-;18747:4;18785:2;18774:9;18770:18;18762:26;;18834:9;18828:4;18824:20;18820:1;18809:9;18805:17;18798:47;18862:131;18988:4;18862:131;:::i;:::-;18854:139;;18752:248;;;:::o;19006:419::-;19172:4;19210:2;19199:9;19195:18;19187:26;;19259:9;19253:4;19249:20;19245:1;19234:9;19230:17;19223:47;19287:131;19413:4;19287:131;:::i;:::-;19279:139;;19177:248;;;:::o;19431:419::-;19597:4;19635:2;19624:9;19620:18;19612:26;;19684:9;19678:4;19674:20;19670:1;19659:9;19655:17;19648:47;19712:131;19838:4;19712:131;:::i;:::-;19704:139;;19602:248;;;:::o;19856:419::-;20022:4;20060:2;20049:9;20045:18;20037:26;;20109:9;20103:4;20099:20;20095:1;20084:9;20080:17;20073:47;20137:131;20263:4;20137:131;:::i;:::-;20129:139;;20027:248;;;:::o;20281:419::-;20447:4;20485:2;20474:9;20470:18;20462:26;;20534:9;20528:4;20524:20;20520:1;20509:9;20505:17;20498:47;20562:131;20688:4;20562:131;:::i;:::-;20554:139;;20452:248;;;:::o;20706:419::-;20872:4;20910:2;20899:9;20895:18;20887:26;;20959:9;20953:4;20949:20;20945:1;20934:9;20930:17;20923:47;20987:131;21113:4;20987:131;:::i;:::-;20979:139;;20877:248;;;:::o;21131:222::-;21224:4;21262:2;21251:9;21247:18;21239:26;;21275:71;21343:1;21332:9;21328:17;21319:6;21275:71;:::i;:::-;21229:124;;;;:::o;21359:831::-;21622:4;21660:3;21649:9;21645:19;21637:27;;21674:71;21742:1;21731:9;21727:17;21718:6;21674:71;:::i;:::-;21755:80;21831:2;21820:9;21816:18;21807:6;21755:80;:::i;:::-;21882:9;21876:4;21872:20;21867:2;21856:9;21852:18;21845:48;21910:108;22013:4;22004:6;21910:108;:::i;:::-;21902:116;;22028:72;22096:2;22085:9;22081:18;22072:6;22028:72;:::i;:::-;22110:73;22178:3;22167:9;22163:19;22154:6;22110:73;:::i;:::-;21627:563;;;;;;;;:::o;22196:214::-;22285:4;22323:2;22312:9;22308:18;22300:26;;22336:67;22400:1;22389:9;22385:17;22376:6;22336:67;:::i;:::-;22290:120;;;;:::o;22416:129::-;22450:6;22477:20;;:::i;:::-;22467:30;;22506:33;22534:4;22526:6;22506:33;:::i;:::-;22457:88;;;:::o;22551:75::-;22584:6;22617:2;22611:9;22601:19;;22591:35;:::o;22632:311::-;22709:4;22799:18;22791:6;22788:30;22785:2;;;22821:18;;:::i;:::-;22785:2;22871:4;22863:6;22859:17;22851:25;;22931:4;22925;22921:15;22913:23;;22714:229;;;:::o;22949:132::-;23016:4;23039:3;23031:11;;23069:4;23064:3;23060:14;23052:22;;23021:60;;;:::o;23087:114::-;23154:6;23188:5;23182:12;23172:22;;23161:40;;;:::o;23207:99::-;23259:6;23293:5;23287:12;23277:22;;23266:40;;;:::o;23312:113::-;23382:4;23414;23409:3;23405:14;23397:22;;23387:38;;;:::o;23431:184::-;23530:11;23564:6;23559:3;23552:19;23604:4;23599:3;23595:14;23580:29;;23542:73;;;;:::o;23621:169::-;23705:11;23739:6;23734:3;23727:19;23779:4;23774:3;23770:14;23755:29;;23717:73;;;;:::o;23796:305::-;23836:3;23855:20;23873:1;23855:20;:::i;:::-;23850:25;;23889:20;23907:1;23889:20;:::i;:::-;23884:25;;24043:1;23975:66;23971:74;23968:1;23965:81;23962:2;;;24049:18;;:::i;:::-;23962:2;24093:1;24090;24086:9;24079:16;;23840:261;;;;:::o;24107:185::-;24147:1;24164:20;24182:1;24164:20;:::i;:::-;24159:25;;24198:20;24216:1;24198:20;:::i;:::-;24193:25;;24237:1;24227:2;;24242:18;;:::i;:::-;24227:2;24284:1;24281;24277:9;24272:14;;24149:143;;;;:::o;24298:348::-;24338:7;24361:20;24379:1;24361:20;:::i;:::-;24356:25;;24395:20;24413:1;24395:20;:::i;:::-;24390:25;;24583:1;24515:66;24511:74;24508:1;24505:81;24500:1;24493:9;24486:17;24482:105;24479:2;;;24590:18;;:::i;:::-;24479:2;24638:1;24635;24631:9;24620:20;;24346:300;;;;:::o;24652:191::-;24692:4;24712:20;24730:1;24712:20;:::i;:::-;24707:25;;24746:20;24764:1;24746:20;:::i;:::-;24741:25;;24785:1;24782;24779:8;24776:2;;;24790:18;;:::i;:::-;24776:2;24835:1;24832;24828:9;24820:17;;24697:146;;;;:::o;24849:96::-;24886:7;24915:24;24933:5;24915:24;:::i;:::-;24904:35;;24894:51;;;:::o;24951:90::-;24985:7;25028:5;25021:13;25014:21;25003:32;;24993:48;;;:::o;25047:126::-;25084:7;25124:42;25117:5;25113:54;25102:65;;25092:81;;;:::o;25179:77::-;25216:7;25245:5;25234:16;;25224:32;;;:::o;25262:86::-;25297:7;25337:4;25330:5;25326:16;25315:27;;25305:43;;;:::o;25354:121::-;25412:9;25445:24;25463:5;25445:24;:::i;:::-;25432:37;;25422:53;;;:::o;25481:307::-;25549:1;25559:113;25573:6;25570:1;25567:13;25559:113;;;25658:1;25653:3;25649:11;25643:18;25639:1;25634:3;25630:11;25623:39;25595:2;25592:1;25588:10;25583:15;;25559:113;;;25690:6;25687:1;25684:13;25681:2;;;25770:1;25761:6;25756:3;25752:16;25745:27;25681:2;25530:258;;;;:::o;25794:281::-;25877:27;25899:4;25877:27;:::i;:::-;25869:6;25865:40;26007:6;25995:10;25992:22;25971:18;25959:10;25956:34;25953:62;25950:2;;;26018:18;;:::i;:::-;25950:2;26058:10;26054:2;26047:22;25837:238;;;:::o;26081:233::-;26120:3;26143:24;26161:5;26143:24;:::i;:::-;26134:33;;26189:66;26182:5;26179:77;26176:2;;;26259:18;;:::i;:::-;26176:2;26306:1;26299:5;26295:13;26288:20;;26124:190;;;:::o;26320:180::-;26368:77;26365:1;26358:88;26465:4;26462:1;26455:15;26489:4;26486:1;26479:15;26506:180;26554:77;26551:1;26544:88;26651:4;26648:1;26641:15;26675:4;26672:1;26665:15;26692:180;26740:77;26737:1;26730:88;26837:4;26834:1;26827:15;26861:4;26858:1;26851:15;26878:102;26919:6;26970:2;26966:7;26961:2;26954:5;26950:14;26946:28;26936:38;;26926:54;;;:::o;26986:222::-;27126:34;27122:1;27114:6;27110:14;27103:58;27195:5;27190:2;27182:6;27178:15;27171:30;27092:116;:::o;27214:229::-;27354:34;27350:1;27342:6;27338:14;27331:58;27423:12;27418:2;27410:6;27406:15;27399:37;27320:123;:::o;27449:221::-;27589:34;27585:1;27577:6;27573:14;27566:58;27658:4;27653:2;27645:6;27641:15;27634:29;27555:115;:::o;27676:177::-;27816:29;27812:1;27804:6;27800:14;27793:53;27782:71;:::o;27859:177::-;27999:29;27995:1;27987:6;27983:14;27976:53;27965:71;:::o;28042:179::-;28182:31;28178:1;28170:6;28166:14;28159:55;28148:73;:::o;28227:173::-;28367:25;28363:1;28355:6;28351:14;28344:49;28333:67;:::o;28406:220::-;28546:34;28542:1;28534:6;28530:14;28523:58;28615:3;28610:2;28602:6;28598:15;28591:28;28512:114;:::o;28632:182::-;28772:34;28768:1;28760:6;28756:14;28749:58;28738:76;:::o;28820:228::-;28960:34;28956:1;28948:6;28944:14;28937:58;29029:11;29024:2;29016:6;29012:15;29005:36;28926:122;:::o;29054:224::-;29194:34;29190:1;29182:6;29178:14;29171:58;29263:7;29258:2;29250:6;29246:15;29239:32;29160:118;:::o;29284:223::-;29424:34;29420:1;29412:6;29408:14;29401:58;29493:6;29488:2;29480:6;29476:15;29469:31;29390:117;:::o;29513:167::-;29653:19;29649:1;29641:6;29637:14;29630:43;29619:61;:::o;29686:174::-;29826:26;29822:1;29814:6;29810:14;29803:50;29792:68;:::o;29866:122::-;29939:24;29957:5;29939:24;:::i;:::-;29932:5;29929:35;29919:2;;29978:1;29975;29968:12;29919:2;29909:79;:::o;29994:116::-;30064:21;30079:5;30064:21;:::i;:::-;30057:5;30054:32;30044:2;;30100:1;30097;30090:12;30044:2;30034:76;:::o;30116:122::-;30189:24;30207:5;30189:24;:::i;:::-;30182:5;30179:35;30169:2;;30228:1;30225;30218:12;30169:2;30159:79;:::o
Swarm Source
ipfs://933218ca7b60c7d8de03e0d0987d16d045663f1067da17b89a90cb1c90780d8b
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.