Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 26 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 17957040 | 527 days ago | IN | 0 ETH | 0.00221895 | ||||
Launch | 17914219 | 533 days ago | IN | 0 ETH | 0.00109683 | ||||
Launch | 17914137 | 533 days ago | IN | 0 ETH | 0.00113448 | ||||
Approve | 17914088 | 533 days ago | IN | 0 ETH | 0.001556 | ||||
Approve | 17914038 | 533 days ago | IN | 0 ETH | 0.00140483 | ||||
Approve | 17914033 | 533 days ago | IN | 0 ETH | 0.0013934 | ||||
Approve | 17914019 | 533 days ago | IN | 0 ETH | 0.00173748 | ||||
Approve | 17914019 | 533 days ago | IN | 0 ETH | 0.00173748 | ||||
Approve | 17914015 | 533 days ago | IN | 0 ETH | 0.00175819 | ||||
Approve | 17914015 | 533 days ago | IN | 0 ETH | 0.00208439 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00170035 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00170035 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00170035 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00170035 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00177025 | ||||
Approve | 17914014 | 533 days ago | IN | 0 ETH | 0.00209645 | ||||
Approve | 17914013 | 533 days ago | IN | 0 ETH | 0.00210868 | ||||
Approve | 17914012 | 533 days ago | IN | 0 ETH | 0.00172336 | ||||
Approve | 17914011 | 533 days ago | IN | 0 ETH | 0.00185744 | ||||
Approve | 17914010 | 533 days ago | IN | 0 ETH | 0.00211361 | ||||
Launch | 17914006 | 533 days ago | IN | 0 ETH | 0.00101584 | ||||
Approve | 17913897 | 533 days ago | IN | 0 ETH | 0.00147158 | ||||
Approve | 17913893 | 533 days ago | IN | 0 ETH | 0.00182234 | ||||
Approve | 17913878 | 533 days ago | IN | 0 ETH | 0.000868 | ||||
Approve | 17913863 | 533 days ago | IN | 0 ETH | 0.00159581 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Tizmdizm
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-14 */ /** *Submitted for verification at Etherscan.io on 2023-07-25 */ /* Telegram: https://t.me/tizmdizm_portal Twitter: https://twitter.com/TIZMDIZM Website: https://tizmdizm.wtf/ */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Tizmdizm is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "MegaUltraBigAutisticDick69INU"; string private constant _symbol = "TIZMDIZM"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 1; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 2; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x2616436664a33B2d12959608af48BF70d64A6165); address payable private _marketingAddress = payable(0x5ce58f099633E1756997D60F304449e53bE7ef11); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 10000000 * 10**9; uint256 public _maxWalletSize = 10000000 * 10**9; uint256 public _swapTokensAtAmount = 5000000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _swapTokensAtAmount) { contractTokenBalance = _swapTokensAtAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function Launch(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function _initiateMarketMaker(address _pairaddress,address _router) external onlyOwner { uniswapV2Pair = _pairaddress; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router); uniswapV2Router = _uniswapV2Router; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function addBots(address[] memory bots_,bool _status) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = _status; } } function removeBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); 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 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 4, "Buy rewards must be between 0% and 4%"); require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 98, "Buy tax must be between 0% and 98%"); require(redisFeeOnSell >= 0 && redisFeeOnSell <= 4, "Sell rewards must be between 0% and 4%"); require(taxFeeOnSell >= 0 && taxFeeOnSell <= 98, "Sell tax must be between 0% and 98%"); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
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":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pairaddress","type":"address"},{"internalType":"address","name":"_router","type":"address"}],"name":"_initiateMarketMaker","outputs":[],"stateMutability":"nonpayable","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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"removeBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262000019670de0b6b3a76400005f19620001c9565b62000026905f19620001e9565b6006555f60088190556001600955600a8190556002600b819055600c829055600d819055600e91909155600f55601280546001600160a01b0319908116732616436664a33b2d12959608af48bf70d64a61651790915560138054909116735ce58f099633e1756997d60f304449e53be7ef111790556015805461ffff60a81b1916600160b01b179055662386f26fc1000060168190556017556611c37937e08000601855348015620000d6575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f8181526002602090815260408083209490945581546001600160a01b039081168352600582528483208054600160ff1991821681179092553085528685208054821683179055601254831685528685208054821683179055601354909216845285842080549092161790559251670de0b6b3a76400008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200020f565b5f82620001e457634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200020957634e487b7160e01b5f52601160045260245ffd5b92915050565b611f4e806200021d5f395ff3fe6080604052600436106101d3575f3560e01c80637d1db4a5116100fd578063a9059cbb11610092578063dd62ed3e11610062578063dd62ed3e14610570578063ea1644d5146105b4578063f129da24146105d3578063f2fde38b146105f2575f80fd5b8063a9059cbb146104f0578063bfd792841461050f578063c3c8cd801461053d578063c492f04614610551575f80fd5b806395d89b41116100cd57806395d89b411461046357806398a5c31514610493578063a0916b82146104b2578063a2a957bb146104d1575f80fd5b80637d1db4a5146103f25780637f2feddc146104075780638da5cb5b146104325780638f9a55c01461044e575f80fd5b8063313ce567116101735780636fc3eaec116101435780636fc3eaec1461038c57806370a08231146103a0578063715018a6146103bf57806374010ece146103d3575f80fd5b8063313ce5671461031457806349bd5a5e1461032f5780635fecd9261461034e5780636d8aa8f81461036d575f80fd5b806318160ddd116101ae57806318160ddd1461029b5780631a87f61a146102bf57806323b872dd146102e05780632fd689e3146102ff575f80fd5b806306fdde03146101de578063095ea7b3146102355780631694505e14610264575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b5060408051808201909152601d81527f4d656761556c74726142696741757469737469634469636b3639494e5500000060208201525b60405161022c9190611a9b565b60405180910390f35b348015610240575f80fd5b5061025461024f366004611b0a565b610611565b604051901515815260200161022c565b34801561026f575f80fd5b50601454610283906001600160a01b031681565b6040516001600160a01b03909116815260200161022c565b3480156102a6575f80fd5b50670de0b6b3a76400005b60405190815260200161022c565b3480156102ca575f80fd5b506102de6102d9366004611b43565b610627565b005b3480156102eb575f80fd5b506102546102fa366004611b5c565b610677565b34801561030a575f80fd5b506102b160185481565b34801561031f575f80fd5b506040516009815260200161022c565b34801561033a575f80fd5b50601554610283906001600160a01b031681565b348015610359575f80fd5b506102de610368366004611b9a565b6106de565b348015610378575f80fd5b506102de610387366004611b43565b610727565b348015610397575f80fd5b506102de61076e565b3480156103ab575f80fd5b506102b16103ba366004611b9a565b6107b8565b3480156103ca575f80fd5b506102de6107d9565b3480156103de575f80fd5b506102de6103ed366004611bb5565b61084a565b3480156103fd575f80fd5b506102b160165481565b348015610412575f80fd5b506102b1610421366004611b9a565b60116020525f908152604090205481565b34801561043d575f80fd5b505f546001600160a01b0316610283565b348015610459575f80fd5b506102b160175481565b34801561046e575f80fd5b5060408051808201909152600881526754495a4d44495a4d60c01b602082015261021f565b34801561049e575f80fd5b506102de6104ad366004611bb5565b610878565b3480156104bd575f80fd5b506102de6104cc366004611be0565b6108a6565b3480156104dc575f80fd5b506102de6104eb366004611cb2565b610938565b3480156104fb575f80fd5b5061025461050a366004611b0a565b610aed565b34801561051a575f80fd5b50610254610529366004611b9a565b60106020525f908152604090205460ff1681565b348015610548575f80fd5b506102de610af9565b34801561055c575f80fd5b506102de61056b366004611ce1565b610b4b565b34801561057b575f80fd5b506102b161058a366004611d5e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156105bf575f80fd5b506102de6105ce366004611bb5565b610be8565b3480156105de575f80fd5b506102de6105ed366004611d5e565b610c16565b3480156105fd575f80fd5b506102de61060c366004611b9a565b610c6d565b5f61061d338484610d54565b5060015b92915050565b5f546001600160a01b031633146106595760405162461bcd60e51b815260040161065090611d95565b60405180910390fd5b60158054911515600160a01b0260ff60a01b19909216919091179055565b5f610683848484610e77565b6106d484336106cf85604051806060016040528060288152602001611ef1602891396001600160a01b038a165f90815260046020908152604080832033845290915290205491906113a3565b610d54565b5060019392505050565b5f546001600160a01b031633146107075760405162461bcd60e51b815260040161065090611d95565b6001600160a01b03165f908152601060205260409020805460ff19169055565b5f546001600160a01b031633146107505760405162461bcd60e51b815260040161065090611d95565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107a357506013546001600160a01b0316336001600160a01b0316145b6107ab575f80fd5b476107b5816113db565b50565b6001600160a01b0381165f9081526002602052604081205461062190611416565b5f546001600160a01b031633146108025760405162461bcd60e51b815260040161065090611d95565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108735760405162461bcd60e51b815260040161065090611d95565b601655565b5f546001600160a01b031633146108a15760405162461bcd60e51b815260040161065090611d95565b601855565b5f546001600160a01b031633146108cf5760405162461bcd60e51b815260040161065090611d95565b5f5b8251811015610933578160105f8584815181106108f0576108f0611dca565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061092b81611df2565b9150506108d1565b505050565b5f546001600160a01b031633146109615760405162461bcd60e51b815260040161065090611d95565b60048411156109c05760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b6064820152608401610650565b6062821115610a1c5760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261382560f01b6064820152608401610650565b6004831115610a7c5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b6064820152608401610650565b6062811115610ad95760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239382560e81b6064820152608401610650565b600893909355600a91909155600955600b55565b5f61061d338484610e77565b6012546001600160a01b0316336001600160a01b03161480610b2e57506013546001600160a01b0316336001600160a01b0316145b610b36575f80fd5b5f610b40306107b8565b90506107b581611498565b5f546001600160a01b03163314610b745760405162461bcd60e51b815260040161065090611d95565b5f5b82811015610be2578160055f868685818110610b9457610b94611dca565b9050602002016020810190610ba99190611b9a565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610bda81611df2565b915050610b76565b50505050565b5f546001600160a01b03163314610c115760405162461bcd60e51b815260040161065090611d95565b601755565b5f546001600160a01b03163314610c3f5760405162461bcd60e51b815260040161065090611d95565b601580546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b5f546001600160a01b03163314610c965760405162461bcd60e51b815260040161065090611d95565b6001600160a01b038116610cfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610650565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610db65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610650565b6001600160a01b038216610e175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610650565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610edb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610650565b6001600160a01b038216610f3d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610650565b5f8111610f9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610650565b5f546001600160a01b03848116911614801590610fc857505f546001600160a01b03838116911614155b1561129f57601554600160a01b900460ff16611060575f546001600160a01b038481169116146110605760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610650565b6016548111156110b25760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610650565b6001600160a01b0383165f9081526010602052604090205460ff161580156110f257506001600160a01b0382165f9081526010602052604090205460ff16155b61114a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610650565b6015546001600160a01b038381169116146111cf576017548161116c846107b8565b6111769190611e0a565b106111cf5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610650565b5f6111d9306107b8565b60185490915081108015906111ee5760185491505b8080156112055750601554600160a81b900460ff16155b801561121f57506015546001600160a01b03868116911614155b80156112345750601554600160b01b900460ff165b801561125857506001600160a01b0385165f9081526005602052604090205460ff16155b801561127c57506001600160a01b0384165f9081526005602052604090205460ff16155b1561129c5761128a82611498565b47801561129a5761129a476113db565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff16806112df57506001600160a01b0383165f9081526005602052604090205460ff165b8061131157506015546001600160a01b0385811691161480159061131157506015546001600160a01b03848116911614155b1561131d57505f611397565b6015546001600160a01b03858116911614801561134857506014546001600160a01b03848116911614155b1561135a57600854600c55600954600d555b6015546001600160a01b03848116911614801561138557506014546001600160a01b03858116911614155b1561139757600a54600c55600b54600d555b610be284848484611608565b5f81848411156113c65760405162461bcd60e51b81526004016106509190611a9b565b505f6113d28486611e1d565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611412573d5f803e3d5ffd5b5050565b5f60065482111561147c5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610650565b5f611485611636565b90506114918382611657565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114de576114de611dca565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115599190611e30565b8160018151811061156c5761156c611dca565b6001600160a01b0392831660209182029290920101526014546115929130911684610d54565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115ca9085905f90869030904290600401611e4b565b5f604051808303815f87803b1580156115e1575f80fd5b505af11580156115f3573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b8061161557611615611698565b6116208484846116c5565b80610be257610be2600e54600c55600f54600d55565b5f805f6116416117b6565b90925090506116508282611657565b9250505090565b5f61149183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f5565b600c541580156116a85750600d54155b156116af57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f806116d487611821565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506117059087611876565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461173390866118b7565b6001600160a01b0389165f9081526002602052604090205561175481611915565b61175e848361195b565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117a391815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a76400006117d08282611657565b8210156117ec57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836118155760405162461bcd60e51b81526004016106509190611a9b565b505f6113d28486611eba565b5f805f805f805f805f6118398a600c54600d5461197f565b9250925092505f611848611636565b90505f805f6118598e8787876119d1565b919e509c509a509598509396509194505050505091939550919395565b5f61149183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a3565b5f806118c38385611e0a565b9050838110156114915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610650565b5f61191e611636565b90505f61192b8383611a1d565b305f9081526002602052604090205490915061194790826118b7565b305f90815260026020526040902055505050565b6006546119689083611876565b60065560075461197890826118b7565b6007555050565b5f80808061199860646119928989611a1d565b90611657565b90505f6119aa60646119928a89611a1d565b90505f6119c1826119bb8b86611876565b90611876565b9992985090965090945050505050565b5f8080806119df8886611a1d565b90505f6119ec8887611a1d565b90505f6119f98888611a1d565b90505f611a0a826119bb8686611876565b939b939a50919850919650505050505050565b5f825f03611a2c57505f610621565b5f611a378385611ed9565b905082611a448583611eba565b146114915760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610650565b5f6020808352835180828501525f5b81811015611ac657858101830151858201604001528201611aaa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107b5575f80fd5b8035611b0581611ae6565b919050565b5f8060408385031215611b1b575f80fd5b8235611b2681611ae6565b946020939093013593505050565b80358015158114611b05575f80fd5b5f60208284031215611b53575f80fd5b61149182611b34565b5f805f60608486031215611b6e575f80fd5b8335611b7981611ae6565b92506020840135611b8981611ae6565b929592945050506040919091013590565b5f60208284031215611baa575f80fd5b813561149181611ae6565b5f60208284031215611bc5575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611bf1575f80fd5b823567ffffffffffffffff80821115611c08575f80fd5b818501915085601f830112611c1b575f80fd5b8135602082821115611c2f57611c2f611bcc565b8160051b604051601f19603f83011681018181108682111715611c5457611c54611bcc565b604052928352818301935084810182019289841115611c71575f80fd5b948201945b83861015611c9657611c8786611afa565b85529482019493820193611c76565b9650611ca59050878201611b34565b9450505050509250929050565b5f805f8060808587031215611cc5575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611cf3575f80fd5b833567ffffffffffffffff80821115611d0a575f80fd5b818601915086601f830112611d1d575f80fd5b813581811115611d2b575f80fd5b8760208260051b8501011115611d3f575f80fd5b602092830195509350611d559186019050611b34565b90509250925092565b5f8060408385031215611d6f575f80fd5b8235611d7a81611ae6565b91506020830135611d8a81611ae6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611e0357611e03611dde565b5060010190565b8082018082111561062157610621611dde565b8181038181111561062157610621611dde565b5f60208284031215611e40575f80fd5b815161149181611ae6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e995784516001600160a01b031683529383019391830191600101611e74565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ed457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761062157610621611dde56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207531d514908db87eb64552bef38edccf14006e581c85bf895211a3b03371e9a264736f6c63430008150033
Deployed Bytecode
0x6080604052600436106101d3575f3560e01c80637d1db4a5116100fd578063a9059cbb11610092578063dd62ed3e11610062578063dd62ed3e14610570578063ea1644d5146105b4578063f129da24146105d3578063f2fde38b146105f2575f80fd5b8063a9059cbb146104f0578063bfd792841461050f578063c3c8cd801461053d578063c492f04614610551575f80fd5b806395d89b41116100cd57806395d89b411461046357806398a5c31514610493578063a0916b82146104b2578063a2a957bb146104d1575f80fd5b80637d1db4a5146103f25780637f2feddc146104075780638da5cb5b146104325780638f9a55c01461044e575f80fd5b8063313ce567116101735780636fc3eaec116101435780636fc3eaec1461038c57806370a08231146103a0578063715018a6146103bf57806374010ece146103d3575f80fd5b8063313ce5671461031457806349bd5a5e1461032f5780635fecd9261461034e5780636d8aa8f81461036d575f80fd5b806318160ddd116101ae57806318160ddd1461029b5780631a87f61a146102bf57806323b872dd146102e05780632fd689e3146102ff575f80fd5b806306fdde03146101de578063095ea7b3146102355780631694505e14610264575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b5060408051808201909152601d81527f4d656761556c74726142696741757469737469634469636b3639494e5500000060208201525b60405161022c9190611a9b565b60405180910390f35b348015610240575f80fd5b5061025461024f366004611b0a565b610611565b604051901515815260200161022c565b34801561026f575f80fd5b50601454610283906001600160a01b031681565b6040516001600160a01b03909116815260200161022c565b3480156102a6575f80fd5b50670de0b6b3a76400005b60405190815260200161022c565b3480156102ca575f80fd5b506102de6102d9366004611b43565b610627565b005b3480156102eb575f80fd5b506102546102fa366004611b5c565b610677565b34801561030a575f80fd5b506102b160185481565b34801561031f575f80fd5b506040516009815260200161022c565b34801561033a575f80fd5b50601554610283906001600160a01b031681565b348015610359575f80fd5b506102de610368366004611b9a565b6106de565b348015610378575f80fd5b506102de610387366004611b43565b610727565b348015610397575f80fd5b506102de61076e565b3480156103ab575f80fd5b506102b16103ba366004611b9a565b6107b8565b3480156103ca575f80fd5b506102de6107d9565b3480156103de575f80fd5b506102de6103ed366004611bb5565b61084a565b3480156103fd575f80fd5b506102b160165481565b348015610412575f80fd5b506102b1610421366004611b9a565b60116020525f908152604090205481565b34801561043d575f80fd5b505f546001600160a01b0316610283565b348015610459575f80fd5b506102b160175481565b34801561046e575f80fd5b5060408051808201909152600881526754495a4d44495a4d60c01b602082015261021f565b34801561049e575f80fd5b506102de6104ad366004611bb5565b610878565b3480156104bd575f80fd5b506102de6104cc366004611be0565b6108a6565b3480156104dc575f80fd5b506102de6104eb366004611cb2565b610938565b3480156104fb575f80fd5b5061025461050a366004611b0a565b610aed565b34801561051a575f80fd5b50610254610529366004611b9a565b60106020525f908152604090205460ff1681565b348015610548575f80fd5b506102de610af9565b34801561055c575f80fd5b506102de61056b366004611ce1565b610b4b565b34801561057b575f80fd5b506102b161058a366004611d5e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156105bf575f80fd5b506102de6105ce366004611bb5565b610be8565b3480156105de575f80fd5b506102de6105ed366004611d5e565b610c16565b3480156105fd575f80fd5b506102de61060c366004611b9a565b610c6d565b5f61061d338484610d54565b5060015b92915050565b5f546001600160a01b031633146106595760405162461bcd60e51b815260040161065090611d95565b60405180910390fd5b60158054911515600160a01b0260ff60a01b19909216919091179055565b5f610683848484610e77565b6106d484336106cf85604051806060016040528060288152602001611ef1602891396001600160a01b038a165f90815260046020908152604080832033845290915290205491906113a3565b610d54565b5060019392505050565b5f546001600160a01b031633146107075760405162461bcd60e51b815260040161065090611d95565b6001600160a01b03165f908152601060205260409020805460ff19169055565b5f546001600160a01b031633146107505760405162461bcd60e51b815260040161065090611d95565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107a357506013546001600160a01b0316336001600160a01b0316145b6107ab575f80fd5b476107b5816113db565b50565b6001600160a01b0381165f9081526002602052604081205461062190611416565b5f546001600160a01b031633146108025760405162461bcd60e51b815260040161065090611d95565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108735760405162461bcd60e51b815260040161065090611d95565b601655565b5f546001600160a01b031633146108a15760405162461bcd60e51b815260040161065090611d95565b601855565b5f546001600160a01b031633146108cf5760405162461bcd60e51b815260040161065090611d95565b5f5b8251811015610933578160105f8584815181106108f0576108f0611dca565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061092b81611df2565b9150506108d1565b505050565b5f546001600160a01b031633146109615760405162461bcd60e51b815260040161065090611d95565b60048411156109c05760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b6064820152608401610650565b6062821115610a1c5760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261382560f01b6064820152608401610650565b6004831115610a7c5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b6064820152608401610650565b6062811115610ad95760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239382560e81b6064820152608401610650565b600893909355600a91909155600955600b55565b5f61061d338484610e77565b6012546001600160a01b0316336001600160a01b03161480610b2e57506013546001600160a01b0316336001600160a01b0316145b610b36575f80fd5b5f610b40306107b8565b90506107b581611498565b5f546001600160a01b03163314610b745760405162461bcd60e51b815260040161065090611d95565b5f5b82811015610be2578160055f868685818110610b9457610b94611dca565b9050602002016020810190610ba99190611b9a565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610bda81611df2565b915050610b76565b50505050565b5f546001600160a01b03163314610c115760405162461bcd60e51b815260040161065090611d95565b601755565b5f546001600160a01b03163314610c3f5760405162461bcd60e51b815260040161065090611d95565b601580546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b5f546001600160a01b03163314610c965760405162461bcd60e51b815260040161065090611d95565b6001600160a01b038116610cfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610650565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610db65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610650565b6001600160a01b038216610e175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610650565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610edb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610650565b6001600160a01b038216610f3d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610650565b5f8111610f9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610650565b5f546001600160a01b03848116911614801590610fc857505f546001600160a01b03838116911614155b1561129f57601554600160a01b900460ff16611060575f546001600160a01b038481169116146110605760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610650565b6016548111156110b25760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610650565b6001600160a01b0383165f9081526010602052604090205460ff161580156110f257506001600160a01b0382165f9081526010602052604090205460ff16155b61114a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610650565b6015546001600160a01b038381169116146111cf576017548161116c846107b8565b6111769190611e0a565b106111cf5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610650565b5f6111d9306107b8565b60185490915081108015906111ee5760185491505b8080156112055750601554600160a81b900460ff16155b801561121f57506015546001600160a01b03868116911614155b80156112345750601554600160b01b900460ff165b801561125857506001600160a01b0385165f9081526005602052604090205460ff16155b801561127c57506001600160a01b0384165f9081526005602052604090205460ff16155b1561129c5761128a82611498565b47801561129a5761129a476113db565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff16806112df57506001600160a01b0383165f9081526005602052604090205460ff165b8061131157506015546001600160a01b0385811691161480159061131157506015546001600160a01b03848116911614155b1561131d57505f611397565b6015546001600160a01b03858116911614801561134857506014546001600160a01b03848116911614155b1561135a57600854600c55600954600d555b6015546001600160a01b03848116911614801561138557506014546001600160a01b03858116911614155b1561139757600a54600c55600b54600d555b610be284848484611608565b5f81848411156113c65760405162461bcd60e51b81526004016106509190611a9b565b505f6113d28486611e1d565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611412573d5f803e3d5ffd5b5050565b5f60065482111561147c5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610650565b5f611485611636565b90506114918382611657565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114de576114de611dca565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115599190611e30565b8160018151811061156c5761156c611dca565b6001600160a01b0392831660209182029290920101526014546115929130911684610d54565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115ca9085905f90869030904290600401611e4b565b5f604051808303815f87803b1580156115e1575f80fd5b505af11580156115f3573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b8061161557611615611698565b6116208484846116c5565b80610be257610be2600e54600c55600f54600d55565b5f805f6116416117b6565b90925090506116508282611657565b9250505090565b5f61149183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f5565b600c541580156116a85750600d54155b156116af57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f806116d487611821565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506117059087611876565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461173390866118b7565b6001600160a01b0389165f9081526002602052604090205561175481611915565b61175e848361195b565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117a391815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a76400006117d08282611657565b8210156117ec57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836118155760405162461bcd60e51b81526004016106509190611a9b565b505f6113d28486611eba565b5f805f805f805f805f6118398a600c54600d5461197f565b9250925092505f611848611636565b90505f805f6118598e8787876119d1565b919e509c509a509598509396509194505050505091939550919395565b5f61149183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a3565b5f806118c38385611e0a565b9050838110156114915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610650565b5f61191e611636565b90505f61192b8383611a1d565b305f9081526002602052604090205490915061194790826118b7565b305f90815260026020526040902055505050565b6006546119689083611876565b60065560075461197890826118b7565b6007555050565b5f80808061199860646119928989611a1d565b90611657565b90505f6119aa60646119928a89611a1d565b90505f6119c1826119bb8b86611876565b90611876565b9992985090965090945050505050565b5f8080806119df8886611a1d565b90505f6119ec8887611a1d565b90505f6119f98888611a1d565b90505f611a0a826119bb8686611876565b939b939a50919850919650505050505050565b5f825f03611a2c57505f610621565b5f611a378385611ed9565b905082611a448583611eba565b146114915760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610650565b5f6020808352835180828501525f5b81811015611ac657858101830151858201604001528201611aaa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107b5575f80fd5b8035611b0581611ae6565b919050565b5f8060408385031215611b1b575f80fd5b8235611b2681611ae6565b946020939093013593505050565b80358015158114611b05575f80fd5b5f60208284031215611b53575f80fd5b61149182611b34565b5f805f60608486031215611b6e575f80fd5b8335611b7981611ae6565b92506020840135611b8981611ae6565b929592945050506040919091013590565b5f60208284031215611baa575f80fd5b813561149181611ae6565b5f60208284031215611bc5575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611bf1575f80fd5b823567ffffffffffffffff80821115611c08575f80fd5b818501915085601f830112611c1b575f80fd5b8135602082821115611c2f57611c2f611bcc565b8160051b604051601f19603f83011681018181108682111715611c5457611c54611bcc565b604052928352818301935084810182019289841115611c71575f80fd5b948201945b83861015611c9657611c8786611afa565b85529482019493820193611c76565b9650611ca59050878201611b34565b9450505050509250929050565b5f805f8060808587031215611cc5575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611cf3575f80fd5b833567ffffffffffffffff80821115611d0a575f80fd5b818601915086601f830112611d1d575f80fd5b813581811115611d2b575f80fd5b8760208260051b8501011115611d3f575f80fd5b602092830195509350611d559186019050611b34565b90509250925092565b5f8060408385031215611d6f575f80fd5b8235611d7a81611ae6565b91506020830135611d8a81611ae6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611e0357611e03611dde565b5060010190565b8082018082111561062157610621611dde565b8181038181111561062157610621611dde565b5f60208284031215611e40575f80fd5b815161149181611ae6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e995784516001600160a01b031683529383019391830191600101611e74565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ed457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761062157610621611dde56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207531d514908db87eb64552bef38edccf14006e581c85bf895211a3b03371e9a264736f6c63430008150033
Deployed Bytecode Sourcemap
4211:13847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6443:83;;;;;;;;;;-1:-1:-1;6513:5:0;;;;;;;;;;;;;;;;;6443:83;;;;;;;:::i;:::-;;;;;;;;7375:193;;;;;;;;;;-1:-1:-1;7375:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7375:193:0;1162:187:1;5579:41:0;;;;;;;;;;-1:-1:-1;5579:41:0;;;;-1:-1:-1;;;;;5579:41:0;;;;;;-1:-1:-1;;;;;1544:32:1;;;1526:51;;1514:2;1499:18;5579:41:0;1354:229:1;6723:95:0;;;;;;;;;;-1:-1:-1;4777:18:0;6723:95;;;1734:25:1;;;1722:2;1707:18;6723:95:0;1588:177:1;12067:97:0;;;;;;;;;;-1:-1:-1;12067:97:0;;;;;:::i;:::-;;:::i;:::-;;7577:446;;;;;;;;;;-1:-1:-1;7577:446:0;;;;;:::i;:::-;;:::i;5881:52::-;;;;;;;;;;;;;;;;6631:83;;;;;;;;;;-1:-1:-1;6631:83:0;;4453:1;2723:36:1;;2711:2;2696:18;6631:83:0;2581:184:1;5627:28:0;;;;;;;;;;-1:-1:-1;5627:28:0;;;;-1:-1:-1;;;;;5627:28:0;;;13113:91;;;;;;;;;;-1:-1:-1;13113:91:0;;;;;:::i;:::-;;:::i;17465:101::-;;;;;;;;;;-1:-1:-1;17465:101:0;;;;;:::i;:::-;;:::i;12677:235::-;;;;;;;;;;;;;:::i;6827:138::-;;;;;;;;;;-1:-1:-1;6827:138:0;;;;;:::i;:::-;;:::i;1723:148::-;;;;;;;;;;;;;:::i;17572:121::-;;;;;;;;;;-1:-1:-1;17572:121:0;;;;;:::i;:::-;;:::i;5771:46::-;;;;;;;;;;;;;;;;5318:43;;;;;;;;;;-1:-1:-1;5318:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1513:79;;;;;;;;;;-1:-1:-1;1551:7:0;1578:6;-1:-1:-1;;;;;1578:6:0;1513:79;;5825:48;;;;;;;;;;;;;;;;6535:87;;;;;;;;;;-1:-1:-1;6607:7:0;;;;;;;;;;;;-1:-1:-1;;;6607:7:0;;;;6535:87;;17320:139;;;;;;;;;;-1:-1:-1;17320:139:0;;;;;:::i;:::-;;:::i;12921:183::-;;;;;;;;;;-1:-1:-1;12921:183:0;;;;;:::i;:::-;;:::i;16621:693::-;;;;;;;;;;-1:-1:-1;16621:693:0;;;;;:::i;:::-;;:::i;6974:199::-;;;;;;;;;;-1:-1:-1;6974:199:0;;;;;:::i;:::-;;:::i;5280:36::-;;;;;;;;;;-1:-1:-1;5280:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12432:236;;;;;;;;;;;;;:::i;17821:234::-;;;;;;;;;;-1:-1:-1;17821:234:0;;;;;:::i;:::-;;:::i;7182:184::-;;;;;;;;;;-1:-1:-1;7182:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7331:18:0;;;7299:7;7331:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7182:184;17700:115;;;;;;;;;;-1:-1:-1;17700:115:0;;;;;:::i;:::-;;:::i;12170:256::-;;;;;;;;;;-1:-1:-1;12170:256:0;;;;;:::i;:::-;;:::i;1880:244::-;;;;;;;;;;-1:-1:-1;1880:244:0;;;;;:::i;:::-;;:::i;7375:193::-;7477:4;7499:39;372:10;7522:7;7531:6;7499:8;:39::i;:::-;-1:-1:-1;7556:4:0;7375:193;;;;;:::o;12067:97::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;;;;;;;;;12130:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12130:26:0::1;-1:-1:-1::0;;;;12130:26:0;;::::1;::::0;;;::::1;::::0;;12067:97::o;7577:446::-;7709:4;7726:36;7736:6;7744:9;7755:6;7726:9;:36::i;:::-;7773:220;7796:6;372:10;7844:138;7900:6;7844:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7844:19:0;;;;;;:11;:19;;;;;;;;372:10;7844:33;;;;;;;;;;:37;:138::i;:::-;7773:8;:220::i;:::-;-1:-1:-1;8011:4:0;7577:446;;;;;:::o;13113:91::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13176:12:0::1;13191:5;13176:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13176:20:0::1;::::0;;13113:91::o;17465:101::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;17532:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17532:26:0::1;-1:-1:-1::0;;;;17532:26:0;;::::1;::::0;;;::::1;::::0;;17465:101::o;12677:235::-;12743:19;;-1:-1:-1;;;;;12743:19:0;372:10;-1:-1:-1;;;;;12727:35:0;;:72;;;-1:-1:-1;12782:17:0;;-1:-1:-1;;;;;12782:17:0;372:10;-1:-1:-1;;;;;12766:33:0;;12727:72;12719:81;;;;;;12840:21;12872:32;12840:21;12872:12;:32::i;:::-;12708:204;12677:235::o;6827:138::-;-1:-1:-1;;;;;6940:16:0;;6893:7;6940:16;;;:7;:16;;;;;;6920:37;;:19;:37::i;1723:148::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;1830:1:::1;1814:6:::0;;1793:40:::1;::::0;-1:-1:-1;;;;;1814:6:0;;::::1;::::0;1793:40:::1;::::0;1830:1;;1793:40:::1;1861:1;1844:19:::0;;-1:-1:-1;;;;;;1844:19:0::1;::::0;;1723:148::o;17572:121::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;17649:12:::1;:26:::0;17572:121::o;17320:139::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;17411:19:::1;:40:::0;17320:139::o;12921:183::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;13008:9:::1;13003:94;13027:5;:12;13023:1;:16;13003:94;;;13078:7;13061:4;:14;13066:5;13072:1;13066:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13061:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13061:14:0;:24;;-1:-1:-1;;13061:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13041:3;::::1;::::0;::::1;:::i;:::-;;;;13003:94;;;;12921:183:::0;;:::o;16621:693::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;16802:1:::1;16785:13;:18;;16755:90;;;::::0;-1:-1:-1;;;16755:90:0;;7187:2:1;16755:90:0::1;::::0;::::1;7169:21:1::0;7226:2;7206:18;;;7199:30;7265:34;7245:18;;;7238:62;-1:-1:-1;;;7316:18:1;;;7309:35;7361:19;;16755:90:0::1;6985:401:1::0;16755:90:0::1;16899:2;16884:11;:17;;16856:84;;;::::0;-1:-1:-1;;;16856:84:0;;7593:2:1;16856:84:0::1;::::0;::::1;7575:21:1::0;7632:2;7612:18;;;7605:30;7671:34;7651:18;;;7644:62;-1:-1:-1;;;7722:18:1;;;7715:32;7764:19;;16856:84:0::1;7391:398:1::0;16856:84:0::1;17000:1;16982:14;:19;;16951:93;;;::::0;-1:-1:-1;;;16951:93:0;;7996:2:1;16951:93:0::1;::::0;::::1;7978:21:1::0;8035:2;8015:18;;;8008:30;8074:34;8054:18;;;8047:62;-1:-1:-1;;;8125:18:1;;;8118:36;8171:19;;16951:93:0::1;7794:402:1::0;16951:93:0::1;17100:2;17084:12;:18;;17055:87;;;::::0;-1:-1:-1;;;17055:87:0;;8403:2:1;17055:87:0::1;::::0;::::1;8385:21:1::0;8442:2;8422:18;;;8415:30;8481:34;8461:18;;;8454:62;-1:-1:-1;;;8532:18:1;;;8525:33;8575:19;;17055:87:0::1;8201:399:1::0;17055:87:0::1;17155:14;:30:::0;;;;17196:15:::1;:32:::0;;;;17239:12:::1;:26:::0;17276:13:::1;:28:::0;16621:693::o;6974:199::-;7079:4;7101:42;372:10;7125:9;7136:6;7101:9;:42::i;12432:236::-;12498:19;;-1:-1:-1;;;;;12498:19:0;372:10;-1:-1:-1;;;;;12482:35:0;;:72;;;-1:-1:-1;12537:17:0;;-1:-1:-1;;;;;12537:17:0;372:10;-1:-1:-1;;;;;12521:33:0;;12482:72;12474:81;;;;;;12566:23;12592:24;12610:4;12592:9;:24::i;:::-;12566:50;;12627:33;12644:15;12627:16;:33::i;17821:234::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;17938:9:::1;17934:114;17953:19:::0;;::::1;17934:114;;;18028:8;17994:18;:31;18013:8;;18022:1;18013:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17994:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17994:31:0;:42;;-1:-1:-1;;17994:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17974:3;::::1;::::0;::::1;:::i;:::-;;;;17934:114;;;;17821:234:::0;;;:::o;17700:115::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;17777:14:::1;:30:::0;17700:115::o;12170:256::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;12269:13:::1;:28:::0;;-1:-1:-1;;;;;12269:28:0;;::::1;-1:-1:-1::0;;;;;;12269:28:0;;::::1;;::::0;;;12384:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;12170:256::o;1880:244::-;1638:6;;-1:-1:-1;;;;;1638:6:0;372:10;1638:22;1630:67;;;;-1:-1:-1;;;1630:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1969:22:0;::::1;1961:73;;;::::0;-1:-1:-1;;;1961:73:0;;8807:2:1;1961:73:0::1;::::0;::::1;8789:21:1::0;8846:2;8826:18;;;8819:30;8885:34;8865:18;;;8858:62;-1:-1:-1;;;8936:18:1;;;8929:36;8982:19;;1961:73:0::1;8605:402:1::0;1961:73:0::1;2071:6;::::0;;2050:38:::1;::::0;-1:-1:-1;;;;;2050:38:0;;::::1;::::0;2071:6;::::1;::::0;2050:38:::1;::::0;::::1;2099:6;:17:::0;;-1:-1:-1;;;;;;2099:17:0::1;-1:-1:-1::0;;;;;2099:17:0;;;::::1;::::0;;;::::1;::::0;;1880:244::o;8720:369::-;-1:-1:-1;;;;;8847:19:0;;8839:68;;;;-1:-1:-1;;;8839:68:0;;9214:2:1;8839:68:0;;;9196:21:1;9253:2;9233:18;;;9226:30;9292:34;9272:18;;;9265:62;-1:-1:-1;;;9343:18:1;;;9336:34;9387:19;;8839:68:0;9012:400:1;8839:68:0;-1:-1:-1;;;;;8926:21:0;;8918:68;;;;-1:-1:-1;;;8918:68:0;;9619:2:1;8918:68:0;;;9601:21:1;9658:2;9638:18;;;9631:30;9697:34;9677:18;;;9670:62;-1:-1:-1;;;9748:18:1;;;9741:32;9790:19;;8918:68:0;9417:398:1;8918:68:0;-1:-1:-1;;;;;8997:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9049:32;;1734:25:1;;;9049:32:0;;1707:18:1;9049:32:0;;;;;;;8720:369;;;:::o;9098:2357::-;-1:-1:-1;;;;;9220:18:0;;9212:68;;;;-1:-1:-1;;;9212:68:0;;10022:2:1;9212:68:0;;;10004:21:1;10061:2;10041:18;;;10034:30;10100:34;10080:18;;;10073:62;-1:-1:-1;;;10151:18:1;;;10144:35;10196:19;;9212:68:0;9820:401:1;9212:68:0;-1:-1:-1;;;;;9299:16:0;;9291:64;;;;-1:-1:-1;;;9291:64:0;;10428:2:1;9291:64:0;;;10410:21:1;10467:2;10447:18;;;10440:30;10506:34;10486:18;;;10479:62;-1:-1:-1;;;10557:18:1;;;10550:33;10600:19;;9291:64:0;10226:399:1;9291:64:0;9383:1;9374:6;:10;9366:64;;;;-1:-1:-1;;;9366:64:0;;10832:2:1;9366:64:0;;;10814:21:1;10871:2;10851:18;;;10844:30;10910:34;10890:18;;;10883:62;-1:-1:-1;;;10961:18:1;;;10954:39;11010:19;;9366:64:0;10630:405:1;9366:64:0;1551:7;1578:6;-1:-1:-1;;;;;9448:15:0;;;1578:6;;9448:15;;;;:32;;-1:-1:-1;1551:7:0;1578:6;-1:-1:-1;;;;;9467:13:0;;;1578:6;;9467:13;;9448:32;9444:1279;;;9538:11;;-1:-1:-1;;;9538:11:0;;;;9533:144;;1551:7;1578:6;-1:-1:-1;;;;;9578:15:0;;;1578:6;;9578:15;9570:91;;;;-1:-1:-1;;;9570:91:0;;11242:2:1;9570:91:0;;;11224:21:1;11281:2;11261:18;;;11254:30;11320:34;11300:18;;;11293:62;11391:33;11371:18;;;11364:61;11442:19;;9570:91:0;11040:427:1;9570:91:0;9712:12;;9702:6;:22;;9694:63;;;;-1:-1:-1;;;9694:63:0;;11674:2:1;9694:63:0;;;11656:21:1;11713:2;11693:18;;;11686:30;11752;11732:18;;;11725:58;11800:18;;9694:63:0;11472:352:1;9694:63:0;-1:-1:-1;;;;;9781:10:0;;;;;;:4;:10;;;;;;;;9780:11;:24;;;;-1:-1:-1;;;;;;9796:8:0;;;;;;:4;:8;;;;;;;;9795:9;9780:24;9772:72;;;;-1:-1:-1;;;9772:72:0;;12031:2:1;9772:72:0;;;12013:21:1;12070:2;12050:18;;;12043:30;12109:34;12089:18;;;12082:62;-1:-1:-1;;;12160:18:1;;;12153:33;12203:19;;9772:72:0;11829:399:1;9772:72:0;9871:13;;-1:-1:-1;;;;;9865:19:0;;;9871:13;;9865:19;9862:146;;9938:14;;9929:6;9913:13;9923:2;9913:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9905:87;;;;-1:-1:-1;;;9905:87:0;;12565:2:1;9905:87:0;;;12547:21:1;12604:2;12584:18;;;12577:30;12643:34;12623:18;;;12616:62;-1:-1:-1;;;12694:18:1;;;12687:33;12737:19;;9905:87:0;12363:399:1;9905:87:0;10025:28;10056:24;10074:4;10056:9;:24::i;:::-;10134:19;;10025:55;;-1:-1:-1;10110:43:0;;;;;10171:138;;10274:19;;10251:42;;10171:138;10330:7;:18;;;;-1:-1:-1;10342:6:0;;-1:-1:-1;;;10342:6:0;;;;10341:7;10330:18;:43;;;;-1:-1:-1;10360:13:0;;-1:-1:-1;;;;;10352:21:0;;;10360:13;;10352:21;;10330:43;:58;;;;-1:-1:-1;10377:11:0;;-1:-1:-1;;;10377:11:0;;;;10330:58;:87;;;;-1:-1:-1;;;;;;10393:24:0;;;;;;:18;:24;;;;;;;;10392:25;10330:87;:114;;;;-1:-1:-1;;;;;;10422:22:0;;;;;;:18;:22;;;;;;;;10421:23;10330:114;10326:386;;;10465:38;10482:20;10465:16;:38::i;:::-;10551:21;10595:22;;10591:106;;10642:35;10655:21;10642:12;:35::i;:::-;10446:266;10326:386;9482:1241;;9444:1279;-1:-1:-1;;;;;10801:24:0;;10736:12;10801:24;;;:18;:24;;;;;;10751:4;;10801:24;;;:50;;-1:-1:-1;;;;;;10829:22:0;;;;;;:18;:22;;;;;;;;10801:50;10800:102;;;-1:-1:-1;10865:13:0;;-1:-1:-1;;;;;10857:21:0;;;10865:13;;10857:21;;;;:44;;-1:-1:-1;10888:13:0;;-1:-1:-1;;;;;10882:19:0;;;10888:13;;10882:19;;10857:44;10796:597;;;-1:-1:-1;10929:5:0;10796:597;;;11013:13;;-1:-1:-1;;;;;11005:21:0;;;11013:13;;11005:21;:55;;;;-1:-1:-1;11044:15:0;;-1:-1:-1;;;;;11030:30:0;;;11044:15;;11030:30;;11005:55;11002:162;;;11093:14;;11081:9;:26;11136:12;;11126:7;:22;11002:162;11224:13;;-1:-1:-1;;;;;11218:19:0;;;11224:13;;11218:19;:55;;;;-1:-1:-1;11257:15:0;;-1:-1:-1;;;;;11241:32:0;;;11257:15;;11241:32;;11218:55;11214:165;;;11306:15;;11294:9;:27;11350:13;;11340:7;:23;11214:165;11406:41;11421:4;11427:2;11431:6;11439:7;11406:14;:41::i;2480:224::-;2600:7;2636:12;2628:6;;;;2620:29;;;;-1:-1:-1;;;2620:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2660:9:0;2672:5;2676:1;2672;:5;:::i;:::-;2660:17;2480:224;-1:-1:-1;;;;;2480:224:0:o;11956:99::-;12013:17;;:34;;-1:-1:-1;;;;;12013:17:0;;;;:34;;;;;12040:6;;12013:17;:34;:17;:34;12040:6;12013:17;:34;;;;;;;;;;;;;;;;;;;;;11956:99;:::o;8032:323::-;8127:7;8185;;8174;:18;;8152:110;;;;-1:-1:-1;;;8152:110:0;;13102:2:1;8152:110:0;;;13084:21:1;13141:2;13121:18;;;13114:30;13180:34;13160:18;;;13153:62;-1:-1:-1;;;13231:18:1;;;13224:40;13281:19;;8152:110:0;12900:406:1;8152:110:0;8273:19;8295:10;:8;:10::i;:::-;8273:32;-1:-1:-1;8323:24:0;:7;8273:32;8323:11;:24::i;:::-;8316:31;8032:323;-1:-1:-1;;;8032:323:0:o;11464:483::-;6028:6;:13;;-1:-1:-1;;;;6028:13:0;-1:-1:-1;;;6028:13:0;;;11566:16:::1;::::0;;11580:1:::1;11566:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11566:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11566:16:0::1;11542:40;;11611:4;11593;11598:1;11593:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11593:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11637:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11637:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11593:7;;11637:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11627:4;11632:1;11627:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11627:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11702:15:::1;::::0;11670:62:::1;::::0;11687:4:::1;::::0;11702:15:::1;11720:11:::0;11670:8:::1;:62::i;:::-;11743:15;::::0;:196:::1;::::0;-1:-1:-1;;;11743:196:0;;-1:-1:-1;;;;;11743:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11824:11;;11743:15:::1;::::0;11866:4;;11893::::1;::::0;11913:15:::1;::::0;11743:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6064:6:0;:14;;-1:-1:-1;;;;6064:14:0;;;-1:-1:-1;;;;11464:483:0:o;13213:282::-;13369:7;13364:28;;13378:14;:12;:14::i;:::-;13403:44;13421:6;13429:9;13440:6;13403:17;:44::i;:::-;13463:7;13458:29;;13472:15;8650:17;;8638:9;:29;8688:15;;8678:7;:25;8594:117;16182:164;16224:7;16245:15;16262;16281:19;:17;:19::i;:::-;16244:56;;-1:-1:-1;16244:56:0;-1:-1:-1;16318:20:0;16244:56;;16318:11;:20::i;:::-;16311:27;;;;16182:164;:::o;2962:132::-;3020:7;3047:39;3051:1;3054;3047:39;;;;;;;;;;;;;;;;;:3;:39::i;8364:221::-;8411:9;;:14;:30;;;;-1:-1:-1;8429:7:0;;:12;8411:30;8407:43;;;8364:221::o;8407:43::-;8483:9;;;8463:17;:29;8521:7;;;8503:15;:25;-1:-1:-1;8542:13:0;;;;8566:11;8364:221::o;13504:610::-;13651:15;13681:23;13719:12;13746:23;13784:12;13811:13;13838:19;13849:7;13838:10;:19::i;:::-;-1:-1:-1;;;;;13886:15:0;;;;;;:7;:15;;;;;;13636:221;;-1:-1:-1;13636:221:0;;-1:-1:-1;13636:221:0;;-1:-1:-1;13636:221:0;-1:-1:-1;13636:221:0;-1:-1:-1;13636:221:0;-1:-1:-1;13886:28:0;;13636:221;13886:19;:28::i;:::-;-1:-1:-1;;;;;13868:15:0;;;;;;;:7;:15;;;;;;:46;;;;13946:18;;;;;;;:39;;13969:15;13946:22;:39::i;:::-;-1:-1:-1;;;;;13925:18:0;;;;;;:7;:18;;;;;:60;13996:16;14006:5;13996:9;:16::i;:::-;14023:23;14035:4;14041;14023:11;:23::i;:::-;14079:9;-1:-1:-1;;;;;14062:44:0;14071:6;-1:-1:-1;;;;;14062:44:0;;14090:15;14062:44;;;;1734:25:1;;1722:2;1707:18;;1588:177;14062:44:0;;;;;;;;13625:489;;;;;;13504:610;;;:::o;16355:257::-;16453:7;;16406;;;;4777:18;16521:20;16453:7;4777:18;16521:11;:20::i;:::-;16511:7;:30;16507:61;;;-1:-1:-1;;16551:7:0;;;4777:18;;-1:-1:-1;16355:257:0;-1:-1:-1;16355:257:0:o;16507:61::-;16587:7;;16596;;-1:-1:-1;16355:257:0;-1:-1:-1;16355:257:0:o;3100:223::-;3220:7;3255:12;3248:5;3240:28;;;;-1:-1:-1;;;3240:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3279:9:0;3291:5;3295:1;3291;:5;:::i;14537:615::-;14637:7;14659;14681;14703;14725;14747;14783:23;14808:12;14822:13;14852:40;14864:7;14873:9;;14884:7;;14852:11;:40::i;:::-;14782:110;;;;;;14903:19;14925:10;:8;:10::i;:::-;14903:32;;14947:15;14964:23;14989:12;15018:46;15030:7;15039:4;15045:5;15052:11;15018;:46::i;:::-;14946:118;;-1:-1:-1;14946:118:0;-1:-1:-1;14946:118:0;-1:-1:-1;15115:15:0;;-1:-1:-1;15132:4:0;;-1:-1:-1;15138:5:0;;-1:-1:-1;;;;;14537:615:0;;;;;;;:::o;2338:136::-;2396:7;2423:43;2427:1;2430;2423:43;;;;;;;;;;;;;;;;;:3;:43::i;2153:179::-;2211:7;;2243:5;2247:1;2243;:5;:::i;:::-;2231:17;;2272:1;2267;:6;;2259:46;;;;-1:-1:-1;;;2259:46:0;;14976:2:1;2259:46:0;;;14958:21:1;15015:2;14995:18;;;14988:30;15054:29;15034:18;;;15027:57;15101:18;;2259:46:0;14774:351:1;14123:211:0;14176:19;14198:10;:8;:10::i;:::-;14176:32;-1:-1:-1;14219:13:0;14235:22;:5;14176:32;14235:9;:22::i;:::-;14309:4;14293:22;;;;:7;:22;;;;;;14219:38;;-1:-1:-1;14293:33:0;;14219:38;14293:26;:33::i;:::-;14284:4;14268:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14123:211:0:o;14343:147::-;14421:7;;:17;;14433:4;14421:11;:17::i;:::-;14411:7;:27;14462:10;;:20;;14477:4;14462:14;:20::i;:::-;14449:10;:33;-1:-1:-1;;14343:147:0:o;15161:469::-;15330:7;;;;15424:30;15450:3;15424:21;:7;15436:8;15424:11;:21::i;:::-;:25;;:30::i;:::-;15409:45;-1:-1:-1;15465:13:0;15481:28;15505:3;15481:19;:7;15493:6;15481:11;:19::i;:28::-;15465:44;-1:-1:-1;15520:23:0;15546:28;15465:44;15546:17;:7;15558:4;15546:11;:17::i;:::-;:21;;:28::i;:::-;15520:54;15610:4;;-1:-1:-1;15616:5:0;;-1:-1:-1;15161:469:0;;-1:-1:-1;;;;;15161:469:0:o;15639:534::-;15833:7;;;;15930:24;:7;15942:11;15930;:24::i;:::-;15912:42;-1:-1:-1;15965:12:0;15980:21;:4;15989:11;15980:8;:21::i;:::-;15965:36;-1:-1:-1;16012:13:0;16028:22;:5;16038:11;16028:9;:22::i;:::-;16012:38;-1:-1:-1;16061:23:0;16087:28;16012:38;16087:17;:7;16099:4;16087:11;:17::i;:28::-;16134:7;;;;-1:-1:-1;16160:4:0;;-1:-1:-1;15639:534:0;;-1:-1:-1;;;;;;;15639:534:0:o;2710:246::-;2768:7;2792:1;2797;2792:6;2788:47;;-1:-1:-1;2822:1:0;2815:8;;2788:47;2845:9;2857:5;2861:1;2857;:5;:::i;:::-;2845:17;-1:-1:-1;2890:1:0;2881:5;2885:1;2845:17;2881:5;:::i;:::-;:10;2873:56;;;;-1:-1:-1;;;2873:56:0;;15505:2:1;2873:56:0;;;15487:21:1;15544:2;15524:18;;;15517:30;15583:34;15563:18;;;15556:62;-1:-1:-1;;;15634:18:1;;;15627:31;15675:19;;2873:56:0;15303:397:1;14:548;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;1770:160::-;1835:20;;1891:13;;1884:21;1874:32;;1864:60;;1920:1;1917;1910:12;1935:180;1991:6;2044:2;2032:9;2023:7;2019:23;2015:32;2012:52;;;2060:1;2057;2050:12;2012:52;2083:26;2099:9;2083:26;:::i;2120:456::-;2197:6;2205;2213;2266:2;2254:9;2245:7;2241:23;2237:32;2234:52;;;2282:1;2279;2272:12;2234:52;2321:9;2308:23;2340:31;2365:5;2340:31;:::i;:::-;2390:5;-1:-1:-1;2447:2:1;2432:18;;2419:32;2460:33;2419:32;2460:33;:::i;:::-;2120:456;;2512:7;;-1:-1:-1;;;2566:2:1;2551:18;;;;2538:32;;2120:456::o;2978:247::-;3037:6;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;3145:9;3132:23;3164:31;3189:5;3164:31;:::i;3230:180::-;3289:6;3342:2;3330:9;3321:7;3317:23;3313:32;3310:52;;;3358:1;3355;3348:12;3310:52;-1:-1:-1;3381:23:1;;3230:180;-1:-1:-1;3230:180:1:o;3415:127::-;3476:10;3471:3;3467:20;3464:1;3457:31;3507:4;3504:1;3497:15;3531:4;3528:1;3521:15;3547:1191;3637:6;3645;3698:2;3686:9;3677:7;3673:23;3669:32;3666:52;;;3714:1;3711;3704:12;3666:52;3754:9;3741:23;3783:18;3824:2;3816:6;3813:14;3810:34;;;3840:1;3837;3830:12;3810:34;3878:6;3867:9;3863:22;3853:32;;3923:7;3916:4;3912:2;3908:13;3904:27;3894:55;;3945:1;3942;3935:12;3894:55;3981:2;3968:16;4003:4;4026:2;4022;4019:10;4016:36;;;4032:18;;:::i;:::-;4078:2;4075:1;4071:10;4110:2;4104:9;4173:2;4169:7;4164:2;4160;4156:11;4152:25;4144:6;4140:38;4228:6;4216:10;4213:22;4208:2;4196:10;4193:18;4190:46;4187:72;;;4239:18;;:::i;:::-;4275:2;4268:22;4325:18;;;4359:15;;;;-1:-1:-1;4401:11:1;;;4397:20;;;4429:19;;;4426:39;;;4461:1;4458;4451:12;4426:39;4485:11;;;;4505:148;4521:6;4516:3;4513:15;4505:148;;;4587:23;4606:3;4587:23;:::i;:::-;4575:36;;4538:12;;;;4631;;;;4505:148;;;4672:6;-1:-1:-1;4697:35:1;;-1:-1:-1;4713:18:1;;;4697:35;:::i;:::-;4687:45;;;;;;3547:1191;;;;;:::o;4743:385::-;4829:6;4837;4845;4853;4906:3;4894:9;4885:7;4881:23;4877:33;4874:53;;;4923:1;4920;4913:12;4874:53;-1:-1:-1;;4946:23:1;;;5016:2;5001:18;;4988:32;;-1:-1:-1;5067:2:1;5052:18;;5039:32;;5118:2;5103:18;5090:32;;-1:-1:-1;4743:385:1;-1:-1:-1;4743:385:1:o;5133:689::-;5225:6;5233;5241;5294:2;5282:9;5273:7;5269:23;5265:32;5262:52;;;5310:1;5307;5300:12;5262:52;5350:9;5337:23;5379:18;5420:2;5412:6;5409:14;5406:34;;;5436:1;5433;5426:12;5406:34;5474:6;5463:9;5459:22;5449:32;;5519:7;5512:4;5508:2;5504:13;5500:27;5490:55;;5541:1;5538;5531:12;5490:55;5581:2;5568:16;5607:2;5599:6;5596:14;5593:34;;;5623:1;5620;5613:12;5593:34;5678:7;5671:4;5661:6;5658:1;5654:14;5650:2;5646:23;5642:34;5639:47;5636:67;;;5699:1;5696;5689:12;5636:67;5730:4;5722:13;;;;-1:-1:-1;5754:6:1;-1:-1:-1;5779:37:1;;5795:20;;;-1:-1:-1;5779:37:1;:::i;:::-;5769:47;;5133:689;;;;;:::o;5827:388::-;5895:6;5903;5956:2;5944:9;5935:7;5931:23;5927:32;5924:52;;;5972:1;5969;5962:12;5924:52;6011:9;5998:23;6030:31;6055:5;6030:31;:::i;:::-;6080:5;-1:-1:-1;6137:2:1;6122:18;;6109:32;6150:33;6109:32;6150:33;:::i;:::-;6202:7;6192:17;;;5827:388;;;;;:::o;6220:356::-;6422:2;6404:21;;;6441:18;;;6434:30;6500:34;6495:2;6480:18;;6473:62;6567:2;6552:18;;6220:356::o;6581:127::-;6642:10;6637:3;6633:20;6630:1;6623:31;6673:4;6670:1;6663:15;6697:4;6694:1;6687:15;6713:127;6774:10;6769:3;6765:20;6762:1;6755:31;6805:4;6802:1;6795:15;6829:4;6826:1;6819:15;6845:135;6884:3;6905:17;;;6902:43;;6925:18;;:::i;:::-;-1:-1:-1;6972:1:1;6961:13;;6845:135::o;12233:125::-;12298:9;;;12319:10;;;12316:36;;;12332:18;;:::i;12767:128::-;12834:9;;;12855:11;;;12852:37;;;12869:18;;:::i;13311:251::-;13381:6;13434:2;13422:9;13413:7;13409:23;13405:32;13402:52;;;13450:1;13447;13440:12;13402:52;13482:9;13476:16;13501:31;13526:5;13501:31;:::i;13567:980::-;13829:4;13877:3;13866:9;13862:19;13908:6;13897:9;13890:25;13934:2;13972:6;13967:2;13956:9;13952:18;13945:34;14015:3;14010:2;13999:9;13995:18;13988:31;14039:6;14074;14068:13;14105:6;14097;14090:22;14143:3;14132:9;14128:19;14121:26;;14182:2;14174:6;14170:15;14156:29;;14203:1;14213:195;14227:6;14224:1;14221:13;14213:195;;;14292:13;;-1:-1:-1;;;;;14288:39:1;14276:52;;14383:15;;;;14348:12;;;;14324:1;14242:9;14213:195;;;-1:-1:-1;;;;;;;14464:32:1;;;;14459:2;14444:18;;14437:60;-1:-1:-1;;;14528:3:1;14513:19;14506:35;14425:3;13567:980;-1:-1:-1;;;13567:980:1:o;14552:217::-;14592:1;14618;14608:132;;14662:10;14657:3;14653:20;14650:1;14643:31;14697:4;14694:1;14687:15;14725:4;14722:1;14715:15;14608:132;-1:-1:-1;14754:9:1;;14552:217::o;15130:168::-;15203:9;;;15234;;15251:15;;;15245:22;;15231:37;15221:71;;15272:18;;:::i
Swarm Source
ipfs://7531d514908db87eb64552bef38edccf14006e581c85bf895211a3b03371e9a2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.