Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 HEDZ
Holders
57
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,346,313.450278073 HEDZValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HEDZ
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-08 */ // SPDX-License-Identifier: MIT // https://t.me/HedzByMattFurie // https://x.com/HedzByMattErc20 // https://hedzbymattfurie.lol/ pragma solidity 0.8.20; 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 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 HEDZ is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _buyTax=20; uint256 private _sellTax=30; uint256 private _preventSwapBefore=5; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Hedz By Matt Furie"; string private constant _symbol = unicode"HEDZ"; uint256 public _maxTxAmount = 10000000 * 10**_decimals; uint256 public _maxWalletSize = 10000000 * 10**_decimals; uint256 public _taxSwapThreshold= 10000000 * 10**_decimals; uint256 public _maxTaxSwap= 10000000 * 10**_decimals; uint256 public _totalRewards = 0; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private transfersAllowed = true; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[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 _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"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(transfersAllowed, "Transfers are disabled"); require(!bots[from] && !bots[to]); taxAmount = amount.mul(_buyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_sellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { taxAmount = 0; } if(taxAmount > 0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function getTotalRewards() public view returns(uint256) { return _totalRewards; } 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 removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function setNewFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _buyTax = taxFeeOnBuy; _sellTax = taxFeeOnSell; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _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); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; transfersAllowed = false; } function enableTrading() external onlyOwner() { transfersAllowed = true; } function airdrop(address[] calldata addresses, uint256[] calldata amounts) external { require(addresses.length > 0 && amounts.length == addresses.length); address from = msg.sender; for (uint256 i = 0; i < addresses.length; i++) { _transfer(from, addresses[i], amounts[i] * (10 ** 9)); } } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } receive() external payable {} function manualSend() external { require(_msgSender()==_taxWallet); uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(address(this).balance); } } }
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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setNewFee","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
60806040526006805460ff191660011790556014600755601e600855600560099081555f600a9081556200003491906200033c565b62000043906298968062000353565b600b55620000546009600a6200033c565b62000063906298968062000353565b600c55620000746009600a6200033c565b62000083906298968062000353565b600d55620000946009600a6200033c565b620000a3906298968062000353565b600e555f600f556011805462ffffff60a81b1916600160b81b179055348015620000cb575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001316009600a6200033c565b6200014190633b9aca0062000353565b335f9081526001602081905260408220929092556003906200016a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001cd3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002066009600a6200033c565b6200021690633b9aca0062000353565b60405190815260200160405180910390a36200036d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028157815f19048211156200026557620002656200022d565b808516156200027357918102915b93841c939080029062000246565b509250929050565b5f82620002995750600162000336565b81620002a757505f62000336565b8160018114620002c05760028114620002cb57620002eb565b600191505062000336565b60ff841115620002df57620002df6200022d565b50506001821b62000336565b5060208310610133831016604e8410600b841016171562000310575081810a62000336565b6200031c838362000241565b805f19048211156200033257620003326200022d565b0290505b92915050565b5f6200034c60ff84168362000289565b9392505050565b80820281158282048414176200033657620003366200022d565b611dbf806200037b5f395ff3fe6080604052600436106101b2575f3560e01c8063751039fc116100e7578063bf474bed11610087578063d34628cc11610062578063d34628cc146104b5578063dd62ed3e146104d4578063e627f2db14610518578063f42938901461052c575f80fd5b8063bf474bed14610473578063c876d0b914610488578063c9567bf9146104a1575f80fd5b80638da5cb5b116100c25780638da5cb5b146103ed5780638f9a55c01461041357806395d89b4114610428578063a9059cbb14610454575f80fd5b8063751039fc146103b05780637d1db4a5146103c45780638a8c523c146103d9575f80fd5b806331c2d8471161015257806351bc3c851161012d57806351bc3c8514610335578063672434821461034957806370a0823114610368578063715018a61461039c575f80fd5b806331c2d847146102be5780633bbac579146102df57806340aa6b9214610316575f80fd5b806318160ddd1161018d57806318160ddd1461025b57806323b872dd1461026f57806328af352b1461028e578063313ce567146102a3575f80fd5b806306fdde03146101bd578063095ea7b3146102095780630faee56f14610238575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506040805180820190915260128152714865647a204279204d61747420467572696560701b60208201525b6040516102009190611802565b60405180910390f35b348015610214575f80fd5b50610228610223366004611871565b610540565b6040519015158152602001610200565b348015610243575f80fd5b5061024d600e5481565b604051908152602001610200565b348015610266575f80fd5b5061024d610556565b34801561027a575f80fd5b5061022861028936600461189b565b610576565b348015610299575f80fd5b5061024d600f5481565b3480156102ae575f80fd5b5060405160098152602001610200565b3480156102c9575f80fd5b506102dd6102d83660046118ed565b6105dd565b005b3480156102ea575f80fd5b506102286102f93660046119ad565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610321575f80fd5b506102dd6103303660046119c8565b610677565b348015610340575f80fd5b506102dd6106ab565b348015610354575f80fd5b506102dd610363366004611a30565b6106fd565b348015610373575f80fd5b5061024d6103823660046119ad565b6001600160a01b03165f9081526001602052604090205490565b3480156103a7575f80fd5b506102dd610790565b3480156103bb575f80fd5b506102dd610801565b3480156103cf575f80fd5b5061024d600b5481565b3480156103e4575f80fd5b506102dd6108bc565b3480156103f8575f80fd5b505f546040516001600160a01b039091168152602001610200565b34801561041e575f80fd5b5061024d600c5481565b348015610433575f80fd5b506040805180820190915260048152632422a22d60e11b60208201526101f3565b34801561045f575f80fd5b5061022861046e366004611871565b6108fa565b34801561047e575f80fd5b5061024d600d5481565b348015610493575f80fd5b506006546102289060ff1681565b3480156104ac575f80fd5b506102dd610906565b3480156104c0575f80fd5b506102dd6104cf3660046118ed565b610cb0565b3480156104df575f80fd5b5061024d6104ee366004611a97565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610523575f80fd5b50600f5461024d565b348015610537575f80fd5b506102dd610d3e565b5f61054c338484610d75565b5060015b92915050565b5f6105636009600a611bc2565b61057190633b9aca00611bd0565b905090565b5f610582848484610e98565b6105d384336105ce85604051806060016040528060288152602001611d62602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061147a565b610d75565b5060019392505050565b5f546001600160a01b0316331461060f5760405162461bcd60e51b815260040161060690611be7565b60405180910390fd5b5f5b8151811015610673575f60045f84848151811061063057610630611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061066b81611c30565b915050610611565b5050565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161060690611be7565b600791909155600855565b60065461010090046001600160a01b0316336001600160a01b0316146106cf575f80fd5b305f9081526001602052604090205480156106ed576106ed816114b2565b4780156106735761067347611622565b821580159061070b57508083145b610713575f80fd5b335f5b84811015610788576107768287878481811061073457610734611c1c565b905060200201602081019061074991906119ad565b86868581811061075b5761075b611c1c565b90506020020135633b9aca006107719190611bd0565b610e98565b8061078081611c30565b915050610716565b505050505050565b5f546001600160a01b031633146107b95760405162461bcd60e51b815260040161060690611be7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161060690611be7565b6108366009600a611bc2565b61084490633b9aca00611bd0565b600b556108536009600a611bc2565b61086190633b9aca00611bd0565b600c556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61089b6009600a611bc2565b6108a990633b9aca00611bd0565b60405190815260200160405180910390a1565b5f546001600160a01b031633146108e55760405162461bcd60e51b815260040161060690611be7565b6011805460ff60b81b1916600160b81b179055565b5f61054c338484610e98565b5f546001600160a01b0316331461092f5760405162461bcd60e51b815260040161060690611be7565b601154600160a01b900460ff16156109895760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610606565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109d29030906109c46009600a611bc2565b6105ce90633b9aca00611bd0565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a469190611c48565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611c48565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b379190611c48565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610b7e816001600160a01b03165f9081526001602052604090205490565b5f80610b915f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bf7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c1c9190611c63565b505060115460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611c8e565b506011805463ffff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610cd95760405162461bcd60e51b815260040161060690611be7565b5f5b815181101561067357600160045f848481518110610cfb57610cfb611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610d3681611c30565b915050610cdb565b60065461010090046001600160a01b0316336001600160a01b031614610d62575f80fd5b478015610d7257610d7281611622565b50565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610606565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610606565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610606565b6001600160a01b038216610f5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610606565b5f8111610fbf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610606565b5f80546001600160a01b03858116911614801590610fea57505f546001600160a01b03848116911614155b156112c657601154600160b81b900460ff166110415760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b6044820152606401610606565b6001600160a01b0384165f9081526004602052604090205460ff1615801561108157506001600160a01b0383165f9081526004602052604090205460ff16155b611089575f80fd5b6110a960646110a36007548561165d90919063ffffffff16565b906116e2565b6011549091506001600160a01b0385811691161480156110d757506010546001600160a01b03848116911614155b80156110fb57506001600160a01b0383165f9081526003602052604090205460ff16155b156111e157600b548211156111525760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610606565b600c5482611174856001600160a01b03165f9081526001602052604090205490565b61117e9190611cad565b11156111cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610606565b600a8054905f6111db83611c30565b91905055505b6011546001600160a01b03848116911614801561120757506001600160a01b0384163014155b156112295761122660646110a36008548561165d90919063ffffffff16565b90505b305f90815260016020526040902054601154600160a81b900460ff1615801561125f57506011546001600160a01b038581169116145b80156112745750601154600160b01b900460ff165b80156112815750600d5481115b80156112905750600954600a54115b156112c4576112b26112ad846112a884600e54611723565b611723565b6114b2565b4780156112c2576112c247611622565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061130357506001600160a01b0383165f9081526003602052604090205460ff165b8061133557506011546001600160a01b0385811691161480159061133557506011546001600160a01b03848116911614155b1561133d57505f5b80156113b557305f9081526001602052604090205461135c9082611737565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ac9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113d79083611795565b6001600160a01b0385165f9081526001602052604090205561141a6113fc8383611795565b6001600160a01b0385165f9081526001602052604090205490611737565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114638585611795565b60405190815260200160405180910390a350505050565b5f818484111561149d5760405162461bcd60e51b81526004016106069190611802565b505f6114a98486611cc0565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114f8576114f8611c1c565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561154f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115739190611c48565b8160018151811061158657611586611c1c565b6001600160a01b0392831660209182029290920101526010546115ac9130911684610d75565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906115e49085905f90869030904290600401611cd3565b5f604051808303815f87803b1580156115fb575f80fd5b505af115801561160d573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610673573d5f803e3d5ffd5b5f825f0361166c57505f610550565b5f6116778385611bd0565b9050826116848583611d42565b146116db5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610606565b9392505050565b5f6116db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117d6565b5f81831161173157826116db565b50919050565b5f806117438385611cad565b9050838110156116db5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610606565b5f6116db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061147a565b5f81836117f65760405162461bcd60e51b81526004016106069190611802565b505f6114a98486611d42565b5f6020808352835180828501525f5b8181101561182d57858101830151858201604001528201611811565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d72575f80fd5b803561186c8161184d565b919050565b5f8060408385031215611882575f80fd5b823561188d8161184d565b946020939093013593505050565b5f805f606084860312156118ad575f80fd5b83356118b88161184d565b925060208401356118c88161184d565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156118fe575f80fd5b823567ffffffffffffffff80821115611915575f80fd5b818501915085601f830112611928575f80fd5b81358181111561193a5761193a6118d9565b8060051b604051601f19603f8301168101818110858211171561195f5761195f6118d9565b60405291825284820192508381018501918883111561197c575f80fd5b938501935b828510156119a15761199285611861565b84529385019392850192611981565b98975050505050505050565b5f602082840312156119bd575f80fd5b81356116db8161184d565b5f80604083850312156119d9575f80fd5b50508035926020909101359150565b5f8083601f8401126119f8575f80fd5b50813567ffffffffffffffff811115611a0f575f80fd5b6020830191508360208260051b8501011115611a29575f80fd5b9250929050565b5f805f8060408587031215611a43575f80fd5b843567ffffffffffffffff80821115611a5a575f80fd5b611a66888389016119e8565b90965094506020870135915080821115611a7e575f80fd5b50611a8b878288016119e8565b95989497509550505050565b5f8060408385031215611aa8575f80fd5b8235611ab38161184d565b91506020830135611ac38161184d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b1c57815f1904821115611b0257611b02611ace565b80851615611b0f57918102915b93841c9390800290611ae7565b509250929050565b5f82611b3257506001610550565b81611b3e57505f610550565b8160018114611b545760028114611b5e57611b7a565b6001915050610550565b60ff841115611b6f57611b6f611ace565b50506001821b610550565b5060208310610133831016604e8410600b8410161715611b9d575081810a610550565b611ba78383611ae2565b805f1904821115611bba57611bba611ace565b029392505050565b5f6116db60ff841683611b24565b808202811582820484141761055057610550611ace565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c4157611c41611ace565b5060010190565b5f60208284031215611c58575f80fd5b81516116db8161184d565b5f805f60608486031215611c75575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c9e575f80fd5b815180151581146116db575f80fd5b8082018082111561055057610550611ace565b8181038181111561055057610550611ace565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d215784516001600160a01b031683529383019391830191600101611cfc565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611d5c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fa39b8d036d24e4c56b4d9e7f3501ade95861f7db88d163e0649b0d5e49e19c464736f6c63430008140033
Deployed Bytecode
0x6080604052600436106101b2575f3560e01c8063751039fc116100e7578063bf474bed11610087578063d34628cc11610062578063d34628cc146104b5578063dd62ed3e146104d4578063e627f2db14610518578063f42938901461052c575f80fd5b8063bf474bed14610473578063c876d0b914610488578063c9567bf9146104a1575f80fd5b80638da5cb5b116100c25780638da5cb5b146103ed5780638f9a55c01461041357806395d89b4114610428578063a9059cbb14610454575f80fd5b8063751039fc146103b05780637d1db4a5146103c45780638a8c523c146103d9575f80fd5b806331c2d8471161015257806351bc3c851161012d57806351bc3c8514610335578063672434821461034957806370a0823114610368578063715018a61461039c575f80fd5b806331c2d847146102be5780633bbac579146102df57806340aa6b9214610316575f80fd5b806318160ddd1161018d57806318160ddd1461025b57806323b872dd1461026f57806328af352b1461028e578063313ce567146102a3575f80fd5b806306fdde03146101bd578063095ea7b3146102095780630faee56f14610238575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506040805180820190915260128152714865647a204279204d61747420467572696560701b60208201525b6040516102009190611802565b60405180910390f35b348015610214575f80fd5b50610228610223366004611871565b610540565b6040519015158152602001610200565b348015610243575f80fd5b5061024d600e5481565b604051908152602001610200565b348015610266575f80fd5b5061024d610556565b34801561027a575f80fd5b5061022861028936600461189b565b610576565b348015610299575f80fd5b5061024d600f5481565b3480156102ae575f80fd5b5060405160098152602001610200565b3480156102c9575f80fd5b506102dd6102d83660046118ed565b6105dd565b005b3480156102ea575f80fd5b506102286102f93660046119ad565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610321575f80fd5b506102dd6103303660046119c8565b610677565b348015610340575f80fd5b506102dd6106ab565b348015610354575f80fd5b506102dd610363366004611a30565b6106fd565b348015610373575f80fd5b5061024d6103823660046119ad565b6001600160a01b03165f9081526001602052604090205490565b3480156103a7575f80fd5b506102dd610790565b3480156103bb575f80fd5b506102dd610801565b3480156103cf575f80fd5b5061024d600b5481565b3480156103e4575f80fd5b506102dd6108bc565b3480156103f8575f80fd5b505f546040516001600160a01b039091168152602001610200565b34801561041e575f80fd5b5061024d600c5481565b348015610433575f80fd5b506040805180820190915260048152632422a22d60e11b60208201526101f3565b34801561045f575f80fd5b5061022861046e366004611871565b6108fa565b34801561047e575f80fd5b5061024d600d5481565b348015610493575f80fd5b506006546102289060ff1681565b3480156104ac575f80fd5b506102dd610906565b3480156104c0575f80fd5b506102dd6104cf3660046118ed565b610cb0565b3480156104df575f80fd5b5061024d6104ee366004611a97565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610523575f80fd5b50600f5461024d565b348015610537575f80fd5b506102dd610d3e565b5f61054c338484610d75565b5060015b92915050565b5f6105636009600a611bc2565b61057190633b9aca00611bd0565b905090565b5f610582848484610e98565b6105d384336105ce85604051806060016040528060288152602001611d62602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061147a565b610d75565b5060019392505050565b5f546001600160a01b0316331461060f5760405162461bcd60e51b815260040161060690611be7565b60405180910390fd5b5f5b8151811015610673575f60045f84848151811061063057610630611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061066b81611c30565b915050610611565b5050565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161060690611be7565b600791909155600855565b60065461010090046001600160a01b0316336001600160a01b0316146106cf575f80fd5b305f9081526001602052604090205480156106ed576106ed816114b2565b4780156106735761067347611622565b821580159061070b57508083145b610713575f80fd5b335f5b84811015610788576107768287878481811061073457610734611c1c565b905060200201602081019061074991906119ad565b86868581811061075b5761075b611c1c565b90506020020135633b9aca006107719190611bd0565b610e98565b8061078081611c30565b915050610716565b505050505050565b5f546001600160a01b031633146107b95760405162461bcd60e51b815260040161060690611be7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161060690611be7565b6108366009600a611bc2565b61084490633b9aca00611bd0565b600b556108536009600a611bc2565b61086190633b9aca00611bd0565b600c556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61089b6009600a611bc2565b6108a990633b9aca00611bd0565b60405190815260200160405180910390a1565b5f546001600160a01b031633146108e55760405162461bcd60e51b815260040161060690611be7565b6011805460ff60b81b1916600160b81b179055565b5f61054c338484610e98565b5f546001600160a01b0316331461092f5760405162461bcd60e51b815260040161060690611be7565b601154600160a01b900460ff16156109895760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610606565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109d29030906109c46009600a611bc2565b6105ce90633b9aca00611bd0565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a469190611c48565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611c48565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b379190611c48565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610b7e816001600160a01b03165f9081526001602052604090205490565b5f80610b915f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bf7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c1c9190611c63565b505060115460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611c8e565b506011805463ffff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610cd95760405162461bcd60e51b815260040161060690611be7565b5f5b815181101561067357600160045f848481518110610cfb57610cfb611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610d3681611c30565b915050610cdb565b60065461010090046001600160a01b0316336001600160a01b031614610d62575f80fd5b478015610d7257610d7281611622565b50565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610606565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610606565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610606565b6001600160a01b038216610f5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610606565b5f8111610fbf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610606565b5f80546001600160a01b03858116911614801590610fea57505f546001600160a01b03848116911614155b156112c657601154600160b81b900460ff166110415760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b6044820152606401610606565b6001600160a01b0384165f9081526004602052604090205460ff1615801561108157506001600160a01b0383165f9081526004602052604090205460ff16155b611089575f80fd5b6110a960646110a36007548561165d90919063ffffffff16565b906116e2565b6011549091506001600160a01b0385811691161480156110d757506010546001600160a01b03848116911614155b80156110fb57506001600160a01b0383165f9081526003602052604090205460ff16155b156111e157600b548211156111525760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610606565b600c5482611174856001600160a01b03165f9081526001602052604090205490565b61117e9190611cad565b11156111cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610606565b600a8054905f6111db83611c30565b91905055505b6011546001600160a01b03848116911614801561120757506001600160a01b0384163014155b156112295761122660646110a36008548561165d90919063ffffffff16565b90505b305f90815260016020526040902054601154600160a81b900460ff1615801561125f57506011546001600160a01b038581169116145b80156112745750601154600160b01b900460ff165b80156112815750600d5481115b80156112905750600954600a54115b156112c4576112b26112ad846112a884600e54611723565b611723565b6114b2565b4780156112c2576112c247611622565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061130357506001600160a01b0383165f9081526003602052604090205460ff165b8061133557506011546001600160a01b0385811691161480159061133557506011546001600160a01b03848116911614155b1561133d57505f5b80156113b557305f9081526001602052604090205461135c9082611737565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ac9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113d79083611795565b6001600160a01b0385165f9081526001602052604090205561141a6113fc8383611795565b6001600160a01b0385165f9081526001602052604090205490611737565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114638585611795565b60405190815260200160405180910390a350505050565b5f818484111561149d5760405162461bcd60e51b81526004016106069190611802565b505f6114a98486611cc0565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114f8576114f8611c1c565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561154f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115739190611c48565b8160018151811061158657611586611c1c565b6001600160a01b0392831660209182029290920101526010546115ac9130911684610d75565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906115e49085905f90869030904290600401611cd3565b5f604051808303815f87803b1580156115fb575f80fd5b505af115801561160d573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610673573d5f803e3d5ffd5b5f825f0361166c57505f610550565b5f6116778385611bd0565b9050826116848583611d42565b146116db5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610606565b9392505050565b5f6116db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117d6565b5f81831161173157826116db565b50919050565b5f806117438385611cad565b9050838110156116db5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610606565b5f6116db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061147a565b5f81836117f65760405162461bcd60e51b81526004016106069190611802565b505f6114a98486611d42565b5f6020808352835180828501525f5b8181101561182d57858101830151858201604001528201611811565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d72575f80fd5b803561186c8161184d565b919050565b5f8060408385031215611882575f80fd5b823561188d8161184d565b946020939093013593505050565b5f805f606084860312156118ad575f80fd5b83356118b88161184d565b925060208401356118c88161184d565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156118fe575f80fd5b823567ffffffffffffffff80821115611915575f80fd5b818501915085601f830112611928575f80fd5b81358181111561193a5761193a6118d9565b8060051b604051601f19603f8301168101818110858211171561195f5761195f6118d9565b60405291825284820192508381018501918883111561197c575f80fd5b938501935b828510156119a15761199285611861565b84529385019392850192611981565b98975050505050505050565b5f602082840312156119bd575f80fd5b81356116db8161184d565b5f80604083850312156119d9575f80fd5b50508035926020909101359150565b5f8083601f8401126119f8575f80fd5b50813567ffffffffffffffff811115611a0f575f80fd5b6020830191508360208260051b8501011115611a29575f80fd5b9250929050565b5f805f8060408587031215611a43575f80fd5b843567ffffffffffffffff80821115611a5a575f80fd5b611a66888389016119e8565b90965094506020870135915080821115611a7e575f80fd5b50611a8b878288016119e8565b95989497509550505050565b5f8060408385031215611aa8575f80fd5b8235611ab38161184d565b91506020830135611ac38161184d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b1c57815f1904821115611b0257611b02611ace565b80851615611b0f57918102915b93841c9390800290611ae7565b509250929050565b5f82611b3257506001610550565b81611b3e57505f610550565b8160018114611b545760028114611b5e57611b7a565b6001915050610550565b60ff841115611b6f57611b6f611ace565b50506001821b610550565b5060208310610133831016604e8410600b8410161715611b9d575081810a610550565b611ba78383611ae2565b805f1904821115611bba57611bba611ace565b029392505050565b5f6116db60ff841683611b24565b808202811582820484141761055057610550611ace565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c4157611c41611ace565b5060010190565b5f60208284031215611c58575f80fd5b81516116db8161184d565b5f805f60608486031215611c75575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c9e575f80fd5b815180151581146116db575f80fd5b8082018082111561055057610550611ace565b8181038181111561055057610550611ace565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d215784516001600160a01b031683529383019391830191600101611cfc565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611d5c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fa39b8d036d24e4c56b4d9e7f3501ade95861f7db88d163e0649b0d5e49e19c464736f6c63430008140033
Deployed Bytecode Sourcemap
3579:8957:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5428:83;;;;;;;;;;-1:-1:-1;5498:5:0;;;;;;;;;;;;-1:-1:-1;;;5498:5:0;;;;5428:83;;;;;;;:::i;:::-;;;;;;;;6261:161;;;;;;;;;;-1:-1:-1;6261:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6261:161:0;1162:187:1;4621:52:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4621:52:0;1354:177:1;5705:95:0;;;;;;;;;;;;;:::i;6430:313::-;;;;;;;;;;-1:-1:-1;6430:313:0;;;;;:::i;:::-;;:::i;4680:32::-;;;;;;;;;;;;;;;;5614:83;;;;;;;;;;-1:-1:-1;5614:83:0;;4235:1;2139:36:1;;2127:2;2112:18;5614:83:0;1997:184:1;11659:162:0;;;;;;;;;;-1:-1:-1;11659:162:0;;;;;:::i;:::-;;:::i;:::-;;11829:83;;;;;;;;;;-1:-1:-1;11829:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11897:7:0;11876:4;11897:7;;;:4;:7;;;;;;;;;11829:83;10162:153;;;;;;;;;;-1:-1:-1;10162:153:0;;;;;:::i;:::-;;:::i;12174:359::-;;;;;;;;;;;;;:::i;11133:345::-;;;;;;;;;;-1:-1:-1;11133:345:0;;;;;:::i;:::-;;:::i;5808:119::-;;;;;;;;;;-1:-1:-1;5808:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5901:18:0;5874:7;5901:18;;;:9;:18;;;;;;;5808:119;2660:148;;;;;;;;;;;;;:::i;9858:196::-;;;;;;;;;;;;;:::i;4431:54::-;;;;;;;;;;;;;;;;11037:88;;;;;;;;;;;;;:::i;2446:79::-;;;;;;;;;;-1:-1:-1;2484:7:0;2511:6;2446:79;;-1:-1:-1;;;;;2511:6:0;;;5245:51:1;;5233:2;5218:18;2446:79:0;5099:203:1;4492:56:0;;;;;;;;;;;;;;;;5519:87;;;;;;;;;;-1:-1:-1;5591:7:0;;;;;;;;;;;;-1:-1:-1;;;5591:7:0;;;;5519:87;;5935:167;;;;;;;;;;-1:-1:-1;5935:167:0;;;;;:::i;:::-;;:::i;4555:59::-;;;;;;;;;;;;;;;;3965:39;;;;;;;;;;-1:-1:-1;3965:39:0;;;;;;;;10323:706;;;;;;;;;;;;;:::i;11487:164::-;;;;;;;;;;-1:-1:-1;11487:164:0;;;;;:::i;:::-;;:::i;6110:143::-;;;;;;;;;;-1:-1:-1;6110:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6218:18:0;;;6191:7;6218:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6110:143;9264:95;;;;;;;;;;-1:-1:-1;9338:13:0;;9264:95;;11957:209;;;;;;;;;;;;;:::i;6261:161::-;6336:4;6353:39;281:10;6376:7;6385:6;6353:8;:39::i;:::-;-1:-1:-1;6410:4:0;6261:161;;;;;:::o;5705:95::-;5758:7;4291:13;4235:1;4291:2;:13;:::i;:::-;4278:26;;:10;:26;:::i;:::-;5778:14;;5705:95;:::o;6430:313::-;6528:4;6545:36;6555:6;6563:9;6574:6;6545:9;:36::i;:::-;6592:121;6601:6;281:10;6623:89;6661:6;6623:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6623:19:0;;;;;;:11;:19;;;;;;;;281:10;6623:33;;;;;;;;;;:37;:89::i;:::-;6592:8;:121::i;:::-;-1:-1:-1;6731:4:0;6430:313;;;;;:::o;11659:162::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;;;;;;;;;11732:6:::1;11727:87;11748:6;:13;11744:1;:17;11727:87;;;11799:5;11781:4;:15;11786:6;11793:1;11786:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11781:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11781:15:0;:23;;-1:-1:-1;;11781:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11763:3;::::1;::::0;::::1;:::i;:::-;;;;11727:87;;;;11659:162:::0;:::o;10162:153::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;10252:7:::1;:21:::0;;;;10284:8:::1;:23:::0;10162:153::o;12174:359::-;12238:10;;;;;-1:-1:-1;;;;;12238:10:0;281;-1:-1:-1;;;;;12224:24:0;;12216:33;;;;;;12299:4;12260:20;5901:18;;;:9;:18;;;;;;12319:14;;12316:73;;12347:30;12364:12;12347:16;:30::i;:::-;12418:21;12453:12;;12450:76;;12479:35;12492:21;12479:12;:35::i;11133:345::-;11236:20;;;;;:58;;-1:-1:-1;11260:34:0;;;11236:58;11228:67;;;;;;11321:10;11306:12;11344:127;11364:20;;;11344:127;;;11406:53;11416:4;11422:9;;11432:1;11422:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11436:7;;11444:1;11436:10;;;;;;;:::i;:::-;;;;;;;11450:7;11436:22;;;;:::i;:::-;11406:9;:53::i;:::-;11386:3;;;;:::i;:::-;;;;11344:127;;;;11217:261;11133:345;;;;:::o;2660:148::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;2767:1:::1;2751:6:::0;;2730:40:::1;::::0;-1:-1:-1;;;;;2751:6:0;;::::1;::::0;2730:40:::1;::::0;2767:1;;2730:40:::1;2798:1;2781:19:::0;;-1:-1:-1;;;;;;2781:19:0::1;::::0;;2660:148::o;9858:196::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;4291:13:::1;4235:1;4291:2;:13;:::i;:::-;4278:26;::::0;:10:::1;:26;:::i;:::-;9911:12;:22:::0;4291:13:::1;4235:1;4291:2;:13;:::i;:::-;4278:26;::::0;:10:::1;:26;:::i;:::-;9944:14;:22:::0;9977:20:::1;:26:::0;;-1:-1:-1;;9977:26:0::1;::::0;;10019:27:::1;4291:13;4235:1;4291:2;:13;:::i;:::-;4278:26;::::0;:10:::1;:26;:::i;:::-;10019:27;::::0;1500:25:1;;;1488:2;1473:18;10019:27:0::1;;;;;;;9858:196::o:0;11037:88::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;11094:16:::1;:23:::0;;-1:-1:-1;;;;11094:23:0::1;-1:-1:-1::0;;;11094:23:0::1;::::0;;11037:88::o;5935:167::-;6013:4;6030:42;281:10;6054:9;6065:6;6030:9;:42::i;10323:706::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;10387:11:::1;::::0;-1:-1:-1;;;10387:11:0;::::1;;;10386:12;10378:47;;;::::0;-1:-1:-1;;;10378:47:0;;8223:2:1;10378:47:0::1;::::0;::::1;8205:21:1::0;8262:2;8242:18;;;8235:30;8301:25;8281:18;;;8274:53;8344:18;;10378:47:0::1;8021:347:1::0;10378:47:0::1;10436:15;:80:::0;;-1:-1:-1;;;;;;10436:80:0::1;10473:42;10436:80:::0;;::::1;::::0;;;10527:58:::1;::::0;10544:4:::1;::::0;4291:13:::1;4235:1;4291:2;:13;:::i;:::-;4278:26;::::0;:10:::1;:26;:::i;10527:58::-;10630:15;;;;;;;;;-1:-1:-1::0;;;;;10630:15:0::1;-1:-1:-1::0;;;;;10630:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10612:55:0::1;;10676:4;10683:15;;;;;;;;;-1:-1:-1::0;;;;;10683:15:0::1;-1:-1:-1::0;;;;;10683:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10612:94;::::0;-1:-1:-1;;;;;;10612:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8859:15:1;;;10612:94:0::1;::::0;::::1;8841:34:1::0;8911:15;;8891:18;;;8884:43;8776:18;;10612:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10596:13;:110:::0;;-1:-1:-1;;;;;10596:110:0;;::::1;-1:-1:-1::0;;;;;;10596:110:0;;::::1;;::::0;;10717:15:::1;::::0;::::1;:31;10756:21;10787:4;10793:24;10787:4:::0;-1:-1:-1;;;;;5901:18:0;5874:7;5901:18;;;:9;:18;;;;;;;5808:119;10793:24:::1;10818:1;10820::::0;10822:7:::1;2484::::0;2511:6;-1:-1:-1;;;;;2511:6:0;;2446:79;10822:7:::1;10717:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10717:129:0;;;-1:-1:-1;;;;;9297:15:1;;;10717:129:0::1;::::0;::::1;9279:34:1::0;9329:18;;;9322:34;;;;9372:18;;;9365:34;;;;9415:18;;;9408:34;9479:15;;;9458:19;;;9451:44;10830:15:0::1;9511:19:1::0;;;9504:35;9213:19;;10717:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10864:13:0::1;::::0;10895:15:::1;::::0;10857:71:::1;::::0;-1:-1:-1;;;10857:71:0;;-1:-1:-1;;;;;10895:15:0;;::::1;10857:71;::::0;::::1;10035:51:1::0;-1:-1:-1;;10102:18:1;;;10095:34;10864:13:0;::::1;::::0;-1:-1:-1;10857:29:0::1;::::0;10008:18:1;;10857:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10939:11:0::1;:18:::0;;-1:-1:-1;;;;10997:24:0;-1:-1:-1;;;10997:24:0;;;10323:706::o;11487:164::-;2573:6;;-1:-1:-1;;;;;2573:6:0;281:10;2573:22;2565:67;;;;-1:-1:-1;;;2565:67:0;;;;;;;:::i;:::-;11561:6:::1;11556:88;11577:5;:12;11573:1;:16;11556:88;;;11628:4;11611;:14;11616:5;11622:1;11616:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11611:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11611:14:0;:21;;-1:-1:-1;;11611:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11591:3;::::1;::::0;::::1;:::i;:::-;;;;11556:88;;11957:209:::0;12021:10;;;;;-1:-1:-1;;;;;12021:10:0;281;-1:-1:-1;;;;;12007:24:0;;11999:33;;;;;;12062:21;12097:12;;12094:65;;12123:24;12136:10;12123:12;:24::i;:::-;11988:178;11957:209::o;6751:335::-;-1:-1:-1;;;;;6844:19:0;;6836:68;;;;-1:-1:-1;;;6836:68:0;;10624:2:1;6836:68:0;;;10606:21:1;10663:2;10643:18;;;10636:30;10702:34;10682:18;;;10675:62;-1:-1:-1;;;10753:18:1;;;10746:34;10797:19;;6836:68:0;10422:400:1;6836:68:0;-1:-1:-1;;;;;6923:21:0;;6915:68;;;;-1:-1:-1;;;6915:68:0;;11029:2:1;6915:68:0;;;11011:21:1;11068:2;11048:18;;;11041:30;11107:34;11087:18;;;11080:62;-1:-1:-1;;;11158:18:1;;;11151:32;11200:19;;6915:68:0;10827:398:1;6915:68:0;-1:-1:-1;;;;;6994:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7046:32;;1500:25:1;;;7046:32:0;;1473:18:1;7046:32:0;;;;;;;6751:335;;;:::o;7094:2054::-;-1:-1:-1;;;;;7182:18:0;;7174:68;;;;-1:-1:-1;;;7174:68:0;;11432:2:1;7174:68:0;;;11414:21:1;11471:2;11451:18;;;11444:30;11510:34;11490:18;;;11483:62;-1:-1:-1;;;11561:18:1;;;11554:35;11606:19;;7174:68:0;11230:401:1;7174:68:0;-1:-1:-1;;;;;7261:16:0;;7253:64;;;;-1:-1:-1;;;7253:64:0;;11838:2:1;7253:64:0;;;11820:21:1;11877:2;11857:18;;;11850:30;11916:34;11896:18;;;11889:62;-1:-1:-1;;;11967:18:1;;;11960:33;12010:19;;7253:64:0;11636:399:1;7253:64:0;7345:1;7336:6;:10;7328:64;;;;-1:-1:-1;;;7328:64:0;;12242:2:1;7328:64:0;;;12224:21:1;12281:2;12261:18;;;12254:30;12320:34;12300:18;;;12293:62;-1:-1:-1;;;12371:18:1;;;12364:39;12420:19;;7328:64:0;12040:405:1;7328:64:0;7403:17;2511:6;;-1:-1:-1;;;;;7437:15:0;;;2511:6;;7437:15;;;;:32;;-1:-1:-1;2484:7:0;2511:6;-1:-1:-1;;;;;7456:13:0;;;2511:6;;7456:13;;7437:32;7433:1195;;;7494:16;;-1:-1:-1;;;7494:16:0;;;;7486:51;;;;-1:-1:-1;;;7486:51:0;;12652:2:1;7486:51:0;;;12634:21:1;12691:2;12671:18;;;12664:30;-1:-1:-1;;;12710:18:1;;;12703:52;12772:18;;7486:51:0;12450:346:1;7486:51:0;-1:-1:-1;;;;;7561:10:0;;;;;;:4;:10;;;;;;;;7560:11;:24;;;;-1:-1:-1;;;;;;7576:8:0;;;;;;:4;:8;;;;;;;;7575:9;7560:24;7552:33;;;;;;7612:28;7636:3;7612:19;7623:7;;7612:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;7669:13;;7600:40;;-1:-1:-1;;;;;;7661:21:0;;;7669:13;;7661:21;:55;;;;-1:-1:-1;7700:15:0;;-1:-1:-1;;;;;7686:30:0;;;7700:15;;7686:30;;7661:55;:83;;;;-1:-1:-1;;;;;;7722:22:0;;;;;;:18;:22;;;;;;;;7720:24;7661:83;7657:313;;;7784:12;;7774:6;:22;;7766:60;;;;-1:-1:-1;;;7766:60:0;;13003:2:1;7766:60:0;;;12985:21:1;13042:2;13022:18;;;13015:30;13081:27;13061:18;;;13054:55;13126:18;;7766:60:0;12801:349:1;7766:60:0;7879:14;;7869:6;7853:13;7863:2;-1:-1:-1;;;;;5901:18:0;5874:7;5901:18;;;:9;:18;;;;;;;5808:119;7853:13;:22;;;;:::i;:::-;:40;;7845:79;;;;-1:-1:-1;;;7845:79:0;;13487:2:1;7845:79:0;;;13469:21:1;13526:2;13506:18;;;13499:30;13565:28;13545:18;;;13538:56;13611:18;;7845:79:0;13285:350:1;7845:79:0;7943:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7657:313;7995:13;;-1:-1:-1;;;;;7989:19:0;;;7995:13;;7989:19;:43;;;;-1:-1:-1;;;;;;8012:20:0;;8027:4;8012:20;;7989:43;7986:124;;;8065:29;8090:3;8065:20;8076:8;;8065:6;:10;;:20;;;;:::i;:29::-;8053:41;;7986:124;8175:4;8126:28;5901:18;;;:9;:18;;;;;;8201:6;;-1:-1:-1;;;8201:6:0;;;;8200:7;:32;;;;-1:-1:-1;8219:13:0;;-1:-1:-1;;;;;8211:21:0;;;8219:13;;8211:21;8200:32;:47;;;;-1:-1:-1;8236:11:0;;-1:-1:-1;;;8236:11:0;;;;8200:47;:89;;;;;8272:17;;8251:20;:38;8200:89;:121;;;;;8303:18;;8293:9;;:28;8200:121;8196:421;;;8342:67;8359:49;8363:6;8370:37;8374:20;8395:11;;8370:3;:37::i;:::-;8359:3;:49::i;:::-;8342:16;:67::i;:::-;8457:21;8500:22;;8497:105;;8547:35;8560:21;8547:12;:35::i;:::-;8323:294;8196:421;7471:1157;7433:1195;-1:-1:-1;;;;;8645:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8673:22:0;;;;;;:18;:22;;;;;;;;8645:50;8644:102;;;-1:-1:-1;8709:13:0;;-1:-1:-1;;;;;8701:21:0;;;8709:13;;8701:21;;;;:44;;-1:-1:-1;8732:13:0;;-1:-1:-1;;;;;8726:19:0;;;8732:13;;8726:19;;8701:44;8640:148;;;-1:-1:-1;8775:1:0;8640:148;8803:13;;8800:163;;8873:4;8855:24;;;;:9;:24;;;;;;:39;;8884:9;8855:28;:39::i;:::-;8848:4;8830:24;;;;:9;:24;;;;;;;:64;;;;8912:39;;-1:-1:-1;;;;;8912:39:0;;;;;;;8941:9;1500:25:1;;1488:2;1473:18;;1354:177;8912:39:0;;;;;;;;8800:163;-1:-1:-1;;;;;8991:15:0;;;;;;:9;:15;;;;;;:27;;9011:6;8991:19;:27::i;:::-;-1:-1:-1;;;;;8975:15:0;;;;;;:9;:15;;;;;:43;9043:40;9061:21;:6;9072:9;9061:10;:21::i;:::-;-1:-1:-1;;;;;9043:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9029:13:0;;;;;;;:9;:13;;;;;:54;;;;9099:41;;;9118:21;:6;9129:9;9118:10;:21::i;:::-;9099:41;;1500:25:1;;;1488:2;1473:18;9099:41:0;;;;;;;7163:1985;7094:2054;;;:::o;1338:190::-;1424:7;1460:12;1452:6;;;;1444:29;;;;-1:-1:-1;;;1444:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1484:9:0;1496:5;1500:1;1496;:5;:::i;:::-;1484:17;1338:190;-1:-1:-1;;;;;1338:190:0:o;9367:483::-;5037:6;:13;;-1:-1:-1;;;;5037:13:0;-1:-1:-1;;;5037:13:0;;;9469:16:::1;::::0;;9483:1:::1;9469:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9469:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9469:16:0::1;9445:40;;9514:4;9496;9501:1;9496:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9496:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9540:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9540:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9496:7;;9540:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9530:4;9535:1;9530:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9530:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9605:15:::1;::::0;9573:62:::1;::::0;9590:4:::1;::::0;9605:15:::1;9623:11:::0;9573:8:::1;:62::i;:::-;9646:15;::::0;:196:::1;::::0;-1:-1:-1;;;9646:196:0;;-1:-1:-1;;;;;9646:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9727:11;;9646:15:::1;::::0;9769:4;;9796::::1;::::0;9816:15:::1;::::0;9646:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5073:6:0;:14;;-1:-1:-1;;;;5073:14:0;;;-1:-1:-1;;;;9367:483:0:o;10062:92::-;10119:10;;:27;;:10;;;;-1:-1:-1;;;;;10119:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1536:246;1594:7;1618:1;1623;1618:6;1614:47;;-1:-1:-1;1648:1:0;1641:8;;1614:47;1671:9;1683:5;1687:1;1683;:5;:::i;:::-;1671:17;-1:-1:-1;1716:1:0;1707:5;1711:1;1671:17;1707:5;:::i;:::-;:10;1699:56;;;;-1:-1:-1;;;1699:56:0;;15182:2:1;1699:56:0;;;15164:21:1;15221:2;15201:18;;;15194:30;15260:34;15240:18;;;15233:62;-1:-1:-1;;;15311:18:1;;;15304:31;15352:19;;1699:56:0;14980:397:1;1699:56:0;1773:1;1536:246;-1:-1:-1;;;1536:246:0:o;1790:132::-;1848:7;1875:39;1879:1;1882;1875:39;;;;;;;;;;;;;;;;;:3;:39::i;9158:98::-;9215:7;9242:1;9240;:3;9239:9;;9247:1;9239:9;;;-1:-1:-1;9245:1:0;9158:98;-1:-1:-1;9158:98:0:o;1007:179::-;1065:7;;1097:5;1101:1;1097;:5;:::i;:::-;1085:17;;1126:1;1121;:6;;1113:46;;;;-1:-1:-1;;;1113:46:0;;15584:2:1;1113:46:0;;;15566:21:1;15623:2;15603:18;;;15596:30;15662:29;15642:18;;;15635:57;15709:18;;1113:46:0;15382:351:1;1194:136:0;1252:7;1279:43;1283:1;1286;1279:43;;;;;;;;;;;;;;;;;:3;:43::i;1930:189::-;2016:7;2051:12;2044:5;2036:28;;;;-1:-1:-1;;;2036:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2075:9:0;2087:5;2091:1;2087;:5;:::i;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3696:248::-;3764:6;3772;3825:2;3813:9;3804:7;3800:23;3796:32;3793:52;;;3841:1;3838;3831:12;3793:52;-1:-1:-1;;3864:23:1;;;3934:2;3919:18;;;3906:32;;-1:-1:-1;3696:248:1:o;3949:367::-;4012:8;4022:6;4076:3;4069:4;4061:6;4057:17;4053:27;4043:55;;4094:1;4091;4084:12;4043:55;-1:-1:-1;4117:20:1;;4160:18;4149:30;;4146:50;;;4192:1;4189;4182:12;4146:50;4229:4;4221:6;4217:17;4205:29;;4289:3;4282:4;4272:6;4269:1;4265:14;4257:6;4253:27;4249:38;4246:47;4243:67;;;4306:1;4303;4296:12;4243:67;3949:367;;;;;:::o;4321:773::-;4443:6;4451;4459;4467;4520:2;4508:9;4499:7;4495:23;4491:32;4488:52;;;4536:1;4533;4526:12;4488:52;4576:9;4563:23;4605:18;4646:2;4638:6;4635:14;4632:34;;;4662:1;4659;4652:12;4632:34;4701:70;4763:7;4754:6;4743:9;4739:22;4701:70;:::i;:::-;4790:8;;-1:-1:-1;4675:96:1;-1:-1:-1;4878:2:1;4863:18;;4850:32;;-1:-1:-1;4894:16:1;;;4891:36;;;4923:1;4920;4913:12;4891:36;;4962:72;5026:7;5015:8;5004:9;5000:24;4962:72;:::i;:::-;4321:773;;;;-1:-1:-1;5053:8:1;-1:-1:-1;;;;4321:773:1:o;5307:388::-;5375:6;5383;5436:2;5424:9;5415:7;5411:23;5407:32;5404:52;;;5452:1;5449;5442:12;5404:52;5491:9;5478:23;5510:31;5535:5;5510:31;:::i;:::-;5560:5;-1:-1:-1;5617:2:1;5602:18;;5589:32;5630:33;5589:32;5630:33;:::i;:::-;5682:7;5672:17;;;5307:388;;;;;:::o;5700:127::-;5761:10;5756:3;5752:20;5749:1;5742:31;5792:4;5789:1;5782:15;5816:4;5813:1;5806:15;5832:422;5921:1;5964:5;5921:1;5978:270;5999:7;5989:8;5986:21;5978:270;;;6058:4;6054:1;6050:6;6046:17;6040:4;6037:27;6034:53;;;6067:18;;:::i;:::-;6117:7;6107:8;6103:22;6100:55;;;6137:16;;;;6100:55;6216:22;;;;6176:15;;;;5978:270;;;5982:3;5832:422;;;;;:::o;6259:806::-;6308:5;6338:8;6328:80;;-1:-1:-1;6379:1:1;6393:5;;6328:80;6427:4;6417:76;;-1:-1:-1;6464:1:1;6478:5;;6417:76;6509:4;6527:1;6522:59;;;;6595:1;6590:130;;;;6502:218;;6522:59;6552:1;6543:10;;6566:5;;;6590:130;6627:3;6617:8;6614:17;6611:43;;;6634:18;;:::i;:::-;-1:-1:-1;;6690:1:1;6676:16;;6705:5;;6502:218;;6804:2;6794:8;6791:16;6785:3;6779:4;6776:13;6772:36;6766:2;6756:8;6753:16;6748:2;6742:4;6739:12;6735:35;6732:77;6729:159;;;-1:-1:-1;6841:19:1;;;6873:5;;6729:159;6920:34;6945:8;6939:4;6920:34;:::i;:::-;6990:6;6986:1;6982:6;6978:19;6969:7;6966:32;6963:58;;;7001:18;;:::i;:::-;7039:20;;6259:806;-1:-1:-1;;;6259:806:1:o;7070:140::-;7128:5;7157:47;7198:4;7188:8;7184:19;7178:4;7157:47;:::i;7215:168::-;7288:9;;;7319;;7336:15;;;7330:22;;7316:37;7306:71;;7357:18;;:::i;7388:356::-;7590:2;7572:21;;;7609:18;;;7602:30;7668:34;7663:2;7648:18;;7641:62;7735:2;7720:18;;7388:356::o;7749:127::-;7810:10;7805:3;7801:20;7798:1;7791:31;7841:4;7838:1;7831:15;7865:4;7862:1;7855:15;7881:135;7920:3;7941:17;;;7938:43;;7961:18;;:::i;:::-;-1:-1:-1;8008:1:1;7997:13;;7881:135::o;8373:251::-;8443:6;8496:2;8484:9;8475:7;8471:23;8467:32;8464:52;;;8512:1;8509;8502:12;8464:52;8544:9;8538:16;8563:31;8588:5;8563:31;:::i;9550:306::-;9638:6;9646;9654;9707:2;9695:9;9686:7;9682:23;9678:32;9675:52;;;9723:1;9720;9713:12;9675:52;9752:9;9746:16;9736:26;;9802:2;9791:9;9787:18;9781:25;9771:35;;9846:2;9835:9;9831:18;9825:25;9815:35;;9550:306;;;;;:::o;10140:277::-;10207:6;10260:2;10248:9;10239:7;10235:23;10231:32;10228:52;;;10276:1;10273;10266:12;10228:52;10308:9;10302:16;10361:5;10354:13;10347:21;10340:5;10337:32;10327:60;;10383:1;10380;10373:12;13155:125;13220:9;;;13241:10;;;13238:36;;;13254:18;;:::i;13640:128::-;13707:9;;;13728:11;;;13725:37;;;13742:18;;:::i;13773:980::-;14035:4;14083:3;14072:9;14068:19;14114:6;14103:9;14096:25;14140:2;14178:6;14173:2;14162:9;14158:18;14151:34;14221:3;14216:2;14205:9;14201:18;14194:31;14245:6;14280;14274:13;14311:6;14303;14296:22;14349:3;14338:9;14334:19;14327:26;;14388:2;14380:6;14376:15;14362:29;;14409:1;14419:195;14433:6;14430:1;14427:13;14419:195;;;14498:13;;-1:-1:-1;;;;;14494:39:1;14482:52;;14589:15;;;;14554:12;;;;14530:1;14448:9;14419:195;;;-1:-1:-1;;;;;;;14670:32:1;;;;14665:2;14650:18;;14643:60;-1:-1:-1;;;14734:3:1;14719:19;14712:35;14631:3;13773:980;-1:-1:-1;;;13773:980:1:o;14758:217::-;14798:1;14824;14814:132;;14868:10;14863:3;14859:20;14856:1;14849:31;14903:4;14900:1;14893:15;14931:4;14928:1;14921:15;14814:132;-1:-1:-1;14960:9:1;;14758:217::o
Swarm Source
ipfs://fa39b8d036d24e4c56b4d9e7f3501ade95861f7db88d163e0649b0d5e49e19c4
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.