More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,806 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 58078186 | 52 days ago | IN | 0 AVAX | 0.00007917 | ||||
Transfer | 58077577 | 52 days ago | IN | 0 AVAX | 0.00041742 | ||||
Transfer | 58077447 | 52 days ago | IN | 0 AVAX | 0.00054587 | ||||
Transfer | 58075474 | 52 days ago | IN | 0 AVAX | 0.00050052 | ||||
Approve | 55224575 | 111 days ago | IN | 0 AVAX | 0.00002891 | ||||
Approve | 55224420 | 111 days ago | IN | 0 AVAX | 0.00003199 | ||||
Approve | 44991390 | 354 days ago | IN | 0 AVAX | 0.00078537 | ||||
Approve | 44991389 | 354 days ago | IN | 0 AVAX | 0.00078537 | ||||
Approve | 43522143 | 390 days ago | IN | 0 AVAX | 0.00076429 | ||||
Approve | 43188769 | 398 days ago | IN | 0 AVAX | 0.00122684 | ||||
Transfer | 43188119 | 398 days ago | IN | 0 AVAX | 0.00983073 | ||||
Transfer | 43188111 | 398 days ago | IN | 0 AVAX | 0.01379096 | ||||
Approve | 42886384 | 405 days ago | IN | 0 AVAX | 0.00122652 | ||||
Approve | 40454940 | 462 days ago | IN | 0 AVAX | 0.00079992 | ||||
Approve | 39785311 | 478 days ago | IN | 0 AVAX | 0.00077868 | ||||
Approve | 32295133 | 656 days ago | IN | 0 AVAX | 0.00078537 | ||||
Approve | 32265427 | 656 days ago | IN | 0 AVAX | 0.00078537 | ||||
Approve | 31614645 | 672 days ago | IN | 0 AVAX | 0.00077083 | ||||
Approve | 29192771 | 729 days ago | IN | 0 AVAX | 0.00103022 | ||||
Approve | 28342119 | 749 days ago | IN | 0 AVAX | 0.00077083 | ||||
Approve | 24346065 | 843 days ago | IN | 0 AVAX | 0.00077083 | ||||
Approve | 22650500 | 884 days ago | IN | 0 AVAX | 0.00079992 | ||||
Approve | 22650485 | 884 days ago | IN | 0 AVAX | 0.00079992 | ||||
Approve | 22428390 | 889 days ago | IN | 0 AVAX | 0.00077083 | ||||
Approve | 21865932 | 902 days ago | IN | 0 AVAX | 0.0007272 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
42886441 | 405 days ago | 0.03350851 AVAX | ||||
42886441 | 405 days ago | 0.01218491 AVAX | ||||
42886441 | 405 days ago | 0.04569342 AVAX | ||||
13573397 | 1101 days ago | 0.03827371 AVAX | ||||
13573397 | 1101 days ago | 0.01391771 AVAX | ||||
13573397 | 1101 days ago | 0.05219142 AVAX | ||||
13394086 | 1105 days ago | 0.03862021 AVAX | ||||
13394086 | 1105 days ago | 0.01404371 AVAX | ||||
13394086 | 1105 days ago | 0.05266393 AVAX | ||||
13263497 | 1108 days ago | 0.04040296 AVAX | ||||
13263497 | 1108 days ago | 0.01469198 AVAX | ||||
13263497 | 1108 days ago | 0.05509495 AVAX | ||||
13130497 | 1111 days ago | 0.04069292 AVAX | ||||
13130497 | 1111 days ago | 0.01479742 AVAX | ||||
13130497 | 1111 days ago | 0.05549035 AVAX | ||||
13122174 | 1111 days ago | 0.04234333 AVAX | ||||
13122174 | 1111 days ago | 0.01539757 AVAX | ||||
13122174 | 1111 days ago | 0.05774091 AVAX | ||||
12936247 | 1116 days ago | 0.04251714 AVAX | ||||
12936247 | 1116 days ago | 0.01546078 AVAX | ||||
12936247 | 1116 days ago | 0.05797792 AVAX | ||||
12909592 | 1116 days ago | 0.04303239 AVAX | ||||
12909592 | 1116 days ago | 0.01564814 AVAX | ||||
12909592 | 1116 days ago | 0.05868054 AVAX | ||||
12369848 | 1129 days ago | 0.04628279 AVAX |
Loading...
Loading
Contract Name:
UniPayAVAX
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at snowscan.xyz on 2022-01-30 */ // SPDX-License-Identifier: GPL-3.0-or-later // https://t.me/UniPayAVAX pragma solidity ^0.8.7; /** * SAFEMATH LIBRARY */ library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 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) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IBEP20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } /** * Authorize address. Owner only */ function authorize(address adr) public onlyOwner { authorizations[adr] = true; } /** * Remove address' authorization. Owner only */ function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Return address' authorization status */ function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } /** * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WAVAX() 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 addLiquidityAVAX( address token, uint amountTokenDesired, uint amountTokenMin, uint amountAVAXMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountAVAX, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactAVAXForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForAVAXSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IDividendDistributor { function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; } contract DividendDistributor is IDividendDistributor { using SafeMath for uint256; address _token; struct Share { uint256 amount; uint256 totalExcluded;// excluded dividend uint256 totalRealised; } IBEP20 BUSD = IBEP20(0x959b88966fC5B261dF8359961357d34F4ee27b4a); address WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7; IDEXRouter router; address[] shareholders; mapping (address => uint256) shareholderIndexes; mapping (address => uint256) shareholderClaims; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed;// to be shown in UI uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 1 hours; uint256 public minDistribution = 10 * (10 ** 18); uint256 currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor (address _router) { router = _router != address(0) ? IDEXRouter(_router) : IDEXRouter(0x60aE616a2155Ee3d9A68541Ba4544862310933d4); _token = msg.sender; } function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken { minPeriod = _minPeriod; minDistribution = _minDistribution; } function setShare(address shareholder, uint256 amount) external override onlyToken { if(shares[shareholder].amount > 0){ distributeDividend(shareholder); } if(amount > 0 && shares[shareholder].amount == 0){ addShareholder(shareholder); }else if(amount == 0 && shares[shareholder].amount > 0){ removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } function deposit() external payable override onlyToken { uint256 balanceBefore = BUSD.balanceOf(address(this)); address[] memory path = new address[](2); path[0] = WAVAX; path[1] = address(BUSD); router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = BUSD.balanceOf(address(this)).sub(balanceBefore); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } function process(uint256 gas) external override onlyToken { uint256 shareholderCount = shareholders.length; if(shareholderCount == 0) { return; } uint256 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; while(gasUsed < gas && iterations < shareholderCount) { if(currentIndex >= shareholderCount){ currentIndex = 0; } if(shouldDistribute(shareholders[currentIndex])){ distributeDividend(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute(address shareholder) internal view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } function distributeDividend(address shareholder) internal { if(shares[shareholder].amount == 0){ return; } uint256 amount = getUnpaidEarnings(shareholder); if(amount > 0){ totalDistributed = totalDistributed.add(amount); BUSD.transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } } function claimDividend() external { distributeDividend(msg.sender); } /* returns the unpaid earnings */ function getUnpaidEarnings(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract UniPayAVAX is IBEP20, Auth { using SafeMath for uint256; uint256 public constant MASK = type(uint128).max; address BUSD = 0x959b88966fC5B261dF8359961357d34F4ee27b4a; // MIM address public WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD; address public autoLiquidityReceiver=0xF3909694c2c409434d8C32C73fCD5cfE7BcDCEB9; address public marketingFeeReceiver=0xF3909694c2c409434d8C32C73fCD5cfE7BcDCEB9; string constant _name = "UniPay"; string constant _symbol = "UniPay"; uint8 constant _decimals = 9; uint256 _totalSupply = 1_000_000_000_000_000 * (10 ** _decimals); uint256 public _maxTxAmount = _totalSupply.div(80); uint256 public _maxWallet = _totalSupply.div(40); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) isDividendExempt; mapping (address => bool) public _isFree; uint256 liquidityFee = 200; uint256 buybackFee = 0; uint256 reflectionFee = 500; uint256 marketingFee = 700; uint256 totalFee = 1400; uint256 feeDenominator = 10000; uint256 targetLiquidity = 10; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; uint256 public launchedAt; uint256 public launchedAtTimestamp; uint256 buybackMultiplierNumerator = 200; uint256 buybackMultiplierDenominator = 100; uint256 buybackMultiplierTriggeredAt; uint256 buybackMultiplierLength = 30 minutes; bool public autoBuybackEnabled = false; mapping (address => bool) buyBacker; uint256 autoBuybackCap; uint256 autoBuybackAccumulator; uint256 autoBuybackAmount; uint256 autoBuybackBlockPeriod; uint256 autoBuybackBlockLast; DividendDistributor distributor; address public distributorAddress; uint256 distributorGas = 500000; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000; // 0.005% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor ( address _dexRouter, address _marketingAddress, address _wAVAX ) Auth(msg.sender) { router = IDEXRouter(_dexRouter); WAVAX=_wAVAX; pair = IDEXFactory(router.factory()).createPair(_wAVAX, address(this)); _allowances[address(this)][address(router)] = _totalSupply; WAVAX = router.WAVAX(); distributor = new DividendDistributor(_dexRouter); distributorAddress = address(distributor); isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; buyBacker[msg.sender] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = _marketingAddress; approve(_dexRouter, _totalSupply); approve(address(pair), _totalSupply); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } modifier onlyBuybacker() { require(buyBacker[msg.sender] == true, ""); _; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, _totalSupply); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != _totalSupply){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } // Max tx check address routerAddress = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4; bool isSell=recipient== pair|| recipient == routerAddress; checkTxLimit(sender, amount); // Max wallet check excluding pair and router if (!isSell && !_isFree[recipient]){ require((_balances[recipient] + amount) < _maxWallet, "Max wallet has been triggered"); } // No swapping on buy and tx if (isSell) { if(shouldSwapBack()){ swapBack(); } if(shouldAutoBuyback()){ triggerAutoBuyback(); } } // if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); if(!isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} } try distributor.process(distributorGas) {} catch {} emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); // emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + 1 >= block.number){ return totalFee; } if(selling){ return totalFee; } return totalFee; } function getMultipliedFee() public view returns (uint256) { /** * if (launchedAtTimestamp + 1 days > block.timestamp) { return totalFee.mul(18000).div(feeDenominator); } else if (buybackMultiplierTriggeredAt.add(buybackMultiplierLength) > block.timestamp) { uint256 remainingTime = buybackMultiplierTriggeredAt.add(buybackMultiplierLength).sub(block.timestamp); uint256 feeIncrease = totalFee.mul(buybackMultiplierNumerator).div(buybackMultiplierDenominator).sub(totalFee); return totalFee.add(feeIncrease.mul(remainingTime).div(buybackMultiplierLength)); } */ return totalFee; } function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WAVAX; uint256 balanceBefore = address(this).balance; router.swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountAVAX = address(this).balance.sub(balanceBefore); uint256 totalAVAXFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountAVAXLiquidity = amountAVAX.mul(dynamicLiquidityFee).div(totalAVAXFee).div(2); uint256 amountAVAXReflection = amountAVAX.mul(reflectionFee).div(totalAVAXFee); uint256 amountAVAXMarketing = amountAVAX.mul(marketingFee).div(totalAVAXFee); try distributor.deposit{value: amountAVAXReflection}() {} catch {} payable(marketingFeeReceiver).transfer(amountAVAXMarketing); if(amountToLiquify > 0){ router.addLiquidityAVAX{value: amountAVAXLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountAVAXLiquidity, amountToLiquify); } } function shouldAutoBuyback() internal view returns (bool) { return msg.sender != pair && !inSwap && autoBuybackEnabled && autoBuybackBlockLast + autoBuybackBlockPeriod <= block.number // After N blocks from last buyback && address(this).balance >= autoBuybackAmount; } function triggerZeusBuyback(uint256 amount, bool triggerBuybackMultiplier) external authorized { buyTokens(amount, DEAD); if(triggerBuybackMultiplier){ buybackMultiplierTriggeredAt = block.timestamp; emit BuybackMultiplierActive(buybackMultiplierLength); } } function clearBuybackMultiplier() external authorized { buybackMultiplierTriggeredAt = 0; } function triggerAutoBuyback() internal { buyTokens(autoBuybackAmount, DEAD); autoBuybackBlockLast = block.number; autoBuybackAccumulator = autoBuybackAccumulator.add(autoBuybackAmount); if(autoBuybackAccumulator > autoBuybackCap){ autoBuybackEnabled = false; } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WAVAX; path[1] = address(this); router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function Sweep() external onlyOwner { uint256 balance = address(this).balance; payable(msg.sender).transfer(balance); } function setAutoBuybackSettings(bool _enabled, uint256 _cap, uint256 _amount, uint256 _period) external authorized { autoBuybackEnabled = _enabled; autoBuybackCap = _cap; autoBuybackAccumulator = 0; autoBuybackAmount = _amount; autoBuybackBlockPeriod = _period; autoBuybackBlockLast = block.number; } function setBuybackMultiplierSettings(uint256 numerator, uint256 denominator, uint256 length) external authorized { require(numerator / denominator <= 2 && numerator > denominator); buybackMultiplierNumerator = numerator; buybackMultiplierDenominator = denominator; buybackMultiplierLength = length; } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() public authorized { require(launchedAt == 0, "Already launched boi"); launchedAt = block.number; launchedAtTimestamp = block.timestamp; } function setMaxWallet(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxWallet = amount; } function setTxLimit(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setIsDividendExempt(address holder, bool exempt) external authorized { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ distributor.setShare(holder, 0); }else{ distributor.setShare(holder, _balances[holder]); } } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setFree(address holder) public onlyOwner { _isFree[holder] = true; } function unSetFree(address holder) public onlyOwner { _isFree[holder] = false; } function checkFree(address holder) public view onlyOwner returns(bool){ return _isFree[holder]; } function setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized { liquidityFee = _liquidityFee; buybackFee = _buybackFee; reflectionFee = _reflectionFee; marketingFee = _marketingFee; totalFee = _liquidityFee.add(_buybackFee).add(_reflectionFee).add(_marketingFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/4); } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized { distributor.setDistributionCriteria(_minPeriod, _minDistribution); } function setDistributorSettings(uint256 gas) external authorized { require(gas < 750000); distributorGas = gas; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountAVAX, uint256 amountBOG); event BuybackMultiplierActive(uint256 duration); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"},{"internalType":"address","name":"_wAVAX","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountAVAX","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WAVAX","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoBuybackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"holder","type":"address"}],"name":"checkFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBuybackMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMultipliedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAtTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setAutoBuybackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"setBuybackMultiplierSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"setFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"unSetFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811673959b88966fc5b261df8359961357d34f4ee27b4a1790915560038054821673b31f66aa3c1e785363f0875a1b74e27b85fd66c717905560048054821661dead9081179091556005805483169055600680548316909117905560078054821673f3909694c2c409434d8c32c73fcd5cfe7bcdceb990811790915560088054909216179055620000a66009600a620006b8565b620000b99066038d7ea4c68000620006c9565b600955620000d960506009546200051360201b620015451790919060201c565b600a55620000f960286009546200051360201b620015451790919060201c565b600b5560c8601281905560006013556101f46014556102bc601555610578601655612710601755600a60185560646019819055601e91909155601f556107086021556022805460ff199081169091556207a120602b55602c805490911660011790556009546200016d906103e890620006eb565b602d553480156200017d57600080fd5b5060405162003b2038038062003b20833981016040819052620001a0916200072b565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601a805483166001600160a01b038881169182179092556003805490941691861691909117909255825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa1580156200022f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000255919062000775565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c65396906044016020604051808303816000875af1158015620002a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cc919062000775565b601b80546001600160a01b0319166001600160a01b03928316179055600954306000908152600d60209081526040808320601a8054871685529083529281902093909355905482516339d94ae160e11b815292519316926373b295c29260048082019392918290030181865afa1580156200034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000371919062000775565b600380546001600160a01b0319166001600160a01b03929092169190911790556040518390620003a19062000597565b6001600160a01b039091168152602001604051809103906000f080158015620003ce573d6000803e3d6000fd5b50602980546001600160a01b039283166001600160a01b03199182168117909255602a80548216909217909155336000818152600e60209081526040808320805460ff199081166001908117909255600f84528285208054821683179055601b54881685526010845282852080548216831790553085528285208054821683179055600454881685528285208054821683179055858552602390935292208054909116909117905560078054831690911790556008805492851692909116919091179055600954620004a29084906200052a565b50601b54600954620004be916001600160a01b0316906200052a565b50600954336000818152600c6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505062000793565b6000620005218284620006eb565b90505b92915050565b336000818152600d602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005869086815260200190565b60405180910390a350600192915050565b610e2b8062002cf583390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005fc578160001904821115620005e057620005e0620005a5565b80851615620005ee57918102915b93841c9390800290620005c0565b509250929050565b600082620006155750600162000524565b81620006245750600062000524565b81600181146200063d5760028114620006485762000668565b600191505062000524565b60ff8411156200065c576200065c620005a5565b50506001821b62000524565b5060208310610133831016604e8410600b84101617156200068d575081810a62000524565b620006998383620005bb565b8060001904821115620006b057620006b0620005a5565b029392505050565b60006200052160ff84168362000604565b6000816000190483118215151615620006e657620006e6620005a5565b500290565b6000826200070957634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b03811681146200072657600080fd5b919050565b6000806000606084860312156200074157600080fd5b6200074c846200070e565b92506200075c602085016200070e565b91506200076c604085016200070e565b90509250925092565b6000602082840312156200078857600080fd5b62000521826200070e565b61255280620007a36000396000f3fe60806040526004361061036f5760003560e01c806382247ec0116101c6578063d51ed1c8116100f7578063f1f3bca311610095578063f708a64f1161006f578063f708a64f14610a06578063f84ba65d14610a26578063f887ea4014610a46578063fe9fbb8014610a6657600080fd5b8063f1f3bca3146109a6578063f2fde38b146109c6578063f5cfec0a146109e657600080fd5b8063df20fd49116100d1578063df20fd4914610922578063e91f214e14610942578063e96fada214610966578063f0b37c041461098657600080fd5b8063d51ed1c8146108a7578063d806d12f146108c7578063dd62ed3e146108dc57600080fd5b8063a8aa1b3111610164578063b6a5d7de1161013e578063b6a5d7de1461083b578063bf56b3711461085b578063c6d2577d14610871578063ca33e64c1461088757600080fd5b8063a8aa1b31146107e6578063a9059cbb14610806578063b210b06d1461082657600080fd5b806395d89b41116101a057806395d89b41146103fb5780639d1944f514610786578063a4b45c00146107a6578063a51af4c5146107c657600080fd5b806382247ec014610732578063893d20e81461074857806389ef69f61461076657600080fd5b80632d48e896116102a05780635d0044ca1161023e5780637088fb7f116102185780637088fb7f1461069957806370a08231146106ae57806373b295c2146106e45780637d1db4a51461071c57600080fd5b80635d0044ca1461063f578063658d4b7f1461065f5780636ddd17131461067f57600080fd5b80633425c0011161027a5780633425c001146105c55780633bb8a8d4146105e5578063571ac8b0146105ff5780635c85974f1461061f57600080fd5b80632d48e8961461055a5780632f54bf6e1461057a578063313ce567146105a957600080fd5b80631161ae391161030d5780632375ce40116102e75780632375ce40146104d557806323b872dd146104f5578063296020e7146105155780632b112e491461054557600080fd5b80631161ae391461048057806318160ddd146104a0578063201e7991146104b557600080fd5b806304a66b481161034957806304a66b48146103db57806306fdde03146103fb57806307c89fe814610430578063095ea7b31461046057600080fd5b806301339c211461037b5780630445b66714610392578063048c7baf146103bb57600080fd5b3661037657005b600080fd5b34801561038757600080fd5b50610390610a86565b005b34801561039e57600080fd5b506103a8602d5481565b6040519081526020015b60405180910390f35b3480156103c757600080fd5b506103906103d63660046120be565b610b05565b3480156103e757600080fd5b506103906103f63660046120f7565b610b53565b34801561040757600080fd5b506040805180820182526006815265556e6950617960d01b602082015290516103b29190612132565b34801561043c57600080fd5b5061045061044b36600461219f565b610bc9565b60405190151581526020016103b2565b34801561046c57600080fd5b5061045061047b3660046121bc565b610c17565b34801561048c57600080fd5b5061045061049b3660046121e8565b610c83565b3480156104ac57600080fd5b506009546103a8565b3480156104c157600080fd5b506103906104d03660046121e8565b610c97565b3480156104e157600080fd5b506103906104f036600461220a565b610cc7565b34801561050157600080fd5b50610450610510366004612236565b610d1c565b34801561052157600080fd5b5061045061053036600461219f565b60116020526000908152604090205460ff1681565b34801561055157600080fd5b506103a8610de0565b34801561056657600080fd5b506103906105753660046121e8565b610e32565b34801561058657600080fd5b5061045061059536600461219f565b6000546001600160a01b0391821691161490565b3480156105b557600080fd5b50604051600981526020016103b2565b3480156105d157600080fd5b506103906105e036600461219f565b610ec1565b3480156105f157600080fd5b506022546104509060ff1681565b34801561060b57600080fd5b5061045061061a36600461219f565b610f0c565b34801561062b57600080fd5b5061039061063a366004612277565b610f20565b34801561064b57600080fd5b5061039061065a366004612277565b610f66565b34801561066b57600080fd5b5061039061067a366004612290565b610fac565b34801561068b57600080fd5b50602c546104509060ff1681565b3480156106a557600080fd5b50610390610ffc565b3480156106ba57600080fd5b506103a86106c936600461219f565b6001600160a01b03166000908152600c602052604090205490565b3480156106f057600080fd5b50600354610704906001600160a01b031681565b6040516001600160a01b0390911681526020016103b2565b34801561072857600080fd5b506103a8600a5481565b34801561073e57600080fd5b506103a8600b5481565b34801561075457600080fd5b506000546001600160a01b0316610704565b34801561077257600080fd5b5061039061078136600461219f565b611059565b34801561079257600080fd5b506103906107a1366004612277565b6110a7565b3480156107b257600080fd5b506103906107c13660046122c5565b6110e0565b3480156107d257600080fd5b50602a54610704906001600160a01b031681565b3480156107f257600080fd5b50601b54610704906001600160a01b031681565b34801561081257600080fd5b506104506108213660046121bc565b611133565b34801561083257600080fd5b50610390611140565b34801561084757600080fd5b5061039061085636600461219f565b61116c565b34801561086757600080fd5b506103a8601c5481565b34801561087d57600080fd5b506103a8601d5481565b34801561089357600080fd5b50600754610704906001600160a01b031681565b3480156108b357600080fd5b506103a86108c2366004612277565b6111bd565b3480156108d357600080fd5b506016546103a8565b3480156108e857600080fd5b506103a86108f73660046122c5565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561092e57600080fd5b5061039061093d3660046122fe565b611201565b34801561094e57600080fd5b506103a86fffffffffffffffffffffffffffffffff81565b34801561097257600080fd5b50600854610704906001600160a01b031681565b34801561099257600080fd5b506103906109a136600461219f565b61123d565b3480156109b257600080fd5b506103a86109c136600461231a565b611288565b3480156109d257600080fd5b506103906109e136600461219f565b6112bd565b3480156109f257600080fd5b50610390610a01366004612335565b611353565b348015610a1257600080fd5b50610390610a21366004612290565b6113d3565b348015610a3257600080fd5b50610390610a41366004612290565b6114d7565b348015610a5257600080fd5b50601a54610704906001600160a01b031681565b348015610a7257600080fd5b50610450610a8136600461219f565b611527565b610a8f33611527565b610ab45760405162461bcd60e51b8152600401610aab90612358565b60405180910390fd5b601c5415610afb5760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610aab565b43601c5542601d55565b610b0e33611527565b610b2a5760405162461bcd60e51b8152600401610aab90612358565b6022805460ff191694151594909417909355602491909155600060255560265560275543602855565b610b5c33611527565b610b785760405162461bcd60e51b8152600401610aab90612358565b6012859055601384905560148390556015829055610ba282610b9c85818989611551565b90611551565b6016556017819055610bb5600482612393565b60165410610bc257600080fd5b5050505050565b600080546001600160a01b03163314610bf45760405162461bcd60e51b8152600401610aab906123b5565b506001600160a01b03811660009081526011602052604090205460ff165b919050565b336000818152600d602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c729086815260200190565b60405180910390a350600192915050565b600082610c8f836111bd565b119392505050565b610ca033611527565b610cbc5760405162461bcd60e51b8152600401610aab90612358565b601891909155601955565b610cd033611527565b610cec5760405162461bcd60e51b8152600401610aab90612358565b6002610cf88385612393565b11158015610d0557508183115b610d0e57600080fd5b601e92909255601f55602155565b6009546001600160a01b0384166000908152600d60209081526040808320338452909152812054909114610dcb576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600d82528381203382529091529190912054610da691849061155d565b6001600160a01b0385166000908152600d602090815260408083203384529091529020555b610dd6848484611589565b90505b9392505050565b6005546001600160a01b03166000908152600c6020526040812054610e2d906004546001600160a01b03166000908152600c6020526040902054610e279060095490611976565b90611976565b905090565b610e3b33611527565b610e575760405162461bcd60e51b8152600401610aab90612358565b6029546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610ea557600080fd5b505af1158015610eb9573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610eeb5760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000610f1a82600954610c17565b92915050565b610f2933611527565b610f455760405162461bcd60e51b8152600401610aab90612358565b6103e8600954610f559190612393565b811015610f6157600080fd5b600a55565b610f6f33611527565b610f8b5760405162461bcd60e51b8152600401610aab90612358565b6103e8600954610f9b9190612393565b811015610fa757600080fd5b600b55565b610fb533611527565b610fd15760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110265760405162461bcd60e51b8152600401610aab906123b5565b6040514790339082156108fc029083906000818181858888f19350505050158015611055573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146110835760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152601160205260409020805460ff19166001179055565b6110b033611527565b6110cc5760405162461bcd60e51b8152600401610aab90612358565b620b71b081106110db57600080fd5b602b55565b6110e933611527565b6111055760405162461bcd60e51b8152600401610aab90612358565b600780546001600160a01b039384166001600160a01b03199182161790915560088054929093169116179055565b6000610dd9338484611589565b61114933611527565b6111655760405162461bcd60e51b8152600401610aab90612358565b6000602055565b6000546001600160a01b031633146111965760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610f1a6111ca610de0565b601b546001600160a01b03166000908152600c60205260409020546111fb906111f4906002611982565b8590611982565b90611545565b61120a33611527565b6112265760405162461bcd60e51b8152600401610aab90612358565b602c805460ff191692151592909217909155602d55565b6000546001600160a01b031633146112675760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601c54600161129a91906123d5565b106112a757505060165490565b81156112b557505060165490565b505060165490565b6000546001600160a01b031633146112e75760405162461bcd60e51b8152600401610aab906123b5565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61135c33611527565b6113785760405162461bcd60e51b8152600401610aab90612358565b60045461138f9083906001600160a01b031661198e565b8015611055574260209081556021546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b6113dc33611527565b6113f85760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b038216301480159061141f5750601b546001600160a01b03838116911614155b61142857600080fd5b6001600160a01b0382166000908152601060205260409020805460ff1916821580159190911790915561148e57602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610e8b565b6029546001600160a01b038381166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610e8b565b6114e033611527565b6114fc5760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610dd98284612393565b6000610dd982846123d5565b600081848411156115815760405162461bcd60e51b8152600401610aab9190612132565b505050900390565b602e5460009060ff16156115a9576115a2848484611a97565b9050610dd9565b601b547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03868116911614806115ef5750816001600160a01b0316856001600160a01b0316145b90506115fb8685611b3a565b8015801561162257506001600160a01b03851660009081526011602052604090205460ff16155b1561169b57600b546001600160a01b0386166000908152600c602052604090205461164e9086906123d5565b1061169b5760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610aab565b80156116cb576116a9611ba3565b156116b6576116b6611bf2565b6116be611f51565b156116cb576116cb611fac565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600c909152919091205461171d91869061155d565b6001600160a01b0387166000908152600c6020908152604080832093909355600e90529081205460ff1615611752578461175d565b61175d878787611ff3565b6001600160a01b0387166000908152600c60205260409020549091506117839082611551565b6001600160a01b038088166000908152600c6020908152604080832094909455918a1681526010909152205460ff16611827576029546001600160a01b038881166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561181457600080fd5b505af1925050508015611825575060015b505b6001600160a01b03861660009081526010602052604090205460ff166118b8576029546001600160a01b038781166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a557600080fd5b505af19250505080156118b6575060015b505b602954602b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916118f09160040190815260200190565b600060405180830381600087803b15801561190a57600080fd5b505af192505050801561191b575060015b50856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196191815260200190565b60405180910390a35060019695505050505050565b6000610dd982846123ed565b6000610dd98284612404565b602e805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b0316918391506000906119dc576119dc612423565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a1057611a10612423565b6001600160a01b039283166020918202929092010152601a5460405163c57559dd60e01b815291169063c57559dd908590611a569060009086908890429060040161247d565b6000604051808303818588803b158015611a6f57600080fd5b505af1158015611a83573d6000803e3d6000fd5b5050602e805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600c90915291822054611ae891849061155d565b6001600160a01b038086166000908152600c60205260408082209390935590851681522054611b179083611551565b6001600160a01b0384166000908152600c60205260409020555060019392505050565b600a5481111580611b6357506001600160a01b0382166000908152600f602052604090205460ff165b6110555760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610aab565b601b546000906001600160a01b03163314801590611bc45750602e5460ff16155b8015611bd25750602c5460ff165b8015610e2d575050602d54306000908152600c6020526040902054101590565b602e805460ff19166001179055601854601954600091611c1191610c83565b611c1d57601254611c20565b60005b90506000611c4460026111fb6016546111fb86602d5461198290919063ffffffff16565b90506000611c5d82602d5461197690919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611c9757611c97612423565b6001600160a01b039283166020918202929092010152600354825191169082906001908110611cc857611cc8612423565b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611d129086906000908790309042906004016124b2565b600060405180830381600087803b158015611d2c57600080fd5b505af1158015611d40573d6000803e3d6000fd5b505050506000611d59824761197690919063ffffffff16565b90506000611d74611d6b886002611545565b60165490611976565b90506000611d8960026111fb8481878d611982565b90506000611da6836111fb6014548761198290919063ffffffff16565b90506000611dc3846111fb6015548861198290919063ffffffff16565b9050602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e1557600080fd5b505af193505050508015611e27575060015b506008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e62573d6000803e3d6000fd5b508815611f3b57601a54600754604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c40160606040518083038185885af1158015611ed9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611efe91906124ee565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602e805460ff191690555050505050505050565b601b546000906001600160a01b03163314801590611f725750602e5460ff16155b8015611f80575060225460ff165b8015611f9b575043602754602854611f9891906123d5565b11155b8015610e2d57505060265447101590565b602654600454611fc591906001600160a01b031661198e565b43602855602654602554611fd891611551565b60258190556024541015611ff1576022805460ff191690555b565b601754601b54600091829161202591906111fb9061201e906001600160a01b03898116911614611288565b8690611982565b306000908152600c60205260409020549091506120429082611551565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120939085815260200190565b60405180910390a36120a58382611976565b95945050505050565b80358015158114610c1257600080fd5b600080600080608085870312156120d457600080fd5b6120dd856120ae565b966020860135965060408601359560600135945092505050565b600080600080600060a0868803121561210f57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600060208083528351808285015260005b8181101561215f57858101830151858201604001528201612143565b81811115612171576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461219c57600080fd5b50565b6000602082840312156121b157600080fd5b8135610dd981612187565b600080604083850312156121cf57600080fd5b82356121da81612187565b946020939093013593505050565b600080604083850312156121fb57600080fd5b50508035926020909101359150565b60008060006060848603121561221f57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561224b57600080fd5b833561225681612187565b9250602084013561226681612187565b929592945050506040919091013590565b60006020828403121561228957600080fd5b5035919050565b600080604083850312156122a357600080fd5b82356122ae81612187565b91506122bc602084016120ae565b90509250929050565b600080604083850312156122d857600080fd5b82356122e381612187565b915060208301356122f381612187565b809150509250929050565b6000806040838503121561231157600080fd5b6121da836120ae565b60006020828403121561232c57600080fd5b610dd9826120ae565b6000806040838503121561234857600080fd5b823591506122bc602084016120ae565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826123b057634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600082198211156123e8576123e861237d565b500190565b6000828210156123ff576123ff61237d565b500390565b600081600019048311821515161561241e5761241e61237d565b500290565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156124725781516001600160a01b03168752958201959082019060010161244d565b509495945050505050565b8481526080602082015260006124966080830186612439565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a0604082015260006124d160a0830186612439565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561250357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202a577085f41eb761e48955e77bad5fd8bf108ee5565e41813bd62d9e917622c264736f6c634300080b00336080604052600180546001600160a01b031990811673959b88966fc5b261df8359961357d34f4ee27b4a179091556002805490911673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55678ac7230489e80000600e5534801561007d57600080fd5b50604051610e2b380380610e2b83398101604081905261009c916100f6565b6001600160a01b0381166100c4577360ae616a2155ee3d9a68541ba4544862310933d46100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610126565b60006020828403121561010857600080fd5b81516001600160a01b038116811461011f57600080fd5b9392505050565b610cf6806101356000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610ace565b610285565b005b34801561013957600080fd5b506100f8610148366004610af8565b6103fd565b34801561015957600080fd5b5061012b610168366004610b13565b610486565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610af8565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104a8565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b6106d7565b34801561025b57600080fd5b5061012b61026a366004610b35565b6106e2565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c3826107e2565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b1561038257610382826108fe565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610a13565b90610a26565b6008556001600160a01b03821660009081526007602052604090208190556103da81610a32565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461042257506000919050565b6001600160a01b03821660009081526007602052604081205461044490610a32565b6001600160a01b038416600090815260076020526040902060010154909150808211610474575060009392505050565b61047e8282610a13565b949350505050565b6000546001600160a01b0316331461049d57600080fd5b600d91909155600e55565b6000546001600160a01b031633146104bf57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190610b4e565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061057257610572610b67565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105a2576105a2610b67565b6001600160a01b03928316602091820292909201015260035460405163c57559dd60e01b815291169063c57559dd9034906105e890600090869030904290600401610b7d565b6000604051808303818588803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061069593508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610b4e565b90610a13565b6009549091506106a59082610a26565b600955600854600c546106cf916106c6916106c09085610a55565b90610a61565b600b5490610a26565b600b55505050565b6106e0336107e2565b565b6000546001600160a01b031633146106f957600080fd5b60045480610705575050565b6000805a905060005b848310801561071c57508381105b156107db5783600f5410610730576000600f555b6107626004600f548154811061074857610748610b67565b6000918252602090912001546001600160a01b0316610a6d565b15610799576107996004600f548154811061077f5761077f610b67565b6000918252602090912001546001600160a01b03166107e2565b6107ae6107a75a8490610a13565b8490610a26565b92505a600f805491935060006107c383610bfd565b919050555080806107d390610bfd565b91505061070e565b5050505050565b6001600160a01b0381166000908152600760205260409020546108025750565b600061080d826103fd565b905080156108fa57600a546108229082610a26565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089c9190610c18565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546108d09082610a26565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610a32565b5050565b6004805461090e90600190610c3a565b8154811061091e5761091e610b67565b60009182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061095c5761095c610b67565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916109a890600190610c3a565b815481106109b8576109b8610b67565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806109ee576109ee610c51565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610a1f8284610c3a565b9392505050565b6000610a1f8284610c67565b6000610a4f600c546106c0600b5485610a5590919063ffffffff16565b92915050565b6000610a1f8284610c7f565b6000610a1f8284610c9e565b600d546001600160a01b03821660009081526006602052604081205490914291610a979190610c67565b108015610a4f5750600e54610aab836103fd565b1192915050565b80356001600160a01b0381168114610ac957600080fd5b919050565b60008060408385031215610ae157600080fd5b610aea83610ab2565b946020939093013593505050565b600060208284031215610b0a57600080fd5b610a1f82610ab2565b60008060408385031215610b2657600080fd5b50508035926020909101359150565b600060208284031215610b4757600080fd5b5035919050565b600060208284031215610b6057600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610bc75784516001600160a01b031683529383019391830191600101610ba2565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415610c1157610c11610be7565b5060010190565b600060208284031215610c2a57600080fd5b81518015158114610a1f57600080fd5b600082821015610c4c57610c4c610be7565b500390565b634e487b7160e01b600052603160045260246000fd5b60008219821115610c7a57610c7a610be7565b500190565b6000816000190483118215151615610c9957610c99610be7565b500290565b600082610cbb57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e006bc64de3f24260d1c2b45fc43a2688c4970958e8d23c9e0ce44634275e44164736f6c634300080b003300000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000f3909694c2c409434d8c32c73fcd5cfe7bcdceb9000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Deployed Bytecode
0x60806040526004361061036f5760003560e01c806382247ec0116101c6578063d51ed1c8116100f7578063f1f3bca311610095578063f708a64f1161006f578063f708a64f14610a06578063f84ba65d14610a26578063f887ea4014610a46578063fe9fbb8014610a6657600080fd5b8063f1f3bca3146109a6578063f2fde38b146109c6578063f5cfec0a146109e657600080fd5b8063df20fd49116100d1578063df20fd4914610922578063e91f214e14610942578063e96fada214610966578063f0b37c041461098657600080fd5b8063d51ed1c8146108a7578063d806d12f146108c7578063dd62ed3e146108dc57600080fd5b8063a8aa1b3111610164578063b6a5d7de1161013e578063b6a5d7de1461083b578063bf56b3711461085b578063c6d2577d14610871578063ca33e64c1461088757600080fd5b8063a8aa1b31146107e6578063a9059cbb14610806578063b210b06d1461082657600080fd5b806395d89b41116101a057806395d89b41146103fb5780639d1944f514610786578063a4b45c00146107a6578063a51af4c5146107c657600080fd5b806382247ec014610732578063893d20e81461074857806389ef69f61461076657600080fd5b80632d48e896116102a05780635d0044ca1161023e5780637088fb7f116102185780637088fb7f1461069957806370a08231146106ae57806373b295c2146106e45780637d1db4a51461071c57600080fd5b80635d0044ca1461063f578063658d4b7f1461065f5780636ddd17131461067f57600080fd5b80633425c0011161027a5780633425c001146105c55780633bb8a8d4146105e5578063571ac8b0146105ff5780635c85974f1461061f57600080fd5b80632d48e8961461055a5780632f54bf6e1461057a578063313ce567146105a957600080fd5b80631161ae391161030d5780632375ce40116102e75780632375ce40146104d557806323b872dd146104f5578063296020e7146105155780632b112e491461054557600080fd5b80631161ae391461048057806318160ddd146104a0578063201e7991146104b557600080fd5b806304a66b481161034957806304a66b48146103db57806306fdde03146103fb57806307c89fe814610430578063095ea7b31461046057600080fd5b806301339c211461037b5780630445b66714610392578063048c7baf146103bb57600080fd5b3661037657005b600080fd5b34801561038757600080fd5b50610390610a86565b005b34801561039e57600080fd5b506103a8602d5481565b6040519081526020015b60405180910390f35b3480156103c757600080fd5b506103906103d63660046120be565b610b05565b3480156103e757600080fd5b506103906103f63660046120f7565b610b53565b34801561040757600080fd5b506040805180820182526006815265556e6950617960d01b602082015290516103b29190612132565b34801561043c57600080fd5b5061045061044b36600461219f565b610bc9565b60405190151581526020016103b2565b34801561046c57600080fd5b5061045061047b3660046121bc565b610c17565b34801561048c57600080fd5b5061045061049b3660046121e8565b610c83565b3480156104ac57600080fd5b506009546103a8565b3480156104c157600080fd5b506103906104d03660046121e8565b610c97565b3480156104e157600080fd5b506103906104f036600461220a565b610cc7565b34801561050157600080fd5b50610450610510366004612236565b610d1c565b34801561052157600080fd5b5061045061053036600461219f565b60116020526000908152604090205460ff1681565b34801561055157600080fd5b506103a8610de0565b34801561056657600080fd5b506103906105753660046121e8565b610e32565b34801561058657600080fd5b5061045061059536600461219f565b6000546001600160a01b0391821691161490565b3480156105b557600080fd5b50604051600981526020016103b2565b3480156105d157600080fd5b506103906105e036600461219f565b610ec1565b3480156105f157600080fd5b506022546104509060ff1681565b34801561060b57600080fd5b5061045061061a36600461219f565b610f0c565b34801561062b57600080fd5b5061039061063a366004612277565b610f20565b34801561064b57600080fd5b5061039061065a366004612277565b610f66565b34801561066b57600080fd5b5061039061067a366004612290565b610fac565b34801561068b57600080fd5b50602c546104509060ff1681565b3480156106a557600080fd5b50610390610ffc565b3480156106ba57600080fd5b506103a86106c936600461219f565b6001600160a01b03166000908152600c602052604090205490565b3480156106f057600080fd5b50600354610704906001600160a01b031681565b6040516001600160a01b0390911681526020016103b2565b34801561072857600080fd5b506103a8600a5481565b34801561073e57600080fd5b506103a8600b5481565b34801561075457600080fd5b506000546001600160a01b0316610704565b34801561077257600080fd5b5061039061078136600461219f565b611059565b34801561079257600080fd5b506103906107a1366004612277565b6110a7565b3480156107b257600080fd5b506103906107c13660046122c5565b6110e0565b3480156107d257600080fd5b50602a54610704906001600160a01b031681565b3480156107f257600080fd5b50601b54610704906001600160a01b031681565b34801561081257600080fd5b506104506108213660046121bc565b611133565b34801561083257600080fd5b50610390611140565b34801561084757600080fd5b5061039061085636600461219f565b61116c565b34801561086757600080fd5b506103a8601c5481565b34801561087d57600080fd5b506103a8601d5481565b34801561089357600080fd5b50600754610704906001600160a01b031681565b3480156108b357600080fd5b506103a86108c2366004612277565b6111bd565b3480156108d357600080fd5b506016546103a8565b3480156108e857600080fd5b506103a86108f73660046122c5565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561092e57600080fd5b5061039061093d3660046122fe565b611201565b34801561094e57600080fd5b506103a86fffffffffffffffffffffffffffffffff81565b34801561097257600080fd5b50600854610704906001600160a01b031681565b34801561099257600080fd5b506103906109a136600461219f565b61123d565b3480156109b257600080fd5b506103a86109c136600461231a565b611288565b3480156109d257600080fd5b506103906109e136600461219f565b6112bd565b3480156109f257600080fd5b50610390610a01366004612335565b611353565b348015610a1257600080fd5b50610390610a21366004612290565b6113d3565b348015610a3257600080fd5b50610390610a41366004612290565b6114d7565b348015610a5257600080fd5b50601a54610704906001600160a01b031681565b348015610a7257600080fd5b50610450610a8136600461219f565b611527565b610a8f33611527565b610ab45760405162461bcd60e51b8152600401610aab90612358565b60405180910390fd5b601c5415610afb5760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610aab565b43601c5542601d55565b610b0e33611527565b610b2a5760405162461bcd60e51b8152600401610aab90612358565b6022805460ff191694151594909417909355602491909155600060255560265560275543602855565b610b5c33611527565b610b785760405162461bcd60e51b8152600401610aab90612358565b6012859055601384905560148390556015829055610ba282610b9c85818989611551565b90611551565b6016556017819055610bb5600482612393565b60165410610bc257600080fd5b5050505050565b600080546001600160a01b03163314610bf45760405162461bcd60e51b8152600401610aab906123b5565b506001600160a01b03811660009081526011602052604090205460ff165b919050565b336000818152600d602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c729086815260200190565b60405180910390a350600192915050565b600082610c8f836111bd565b119392505050565b610ca033611527565b610cbc5760405162461bcd60e51b8152600401610aab90612358565b601891909155601955565b610cd033611527565b610cec5760405162461bcd60e51b8152600401610aab90612358565b6002610cf88385612393565b11158015610d0557508183115b610d0e57600080fd5b601e92909255601f55602155565b6009546001600160a01b0384166000908152600d60209081526040808320338452909152812054909114610dcb576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600d82528381203382529091529190912054610da691849061155d565b6001600160a01b0385166000908152600d602090815260408083203384529091529020555b610dd6848484611589565b90505b9392505050565b6005546001600160a01b03166000908152600c6020526040812054610e2d906004546001600160a01b03166000908152600c6020526040902054610e279060095490611976565b90611976565b905090565b610e3b33611527565b610e575760405162461bcd60e51b8152600401610aab90612358565b6029546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610ea557600080fd5b505af1158015610eb9573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610eeb5760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000610f1a82600954610c17565b92915050565b610f2933611527565b610f455760405162461bcd60e51b8152600401610aab90612358565b6103e8600954610f559190612393565b811015610f6157600080fd5b600a55565b610f6f33611527565b610f8b5760405162461bcd60e51b8152600401610aab90612358565b6103e8600954610f9b9190612393565b811015610fa757600080fd5b600b55565b610fb533611527565b610fd15760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110265760405162461bcd60e51b8152600401610aab906123b5565b6040514790339082156108fc029083906000818181858888f19350505050158015611055573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146110835760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152601160205260409020805460ff19166001179055565b6110b033611527565b6110cc5760405162461bcd60e51b8152600401610aab90612358565b620b71b081106110db57600080fd5b602b55565b6110e933611527565b6111055760405162461bcd60e51b8152600401610aab90612358565b600780546001600160a01b039384166001600160a01b03199182161790915560088054929093169116179055565b6000610dd9338484611589565b61114933611527565b6111655760405162461bcd60e51b8152600401610aab90612358565b6000602055565b6000546001600160a01b031633146111965760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610f1a6111ca610de0565b601b546001600160a01b03166000908152600c60205260409020546111fb906111f4906002611982565b8590611982565b90611545565b61120a33611527565b6112265760405162461bcd60e51b8152600401610aab90612358565b602c805460ff191692151592909217909155602d55565b6000546001600160a01b031633146112675760405162461bcd60e51b8152600401610aab906123b5565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601c54600161129a91906123d5565b106112a757505060165490565b81156112b557505060165490565b505060165490565b6000546001600160a01b031633146112e75760405162461bcd60e51b8152600401610aab906123b5565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61135c33611527565b6113785760405162461bcd60e51b8152600401610aab90612358565b60045461138f9083906001600160a01b031661198e565b8015611055574260209081556021546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b6113dc33611527565b6113f85760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b038216301480159061141f5750601b546001600160a01b03838116911614155b61142857600080fd5b6001600160a01b0382166000908152601060205260409020805460ff1916821580159190911790915561148e57602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610e8b565b6029546001600160a01b038381166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610e8b565b6114e033611527565b6114fc5760405162461bcd60e51b8152600401610aab90612358565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610dd98284612393565b6000610dd982846123d5565b600081848411156115815760405162461bcd60e51b8152600401610aab9190612132565b505050900390565b602e5460009060ff16156115a9576115a2848484611a97565b9050610dd9565b601b547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03868116911614806115ef5750816001600160a01b0316856001600160a01b0316145b90506115fb8685611b3a565b8015801561162257506001600160a01b03851660009081526011602052604090205460ff16155b1561169b57600b546001600160a01b0386166000908152600c602052604090205461164e9086906123d5565b1061169b5760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610aab565b80156116cb576116a9611ba3565b156116b6576116b6611bf2565b6116be611f51565b156116cb576116cb611fac565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600c909152919091205461171d91869061155d565b6001600160a01b0387166000908152600c6020908152604080832093909355600e90529081205460ff1615611752578461175d565b61175d878787611ff3565b6001600160a01b0387166000908152600c60205260409020549091506117839082611551565b6001600160a01b038088166000908152600c6020908152604080832094909455918a1681526010909152205460ff16611827576029546001600160a01b038881166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561181457600080fd5b505af1925050508015611825575060015b505b6001600160a01b03861660009081526010602052604090205460ff166118b8576029546001600160a01b038781166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a557600080fd5b505af19250505080156118b6575060015b505b602954602b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916118f09160040190815260200190565b600060405180830381600087803b15801561190a57600080fd5b505af192505050801561191b575060015b50856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196191815260200190565b60405180910390a35060019695505050505050565b6000610dd982846123ed565b6000610dd98284612404565b602e805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b0316918391506000906119dc576119dc612423565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a1057611a10612423565b6001600160a01b039283166020918202929092010152601a5460405163c57559dd60e01b815291169063c57559dd908590611a569060009086908890429060040161247d565b6000604051808303818588803b158015611a6f57600080fd5b505af1158015611a83573d6000803e3d6000fd5b5050602e805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600c90915291822054611ae891849061155d565b6001600160a01b038086166000908152600c60205260408082209390935590851681522054611b179083611551565b6001600160a01b0384166000908152600c60205260409020555060019392505050565b600a5481111580611b6357506001600160a01b0382166000908152600f602052604090205460ff165b6110555760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610aab565b601b546000906001600160a01b03163314801590611bc45750602e5460ff16155b8015611bd25750602c5460ff165b8015610e2d575050602d54306000908152600c6020526040902054101590565b602e805460ff19166001179055601854601954600091611c1191610c83565b611c1d57601254611c20565b60005b90506000611c4460026111fb6016546111fb86602d5461198290919063ffffffff16565b90506000611c5d82602d5461197690919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611c9757611c97612423565b6001600160a01b039283166020918202929092010152600354825191169082906001908110611cc857611cc8612423565b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611d129086906000908790309042906004016124b2565b600060405180830381600087803b158015611d2c57600080fd5b505af1158015611d40573d6000803e3d6000fd5b505050506000611d59824761197690919063ffffffff16565b90506000611d74611d6b886002611545565b60165490611976565b90506000611d8960026111fb8481878d611982565b90506000611da6836111fb6014548761198290919063ffffffff16565b90506000611dc3846111fb6015548861198290919063ffffffff16565b9050602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e1557600080fd5b505af193505050508015611e27575060015b506008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e62573d6000803e3d6000fd5b508815611f3b57601a54600754604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c40160606040518083038185885af1158015611ed9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611efe91906124ee565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602e805460ff191690555050505050505050565b601b546000906001600160a01b03163314801590611f725750602e5460ff16155b8015611f80575060225460ff165b8015611f9b575043602754602854611f9891906123d5565b11155b8015610e2d57505060265447101590565b602654600454611fc591906001600160a01b031661198e565b43602855602654602554611fd891611551565b60258190556024541015611ff1576022805460ff191690555b565b601754601b54600091829161202591906111fb9061201e906001600160a01b03898116911614611288565b8690611982565b306000908152600c60205260409020549091506120429082611551565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120939085815260200190565b60405180910390a36120a58382611976565b95945050505050565b80358015158114610c1257600080fd5b600080600080608085870312156120d457600080fd5b6120dd856120ae565b966020860135965060408601359560600135945092505050565b600080600080600060a0868803121561210f57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600060208083528351808285015260005b8181101561215f57858101830151858201604001528201612143565b81811115612171576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461219c57600080fd5b50565b6000602082840312156121b157600080fd5b8135610dd981612187565b600080604083850312156121cf57600080fd5b82356121da81612187565b946020939093013593505050565b600080604083850312156121fb57600080fd5b50508035926020909101359150565b60008060006060848603121561221f57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561224b57600080fd5b833561225681612187565b9250602084013561226681612187565b929592945050506040919091013590565b60006020828403121561228957600080fd5b5035919050565b600080604083850312156122a357600080fd5b82356122ae81612187565b91506122bc602084016120ae565b90509250929050565b600080604083850312156122d857600080fd5b82356122e381612187565b915060208301356122f381612187565b809150509250929050565b6000806040838503121561231157600080fd5b6121da836120ae565b60006020828403121561232c57600080fd5b610dd9826120ae565b6000806040838503121561234857600080fd5b823591506122bc602084016120ae565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826123b057634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600082198211156123e8576123e861237d565b500190565b6000828210156123ff576123ff61237d565b500390565b600081600019048311821515161561241e5761241e61237d565b500290565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156124725781516001600160a01b03168752958201959082019060010161244d565b509495945050505050565b8481526080602082015260006124966080830186612439565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a0604082015260006124d160a0830186612439565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561250357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202a577085f41eb761e48955e77bad5fd8bf108ee5565e41813bd62d9e917622c264736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000f3909694c2c409434d8c32c73fcd5cfe7bcdceb9000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x60aE616a2155Ee3d9A68541Ba4544862310933d4
Arg [1] : _marketingAddress (address): 0xF3909694c2c409434d8C32C73fCD5cfE7BcDCEB9
Arg [2] : _wAVAX (address): 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
Arg [1] : 000000000000000000000000f3909694c2c409434d8c32c73fcd5cfe7bcdceb9
Arg [2] : 000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Deployed Bytecode Sourcemap
12746:16359:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25628:187;;;;;;;;;;;;;:::i;:::-;;15029:50;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;15029:50:0;;;;;;;;24813:359;;;;;;;;;;-1:-1:-1;24813:359:0;;;;;:::i;:::-;;:::i;27078:496::-;;;;;;;;;;-1:-1:-1;27078:496:0;;;;;:::i;:::-;;:::i;16534:80::-;;;;;;;;;;-1:-1:-1;16606:5:0;;;;;;;;;;;-1:-1:-1;;;16606:5:0;;;;16534:80;;;;16606:5;16534:80;:::i;26959:111::-;;;;;;;;;;-1:-1:-1;26959:111:0;;;;;:::i;:::-;;:::i;:::-;;;2365:14:1;;2358:22;2340:41;;2328:2;2313:18;26959:111:0;2200:187:1;17037:216:0;;;;;;;;;;-1:-1:-1;17037:216:0;;;;;:::i;:::-;;:::i;28833:150::-;;;;;;;;;;-1:-1:-1;28833:150:0;;;;;:::i;:::-;;:::i;16264:88::-;;;;;;;;;;-1:-1:-1;16337:12:0;;16264:88;;27982:183;;;;;;;;;;-1:-1:-1;27982:183:0;;;;;:::i;:::-;;:::i;25180:342::-;;;;;;;;;;-1:-1:-1;25180:342:0;;;;;:::i;:::-;;:::i;17550:365::-;;;;;;;;;;-1:-1:-1;17550:365:0;;;;;:::i;:::-;;:::i;13956:40::-;;;;;;;;;;-1:-1:-1;13956:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;28508:142;;;;;;;;;;;;;:::i;28173:183::-;;;;;;;;;;-1:-1:-1;28173:183:0;;;;;:::i;:::-;;:::i;4556:103::-;;;;;;;;;;-1:-1:-1;4556:103:0;;;;;:::i;:::-;4611:4;4646:5;-1:-1:-1;;;;;4635:16:0;;;4646:5;;4635:16;;4556:103;16358:80;;;;;;;;;;-1:-1:-1;16358:80:0;;13507:1;3889:36:1;;3877:2;3862:18;16358:80:0;3747:184:1;26853:94:0;;;;;;;;;;-1:-1:-1;26853:94:0;;;;;:::i;:::-;;:::i;14613:38::-;;;;;;;;;;-1:-1:-1;14613:38:0;;;;;;;;17261:117;;;;;;;;;;-1:-1:-1;17261:117:0;;;;;:::i;:::-;;:::i;25974:145::-;;;;;;;;;;-1:-1:-1;25974:145:0;;;;;:::i;:::-;;:::i;25821:::-;;;;;;;;;;-1:-1:-1;25821:145:0;;;;;:::i;:::-;;:::i;26482:120::-;;;;;;;;;;-1:-1:-1;26482:120:0;;;;;:::i;:::-;;:::i;14992:30::-;;;;;;;;;;-1:-1:-1;14992:30:0;;;;;;;;24661:142;;;;;;;;;;;;;:::i;16785:105::-;;;;;;;;;;-1:-1:-1;16785:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;16869:18:0;16851:7;16869:18;;;:9;:18;;;;;;;16785:105;12950:65;;;;;;;;;;-1:-1:-1;12950:65:0;;;;-1:-1:-1;;;;;12950:65:0;;;;;;-1:-1:-1;;;;;4605:32:1;;;4587:51;;4575:2;4560:18;12950:65:0;4441:203:1;13588:50:0;;;;;;;;;;;;;;;;13642:48;;;;;;;;;;;;;;;;16620:78;;;;;;;;;;-1:-1:-1;16672:7:0;16690:5;-1:-1:-1;;;;;16690:5:0;16620:78;;26750:91;;;;;;;;;;-1:-1:-1;26750:91:0;;;;;:::i;:::-;;:::i;28364:136::-;;;;;;;;;;-1:-1:-1;28364:136:0;;;;;:::i;:::-;;:::i;27582:228::-;;;;;;;;;;-1:-1:-1;27582:228:0;;;;;:::i;:::-;;:::i;14910:33::-;;;;;;;;;;-1:-1:-1;14910:33:0;;;;-1:-1:-1;;;;;14910:33:0;;;14318:19;;;;;;;;;;-1:-1:-1;14318:19:0;;;;-1:-1:-1;;;;;14318:19:0;;;17386:156;;;;;;;;;;-1:-1:-1;17386:156:0;;;;;:::i;:::-;;:::i;23862:105::-;;;;;;;;;;;;;:::i;4229:94::-;;;;;;;;;;-1:-1:-1;4229:94:0;;;;;:::i;:::-;;:::i;14346:25::-;;;;;;;;;;;;;;;;14378:34;;;;;;;;;;;;;;;;13227:79;;;;;;;;;;-1:-1:-1;13227:79:0;;;;-1:-1:-1;;;;;13227:79:0;;;28658:167;;;;;;;;;;-1:-1:-1;28658:167:0;;;;;:::i;:::-;;:::i;20241:691::-;;;;;;;;;;-1:-1:-1;20916:8:0;;20241:691;;16896:133;;;;;;;;;;-1:-1:-1;16896:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;16998:19:0;;;16980:7;16998:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16896:133;27818:156;;;;;;;;;;-1:-1:-1;27818:156:0;;;;;:::i;:::-;;:::i;12824:48::-;;;;;;;;;;-1:-1:-1;12824:48:0;12855:17;12824:48;;13313:78;;;;;;;;;;-1:-1:-1;13313:78:0;;;;-1:-1:-1;;;;;13313:78:0;;;4399:97;;;;;;;;;;-1:-1:-1;4399:97:0;;;;;:::i;:::-;;:::i;20029:204::-;;;;;;;;;;-1:-1:-1;20029:204:0;;;;;:::i;:::-;;:::i;4956:173::-;;;;;;;;;;-1:-1:-1;4956:173:0;;;;;:::i;:::-;;:::i;23538:316::-;;;;;;;;;;-1:-1:-1;23538:316:0;;;;;:::i;:::-;;:::i;26127:347::-;;;;;;;;;;-1:-1:-1;26127:347:0;;;;;:::i;:::-;;:::i;26610:128::-;;;;;;;;;;-1:-1:-1;26610:128:0;;;;;:::i;:::-;;:::i;14287:24::-;;;;;;;;;;-1:-1:-1;14287:24:0;;;;-1:-1:-1;;;;;14287:24:0;;;4730:107;;;;;;;;;;-1:-1:-1;4730:107:0;;;;;:::i;:::-;;:::i;25628:187::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;;;;;;;;;25683:10:::1;::::0;:15;25675:48:::1;;;::::0;-1:-1:-1;;;25675:48:0;;6761:2:1;25675:48:0::1;::::0;::::1;6743:21:1::0;6800:2;6780:18;;;6773:30;-1:-1:-1;;;6819:18:1;;;6812:50;6879:18;;25675:48:0::1;6559:344:1::0;25675:48:0::1;25747:12;25734:10;:25:::0;25792:15:::1;25770:19;:37:::0;25628:187::o;24813:359::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;24939:18:::1;:29:::0;;-1:-1:-1;;24939:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;24979:14:::1;:21:::0;;;;-1:-1:-1;25011:22:0::1;:26:::0;25048:17:::1;:27:::0;25086:22:::1;:32:::0;25152:12:::1;25129:20;:35:::0;24813:359::o;27078:496::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;27242:12:::1;:28:::0;;;27281:10:::1;:24:::0;;;27316:13:::1;:30:::0;;;27357:12:::1;:28:::0;;;27407:69:::1;27372:13:::0;27407:50:::1;27332:14:::0;27407:50;27257:13;27294:11;27407:17:::1;:30::i;:::-;:34:::0;::::1;:50::i;:69::-;27396:8;:80:::0;27487:14:::1;:32:::0;;;27549:16:::1;27564:1;27504:15:::0;27549:16:::1;:::i;:::-;27538:8;;:27;27530:36;;;::::0;::::1;;27078:496:::0;;;;;:::o;26959:111::-;27024:4;4646:5;;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;27047:15:0;::::1;;::::0;;;:7:::1;:15;::::0;;;;;::::1;;3977:1;26959:111:::0;;;:::o;17037:216::-;17141:10;17112:4;17129:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17129:32:0;;;;;;;;;;:41;;;17186:37;17112:4;;17129:32;;17186:37;;;;17164:6;160:25:1;;148:2;133:18;;14:177;17186:37:0;;;;;;;;-1:-1:-1;17241:4:0;17037:216;;;;:::o;28833:150::-;28913:4;28969:6;28937:29;28957:8;28937:19;:29::i;:::-;:38;;28833:150;-1:-1:-1;;;28833:150:0:o;27982:183::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;28080:15:::1;:25:::0;;;;28116:26:::1;:41:::0;27982:183::o;25180:342::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;25340:1:::1;25313:23;25325:11:::0;25313:9;:23:::1;:::i;:::-;:28;;:55;;;;;25357:11;25345:9;:23;25313:55;25305:64;;;::::0;::::1;;25380:26;:38:::0;;;;25429:28:::1;:42:::0;25482:23:::1;:32:::0;25180:342::o;17550:365::-;17705:12;;-1:-1:-1;;;;;17670:19:0;;17650:4;17670:19;;;:11;:19;;;;;;;;17690:10;17670:31;;;;;;;;17650:4;;17670:47;17667:181;;17767:69;;;;;;;;;;;-1:-1:-1;;;17767:69:0;;;;;;;;-1:-1:-1;;;;;17767:19:0;;-1:-1:-1;17767:19:0;;;:11;:19;;;;;17787:10;17767:31;;;;;;;;;;:69;;17803:6;;17767:35;:69::i;:::-;-1:-1:-1;;;;;17733:19:0;;;;;;:11;:19;;;;;;;;17753:10;17733:31;;;;;;;:103;17667:181;17867:40;17881:6;17889:9;17900:6;17867:13;:40::i;:::-;17860:47;;17550:365;;;;;;:::o;28508:142::-;28636:4;;-1:-1:-1;;;;;28636:4:0;28561:7;16869:18;;;:9;:18;;;;;;28588:54;;28615:4;;-1:-1:-1;;;;;28615:4:0;16851:7;16869:18;;;:9;:18;;;;;;28588:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;28581:61;;28508:142;:::o;28173:183::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;28283:11:::1;::::0;:65:::1;::::0;-1:-1:-1;;;28283:65:0;;::::1;::::0;::::1;7770:25:1::0;;;7811:18;;;7804:34;;;-1:-1:-1;;;;;28283:11:0;;::::1;::::0;:35:::1;::::0;7743:18:1;;28283:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28173:183:::0;;:::o;26853:94::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26916:15:0::1;26934:5;26916:15:::0;;;:7:::1;:15;::::0;;;;:23;;-1:-1:-1;;26916:23:0::1;::::0;;26853:94::o;17261:117::-;17316:4;17340:30;17348:7;17357:12;;17340:7;:30::i;:::-;17333:37;17261:117;-1:-1:-1;;17261:117:0:o;25974:145::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;26074:4:::1;26059:12;;:19;;;;:::i;:::-;26049:6;:29;;26041:38;;;::::0;::::1;;26090:12;:21:::0;25974:145::o;25821:::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;25923:4:::1;25908:12;;:19;;;;:::i;:::-;25898:6;:29;;25890:38;;;::::0;::::1;;25939:10;:19:::0;25821:145::o;26482:120::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26566:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;26566:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26482:120::o;24661:142::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;24758:37:::1;::::0;24726:21:::1;::::0;24766:10:::1;::::0;24758:37;::::1;;;::::0;24726:21;;24708:15:::1;24758:37:::0;24708:15;24758:37;24726:21;24766:10;24758:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24697:106;24661:142::o:0;26750:91::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26811:15:0::1;;::::0;;;:7:::1;:15;::::0;;;;:22;;-1:-1:-1;;26811:22:0::1;26829:4;26811:22;::::0;;26750:91::o;28364:136::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;28454:6:::1;28448:3;:12;28440:21;;;::::0;::::1;;28472:14;:20:::0;28364:136::o;27582:228::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;27701:21:::1;:46:::0;;-1:-1:-1;;;;;27701:46:0;;::::1;-1:-1:-1::0;;;;;;27701:46:0;;::::1;;::::0;;;27758:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;27582:228::o;17386:156::-;17466:4;17490:44;17504:10;17516:9;17527:6;17490:13;:44::i;23862:105::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;23958:1:::1;23927:28;:32:::0;23862:105::o;4229:94::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4289:19:0::1;;::::0;;;4311:4:::1;4289:19;::::0;;;;;;;:26;;-1:-1:-1;;4289:26:0::1;::::0;;::::1;::::0;;4229:94::o;28658:167::-;28726:7;28753:64;28794:22;:20;:22::i;:::-;28776:4;;-1:-1:-1;;;;;28776:4:0;16851:7;16869:18;;;:9;:18;;;;;;28753:36;;28766:22;;28786:1;28766:19;:22::i;:::-;28753:8;;:12;:36::i;:::-;:40;;:64::i;27818:156::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;27910:11:::1;:22:::0;;-1:-1:-1;;27910:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;27943:13:::1;:23:::0;27818:156::o;4399:97::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4461:19:0::1;4483:5;4461:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4461:27:0::1;::::0;;4399:97::o;20029:204::-;20085:7;20126:12;20108:10;;20121:1;20108:14;;;;:::i;:::-;:30;20105:54;;-1:-1:-1;;20148:8:0;;;20029:204::o;20105:54::-;20172:7;20169:31;;;-1:-1:-1;;20189:8:0;;;20029:204::o;20169:31::-;-1:-1:-1;;20217:8:0;;;20029:204::o;4956:173::-;4611:4;4646:5;-1:-1:-1;;;;;4646:5:0;3953:10;4635:16;3937:38;;;;-1:-1:-1;;;3937:38:0;;;;;;;:::i;:::-;5032:5:::1;:11:::0;;-1:-1:-1;;;;;;5032:11:0::1;-1:-1:-1::0;;;;;5032:11:0;::::1;::::0;;::::1;::::0;;5054:19;;;-1:-1:-1;5054:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;5054:26:0::1;::::0;;::::1;::::0;;;5096:25;;4587:51:1;;;5096:25:0::1;::::0;4560:18:1;5096:25:0::1;;;;;;;4956:173:::0;:::o;23538:316::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;23662:4:::1;::::0;23644:23:::1;::::0;23654:6;;-1:-1:-1;;;;;23662:4:0::1;23644:9;:23::i;:::-;23681:24;23678:169;;;23752:15;23721:28;:46:::0;;;23811:23:::1;::::0;23787:48:::1;::::0;160:25:1;;;23787:48:0::1;::::0;133:18:1;23787:48:0::1;;;;;;;23538:316:::0;;:::o;26127:347::-;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26224:23:0;::::1;26242:4;26224:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;26261:4:0::1;::::0;-1:-1:-1;;;;;26251:14:0;;::::1;26261:4:::0;::::1;26251:14;;26224:41;26216:50;;;::::0;::::1;;-1:-1:-1::0;;;;;26277:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;26277:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;26321:146:::1;;26346:11;::::0;:31:::1;::::0;-1:-1:-1;;;26346:31:0;;-1:-1:-1;;;;;8398:32:1;;;26346:31:0::1;::::0;::::1;8380:51:1::0;26346:11:0::1;8447:18:1::0;;;8440:34;26346:11:0;;::::1;::::0;:20:::1;::::0;8353:18:1;;26346:31:0::1;8198:282:1::0;26321:146:0::1;26408:11;::::0;-1:-1:-1;;;;;26437:17:0;;::::1;26408:11;26437:17:::0;;;:9:::1;:17;::::0;;;;;;;26408:47;;-1:-1:-1;;;26408:47:0;;::::1;::::0;::::1;8380:51:1::0;;;;8447:18;;;8440:34;26408:11:0;::::1;::::0;:20:::1;::::0;8353:18:1;;26408:47:0::1;8198:282:1::0;26610:128:0;4114:24;4127:10;4114:12;:24::i;:::-;4106:48;;;;-1:-1:-1;;;4106:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26698:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;26698:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26610:128::o;4730:107::-;-1:-1:-1;;;;;4810:19:0;4786:4;4810:19;;;:14;:19;;;;;;;;;4730:107::o;1831:98::-;1889:7;1916:5;1920:1;1916;:5;:::i;1513:98::-;1571:7;1598:5;1602:1;1598;:5;:::i;2043:206::-;2129:7;2190:12;2182:6;;;;2174:29;;;;-1:-1:-1;;;2174:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2225:5:0;;;2043:206::o;17923:1458::-;18035:6;;18015:4;;18035:6;;18032:63;;;18051:41;18066:6;18074:9;18085:6;18051:14;:41::i;:::-;18044:48;;;;18032:63;18225:4;;18148:42;;18124:21;;-1:-1:-1;;;;;18213:16:0;;;18225:4;;18213:16;;:45;;;18245:13;-1:-1:-1;;;;;18232:26:0;:9;-1:-1:-1;;;;;18232:26:0;;18213:45;18201:57;;18267:28;18280:6;18288;18267:12;:28::i;:::-;18358:6;18357:7;:30;;;;-1:-1:-1;;;;;;18369:18:0;;;;;;:7;:18;;;;;;;;18368:19;18357:30;18353:133;;;18436:10;;-1:-1:-1;;;;;18403:20:0;;;;;;:9;:20;;;;;;:29;;18426:6;;18403:29;:::i;:::-;18402:44;18394:86;;;;-1:-1:-1;;;18394:86:0;;8966:2:1;18394:86:0;;;8948:21:1;9005:2;8985:18;;;8978:30;9044:31;9024:18;;;9017:59;9093:18;;18394:86:0;8764:353:1;18394:86:0;18530:6;18526:111;;;18547:16;:14;:16::i;:::-;18544:35;;;18566:10;:8;:10::i;:::-;18587:19;:17;:19::i;:::-;18584:48;;;18609:20;:18;:20::i;:::-;18770:53;;;;;;;;;;;-1:-1:-1;;;18770:53:0;;;;;;;;-1:-1:-1;;;;;18770:17:0;;-1:-1:-1;18770:17:0;;;:9;:17;;;;;;;;:53;;18792:6;;18770:21;:53::i;:::-;-1:-1:-1;;;;;18750:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19994:11;:19;;;;;;;;19993:20;18861:67;;18922:6;18861:67;;;18885:34;18893:6;18901:9;18912:6;18885:7;:34::i;:::-;-1:-1:-1;;;;;18964:20:0;;;;;;:9;:20;;;;;;18836:92;;-1:-1:-1;18964:40:0;;18836:92;18964:24;:40::i;:::-;-1:-1:-1;;;;;18941:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;19021:24;;;;;:16;:24;;;;;;;19017:96;;19052:11;;-1:-1:-1;;;;;19081:17:0;;;19052:11;19081:17;;;:9;:17;;;;;;;;19052:47;;-1:-1:-1;;;19052:47:0;;;;;8380:51:1;;;;8447:18;;;8440:34;19052:11:0;;;:20;;8353:18:1;;19052:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19048:63;;-1:-1:-1;;;;;19127:27:0;;;;;;:16;:27;;;;;;;;19123:105;;19161:11;;-1:-1:-1;;;;;19193:20:0;;;19161:11;19193:20;;;:9;:20;;;;;;;;19161:53;;-1:-1:-1;;;19161:53:0;;;;;8380:51:1;;;;8447:18;;;8440:34;19161:11:0;;;:20;;8353:18:1;;19161:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19157:69;;19244:11;;19264:14;;19244:35;;-1:-1:-1;;;;;;19244:35:0;;-1:-1:-1;;;;;19244:11:0;;;;:19;;:35;;;;160:25:1;;;148:2;133:18;;14:177;19244:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19240:51;19325:9;-1:-1:-1;;;;;19308:43:0;19317:6;-1:-1:-1;;;;;19308:43:0;;19336:14;19308:43;;;;160:25:1;;148:2;133:18;;14:177;19308:43:0;;;;;;;;-1:-1:-1;19369:4:0;;17923:1458;-1:-1:-1;;;;;;17923:1458:0:o;1619:98::-;1677:7;1704:5;1708:1;1704;:5;:::i;1725:98::-;1783:7;1810:5;1814:1;1810;:5;:::i;24286:363::-;15136:6;:13;;-1:-1:-1;;15136:13:0;15145:4;15136:13;;;24386:16:::1;::::0;;24400:1:::1;24386:16:::0;;;;;::::1;::::0;;-1:-1:-1;;24386:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;24423:5:0::1;::::0;24413:7;;;;-1:-1:-1;;;;;;24423:5:0::1;::::0;24413:7;;-1:-1:-1;24423:5:0::1;::::0;24413:7:::1;;;;:::i;:::-;;;;;;:15;-1:-1:-1::0;;;;;24413:15:0::1;;;-1:-1:-1::0;;;;;24413:15:0::1;;;::::0;::::1;24457:4;24439;24444:1;24439:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24439:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;24475:6:::1;::::0;:166:::1;::::0;-1:-1:-1;;;24475:166:0;;:6;::::1;::::0;:58:::1;::::0;24541:6;;24475:166:::1;::::0;:6:::1;::::0;24579:4;;24598:2;;24615:15:::1;::::0;24475:166:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15154:6:0;:14;;-1:-1:-1;;15154:14:0;;;-1:-1:-1;;;;;;24286:363:0:o;19389:332::-;19519:53;;;;;;;;;;;-1:-1:-1;;;19519:53:0;;;;;;;;-1:-1:-1;;;;;19519:17:0;;19482:4;19519:17;;;:9;:17;;;;;;;:53;;19541:6;;19519:21;:53::i;:::-;-1:-1:-1;;;;;19499:17:0;;;;;;;:9;:17;;;;;;:73;;;;19606:20;;;;;;;:32;;19631:6;19606:24;:32::i;:::-;-1:-1:-1;;;;;19583:20:0;;;;;;:9;:20;;;;;:55;-1:-1:-1;19709:4:0;19389:332;;;;;:::o;19733:166::-;19830:12;;19820:6;:22;;:49;;;-1:-1:-1;;;;;;19846:23:0;;;;;;:15;:23;;;;;;;;19820:49;19812:79;;;;-1:-1:-1;;;19812:79:0;;10872:2:1;19812:79:0;;;10854:21:1;10911:2;10891:18;;;10884:30;-1:-1:-1;;;10930:18:1;;;10923:47;10987:18;;19812:79:0;10670:341:1;21320:197:0;21407:4;;21369;;-1:-1:-1;;;;;21407:4:0;21393:10;:18;;;;:38;;-1:-1:-1;21425:6:0;;;;21424:7;21393:38;:62;;;;-1:-1:-1;21444:11:0;;;;21393:62;:116;;;;-1:-1:-1;;21496:13:0;;21486:4;21468:24;;;;:9;:24;;;;;;:41;;;21320:197::o;21525:1679::-;15136:6;:13;;-1:-1:-1;;15136:13:0;15145:4;15136:13;;;21620:15:::1;::::0;21637:26:::1;::::0;15136:6;;21604:60:::1;::::0;:15:::1;:60::i;:::-;:79;;21671:12;;21604:79;;;21667:1;21604:79;21574:109;;21694:23;21720:59;21777:1;21720:52;21763:8;;21720:38;21738:19;21720:13;;:17;;:38;;;;:::i;:59::-;21694:85;;21790:20;21813:34;21831:15;21813:13;;:17;;:34;;;;:::i;:::-;21884:16;::::0;;21898:1:::1;21884:16:::0;;;;;::::1;::::0;;21790:57;;-1:-1:-1;21860:21:0::1;::::0;21884:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21884:16:0::1;21860:40;;21929:4;21911;21916:1;21911:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21911:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;21955:5:::1;::::0;21945:7;;21955:5;::::1;::::0;21945:4;;21955:5;;21945:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;21945:15:0;;::::1;:7;::::0;;::::1;::::0;;;;;:15;22029:6:::1;::::0;:189:::1;::::0;-1:-1:-1;;;22029:189:0;;21995:21:::1;::::0;22029:6;;;::::1;::::0;:58:::1;::::0;:189:::1;::::0;22102:12;;21971:21:::1;::::0;22145:4;;22172::::1;::::0;22192:15:::1;::::0;22029:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22231:18;22252:40;22278:13;22252:21;:25;;:40;;;;:::i;:::-;22231:61:::0;-1:-1:-1;22305:20:0::1;22328:40;22341:26;:19:::0;22365:1:::1;22341:23;:26::i;:::-;22328:8;::::0;;:12:::1;:40::i;:::-;22305:63:::0;-1:-1:-1;22381:27:0::1;22411:60;22469:1;22411:53;22305:63:::0;22411:53;:10;22426:19;22411:14:::1;:35::i;:60::-;22381:90;;22482:28;22513:47;22547:12;22513:29;22528:13;;22513:10;:14;;:29;;;;:::i;:47::-;22482:78;;22571:27;22601:46;22634:12;22601:28;22616:12;;22601:10;:14;;:28;;;;:::i;:46::-;22571:76;;22664:11;;;;;;;;;-1:-1:-1::0;;;;;22664:11:0::1;-1:-1:-1::0;;;;;22664:19:0::1;;22691:20;22664:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22660:66:::0;22744:20:::1;::::0;22736:59:::1;::::0;-1:-1:-1;;;;;22744:20:0;;::::1;::::0;22736:59;::::1;;;::::0;22775:19;;22744:20:::1;22736:59:::0;22744:20;22736:59;22775:19;22744:20;22736:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22835:19:0;;22832:365:::1;;22870:6;::::0;23046:21:::1;::::0;22870:246:::1;::::0;-1:-1:-1;;;22870:246:0;;22948:4:::1;22870:246;::::0;::::1;11944:34:1::0;11994:18;;;11987:34;;;22870:6:0::1;12037:18:1::0;;;12030:34;;;12080:18;;;12073:34;-1:-1:-1;;;;;23046:21:0;;::::1;12123:19:1::0;;;12116:44;23086:15:0::1;12176:19:1::0;;;12169:35;22870:6:0;::::1;::::0;:23:::1;::::0;22901:19;;11878::1;;22870:246:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;23136:49:0::1;::::0;;7770:25:1;;;7826:2;7811:18;;7804:34;;;23136:49:0::1;::::0;-1:-1:-1;7743:18:1;23136:49:0::1;;;;;;;22832:365;-1:-1:-1::0;;15154:6:0;:14;;-1:-1:-1;;15154:14:0;;;-1:-1:-1;;;;;;;;21525:1679:0:o;23212:318::-;23302:4;;23264;;-1:-1:-1;;;;;23302:4:0;23288:10;:18;;;;:38;;-1:-1:-1;23320:6:0;;;;23319:7;23288:38;:69;;;;-1:-1:-1;23339:18:0;;;;23288:69;:143;;;;;23419:12;23393:22;;23370:20;;:45;;;;:::i;:::-;:61;;23288:143;:234;;;;-1:-1:-1;;23505:17:0;;23480:21;:42;;;23212:318::o;23975:303::-;24035:17;;24054:4;;24025:34;;24035:17;-1:-1:-1;;;;;24054:4:0;24025:9;:34::i;:::-;24093:12;24070:20;:35;24168:17;;24141:22;;:45;;:26;:45::i;:::-;24116:22;:70;;;24225:14;;-1:-1:-1;24197:74:0;;;24242:18;:26;;-1:-1:-1;;24242:26:0;;;24197:74;23975:303::o;20940:372::-;21111:14;;21100:4;;21025:7;;;;21065:61;;21111:14;21065:41;;21076:29;;-1:-1:-1;;;;;21088:16:0;;;21100:4;;21088:16;21076:11;:29::i;:::-;21065:6;;:10;:41::i;:61::-;21184:4;21166:24;;;;:9;:24;;;;;;21045:81;;-1:-1:-1;21166:39:0;;21045:81;21166:28;:39::i;:::-;21157:4;21139:24;;;;:9;:24;;;;;;;:66;;;;21221:42;;-1:-1:-1;;;;;21221:42:0;;;;;;;21253:9;160:25:1;;148:2;133:18;;14:177;21221:42:0;;;;;;;;21283:21;:6;21294:9;21283:10;:21::i;:::-;21276:28;20940:372;-1:-1:-1;;;;;20940:372:0:o;196:160:1:-;261:20;;317:13;;310:21;300:32;;290:60;;346:1;343;336:12;361:385;444:6;452;460;468;521:3;509:9;500:7;496:23;492:33;489:53;;;538:1;535;528:12;489:53;561:26;577:9;561:26;:::i;:::-;551:36;634:2;619:18;;606:32;;-1:-1:-1;685:2:1;670:18;;657:32;;736:2;721:18;708:32;;-1:-1:-1;361:385:1;-1:-1:-1;;;361:385:1:o;751:454::-;846:6;854;862;870;878;931:3;919:9;910:7;906:23;902:33;899:53;;;948:1;945;938:12;899:53;-1:-1:-1;;971:23:1;;;1041:2;1026:18;;1013:32;;-1:-1:-1;1092:2:1;1077:18;;1064:32;;1143:2;1128:18;;1115:32;;-1:-1:-1;1194:3:1;1179:19;1166:33;;-1:-1:-1;751:454:1;-1:-1:-1;751:454:1:o;1210:597::-;1322:4;1351:2;1380;1369:9;1362:21;1412:6;1406:13;1455:6;1450:2;1439:9;1435:18;1428:34;1480:1;1490:140;1504:6;1501:1;1498:13;1490:140;;;1599:14;;;1595:23;;1589:30;1565:17;;;1584:2;1561:26;1554:66;1519:10;;1490:140;;;1648:6;1645:1;1642:13;1639:91;;;1718:1;1713:2;1704:6;1693:9;1689:22;1685:31;1678:42;1639:91;-1:-1:-1;1791:2:1;1770:15;-1:-1:-1;;1766:29:1;1751:45;;;;1798:2;1747:54;;1210:597;-1:-1:-1;;;1210:597:1:o;1812:131::-;-1:-1:-1;;;;;1887:31:1;;1877:42;;1867:70;;1933:1;1930;1923:12;1867:70;1812:131;:::o;1948:247::-;2007:6;2060:2;2048:9;2039:7;2035:23;2031:32;2028:52;;;2076:1;2073;2066:12;2028:52;2115:9;2102:23;2134:31;2159:5;2134:31;:::i;2392:315::-;2460:6;2468;2521:2;2509:9;2500:7;2496:23;2492:32;2489:52;;;2537:1;2534;2527:12;2489:52;2576:9;2563:23;2595:31;2620:5;2595:31;:::i;:::-;2645:5;2697:2;2682:18;;;;2669:32;;-1:-1:-1;;;2392:315:1:o;2712:248::-;2780:6;2788;2841:2;2829:9;2820:7;2816:23;2812:32;2809:52;;;2857:1;2854;2847:12;2809:52;-1:-1:-1;;2880:23:1;;;2950:2;2935:18;;;2922:32;;-1:-1:-1;2712:248:1:o;2965:316::-;3042:6;3050;3058;3111:2;3099:9;3090:7;3086:23;3082:32;3079:52;;;3127:1;3124;3117:12;3079:52;-1:-1:-1;;3150:23:1;;;3220:2;3205:18;;3192:32;;-1:-1:-1;3271:2:1;3256:18;;;3243:32;;2965:316;-1:-1:-1;2965:316:1:o;3286:456::-;3363:6;3371;3379;3432:2;3420:9;3411:7;3407:23;3403:32;3400:52;;;3448:1;3445;3438:12;3400:52;3487:9;3474:23;3506:31;3531:5;3506:31;:::i;:::-;3556:5;-1:-1:-1;3613:2:1;3598:18;;3585:32;3626:33;3585:32;3626:33;:::i;:::-;3286:456;;3678:7;;-1:-1:-1;;;3732:2:1;3717:18;;;;3704:32;;3286:456::o;3936:180::-;3995:6;4048:2;4036:9;4027:7;4023:23;4019:32;4016:52;;;4064:1;4061;4054:12;4016:52;-1:-1:-1;4087:23:1;;3936:180;-1:-1:-1;3936:180:1:o;4121:315::-;4186:6;4194;4247:2;4235:9;4226:7;4222:23;4218:32;4215:52;;;4263:1;4260;4253:12;4215:52;4302:9;4289:23;4321:31;4346:5;4321:31;:::i;:::-;4371:5;-1:-1:-1;4395:35:1;4426:2;4411:18;;4395:35;:::i;:::-;4385:45;;4121:315;;;;;:::o;4649:388::-;4717:6;4725;4778:2;4766:9;4757:7;4753:23;4749:32;4746:52;;;4794:1;4791;4784:12;4746:52;4833:9;4820:23;4852:31;4877:5;4852:31;:::i;:::-;4902:5;-1:-1:-1;4959:2:1;4944:18;;4931:32;4972:33;4931:32;4972:33;:::i;:::-;5024:7;5014:17;;;4649:388;;;;;:::o;5042:248::-;5107:6;5115;5168:2;5156:9;5147:7;5143:23;5139:32;5136:52;;;5184:1;5181;5174:12;5136:52;5207:26;5223:9;5207:26;:::i;5295:180::-;5351:6;5404:2;5392:9;5383:7;5379:23;5375:32;5372:52;;;5420:1;5417;5410:12;5372:52;5443:26;5459:9;5443:26;:::i;5740:248::-;5805:6;5813;5866:2;5854:9;5845:7;5841:23;5837:32;5834:52;;;5882:1;5879;5872:12;5834:52;5918:9;5905:23;5895:33;;5947:35;5978:2;5967:9;5963:18;5947:35;:::i;6219:335::-;6421:2;6403:21;;;6460:2;6440:18;;;6433:30;-1:-1:-1;;;6494:2:1;6479:18;;6472:41;6545:2;6530:18;;6219:335::o;6908:127::-;6969:10;6964:3;6960:20;6957:1;6950:31;7000:4;6997:1;6990:15;7024:4;7021:1;7014:15;7040:217;7080:1;7106;7096:132;;7150:10;7145:3;7141:20;7138:1;7131:31;7185:4;7182:1;7175:15;7213:4;7210:1;7203:15;7096:132;-1:-1:-1;7242:9:1;;7040:217::o;7262:329::-;7464:2;7446:21;;;7503:1;7483:18;;;7476:29;-1:-1:-1;;;7536:2:1;7521:18;;7514:36;7582:2;7567:18;;7262:329::o;7849:128::-;7889:3;7920:1;7916:6;7913:1;7910:13;7907:39;;;7926:18;;:::i;:::-;-1:-1:-1;7962:9:1;;7849:128::o;9122:125::-;9162:4;9190:1;9187;9184:8;9181:34;;;9195:18;;:::i;:::-;-1:-1:-1;9232:9:1;;9122:125::o;9252:168::-;9292:7;9358:1;9354;9350:6;9346:14;9343:1;9340:21;9335:1;9328:9;9321:17;9317:45;9314:71;;;9365:18;;:::i;:::-;-1:-1:-1;9405:9:1;;9252:168::o;9557:127::-;9618:10;9613:3;9609:20;9606:1;9599:31;9649:4;9646:1;9639:15;9673:4;9670:1;9663:15;9689:461;9742:3;9780:5;9774:12;9807:6;9802:3;9795:19;9833:4;9862:2;9857:3;9853:12;9846:19;;9899:2;9892:5;9888:14;9920:1;9930:195;9944:6;9941:1;9938:13;9930:195;;;10009:13;;-1:-1:-1;;;;;10005:39:1;9993:52;;10065:12;;;;10100:15;;;;10041:1;9959:9;9930:195;;;-1:-1:-1;10141:3:1;;9689:461;-1:-1:-1;;;;;9689:461:1:o;10155:510::-;10426:6;10415:9;10408:25;10469:3;10464:2;10453:9;10449:18;10442:31;10389:4;10490:57;10542:3;10531:9;10527:19;10519:6;10490:57;:::i;:::-;-1:-1:-1;;;;;10583:32:1;;;;10578:2;10563:18;;10556:60;-1:-1:-1;10647:2:1;10632:18;10625:34;10482:65;10155:510;-1:-1:-1;;10155:510:1:o;11016:582::-;11315:6;11304:9;11297:25;11358:6;11353:2;11342:9;11338:18;11331:34;11401:3;11396:2;11385:9;11381:18;11374:31;11278:4;11422:57;11474:3;11463:9;11459:19;11451:6;11422:57;:::i;:::-;-1:-1:-1;;;;;11515:32:1;;;;11510:2;11495:18;;11488:60;-1:-1:-1;11579:3:1;11564:19;11557:35;11414:65;11016:582;-1:-1:-1;;;11016:582:1:o;12215:306::-;12303:6;12311;12319;12372:2;12360:9;12351:7;12347:23;12343:32;12340:52;;;12388:1;12385;12378:12;12340:52;12417:9;12411:16;12401:26;;12467:2;12456:9;12452:18;12446:25;12436:35;;12511:2;12500:9;12496:18;12490:25;12480:35;;12215:306;;;;;:::o
Swarm Source
ipfs://e006bc64de3f24260d1c2b45fc43a2688c4970958e8d23c9e0ce44634275e441
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
AVAX | 100.00% | $22.47 | 0.1687 | $3.79 |
Loading...
Loading
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.