Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 MACAW
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
8.66879448 MACAWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MacawInu
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-18 */ // SPDX-License-Identifier: MIT /** MACAW - Macaw Inu TG https://t.me/Macawinu Max Tx 1,000,000 (1%) Total 100,000,000 Tax 6% Slippage 40% **/ pragma solidity ^0.8.13; 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( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract MacawInu is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Macaw Inu"; string private constant _symbol = "MACAW"; uint8 private constant _decimals = 8; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**_decimals; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeWallet; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 public _maxTxAmount = 1000000*10**_decimals; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeWallet = payable(_msgSender()); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeWallet] = true; emit MaxTxAmountUpdated(_maxTxAmount); emit Transfer(address(0), address(this), _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 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 _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"); require(!bots[from]); _feeAddr1 = 3; _feeAddr2 = 3; if (from != owner() && to != owner()) { if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { // buy require(amount <= _maxTxAmount); require(tradingOpen); } if ( from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { if(to == uniswapV2Pair){ _feeAddr1 = 3; _feeAddr2 = 3; } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 100000000000000000) { sendETHToFee(address(this).balance); } } } _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 { _feeWallet.transfer(amount); } function liftMaxTxPercentage(uint256 percentage) external onlyOwner{ require(percentage>1); _maxTxAmount = _tTotal.mul(percentage).div(100); emit MaxTxAmountUpdated(_maxTxAmount); } function addToSwap() external onlyOwner { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); } function addLiquidity() external onlyOwner{ uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function enableTrading() external onlyOwner{ tradingOpen = true; } function setBots(address[] memory bots_,bool isBot) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { if(bots_[i]!=address(uniswapV2Router) && bots_[i]!=address(uniswapV2Pair) &&bots_[i]!=address(this)){ bots[bots_[i]] = isBot; } } } 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 manualswap() external { swapTokensForEth(balanceOf(address(this))); } function manualsend() external { sendETHToFee(address(this).balance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addToSwap","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"liftMaxTxPercentage","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126008600a620002d3565b62000022906305f5e100620002eb565b62000030906000196200030d565b6200003e9060001962000330565b600755600d805461ffff60a81b191690556200005d6008600a620002d3565b6200006c90620f4240620002eb565b600e553480156200007c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916331781556007543060008181526002602090815260408083209490945581546001600160a01b03908116835260058252848320805460ff199081166001908117909255948452858420805486168217905595541682529083902080549092169093179055600e54815190815290517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf929181900390910190a13060007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001976008600a620002d3565b620001a7906305f5e100620002eb565b60405190815260200160405180910390a36200034a565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000215578160001904821115620001f957620001f9620001be565b808516156200020757918102915b93841c9390800290620001d9565b509250929050565b6000826200022e57506001620002cd565b816200023d57506000620002cd565b8160018114620002565760028114620002615762000281565b6001915050620002cd565b60ff841115620002755762000275620001be565b50506001821b620002cd565b5060208310610133831016604e8410600b8410161715620002a6575081810a620002cd565b620002b28383620001d4565b8060001904821115620002c957620002c9620001be565b0290505b92915050565b6000620002e460ff8416836200021d565b9392505050565b6000816000190483118215151615620003085762000308620001be565b500290565b6000826200032b57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003455762000345620001be565b500390565b611b29806200035a6000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a05780639c0db5f3116100645780639c0db5f3146102f9578063a9059cbb14610319578063c3c8cd8014610339578063dd62ed3e1461034e578063e8078d941461039457600080fd5b80637d1db4a5146102585780638a8c523c1461026e5780638da5cb5b1461028357806395d89b41146102ab57806398d24403146102d957600080fd5b8063313ce567116100e7578063313ce567146101db57806339c96774146101f75780636fc3eaec1461020e57806370a0823114610223578063715018a61461024357600080fd5b806306fdde0314610124578063095ea7b31461016857806318160ddd1461019857806323b872dd146101bb57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260098152684d6163617720496e7560b81b60208201525b60405161015f91906115b9565b60405180910390f35b34801561017457600080fd5b50610188610183366004611633565b6103a9565b604051901515815260200161015f565b3480156101a457600080fd5b506101ad6103c0565b60405190815260200161015f565b3480156101c757600080fd5b506101886101d636600461165f565b6103e1565b3480156101e757600080fd5b506040516008815260200161015f565b34801561020357600080fd5b5061020c61044a565b005b34801561021a57600080fd5b5061020c61062c565b34801561022f57600080fd5b506101ad61023e3660046116a0565b610637565b34801561024f57600080fd5b5061020c610659565b34801561026457600080fd5b506101ad600e5481565b34801561027a57600080fd5b5061020c6106cd565b34801561028f57600080fd5b506000546040516001600160a01b03909116815260200161015f565b3480156102b757600080fd5b506040805180820190915260058152644d4143415760d81b6020820152610152565b3480156102e557600080fd5b5061020c6102f43660046116bd565b61070c565b34801561030557600080fd5b5061020c610314366004611705565b6107ad565b34801561032557600080fd5b50610188610334366004611633565b610901565b34801561034557600080fd5b5061020c61090e565b34801561035a57600080fd5b506101ad6103693660046117dc565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103a057600080fd5b5061020c61091f565b60006103b6338484610a99565b5060015b92915050565b60006103ce6008600a61190f565b6103dc906305f5e10061191e565b905090565b60006103ee848484610bbd565b610440843361043b85604051806060016040528060288152602001611acc602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e9f565b610a99565b5060019392505050565b6000546001600160a01b0316331461047d5760405162461bcd60e51b81526004016104749061193d565b60405180910390fd5b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104c530826104b76008600a61190f565b61043b906305f5e10061191e565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611972565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190611972565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190611972565b600d80546001600160a01b0319166001600160a01b039290921691909117905550565b61063547610ed9565b565b6001600160a01b0381166000908152600260205260408120546103ba90610f17565b6000546001600160a01b031633146106835760405162461bcd60e51b81526004016104749061193d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016104749061193d565b600d805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107365760405162461bcd60e51b81526004016104749061193d565b6001811161074357600080fd5b610772606461076c836107586008600a61190f565b610766906305f5e10061191e565b90610f9b565b9061101d565b600e8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6000546001600160a01b031633146107d75760405162461bcd60e51b81526004016104749061193d565b60005b82518110156108fc57600c5483516001600160a01b03909116908490839081106108065761080661198f565b60200260200101516001600160a01b0316141580156108575750600d5483516001600160a01b03909116908490839081106108435761084361198f565b60200260200101516001600160a01b031614155b801561088e5750306001600160a01b031683828151811061087a5761087a61198f565b60200260200101516001600160a01b031614155b156108ea5781600660008584815181106108aa576108aa61198f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806108f4816119a5565b9150506107da565b505050565b60006103b6338484610bbd565b61063561091a30610637565b61105f565b6000546001600160a01b031633146109495760405162461bcd60e51b81526004016104749061193d565b600c546001600160a01b031663f305d719473061096581610637565b60008061097a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a0791906119be565b5050600d8054600160b01b60ff60b01b19821617909155600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9691906119ec565b50565b6001600160a01b038316610afb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610474565b6001600160a01b038216610b5c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610474565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610474565b6001600160a01b038216610c835760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610474565b60008111610ce55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610474565b6001600160a01b03831660009081526006602052604090205460ff1615610d0b57600080fd5b60036009819055600a556000546001600160a01b03848116911614801590610d4157506000546001600160a01b03838116911614155b15610e9457600d546001600160a01b038481169116148015610d715750600c546001600160a01b03838116911614155b8015610d9657506001600160a01b03821660009081526005602052604090205460ff16155b15610dc057600e54811115610daa57600080fd5b600d54600160a01b900460ff16610dc057600080fd5b600c546001600160a01b03848116911614801590610df757506001600160a01b03831660009081526005602052604090205460ff16155b15610e1d57600d546001600160a01b0390811690831603610e1d5760036009819055600a555b6000610e2830610637565b600d54909150600160a81b900460ff16158015610e535750600d546001600160a01b03858116911614155b8015610e685750600d54600160b01b900460ff165b15610e9257610e768161105f565b4767016345785d8a0000811115610e9057610e9047610ed9565b505b505b6108fc8383836111d9565b60008184841115610ec35760405162461bcd60e51b815260040161047491906115b9565b506000610ed08486611a09565b95945050505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f13573d6000803e3d6000fd5b5050565b6000600754821115610f7e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610474565b6000610f886111e4565b9050610f94838261101d565b9392505050565b600082600003610fad575060006103ba565b6000610fb9838561191e565b905082610fc68583611a20565b14610f945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610474565b6000610f9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611207565b600d805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110a7576110a761198f565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190611972565b816001815181106111375761113761198f565b6001600160a01b039283166020918202929092010152600c5461115d9130911684610a99565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611196908590600090869030904290600401611a42565b600060405180830381600087803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6108fc838383611235565b60008060006111f161132c565b9092509050611200828261101d565b9250505090565b600081836112285760405162461bcd60e51b815260040161047491906115b9565b506000610ed08486611a20565b600080600080600080611247876113ae565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611279908761140b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112a8908661144d565b6001600160a01b0389166000908152600260205260409020556112ca816114ac565b6112d484836114f6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161131991815260200190565b60405180910390a3505050505050505050565b6007546000908190816113416008600a61190f565b61134f906305f5e10061191e565b90506113776113606008600a61190f565b61136e906305f5e10061191e565b6007549061101d565b8210156113a55760075461138d6008600a61190f565b61139b906305f5e10061191e565b9350935050509091565b90939092509050565b60008060008060008060008060006113cb8a600954600a5461151a565b92509250925060006113db6111e4565b905060008060006113ee8e878787611569565b919e509c509a509598509396509194505050505091939550919395565b6000610f9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e9f565b60008061145a8385611ab3565b905083811015610f945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610474565b60006114b66111e4565b905060006114c48383610f9b565b306000908152600260205260409020549091506114e1908261144d565b30600090815260026020526040902055505050565b600754611503908361140b565b600755600854611513908261144d565b6008555050565b600080808061152e606461076c8989610f9b565b90506000611541606461076c8a89610f9b565b90506000611559826115538b8661140b565b9061140b565b9992985090965090945050505050565b60008080806115788886610f9b565b905060006115868887610f9b565b905060006115948888610f9b565b905060006115a682611553868661140b565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156115e6578581018301518582016040015282016115ca565b818111156115f8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a9657600080fd5b803561162e8161160e565b919050565b6000806040838503121561164657600080fd5b82356116518161160e565b946020939093013593505050565b60008060006060848603121561167457600080fd5b833561167f8161160e565b9250602084013561168f8161160e565b929592945050506040919091013590565b6000602082840312156116b257600080fd5b8135610f948161160e565b6000602082840312156116cf57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b8015158114610a9657600080fd5b803561162e816116ec565b6000806040838503121561171857600080fd5b823567ffffffffffffffff8082111561173057600080fd5b818501915085601f83011261174457600080fd5b8135602082821115611758576117586116d6565b8160051b604051601f19603f8301168101818110868211171561177d5761177d6116d6565b60405292835281830193508481018201928984111561179b57600080fd5b948201945b838610156117c0576117b186611623565b855294820194938201936117a0565b96506117cf90508782016116fa565b9450505050509250929050565b600080604083850312156117ef57600080fd5b82356117fa8161160e565b9150602083013561180a8161160e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186657816000190482111561184c5761184c611815565b8085161561185957918102915b93841c9390800290611830565b509250929050565b60008261187d575060016103ba565b8161188a575060006103ba565b81600181146118a057600281146118aa576118c6565b60019150506103ba565b60ff8411156118bb576118bb611815565b50506001821b6103ba565b5060208310610133831016604e8410600b84101617156118e9575081810a6103ba565b6118f3838361182b565b806000190482111561190757611907611815565b029392505050565b6000610f9460ff84168361186e565b600081600019048311821515161561193857611938611815565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561198457600080fd5b8151610f948161160e565b634e487b7160e01b600052603260045260246000fd5b6000600182016119b7576119b7611815565b5060010190565b6000806000606084860312156119d357600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119fe57600080fd5b8151610f94816116ec565b600082821015611a1b57611a1b611815565b500390565b600082611a3d57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a925784516001600160a01b031683529383019391830191600101611a6d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ac657611ac6611815565b50019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c4723aa3a3b33b7394983b12c0103c95685a79f86d0411c55c741789dd72c83764736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101185760003560e01c80637d1db4a5116100a05780639c0db5f3116100645780639c0db5f3146102f9578063a9059cbb14610319578063c3c8cd8014610339578063dd62ed3e1461034e578063e8078d941461039457600080fd5b80637d1db4a5146102585780638a8c523c1461026e5780638da5cb5b1461028357806395d89b41146102ab57806398d24403146102d957600080fd5b8063313ce567116100e7578063313ce567146101db57806339c96774146101f75780636fc3eaec1461020e57806370a0823114610223578063715018a61461024357600080fd5b806306fdde0314610124578063095ea7b31461016857806318160ddd1461019857806323b872dd146101bb57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260098152684d6163617720496e7560b81b60208201525b60405161015f91906115b9565b60405180910390f35b34801561017457600080fd5b50610188610183366004611633565b6103a9565b604051901515815260200161015f565b3480156101a457600080fd5b506101ad6103c0565b60405190815260200161015f565b3480156101c757600080fd5b506101886101d636600461165f565b6103e1565b3480156101e757600080fd5b506040516008815260200161015f565b34801561020357600080fd5b5061020c61044a565b005b34801561021a57600080fd5b5061020c61062c565b34801561022f57600080fd5b506101ad61023e3660046116a0565b610637565b34801561024f57600080fd5b5061020c610659565b34801561026457600080fd5b506101ad600e5481565b34801561027a57600080fd5b5061020c6106cd565b34801561028f57600080fd5b506000546040516001600160a01b03909116815260200161015f565b3480156102b757600080fd5b506040805180820190915260058152644d4143415760d81b6020820152610152565b3480156102e557600080fd5b5061020c6102f43660046116bd565b61070c565b34801561030557600080fd5b5061020c610314366004611705565b6107ad565b34801561032557600080fd5b50610188610334366004611633565b610901565b34801561034557600080fd5b5061020c61090e565b34801561035a57600080fd5b506101ad6103693660046117dc565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103a057600080fd5b5061020c61091f565b60006103b6338484610a99565b5060015b92915050565b60006103ce6008600a61190f565b6103dc906305f5e10061191e565b905090565b60006103ee848484610bbd565b610440843361043b85604051806060016040528060288152602001611acc602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e9f565b610a99565b5060019392505050565b6000546001600160a01b0316331461047d5760405162461bcd60e51b81526004016104749061193d565b60405180910390fd5b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104c530826104b76008600a61190f565b61043b906305f5e10061191e565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611972565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190611972565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190611972565b600d80546001600160a01b0319166001600160a01b039290921691909117905550565b61063547610ed9565b565b6001600160a01b0381166000908152600260205260408120546103ba90610f17565b6000546001600160a01b031633146106835760405162461bcd60e51b81526004016104749061193d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016104749061193d565b600d805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107365760405162461bcd60e51b81526004016104749061193d565b6001811161074357600080fd5b610772606461076c836107586008600a61190f565b610766906305f5e10061191e565b90610f9b565b9061101d565b600e8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6000546001600160a01b031633146107d75760405162461bcd60e51b81526004016104749061193d565b60005b82518110156108fc57600c5483516001600160a01b03909116908490839081106108065761080661198f565b60200260200101516001600160a01b0316141580156108575750600d5483516001600160a01b03909116908490839081106108435761084361198f565b60200260200101516001600160a01b031614155b801561088e5750306001600160a01b031683828151811061087a5761087a61198f565b60200260200101516001600160a01b031614155b156108ea5781600660008584815181106108aa576108aa61198f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806108f4816119a5565b9150506107da565b505050565b60006103b6338484610bbd565b61063561091a30610637565b61105f565b6000546001600160a01b031633146109495760405162461bcd60e51b81526004016104749061193d565b600c546001600160a01b031663f305d719473061096581610637565b60008061097a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a0791906119be565b5050600d8054600160b01b60ff60b01b19821617909155600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9691906119ec565b50565b6001600160a01b038316610afb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610474565b6001600160a01b038216610b5c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610474565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610474565b6001600160a01b038216610c835760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610474565b60008111610ce55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610474565b6001600160a01b03831660009081526006602052604090205460ff1615610d0b57600080fd5b60036009819055600a556000546001600160a01b03848116911614801590610d4157506000546001600160a01b03838116911614155b15610e9457600d546001600160a01b038481169116148015610d715750600c546001600160a01b03838116911614155b8015610d9657506001600160a01b03821660009081526005602052604090205460ff16155b15610dc057600e54811115610daa57600080fd5b600d54600160a01b900460ff16610dc057600080fd5b600c546001600160a01b03848116911614801590610df757506001600160a01b03831660009081526005602052604090205460ff16155b15610e1d57600d546001600160a01b0390811690831603610e1d5760036009819055600a555b6000610e2830610637565b600d54909150600160a81b900460ff16158015610e535750600d546001600160a01b03858116911614155b8015610e685750600d54600160b01b900460ff165b15610e9257610e768161105f565b4767016345785d8a0000811115610e9057610e9047610ed9565b505b505b6108fc8383836111d9565b60008184841115610ec35760405162461bcd60e51b815260040161047491906115b9565b506000610ed08486611a09565b95945050505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f13573d6000803e3d6000fd5b5050565b6000600754821115610f7e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610474565b6000610f886111e4565b9050610f94838261101d565b9392505050565b600082600003610fad575060006103ba565b6000610fb9838561191e565b905082610fc68583611a20565b14610f945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610474565b6000610f9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611207565b600d805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110a7576110a761198f565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190611972565b816001815181106111375761113761198f565b6001600160a01b039283166020918202929092010152600c5461115d9130911684610a99565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611196908590600090869030904290600401611a42565b600060405180830381600087803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6108fc838383611235565b60008060006111f161132c565b9092509050611200828261101d565b9250505090565b600081836112285760405162461bcd60e51b815260040161047491906115b9565b506000610ed08486611a20565b600080600080600080611247876113ae565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611279908761140b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112a8908661144d565b6001600160a01b0389166000908152600260205260409020556112ca816114ac565b6112d484836114f6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161131991815260200190565b60405180910390a3505050505050505050565b6007546000908190816113416008600a61190f565b61134f906305f5e10061191e565b90506113776113606008600a61190f565b61136e906305f5e10061191e565b6007549061101d565b8210156113a55760075461138d6008600a61190f565b61139b906305f5e10061191e565b9350935050509091565b90939092509050565b60008060008060008060008060006113cb8a600954600a5461151a565b92509250925060006113db6111e4565b905060008060006113ee8e878787611569565b919e509c509a509598509396509194505050505091939550919395565b6000610f9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e9f565b60008061145a8385611ab3565b905083811015610f945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610474565b60006114b66111e4565b905060006114c48383610f9b565b306000908152600260205260409020549091506114e1908261144d565b30600090815260026020526040902055505050565b600754611503908361140b565b600755600854611513908261144d565b6008555050565b600080808061152e606461076c8989610f9b565b90506000611541606461076c8a89610f9b565b90506000611559826115538b8661140b565b9061140b565b9992985090965090945050505050565b60008080806115788886610f9b565b905060006115868887610f9b565b905060006115948888610f9b565b905060006115a682611553868661140b565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156115e6578581018301518582016040015282016115ca565b818111156115f8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a9657600080fd5b803561162e8161160e565b919050565b6000806040838503121561164657600080fd5b82356116518161160e565b946020939093013593505050565b60008060006060848603121561167457600080fd5b833561167f8161160e565b9250602084013561168f8161160e565b929592945050506040919091013590565b6000602082840312156116b257600080fd5b8135610f948161160e565b6000602082840312156116cf57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b8015158114610a9657600080fd5b803561162e816116ec565b6000806040838503121561171857600080fd5b823567ffffffffffffffff8082111561173057600080fd5b818501915085601f83011261174457600080fd5b8135602082821115611758576117586116d6565b8160051b604051601f19603f8301168101818110868211171561177d5761177d6116d6565b60405292835281830193508481018201928984111561179b57600080fd5b948201945b838610156117c0576117b186611623565b855294820194938201936117a0565b96506117cf90508782016116fa565b9450505050509250929050565b600080604083850312156117ef57600080fd5b82356117fa8161160e565b9150602083013561180a8161160e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186657816000190482111561184c5761184c611815565b8085161561185957918102915b93841c9390800290611830565b509250929050565b60008261187d575060016103ba565b8161188a575060006103ba565b81600181146118a057600281146118aa576118c6565b60019150506103ba565b60ff8411156118bb576118bb611815565b50506001821b6103ba565b5060208310610133831016604e8410600b84101617156118e9575081810a6103ba565b6118f3838361182b565b806000190482111561190757611907611815565b029392505050565b6000610f9460ff84168361186e565b600081600019048311821515161561193857611938611815565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561198457600080fd5b8151610f948161160e565b634e487b7160e01b600052603260045260246000fd5b6000600182016119b7576119b7611815565b5060010190565b6000806000606084860312156119d357600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119fe57600080fd5b8151610f94816116ec565b600082821015611a1b57611a1b611815565b500390565b600082611a3d57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a925784516001600160a01b031683529383019391830191600101611a6d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ac657611ac6611815565b50019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c4723aa3a3b33b7394983b12c0103c95685a79f86d0411c55c741789dd72c83764736f6c634300080d0033
Deployed Bytecode Sourcemap
3628:9761:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5219:83;;;;;;;;;;-1:-1:-1;5289:5:0;;;;;;;;;;;;-1:-1:-1;;;5289:5:0;;;;5219:83;;;;;;;:::i;:::-;;;;;;;;6071:161;;;;;;;;;;-1:-1:-1;6071:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6071:161:0;1211:187:1;5496:95:0;;;;;;;;;;;;;:::i;:::-;;;1549:25:1;;;1537:2;1522:18;5496:95:0;1403:177:1;6240:313:0;;;;;;;;;;-1:-1:-1;6240:313:0;;;;;:::i;:::-;;:::i;5405:83::-;;;;;;;;;;-1:-1:-1;5405:83:0;;3847:1;2188:36:1;;2176:2;2161:18;5405:83:0;2046:184:1;9345:398:0;;;;;;;;;;;;;:::i;:::-;;11614:85;;;;;;;;;;;;;:::i;5599:138::-;;;;;;;;;;-1:-1:-1;5599:138:0;;;;;:::i;:::-;;:::i;2709:148::-;;;;;;;;;;;;;:::i;4642:51::-;;;;;;;;;;;;;;;;10062:80;;;;;;;;;;;;;:::i;2495:79::-;;;;;;;;;;-1:-1:-1;2533:7:0;2560:6;2495:79;;-1:-1:-1;;;;;2560:6:0;;;2633:51:1;;2621:2;2606:18;2495:79:0;2487:203:1;5310:87:0;;;;;;;;;;-1:-1:-1;5382:7:0;;;;;;;;;;;;-1:-1:-1;;;5382:7:0;;;;5310:87;;9130:207;;;;;;;;;;-1:-1:-1;9130:207:0;;;;;:::i;:::-;;:::i;10150:295::-;;;;;;;;;;-1:-1:-1;10150:295:0;;;;;:::i;:::-;;:::i;5745:167::-;;;;;;;;;;-1:-1:-1;5745:167:0;;;;;:::i;:::-;;:::i;11514:92::-;;;;;;;;;;;;;:::i;5920:143::-;;;;;;;;;;-1:-1:-1;5920:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6028:18:0;;;6001:7;6028:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5920:143;9753:301;;;;;;;;;;;;;:::i;6071:161::-;6146:4;6163:39;293:10;6186:7;6195:6;6163:8;:39::i;:::-;-1:-1:-1;6220:4:0;6071:161;;;;;:::o;5496:95::-;5549:7;4235:13;3847:1;4235:2;:13;:::i;:::-;4223:25;;:9;:25;:::i;:::-;5569:14;;5496:95;:::o;6240:313::-;6338:4;6355:36;6365:6;6373:9;6384:6;6355:9;:36::i;:::-;6402:121;6411:6;293:10;6433:89;6471:6;6433:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6433:19:0;;;;;;:11;:19;;;;;;;;293:10;6433:33;;;;;;;;;;:37;:89::i;:::-;6402:8;:121::i;:::-;-1:-1:-1;6541:4:0;6240:313;;;;;:::o;9345:398::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;;;;;;;;;9507:15:::1;:34:::0;;-1:-1:-1;;;;;;9507:34:0::1;9453:42;9507:34:::0;;::::1;::::0;;;9552:58:::1;9569:4;9453:42:::0;4235:13:::1;3847:1;4235:2;:13;:::i;:::-;4223:25;::::0;:9:::1;:25;:::i;9552:58::-;9655:16;-1:-1:-1::0;;;;;9655:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9637:56:0::1;;9702:4;9709:16;-1:-1:-1::0;;;;;9709:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9637:96;::::0;-1:-1:-1;;;;;;9637:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7392:15:1;;;9637:96:0::1;::::0;::::1;7374:34:1::0;7444:15;;7424:18;;;7417:43;7309:18;;9637:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9621:13;:112:::0;;-1:-1:-1;;;;;;9621:112:0::1;-1:-1:-1::0;;;;;9621:112:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9345:398:0:o;11614:85::-;11656:35;11669:21;11656:12;:35::i;:::-;11614:85::o;5599:138::-;-1:-1:-1;;;;;5712:16:0;;5665:7;5712:16;;;:7;:16;;;;;;5692:37;;:19;:37::i;2709:148::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;2816:1:::1;2800:6:::0;;2779:40:::1;::::0;-1:-1:-1;;;;;2800:6:0;;::::1;::::0;2779:40:::1;::::0;2816:1;;2779:40:::1;2847:1;2830:19:::0;;-1:-1:-1;;;;;;2830:19:0::1;::::0;;2709:148::o;10062:80::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;10116:11:::1;:18:::0;;-1:-1:-1;;;;10116:18:0::1;-1:-1:-1::0;;;10116:18:0::1;::::0;;10062:80::o;9130:207::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;9225:1:::1;9214:10;:12;9206:21;;;::::0;::::1;;9251:32;9279:3;9251:23;9263:10:::0;4235:13:::1;3847:1;4235:2;:13;:::i;:::-;4223:25;::::0;:9:::1;:25;:::i;:::-;9251:11:::0;::::1;:23::i;:::-;:27:::0;::::1;:32::i;:::-;9236:12;:47:::0;;;9297:32:::1;::::0;1549:25:1;;;9297:32:0::1;::::0;1537:2:1;1522:18;9297:32:0::1;;;;;;;9130:207:::0;:::o;10150:295::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;10233:9:::1;10228:210;10252:5;:12;10248:1;:16;10228:210;;;10303:15;::::0;10285:8;;-1:-1:-1;;;;;10303:15:0;;::::1;::::0;10285:5;;10291:1;;10285:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;10285:34:0::1;;;:70;;;;-1:-1:-1::0;10341:13:0::1;::::0;10323:8;;-1:-1:-1;;;;;10341:13:0;;::::1;::::0;10323:5;;10329:1;;10323:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;10323:32:0::1;;;10285:70;:96;;;;;10376:4;-1:-1:-1::0;;;;;10358:23:0::1;:5;10364:1;10358:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;10358:23:0::1;;;10285:96;10282:147;;;10412:5;10395:4;:14;10400:5;10406:1;10400:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;10395:14:0::1;-1:-1:-1::0;;;;;10395:14:0::1;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10282:147;10266:3:::0;::::1;::::0;::::1;:::i;:::-;;;;10228:210;;;;10150:295:::0;;:::o;5745:167::-;5823:4;5840:42;293:10;5864:9;5875:6;5840:9;:42::i;11514:92::-;11556:42;11573:24;11591:4;11573:9;:24::i;:::-;11556:16;:42::i;9753:301::-;2622:6;;-1:-1:-1;;;;;2622:6:0;293:10;2622:22;2614:67;;;;-1:-1:-1;;;2614:67:0;;;;;;;:::i;:::-;9806:15:::1;::::0;-1:-1:-1;;;;;9806:15:0::1;:31;9845:21;9876:4;9882:24;9876:4:::0;9882:9:::1;:24::i;:::-;9907:1;9909::::0;9911:7:::1;2533::::0;2560:6;-1:-1:-1;;;;;2560:6:0;;2495:79;9911:7:::1;9806:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9806:129:0;;;-1:-1:-1;;;;;8102:15:1;;;9806:129:0::1;::::0;::::1;8084:34:1::0;8134:18;;;8127:34;;;;8177:18;;;8170:34;;;;8220:18;;;8213:34;8284:15;;;8263:19;;;8256:44;9919:15:0::1;8316:19:1::0;;;8309:35;8018:19;;9806:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9946:11:0::1;:18:::0;;-1:-1:-1;;;;;;;9946:18:0;::::1;;::::0;;;10013:15:::1;::::0;9975:71:::1;::::0;-1:-1:-1;;;9975:71:0;;-1:-1:-1;;;;;10013:15:0;;::::1;9975:71;::::0;::::1;8840:51:1::0;-1:-1:-1;;8907:18:1;;;8900:34;9982:13:0;;;-1:-1:-1;9975:29:0::1;::::0;8813:18:1;;9975:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9753:301::o:0;6827:335::-;-1:-1:-1;;;;;6920:19:0;;6912:68;;;;-1:-1:-1;;;6912:68:0;;9397:2:1;6912:68:0;;;9379:21:1;9436:2;9416:18;;;9409:30;9475:34;9455:18;;;9448:62;-1:-1:-1;;;9526:18:1;;;9519:34;9570:19;;6912:68:0;9195:400:1;6912:68:0;-1:-1:-1;;;;;6999:21:0;;6991:68;;;;-1:-1:-1;;;6991:68:0;;9802:2:1;6991:68:0;;;9784:21:1;9841:2;9821:18;;;9814:30;9880:34;9860:18;;;9853:62;-1:-1:-1;;;9931:18:1;;;9924:32;9973:19;;6991:68:0;9600:398:1;6991:68:0;-1:-1:-1;;;;;7070:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7122:32;;1549:25:1;;;7122:32:0;;1522:18:1;7122:32:0;;;;;;;6827:335;;;:::o;7170:1361::-;-1:-1:-1;;;;;7258:18:0;;7250:68;;;;-1:-1:-1;;;7250:68:0;;10205:2:1;7250:68:0;;;10187:21:1;10244:2;10224:18;;;10217:30;10283:34;10263:18;;;10256:62;-1:-1:-1;;;10334:18:1;;;10327:35;10379:19;;7250:68:0;10003:401:1;7250:68:0;-1:-1:-1;;;;;7337:16:0;;7329:64;;;;-1:-1:-1;;;7329:64:0;;10611:2:1;7329:64:0;;;10593:21:1;10650:2;10630:18;;;10623:30;10689:34;10669:18;;;10662:62;-1:-1:-1;;;10740:18:1;;;10733:33;10783:19;;7329:64:0;10409:399:1;7329:64:0;7421:1;7412:6;:10;7404:64;;;;-1:-1:-1;;;7404:64:0;;11015:2:1;7404:64:0;;;10997:21:1;11054:2;11034:18;;;11027:30;11093:34;11073:18;;;11066:62;-1:-1:-1;;;11144:18:1;;;11137:39;11193:19;;7404:64:0;10813:405:1;7404:64:0;-1:-1:-1;;;;;7488:10:0;;;;;;:4;:10;;;;;;;;7487:11;7479:20;;;;;;7522:1;7510:9;:13;;;7534:9;:13;-1:-1:-1;2560:6:0;-1:-1:-1;;;;;7562:15:0;;;2560:6;;7562:15;;;;:32;;-1:-1:-1;2533:7:0;2560:6;-1:-1:-1;;;;;7581:13:0;;;2560:6;;7581:13;;7562:32;7558:923;;;7623:13;;-1:-1:-1;;;;;7615:21:0;;;7623:13;;7615:21;:55;;;;-1:-1:-1;7654:15:0;;-1:-1:-1;;;;;7640:30:0;;;7654:15;;7640:30;;7615:55;:83;;;;-1:-1:-1;;;;;;7676:22:0;;;;;;:18;:22;;;;;;;;7674:24;7615:83;7611:218;;;7761:12;;7751:6;:22;;7743:31;;;;;;7801:11;;-1:-1:-1;;;7801:11:0;;;;7793:20;;;;;;7866:15;;-1:-1:-1;;;;;7850:32:0;;;7866:15;;7850:32;;;;:62;;-1:-1:-1;;;;;;7888:24:0;;;;;;:18;:24;;;;;;;;7886:26;7850:62;7845:206;;;7940:13;;-1:-1:-1;;;;;7940:13:0;;;7934:19;;;;7931:105;;7985:1;7973:9;:13;;;8005:9;:13;7931:105;8065:28;8096:24;8114:4;8096:9;:24::i;:::-;8140:6;;8065:55;;-1:-1:-1;;;;8140:6:0;;;;8139:7;:32;;;;-1:-1:-1;8158:13:0;;-1:-1:-1;;;;;8150:21:0;;;8158:13;;8150:21;;8139:32;:47;;;;-1:-1:-1;8175:11:0;;-1:-1:-1;;;8175:11:0;;;;8139:47;8135:335;;;8207:38;8224:20;8207:16;:38::i;:::-;8293:21;8357:18;8336:39;;8333:122;;;8400:35;8413:21;8400:12;:35::i;:::-;8188:282;8135:335;7596:885;7558:923;8493:30;8508:4;8513:2;8516:6;8493:14;:30::i;1350:190::-;1436:7;1472:12;1464:6;;;;1456:29;;;;-1:-1:-1;;;1456:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1496:9:0;1508:5;1512:1;1508;:5;:::i;:::-;1496:17;1350:190;-1:-1:-1;;;;;1350:190:0:o;9030:92::-;9087:10;;:27;;-1:-1:-1;;;;;9087:10:0;;;;:27;;;;;9107:6;;9087:10;:27;:10;:27;9107:6;9087:10;:27;;;;;;;;;;;;;;;;;;;;;9030:92;:::o;6565:254::-;6632:7;6671;;6660;:18;;6652:73;;;;-1:-1:-1;;;6652:73:0;;11555:2:1;6652:73:0;;;11537:21:1;11594:2;11574:18;;;11567:30;11633:34;11613:18;;;11606:62;-1:-1:-1;;;11684:18:1;;;11677:40;11734:19;;6652:73:0;11353:406:1;6652:73:0;6736:19;6759:10;:8;:10::i;:::-;6736:33;-1:-1:-1;6787:24:0;:7;6736:33;6787:11;:24::i;:::-;6780:31;6565:254;-1:-1:-1;;;6565:254:0:o;1548:246::-;1606:7;1630:1;1635;1630:6;1626:47;;-1:-1:-1;1660:1:0;1653:8;;1626:47;1683:9;1695:5;1699:1;1695;:5;:::i;:::-;1683:17;-1:-1:-1;1728:1:0;1719:5;1723:1;1683:17;1719:5;:::i;:::-;:10;1711:56;;;;-1:-1:-1;;;1711:56:0;;12188:2:1;1711:56:0;;;12170:21:1;12227:2;12207:18;;;12200:30;12266:34;12246:18;;;12239:62;-1:-1:-1;;;12317:18:1;;;12310:31;12358:19;;1711:56:0;11986:397:1;1802:132:0;1860:7;1887:39;1891:1;1894;1887:39;;;;;;;;;;;;;;;;;:3;:39::i;8539:483::-;4782:6;:13;;-1:-1:-1;;;;4782:13:0;-1:-1:-1;;;4782:13:0;;;8641:16:::1;::::0;;8655:1:::1;8641:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8641:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8641:16:0::1;8617:40;;8686:4;8668;8673:1;8668:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8668:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8712:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8712:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8668:7;;8712:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8702:4;8707:1;8702:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8702:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8777:15:::1;::::0;8745:62:::1;::::0;8762:4:::1;::::0;8777:15:::1;8795:11:::0;8745:8:::1;:62::i;:::-;8818:15;::::0;:196:::1;::::0;-1:-1:-1;;;8818:196:0;;-1:-1:-1;;;;;8818:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8899:11;;8818:15:::1;::::0;8941:4;;8968::::1;::::0;8988:15:::1;::::0;8818:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4818:6:0;:14;;-1:-1:-1;;;;4818:14:0;;;-1:-1:-1;;;;8539:483:0:o;10453:146::-;10547:44;10565:6;10573:9;10584:6;10547:17;:44::i;12959:163::-;13000:7;13021:15;13038;13057:19;:17;:19::i;:::-;13020:56;;-1:-1:-1;13020:56:0;-1:-1:-1;13094:20:0;13020:56;;13094:11;:20::i;:::-;13087:27;;;;12959:163;:::o;1942:189::-;2028:7;2063:12;2056:5;2048:28;;;;-1:-1:-1;;;2048:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2087:9:0;2099:5;2103:1;2099;:5;:::i;10607:487::-;10706:15;10723:23;10748:12;10762:23;10787:12;10801:13;10818:19;10829:7;10818:10;:19::i;:::-;-1:-1:-1;;;;;10866:15:0;;;;;;:7;:15;;;;;;10705:132;;-1:-1:-1;10705:132:0;;-1:-1:-1;10705:132:0;;-1:-1:-1;10705:132:0;-1:-1:-1;10705:132:0;-1:-1:-1;10705:132:0;-1:-1:-1;10866:28:0;;10705:132;10866:19;:28::i;:::-;-1:-1:-1;;;;;10848:15:0;;;;;;;:7;:15;;;;;;:46;;;;10926:18;;;;;;;:39;;10949:15;10926:22;:39::i;:::-;-1:-1:-1;;;;;10905:18:0;;;;;;:7;:18;;;;;:60;10976:16;10986:5;10976:9;:16::i;:::-;11003:23;11015:4;11021;11003:11;:23::i;:::-;11059:9;-1:-1:-1;;;;;11042:44:0;11051:6;-1:-1:-1;;;;;11042:44:0;;11070:15;11042:44;;;;1549:25:1;;1537:2;1522:18;;1403:177;11042:44:0;;;;;;;;10694:400;;;;;;10607:487;;;:::o;13130:256::-;13227:7;;13180;;;;;4235:13;3847:1;4235:2;:13;:::i;:::-;4223:25;;:9;:25;:::i;:::-;13245;-1:-1:-1;13295:20:0;4235:13;3847:1;4235:2;:13;:::i;:::-;4223:25;;:9;:25;:::i;:::-;13295:7;;;:11;:20::i;:::-;13285:7;:30;13281:61;;;13325:7;;4235:13;3847:1;4235:2;:13;:::i;:::-;4223:25;;:9;:25;:::i;:::-;13317;;;;;;13130:256;;:::o;13281:61::-;13361:7;;13370;;-1:-1:-1;13130:256:0;-1:-1:-1;13130:256:0:o;11707:471::-;11766:7;11775;11784;11793;11802;11811;11832:23;11857:12;11871:13;11888:42;11900:7;11909:9;;11920;;11888:11;:42::i;:::-;11831:99;;;;;;11941:19;11964:10;:8;:10::i;:::-;11941:33;;11986:15;12003:23;12028:12;12044:46;12056:7;12065:4;12071:5;12078:11;12044;:46::i;:::-;11985:105;;-1:-1:-1;11985:105:0;-1:-1:-1;11985:105:0;-1:-1:-1;12141:15:0;;-1:-1:-1;12158:4:0;;-1:-1:-1;12164:5:0;;-1:-1:-1;;;;;11707:471:0;;;;;;;:::o;1206:136::-;1264:7;1291:43;1295:1;1298;1291:43;;;;;;;;;;;;;;;;;:3;:43::i;1019:179::-;1077:7;;1109:5;1113:1;1109;:5;:::i;:::-;1097:17;;1138:1;1133;:6;;1125:46;;;;-1:-1:-1;;;1125:46:0;;13708:2:1;1125:46:0;;;13690:21:1;13747:2;13727:18;;;13720:30;13786:29;13766:18;;;13759:57;13833:18;;1125:46:0;13506:351:1;11102:212:0;11155:19;11178:10;:8;:10::i;:::-;11155:33;-1:-1:-1;11199:13:0;11215:22;:5;11155:33;11215:9;:22::i;:::-;11289:4;11273:22;;;;:7;:22;;;;;;11199:38;;-1:-1:-1;11273:33:0;;11199:38;11273:26;:33::i;:::-;11264:4;11248:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11102:212:0:o;11322:147::-;11400:7;;:17;;11412:4;11400:11;:17::i;:::-;11390:7;:27;11441:10;;:20;;11456:4;11441:14;:20::i;:::-;11428:10;:33;-1:-1:-1;;11322:147:0:o;12186:351::-;12279:7;;;;12332:28;12356:3;12332:19;:7;12344:6;12332:11;:19::i;:28::-;12317:43;-1:-1:-1;12371:13:0;12387:29;12412:3;12387:20;:7;12399;12387:11;:20::i;:29::-;12371:45;-1:-1:-1;12427:23:0;12453:28;12371:45;12453:17;:7;12465:4;12453:11;:17::i;:::-;:21;;:28::i;:::-;12427:54;12517:4;;-1:-1:-1;12523:5:0;;-1:-1:-1;12186:351:0;;-1:-1:-1;;;;;12186:351:0:o;12545:409::-;12655:7;;;;12711:24;:7;12723:11;12711;:24::i;:::-;12693:42;-1:-1:-1;12746:12:0;12761:21;:4;12770:11;12761:8;:21::i;:::-;12746:36;-1:-1:-1;12793:13:0;12809:22;:5;12819:11;12809:9;:22::i;:::-;12793:38;-1:-1:-1;12842:23:0;12868:28;12793:38;12868:17;:7;12880:4;12868:11;:17::i;:28::-;12915:7;;;;-1:-1:-1;12941:4:0;;-1:-1:-1;12545:409:0;;-1:-1:-1;;;;;;;12545:409:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:247::-;2294:6;2347:2;2335:9;2326:7;2322:23;2318:32;2315:52;;;2363:1;2360;2353:12;2315:52;2402:9;2389:23;2421:31;2446:5;2421:31;:::i;2695:180::-;2754:6;2807:2;2795:9;2786:7;2782:23;2778:32;2775:52;;;2823:1;2820;2813:12;2775:52;-1:-1:-1;2846:23:1;;2695:180;-1:-1:-1;2695:180:1:o;2880:127::-;2941:10;2936:3;2932:20;2929:1;2922:31;2972:4;2969:1;2962:15;2996:4;2993:1;2986:15;3012:118;3098:5;3091:13;3084:21;3077:5;3074:32;3064:60;;3120:1;3117;3110:12;3135:128;3200:20;;3229:28;3200:20;3229:28;:::i;3268:1191::-;3358:6;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3475:9;3462:23;3504:18;3545:2;3537:6;3534:14;3531:34;;;3561:1;3558;3551:12;3531:34;3599:6;3588:9;3584:22;3574:32;;3644:7;3637:4;3633:2;3629:13;3625:27;3615:55;;3666:1;3663;3656:12;3615:55;3702:2;3689:16;3724:4;3747:2;3743;3740:10;3737:36;;;3753:18;;:::i;:::-;3799:2;3796:1;3792:10;3831:2;3825:9;3894:2;3890:7;3885:2;3881;3877:11;3873:25;3865:6;3861:38;3949:6;3937:10;3934:22;3929:2;3917:10;3914:18;3911:46;3908:72;;;3960:18;;:::i;:::-;3996:2;3989:22;4046:18;;;4080:15;;;;-1:-1:-1;4122:11:1;;;4118:20;;;4150:19;;;4147:39;;;4182:1;4179;4172:12;4147:39;4206:11;;;;4226:148;4242:6;4237:3;4234:15;4226:148;;;4308:23;4327:3;4308:23;:::i;:::-;4296:36;;4259:12;;;;4352;;;;4226:148;;;4393:6;-1:-1:-1;4418:35:1;;-1:-1:-1;4434:18:1;;;4418:35;:::i;:::-;4408:45;;;;;;3268:1191;;;;;:::o;4464:388::-;4532:6;4540;4593:2;4581:9;4572:7;4568:23;4564:32;4561:52;;;4609:1;4606;4599:12;4561:52;4648:9;4635:23;4667:31;4692:5;4667:31;:::i;:::-;4717:5;-1:-1:-1;4774:2:1;4759:18;;4746:32;4787:33;4746:32;4787:33;:::i;:::-;4839:7;4829:17;;;4464:388;;;;;:::o;4857:127::-;4918:10;4913:3;4909:20;4906:1;4899:31;4949:4;4946:1;4939:15;4973:4;4970:1;4963:15;4989:422;5078:1;5121:5;5078:1;5135:270;5156:7;5146:8;5143:21;5135:270;;;5215:4;5211:1;5207:6;5203:17;5197:4;5194:27;5191:53;;;5224:18;;:::i;:::-;5274:7;5264:8;5260:22;5257:55;;;5294:16;;;;5257:55;5373:22;;;;5333:15;;;;5135:270;;;5139:3;4989:422;;;;;:::o;5416:806::-;5465:5;5495:8;5485:80;;-1:-1:-1;5536:1:1;5550:5;;5485:80;5584:4;5574:76;;-1:-1:-1;5621:1:1;5635:5;;5574:76;5666:4;5684:1;5679:59;;;;5752:1;5747:130;;;;5659:218;;5679:59;5709:1;5700:10;;5723:5;;;5747:130;5784:3;5774:8;5771:17;5768:43;;;5791:18;;:::i;:::-;-1:-1:-1;;5847:1:1;5833:16;;5862:5;;5659:218;;5961:2;5951:8;5948:16;5942:3;5936:4;5933:13;5929:36;5923:2;5913:8;5910:16;5905:2;5899:4;5896:12;5892:35;5889:77;5886:159;;;-1:-1:-1;5998:19:1;;;6030:5;;5886:159;6077:34;6102:8;6096:4;6077:34;:::i;:::-;6147:6;6143:1;6139:6;6135:19;6126:7;6123:32;6120:58;;;6158:18;;:::i;:::-;6196:20;;5416:806;-1:-1:-1;;;5416:806:1:o;6227:140::-;6285:5;6314:47;6355:4;6345:8;6341:19;6335:4;6314:47;:::i;6372:168::-;6412:7;6478:1;6474;6470:6;6466:14;6463:1;6460:21;6455:1;6448:9;6441:17;6437:45;6434:71;;;6485:18;;:::i;:::-;-1:-1:-1;6525:9:1;;6372:168::o;6545:356::-;6747:2;6729:21;;;6766:18;;;6759:30;6825:34;6820:2;6805:18;;6798:62;6892:2;6877:18;;6545:356::o;6906:251::-;6976:6;7029:2;7017:9;7008:7;7004:23;7000:32;6997:52;;;7045:1;7042;7035:12;6997:52;7077:9;7071:16;7096:31;7121:5;7096:31;:::i;7471:127::-;7532:10;7527:3;7523:20;7520:1;7513:31;7563:4;7560:1;7553:15;7587:4;7584:1;7577:15;7603:135;7642:3;7663:17;;;7660:43;;7683:18;;:::i;:::-;-1:-1:-1;7730:1:1;7719:13;;7603:135::o;8355:306::-;8443:6;8451;8459;8512:2;8500:9;8491:7;8487:23;8483:32;8480:52;;;8528:1;8525;8518:12;8480:52;8557:9;8551:16;8541:26;;8607:2;8596:9;8592:18;8586:25;8576:35;;8651:2;8640:9;8636:18;8630:25;8620:35;;8355:306;;;;;:::o;8945:245::-;9012:6;9065:2;9053:9;9044:7;9040:23;9036:32;9033:52;;;9081:1;9078;9071:12;9033:52;9113:9;9107:16;9132:28;9154:5;9132:28;:::i;11223:125::-;11263:4;11291:1;11288;11285:8;11282:34;;;11296:18;;:::i;:::-;-1:-1:-1;11333:9:1;;11223:125::o;11764:217::-;11804:1;11830;11820:132;;11874:10;11869:3;11865:20;11862:1;11855:31;11909:4;11906:1;11899:15;11937:4;11934:1;11927:15;11820:132;-1:-1:-1;11966:9:1;;11764:217::o;12388:980::-;12650:4;12698:3;12687:9;12683:19;12729:6;12718:9;12711:25;12755:2;12793:6;12788:2;12777:9;12773:18;12766:34;12836:3;12831:2;12820:9;12816:18;12809:31;12860:6;12895;12889:13;12926:6;12918;12911:22;12964:3;12953:9;12949:19;12942:26;;13003:2;12995:6;12991:15;12977:29;;13024:1;13034:195;13048:6;13045:1;13042:13;13034:195;;;13113:13;;-1:-1:-1;;;;;13109:39:1;13097:52;;13204:15;;;;13169:12;;;;13145:1;13063:9;13034:195;;;-1:-1:-1;;;;;;;13285:32:1;;;;13280:2;13265:18;;13258:60;-1:-1:-1;;;13349:3:1;13334:19;13327:35;13246:3;12388:980;-1:-1:-1;;;12388:980:1:o;13373:128::-;13413:3;13444:1;13440:6;13437:1;13434:13;13431:39;;;13450:18;;:::i;:::-;-1:-1:-1;13486:9:1;;13373:128::o
Swarm Source
ipfs://c4723aa3a3b33b7394983b12c0103c95685a79f86d0411c55c741789dd72c837
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.