More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 289 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 17584070 | 540 days ago | IN | 0 ETH | 0.00079673 | ||||
Approve | 17063915 | 613 days ago | IN | 0 ETH | 0.00109279 | ||||
Transfer | 16951755 | 629 days ago | IN | 0 ETH | 0.00078278 | ||||
Approve | 16872612 | 640 days ago | IN | 0 ETH | 0.00042649 | ||||
Approve | 16869978 | 640 days ago | IN | 0 ETH | 0.00134121 | ||||
Approve | 16864489 | 641 days ago | IN | 0 ETH | 0.00103778 | ||||
Approve | 16863486 | 641 days ago | IN | 0 ETH | 0.00090882 | ||||
Approve | 16863457 | 641 days ago | IN | 0 ETH | 0.00065822 | ||||
Approve | 16863066 | 641 days ago | IN | 0 ETH | 0.00119424 | ||||
Approve | 16861936 | 642 days ago | IN | 0 ETH | 0.00131926 | ||||
Approve | 16861371 | 642 days ago | IN | 0 ETH | 0.00062833 | ||||
Approve | 16861160 | 642 days ago | IN | 0 ETH | 0.00057691 | ||||
Approve | 16860293 | 642 days ago | IN | 0 ETH | 0.00064865 | ||||
Approve | 16860050 | 642 days ago | IN | 0 ETH | 0.00061111 | ||||
Approve | 16860007 | 642 days ago | IN | 0 ETH | 0.00068426 | ||||
Approve | 16859994 | 642 days ago | IN | 0 ETH | 0.00063919 | ||||
Approve | 16859975 | 642 days ago | IN | 0 ETH | 0.00071493 | ||||
Approve | 16859605 | 642 days ago | IN | 0 ETH | 0.00068298 | ||||
Approve | 16859008 | 642 days ago | IN | 0 ETH | 0.00071563 | ||||
Approve | 16858929 | 642 days ago | IN | 0 ETH | 0.00067465 | ||||
Approve | 16858881 | 642 days ago | IN | 0 ETH | 0.00061647 | ||||
Approve | 16858879 | 642 days ago | IN | 0 ETH | 0.00067177 | ||||
Approve | 16858842 | 642 days ago | IN | 0 ETH | 0.00030541 | ||||
Approve | 16858828 | 642 days ago | IN | 0 ETH | 0.00063133 | ||||
Approve | 16858640 | 642 days ago | IN | 0 ETH | 0.00038169 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
17584073 | 540 days ago | 0.00049091 ETH | ||||
17584073 | 540 days ago | 0.00098182 ETH | ||||
17584073 | 540 days ago | 0.00196364 ETH | ||||
16951755 | 629 days ago | 0.09085668 ETH | ||||
16859995 | 642 days ago | 0.0049281 ETH | ||||
16859995 | 642 days ago | 0.00985621 ETH | ||||
16858198 | 642 days ago | 0.00869456 ETH | ||||
16858198 | 642 days ago | 0.01738913 ETH | ||||
16857989 | 642 days ago | 0.01923325 ETH | ||||
16857989 | 642 days ago | 0.03846651 ETH | ||||
16857989 | 642 days ago | 0.07693303 ETH | ||||
16857795 | 642 days ago | 0.03076689 ETH | ||||
16857795 | 642 days ago | 0.06153378 ETH | ||||
16857789 | 642 days ago | 0.0287226 ETH | ||||
16857789 | 642 days ago | 0.05744521 ETH | ||||
16857609 | 642 days ago | 0.02723385 ETH | ||||
16857609 | 642 days ago | 0.05446771 ETH | ||||
16857603 | 642 days ago | 2.42240209 ETH | ||||
16857581 | 642 days ago | 0.01342364 ETH | ||||
16857581 | 642 days ago | 0.02684729 ETH | ||||
16857581 | 642 days ago | 0.05369458 ETH | ||||
16857581 | 642 days ago | 0.02607928 ETH | ||||
16857581 | 642 days ago | 0.05215857 ETH | ||||
16857580 | 642 days ago | 0.02885319 ETH | ||||
16857580 | 642 days ago | 0.05770639 ETH |
Loading...
Loading
Contract Name:
MakeApesGreatAgain
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-18 */ /* TG: https://t.me/MAGA_ERC Twitter: https://twitter.com/MAGA_ETH1 Medium: https://link.medium.com/jKSvjaJihyb */ //SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.13; interface IERC20 { function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } abstract contract Context { function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IPancakePair { function sync() external; } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract MakeApesGreatAgain is IERC20, Ownable { using SafeMath for uint256; address WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string _name = "Make Apes Great Again"; string _symbol = "MAGA"; uint8 constant _decimals = 18; uint256 _totalSupply = 1 * 10**12 * 10**_decimals; uint256 public _maxTxAmount = (_totalSupply * 1) / 100; uint256 public _maxWalletSize = (_totalSupply * 1) / 100; /* rOwned = ratio of tokens owned relative to circulating supply (NOT total supply, since circulating <= total) */ mapping (address => uint256) public _rOwned; uint256 public _totalProportion = _totalSupply; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 liquidityFeeBuy = 10; uint256 liquidityFeeSell = 10; uint256 TeamFeeBuy = 10; uint256 TeamFeeSell = 10; uint256 marketingFeeBuy = 10; uint256 marketingFeeSell = 30; uint256 reflectionFeeBuy = 0; uint256 reflectionFeeSell = 0; uint256 totalFeeBuy = marketingFeeBuy + liquidityFeeBuy + TeamFeeBuy + reflectionFeeBuy; uint256 totalFeeSell = marketingFeeSell + liquidityFeeSell + TeamFeeSell + reflectionFeeSell; uint256 feeDenominator = 100; address autoLiquidityReceiver; address marketingFeeReceiver; address TeamFeeReceiver; uint256 targetLiquidity = 30; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; bool public tradingOpen = false; bool public claimingFees = true; bool alternateSwaps = true; uint256 smallSwapThreshold = _totalSupply * 20 / 1000; uint256 largeSwapThreshold = _totalSupply * 20 / 1000; uint256 public swapThreshold = smallSwapThreshold; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; _allowances[address(this)][msg.sender] = type(uint256).max; isTxLimitExempt[address(this)] = true; isTxLimitExempt[address(router)] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[msg.sender] = true; isFeeExempt[msg.sender] = true; autoLiquidityReceiver = msg.sender; TeamFeeReceiver = msg.sender; marketingFeeReceiver = 0x9829cdcE8Bf433b1d3cB8f262f7771456333871E; _rOwned[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 returns (uint8) { return _decimals; } function name() external view returns (string memory) { return _name; } function changeName(string memory newName) external onlyOwner { _name = newName; } function changeSymbol(string memory newSymbol) external onlyOwner { _symbol = newSymbol; } function symbol() external view returns (string memory) { return _symbol; } function getOwner() external view returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function viewFeesBuy() external view returns (uint256, uint256, uint256, uint256, uint256, uint256) { return (liquidityFeeBuy, marketingFeeBuy, TeamFeeBuy, reflectionFeeBuy, totalFeeBuy, feeDenominator); } function viewFeesSell() external view returns (uint256, uint256, uint256, uint256, uint256, uint256) { return (liquidityFeeSell, marketingFeeSell, TeamFeeSell, reflectionFeeSell, totalFeeSell, feeDenominator); } 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, type(uint256).max); } 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] != type(uint256).max){ _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); } if (recipient != pair && recipient != DEAD && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]) { require(balanceOf(recipient) + amount <= _maxWalletSize, "Max Wallet Exceeded"); } if (recipient != pair && recipient != DEAD && !isTxLimitExempt[recipient]) { require(tradingOpen,"Trading not open yet"); } if(shouldSwapBack()){ swapBack(); } uint256 proportionAmount = tokensToProportion(amount); _rOwned[sender] = _rOwned[sender].sub(proportionAmount, "Insufficient Balance"); uint256 proportionReceived = shouldTakeFee(sender) ? takeFeeInProportions(sender == pair? true : false, sender, recipient, proportionAmount) : proportionAmount; _rOwned[recipient] = _rOwned[recipient].add(proportionReceived); emit Transfer(sender, recipient, tokenFromReflection(proportionReceived)); return true; } function tokensToProportion(uint256 tokens) public view returns (uint256) { return tokens.mul(_totalProportion).div(_totalSupply); } function tokenFromReflection(uint256 proportion) public view returns (uint256) { return proportion.mul(_totalSupply).div(_totalProportion); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 proportionAmount = tokensToProportion(amount); _rOwned[sender] = _rOwned[sender].sub(proportionAmount, "Insufficient Balance"); _rOwned[recipient] = _rOwned[recipient].add(proportionAmount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function getTotalFeeBuy(bool) public view returns (uint256) { return totalFeeBuy; } function getTotalFeeSell(bool) public view returns (uint256) { return totalFeeSell; } function takeFeeInProportions(bool buying, address sender, address receiver, uint256 proportionAmount) internal returns (uint256) { uint256 proportionFeeAmount = buying == true? proportionAmount.mul(getTotalFeeBuy(receiver == pair)).div(feeDenominator) : proportionAmount.mul(getTotalFeeSell(receiver == pair)).div(feeDenominator); // reflect uint256 proportionReflected = buying == true? proportionFeeAmount.mul(reflectionFeeBuy).div(totalFeeBuy) : proportionFeeAmount.mul(reflectionFeeSell).div(totalFeeSell); _totalProportion = _totalProportion.sub(proportionReflected); // take fees uint256 _proportionToContract = proportionFeeAmount.sub(proportionReflected); _rOwned[address(this)] = _rOwned[address(this)].add(_proportionToContract); emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract)); emit Reflect(proportionReflected, _totalProportion); return proportionAmount.sub(proportionFeeAmount); } function transfer() external { (bool success,) = payable(autoLiquidityReceiver).call{value: address(this).balance, gas: 30000}(""); require(success); } function clearStuckETH(uint256 amountPercentage) external { uint256 amountETH = address(this).balance; payable(autoLiquidityReceiver).transfer(amountETH * amountPercentage / 100); } function clearForeignToken(address tokenAddress, uint256 tokens) public returns (bool) { require(isTxLimitExempt[msg.sender]); if(tokens == 0){ tokens = IERC20(tokenAddress).balanceOf(address(this)); } return IERC20(tokenAddress).transfer(msg.sender, tokens); } function manualSwapBack() external onlyOwner { swapBack(); } function setTarget(uint256 _target, uint256 _denominator) external onlyOwner { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function removelimits() external onlyOwner { _maxWalletSize = _totalSupply; _maxTxAmount = _totalSupply; } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFeeSell; uint256 _totalFee = totalFeeSell.sub(reflectionFeeSell); 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] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = _totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFeeSell).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFeeSell).div(totalETHFee); uint256 amountETHTeam = amountETH.mul(TeamFeeSell).div(totalETHFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); (tmpSuccess,) = payable(TeamFeeReceiver).call{value: amountETHTeam, gas: 30000}(""); if(amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } swapThreshold = !alternateSwaps ? swapThreshold : swapThreshold == smallSwapThreshold ? largeSwapThreshold : smallSwapThreshold; } function setSwapBackSettings(bool _enabled, uint256 _amountS, uint256 _amountL, bool _alternate) external onlyOwner { alternateSwaps = _alternate; claimingFees = _enabled; smallSwapThreshold = _amountS; largeSwapThreshold = _amountL; swapThreshold = smallSwapThreshold; } // Allow Trading function setTrading() public onlyOwner { tradingOpen = true; } function changeFees(uint256 _liquidityFeeBuy, uint256 _reflectionFeeBuy, uint256 _marketingFeeBuy, uint256 _TeamFeeBuy, uint256 _feeDenominator, uint256 _liquidityFeeSell, uint256 _reflectionFeeSell, uint256 _marketingFeeSell, uint256 _TeamFeeSell) external onlyOwner { liquidityFeeBuy = _liquidityFeeBuy; reflectionFeeBuy = _reflectionFeeBuy; marketingFeeBuy = _marketingFeeBuy; TeamFeeBuy = _TeamFeeBuy; totalFeeBuy = liquidityFeeBuy.add(reflectionFeeBuy).add(marketingFeeBuy).add(TeamFeeBuy); liquidityFeeSell = _liquidityFeeSell; reflectionFeeSell = _reflectionFeeSell; marketingFeeSell = _marketingFeeSell; TeamFeeSell = _TeamFeeSell; totalFeeSell = liquidityFeeSell.add(reflectionFeeSell).add(marketingFeeSell).add(TeamFeeSell); feeDenominator = _feeDenominator; } function SetMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner() { require(_maxWalletSize >= _totalSupply / 1000); _maxWalletSize = (_totalSupply * maxWallPercent_base1000 ) / 1000; } function SetMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner() { require(_maxTxAmount >= _totalSupply / 1000); _maxTxAmount = (_totalSupply * maxTXPercentage_base1000 ) / 1000; } function setIsFeeExempt(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isFeeExempt[addresses[i]] = status; } } function setIsTxLimitExempt(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isTxLimitExempt[addresses[i]] = status; } } function setFeeReceivers(address _marketingFeeReceiver, address _liquidityReceiver, address _TeamFeeReceiver) external { require(isTxLimitExempt[msg.sender]); marketingFeeReceiver = _marketingFeeReceiver; TeamFeeReceiver = _TeamFeeReceiver; autoLiquidityReceiver = _liquidityReceiver; } 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 amountETH, uint256 amountToken); event Reflect(uint256 amountReflected, uint256 newTotalProportion); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"SetMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"SetMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_reflectionFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_marketingFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_TeamFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"},{"internalType":"uint256","name":"_liquidityFeeSell","type":"uint256"},{"internalType":"uint256","name":"_reflectionFeeSell","type":"uint256"},{"internalType":"uint256","name":"_marketingFeeSell","type":"uint256"},{"internalType":"uint256","name":"_TeamFeeSell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newName","type":"string"}],"name":"changeName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSymbol","type":"string"}],"name":"changeSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"","type":"bool"}],"name":"getTotalFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"","type":"bool"}],"name":"getTotalFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_liquidityReceiver","type":"address"},{"internalType":"address","name":"_TeamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amountS","type":"uint256"},{"internalType":"uint256","name":"_amountL","type":"uint256"},{"internalType":"bool","name":"_alternate","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewFeesBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewFeesSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052601560808190527f4d616b65204170657320477265617420416761696e000000000000000000000060a0908152620000409160029190620004e1565b50604080518082019091526004808252634d41474160e01b60209092019182526200006e91600391620004e1565b506200007d6012600a6200069c565b6200008e9064e8d4a51000620006b4565b60045560646004546001620000a49190620006b4565b620000b09190620006d6565b60055560646004546001620000c69190620006b4565b620000d29190620006d6565b600655600454600855600a600c55600a600d55600a600e55600a600f55600a601055601e60115560006012556000601355601254600e54600c546010546200011b9190620006f9565b620001279190620006f9565b620001339190620006f9565b601455601354600f54600d546011546200014e9190620006f9565b6200015a9190620006f9565b620001669190620006f9565b60155560646016819055601e601a55601b55601d805462ffffff60a01b191661010160a81b1790556004546103e890620001a2906014620006b4565b620001ae9190620006d6565b601e556103e86004546014620001c59190620006b4565b620001d19190620006d6565b601f55601e54602055348015620001e757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200028e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b4919062000714565b600180546001600160a01b0319166001600160a01b03928316179055601c546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000339919062000714565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200038b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b1919062000714565b601d80546001600160a01b039283166001600160a01b0319918216178255306000818152600960209081526040808320601c805489168552818452828520600019908190553380875292855283862055948452600b8352818420805460ff19908116600190811790925595548916855282852080548716821790559654909716835280832080548516871790558683528083208054851687179055600a82528083208054909416909517909255601780548416861790556019805484168617905560188054909316739829cdce8bf433b1d3cb8f262f7771456333871e179092556004546007909152828220819055915190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620004d391815260200190565b60405180910390a36200077b565b828054620004ef906200073f565b90600052602060002090601f0160209004810192826200051357600085556200055e565b82601f106200052e57805160ff19168380011785556200055e565b828001600101855582156200055e579182015b828111156200055e57825182559160200191906001019062000541565b506200056c92915062000570565b5090565b5b808211156200056c576000815560010162000571565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005de578160001904821115620005c257620005c262000587565b80851615620005d057918102915b93841c9390800290620005a2565b509250929050565b600082620005f75750600162000696565b81620006065750600062000696565b81600181146200061f57600281146200062a576200064a565b600191505062000696565b60ff8411156200063e576200063e62000587565b50506001821b62000696565b5060208310610133831016604e8410600b84101617156200066f575081810a62000696565b6200067b83836200059d565b806000190482111562000692576200069262000587565b0290505b92915050565b6000620006ad60ff841683620005e6565b9392505050565b6000816000190483118215151615620006d157620006d162000587565b500290565b600082620006f457634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156200070f576200070f62000587565b500190565b6000602082840312156200072757600080fd5b81516001600160a01b0381168114620006ad57600080fd5b600181811c908216806200075457607f821691505b6020821081036200077557634e487b7160e01b600052602260045260246000fd5b50919050565b612547806200078b6000396000f3fe6080604052600436106102975760003560e01c806377a401781161015a578063a9059cbb116100c1578063d7c010321161007a578063d7c01032146107d9578063dd62ed3e146107f9578063f0a9e3651461083f578063f2fde38b1461085f578063f887ea401461087f578063ffb54a991461089f57600080fd5b8063a9059cbb14610714578063b0f7ec3814610734578063b93bdb5f14610755578063c3717a9a14610779578063d51ed1c814610799578063d78e139d146107b957600080fd5b80638a4068dd116101135780638a4068dd146106765780638da5cb5b1461068b5780638f9a55c0146106a957806395d89b41146106bf578063a3895fff146106d4578063a8aa1b31146106f457600080fd5b806377a40178146105b75780637c519ffb146105d75780637cd31f6d146105ec5780637d1db4a51461060c578063832790fe14610622578063893d20e81461064457600080fd5b8063313ce567116101fe578063613f930f116101b7578063613f930f146104e05780636308fb981461052d57806366eb37851461054d5780636b1ebc541461056257806370a0823114610582578063715018a6146105a257600080fd5b8063313ce5671461042f57806345ce53651461044b5780635074f36f1461046b5780635353a2d81461048b578063571ac8b0146104ab5780635e4ae81b146104cb57600080fd5b806318160ddd1161025057806318160ddd146103815780631d0f2c991461039657806323b872dd146103b85780632b112e49146103d85780632d44c931146103ed5780632d8381191461040f57600080fd5b80630445b667146102a357806306fdde03146102cc578063095ea7b3146102ee5780630cfc15f91461031e5780631161ae391461034b578063178002871461036b57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960205481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b506102e16108c0565b6040516102c39190611f34565b3480156102fa57600080fd5b5061030e610309366004611fa5565b610952565b60405190151581526020016102c3565b34801561032a57600080fd5b506102b9610339366004611fcf565b60076020526000908152604090205481565b34801561035757600080fd5b5061030e610366366004611fea565b6109bf565b34801561037757600080fd5b506102b960085481565b34801561038d57600080fd5b506004546102b9565b3480156103a257600080fd5b506103b66103b1366004611fea565b6109d3565b005b3480156103c457600080fd5b5061030e6103d336600461200c565b610a11565b3480156103e457600080fd5b506102b9610ad3565b3480156103f957600080fd5b506102b9610408366004612056565b5060155490565b34801561041b57600080fd5b506102b961042a366004612073565b610b04565b34801561043b57600080fd5b50604051601281526020016102c3565b34801561045757600080fd5b506102b9610466366004612073565b610b27565b34801561047757600080fd5b506103b661048636600461208c565b610b44565b34801561049757600080fd5b506103b66104a6366004612128565b610be3565b3480156104b757600080fd5b5061030e6104c6366004611fcf565b610c24565b3480156104d757600080fd5b506103b6610c32565b3480156104ec57600080fd5b50600c54601054600e546012546014546016545b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016102c3565b34801561053957600080fd5b506103b66105483660046121d9565b610c69565b34801561055957600080fd5b506103b6610cd5565b34801561056e57600080fd5b506103b661057d36600461208c565b610d09565b34801561058e57600080fd5b506102b961059d366004611fcf565b610da2565b3480156105ae57600080fd5b506103b6610dc4565b3480156105c357600080fd5b506103b66105d2366004612073565b610e38565b3480156105e357600080fd5b506103b6610ea1565b3480156105f857600080fd5b506103b6610607366004612223565b610ee0565b34801561061857600080fd5b506102b960055481565b34801561062e57600080fd5b506102b961063d366004612056565b5060145490565b34801561065057600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561068257600080fd5b506103b6610f6e565b34801561069757600080fd5b506000546001600160a01b031661065e565b3480156106b557600080fd5b506102b960065481565b3480156106cb57600080fd5b506102e1610fd6565b3480156106e057600080fd5b506103b66106ef366004612128565b610fe5565b34801561070057600080fd5b50601d5461065e906001600160a01b031681565b34801561072057600080fd5b5061030e61072f366004611fa5565b611022565b34801561074057600080fd5b50601d5461030e90600160a81b900460ff1681565b34801561076157600080fd5b50600d54601154600f54601354601554601654610500565b34801561078557600080fd5b506103b6610794366004612073565b61102f565b3480156107a557600080fd5b506102b96107b4366004612073565b611098565b3480156107c557600080fd5b506103b66107d4366004612073565b6110d2565b3480156107e557600080fd5b506103b66107f4366004612282565b611126565b34801561080557600080fd5b506102b96108143660046122c5565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561084b57600080fd5b5061030e61085a366004611fa5565b611181565b34801561086b57600080fd5b506103b661087a366004611fcf565b611281565b34801561088b57600080fd5b50601c5461065e906001600160a01b031681565b3480156108ab57600080fd5b50601d5461030e90600160a01b900460ff1681565b6060600280546108cf906122f8565b80601f01602080910402602001604051908101604052809291908181526020018280546108fb906122f8565b80156109485780601f1061091d57610100808354040283529160200191610948565b820191906000526020600020905b81548152906001019060200180831161092b57829003601f168201915b5050505050905090565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109ad9086815260200190565b60405180910390a35060015b92915050565b6000826109cb83611098565b119392505050565b6000546001600160a01b03163314610a065760405162461bcd60e51b81526004016109fd90612332565b60405180910390fd5b601a91909155601b55565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610abe576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610a9991849061136b565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610ac98484846113a5565b90505b9392505050565b6000610aff610ae26000610da2565b610af9610af061dead610da2565b60045490611692565b90611692565b905090565b60006109b9600854610b21600454856116d490919063ffffffff16565b90611756565b60006109b9600454610b21600854856116d490919063ffffffff16565b6000546001600160a01b03163314610b6e5760405162461bcd60e51b81526004016109fd90612332565b60005b82811015610bdd5781600a6000868685818110610b9057610b90612367565b9050602002016020810190610ba59190611fcf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bd681612393565b9050610b71565b50505050565b6000546001600160a01b03163314610c0d5760405162461bcd60e51b81526004016109fd90612332565b8051610c20906002906020840190611e9b565b5050565b60006109b982600019610952565b6000546001600160a01b03163314610c5c5760405162461bcd60e51b81526004016109fd90612332565b6004546006819055600555565b6000546001600160a01b03163314610c935760405162461bcd60e51b81526004016109fd90612332565b601d8054941515600160a81b0260ff60a81b19921515600160b01b029290921661ffff60a81b199095169490941717909255601e819055601f91909155602055565b6000546001600160a01b03163314610cff5760405162461bcd60e51b81526004016109fd90612332565b610d07611798565b565b6000546001600160a01b03163314610d335760405162461bcd60e51b81526004016109fd90612332565b60005b82811015610bdd5781600b6000868685818110610d5557610d55612367565b9050602002016020810190610d6a9190611fcf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d9b81612393565b9050610d36565b6001600160a01b0381166000908152600760205260408120546109b990610b04565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016109fd90612332565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e625760405162461bcd60e51b81526004016109fd90612332565b6103e8600454610e7291906123ac565b6005541015610e8057600080fd5b6103e881600454610e9191906123ce565b610e9b91906123ac565b60055550565b6000546001600160a01b03163314610ecb5760405162461bcd60e51b81526004016109fd90612332565b601d805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b81526004016109fd90612332565b600c89905560128890556010879055600e869055610f3486610f2e89818d8d611b6b565b90611b6b565b601455600d84905560138390556011829055600f819055610f5b81610f2e84818888611b6b565b6015555050506016919091555050505050565b6017546040516000916001600160a01b03169061753090479084818181858888f193505050503d8060008114610fc0576040519150601f19603f3d011682016040523d82523d6000602084013e610fc5565b606091505b5050905080610fd357600080fd5b50565b6060600380546108cf906122f8565b6000546001600160a01b0316331461100f5760405162461bcd60e51b81526004016109fd90612332565b8051610c20906003906020840190611e9b565b6000610acc3384846113a5565b6000546001600160a01b031633146110595760405162461bcd60e51b81526004016109fd90612332565b6103e860045461106991906123ac565b600654101561107757600080fd5b6103e88160045461108891906123ce565b61109291906123ac565b60065550565b60006109b96110a5610ad3565b601d54610b21906110cb906002906110c5906001600160a01b0316610da2565b906116d4565b85906116d4565b60175447906001600160a01b03166108fc60646110ef85856123ce565b6110f991906123ac565b6040518115909202916000818181858888f19350505050158015611121573d6000803e3d6000fd5b505050565b336000908152600b602052604090205460ff1661114257600080fd5b601880546001600160a01b039485166001600160a01b031991821617909155601980549285169282169290921790915560178054929093169116179055565b336000908152600b602052604081205460ff1661119d57600080fd5b81600003611210576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d91906123ed565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190612406565b6000546001600160a01b031633146112ab5760405162461bcd60e51b81526004016109fd90612332565b6001600160a01b0381166113105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109fd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818484111561138f5760405162461bcd60e51b81526004016109fd9190611f34565b50600061139c8486612423565b95945050505050565b60215460009060ff16156113c5576113be848484611bca565b9050610acc565b601d546001600160a01b038481169116148015906113ee57506001600160a01b03831661dead14155b801561140857506018546001600160a01b03848116911614155b801561142d57506001600160a01b0383166000908152600b602052604090205460ff16155b1561148d576006548261143f85610da2565b611449919061243a565b111561148d5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109fd565b601d546001600160a01b038481169116148015906114b657506001600160a01b03831661dead14155b80156114db57506001600160a01b0383166000908152600b602052604090205460ff16155b1561153057601d54600160a01b900460ff166115305760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109fd565b611538611cc2565b1561154557611545611798565b600061155083610b27565b90506115b88160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060076000896001600160a01b03166001600160a01b031681526020019081526020016000205461136b9092919063ffffffff16565b6001600160a01b038616600090815260076020908152604080832093909355600a90529081205460ff16156115ed5781611618565b601d54611618906001600160a01b0388811691161461160d576000611610565b60015b878785611d12565b6001600160a01b03861660009081526007602052604090205490915061163e9082611b6b565b6001600160a01b0380871660008181526007602052604090209290925587166000805160206124f283398151915261167584610b04565b60405190815260200160405180910390a350600195945050505050565b6000610acc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061136b565b6000826000036116e6575060006109b9565b60006116f283856123ce565b9050826116ff85836123ac565b14610acc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109fd565b6000610acc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6d565b6021805460ff19166001179055601a54601b546000916117b7916109bf565b6117c357600d546117c6565b60005b905060006117e160135460155461169290919063ffffffff16565b905060006118036002610b2184610b21876020546116d490919063ffffffff16565b9050600061181c8260205461169290919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061185657611856612367565b6001600160a01b039283166020918202929092010152600180548351921691839190811061188657611886612367565b6001600160a01b039283166020918202929092010152601c5460405163791ac94760e01b81524792919091169063791ac947906118d0908690600090879030904290600401612452565b600060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506000611917824761169290919063ffffffff16565b90506000611930611929896002611756565b8890611692565b905060006119526002610b2184610b21600d54886116d490919063ffffffff16565b9050600061196f83610b21601154876116d490919063ffffffff16565b9050600061198c84610b21600f54886116d490919063ffffffff16565b6018546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146119e3576040519150601f19603f3d011682016040523d82523d6000602084013e6119e8565b606091505b50506019546040519192506001600160a01b0316906175309084906000818181858888f193505050503d8060008114611a3d576040519150601f19603f3d011682016040523d82523d6000602084013e611a42565b606091505b50909150508915611b1f57601c5460175460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af1158015611abd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae291906124c3565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b601d54600160b01b900460ff1615611b4c57601e5460205414611b4457601e54611b50565b601f54611b50565b6020545b60205550506021805460ff1916905550505050505050505050565b600080611b78838561243a565b905083811015610acc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109fd565b600080611bd683610b27565b9050611c3e8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060076000896001600160a01b03166001600160a01b031681526020019081526020016000205461136b9092919063ffffffff16565b6001600160a01b038087166000908152600760205260408082209390935590861681522054611c6d9082611b6b565b6001600160a01b0380861660008181526007602052604090819020939093559151908716906000805160206124f283398151915290611caf9087815260200190565b60405180910390a3506001949350505050565b601d546000906001600160a01b03163314801590611ce3575060215460ff16155b8015611cf85750601d54600160a81b900460ff165b8015610aff5750602054611d0b30610da2565b1015905090565b600080600186151514611d3b57601654601554611d369190610b21905b86906116d4565b611d4f565b601654601454611d4f9190610b2190611d2f565b90506000600187151514611d7d57611d78601554610b21601354856116d490919063ffffffff16565b611d98565b611d98601454610b21601254856116d490919063ffffffff16565b600854909150611da89082611692565b6008556000611db78383611692565b30600090815260076020526040902054909150611dd49082611b6b565b306000818152600760205260409020919091556001600160a01b0388166000805160206124f2833981519152611e0984610b04565b60405190815260200160405180910390a36008546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611e618584611692565b98975050505050505050565b60008183611e8e5760405162461bcd60e51b81526004016109fd9190611f34565b50600061139c84866123ac565b828054611ea7906122f8565b90600052602060002090601f016020900481019282611ec95760008555611f0f565b82601f10611ee257805160ff1916838001178555611f0f565b82800160010185558215611f0f579182015b82811115611f0f578251825591602001919060010190611ef4565b50611f1b929150611f1f565b5090565b5b80821115611f1b5760008155600101611f20565b600060208083528351808285015260005b81811015611f6157858101830151858201604001528201611f45565b81811115611f73576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114611fa057600080fd5b919050565b60008060408385031215611fb857600080fd5b611fc183611f89565b946020939093013593505050565b600060208284031215611fe157600080fd5b610acc82611f89565b60008060408385031215611ffd57600080fd5b50508035926020909101359150565b60008060006060848603121561202157600080fd5b61202a84611f89565b925061203860208501611f89565b9150604084013590509250925092565b8015158114610fd357600080fd5b60006020828403121561206857600080fd5b8135610acc81612048565b60006020828403121561208557600080fd5b5035919050565b6000806000604084860312156120a157600080fd5b833567ffffffffffffffff808211156120b957600080fd5b818601915086601f8301126120cd57600080fd5b8135818111156120dc57600080fd5b8760208260051b85010111156120f157600080fd5b6020928301955093505084013561210781612048565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561213a57600080fd5b813567ffffffffffffffff8082111561215257600080fd5b818401915084601f83011261216657600080fd5b81358181111561217857612178612112565b604051601f8201601f19908116603f011681019083821181831017156121a0576121a0612112565b816040528281528760208487010111156121b957600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080608085870312156121ef57600080fd5b84356121fa81612048565b93506020850135925060408501359150606085013561221881612048565b939692955090935050565b60008060008060008060008060006101208a8c03121561224257600080fd5b505087359960208901359950604089013598606081013598506080810135975060a0810135965060c0810135955060e08101359450610100013592509050565b60008060006060848603121561229757600080fd5b6122a084611f89565b92506122ae60208501611f89565b91506122bc60408501611f89565b90509250925092565b600080604083850312156122d857600080fd5b6122e183611f89565b91506122ef60208401611f89565b90509250929050565b600181811c9082168061230c57607f821691505b60208210810361232c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016123a5576123a561237d565b5060010190565b6000826123c957634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156123e8576123e861237d565b500290565b6000602082840312156123ff57600080fd5b5051919050565b60006020828403121561241857600080fd5b8151610acc81612048565b6000828210156124355761243561237d565b500390565b6000821982111561244d5761244d61237d565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a25784516001600160a01b03168352938301939183019160010161247d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156124d857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ae8d9c120f42f99164c08631a166d23c19f3fd2323545f3fc153fe16619e542f64736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106102975760003560e01c806377a401781161015a578063a9059cbb116100c1578063d7c010321161007a578063d7c01032146107d9578063dd62ed3e146107f9578063f0a9e3651461083f578063f2fde38b1461085f578063f887ea401461087f578063ffb54a991461089f57600080fd5b8063a9059cbb14610714578063b0f7ec3814610734578063b93bdb5f14610755578063c3717a9a14610779578063d51ed1c814610799578063d78e139d146107b957600080fd5b80638a4068dd116101135780638a4068dd146106765780638da5cb5b1461068b5780638f9a55c0146106a957806395d89b41146106bf578063a3895fff146106d4578063a8aa1b31146106f457600080fd5b806377a40178146105b75780637c519ffb146105d75780637cd31f6d146105ec5780637d1db4a51461060c578063832790fe14610622578063893d20e81461064457600080fd5b8063313ce567116101fe578063613f930f116101b7578063613f930f146104e05780636308fb981461052d57806366eb37851461054d5780636b1ebc541461056257806370a0823114610582578063715018a6146105a257600080fd5b8063313ce5671461042f57806345ce53651461044b5780635074f36f1461046b5780635353a2d81461048b578063571ac8b0146104ab5780635e4ae81b146104cb57600080fd5b806318160ddd1161025057806318160ddd146103815780631d0f2c991461039657806323b872dd146103b85780632b112e49146103d85780632d44c931146103ed5780632d8381191461040f57600080fd5b80630445b667146102a357806306fdde03146102cc578063095ea7b3146102ee5780630cfc15f91461031e5780631161ae391461034b578063178002871461036b57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960205481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b506102e16108c0565b6040516102c39190611f34565b3480156102fa57600080fd5b5061030e610309366004611fa5565b610952565b60405190151581526020016102c3565b34801561032a57600080fd5b506102b9610339366004611fcf565b60076020526000908152604090205481565b34801561035757600080fd5b5061030e610366366004611fea565b6109bf565b34801561037757600080fd5b506102b960085481565b34801561038d57600080fd5b506004546102b9565b3480156103a257600080fd5b506103b66103b1366004611fea565b6109d3565b005b3480156103c457600080fd5b5061030e6103d336600461200c565b610a11565b3480156103e457600080fd5b506102b9610ad3565b3480156103f957600080fd5b506102b9610408366004612056565b5060155490565b34801561041b57600080fd5b506102b961042a366004612073565b610b04565b34801561043b57600080fd5b50604051601281526020016102c3565b34801561045757600080fd5b506102b9610466366004612073565b610b27565b34801561047757600080fd5b506103b661048636600461208c565b610b44565b34801561049757600080fd5b506103b66104a6366004612128565b610be3565b3480156104b757600080fd5b5061030e6104c6366004611fcf565b610c24565b3480156104d757600080fd5b506103b6610c32565b3480156104ec57600080fd5b50600c54601054600e546012546014546016545b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016102c3565b34801561053957600080fd5b506103b66105483660046121d9565b610c69565b34801561055957600080fd5b506103b6610cd5565b34801561056e57600080fd5b506103b661057d36600461208c565b610d09565b34801561058e57600080fd5b506102b961059d366004611fcf565b610da2565b3480156105ae57600080fd5b506103b6610dc4565b3480156105c357600080fd5b506103b66105d2366004612073565b610e38565b3480156105e357600080fd5b506103b6610ea1565b3480156105f857600080fd5b506103b6610607366004612223565b610ee0565b34801561061857600080fd5b506102b960055481565b34801561062e57600080fd5b506102b961063d366004612056565b5060145490565b34801561065057600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561068257600080fd5b506103b6610f6e565b34801561069757600080fd5b506000546001600160a01b031661065e565b3480156106b557600080fd5b506102b960065481565b3480156106cb57600080fd5b506102e1610fd6565b3480156106e057600080fd5b506103b66106ef366004612128565b610fe5565b34801561070057600080fd5b50601d5461065e906001600160a01b031681565b34801561072057600080fd5b5061030e61072f366004611fa5565b611022565b34801561074057600080fd5b50601d5461030e90600160a81b900460ff1681565b34801561076157600080fd5b50600d54601154600f54601354601554601654610500565b34801561078557600080fd5b506103b6610794366004612073565b61102f565b3480156107a557600080fd5b506102b96107b4366004612073565b611098565b3480156107c557600080fd5b506103b66107d4366004612073565b6110d2565b3480156107e557600080fd5b506103b66107f4366004612282565b611126565b34801561080557600080fd5b506102b96108143660046122c5565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561084b57600080fd5b5061030e61085a366004611fa5565b611181565b34801561086b57600080fd5b506103b661087a366004611fcf565b611281565b34801561088b57600080fd5b50601c5461065e906001600160a01b031681565b3480156108ab57600080fd5b50601d5461030e90600160a01b900460ff1681565b6060600280546108cf906122f8565b80601f01602080910402602001604051908101604052809291908181526020018280546108fb906122f8565b80156109485780601f1061091d57610100808354040283529160200191610948565b820191906000526020600020905b81548152906001019060200180831161092b57829003601f168201915b5050505050905090565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109ad9086815260200190565b60405180910390a35060015b92915050565b6000826109cb83611098565b119392505050565b6000546001600160a01b03163314610a065760405162461bcd60e51b81526004016109fd90612332565b60405180910390fd5b601a91909155601b55565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610abe576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610a9991849061136b565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610ac98484846113a5565b90505b9392505050565b6000610aff610ae26000610da2565b610af9610af061dead610da2565b60045490611692565b90611692565b905090565b60006109b9600854610b21600454856116d490919063ffffffff16565b90611756565b60006109b9600454610b21600854856116d490919063ffffffff16565b6000546001600160a01b03163314610b6e5760405162461bcd60e51b81526004016109fd90612332565b60005b82811015610bdd5781600a6000868685818110610b9057610b90612367565b9050602002016020810190610ba59190611fcf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bd681612393565b9050610b71565b50505050565b6000546001600160a01b03163314610c0d5760405162461bcd60e51b81526004016109fd90612332565b8051610c20906002906020840190611e9b565b5050565b60006109b982600019610952565b6000546001600160a01b03163314610c5c5760405162461bcd60e51b81526004016109fd90612332565b6004546006819055600555565b6000546001600160a01b03163314610c935760405162461bcd60e51b81526004016109fd90612332565b601d8054941515600160a81b0260ff60a81b19921515600160b01b029290921661ffff60a81b199095169490941717909255601e819055601f91909155602055565b6000546001600160a01b03163314610cff5760405162461bcd60e51b81526004016109fd90612332565b610d07611798565b565b6000546001600160a01b03163314610d335760405162461bcd60e51b81526004016109fd90612332565b60005b82811015610bdd5781600b6000868685818110610d5557610d55612367565b9050602002016020810190610d6a9190611fcf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d9b81612393565b9050610d36565b6001600160a01b0381166000908152600760205260408120546109b990610b04565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016109fd90612332565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e625760405162461bcd60e51b81526004016109fd90612332565b6103e8600454610e7291906123ac565b6005541015610e8057600080fd5b6103e881600454610e9191906123ce565b610e9b91906123ac565b60055550565b6000546001600160a01b03163314610ecb5760405162461bcd60e51b81526004016109fd90612332565b601d805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b81526004016109fd90612332565b600c89905560128890556010879055600e869055610f3486610f2e89818d8d611b6b565b90611b6b565b601455600d84905560138390556011829055600f819055610f5b81610f2e84818888611b6b565b6015555050506016919091555050505050565b6017546040516000916001600160a01b03169061753090479084818181858888f193505050503d8060008114610fc0576040519150601f19603f3d011682016040523d82523d6000602084013e610fc5565b606091505b5050905080610fd357600080fd5b50565b6060600380546108cf906122f8565b6000546001600160a01b0316331461100f5760405162461bcd60e51b81526004016109fd90612332565b8051610c20906003906020840190611e9b565b6000610acc3384846113a5565b6000546001600160a01b031633146110595760405162461bcd60e51b81526004016109fd90612332565b6103e860045461106991906123ac565b600654101561107757600080fd5b6103e88160045461108891906123ce565b61109291906123ac565b60065550565b60006109b96110a5610ad3565b601d54610b21906110cb906002906110c5906001600160a01b0316610da2565b906116d4565b85906116d4565b60175447906001600160a01b03166108fc60646110ef85856123ce565b6110f991906123ac565b6040518115909202916000818181858888f19350505050158015611121573d6000803e3d6000fd5b505050565b336000908152600b602052604090205460ff1661114257600080fd5b601880546001600160a01b039485166001600160a01b031991821617909155601980549285169282169290921790915560178054929093169116179055565b336000908152600b602052604081205460ff1661119d57600080fd5b81600003611210576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d91906123ed565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190612406565b6000546001600160a01b031633146112ab5760405162461bcd60e51b81526004016109fd90612332565b6001600160a01b0381166113105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109fd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818484111561138f5760405162461bcd60e51b81526004016109fd9190611f34565b50600061139c8486612423565b95945050505050565b60215460009060ff16156113c5576113be848484611bca565b9050610acc565b601d546001600160a01b038481169116148015906113ee57506001600160a01b03831661dead14155b801561140857506018546001600160a01b03848116911614155b801561142d57506001600160a01b0383166000908152600b602052604090205460ff16155b1561148d576006548261143f85610da2565b611449919061243a565b111561148d5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109fd565b601d546001600160a01b038481169116148015906114b657506001600160a01b03831661dead14155b80156114db57506001600160a01b0383166000908152600b602052604090205460ff16155b1561153057601d54600160a01b900460ff166115305760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109fd565b611538611cc2565b1561154557611545611798565b600061155083610b27565b90506115b88160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060076000896001600160a01b03166001600160a01b031681526020019081526020016000205461136b9092919063ffffffff16565b6001600160a01b038616600090815260076020908152604080832093909355600a90529081205460ff16156115ed5781611618565b601d54611618906001600160a01b0388811691161461160d576000611610565b60015b878785611d12565b6001600160a01b03861660009081526007602052604090205490915061163e9082611b6b565b6001600160a01b0380871660008181526007602052604090209290925587166000805160206124f283398151915261167584610b04565b60405190815260200160405180910390a350600195945050505050565b6000610acc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061136b565b6000826000036116e6575060006109b9565b60006116f283856123ce565b9050826116ff85836123ac565b14610acc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109fd565b6000610acc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6d565b6021805460ff19166001179055601a54601b546000916117b7916109bf565b6117c357600d546117c6565b60005b905060006117e160135460155461169290919063ffffffff16565b905060006118036002610b2184610b21876020546116d490919063ffffffff16565b9050600061181c8260205461169290919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061185657611856612367565b6001600160a01b039283166020918202929092010152600180548351921691839190811061188657611886612367565b6001600160a01b039283166020918202929092010152601c5460405163791ac94760e01b81524792919091169063791ac947906118d0908690600090879030904290600401612452565b600060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506000611917824761169290919063ffffffff16565b90506000611930611929896002611756565b8890611692565b905060006119526002610b2184610b21600d54886116d490919063ffffffff16565b9050600061196f83610b21601154876116d490919063ffffffff16565b9050600061198c84610b21600f54886116d490919063ffffffff16565b6018546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146119e3576040519150601f19603f3d011682016040523d82523d6000602084013e6119e8565b606091505b50506019546040519192506001600160a01b0316906175309084906000818181858888f193505050503d8060008114611a3d576040519150601f19603f3d011682016040523d82523d6000602084013e611a42565b606091505b50909150508915611b1f57601c5460175460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af1158015611abd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae291906124c3565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b601d54600160b01b900460ff1615611b4c57601e5460205414611b4457601e54611b50565b601f54611b50565b6020545b60205550506021805460ff1916905550505050505050505050565b600080611b78838561243a565b905083811015610acc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109fd565b600080611bd683610b27565b9050611c3e8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060076000896001600160a01b03166001600160a01b031681526020019081526020016000205461136b9092919063ffffffff16565b6001600160a01b038087166000908152600760205260408082209390935590861681522054611c6d9082611b6b565b6001600160a01b0380861660008181526007602052604090819020939093559151908716906000805160206124f283398151915290611caf9087815260200190565b60405180910390a3506001949350505050565b601d546000906001600160a01b03163314801590611ce3575060215460ff16155b8015611cf85750601d54600160a81b900460ff165b8015610aff5750602054611d0b30610da2565b1015905090565b600080600186151514611d3b57601654601554611d369190610b21905b86906116d4565b611d4f565b601654601454611d4f9190610b2190611d2f565b90506000600187151514611d7d57611d78601554610b21601354856116d490919063ffffffff16565b611d98565b611d98601454610b21601254856116d490919063ffffffff16565b600854909150611da89082611692565b6008556000611db78383611692565b30600090815260076020526040902054909150611dd49082611b6b565b306000818152600760205260409020919091556001600160a01b0388166000805160206124f2833981519152611e0984610b04565b60405190815260200160405180910390a36008546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611e618584611692565b98975050505050505050565b60008183611e8e5760405162461bcd60e51b81526004016109fd9190611f34565b50600061139c84866123ac565b828054611ea7906122f8565b90600052602060002090601f016020900481019282611ec95760008555611f0f565b82601f10611ee257805160ff1916838001178555611f0f565b82800160010185558215611f0f579182015b82811115611f0f578251825591602001919060010190611ef4565b50611f1b929150611f1f565b5090565b5b80821115611f1b5760008155600101611f20565b600060208083528351808285015260005b81811015611f6157858101830151858201604001528201611f45565b81811115611f73576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114611fa057600080fd5b919050565b60008060408385031215611fb857600080fd5b611fc183611f89565b946020939093013593505050565b600060208284031215611fe157600080fd5b610acc82611f89565b60008060408385031215611ffd57600080fd5b50508035926020909101359150565b60008060006060848603121561202157600080fd5b61202a84611f89565b925061203860208501611f89565b9150604084013590509250925092565b8015158114610fd357600080fd5b60006020828403121561206857600080fd5b8135610acc81612048565b60006020828403121561208557600080fd5b5035919050565b6000806000604084860312156120a157600080fd5b833567ffffffffffffffff808211156120b957600080fd5b818601915086601f8301126120cd57600080fd5b8135818111156120dc57600080fd5b8760208260051b85010111156120f157600080fd5b6020928301955093505084013561210781612048565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561213a57600080fd5b813567ffffffffffffffff8082111561215257600080fd5b818401915084601f83011261216657600080fd5b81358181111561217857612178612112565b604051601f8201601f19908116603f011681019083821181831017156121a0576121a0612112565b816040528281528760208487010111156121b957600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080608085870312156121ef57600080fd5b84356121fa81612048565b93506020850135925060408501359150606085013561221881612048565b939692955090935050565b60008060008060008060008060006101208a8c03121561224257600080fd5b505087359960208901359950604089013598606081013598506080810135975060a0810135965060c0810135955060e08101359450610100013592509050565b60008060006060848603121561229757600080fd5b6122a084611f89565b92506122ae60208501611f89565b91506122bc60408501611f89565b90509250925092565b600080604083850312156122d857600080fd5b6122e183611f89565b91506122ef60208401611f89565b90509250929050565b600181811c9082168061230c57607f821691505b60208210810361232c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016123a5576123a561237d565b5060010190565b6000826123c957634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156123e8576123e861237d565b500290565b6000602082840312156123ff57600080fd5b5051919050565b60006020828403121561241857600080fd5b8151610acc81612048565b6000828210156124355761243561237d565b500390565b6000821982111561244d5761244d61237d565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a25784516001600160a01b03168352938301939183019160010161247d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156124d857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ae8d9c120f42f99164c08631a166d23c19f3fd2323545f3fc153fe16619e542f64736f6c634300080d0033
Deployed Bytecode Sourcemap
6955:15233:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8956:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8956:49:0;;;;;;;;10160:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11324:216::-;;;;;;;;;;-1:-1:-1;11324:216:0;;;;;:::i;:::-;;:::i;:::-;;;1400:14:1;;1393:22;1375:41;;1363:2;1348:18;11324:216:0;1235:187:1;7651:43:0;;;;;;;;;;-1:-1:-1;7651:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;21890:156;;;;;;;;;;-1:-1:-1;21890:156:0;;;;;:::i;:::-;;:::i;7701:46::-;;;;;;;;;;;;;;;;9989:88;;;;;;;;;;-1:-1:-1;10062:12:0;;9989:88;;16488:177;;;;;;;;;;-1:-1:-1;16488:177:0;;;;;:::i;:::-;;:::i;:::-;;11842:370;;;;;;;;;;-1:-1:-1;11842:370:0;;;;;:::i;:::-;;:::i;21563:142::-;;;;;;;;;;;;;:::i;14505:99::-;;;;;;;;;;-1:-1:-1;14505:99:0;;;;;:::i;:::-;-1:-1:-1;14584:12:0;;;14505:99;13524:155;;;;;;;;;;-1:-1:-1;13524:155:0;;;;;:::i;:::-;;:::i;10083:71::-;;;;;;;;;;-1:-1:-1;10083:71:0;;7335:2;2900:36:1;;2888:2;2873:18;10083:71:0;2758:184:1;13370:146:0;;;;;;;;;;-1:-1:-1;13370:146:0;;;;;:::i;:::-;;:::i;20791:206::-;;;;;;;;;;-1:-1:-1;20791:206:0;;;;;:::i;:::-;;:::i;10237:82::-;;;;;;;;;;-1:-1:-1;10237:82:0;;;;;:::i;:::-;;:::i;11548:122::-;;;;;;;;;;-1:-1:-1;11548:122:0;;;;;:::i;:::-;;:::i;16675:132::-;;;;;;;;;;;;;:::i;10856:220::-;;;;;;;;;;-1:-1:-1;10976:15:0;;10993;;11010:10;;11022:16;;11040:11;;11053:14;;10856:220;;;;5048:25:1;;;5104:2;5089:18;;5082:34;;;;5132:18;;;5125:34;;;;5190:2;5175:18;;5168:34;5233:3;5218:19;;5211:35;5277:3;5262:19;;5255:35;5035:3;5020:19;10856:220:0;4761:535:1;18951:321:0;;;;;;;;;;-1:-1:-1;18951:321:0;;;;;:::i;:::-;;:::i;16393:83::-;;;;;;;;;;;;;:::i;21005:215::-;;;;;;;;;;-1:-1:-1;21005:215:0;;;;;:::i;:::-;;:::i;10579:124::-;;;;;;;;;;-1:-1:-1;10579:124:0;;;;;:::i;:::-;;:::i;6401:148::-;;;;;;;;;;;;;:::i;20546:227::-;;;;;;;;;;-1:-1:-1;20546:227:0;;;;;:::i;:::-;;:::i;19313:82::-;;;;;;;;;;;;;:::i;19403:894::-;;;;;;;;;;-1:-1:-1;19403:894:0;;;;;:::i;:::-;;:::i;7402:54::-;;;;;;;;;;;;;;;;14400:97;;;;;;;;;;-1:-1:-1;14400:97:0;;;;;:::i;:::-;-1:-1:-1;14478:11:0;;;14400:97;10502:71;;;;;;;;;;-1:-1:-1;10545:7:0;5825:6;-1:-1:-1;;;;;5825:6:0;10502:71;;;-1:-1:-1;;;;;6718:32:1;;;6700:51;;6688:2;6673:18;10502:71:0;6554:203:1;15668:183:0;;;;;;;;;;;;;:::i;5760:79::-;;;;;;;;;;-1:-1:-1;5798:7:0;5825:6;-1:-1:-1;;;;;5825:6:0;5760:79;;7463:56;;;;;;;;;;;;;;;;10421:75;;;;;;;;;;;;;:::i;10325:90::-;;;;;;;;;;-1:-1:-1;10325:90:0;;;;;:::i;:::-;;:::i;8690:19::-;;;;;;;;;;-1:-1:-1;8690:19:0;;;;-1:-1:-1;;;;;8690:19:0;;;11678:156;;;;;;;;;;-1:-1:-1;11678:156:0;;;;;:::i;:::-;;:::i;8762:31::-;;;;;;;;;;-1:-1:-1;8762:31:0;;;;-1:-1:-1;;;8762:31:0;;;;;;11090:226;;;;;;;;;;-1:-1:-1;11211:16:0;;11229;;11247:11;;11260:17;;11279:12;;11293:14;;11090:226;;20305:233;;;;;;;;;;-1:-1:-1;20305:233:0;;;;;:::i;:::-;;:::i;21713:169::-;;;;;;;;;;-1:-1:-1;21713:169:0;;;;;:::i;:::-;;:::i;15860:204::-;;;;;;;;;;-1:-1:-1;15860:204:0;;;;;:::i;:::-;;:::i;21228:327::-;;;;;;;;;;-1:-1:-1;21228:327:0;;;;;:::i;:::-;;:::i;10709:133::-;;;;;;;;;;-1:-1:-1;10709:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;10811:19:0;;;10793:7;10811:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10709:133;16073:312;;;;;;;;;;-1:-1:-1;16073:312:0;;;;;:::i;:::-;;:::i;6704:244::-;;;;;;;;;;-1:-1:-1;6704:244:0;;;;;:::i;:::-;;:::i;8659:24::-;;;;;;;;;;-1:-1:-1;8659:24:0;;;;-1:-1:-1;;;;;8659:24:0;;;8718:31;;;;;;;;;;-1:-1:-1;8718:31:0;;;;-1:-1:-1;;;8718:31:0;;;;;;10160:71;10199:13;10223:5;10216:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10160:71;:::o;11324:216::-;11428:10;11399:4;11416:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;11416:32:0;;;;;;;;;;:41;;;11473:37;11399:4;;11416:32;;11473:37;;;;11451:6;160:25:1;;148:2;133:18;;14:177;11473:37:0;;;;;;;;-1:-1:-1;11528:4:0;11324:216;;;;;:::o;21890:156::-;21970:4;22026:6;21994:29;22014:8;21994:19;:29::i;:::-;:38;;21890:156;-1:-1:-1;;;21890:156:0:o;16488:177::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;;;;;;;;;16576:15:::1;:25:::0;;;;16612:26:::1;:41:::0;16488:177::o;11842:370::-;-1:-1:-1;;;;;11962:19:0;;11942:4;11962:19;;;:11;:19;;;;;;;;11982:10;11962:31;;;;;;;;-1:-1:-1;;11962:52:0;11959:186;;12064:69;;;;;;;;;;;-1:-1:-1;;;12064:69:0;;;;;;;;-1:-1:-1;;;;;12064:19:0;;-1:-1:-1;12064:19:0;;;:11;:19;;;;;12084:10;12064:31;;;;;;;;;;:69;;12100:6;;12064:35;:69::i;:::-;-1:-1:-1;;;;;12030:19:0;;;;;;:11;:19;;;;;;;;12050:10;12030:31;;;;;;;:103;11959:186;12164:40;12178:6;12186:9;12197:6;12164:13;:40::i;:::-;12157:47;;11842:370;;;;;;:::o;21563:142::-;21616:7;21643:54;21681:15;7182:42;21681:9;:15::i;:::-;21643:33;21660:15;7100:42;21660:9;:15::i;:::-;21643:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;21636:61;;21563:142;:::o;13524:155::-;13594:7;13621:50;13654:16;;13621:28;13636:12;;13621:10;:14;;:28;;;;:::i;:::-;:32;;:50::i;13370:146::-;13435:7;13462:46;13495:12;;13462:28;13473:16;;13462:6;:10;;:28;;;;:::i;20791:206::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;20891:9:::1;20886:104;20902:20:::0;;::::1;20886:104;;;20972:6;20944:11;:25;20956:9;;20966:1;20956:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20944:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20944:25:0;:34;;-1:-1:-1;;20944:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20924:3:::1;::::0;::::1;:::i;:::-;;;20886:104;;;;20791:206:::0;;;:::o;10237:82::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;10301:15;;::::1;::::0;:5:::1;::::0;:15:::1;::::0;::::1;::::0;::::1;:::i;:::-;;10237:82:::0;:::o;11548:122::-;11603:4;11627:35;11635:7;-1:-1:-1;;11627:7:0;:35::i;16675:132::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;16747:12:::1;::::0;16730:14:::1;:29:::0;;;16770:12:::1;:27:::0;16675:132::o;18951:321::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;19078:14:::1;:27:::0;;19116:23;::::1;;-1:-1:-1::0;;;19116:23:0::1;-1:-1:-1::0;;;;19078:27:0;::::1;;-1:-1:-1::0;;;19078:27:0::1;19116:23:::0;;;;-1:-1:-1;;;;19116:23:0;;;;;;;::::1;::::0;;;19150:18:::1;:29:::0;;;19190:18:::1;:29:::0;;;;19230:13:::1;:34:::0;18951:321::o;16393:83::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;16452:10:::1;:8;:10::i;:::-;16393:83::o:0;21005:215::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;21109:9:::1;21104:108;21120:20:::0;;::::1;21104:108;;;21194:6;21162:15;:29;21178:9;;21188:1;21178:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21162:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21162:29:0;:38;;-1:-1:-1;;21162:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21142:3:::1;::::0;::::1;:::i;:::-;;;21104:108;;10579:124:::0;-1:-1:-1;;;;;10683:16:0;;10645:7;10683:16;;;:7;:16;;;;;;10663:37;;:19;:37::i;6401:148::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;6508:1:::1;6492:6:::0;;6471:40:::1;::::0;-1:-1:-1;;;;;6492:6:0;;::::1;::::0;6471:40:::1;::::0;6508:1;;6471:40:::1;6539:1;6522:19:::0;;-1:-1:-1;;;;;;6522:19:0::1;::::0;;6401:148::o;20546:227::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;20685:4:::1;20670:12;;:19;;;;:::i;:::-;20654:12;;:35;;20646:44;;;::::0;::::1;;20761:4;20732:24;20717:12;;:39;;;;:::i;:::-;20716:49;;;;:::i;:::-;20701:12;:64:::0;-1:-1:-1;20546:227:0:o;19313:82::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;19363:11:::1;:18:::0;;-1:-1:-1;;;;19363:18:0::1;-1:-1:-1::0;;;19363:18:0::1;::::0;;19313:82::o;19403:894::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;19687:15:::1;:34:::0;;;19732:16:::1;:36:::0;;;19779:15:::1;:34:::0;;;19824:10:::1;:24:::0;;;19873:74:::1;19837:11:::0;19873:58:::1;19797:16:::0;19873:58;19705:16;19751:17;19873:19:::1;:37::i;:::-;:41:::0;::::1;:58::i;:74::-;19859:11;:88:::0;19960:16:::1;:36:::0;;;20007:17:::1;:38:::0;;;20056:16:::1;:36:::0;;;20103:11:::1;:26:::0;;;20155:78:::1;20117:12:::0;20155:61:::1;20075:17:::0;20155:61;19979:17;20027:18;20155:20:::1;:39::i;:78::-;20140:12;:93:::0;-1:-1:-1;;;20246:14:0::1;:32:::0;;;;-1:-1:-1;;;;;19403:894:0:o;15668:183::-;15734:21;;15726:81;;15709:12;;-1:-1:-1;;;;;15734:21:0;;15797:5;;15769:21;;15709:12;15726:81;15709:12;15726:81;15769:21;15734;15797:5;15726:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15708:99;;;15826:7;15818:16;;;;;;15697:154;15668:183::o;10421:75::-;10462:13;10486:7;10479:14;;;;;:::i;10325:90::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;10393:19;;::::1;::::0;:7:::1;::::0;:19:::1;::::0;::::1;::::0;::::1;:::i;11678:156::-:0;11758:4;11782:44;11796:10;11808:9;11819:6;11782:13;:44::i;20305:233::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;20449:4:::1;20434:12;;:19;;;;:::i;:::-;20416:14;;:37;;20408:46;;;::::0;::::1;;20526:4;20498:23;20483:12;;:38;;;;:::i;:::-;20482:48;;;;:::i;:::-;20465:14;:65:::0;-1:-1:-1;20305:233:0:o;21713:169::-;21781:7;21808:64;21849:22;:20;:22::i;:::-;21831:4;;21808:36;;21821:22;;21841:1;;21821:15;;-1:-1:-1;;;;;21831:4:0;21821:9;:15::i;:::-;:19;;:22::i;:::-;21808:8;;:12;:36::i;15860:204::-;15989:21;;15949;;-1:-1:-1;;;;;15989:21:0;15981:75;16052:3;16021:28;16033:16;15949:21;16021:28;:::i;:::-;:34;;;;:::i;:::-;15981:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15918:146;15860:204;:::o;21228:327::-;21382:10;21366:27;;;;:15;:27;;;;;;;;21358:36;;;;;;21405:20;:44;;-1:-1:-1;;;;;21405:44:0;;;-1:-1:-1;;;;;;21405:44:0;;;;;;;21460:15;:34;;;;;;;;;;;;;;;21505:21;:42;;;;;;;;;;;21228:327::o;16073:312::-;16195:10;16154:4;16179:27;;;:15;:27;;;;;;;;16171:36;;;;;;16218:6;16228:1;16218:11;16215:96;;16254:45;;-1:-1:-1;;;16254:45:0;;16293:4;16254:45;;;6700:51:1;-1:-1:-1;;;;;16254:30:0;;;;;6673:18:1;;16254:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16245:54;;16215:96;16328:49;;-1:-1:-1;;;16328:49:0;;16358:10;16328:49;;;9710:51:1;9777:18;;;9770:34;;;-1:-1:-1;;;;;16328:29:0;;;;;9683:18:1;;16328:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6704:244::-;5972:6;;-1:-1:-1;;;;;5972:6:0;4191:10;5972:22;5964:67;;;;-1:-1:-1;;;5964:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6793:22:0;::::1;6785:73;;;::::0;-1:-1:-1;;;6785:73:0;;10267:2:1;6785:73:0::1;::::0;::::1;10249:21:1::0;10306:2;10286:18;;;10279:30;10345:34;10325:18;;;10318:62;-1:-1:-1;;;10396:18:1;;;10389:36;10442:19;;6785:73:0::1;10065:402:1::0;6785:73:0::1;6895:6;::::0;;6874:38:::1;::::0;-1:-1:-1;;;;;6874:38:0;;::::1;::::0;6895:6;::::1;::::0;6874:38:::1;::::0;::::1;6923:6;:17:::0;;-1:-1:-1;;;;;;6923:17:0::1;-1:-1:-1::0;;;;;6923:17:0;;;::::1;::::0;;;::::1;::::0;;6704:244::o;3126:192::-;3212:7;3248:12;3240:6;;;;3232:29;;;;-1:-1:-1;;;3232:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3272:9:0;3284:5;3288:1;3284;:5;:::i;:::-;3272:17;3126:192;-1:-1:-1;;;;;3126:192:0:o;12220:1142::-;12332:6;;12312:4;;12332:6;;12329:63;;;12348:41;12363:6;12371:9;12382:6;12348:14;:41::i;:::-;12341:48;;;;12329:63;12421:4;;-1:-1:-1;;;;;12408:17:0;;;12421:4;;12408:17;;;;:38;;-1:-1:-1;;;;;;12429:17:0;;7100:42;12429:17;;12408:38;:75;;;;-1:-1:-1;12463:20:0;;-1:-1:-1;;;;;12450:33:0;;;12463:20;;12450:33;;12408:75;:106;;;;-1:-1:-1;;;;;;12488:26:0;;;;;;:15;:26;;;;;;;;12487:27;12408:106;12404:220;;;12572:14;;12562:6;12539:20;12549:9;12539;:20::i;:::-;:29;;;;:::i;:::-;:47;;12531:79;;;;-1:-1:-1;;;12531:79:0;;10937:2:1;12531:79:0;;;10919:21:1;10976:2;10956:18;;;10949:30;-1:-1:-1;;;10995:18:1;;;10988:49;11054:18;;12531:79:0;10735:343:1;12531:79:0;12658:4;;-1:-1:-1;;;;;12645:17:0;;;12658:4;;12645:17;;;;:38;;-1:-1:-1;;;;;;12666:17:0;;7100:42;12666:17;;12645:38;:69;;;;-1:-1:-1;;;;;;12688:26:0;;;;;;:15;:26;;;;;;;;12687:27;12645:69;12641:155;;;12739:11;;-1:-1:-1;;;12739:11:0;;;;12731:43;;;;-1:-1:-1;;;12731:43:0;;11285:2:1;12731:43:0;;;11267:21:1;11324:2;11304:18;;;11297:30;-1:-1:-1;;;11343:18:1;;;11336:50;11403:18;;12731:43:0;11083:344:1;12731:43:0;12811:16;:14;:16::i;:::-;12808:35;;;12830:10;:8;:10::i;:::-;12855:24;12882:26;12901:6;12882:18;:26::i;:::-;12855:53;;12939:61;12959:16;12939:61;;;;;;;;;;;;;-1:-1:-1;;;12939:61:0;;;:7;:15;12947:6;-1:-1:-1;;;;;12939:15:0;-1:-1:-1;;;;;12939:15:0;;;;;;;;;;;;;:19;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;12921:15:0;;;;;;:7;:15;;;;;;;;:79;;;;14188:11;:19;;;;;;;;14187:20;13042:130;;13156:16;13042:130;;;13097:4;;13066:87;;-1:-1:-1;;;;;13087:14:0;;;13097:4;;13087:14;:28;;13110:5;13087:28;;;13103:4;13087:28;13117:6;13125:9;13136:16;13066:20;:87::i;:::-;-1:-1:-1;;;;;13204:18:0;;;;;;:7;:18;;;;;;13013:159;;-1:-1:-1;13204:42:0;;13013:159;13204:22;:42::i;:::-;-1:-1:-1;;;;;13183:18:0;;;;;;;:7;:18;;;;;:63;;;;13264:68;;-1:-1:-1;;;;;;;;;;;13292:39:0;13312:18;13292:19;:39::i;:::-;13264:68;;160:25:1;;;148:2;133:18;13264:68:0;;;;;;;-1:-1:-1;13350:4:0;;12220:1142;-1:-1:-1;;;;;12220:1142:0:o;2984:136::-;3042:7;3069:43;3073:1;3076;3069:43;;;;;;;;;;;;;;;;;:3;:43::i;3324:250::-;3382:7;3406:1;3411;3406:6;3402:47;;-1:-1:-1;3436:1:0;3429:8;;3402:47;3461:9;3473:5;3477:1;3473;:5;:::i;:::-;3461:17;-1:-1:-1;3506:1:0;3497:5;3501:1;3461:17;3497:5;:::i;:::-;:10;3489:56;;;;-1:-1:-1;;;3489:56:0;;11634:2:1;3489:56:0;;;11616:21:1;11673:2;11653:18;;;11646:30;11712:34;11692:18;;;11685:62;-1:-1:-1;;;11763:18:1;;;11756:31;11804:19;;3489:56:0;11432:397:1;3580:132:0;3638:7;3665:39;3669:1;3672;3665:39;;;;;;;;;;;;;;;;;:3;:39::i;17021:1922::-;9052:6;:13;;-1:-1:-1;;9052:13:0;9061:4;9052:13;;;17116:15:::1;::::0;17133:26:::1;::::0;9052:6;;17100:60:::1;::::0;:15:::1;:60::i;:::-;:83;;17167:16;;17100:83;;;17163:1;17100:83;17070:113;;17194:17;17214:35;17231:17;;17214:12;;:16;;:35;;;;:::i;:::-;17194:55;;17260:23;17286:60;17344:1;17286:53;17329:9;17286:38;17304:19;17286:13;;:17;;:38;;;;:::i;:60::-;17260:86;;17357:20;17380:34;17398:15;17380:13;;:17;;:34;;;;:::i;:::-;17451:16;::::0;;17465:1:::1;17451:16:::0;;;;;::::1;::::0;;17357:57;;-1:-1:-1;17427:21:0::1;::::0;17451:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17451:16:0::1;17427:40;;17496:4;17478;17483:1;17478:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17478:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17522:4:::1;::::0;;17512:7;;17522:4;::::1;::::0;17512;;17522;17512:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;17512:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;17597:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;17597:188:0;;17563:21:::1;::::0;17597:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;17669:12;;17539:21:::1;::::0;17712:4;;17739::::1;::::0;17759:15:::1;::::0;17597:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17798:17;17818:40;17844:13;17818:21;:25;;:40;;;;:::i;:::-;17798:60:::0;-1:-1:-1;17871:19:0::1;17893:41;17907:26;:19:::0;17931:1:::1;17907:23;:26::i;:::-;17893:9:::0;;:13:::1;:41::i;:::-;17871:63;;17945:26;17974:55;18027:1;17974:48;18010:11;17974:31;17988:16;;17974:9;:13;;:31;;;;:::i;:55::-;17945:84;;18040:26;18069:48;18105:11;18069:31;18083:16;;18069:9;:13;;:31;;;;:::i;:48::-;18040:77;;18128:21;18152:43;18183:11;18152:26;18166:11;;18152:9;:13;;:26;;;;:::i;:43::-;18237:20;::::0;18229:77:::1;::::0;18128:67;;-1:-1:-1;18209:15:0::1;::::0;-1:-1:-1;;;;;18237:20:0;;::::1;::::0;18296:5:::1;::::0;18271:18;;18209:15;18229:77;18209:15;18229:77;18271:18;18237:20;18296:5;18229:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;18341:15:0::1;::::0;18333:67:::1;::::0;18208:98;;-1:-1:-1;;;;;;18341:15:0::1;::::0;18390:5:::1;::::0;18370:13;;18333:67:::1;::::0;;;18370:13;18341:15;18390:5;18333:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;18317:83:0;;-1:-1:-1;;18436:19:0;;18433:363:::1;;18472:6;::::0;18646:21:::1;::::0;18472:244:::1;::::0;-1:-1:-1;;;18472:244:0;;18548:4:::1;18472:244;::::0;::::1;13160:34:1::0;13210:18;;;13203:34;;;18472:6:0::1;13253:18:1::0;;;13246:34;;;13296:18;;;13289:34;-1:-1:-1;;;;;18646:21:0;;::::1;13339:19:1::0;;;13332:44;18686:15:0::1;13392:19:1::0;;;13385:35;18472:6:0;::::1;::::0;:22:::1;::::0;18502:18;;13094:19:1;;18472:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18736:48:0::1;::::0;;13916:25:1;;;13972:2;13957:18;;13950:34;;;18736:48:0::1;::::0;-1:-1:-1;13889:18:1;18736:48:0::1;;;;;;;18433:363;18825:14;::::0;-1:-1:-1;;;18825:14:0;::::1;;;18824:15;:111;;18875:18;;18858:13;;:35;:77;;18917:18;;18824:111;;18858:77;18896:18;;18824:111;;;18842:13;;18824:111;18808:13;:127:::0;-1:-1:-1;;9070:6:0;:14;;-1:-1:-1;;9070:14:0;;;-1:-1:-1;;;;;;;;;;17021:1922:0:o;2797:181::-;2855:7;;2887:5;2891:1;2887;:5;:::i;:::-;2875:17;;2916:1;2911;:6;;2903:46;;;;-1:-1:-1;;;2903:46:0;;14197:2:1;2903:46:0;;;14179:21:1;14236:2;14216:18;;;14209:30;14275:29;14255:18;;;14248:57;14322:18;;2903:46:0;13995:351:1;13687:406:0;13780:4;13797:24;13824:26;13843:6;13824:18;:26::i;:::-;13797:53;;13879:61;13899:16;13879:61;;;;;;;;;;;;;-1:-1:-1;;;13879:61:0;;;:7;:15;13887:6;-1:-1:-1;;;;;13879:15:0;-1:-1:-1;;;;;13879:15:0;;;;;;;;;;;;;:19;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;13861:15:0;;;;;;;:7;:15;;;;;;:79;;;;13972:18;;;;;;;:40;;13995:16;13972:22;:40::i;:::-;-1:-1:-1;;;;;13951:18:0;;;;;;;:7;:18;;;;;;;:61;;;;14028:35;;;;;;-1:-1:-1;;;;;;;;;;;14028:35:0;;;14056:6;160:25:1;;148:2;133:18;;14:177;14028:35:0;;;;;;;;-1:-1:-1;14081:4:0;;13687:406;-1:-1:-1;;;;13687:406:0:o;16815:198::-;16902:4;;16864;;-1:-1:-1;;;;;16902:4:0;16888:10;:18;;;;:38;;-1:-1:-1;16920:6:0;;;;16919:7;16888:38;:63;;;;-1:-1:-1;16939:12:0;;-1:-1:-1;;;16939:12:0;;;;16888:63;:117;;;;;16992:13;;16964:24;16982:4;16964:9;:24::i;:::-;:41;;16881:124;;16815:198;:::o;14612:1048::-;14733:7;;14793:4;14783:14;;;;:177;;14945:14;;14584:12;;14885:75;;14945:14;14885:55;;14906:33;14885:16;;:20;:55::i;:75::-;14783:177;;;14858:14;;14478:11;;14799:74;;14858:14;14799:54;;14820:32;14400:97;14799:74;14753:207;-1:-1:-1;14993:27:0;15033:4;15023:14;;;;:146;;15109:60;15156:12;;15109:42;15133:17;;15109:19;:23;;:42;;;;:::i;:60::-;15023:146;;;15039:58;15085:11;;15039:41;15063:16;;15039:19;:23;;:41;;;;:::i;:58::-;15201:16;;14993:176;;-1:-1:-1;15201:41:0;;14993:176;15201:20;:41::i;:::-;15182:16;:60;15277:29;15309:44;:19;15333;15309:23;:44::i;:::-;15405:4;15389:22;;;;:7;:22;;;;;;15277:76;;-1:-1:-1;15389:49:0;;15277:76;15389:26;:49::i;:::-;15380:4;15364:22;;;;:7;:22;;;;;:74;;;;-1:-1:-1;;;;;15456:75:0;;-1:-1:-1;;;;;;;;;;;15488:42:0;15508:21;15488:19;:42::i;:::-;15456:75;;160:25:1;;;148:2;133:18;15456:75:0;;;;;;;15576:16;;15547:46;;;13916:25:1;;;13972:2;13957:18;;13950:34;;;;15547:46:0;;13889:18:1;15547:46:0;;;;;;;15611:41;:16;15632:19;15611:20;:41::i;:::-;15604:48;14612:1048;-1:-1:-1;;;;;;;;14612:1048:0:o;3718:345::-;3804:7;3906:12;3899:5;3891:28;;;;-1:-1:-1;;;3891:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3930:9:0;3942:5;3946:1;3942;:5;:::i;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;196:597:1;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:173::-;866:20;;-1:-1:-1;;;;;915:31:1;;905:42;;895:70;;961:1;958;951:12;895:70;798:173;;;:::o;976:254::-;1044:6;1052;1105:2;1093:9;1084:7;1080:23;1076:32;1073:52;;;1121:1;1118;1111:12;1073:52;1144:29;1163:9;1144:29;:::i;:::-;1134:39;1220:2;1205:18;;;;1192:32;;-1:-1:-1;;;976:254:1:o;1427:186::-;1486:6;1539:2;1527:9;1518:7;1514:23;1510:32;1507:52;;;1555:1;1552;1545:12;1507:52;1578:29;1597:9;1578:29;:::i;1618:248::-;1686:6;1694;1747:2;1735:9;1726:7;1722:23;1718:32;1715:52;;;1763:1;1760;1753:12;1715:52;-1:-1:-1;;1786:23:1;;;1856:2;1841:18;;;1828:32;;-1:-1:-1;1618:248:1:o;1871:328::-;1948:6;1956;1964;2017:2;2005:9;1996:7;1992:23;1988:32;1985:52;;;2033:1;2030;2023:12;1985:52;2056:29;2075:9;2056:29;:::i;:::-;2046:39;;2104:38;2138:2;2127:9;2123:18;2104:38;:::i;:::-;2094:48;;2189:2;2178:9;2174:18;2161:32;2151:42;;1871:328;;;;;:::o;2204:118::-;2290:5;2283:13;2276:21;2269:5;2266:32;2256:60;;2312:1;2309;2302:12;2327:241;2383:6;2436:2;2424:9;2415:7;2411:23;2407:32;2404:52;;;2452:1;2449;2442:12;2404:52;2491:9;2478:23;2510:28;2532:5;2510:28;:::i;2573:180::-;2632:6;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;-1:-1:-1;2724:23:1;;2573:180;-1:-1:-1;2573:180:1:o;2947:750::-;3039:6;3047;3055;3108:2;3096:9;3087:7;3083:23;3079:32;3076:52;;;3124:1;3121;3114:12;3076:52;3164:9;3151:23;3193:18;3234:2;3226:6;3223:14;3220:34;;;3250:1;3247;3240:12;3220:34;3288:6;3277:9;3273:22;3263:32;;3333:7;3326:4;3322:2;3318:13;3314:27;3304:55;;3355:1;3352;3345:12;3304:55;3395:2;3382:16;3421:2;3413:6;3410:14;3407:34;;;3437:1;3434;3427:12;3407:34;3492:7;3485:4;3475:6;3472:1;3468:14;3464:2;3460:23;3456:34;3453:47;3450:67;;;3513:1;3510;3503:12;3450:67;3544:4;3536:13;;;;-1:-1:-1;3568:6:1;-1:-1:-1;;3609:20:1;;3596:34;3639:28;3596:34;3639:28;:::i;:::-;3686:5;3676:15;;;2947:750;;;;;:::o;3702:127::-;3763:10;3758:3;3754:20;3751:1;3744:31;3794:4;3791:1;3784:15;3818:4;3815:1;3808:15;3834:922;3903:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:52;;;3972:1;3969;3962:12;3924:52;4012:9;3999:23;4041:18;4082:2;4074:6;4071:14;4068:34;;;4098:1;4095;4088:12;4068:34;4136:6;4125:9;4121:22;4111:32;;4181:7;4174:4;4170:2;4166:13;4162:27;4152:55;;4203:1;4200;4193:12;4152:55;4239:2;4226:16;4261:2;4257;4254:10;4251:36;;;4267:18;;:::i;:::-;4342:2;4336:9;4310:2;4396:13;;-1:-1:-1;;4392:22:1;;;4416:2;4388:31;4384:40;4372:53;;;4440:18;;;4460:22;;;4437:46;4434:72;;;4486:18;;:::i;:::-;4526:10;4522:2;4515:22;4561:2;4553:6;4546:18;4601:7;4596:2;4591;4587;4583:11;4579:20;4576:33;4573:53;;;4622:1;4619;4612:12;4573:53;4678:2;4673;4669;4665:11;4660:2;4652:6;4648:15;4635:46;4723:1;4701:15;;;4718:2;4697:24;4690:35;;;;-1:-1:-1;4705:6:1;3834:922;-1:-1:-1;;;;;3834:922:1:o;5301:513::-;5381:6;5389;5397;5405;5458:3;5446:9;5437:7;5433:23;5429:33;5426:53;;;5475:1;5472;5465:12;5426:53;5514:9;5501:23;5533:28;5555:5;5533:28;:::i;:::-;5580:5;-1:-1:-1;5632:2:1;5617:18;;5604:32;;-1:-1:-1;5683:2:1;5668:18;;5655:32;;-1:-1:-1;5739:2:1;5724:18;;5711:32;5752:30;5711:32;5752:30;:::i;:::-;5301:513;;;;-1:-1:-1;5301:513:1;;-1:-1:-1;;5301:513:1:o;5819:730::-;5950:6;5958;5966;5974;5982;5990;5998;6006;6014;6067:3;6055:9;6046:7;6042:23;6038:33;6035:53;;;6084:1;6081;6074:12;6035:53;-1:-1:-1;;6107:23:1;;;6177:2;6162:18;;6149:32;;-1:-1:-1;6228:2:1;6213:18;;6200:32;;6279:2;6264:18;;6251:32;;-1:-1:-1;6330:3:1;6315:19;;6302:33;;-1:-1:-1;6382:3:1;6367:19;;6354:33;;-1:-1:-1;6434:3:1;6419:19;;6406:33;;-1:-1:-1;6486:3:1;6471:19;;6458:33;;-1:-1:-1;6538:3:1;6523:19;6510:33;;-1:-1:-1;5819:730:1;-1:-1:-1;5819:730:1:o;6762:334::-;6839:6;6847;6855;6908:2;6896:9;6887:7;6883:23;6879:32;6876:52;;;6924:1;6921;6914:12;6876:52;6947:29;6966:9;6947:29;:::i;:::-;6937:39;;6995:38;7029:2;7018:9;7014:18;6995:38;:::i;:::-;6985:48;;7052:38;7086:2;7075:9;7071:18;7052:38;:::i;:::-;7042:48;;6762:334;;;;;:::o;7101:260::-;7169:6;7177;7230:2;7218:9;7209:7;7205:23;7201:32;7198:52;;;7246:1;7243;7236:12;7198:52;7269:29;7288:9;7269:29;:::i;:::-;7259:39;;7317:38;7351:2;7340:9;7336:18;7317:38;:::i;:::-;7307:48;;7101:260;;;;;:::o;7592:380::-;7671:1;7667:12;;;;7714;;;7735:61;;7789:4;7781:6;7777:17;7767:27;;7735:61;7842:2;7834:6;7831:14;7811:18;7808:38;7805:161;;7888:10;7883:3;7879:20;7876:1;7869:31;7923:4;7920:1;7913:15;7951:4;7948:1;7941:15;7805:161;;7592:380;;;:::o;7977:356::-;8179:2;8161:21;;;8198:18;;;8191:30;8257:34;8252:2;8237:18;;8230:62;8324:2;8309:18;;7977:356::o;8338:127::-;8399:10;8394:3;8390:20;8387:1;8380:31;8430:4;8427:1;8420:15;8454:4;8451:1;8444:15;8470:127;8531:10;8526:3;8522:20;8519:1;8512:31;8562:4;8559:1;8552:15;8586:4;8583:1;8576:15;8602:135;8641:3;8662:17;;;8659:43;;8682:18;;:::i;:::-;-1:-1:-1;8729:1:1;8718:13;;8602:135::o;8742:217::-;8782:1;8808;8798:132;;8852:10;8847:3;8843:20;8840:1;8833:31;8887:4;8884:1;8877:15;8915:4;8912:1;8905:15;8798:132;-1:-1:-1;8944:9:1;;8742:217::o;8964:168::-;9004:7;9070:1;9066;9062:6;9058:14;9055:1;9052:21;9047:1;9040:9;9033:17;9029:45;9026:71;;;9077:18;;:::i;:::-;-1:-1:-1;9117:9:1;;8964:168::o;9347:184::-;9417:6;9470:2;9458:9;9449:7;9445:23;9441:32;9438:52;;;9486:1;9483;9476:12;9438:52;-1:-1:-1;9509:16:1;;9347:184;-1:-1:-1;9347:184:1:o;9815:245::-;9882:6;9935:2;9923:9;9914:7;9910:23;9906:32;9903:52;;;9951:1;9948;9941:12;9903:52;9983:9;9977:16;10002:28;10024:5;10002:28;:::i;10472:125::-;10512:4;10540:1;10537;10534:8;10531:34;;;10545:18;;:::i;:::-;-1:-1:-1;10582:9:1;;10472:125::o;10602:128::-;10642:3;10673:1;10669:6;10666:1;10663:13;10660:39;;;10679:18;;:::i;:::-;-1:-1:-1;10715:9:1;;10602:128::o;11834:980::-;12096:4;12144:3;12133:9;12129:19;12175:6;12164:9;12157:25;12201:2;12239:6;12234:2;12223:9;12219:18;12212:34;12282:3;12277:2;12266:9;12262:18;12255:31;12306:6;12341;12335:13;12372:6;12364;12357:22;12410:3;12399:9;12395:19;12388:26;;12449:2;12441:6;12437:15;12423:29;;12470:1;12480:195;12494:6;12491:1;12488:13;12480:195;;;12559:13;;-1:-1:-1;;;;;12555:39:1;12543:52;;12650:15;;;;12615:12;;;;12591:1;12509:9;12480:195;;;-1:-1:-1;;;;;;;12731:32:1;;;;12726:2;12711:18;;12704:60;-1:-1:-1;;;12795:3:1;12780:19;12773:35;12692:3;11834:980;-1:-1:-1;;;11834:980:1:o;13431:306::-;13519:6;13527;13535;13588:2;13576:9;13567:7;13563:23;13559:32;13556:52;;;13604:1;13601;13594:12;13556:52;13633:9;13627:16;13617:26;;13683:2;13672:9;13668:18;13662:25;13652:35;;13727:2;13716:9;13712:18;13706:25;13696:35;;13431:306;;;;;:::o
Swarm Source
ipfs://ae8d9c120f42f99164c08631a166d23c19f3fd2323545f3fc153fe16619e542f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,334.47 | 0.00049091 | $1.64 |
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.