Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 61 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 17184415 | 504 days ago | IN | 0 ETH | 0.00301547 | ||||
Approve | 17178709 | 505 days ago | IN | 0 ETH | 0.00263456 | ||||
Approve | 17172140 | 506 days ago | IN | 0 ETH | 0.00224473 | ||||
Approve | 17169284 | 506 days ago | IN | 0 ETH | 0.00331143 | ||||
Approve | 17168568 | 506 days ago | IN | 0 ETH | 0.00381415 | ||||
Transfer | 17168393 | 506 days ago | IN | 0.012 ETH | 0.00174851 | ||||
Approve | 17168336 | 506 days ago | IN | 0 ETH | 0.00415823 | ||||
Approve | 17168334 | 506 days ago | IN | 0 ETH | 0.00421397 | ||||
Approve | 17168331 | 506 days ago | IN | 0 ETH | 0.0044517 | ||||
Approve | 17168271 | 506 days ago | IN | 0 ETH | 0.00348835 | ||||
Approve | 17168256 | 506 days ago | IN | 0 ETH | 0.00237412 | ||||
Approve | 17168251 | 506 days ago | IN | 0 ETH | 0.00414214 | ||||
Approve | 17168225 | 506 days ago | IN | 0 ETH | 0.00381727 | ||||
Approve | 17168225 | 506 days ago | IN | 0 ETH | 0.00439883 | ||||
Approve | 17168223 | 506 days ago | IN | 0 ETH | 0.00415277 | ||||
Approve | 17168221 | 506 days ago | IN | 0 ETH | 0.0042553 | ||||
Approve | 17168219 | 506 days ago | IN | 0 ETH | 0.0040994 | ||||
Approve | 17168216 | 506 days ago | IN | 0 ETH | 0.00372932 | ||||
Approve | 17168212 | 506 days ago | IN | 0 ETH | 0.00409138 | ||||
Approve | 17168212 | 506 days ago | IN | 0 ETH | 0.00409138 | ||||
Renounce Ownersh... | 17168212 | 506 days ago | IN | 0 ETH | 0.0021668 | ||||
Approve | 17168212 | 506 days ago | IN | 0 ETH | 0.0069939 | ||||
Approve | 17168210 | 506 days ago | IN | 0 ETH | 0.00407034 | ||||
Approve | 17168209 | 506 days ago | IN | 0 ETH | 0.00393816 | ||||
Approve | 17168209 | 506 days ago | IN | 0 ETH | 0.00410299 |
Loading...
Loading
Contract Name:
DUMBAF
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-01 */ /** * SPDX-License-Identifier: MIT */ // $DUMBAF...This has a lot of meanings. But to keep it short, these past pumps are DUMBAF // We have seen PEPE go from 5k to 300 million and this is just DUMBAF // For everyone that missed PEPE this is for you, buy it because you were DUMBAF for not buying PEPE // TO EVERYONE THAT IS DUMAF THIS FOR YOU....ONE LAST BANG // LP WILL BE BURNT. CONTRACT WILL BE RENOUNCED. NO UTILITY. // Fortune favours the FOMO // TG: https://t.me/DUMBAFTOKEN pragma solidity ^0.8.6; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } 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) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } 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) { require(b > 0, "SafeMath: division by zero"); return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) {return msg.sender;} function _msgData() internal view virtual returns (bytes calldata) {this; return msg.data;} } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance");(bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else {revert(errorMessage);} } } } abstract 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IPancakeV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IPancakeV2Router { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DUMBAF is IERC20Metadata, Ownable { using SafeMath for uint256; using Address for address; address internal deadAddress = 0x000000000000000000000000000000000000dEaD; address public marketingWallet = 0x361550d68B24731d9586f97113577407Eb7578D6; string constant _name = "DUMBAF"; string constant _symbol = "DUMBAF"; uint8 constant _decimals = 18; uint256 internal constant _totalSupply = 10_000_000 * (10**18); uint256 public maxTxAmount = _totalSupply / 1000; // 0.1% of the total supply uint256 public maxWalletBalance = _totalSupply / 50; // 2% of the total supply bool public takeFeeEnabled = true; bool public tradingIsEnabled = true; bool private swapping; bool public swapEnabled = true; uint256 public swapTokensAtAmount = 100_000 * (10**18); uint256 private constant FEES_DIVISOR = 10**3; uint256 public marketingFee = 10; // 1% uint256 public lpFee = 5; // 0.5% uint256 private totalFee; // Total = 100% (1000) uint256 public marketingPortionOfSwap = 800; // 80% uint256 public lpPortionOfSwap = 200; // 20% IPancakeV2Router public router; address public pair; mapping (address => uint256) internal _balances; mapping (address => mapping (address => uint256)) internal _allowances; mapping(address => bool) public _isBlacklisted; mapping (address => bool) internal _isExcludedFromFee; event UpdatePancakeswapRouter(address indexed newAddress, address indexed oldAddress); event ExcludeFromFees(address indexed account, bool isExcluded); event MarketingWalletUpdated(address indexed newMarketingWallet, address indexed oldMarketingWallet); event LiquidityAdded(uint256 tokenAmountSent, uint256 ethAmountSent, uint256 liquidity); event SwapTokensForETH(uint256 amountIn, address[] path); modifier zeroAddressCheck(address _theAddress) { require(_theAddress != address(0), "Address cannot be the zero address"); _; } constructor () { _balances[msg.sender] = _totalSupply; IPancakeV2Router _newPancakeRouter = IPancakeV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IPancakeV2Factory(_newPancakeRouter.factory()).createPair(address(this), _newPancakeRouter.WETH()); router = _newPancakeRouter; // set fees totalFee = marketingFee.add(lpFee); // exclude owner and this contract from fee _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _approve(owner(), address(router), ~uint256(0)); emit Transfer(address(0), owner(), _totalSupply); } receive() external payable { } function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool){ _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) external view override returns (uint256){ return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool){ _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "BaseRfiToken: approve from the zero address"); require(spender != address(0), "BaseRfiToken: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setExcludedFromFee(address account, bool value) external onlyOwner { _isExcludedFromFee[account] = value; } function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } function blacklistAddress(address account, bool value) external onlyOwner{ _isBlacklisted[account] = value; } function setSwapEnabled(bool _enabled) external onlyOwner { swapEnabled = _enabled; } function updateSwapTokensAt(uint256 _swaptokens) external onlyOwner { swapTokensAtAmount = _swaptokens * (10**18); } function updateWalletMax(uint256 _walletMax) external onlyOwner { maxWalletBalance = _walletMax * (10**18); } function updateTransactionMax(uint256 _txMax) external onlyOwner { maxTxAmount = _txMax * (10**18); } function updateFees( uint256 _marketing, uint256 _lp) external onlyOwner { totalFee = _marketing.add(_lp); require(totalFee <= 100, "Total Fees cannot be greater than 10% (100)"); marketingFee = _marketing; lpFee = _lp; } function updateMarketingWallet(address newWallet) external onlyOwner zeroAddressCheck(newWallet) { require(newWallet != marketingWallet, "The Marketing wallet is already this address"); emit MarketingWalletUpdated(newWallet, marketingWallet); marketingWallet = newWallet; } function updatePortionsOfSwap(uint256 marketingPortion, uint256 lpPortion) external onlyOwner { uint256 totalPortion = marketingPortion.add(lpPortion); require(totalPortion == 1000, "Total must be equal to 1000 (100%)"); marketingPortionOfSwap = marketingPortion; lpPortionOfSwap = lpPortion; } function updateTradingIsEnabled(bool tradingStatus) external onlyOwner() { tradingIsEnabled = tradingStatus; } function updateTakeFeeEnabled(bool _value) external onlyOwner { takeFeeEnabled = _value; } function updateRouterAddress(address newAddress) external onlyOwner { require(newAddress != address(router), "The router already has that address"); emit UpdatePancakeswapRouter(newAddress, address(router)); router = IPancakeV2Router(newAddress); } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(FEES_DIVISOR); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "Token: transfer from the zero address"); require(recipient != address(0), "Token: transfer to the zero address"); require(sender != address(deadAddress), "Token: transfer from the burn address"); require(amount > 0, "Transfer amount must be greater than zero"); require(tradingIsEnabled, "This account cannot send tokens until trading is enabled"); require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "Blacklisted address"); if ( sender != address(router) && //router -> pair is removing liquidity which shouldn't have max !_isExcludedFromFee[recipient] && //no max for those excluded from fees !_isExcludedFromFee[sender] ) { require(amount <= maxTxAmount, "Transfer amount exceeds the Max Transaction Amount."); } if ( maxWalletBalance > 0 && !_isExcludedFromFee[recipient] && !_isExcludedFromFee[sender] && recipient != address(pair) ) { uint256 recipientBalance = balanceOf(recipient); require(recipientBalance + amount <= maxWalletBalance, "New balance would exceed the maxWalletBalance"); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); // indicates whether or not fee should be deducted from the transfer bool _isTakeFee = takeFeeEnabled; // if any account belongs to _isExcludedFromFee account then remove the fee if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { _isTakeFee = false; } // transfer between wallets if(sender != pair && recipient != pair) { _isTakeFee = false; } _beforeTokenTransfer(recipient); uint256 amountReceived = _isTakeFee ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function _beforeTokenTransfer(address recipient) private { uint256 contractTokenBalance = balanceOf(address(this)); // swap bool canSwap = contractTokenBalance >= swapTokensAtAmount; if (!swapping && canSwap && swapEnabled && recipient == pair) { swapping = true; swapBack(); swapping = false; } } function swapBack() private { uint256 splitLiquidityPortion = lpPortionOfSwap.div(2); uint256 amountToLiquify = balanceOf(address(this)).mul(splitLiquidityPortion).div(FEES_DIVISOR); uint256 amountToSwap = balanceOf(address(this)).sub(amountToLiquify); uint256 balanceBefore = address(this).balance; swapTokensForETH(amountToSwap); uint256 amountBNB = address(this).balance.sub(balanceBefore); uint256 amountBNBMarketing = amountBNB.mul(marketingPortionOfSwap).div(FEES_DIVISOR); uint256 amountBNBLiquidity = amountBNB.mul(splitLiquidityPortion).div(FEES_DIVISOR); //Send to addresses transferToAddress(payable(marketingWallet), amountBNBMarketing); // add liquidity _addLiquidity(amountToLiquify, amountBNBLiquidity); } function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(router), tokenAmount); // add the liquidity (uint256 tokenAmountSent, uint256 ethAmountSent, uint256 liquidity) = router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); emit LiquidityAdded(tokenAmountSent, ethAmountSent, liquidity); } function swapTokensForETH(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function transferToAddress(address payable recipient, uint256 amount) private { require(recipient != address(0), "Cannot transfer the ETH to a zero address"); recipient.transfer(amount); } function TransferETH(address payable recipient, uint256 amount) external onlyOwner { require(recipient != address(0), "Cannot withdraw the ETH balance to a zero address"); recipient.transfer(amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmountSent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmountSent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"LiquidityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newMarketingWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldMarketingWallet","type":"address"}],"name":"MarketingWalletUpdated","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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdatePancakeswapRouter","type":"event"},{"inputs":[{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPortionOfSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPortionOfSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IPancakeV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingIsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_lp","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingPortion","type":"uint256"},{"internalType":"uint256","name":"lpPortion","type":"uint256"}],"name":"updatePortionsOfSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swaptokens","type":"uint256"}],"name":"updateSwapTokensAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"updateTakeFeeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"tradingStatus","type":"bool"}],"name":"updateTradingIsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_txMax","type":"uint256"}],"name":"updateTransactionMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_walletMax","type":"uint256"}],"name":"updateWalletMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b031990811661dead179091556002805490911673361550d68b24731d9586f97113577407eb7578d6179055620000536103e86a084595161401484a000000620005c4565b6003556200006e60326a084595161401484a000000620005c4565b6004556005805463ff00ffff1916630100010117815569152d02c7e14af6800000600655600a6007819055600891909155610320905560c8600b55348015620000b657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350336000908152600e60209081526040918290206a084595161401484a0000009055815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480840193829003018186803b1580156200016057600080fd5b505afa15801562000175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019b919062000572565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e457600080fd5b505afa158015620001f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021f919062000572565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026857600080fd5b505af11580156200027d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a3919062000572565b600d80546001600160a01b03199081166001600160a01b0393841617909155600c8054909116918316919091179055600854600754620002ef91620003cd602090811b620010f517901c565b6009556001601160006200030b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152601190925290208054909116600117905562000377620003626000546001600160a01b031690565b600c546001600160a01b03166000196200043b565b600080546040516a084595161401484a00000081526001600160a01b0390911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350620005e7565b600080620003dc83856200059d565b905083811015620004345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b9392505050565b6001600160a01b038316620004a75760405162461bcd60e51b815260206004820152602b60248201527f42617365526669546f6b656e3a20617070726f76652066726f6d20746865207a60448201526a65726f206164647265737360a81b60648201526084016200042b565b6001600160a01b038216620005115760405162461bcd60e51b815260206004820152602960248201527f42617365526669546f6b656e3a20617070726f766520746f20746865207a65726044820152686f206164647265737360b81b60648201526084016200042b565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000602082840312156200058557600080fd5b81516001600160a01b03811681146200043457600080fd5b60008219821115620005bf57634e487b7160e01b600052601160045260246000fd5b500190565b600082620005e257634e487b7160e01b600052601260045260246000fd5b500490565b61234480620005f76000396000f3fe6080604052600436106102545760003560e01c806379c4903c11610139578063b225d4b7116100b6578063de5bfb971161007a578063de5bfb9714610722578063e01af92c14610742578063e2f4560514610762578063f2fde38b14610778578063f887ea4014610798578063fd69c215146107b857600080fd5b8063b225d4b714610670578063bbde77c114610690578063c0fddc90146106a6578063cbf7e888146106c6578063dd62ed3e146106dc57600080fd5b806395d89b41116100fd57806395d89b4114610282578063a457c2d7146105f0578063a8aa1b3114610610578063a9059cbb14610630578063aacebbe31461065057600080fd5b806379c4903c146105665780637d8dbe241461057c5780638c0b5e221461059c5780638da5cb5b146105b257806391053d94146105d057600080fd5b8063450dde46116101d25780636db79437116101965780636db794371461048c5780636ddd1713146104ac578063704ce43e146104cd57806370a08231146104e3578063715018a61461051957806375f0a8741461052e57600080fd5b8063450dde46146103e3578063455a4396146103fd5780635342acb41461041d5780636612e66f146104565780636b67c4df1461047657600080fd5b806318160ddd1161021957806318160ddd1461032f5780631cdd3be31461035757806323b872dd14610387578063313ce567146103a757806339509351146103c357600080fd5b8062e6be7b1461026057806306fdde0314610282578063095ea7b3146102c057806309c58fcd146102f05780631264c9c41461030f57600080fd5b3661025b57005b600080fd5b34801561026c57600080fd5b5061028061027b366004611f51565b6107d8565b005b34801561028e57600080fd5b506040805180820182526006815265222aa6a120a360d11b602082015290516102b7919061212e565b60405180910390f35b3480156102cc57600080fd5b506102e06102db366004611f8b565b6108d2565b60405190151581526020016102b7565b3480156102fc57600080fd5b506005546102e090610100900460ff1681565b34801561031b57600080fd5b5061028061032a366004612066565b6108e9565b34801561033b57600080fd5b506a084595161401484a0000005b6040519081526020016102b7565b34801561036357600080fd5b506102e0610372366004611f51565b60106020526000908152604090205460ff1681565b34801561039357600080fd5b506102e06103a2366004611ff0565b61092d565b3480156103b357600080fd5b50604051601281526020016102b7565b3480156103cf57600080fd5b506102e06103de366004611f8b565b610996565b3480156103ef57600080fd5b506005546102e09060ff1681565b34801561040957600080fd5b50610280610418366004612031565b6109cc565b34801561042957600080fd5b506102e0610438366004611f51565b6001600160a01b031660009081526011602052604090205460ff1690565b34801561046257600080fd5b50610280610471366004612031565b610a21565b34801561048257600080fd5b5061034960075481565b34801561049857600080fd5b506102806104a736600461209a565b610a76565b3480156104b857600080fd5b506005546102e0906301000000900460ff1681565b3480156104d957600080fd5b5061034960085481565b3480156104ef57600080fd5b506103496104fe366004611f51565b6001600160a01b03166000908152600e602052604090205490565b34801561052557600080fd5b50610280610b1e565b34801561053a57600080fd5b5060025461054e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b7565b34801561057257600080fd5b50610349600a5481565b34801561058857600080fd5b50610280610597366004612081565b610b92565b3480156105a857600080fd5b5061034960035481565b3480156105be57600080fd5b506000546001600160a01b031661054e565b3480156105dc57600080fd5b506102806105eb366004612081565b610bd4565b3480156105fc57600080fd5b506102e061060b366004611f8b565b610c16565b34801561061c57600080fd5b50600d5461054e906001600160a01b031681565b34801561063c57600080fd5b506102e061064b366004611f8b565b610c65565b34801561065c57600080fd5b5061028061066b366004611f51565b610c72565b34801561067c57600080fd5b5061028061068b366004612081565b610dcf565b34801561069c57600080fd5b5061034960045481565b3480156106b257600080fd5b506102806106c136600461209a565b610e11565b3480156106d257600080fd5b50610349600b5481565b3480156106e857600080fd5b506103496106f7366004611fb7565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b34801561072e57600080fd5b5061028061073d366004612066565b610eb1565b34801561074e57600080fd5b5061028061075d366004612066565b610eee565b34801561076e57600080fd5b5061034960065481565b34801561078457600080fd5b50610280610793366004611f51565b610f36565b3480156107a457600080fd5b50600c5461054e906001600160a01b031681565b3480156107c457600080fd5b506102806107d3366004611f8b565b611020565b6000546001600160a01b0316331461080b5760405162461bcd60e51b815260040161080290612183565b60405180910390fd5b600c546001600160a01b03828116911614156108755760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610802565b600c546040516001600160a01b03918216918316907fc4382ee892d64a85fffb798adefd9dd8fcdeb2b1ababe74b46cdae7fe88da4e090600090a3600c80546001600160a01b0319166001600160a01b0392909216919091179055565b60006108df33848461115b565b5060015b92915050565b6000546001600160a01b031633146109135760405162461bcd60e51b815260040161080290612183565b600580549115156101000261ff0019909216919091179055565b600061093a84848461128e565b61098c8433610987856040518060600160405280602881526020016122c2602891396001600160a01b038a166000908152600f60209081526040808320338452909152902054919061187b565b61115b565b5060019392505050565b336000818152600f602090815260408083206001600160a01b038716845290915281205490916108df91859061098790866110f5565b6000546001600160a01b031633146109f65760405162461bcd60e51b815260040161080290612183565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040161080290612183565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aa05760405162461bcd60e51b815260040161080290612183565b610aaa82826110f5565b600981905560641015610b135760405162461bcd60e51b815260206004820152602b60248201527f546f74616c20466565732063616e6e6f7420626520677265617465722074686160448201526a6e2031302520283130302960a81b6064820152608401610802565b600791909155600855565b6000546001600160a01b03163314610b485760405162461bcd60e51b815260040161080290612183565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bbc5760405162461bcd60e51b815260040161080290612183565b610bce81670de0b6b3a7640000612247565b60035550565b6000546001600160a01b03163314610bfe5760405162461bcd60e51b815260040161080290612183565b610c1081670de0b6b3a7640000612247565b60045550565b60006108df3384610987856040518060600160405280602581526020016122ea60259139336000908152600f602090815260408083206001600160a01b038d168452909152902054919061187b565b60006108df33848461128e565b6000546001600160a01b03163314610c9c5760405162461bcd60e51b815260040161080290612183565b806001600160a01b038116610cfe5760405162461bcd60e51b815260206004820152602260248201527f416464726573732063616e6e6f7420626520746865207a65726f206164647265604482015261737360f01b6064820152608401610802565b6002546001600160a01b0383811691161415610d715760405162461bcd60e51b815260206004820152602c60248201527f546865204d61726b6574696e672077616c6c657420697320616c72656164792060448201526b74686973206164647265737360a01b6064820152608401610802565b6002546040516001600160a01b03918216918416907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a350600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610df95760405162461bcd60e51b815260040161080290612183565b610e0b81670de0b6b3a7640000612247565b60065550565b6000546001600160a01b03163314610e3b5760405162461bcd60e51b815260040161080290612183565b6000610e4783836110f5565b9050806103e814610ea55760405162461bcd60e51b815260206004820152602260248201527f546f74616c206d75737420626520657175616c20746f20313030302028313030604482015261252960f01b6064820152608401610802565b50600a91909155600b55565b6000546001600160a01b03163314610edb5760405162461bcd60e51b815260040161080290612183565b6005805460ff1916911515919091179055565b6000546001600160a01b03163314610f185760405162461bcd60e51b815260040161080290612183565b6005805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610f605760405162461bcd60e51b815260040161080290612183565b6001600160a01b038116610fc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610802565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461104a5760405162461bcd60e51b815260040161080290612183565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152603160248201527f43616e6e6f7420776974686472617720746865204554482062616c616e636520604482015270746f2061207a65726f206164647265737360781b6064820152608401610802565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156110f0573d6000803e3d6000fd5b505050565b600080611102838561220d565b9050838110156111545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610802565b9392505050565b6001600160a01b0383166111c55760405162461bcd60e51b815260206004820152602b60248201527f42617365526669546f6b656e3a20617070726f76652066726f6d20746865207a60448201526a65726f206164647265737360a81b6064820152608401610802565b6001600160a01b03821661122d5760405162461bcd60e51b815260206004820152602960248201527f42617365526669546f6b656e3a20617070726f766520746f20746865207a65726044820152686f206164647265737360b81b6064820152608401610802565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112f25760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610802565b6001600160a01b0382166113545760405162461bcd60e51b815260206004820152602360248201527f546f6b656e3a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610802565b6001546001600160a01b03848116911614156113c05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865206275726e206164604482015264647265737360d81b6064820152608401610802565b600081116114225760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610802565b600554610100900460ff1661149f5760405162461bcd60e51b815260206004820152603860248201527f54686973206163636f756e742063616e6e6f742073656e6420746f6b656e732060448201527f756e74696c2074726164696e6720697320656e61626c656400000000000000006064820152608401610802565b6001600160a01b03831660009081526010602052604090205460ff161580156114e157506001600160a01b03821660009081526010602052604090205460ff16155b6115235760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610802565b600c546001600160a01b0384811691161480159061155a57506001600160a01b03821660009081526011602052604090205460ff16155b801561157f57506001600160a01b03831660009081526011602052604090205460ff16155b156115f2576003548111156115f25760405162461bcd60e51b815260206004820152603360248201527f5472616e7366657220616d6f756e74206578636565647320746865204d6178206044820152722a3930b739b0b1ba34b7b71020b6b7bab73a1760691b6064820152608401610802565b600060045411801561161d57506001600160a01b03821660009081526011602052604090205460ff16155b801561164257506001600160a01b03831660009081526011602052604090205460ff16155b801561165c5750600d546001600160a01b03838116911614155b156116ed576001600160a01b0382166000908152600e6020526040902054600454611687838361220d565b11156116eb5760405162461bcd60e51b815260206004820152602d60248201527f4e65772062616c616e636520776f756c642065786365656420746865206d617860448201526c57616c6c657442616c616e636560981b6064820152608401610802565b505b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600e909152919091205461173f91839061187b565b6001600160a01b0384166000908152600e602090815260408083209390935560055460119091529190205460ff91821691168061179457506001600160a01b03831660009081526011602052604090205460ff165b1561179d575060005b600d546001600160a01b038581169116148015906117c95750600d546001600160a01b03848116911614155b156117d2575060005b6117db836118b2565b6000816117e857826117f2565b6117f2858461193d565b6001600160a01b0385166000908152600e602052604090205490915061181890826110f5565b6001600160a01b038086166000818152600e602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186c9085815260200190565b60405180910390a35050505050565b6000818484111561189f5760405162461bcd60e51b8152600401610802919061212e565b506118aa8385612266565b949350505050565b306000908152600e6020526040902054600654600554908210159062010000900460ff161580156118e05750805b80156118f557506005546301000000900460ff165b801561190e5750600d546001600160a01b038481169116145b156110f0576005805462ff000019166201000017905561192c6119e1565b6005805462ff000019169055505050565b6000806119616103e861195b60095486611ac990919063ffffffff16565b90611b48565b306000908152600e602052604090205490915061197e90826110f5565b306000818152600e6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119cf9085815260200190565b60405180910390a36118aa8382611ba3565b600b546000906119f2906002611b48565b90506000611a256103e861195b84611a1f306001600160a01b03166000908152600e602052604090205490565b90611ac9565b90506000611a5282611a4c306001600160a01b03166000908152600e602052604090205490565b90611ba3565b905047611a5e82611bff565b6000611a6a4783611ba3565b90506000611a896103e861195b600a5485611ac990919063ffffffff16565b90506000611a9d6103e861195b858a611ac9565b600254909150611ab6906001600160a01b031683611da1565b611ac08682611e09565b50505050505050565b600082611ad8575060006108e3565b6000611ae48385612247565b905082611af18583612225565b146111545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610802565b6000808211611b995760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006044820152606401610802565b6111548284612225565b600082821115611bf55760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610802565b6111548284612266565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c3457611c34612293565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc09190611f6e565b81600181518110611cd357611cd3612293565b6001600160a01b039283166020918202929092010152600c54611cf9913091168461115b565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d329085906000908690309042906004016121d1565b600060405180830381600087803b158015611d4c57600080fd5b505af1158015611d60573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d959291906121b8565b60405180910390a15050565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f74207472616e73666572207468652045544820746f2061207a65726044820152686f206164647265737360b81b6064820152608401610802565b600c54611e219030906001600160a01b03168461115b565b600c54600090819081906001600160a01b031663f305d7198530888580611e506000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611eb357600080fd5b505af1158015611ec7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eec91906120bc565b604080518481526020810184905290810182905292955090935091507fd7f28048575eead8851d024ead087913957dfb4fd1a02b4d1573f5352a5a2be39060600160405180910390a15050505050565b80358015158114611f4c57600080fd5b919050565b600060208284031215611f6357600080fd5b8135611154816122a9565b600060208284031215611f8057600080fd5b8151611154816122a9565b60008060408385031215611f9e57600080fd5b8235611fa9816122a9565b946020939093013593505050565b60008060408385031215611fca57600080fd5b8235611fd5816122a9565b91506020830135611fe5816122a9565b809150509250929050565b60008060006060848603121561200557600080fd5b8335612010816122a9565b92506020840135612020816122a9565b929592945050506040919091013590565b6000806040838503121561204457600080fd5b823561204f816122a9565b915061205d60208401611f3c565b90509250929050565b60006020828403121561207857600080fd5b61115482611f3c565b60006020828403121561209357600080fd5b5035919050565b600080604083850312156120ad57600080fd5b50508035926020909101359150565b6000806000606084860312156120d157600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156121235781516001600160a01b0316875295820195908201906001016120fe565b509495945050505050565b600060208083528351808285015260005b8181101561215b5785810183015185820160400152820161213f565b8181111561216d576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006118aa60408301846120ea565b85815284602082015260a0604082015260006121f060a08301866120ea565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156122205761222061227d565b500190565b60008261224257634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122615761226161227d565b500290565b6000828210156122785761227861227d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146122be57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c0dfe740e2a56bfccdd4fd7a1fca9e254a9bdc91fc4cf9ab444b58459eff76c164736f6c63430008060033
Deployed Bytecode
0x6080604052600436106102545760003560e01c806379c4903c11610139578063b225d4b7116100b6578063de5bfb971161007a578063de5bfb9714610722578063e01af92c14610742578063e2f4560514610762578063f2fde38b14610778578063f887ea4014610798578063fd69c215146107b857600080fd5b8063b225d4b714610670578063bbde77c114610690578063c0fddc90146106a6578063cbf7e888146106c6578063dd62ed3e146106dc57600080fd5b806395d89b41116100fd57806395d89b4114610282578063a457c2d7146105f0578063a8aa1b3114610610578063a9059cbb14610630578063aacebbe31461065057600080fd5b806379c4903c146105665780637d8dbe241461057c5780638c0b5e221461059c5780638da5cb5b146105b257806391053d94146105d057600080fd5b8063450dde46116101d25780636db79437116101965780636db794371461048c5780636ddd1713146104ac578063704ce43e146104cd57806370a08231146104e3578063715018a61461051957806375f0a8741461052e57600080fd5b8063450dde46146103e3578063455a4396146103fd5780635342acb41461041d5780636612e66f146104565780636b67c4df1461047657600080fd5b806318160ddd1161021957806318160ddd1461032f5780631cdd3be31461035757806323b872dd14610387578063313ce567146103a757806339509351146103c357600080fd5b8062e6be7b1461026057806306fdde0314610282578063095ea7b3146102c057806309c58fcd146102f05780631264c9c41461030f57600080fd5b3661025b57005b600080fd5b34801561026c57600080fd5b5061028061027b366004611f51565b6107d8565b005b34801561028e57600080fd5b506040805180820182526006815265222aa6a120a360d11b602082015290516102b7919061212e565b60405180910390f35b3480156102cc57600080fd5b506102e06102db366004611f8b565b6108d2565b60405190151581526020016102b7565b3480156102fc57600080fd5b506005546102e090610100900460ff1681565b34801561031b57600080fd5b5061028061032a366004612066565b6108e9565b34801561033b57600080fd5b506a084595161401484a0000005b6040519081526020016102b7565b34801561036357600080fd5b506102e0610372366004611f51565b60106020526000908152604090205460ff1681565b34801561039357600080fd5b506102e06103a2366004611ff0565b61092d565b3480156103b357600080fd5b50604051601281526020016102b7565b3480156103cf57600080fd5b506102e06103de366004611f8b565b610996565b3480156103ef57600080fd5b506005546102e09060ff1681565b34801561040957600080fd5b50610280610418366004612031565b6109cc565b34801561042957600080fd5b506102e0610438366004611f51565b6001600160a01b031660009081526011602052604090205460ff1690565b34801561046257600080fd5b50610280610471366004612031565b610a21565b34801561048257600080fd5b5061034960075481565b34801561049857600080fd5b506102806104a736600461209a565b610a76565b3480156104b857600080fd5b506005546102e0906301000000900460ff1681565b3480156104d957600080fd5b5061034960085481565b3480156104ef57600080fd5b506103496104fe366004611f51565b6001600160a01b03166000908152600e602052604090205490565b34801561052557600080fd5b50610280610b1e565b34801561053a57600080fd5b5060025461054e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b7565b34801561057257600080fd5b50610349600a5481565b34801561058857600080fd5b50610280610597366004612081565b610b92565b3480156105a857600080fd5b5061034960035481565b3480156105be57600080fd5b506000546001600160a01b031661054e565b3480156105dc57600080fd5b506102806105eb366004612081565b610bd4565b3480156105fc57600080fd5b506102e061060b366004611f8b565b610c16565b34801561061c57600080fd5b50600d5461054e906001600160a01b031681565b34801561063c57600080fd5b506102e061064b366004611f8b565b610c65565b34801561065c57600080fd5b5061028061066b366004611f51565b610c72565b34801561067c57600080fd5b5061028061068b366004612081565b610dcf565b34801561069c57600080fd5b5061034960045481565b3480156106b257600080fd5b506102806106c136600461209a565b610e11565b3480156106d257600080fd5b50610349600b5481565b3480156106e857600080fd5b506103496106f7366004611fb7565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b34801561072e57600080fd5b5061028061073d366004612066565b610eb1565b34801561074e57600080fd5b5061028061075d366004612066565b610eee565b34801561076e57600080fd5b5061034960065481565b34801561078457600080fd5b50610280610793366004611f51565b610f36565b3480156107a457600080fd5b50600c5461054e906001600160a01b031681565b3480156107c457600080fd5b506102806107d3366004611f8b565b611020565b6000546001600160a01b0316331461080b5760405162461bcd60e51b815260040161080290612183565b60405180910390fd5b600c546001600160a01b03828116911614156108755760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610802565b600c546040516001600160a01b03918216918316907fc4382ee892d64a85fffb798adefd9dd8fcdeb2b1ababe74b46cdae7fe88da4e090600090a3600c80546001600160a01b0319166001600160a01b0392909216919091179055565b60006108df33848461115b565b5060015b92915050565b6000546001600160a01b031633146109135760405162461bcd60e51b815260040161080290612183565b600580549115156101000261ff0019909216919091179055565b600061093a84848461128e565b61098c8433610987856040518060600160405280602881526020016122c2602891396001600160a01b038a166000908152600f60209081526040808320338452909152902054919061187b565b61115b565b5060019392505050565b336000818152600f602090815260408083206001600160a01b038716845290915281205490916108df91859061098790866110f5565b6000546001600160a01b031633146109f65760405162461bcd60e51b815260040161080290612183565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040161080290612183565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aa05760405162461bcd60e51b815260040161080290612183565b610aaa82826110f5565b600981905560641015610b135760405162461bcd60e51b815260206004820152602b60248201527f546f74616c20466565732063616e6e6f7420626520677265617465722074686160448201526a6e2031302520283130302960a81b6064820152608401610802565b600791909155600855565b6000546001600160a01b03163314610b485760405162461bcd60e51b815260040161080290612183565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bbc5760405162461bcd60e51b815260040161080290612183565b610bce81670de0b6b3a7640000612247565b60035550565b6000546001600160a01b03163314610bfe5760405162461bcd60e51b815260040161080290612183565b610c1081670de0b6b3a7640000612247565b60045550565b60006108df3384610987856040518060600160405280602581526020016122ea60259139336000908152600f602090815260408083206001600160a01b038d168452909152902054919061187b565b60006108df33848461128e565b6000546001600160a01b03163314610c9c5760405162461bcd60e51b815260040161080290612183565b806001600160a01b038116610cfe5760405162461bcd60e51b815260206004820152602260248201527f416464726573732063616e6e6f7420626520746865207a65726f206164647265604482015261737360f01b6064820152608401610802565b6002546001600160a01b0383811691161415610d715760405162461bcd60e51b815260206004820152602c60248201527f546865204d61726b6574696e672077616c6c657420697320616c72656164792060448201526b74686973206164647265737360a01b6064820152608401610802565b6002546040516001600160a01b03918216918416907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a350600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610df95760405162461bcd60e51b815260040161080290612183565b610e0b81670de0b6b3a7640000612247565b60065550565b6000546001600160a01b03163314610e3b5760405162461bcd60e51b815260040161080290612183565b6000610e4783836110f5565b9050806103e814610ea55760405162461bcd60e51b815260206004820152602260248201527f546f74616c206d75737420626520657175616c20746f20313030302028313030604482015261252960f01b6064820152608401610802565b50600a91909155600b55565b6000546001600160a01b03163314610edb5760405162461bcd60e51b815260040161080290612183565b6005805460ff1916911515919091179055565b6000546001600160a01b03163314610f185760405162461bcd60e51b815260040161080290612183565b6005805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610f605760405162461bcd60e51b815260040161080290612183565b6001600160a01b038116610fc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610802565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461104a5760405162461bcd60e51b815260040161080290612183565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152603160248201527f43616e6e6f7420776974686472617720746865204554482062616c616e636520604482015270746f2061207a65726f206164647265737360781b6064820152608401610802565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156110f0573d6000803e3d6000fd5b505050565b600080611102838561220d565b9050838110156111545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610802565b9392505050565b6001600160a01b0383166111c55760405162461bcd60e51b815260206004820152602b60248201527f42617365526669546f6b656e3a20617070726f76652066726f6d20746865207a60448201526a65726f206164647265737360a81b6064820152608401610802565b6001600160a01b03821661122d5760405162461bcd60e51b815260206004820152602960248201527f42617365526669546f6b656e3a20617070726f766520746f20746865207a65726044820152686f206164647265737360b81b6064820152608401610802565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112f25760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610802565b6001600160a01b0382166113545760405162461bcd60e51b815260206004820152602360248201527f546f6b656e3a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610802565b6001546001600160a01b03848116911614156113c05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865206275726e206164604482015264647265737360d81b6064820152608401610802565b600081116114225760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610802565b600554610100900460ff1661149f5760405162461bcd60e51b815260206004820152603860248201527f54686973206163636f756e742063616e6e6f742073656e6420746f6b656e732060448201527f756e74696c2074726164696e6720697320656e61626c656400000000000000006064820152608401610802565b6001600160a01b03831660009081526010602052604090205460ff161580156114e157506001600160a01b03821660009081526010602052604090205460ff16155b6115235760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610802565b600c546001600160a01b0384811691161480159061155a57506001600160a01b03821660009081526011602052604090205460ff16155b801561157f57506001600160a01b03831660009081526011602052604090205460ff16155b156115f2576003548111156115f25760405162461bcd60e51b815260206004820152603360248201527f5472616e7366657220616d6f756e74206578636565647320746865204d6178206044820152722a3930b739b0b1ba34b7b71020b6b7bab73a1760691b6064820152608401610802565b600060045411801561161d57506001600160a01b03821660009081526011602052604090205460ff16155b801561164257506001600160a01b03831660009081526011602052604090205460ff16155b801561165c5750600d546001600160a01b03838116911614155b156116ed576001600160a01b0382166000908152600e6020526040902054600454611687838361220d565b11156116eb5760405162461bcd60e51b815260206004820152602d60248201527f4e65772062616c616e636520776f756c642065786365656420746865206d617860448201526c57616c6c657442616c616e636560981b6064820152608401610802565b505b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600e909152919091205461173f91839061187b565b6001600160a01b0384166000908152600e602090815260408083209390935560055460119091529190205460ff91821691168061179457506001600160a01b03831660009081526011602052604090205460ff165b1561179d575060005b600d546001600160a01b038581169116148015906117c95750600d546001600160a01b03848116911614155b156117d2575060005b6117db836118b2565b6000816117e857826117f2565b6117f2858461193d565b6001600160a01b0385166000908152600e602052604090205490915061181890826110f5565b6001600160a01b038086166000818152600e602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186c9085815260200190565b60405180910390a35050505050565b6000818484111561189f5760405162461bcd60e51b8152600401610802919061212e565b506118aa8385612266565b949350505050565b306000908152600e6020526040902054600654600554908210159062010000900460ff161580156118e05750805b80156118f557506005546301000000900460ff165b801561190e5750600d546001600160a01b038481169116145b156110f0576005805462ff000019166201000017905561192c6119e1565b6005805462ff000019169055505050565b6000806119616103e861195b60095486611ac990919063ffffffff16565b90611b48565b306000908152600e602052604090205490915061197e90826110f5565b306000818152600e6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119cf9085815260200190565b60405180910390a36118aa8382611ba3565b600b546000906119f2906002611b48565b90506000611a256103e861195b84611a1f306001600160a01b03166000908152600e602052604090205490565b90611ac9565b90506000611a5282611a4c306001600160a01b03166000908152600e602052604090205490565b90611ba3565b905047611a5e82611bff565b6000611a6a4783611ba3565b90506000611a896103e861195b600a5485611ac990919063ffffffff16565b90506000611a9d6103e861195b858a611ac9565b600254909150611ab6906001600160a01b031683611da1565b611ac08682611e09565b50505050505050565b600082611ad8575060006108e3565b6000611ae48385612247565b905082611af18583612225565b146111545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610802565b6000808211611b995760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006044820152606401610802565b6111548284612225565b600082821115611bf55760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610802565b6111548284612266565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c3457611c34612293565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc09190611f6e565b81600181518110611cd357611cd3612293565b6001600160a01b039283166020918202929092010152600c54611cf9913091168461115b565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d329085906000908690309042906004016121d1565b600060405180830381600087803b158015611d4c57600080fd5b505af1158015611d60573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d959291906121b8565b60405180910390a15050565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f74207472616e73666572207468652045544820746f2061207a65726044820152686f206164647265737360b81b6064820152608401610802565b600c54611e219030906001600160a01b03168461115b565b600c54600090819081906001600160a01b031663f305d7198530888580611e506000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611eb357600080fd5b505af1158015611ec7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eec91906120bc565b604080518481526020810184905290810182905292955090935091507fd7f28048575eead8851d024ead087913957dfb4fd1a02b4d1573f5352a5a2be39060600160405180910390a15050505050565b80358015158114611f4c57600080fd5b919050565b600060208284031215611f6357600080fd5b8135611154816122a9565b600060208284031215611f8057600080fd5b8151611154816122a9565b60008060408385031215611f9e57600080fd5b8235611fa9816122a9565b946020939093013593505050565b60008060408385031215611fca57600080fd5b8235611fd5816122a9565b91506020830135611fe5816122a9565b809150509250929050565b60008060006060848603121561200557600080fd5b8335612010816122a9565b92506020840135612020816122a9565b929592945050506040919091013590565b6000806040838503121561204457600080fd5b823561204f816122a9565b915061205d60208401611f3c565b90509250929050565b60006020828403121561207857600080fd5b61115482611f3c565b60006020828403121561209357600080fd5b5035919050565b600080604083850312156120ad57600080fd5b50508035926020909101359150565b6000806000606084860312156120d157600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156121235781516001600160a01b0316875295820195908201906001016120fe565b509495945050505050565b600060208083528351808285015260005b8181101561215b5785810183015185820160400152820161213f565b8181111561216d576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006118aa60408301846120ea565b85815284602082015260a0604082015260006121f060a08301866120ea565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156122205761222061227d565b500190565b60008261224257634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122615761226161227d565b500290565b6000828210156122785761227861227d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146122be57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c0dfe740e2a56bfccdd4fd7a1fca9e254a9bdc91fc4cf9ab444b58459eff76c164736f6c63430008060033
Deployed Bytecode Sourcemap
9883:13326:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17237:293;;;;;;;;;;-1:-1:-1;17237:293:0;;;;;:::i;:::-;;:::i;:::-;;12770:94;;;;;;;;;;-1:-1:-1;12851:5:0;;;;;;;;;;;-1:-1:-1;;;12851:5:0;;;;12770:94;;;;12851:5;12770:94;:::i;:::-;;;;;;;;13681:167;;;;;;;;;;-1:-1:-1;13681:167:0;;;;;:::i;:::-;;:::i;:::-;;;4894:14:1;;4887:22;4869:41;;4857:2;4842:18;13681:167:0;4824:92:1;10586:35:0;;;;;;;;;;-1:-1:-1;10586:35:0;;;;;;;;;;;16989:124;;;;;;;;;;-1:-1:-1;16989:124:0;;;;;:::i;:::-;;:::i;13080:102::-;;;;;;;;;;-1:-1:-1;10341:21:0;13080:102;;;15059:25:1;;;15047:2;15032:18;13080:102:0;15014:76:1;11284:46:0;;;;;;;;;;-1:-1:-1;11284:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13864:318;;;;;;;;;;-1:-1:-1;13864:318:0;;;;;:::i;:::-;;:::i;12978:94::-;;;;;;;;;;-1:-1:-1;12978:94:0;;10285:2;16485:36:1;;16473:2;16458:18;12978:94:0;16440:87:1;14204:218:0;;;;;;;;;;-1:-1:-1;14204:218:0;;;;;:::i;:::-;;:::i;10546:33::-;;;;;;;;;;-1:-1:-1;10546:33:0;;;;;;;;15366:123;;;;;;;;;;-1:-1:-1;15366:123:0;;;;;:::i;:::-;;:::i;15227:125::-;;;;;;;;;;-1:-1:-1;15227:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;15316:27:0;15291:4;15316:27;;;:18;:27;;;;;;;;;15227:125;15081:132;;;;;;;;;;-1:-1:-1;15081:132:0;;;;;:::i;:::-;;:::i;10820:32::-;;;;;;;;;;;;;;;;16009:261;;;;;;;;;;-1:-1:-1;16009:261:0;;;;;:::i;:::-;;:::i;10662:30::-;;;;;;;;;;-1:-1:-1;10662:30:0;;;;;;;;;;;10865:24;;;;;;;;;;;;;;;;13190:121;;;;;;;;;;-1:-1:-1;13190:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;13284:18:0;13256:7;13284:18;;;:9;:18;;;;;;;13190:121;7893:148;;;;;;;;;;;;;:::i;10090:75::-;;;;;;;;;;-1:-1:-1;10090:75:0;;;;-1:-1:-1;;;;;10090:75:0;;;;;;-1:-1:-1;;;;;4073:32:1;;;4055:51;;4043:2;4028:18;10090:75:0;4010:102:1;10969:43:0;;;;;;;;;;;;;;;;15886:115;;;;;;;;;;-1:-1:-1;15886:115:0;;;;;:::i;:::-;;:::i;10373:48::-;;;;;;;;;;;;;;;;7668:79;;;;;;;;;;-1:-1:-1;7706:7:0;7733:6;-1:-1:-1;;;;;7733:6:0;7668:79;;15751:123;;;;;;;;;;-1:-1:-1;15751:123:0;;;;;:::i;:::-;;:::i;14434:269::-;;;;;;;;;;-1:-1:-1;14434:269:0;;;;;:::i;:::-;;:::i;11119:19::-;;;;;;;;;;-1:-1:-1;11119:19:0;;;;-1:-1:-1;;;;;11119:19:0;;;13333:172;;;;;;;;;;-1:-1:-1;13333:172:0;;;;;:::i;:::-;;:::i;16283:315::-;;;;;;;;;;-1:-1:-1;16283:315:0;;;;;:::i;:::-;;:::i;15609:130::-;;;;;;;;;;-1:-1:-1;15609:130:0;;;;;:::i;:::-;;:::i;10456:51::-;;;;;;;;;;;;;;;;16616:361;;;;;;;;;;-1:-1:-1;16616:361:0;;;;;:::i;:::-;;:::i;11026:36::-;;;;;;;;;;;;;;;;13521:148;;;;;;;;;;-1:-1:-1;13521:148:0;;;;;:::i;:::-;-1:-1:-1;;;;;13630:18:0;;;13604:7;13630:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13521:148;17121:104;;;;;;;;;;-1:-1:-1;17121:104:0;;;;;:::i;:::-;;:::i;15497:100::-;;;;;;;;;;-1:-1:-1;15497:100:0;;;;;:::i;:::-;;:::i;10699:54::-;;;;;;;;;;;;;;;;8049:244;;;;;;;;;;-1:-1:-1;8049:244:0;;;;;:::i;:::-;;:::i;11082:30::-;;;;;;;;;;-1:-1:-1;11082:30:0;;;;-1:-1:-1;;;;;11082:30:0;;;22976:224;;;;;;;;;;-1:-1:-1;22976:224:0;;;;;:::i;:::-;;:::i;17237:293::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;;;;;;;;;17346:6:::1;::::0;-1:-1:-1;;;;;17324:29:0;;::::1;17346:6:::0;::::1;17324:29;;17316:77;;;::::0;-1:-1:-1;;;17316:77:0;;7956:2:1;17316:77:0::1;::::0;::::1;7938:21:1::0;7995:2;7975:18;;;7968:30;8034:34;8014:18;;;8007:62;-1:-1:-1;;;8085:18:1;;;8078:33;8128:19;;17316:77:0::1;7928:225:1::0;17316:77:0::1;17453:6;::::0;17409:52:::1;::::0;-1:-1:-1;;;;;17453:6:0;;::::1;::::0;17409:52;::::1;::::0;::::1;::::0;17453:6:::1;::::0;17409:52:::1;17482:6;:37:::0;;-1:-1:-1;;;;;;17482:37:0::1;-1:-1:-1::0;;;;;17482:37:0;;;::::1;::::0;;;::::1;::::0;;17237:293::o;13681:167::-;13758:4;13775:39;3994:10;13798:7;13807:6;13775:8;:39::i;:::-;-1:-1:-1;13832:4:0;13681:167;;;;;:::o;16989:124::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;17073:16:::1;:32:::0;;;::::1;;;;-1:-1:-1::0;;17073:32:0;;::::1;::::0;;;::::1;::::0;;16989:124::o;13864:318::-;13964:4;13980:36;13990:6;13998:9;14009:6;13980:9;:36::i;:::-;14027:121;14036:6;3994:10;14058:89;14096:6;14058:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14058:19:0;;;;;;:11;:19;;;;;;;;3994:10;14058:33;;;;;;;;;;:37;:89::i;:::-;14027:8;:121::i;:::-;-1:-1:-1;14166:4:0;13864:318;;;;;:::o;14204:218::-;3994:10;14292:4;14341:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14341:34:0;;;;;;;;;;14292:4;;14309:83;;14332:7;;14341:50;;14380:10;14341:38;:50::i;15366:123::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15450:23:0;;;::::1;;::::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;15450:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15366:123::o;15081:132::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15169:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;15169:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15081:132::o;16009:261::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;16103:19:::1;:10:::0;16118:3;16103:14:::1;:19::i;:::-;16092:8;:30:::0;;;16153:3:::1;-1:-1:-1::0;16141:15:0::1;16133:71;;;::::0;-1:-1:-1;;;16133:71:0;;9881:2:1;16133:71:0::1;::::0;::::1;9863:21:1::0;9920:2;9900:18;;;9893:30;9959:34;9939:18;;;9932:62;-1:-1:-1;;;10010:18:1;;;10003:41;10061:19;;16133:71:0::1;9853:233:1::0;16133:71:0::1;16216:12;:25:::0;;;;16251:5:::1;:11:::0;16009:261::o;7893:148::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;8000:1:::1;7984:6:::0;;7963:40:::1;::::0;-1:-1:-1;;;;;7984:6:0;;::::1;::::0;7963:40:::1;::::0;8000:1;;7963:40:::1;8031:1;8014:19:::0;;-1:-1:-1;;;;;;8014:19:0::1;::::0;;7893:148::o;15886:115::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;15976:17:::1;:6:::0;15986::::1;15976:17;:::i;:::-;15962:11;:31:::0;-1:-1:-1;15886:115:0:o;15751:123::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;15845:21:::1;:10:::0;15859:6:::1;15845:21;:::i;:::-;15826:16;:40:::0;-1:-1:-1;15751:123:0:o;14434:269::-;14527:4;14544:129;3994:10;14567:7;14576:96;14615:15;14576:96;;;;;;;;;;;;;;;;;3994:10;14576:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14576:34:0;;;;;;;;;;;;:38;:96::i;13333:172::-;13413:4;13429:42;3994:10;13453:9;13464:6;13429:9;:42::i;16283:315::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;16369:9;-1:-1:-1;;;;;11915:25:0;::::1;11907:72;;;::::0;-1:-1:-1;;;11907:72:0;;8719:2:1;11907:72:0::1;::::0;::::1;8701:21:1::0;8758:2;8738:18;;;8731:30;8797:34;8777:18;;;8770:62;-1:-1:-1;;;8848:18:1;;;8841:32;8890:19;;11907:72:0::1;8691:224:1::0;11907:72:0::1;16412:15:::2;::::0;-1:-1:-1;;;;;16399:28:0;;::::2;16412:15:::0;::::2;16399:28;;16391:85;;;::::0;-1:-1:-1;;;16391:85:0;;13479:2:1;16391:85:0::2;::::0;::::2;13461:21:1::0;13518:2;13498:18;;;13491:30;13557:34;13537:18;;;13530:62;-1:-1:-1;;;13608:18:1;;;13601:42;13660:19;;16391:85:0::2;13451:234:1::0;16391:85:0::2;16526:15;::::0;16492:50:::2;::::0;-1:-1:-1;;;;;16526:15:0;;::::2;::::0;16492:50;::::2;::::0;::::2;::::0;16526:15:::2;::::0;16492:50:::2;-1:-1:-1::0;16563:15:0::2;:27:::0;;-1:-1:-1;;;;;;16563:27:0::2;-1:-1:-1::0;;;;;16563:27:0;;;::::2;::::0;;;::::2;::::0;;16283:315::o;15609:130::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;15709:22:::1;:11:::0;15724:6:::1;15709:22;:::i;:::-;15688:18;:43:::0;-1:-1:-1;15609:130:0:o;16616:361::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;16737:20:::1;16760:31;:16:::0;16781:9;16760:20:::1;:31::i;:::-;16737:54;;16810:12;16826:4;16810:20;16802:67;;;::::0;-1:-1:-1;;;16802:67:0;;14302:2:1;16802:67:0::1;::::0;::::1;14284:21:1::0;14341:2;14321:18;;;14314:30;14380:34;14360:18;;;14353:62;-1:-1:-1;;;14431:18:1;;;14424:32;14473:19;;16802:67:0::1;14274:224:1::0;16802:67:0::1;-1:-1:-1::0;16890:22:0::1;:41:::0;;;;16942:15:::1;:27:::0;16616:361::o;17121:104::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;17194:14:::1;:23:::0;;-1:-1:-1;;17194:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17121:104::o;15497:100::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;15566:11:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;15566:23:0;;::::1;::::0;;;::::1;::::0;;15497:100::o;8049:244::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8138:22:0;::::1;8130:73;;;::::0;-1:-1:-1;;;8130:73:0;;7193:2:1;8130:73:0::1;::::0;::::1;7175:21:1::0;7232:2;7212:18;;;7205:30;7271:34;7251:18;;;7244:62;-1:-1:-1;;;7322:18:1;;;7315:36;7368:19;;8130:73:0::1;7165:228:1::0;8130:73:0::1;8240:6;::::0;;8219:38:::1;::::0;-1:-1:-1;;;;;8219:38:0;;::::1;::::0;8240:6;::::1;::::0;8219:38:::1;::::0;::::1;8268:6;:17:::0;;-1:-1:-1;;;;;;8268:17:0::1;-1:-1:-1::0;;;;;8268:17:0;;;::::1;::::0;;;::::1;::::0;;8049:244::o;22976:224::-;7802:6;;-1:-1:-1;;;;;7802:6:0;3994:10;7802:22;7794:67;;;;-1:-1:-1;;;7794:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23078:23:0;::::1;23070:85;;;::::0;-1:-1:-1;;;23070:85:0;;6775:2:1;23070:85:0::1;::::0;::::1;6757:21:1::0;6814:2;6794:18;;;6787:30;6853:34;6833:18;;;6826:62;-1:-1:-1;;;6904:18:1;;;6897:47;6961:19;;23070:85:0::1;6747:239:1::0;23070:85:0::1;23166:26;::::0;-1:-1:-1;;;;;23166:18:0;::::1;::::0;:26;::::1;;;::::0;23185:6;;23166:26:::1;::::0;;;23185:6;23166:18;:26;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22976:224:::0;;:::o;1464:179::-;1522:7;;1554:5;1558:1;1554;:5;:::i;:::-;1542:17;;1583:1;1578;:6;;1570:46;;;;-1:-1:-1;;;1570:46:0;;7600:2:1;1570:46:0;;;7582:21:1;7639:2;7619:18;;;7612:30;7678:29;7658:18;;;7651:57;7725:18;;1570:46:0;7572:177:1;1570:46:0;1634:1;1464:179;-1:-1:-1;;;1464:179:0:o;14715:352::-;-1:-1:-1;;;;;14809:19:0;;14801:75;;;;-1:-1:-1;;;14801:75:0;;5957:2:1;14801:75:0;;;5939:21:1;5996:2;5976:18;;;5969:30;6035:34;6015:18;;;6008:62;-1:-1:-1;;;6086:18:1;;;6079:41;6137:19;;14801:75:0;5929:233:1;14801:75:0;-1:-1:-1;;;;;14895:21:0;;14887:75;;;;-1:-1:-1;;;14887:75:0;;13892:2:1;14887:75:0;;;13874:21:1;13931:2;13911:18;;;13904:30;13970:34;13950:18;;;13943:62;-1:-1:-1;;;14021:18:1;;;14014:39;14070:19;;14887:75:0;13864:231:1;14887:75:0;-1:-1:-1;;;;;14975:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15027:32;;15059:25:1;;;15027:32:0;;15032:18:1;15027:32:0;;;;;;;14715:352;;;:::o;17896:2249::-;-1:-1:-1;;;;;17993:20:0;;17985:70;;;;-1:-1:-1;;;17985:70:0;;6369:2:1;17985:70:0;;;6351:21:1;6408:2;6388:18;;;6381:30;6447:34;6427:18;;;6420:62;-1:-1:-1;;;6498:18:1;;;6491:35;6543:19;;17985:70:0;6341:227:1;17985:70:0;-1:-1:-1;;;;;18074:23:0;;18066:71;;;;-1:-1:-1;;;18066:71:0;;9122:2:1;18066:71:0;;;9104:21:1;9161:2;9141:18;;;9134:30;9200:34;9180:18;;;9173:62;-1:-1:-1;;;9251:18:1;;;9244:33;9294:19;;18066:71:0;9094:225:1;18066:71:0;18174:11;;-1:-1:-1;;;;;18156:30:0;;;18174:11;;18156:30;;18148:80;;;;-1:-1:-1;;;18148:80:0;;12234:2:1;18148:80:0;;;12216:21:1;12273:2;12253:18;;;12246:30;12312:34;12292:18;;;12285:62;-1:-1:-1;;;12363:18:1;;;12356:35;12408:19;;18148:80:0;12206:227:1;18148:80:0;18256:1;18247:6;:10;18239:64;;;;-1:-1:-1;;;18239:64:0;;11824:2:1;18239:64:0;;;11806:21:1;11863:2;11843:18;;;11836:30;11902:34;11882:18;;;11875:62;-1:-1:-1;;;11953:18:1;;;11946:39;12002:19;;18239:64:0;11796:231:1;18239:64:0;18332:16;;;;;;;18324:85;;;;-1:-1:-1;;;18324:85:0;;13054:2:1;18324:85:0;;;13036:21:1;13093:2;13073:18;;;13066:30;13132:34;13112:18;;;13105:62;13203:26;13183:18;;;13176:54;13247:19;;18324:85:0;13026:246:1;18324:85:0;-1:-1:-1;;;;;18431:22:0;;;;;;:14;:22;;;;;;;;18430:23;:53;;;;-1:-1:-1;;;;;;18458:25:0;;;;;;:14;:25;;;;;;;;18457:26;18430:53;18422:85;;;;-1:-1:-1;;;18422:85:0;;10293:2:1;18422:85:0;;;10275:21:1;10332:2;10312:18;;;10305:30;-1:-1:-1;;;10351:18:1;;;10344:49;10410:18;;18422:85:0;10265:169:1;18422:85:0;18564:6;;-1:-1:-1;;;;;18546:25:0;;;18564:6;;18546:25;;;;:136;;-1:-1:-1;;;;;;18653:29:0;;;;;;:18;:29;;;;;;;;18652:30;18546:136;:218;;;;-1:-1:-1;;;;;;18738:26:0;;;;;;:18;:26;;;;;;;;18737:27;18546:218;18528:375;;;18810:11;;18800:6;:21;;18792:85;;;;-1:-1:-1;;;18792:85:0;;10641:2:1;18792:85:0;;;10623:21:1;10680:2;10660:18;;;10653:30;10719:34;10699:18;;;10692:62;-1:-1:-1;;;10770:18:1;;;10763:49;10829:19;;18792:85:0;10613:241:1;18792:85:0;18947:1;18928:16;;:20;:54;;;;-1:-1:-1;;;;;;18953:29:0;;;;;;:18;:29;;;;;;;;18952:30;18928:54;:85;;;;-1:-1:-1;;;;;;18987:26:0;;;;;;:18;:26;;;;;;;;18986:27;18928:85;:115;;;;-1:-1:-1;19038:4:0;;-1:-1:-1;;;;;19017:26:0;;;19038:4;;19017:26;;18928:115;18923:327;;;-1:-1:-1;;;;;13284:18:0;;19065:24;13284:18;;;:9;:18;;;;;;19168:16;;19139:25;19158:6;13284:18;19139:25;:::i;:::-;:45;;19131:103;;;;-1:-1:-1;;;19131:103:0;;12640:2:1;19131:103:0;;;12622:21:1;12679:2;12659:18;;;12652:30;12718:34;12698:18;;;12691:62;-1:-1:-1;;;12769:18:1;;;12762:43;12822:19;;19131:103:0;12612:235:1;19131:103:0;19046:204;18923:327;19309:53;;;;;;;;;;;-1:-1:-1;;;19309:53:0;;;;;;;;-1:-1:-1;;;;;19309:17:0;;-1:-1:-1;19309:17:0;;;:9;:17;;;;;;;;:53;;19331:6;;19309:21;:53::i;:::-;-1:-1:-1;;;;;19289:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19484:14;;19608:18;:26;;;;;;;19484:14;;;;;19608:26;;:59;;-1:-1:-1;;;;;;19638:29:0;;;;;;:18;:29;;;;;;;;19608:59;19605:111;;;-1:-1:-1;19698:5:0;19605:111;19778:4;;-1:-1:-1;;;;;19768:14:0;;;19778:4;;19768:14;;;;:35;;-1:-1:-1;19799:4:0;;-1:-1:-1;;;;;19786:17:0;;;19799:4;;19786:17;;19768:35;19765:84;;;-1:-1:-1;19832:5:0;19765:84;19869:31;19890:9;19869:20;:31::i;:::-;19922:22;19947:10;:45;;19986:6;19947:45;;;19960:23;19968:6;19976;19960:7;:23::i;:::-;-1:-1:-1;;;;;20026:20:0;;;;;;:9;:20;;;;;;19922:70;;-1:-1:-1;20026:40:0;;19922:70;20026:24;:40::i;:::-;-1:-1:-1;;;;;20003:20:0;;;;;;;:9;:20;;;;;;;:63;;;;20084:43;;;;;;;;;;20112:14;15059:25:1;;15047:2;15032:18;;15014:76;20084:43:0;;;;;;;;17974:2171;;17896:2249;;;:::o;2369:200::-;2489:7;2525:12;2517:6;;;;2509:29;;;;-1:-1:-1;;;2509:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2556:5:0;2560:1;2556;:5;:::i;:::-;2549:12;2369:200;-1:-1:-1;;;;2369:200:0:o;20157:459::-;20288:4;20239:28;13284:18;;;:9;:18;;;;;;20362;;20410:8;;20338:42;;;;;20410:8;;;;;20409:9;:20;;;;;20422:7;20409:20;:35;;;;-1:-1:-1;20433:11:0;;;;;;;20409:35;:56;;;;-1:-1:-1;20461:4:0;;-1:-1:-1;;;;;20448:17:0;;;20461:4;;20448:17;20409:56;20405:196;;;20482:8;:15;;-1:-1:-1;;20482:15:0;;;;;20530:10;:8;:10::i;:::-;20573:8;:16;;-1:-1:-1;;20573:16:0;;;20214:402;;20157:459;:::o;17544:330::-;17611:7;17632:17;17652:38;10802:5;17652:20;17663:8;;17652:6;:10;;:20;;;;:::i;:::-;:24;;:38::i;:::-;17748:4;17730:24;;;;:9;:24;;;;;;17632:58;;-1:-1:-1;17730:39:0;;17632:58;17730:28;:39::i;:::-;17721:4;17703:24;;;;:9;:24;;;;;;;:66;;;;17785:42;;-1:-1:-1;;;;;17785:42:0;;;;;;;17817:9;15059:25:1;;15047:2;15032:18;;15014:76;17785:42:0;;;;;;;;17845:21;:6;17856:9;17845:10;:21::i;20628:879::-;20699:15;;20667:29;;20699:22;;20719:1;20699:19;:22::i;:::-;20667:54;;20732:23;20758:69;10802:5;20758:51;20787:21;20758:24;20776:4;-1:-1:-1;;;;;13284:18:0;13256:7;13284:18;;;:9;:18;;;;;;;13190:121;20758:24;:28;;:51::i;:69::-;20732:95;;20838:20;20861:45;20890:15;20861:24;20879:4;-1:-1:-1;;;;;13284:18:0;13256:7;13284:18;;;:9;:18;;;;;;;13190:121;20861:24;:28;;:45::i;:::-;20838:68;-1:-1:-1;20943:21:0;20985:30;20838:68;20985:16;:30::i;:::-;21028:17;21048:40;:21;21074:13;21048:25;:40::i;:::-;21028:60;;21109:26;21138:55;10802:5;21138:37;21152:22;;21138:9;:13;;:37;;;;:::i;:55::-;21109:84;-1:-1:-1;21204:26:0;21233:54;10802:5;21233:36;:9;21247:21;21233:13;:36::i;:54::-;21365:15;;21204:83;;-1:-1:-1;21339:63:0;;-1:-1:-1;;;;;21365:15:0;21383:18;21339:17;:63::i;:::-;21449:50;21463:15;21480:18;21449:13;:50::i;:::-;20656:851;;;;;;;20628:879::o;1819:220::-;1877:7;1901:6;1897:20;;-1:-1:-1;1916:1:0;1909:8;;1897:20;1928:9;1940:5;1944:1;1940;:5;:::i;:::-;1928:17;-1:-1:-1;1973:1:0;1964:5;1968:1;1928:17;1964:5;:::i;:::-;:10;1956:56;;;;-1:-1:-1;;;1956:56:0;;11061:2:1;1956:56:0;;;11043:21:1;11100:2;11080:18;;;11073:30;11139:34;11119:18;;;11112:62;-1:-1:-1;;;11190:18:1;;;11183:31;11231:19;;1956:56:0;11033:223:1;2047:153:0;2105:7;2137:1;2133;:5;2125:44;;;;-1:-1:-1;;;2125:44:0;;9526:2:1;2125:44:0;;;9508:21:1;9565:2;9545:18;;;9538:30;9604:28;9584:18;;;9577:56;9650:18;;2125:44:0;9498:176:1;2125:44:0;2187:5;2191:1;2187;:5;:::i;1651:158::-;1709:7;1742:1;1737;:6;;1729:49;;;;-1:-1:-1;;;1729:49:0;;8360:2:1;1729:49:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:32;8418:18;;;8411:60;8488:18;;1729:49:0;8332:180:1;1729:49:0;1796:5;1800:1;1796;:5;:::i;22118:623::-;22268:16;;;22282:1;22268:16;;;;;;;;22244:21;;22268:16;;;;;;;;;;-1:-1:-1;22268:16:0;22244:40;;22313:4;22295;22300:1;22295:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22295:23:0;;;:7;;;;;;;;;;:23;;;;22339:6;;:13;;;-1:-1:-1;;;22339:13:0;;;;:6;;;;;:11;;:13;;;;;22295:7;;22339:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22329:4;22334:1;22329:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22329:23:0;;;:7;;;;;;;;;:23;22397:6;;22365:53;;22382:4;;22397:6;22406:11;22365:8;:53::i;:::-;22457:6;;:215;;-1:-1:-1;;;22457:215:0;;-1:-1:-1;;;;;22457:6:0;;;;:57;;:215;;22529:11;;22457:6;;22599:4;;22626;;22646:15;;22457:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22698:35;22715:11;22728:4;22698:35;;;;;;;:::i;:::-;;;;;;;;22173:568;22118:623;:::o;22753:211::-;-1:-1:-1;;;;;22850:23:0;;22842:77;;;;-1:-1:-1;;;22842:77:0;;14705:2:1;22842:77:0;;;14687:21:1;14744:2;14724:18;;;14717:30;14783:34;14763:18;;;14756:62;-1:-1:-1;;;14834:18:1;;;14827:39;14883:19;;22842:77:0;14677:231:1;21519:587:0;21700:6;;21668:53;;21685:4;;-1:-1:-1;;;;;21700:6:0;21709:11;21668:8;:53::i;:::-;21834:6;;21765:23;;;;;;-1:-1:-1;;;;;21834:6:0;:22;21864:9;21897:4;21917:11;21765:23;;21975:7;7706;7733:6;-1:-1:-1;;;;;7733:6:0;;7668:79;21975:7;21834:189;;;;;;-1:-1:-1;;;;;;21834:189:0;;;-1:-1:-1;;;;;4476:15:1;;;21834:189:0;;;4458:34:1;4508:18;;;4501:34;;;;4551:18;;;4544:34;;;;4594:18;;;4587:34;4658:15;;;4637:19;;;4630:44;21997:15:0;4690:19:1;;;4683:35;4392:19;;21834:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22041:57;;;16221:25:1;;;16277:2;16262:18;;16255:34;;;16305:18;;;16298:34;;;21764:259:0;;-1:-1:-1;21764:259:0;;-1:-1:-1;21764:259:0;-1:-1:-1;22041:57:0;;16209:2:1;16194:18;22041:57:0;;;;;;;21590:516;;;21519:587;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:323::-;763:6;771;824:2;812:9;803:7;799:23;795:32;792:2;;;840:1;837;830:12;792:2;879:9;866:23;898:31;923:5;898:31;:::i;:::-;948:5;1000:2;985:18;;;;972:32;;-1:-1:-1;;;782:228:1:o;1015:388::-;1083:6;1091;1144:2;1132:9;1123:7;1119:23;1115:32;1112:2;;;1160:1;1157;1150:12;1112:2;1199:9;1186:23;1218:31;1243:5;1218:31;:::i;:::-;1268:5;-1:-1:-1;1325:2:1;1310:18;;1297:32;1338:33;1297:32;1338:33;:::i;:::-;1390:7;1380:17;;;1102:301;;;;;:::o;1408:456::-;1485:6;1493;1501;1554:2;1542:9;1533:7;1529:23;1525:32;1522:2;;;1570:1;1567;1560:12;1522:2;1609:9;1596:23;1628:31;1653:5;1628:31;:::i;:::-;1678:5;-1:-1:-1;1735:2:1;1720:18;;1707:32;1748:33;1707:32;1748:33;:::i;:::-;1512:352;;1800:7;;-1:-1:-1;;;1854:2:1;1839:18;;;;1826:32;;1512:352::o;1869:315::-;1934:6;1942;1995:2;1983:9;1974:7;1970:23;1966:32;1963:2;;;2011:1;2008;2001:12;1963:2;2050:9;2037:23;2069:31;2094:5;2069:31;:::i;:::-;2119:5;-1:-1:-1;2143:35:1;2174:2;2159:18;;2143:35;:::i;:::-;2133:45;;1953:231;;;;;:::o;2509:180::-;2565:6;2618:2;2606:9;2597:7;2593:23;2589:32;2586:2;;;2634:1;2631;2624:12;2586:2;2657:26;2673:9;2657:26;:::i;2694:180::-;2753:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:2;;;2822:1;2819;2812:12;2774:2;-1:-1:-1;2845:23:1;;2764:110;-1:-1:-1;2764:110:1:o;2879:248::-;2947:6;2955;3008:2;2996:9;2987:7;2983:23;2979:32;2976:2;;;3024:1;3021;3014:12;2976:2;-1:-1:-1;;3047:23:1;;;3117:2;3102:18;;;3089:32;;-1:-1:-1;2966:161:1:o;3132:306::-;3220:6;3228;3236;3289:2;3277:9;3268:7;3264:23;3260:32;3257:2;;;3305:1;3302;3295:12;3257:2;3334:9;3328:16;3318:26;;3384:2;3373:9;3369:18;3363:25;3353:35;;3428:2;3417:9;3413:18;3407:25;3397:35;;3247:191;;;;;:::o;3443:461::-;3496:3;3534:5;3528:12;3561:6;3556:3;3549:19;3587:4;3616:2;3611:3;3607:12;3600:19;;3653:2;3646:5;3642:14;3674:1;3684:195;3698:6;3695:1;3692:13;3684:195;;;3763:13;;-1:-1:-1;;;;;3759:39:1;3747:52;;3819:12;;;;3854:15;;;;3795:1;3713:9;3684:195;;;-1:-1:-1;3895:3:1;;3504:400;-1:-1:-1;;;;;3504:400:1:o;5153:597::-;5265:4;5294:2;5323;5312:9;5305:21;5355:6;5349:13;5398:6;5393:2;5382:9;5378:18;5371:34;5423:1;5433:140;5447:6;5444:1;5441:13;5433:140;;;5542:14;;;5538:23;;5532:30;5508:17;;;5527:2;5504:26;5497:66;5462:10;;5433:140;;;5591:6;5588:1;5585:13;5582:2;;;5661:1;5656:2;5647:6;5636:9;5632:22;5628:31;5621:42;5582:2;-1:-1:-1;5734:2:1;5713:15;-1:-1:-1;;5709:29:1;5694:45;;;;5741:2;5690:54;;5274:476;-1:-1:-1;;;5274:476:1:o;11261:356::-;11463:2;11445:21;;;11482:18;;;11475:30;11541:34;11536:2;11521:18;;11514:62;11608:2;11593:18;;11435:182::o;15095:332::-;15302:6;15291:9;15284:25;15345:2;15340;15329:9;15325:18;15318:30;15265:4;15365:56;15417:2;15406:9;15402:18;15394:6;15365:56;:::i;15432:582::-;15731:6;15720:9;15713:25;15774:6;15769:2;15758:9;15754:18;15747:34;15817:3;15812:2;15801:9;15797:18;15790:31;15694:4;15838:57;15890:3;15879:9;15875:19;15867:6;15838:57;:::i;:::-;-1:-1:-1;;;;;15931:32:1;;;;15926:2;15911:18;;15904:60;-1:-1:-1;15995:3:1;15980:19;15973:35;15830:65;15703:311;-1:-1:-1;;;15703:311:1:o;16532:128::-;16572:3;16603:1;16599:6;16596:1;16593:13;16590:2;;;16609:18;;:::i;:::-;-1:-1:-1;16645:9:1;;16580:80::o;16665:217::-;16705:1;16731;16721:2;;16775:10;16770:3;16766:20;16763:1;16756:31;16810:4;16807:1;16800:15;16838:4;16835:1;16828:15;16721:2;-1:-1:-1;16867:9:1;;16711:171::o;16887:168::-;16927:7;16993:1;16989;16985:6;16981:14;16978:1;16975:21;16970:1;16963:9;16956:17;16952:45;16949:2;;;17000:18;;:::i;:::-;-1:-1:-1;17040:9:1;;16939:116::o;17060:125::-;17100:4;17128:1;17125;17122:8;17119:2;;;17133:18;;:::i;:::-;-1:-1:-1;17170:9:1;;17109:76::o;17190:127::-;17251:10;17246:3;17242:20;17239:1;17232:31;17282:4;17279:1;17272:15;17306:4;17303:1;17296:15;17322:127;17383:10;17378:3;17374:20;17371:1;17364:31;17414:4;17411:1;17404:15;17438:4;17435:1;17428:15;17586:131;-1:-1:-1;;;;;17661:31:1;;17651:42;;17641:2;;17707:1;17704;17697:12;17641:2;17631:86;:::o
Swarm Source
ipfs://c0dfe740e2a56bfccdd4fd7a1fca9e254a9bdc91fc4cf9ab444b58459eff76c1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,445.98 | 0.0298 | $72.87 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.