ERC-20
Overview
Max Total Supply
100,000,000,000 FLY
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
222,181,248.504047081 FLYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FOREVERLIVINGYOUNG
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-22 */ // SPDX-License-Identifier: UNLICENSED /* Forever Living Young $FLY https://twitter.com/Angel_FlyErc https://t.me/AngelFlyErc */ pragma solidity 0.8.15; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() external onlyOwner { owner = address(0); } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract FOREVERLIVINGYOUNG is ERC20, Auth { using SafeMath for uint256; address immutable WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string public constant name = "Angel"; string public constant symbol = "FLY"; uint8 public constant decimals = 9; uint256 public constant totalSupply = 100 * 10**9 * 10**decimals; uint256 public _maxTxAmount = totalSupply / 100; uint256 public _maxWalletToken = totalSupply / 100; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isWalletLimitExempt; uint256 totalFee = 10; uint256 constant feeDenominator = 100; uint256 buyMultiplier = 180; uint256 sellMultiplier = 180; uint256 transferMultiplier = 0; address operationsFeeReceiver; IDEXRouter public router; address public immutable pair; bool public swapEnabled = true; uint256 swapThreshold = totalSupply / 100; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; operationsFeeReceiver = msg.sender; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[DEAD] = true; isTxLimitExempt[ZERO] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[DEAD] = true; balanceOf[msg.sender] = totalSupply; emit Transfer(address(0), msg.sender, totalSupply); } receive() external payable { } function getOwner() external view override returns (address) { return owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, 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 setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner { require(maxWallPercent_base1000 >= 10,"Cannot set max wallet less than 1%"); _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000; } function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner { require(maxTXPercentage_base1000 >= 10,"Cannot set max transaction less than 1%"); _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000; } function manage_FeeExempt(address[] calldata addresses, bool status) external onlyOwner { require(addresses.length < 501,"GAS Error: max limit is 500 addresses"); for (uint256 i=0; i < addresses.length; ++i) { isFeeExempt[addresses[i]] = status; } } function manage_TxLimitExempt(address[] calldata addresses, bool status) external onlyOwner { require(addresses.length < 501,"GAS Error: max limit is 500 addresses"); for (uint256 i=0; i < addresses.length; ++i) { isTxLimitExempt[addresses[i]] = status; } } function manage_WalletLimitExempt(address[] calldata addresses, bool status) external onlyOwner { require(addresses.length < 501,"GAS Error: max limit is 500 addresses"); for (uint256 i=0; i < addresses.length; ++i) { isWalletLimitExempt[addresses[i]] = status; } } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) { require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached"); } require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded"); if(shouldSwapBack()){ swapBack(); } balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); balanceOf[recipient] = balanceOf[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); balanceOf[recipient] = balanceOf[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { if(amount == 0 || totalFee == 0){ return amount; } uint256 multiplier = transferMultiplier; if(recipient == pair) { multiplier = sellMultiplier; } else if(sender == pair) { multiplier = buyMultiplier; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); if(feeAmount > 0){ balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && balanceOf[address(this)] >= swapThreshold; } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } function setFees_base100(uint256 _operationsFee) external onlyOwner { totalFee = _operationsFee; } function clearStuckBalance(uint256 amountPercentage) external onlyOwner { uint256 amountETH = address(this).balance; uint256 amountToClear = ( amountETH * amountPercentage ) / 100; payable(msg.sender).transfer(amountToClear); } function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) { if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function swapBack() internal swapping { address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( swapThreshold, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; (bool tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETH}(""); tmpSuccess = false; } function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner { swapEnabled = _enabled; swapThreshold = totalSupply / _denominator; } function getCirculatingSupply() public view returns (uint256) { return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"setFees_base100","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526064620000146009600a620004fc565b620000259064174876e80062000514565b62000031919062000536565b6001556064620000446009600a620004fc565b620000559064174876e80062000514565b62000061919062000536565b600255600a600881905560b460098181559082556000600b55600d805460ff60a01b1916600160a01b1790556064916200009c9190620004fc565b620000ad9064174876e80062000514565b620000b9919062000536565b600e55348015620000c957600080fd5b5060008054336001600160a01b031991821617909155600d8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200013a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000160919062000559565b6001600160a01b03908116608052600d546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d7919062000559565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000229573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024f919062000559565b6001600160a01b0390811660a052306000818152600460209081526040808320600d5490951683529381528382206000199055600c80546001600160a01b03191633908117909155825260058152838220805460ff1990811660019081179092556006835285842080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548216831790557f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8805482168317905560079092528483208054831682179055928252928120805484168317905561dead90527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80549092161790556200036b6009600a620004fc565b6200037c9064174876e80062000514565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003bf6009600a620004fc565b620003d09064174876e80062000514565b60405190815260200160405180910390a362000584565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200043e578160001904821115620004225762000422620003e7565b808516156200043057918102915b93841c939080029062000402565b509250929050565b6000826200045757506001620004f6565b816200046657506000620004f6565b81600181146200047f57600281146200048a57620004aa565b6001915050620004f6565b60ff8411156200049e576200049e620003e7565b50506001821b620004f6565b5060208310610133831016604e8410600b8410161715620004cf575081810a620004f6565b620004db8383620003fd565b8060001904821115620004f257620004f2620003e7565b0290505b92915050565b60006200050d60ff84168362000446565b9392505050565b6000816000190483118215151615620005315762000531620003e7565b500290565b6000826200055457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200056c57600080fd5b81516001600160a01b03811681146200050d57600080fd5b60805160a051611cff620005c66000396000818161057a01528181610f9d015281816113260152818161152e0152611562015260006113f00152611cff6000f3fe6080604052600436106101e55760003560e01c806370a0823111610102578063a8aa1b3111610095578063c867d60b11610064578063c867d60b146105fc578063dd62ed3e1461062c578063df20fd4914610672578063f887ea401461069257600080fd5b8063a8aa1b3114610568578063a9059cbb1461059c578063bd9ab537146105bc578063c33e9eba146105dc57600080fd5b80637d1db4a5116100d15780637d1db4a5146104c1578063893d20e8146104d75780638b42507f1461050957806395d89b411461053957600080fd5b806370a0823114610449578063715018a61461047657806377b54bad1461048b57806378109e54146104ab57600080fd5b80632b112e491161017a5780634be9d869116101495780634be9d869146103c8578063571ac8b0146103e85780636ce46bc3146104085780636ddd17131461042857600080fd5b80632b112e491461032d5780632f54bf6e14610342578063313ce567146103715780633f4218e01461039857600080fd5b8063095ea7b3116101b6578063095ea7b31461029a57806318160ddd146102ca5780631da1db5e146102ed57806323b872dd1461030d57600080fd5b8062108683146101f1578062bff4461461021357806306fdde031461023357806309302dc61461027a57600080fd5b366101ec57005b600080fd5b3480156101fd57600080fd5b5061021161020c366004611807565b6106b2565b005b34801561021f57600080fd5b5061021161022e366004611807565b61077b565b34801561023f57600080fd5b5061026460405180604001604052806005815260200164105b99d95b60da1b81525081565b604051610271919061188d565b60405180910390f35b34801561028657600080fd5b506102116102953660046118e2565b610835565b3480156102a657600080fd5b506102ba6102b5366004611917565b6108f4565b6040519015158152602001610271565b3480156102d657600080fd5b506102df610961565b604051908152602001610271565b3480156102f957600080fd5b506102116103083660046118e2565b61097f565b34801561031957600080fd5b506102ba610328366004611941565b6109f2565b34801561033957600080fd5b506102df610ab4565b34801561034e57600080fd5b506102ba61035d36600461197d565b6000546001600160a01b0391821691161490565b34801561037d57600080fd5b50610386600981565b60405160ff9091168152602001610271565b3480156103a457600080fd5b506102ba6103b336600461197d565b60056020526000908152604090205460ff1681565b3480156103d457600080fd5b506102116103e3366004611807565b610b3c565b3480156103f457600080fd5b506102ba61040336600461197d565b610bf6565b34801561041457600080fd5b50610211610423366004611998565b610c04565b34801561043457600080fd5b50600d546102ba90600160a01b900460ff1681565b34801561045557600080fd5b506102df61046436600461197d565b60036020526000908152604090205481565b34801561048257600080fd5b50610211610c3f565b34801561049757600080fd5b506102ba6104a6366004611917565b610c7b565b3480156104b757600080fd5b506102df60025481565b3480156104cd57600080fd5b506102df60015481565b3480156104e357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610271565b34801561051557600080fd5b506102ba61052436600461197d565b60066020526000908152604090205460ff1681565b34801561054557600080fd5b5061026460405180604001604052806003815260200162464c5960e81b81525081565b34801561057457600080fd5b506104f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a857600080fd5b506102ba6105b7366004611917565b610d8a565b3480156105c857600080fd5b506102116105d73660046118e2565b610d97565b3480156105e857600080fd5b506102116105f73660046118e2565b610e5b565b34801561060857600080fd5b506102ba61061736600461197d565b60076020526000908152604090205460ff1681565b34801561063857600080fd5b506102df6106473660046119c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561067e57600080fd5b5061021161068d3660046119f7565b610e8a565b34801561069e57600080fd5b50600d546104f1906001600160a01b031681565b6000546001600160a01b031633146106e55760405162461bcd60e51b81526004016106dc90611a15565b60405180910390fd5b6101f582106107065760405162461bcd60e51b81526004016106dc90611a35565b60005b8281101561077557816007600086868581811061072857610728611a7a565b905060200201602081019061073d919061197d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561076e81611aa6565b9050610709565b50505050565b6000546001600160a01b031633146107a55760405162461bcd60e51b81526004016106dc90611a15565b6101f582106107c65760405162461bcd60e51b81526004016106dc90611a35565b60005b828110156107755781600560008686858181106107e8576107e8611a7a565b90506020020160208101906107fd919061197d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561082e81611aa6565b90506107c9565b6000546001600160a01b0316331461085f5760405162461bcd60e51b81526004016106dc90611a15565b600a8110156108bb5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b60648201526084016106dc565b6103e8816108cb6009600a611ba3565b6108da9064174876e800611bb2565b6108e49190611bb2565b6108ee9190611bd1565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061094f9086815260200190565b60405180910390a35060015b92915050565b61096d6009600a611ba3565b61097c9064174876e800611bb2565b81565b6000546001600160a01b031633146109a95760405162461bcd60e51b81526004016106dc90611a15565b47600060646109b88484611bb2565b6109c29190611bd1565b604051909150339082156108fc029083906000818181858888f19350505050158015610775573d6000803e3d6000fd5b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a9f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610a7a918490610ef8565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610aaa848484610f32565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909190610b146009600a611ba3565b610b239064174876e800611bb2565b610b2d9190611bf3565b610b379190611bf3565b905090565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016106dc90611a15565b6101f58210610b875760405162461bcd60e51b81526004016106dc90611a35565b60005b82811015610775578160066000868685818110610ba957610ba9611a7a565b9050602002016020810190610bbe919061197d565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bef81611aa6565b9050610b8a565b600061095b826000196108f4565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016106dc90611a15565b600a91909155600991909155600b55565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016106dc90611a15565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610ca65760405162461bcd60e51b81526004016106dc90611a15565b81600003610d19576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611c0a565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190611c23565b6000610aad338484610f32565b6000546001600160a01b03163314610dc15760405162461bcd60e51b81526004016106dc90611a15565b600a811015610e225760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152667468616e20312560c81b60648201526084016106dc565b6103e881610e326009600a611ba3565b610e419064174876e800611bb2565b610e4b9190611bb2565b610e559190611bd1565b60015550565b6000546001600160a01b03163314610e855760405162461bcd60e51b81526004016106dc90611a15565b600855565b6000546001600160a01b03163314610eb45760405162461bcd60e51b81526004016106dc90611a15565b600d805460ff60a01b1916600160a01b8415150217905580610ed86009600a611ba3565b610ee79064174876e800611bb2565b610ef19190611bd1565b600e555050565b60008184841115610f1c5760405162461bcd60e51b81526004016106dc919061188d565b506000610f298486611bf3565b95945050505050565b600f5460009060ff1615610f5257610f4b848484611233565b9050610aad565b6001600160a01b03841660009081526007602052604090205460ff16158015610f9457506001600160a01b03831660009081526007602052604090205460ff16155b8015610fd257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561104c576002546001600160a01b038416600090815260036020526040902054610ffe908490611c40565b111561104c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016106dc565b6001548211158061107557506001600160a01b03841660009081526006602052604090205460ff165b8061109857506001600160a01b03831660009081526006602052604090205460ff165b6110dc5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b60448201526064016106dc565b6110e4611319565b156110f1576110f161138c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054611143918490610ef8565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff168061119057506001600160a01b03841660009081526005602052604090205460ff165b6111a45761119f858486611506565b6111a6565b825b6001600160a01b0385166000908152600360205260409020549091506111cc9082611663565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611284918490610ef8565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546112b39083611663565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113079086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113575750600f5460ff16155b801561136c5750600d54600160a01b900460ff165b8015610b37575050600e5430600090815260036020526040902054101590565b600f805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113ce576113ce611a7a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061142257611422611a7a565b6001600160a01b039283166020918202929092010152600d54600e5460405163791ac94760e01b8152919092169163791ac9479161146c9190600090869030904290600401611c58565b600060405180830381600087803b15801561148657600080fd5b505af115801561149a573d6000803e3d6000fd5b5050600c54604051479350600092506001600160a01b039091169083908381818185875af1925050503d80600081146114ef576040519150601f19603f3d011682016040523d82523d6000602084013e6114f4565b606091505b5050600f805460ff1916905550505050565b60008215806115155750600854155b15611521575081610aad565b600b546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036115605750600a5461159e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361159e57506009545b60006115d36115ae606480611bb2565b6115cd846115c76008548a6116c290919063ffffffff16565b906116c2565b90611744565b9050801561164f57306000908152600360205260409020546115f59082611663565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116469085815260200190565b60405180910390a35b6116598582611786565b9695505050505050565b6000806116708385611c40565b905083811015610aad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106dc565b6000826000036116d45750600061095b565b60006116e08385611bb2565b9050826116ed8583611bd1565b14610aad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106dc565b6000610aad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117c8565b6000610aad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ef8565b600081836117e95760405162461bcd60e51b81526004016106dc919061188d565b506000610f298486611bd1565b801515811461180457600080fd5b50565b60008060006040848603121561181c57600080fd5b833567ffffffffffffffff8082111561183457600080fd5b818601915086601f83011261184857600080fd5b81358181111561185757600080fd5b8760208260051b850101111561186c57600080fd5b60209283019550935050840135611882816117f6565b809150509250925092565b600060208083528351808285015260005b818110156118ba5785810183015185820160400152820161189e565b818111156118cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156118f457600080fd5b5035919050565b80356001600160a01b038116811461191257600080fd5b919050565b6000806040838503121561192a57600080fd5b611933836118fb565b946020939093013593505050565b60008060006060848603121561195657600080fd5b61195f846118fb565b925061196d602085016118fb565b9150604084013590509250925092565b60006020828403121561198f57600080fd5b610aad826118fb565b6000806000606084860312156119ad57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156119d757600080fd5b6119e0836118fb565b91506119ee602084016118fb565b90509250929050565b60008060408385031215611a0a57600080fd5b8235611933816117f6565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ab857611ab8611a90565b5060010190565b600181815b80851115611afa578160001904821115611ae057611ae0611a90565b80851615611aed57918102915b93841c9390800290611ac4565b509250929050565b600082611b115750600161095b565b81611b1e5750600061095b565b8160018114611b345760028114611b3e57611b5a565b600191505061095b565b60ff841115611b4f57611b4f611a90565b50506001821b61095b565b5060208310610133831016604e8410600b8410161715611b7d575081810a61095b565b611b878383611abf565b8060001904821115611b9b57611b9b611a90565b029392505050565b6000610aad60ff841683611b02565b6000816000190483118215151615611bcc57611bcc611a90565b500290565b600082611bee57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611c0557611c05611a90565b500390565b600060208284031215611c1c57600080fd5b5051919050565b600060208284031215611c3557600080fd5b8151610aad816117f6565b60008219821115611c5357611c53611a90565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ca85784516001600160a01b031683529383019391830191600101611c83565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122043a32254ed38382a384e128e2fce41c93fd7f13f81576c8212a42cf32a939b1264736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101e55760003560e01c806370a0823111610102578063a8aa1b3111610095578063c867d60b11610064578063c867d60b146105fc578063dd62ed3e1461062c578063df20fd4914610672578063f887ea401461069257600080fd5b8063a8aa1b3114610568578063a9059cbb1461059c578063bd9ab537146105bc578063c33e9eba146105dc57600080fd5b80637d1db4a5116100d15780637d1db4a5146104c1578063893d20e8146104d75780638b42507f1461050957806395d89b411461053957600080fd5b806370a0823114610449578063715018a61461047657806377b54bad1461048b57806378109e54146104ab57600080fd5b80632b112e491161017a5780634be9d869116101495780634be9d869146103c8578063571ac8b0146103e85780636ce46bc3146104085780636ddd17131461042857600080fd5b80632b112e491461032d5780632f54bf6e14610342578063313ce567146103715780633f4218e01461039857600080fd5b8063095ea7b3116101b6578063095ea7b31461029a57806318160ddd146102ca5780631da1db5e146102ed57806323b872dd1461030d57600080fd5b8062108683146101f1578062bff4461461021357806306fdde031461023357806309302dc61461027a57600080fd5b366101ec57005b600080fd5b3480156101fd57600080fd5b5061021161020c366004611807565b6106b2565b005b34801561021f57600080fd5b5061021161022e366004611807565b61077b565b34801561023f57600080fd5b5061026460405180604001604052806005815260200164105b99d95b60da1b81525081565b604051610271919061188d565b60405180910390f35b34801561028657600080fd5b506102116102953660046118e2565b610835565b3480156102a657600080fd5b506102ba6102b5366004611917565b6108f4565b6040519015158152602001610271565b3480156102d657600080fd5b506102df610961565b604051908152602001610271565b3480156102f957600080fd5b506102116103083660046118e2565b61097f565b34801561031957600080fd5b506102ba610328366004611941565b6109f2565b34801561033957600080fd5b506102df610ab4565b34801561034e57600080fd5b506102ba61035d36600461197d565b6000546001600160a01b0391821691161490565b34801561037d57600080fd5b50610386600981565b60405160ff9091168152602001610271565b3480156103a457600080fd5b506102ba6103b336600461197d565b60056020526000908152604090205460ff1681565b3480156103d457600080fd5b506102116103e3366004611807565b610b3c565b3480156103f457600080fd5b506102ba61040336600461197d565b610bf6565b34801561041457600080fd5b50610211610423366004611998565b610c04565b34801561043457600080fd5b50600d546102ba90600160a01b900460ff1681565b34801561045557600080fd5b506102df61046436600461197d565b60036020526000908152604090205481565b34801561048257600080fd5b50610211610c3f565b34801561049757600080fd5b506102ba6104a6366004611917565b610c7b565b3480156104b757600080fd5b506102df60025481565b3480156104cd57600080fd5b506102df60015481565b3480156104e357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610271565b34801561051557600080fd5b506102ba61052436600461197d565b60066020526000908152604090205460ff1681565b34801561054557600080fd5b5061026460405180604001604052806003815260200162464c5960e81b81525081565b34801561057457600080fd5b506104f17f00000000000000000000000023b35bf6c86b52b7f560053e711500d16691a35181565b3480156105a857600080fd5b506102ba6105b7366004611917565b610d8a565b3480156105c857600080fd5b506102116105d73660046118e2565b610d97565b3480156105e857600080fd5b506102116105f73660046118e2565b610e5b565b34801561060857600080fd5b506102ba61061736600461197d565b60076020526000908152604090205460ff1681565b34801561063857600080fd5b506102df6106473660046119c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561067e57600080fd5b5061021161068d3660046119f7565b610e8a565b34801561069e57600080fd5b50600d546104f1906001600160a01b031681565b6000546001600160a01b031633146106e55760405162461bcd60e51b81526004016106dc90611a15565b60405180910390fd5b6101f582106107065760405162461bcd60e51b81526004016106dc90611a35565b60005b8281101561077557816007600086868581811061072857610728611a7a565b905060200201602081019061073d919061197d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561076e81611aa6565b9050610709565b50505050565b6000546001600160a01b031633146107a55760405162461bcd60e51b81526004016106dc90611a15565b6101f582106107c65760405162461bcd60e51b81526004016106dc90611a35565b60005b828110156107755781600560008686858181106107e8576107e8611a7a565b90506020020160208101906107fd919061197d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561082e81611aa6565b90506107c9565b6000546001600160a01b0316331461085f5760405162461bcd60e51b81526004016106dc90611a15565b600a8110156108bb5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b60648201526084016106dc565b6103e8816108cb6009600a611ba3565b6108da9064174876e800611bb2565b6108e49190611bb2565b6108ee9190611bd1565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061094f9086815260200190565b60405180910390a35060015b92915050565b61096d6009600a611ba3565b61097c9064174876e800611bb2565b81565b6000546001600160a01b031633146109a95760405162461bcd60e51b81526004016106dc90611a15565b47600060646109b88484611bb2565b6109c29190611bd1565b604051909150339082156108fc029083906000818181858888f19350505050158015610775573d6000803e3d6000fd5b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a9f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610a7a918490610ef8565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610aaa848484610f32565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909190610b146009600a611ba3565b610b239064174876e800611bb2565b610b2d9190611bf3565b610b379190611bf3565b905090565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016106dc90611a15565b6101f58210610b875760405162461bcd60e51b81526004016106dc90611a35565b60005b82811015610775578160066000868685818110610ba957610ba9611a7a565b9050602002016020810190610bbe919061197d565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bef81611aa6565b9050610b8a565b600061095b826000196108f4565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016106dc90611a15565b600a91909155600991909155600b55565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016106dc90611a15565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610ca65760405162461bcd60e51b81526004016106dc90611a15565b81600003610d19576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611c0a565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190611c23565b6000610aad338484610f32565b6000546001600160a01b03163314610dc15760405162461bcd60e51b81526004016106dc90611a15565b600a811015610e225760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152667468616e20312560c81b60648201526084016106dc565b6103e881610e326009600a611ba3565b610e419064174876e800611bb2565b610e4b9190611bb2565b610e559190611bd1565b60015550565b6000546001600160a01b03163314610e855760405162461bcd60e51b81526004016106dc90611a15565b600855565b6000546001600160a01b03163314610eb45760405162461bcd60e51b81526004016106dc90611a15565b600d805460ff60a01b1916600160a01b8415150217905580610ed86009600a611ba3565b610ee79064174876e800611bb2565b610ef19190611bd1565b600e555050565b60008184841115610f1c5760405162461bcd60e51b81526004016106dc919061188d565b506000610f298486611bf3565b95945050505050565b600f5460009060ff1615610f5257610f4b848484611233565b9050610aad565b6001600160a01b03841660009081526007602052604090205460ff16158015610f9457506001600160a01b03831660009081526007602052604090205460ff16155b8015610fd257507f00000000000000000000000023b35bf6c86b52b7f560053e711500d16691a3516001600160a01b0316836001600160a01b031614155b1561104c576002546001600160a01b038416600090815260036020526040902054610ffe908490611c40565b111561104c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016106dc565b6001548211158061107557506001600160a01b03841660009081526006602052604090205460ff165b8061109857506001600160a01b03831660009081526006602052604090205460ff165b6110dc5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b60448201526064016106dc565b6110e4611319565b156110f1576110f161138c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054611143918490610ef8565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff168061119057506001600160a01b03841660009081526005602052604090205460ff165b6111a45761119f858486611506565b6111a6565b825b6001600160a01b0385166000908152600360205260409020549091506111cc9082611663565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611284918490610ef8565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546112b39083611663565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113079086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000023b35bf6c86b52b7f560053e711500d16691a35116148015906113575750600f5460ff16155b801561136c5750600d54600160a01b900460ff165b8015610b37575050600e5430600090815260036020526040902054101590565b600f805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113ce576113ce611a7a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061142257611422611a7a565b6001600160a01b039283166020918202929092010152600d54600e5460405163791ac94760e01b8152919092169163791ac9479161146c9190600090869030904290600401611c58565b600060405180830381600087803b15801561148657600080fd5b505af115801561149a573d6000803e3d6000fd5b5050600c54604051479350600092506001600160a01b039091169083908381818185875af1925050503d80600081146114ef576040519150601f19603f3d011682016040523d82523d6000602084013e6114f4565b606091505b5050600f805460ff1916905550505050565b60008215806115155750600854155b15611521575081610aad565b600b546001600160a01b037f00000000000000000000000023b35bf6c86b52b7f560053e711500d16691a3518116908416036115605750600a5461159e565b7f00000000000000000000000023b35bf6c86b52b7f560053e711500d16691a3516001600160a01b0316856001600160a01b03160361159e57506009545b60006115d36115ae606480611bb2565b6115cd846115c76008548a6116c290919063ffffffff16565b906116c2565b90611744565b9050801561164f57306000908152600360205260409020546115f59082611663565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116469085815260200190565b60405180910390a35b6116598582611786565b9695505050505050565b6000806116708385611c40565b905083811015610aad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106dc565b6000826000036116d45750600061095b565b60006116e08385611bb2565b9050826116ed8583611bd1565b14610aad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106dc565b6000610aad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117c8565b6000610aad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ef8565b600081836117e95760405162461bcd60e51b81526004016106dc919061188d565b506000610f298486611bd1565b801515811461180457600080fd5b50565b60008060006040848603121561181c57600080fd5b833567ffffffffffffffff8082111561183457600080fd5b818601915086601f83011261184857600080fd5b81358181111561185757600080fd5b8760208260051b850101111561186c57600080fd5b60209283019550935050840135611882816117f6565b809150509250925092565b600060208083528351808285015260005b818110156118ba5785810183015185820160400152820161189e565b818111156118cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156118f457600080fd5b5035919050565b80356001600160a01b038116811461191257600080fd5b919050565b6000806040838503121561192a57600080fd5b611933836118fb565b946020939093013593505050565b60008060006060848603121561195657600080fd5b61195f846118fb565b925061196d602085016118fb565b9150604084013590509250925092565b60006020828403121561198f57600080fd5b610aad826118fb565b6000806000606084860312156119ad57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156119d757600080fd5b6119e0836118fb565b91506119ee602084016118fb565b90509250929050565b60008060408385031215611a0a57600080fd5b8235611933816117f6565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ab857611ab8611a90565b5060010190565b600181815b80851115611afa578160001904821115611ae057611ae0611a90565b80851615611aed57918102915b93841c9390800290611ac4565b509250929050565b600082611b115750600161095b565b81611b1e5750600061095b565b8160018114611b345760028114611b3e57611b5a565b600191505061095b565b60ff841115611b4f57611b4f611a90565b50506001821b61095b565b5060208310610133831016604e8410600b8410161715611b7d575081810a61095b565b611b878383611abf565b8060001904821115611b9b57611b9b611a90565b029392505050565b6000610aad60ff841683611b02565b6000816000190483118215151615611bcc57611bcc611a90565b500290565b600082611bee57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611c0557611c05611a90565b500390565b600060208284031215611c1c57600080fd5b5051919050565b600060208284031215611c3557600080fd5b8151610aad816117f6565b60008219821115611c5357611c53611a90565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ca85784516001600160a01b031683529383019391830191600101611c83565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122043a32254ed38382a384e128e2fce41c93fd7f13f81576c8212a42cf32a939b1264736f6c634300080f0033
Deployed Bytecode Sourcemap
2886:8729:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7306:310;;;;;;;;;;-1:-1:-1;7306:310:0;;;;;:::i;:::-;;:::i;:::-;;6694:294;;;;;;;;;;-1:-1:-1;6694:294:0;;;;;:::i;:::-;;:::i;3148:37::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3148:37:0;;;;;;;;;;;;:::i;:::-;;;;;;;;6157:260;;;;;;;;;;-1:-1:-1;6157:260:0;;;;;:::i;:::-;;:::i;5261:216::-;;;;;;;;;;-1:-1:-1;5261:216:0;;;;;:::i;:::-;;:::i;:::-;;;2281:14:1;;2274:22;2256:41;;2244:2;2229:18;5261:216:0;2116:187:1;3283:64:0;;;;;;;;;;;;;:::i;:::-;;;2454:25:1;;;2442:2;2427:18;3283:64:0;2308:177:1;10187:259:0;;;;;;;;;;-1:-1:-1;10187:259:0;;;;;:::i;:::-;;:::i;5779:370::-;;;;;;;;;;-1:-1:-1;5779:370:0;;;;;:::i;:::-;;:::i;11475:137::-;;;;;;;;;;;;;:::i;2206:103::-;;;;;;;;;;-1:-1:-1;2206:103:0;;;;;:::i;:::-;2261:4;2296:5;-1:-1:-1;;;;;2285:16:0;;;2296:5;;2285:16;;2206:103;3236:34;;;;;;;;;;;;3269:1;3236:34;;;;;3186:4:1;3174:17;;;3156:36;;3144:2;3129:18;3236:34:0;3014:184:1;3591:44:0;;;;;;;;;;-1:-1:-1;3591:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6996:302;;;;;;;;;;-1:-1:-1;6996:302:0;;;;;:::i;:::-;;:::i;5485:122::-;;;;;;;;;;-1:-1:-1;5485:122:0;;;;;:::i;:::-;;:::i;9859:198::-;;;;;;;;;;-1:-1:-1;9859:198:0;;;;;:::i;:::-;;:::i;4052:30::-;;;;;;;;;;-1:-1:-1;4052:30:0;;;;-1:-1:-1;;;4052:30:0;;;;;;3469:45;;;;;;;;;;-1:-1:-1;3469:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2317:85;;;;;;;;;;;;;:::i;10454:284::-;;;;;;;;;;-1:-1:-1;10454:284:0;;;;;:::i;:::-;;:::i;3410:50::-;;;;;;;;;;;;;;;;3356:47;;;;;;;;;;;;;;;;5036:78;;;;;;;;;;-1:-1:-1;5088:7:0;5106:5;-1:-1:-1;;;;;5106:5:0;5036:78;;;-1:-1:-1;;;;;3688:32:1;;;3670:51;;3658:2;3643:18;5036:78:0;3524:203:1;3642:48:0;;;;;;;;;;-1:-1:-1;3642:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3192:37;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3192:37:0;;;;;4014:29;;;;;;;;;;;;;;;5615:156;;;;;;;;;;-1:-1:-1;5615:156:0;;;;;:::i;:::-;;:::i;6425:261::-;;;;;;;;;;-1:-1:-1;6425:261:0;;;;;:::i;:::-;;:::i;10065:112::-;;;;;;;;;;-1:-1:-1;10065:112:0;;;;;:::i;:::-;;:::i;3697:52::-;;;;;;;;;;-1:-1:-1;3697:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5120:133;;;;;;;;;;-1:-1:-1;5120:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5222:19:0;;;5204:7;5222:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5120:133;11288:179;;;;;;;;;;-1:-1:-1;11288:179:0;;;;;:::i;:::-;;:::i;3983:24::-;;;;;;;;;;-1:-1:-1;3983:24:0;;;;-1:-1:-1;;;;;3983:24:0;;;7306:310;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;;;;;;;;;7440:3:::1;7421:22:::0;::::1;7413:71;;;;-1:-1:-1::0;;;7413:71:0::1;;;;;;;:::i;:::-;7500:9;7495:114;7513:20:::0;;::::1;7495:114;;;7591:6;7555:19;:33;7575:9;;7585:1;7575:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7555:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7555:33:0;:42;;-1:-1:-1;;7555:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7535:3:::1;::::0;::::1;:::i;:::-;;;7495:114;;;;7306:310:::0;;;:::o;6694:294::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;6820:3:::1;6801:22:::0;::::1;6793:71;;;;-1:-1:-1::0;;;6793:71:0::1;;;;;;;:::i;:::-;6880:9;6875:106;6893:20:::0;;::::1;6875:106;;;6963:6;6935:11;:25;6947:9;;6957:1;6947:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6935:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6935:25:0;:34;;-1:-1:-1;;6935:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6915:3:::1;::::0;::::1;:::i;:::-;;;6875:106;;6157:260:::0;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;6293:2:::1;6266:23;:29;;6258:75;;;::::0;-1:-1:-1;;;6258:75:0;;5883:2:1;6258:75:0::1;::::0;::::1;5865:21:1::0;5922:2;5902:18;;;5895:30;5961:34;5941:18;;;5934:62;-1:-1:-1;;;6012:18:1;;;6005:32;6054:19;;6258:75:0::1;5681:398:1::0;6258:75:0::1;6405:4;6377:23:::0;3335:12:::1;3269:1;3335:2;:12;:::i;:::-;3321:26;::::0;:11:::1;:26;:::i;:::-;6363:37;;;;:::i;:::-;6362:47;;;;:::i;:::-;6344:15;:65:::0;-1:-1:-1;6157:260:0:o;5261:216::-;5365:10;5336:4;5353:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5353:32:0;;;;;;;;;;:41;;;5410:37;5336:4;;5353:32;;5410:37;;;;5388:6;2454:25:1;;2442:2;2427:18;;2308:177;5410:37:0;;;;;;;;-1:-1:-1;5465:4:0;5261:216;;;;;:::o;3283:64::-;3335:12;3269:1;3335:2;:12;:::i;:::-;3321:26;;:11;:26;:::i;:::-;3283:64;:::o;10187:259::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;10290:21:::1;10270:17;10381:3;10348:28;10360:16:::0;10290:21;10348:28:::1;:::i;:::-;10346:38;;;;:::i;:::-;10395:43;::::0;10322:62;;-1:-1:-1;10403:10:0::1;::::0;10395:43;::::1;;;::::0;10322:62;;10395:43:::1;::::0;;;10322:62;10403:10;10395:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;5779:370:::0;-1:-1:-1;;;;;5899:19:0;;5879:4;5899:19;;;:11;:19;;;;;;;;5919:10;5899:31;;;;;;;;-1:-1:-1;;5899:52:0;5896:186;;6001:69;;;;;;;;;;;-1:-1:-1;;;6001:69:0;;;;;;;;-1:-1:-1;;;;;6001:19:0;;-1:-1:-1;6001:19:0;;;:11;:19;;;;;6021:10;6001:31;;;;;;;;;;:69;;6037:6;;6001:35;:69::i;:::-;-1:-1:-1;;;;;5967:19:0;;;;;;:11;:19;;;;;;;;5987:10;5967:31;;;;;;;:103;5896:186;6101:40;6115:6;6123:9;6134:6;6101:13;:40::i;:::-;6094:47;;5779:370;;;;;;:::o;11475:137::-;11588:9;:15;;;;3024:42;11528:7;11570:15;;;;;11528:7;;11588:15;3335:12;3269:1;3335:2;:12;:::i;:::-;3321:26;;:11;:26;:::i;:::-;11556:29;;;;:::i;:::-;:47;;;;:::i;:::-;11548:56;;11475:137;:::o;6996:302::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;7126:3:::1;7107:22:::0;::::1;7099:71;;;;-1:-1:-1::0;;;7099:71:0::1;;;;;;;:::i;:::-;7186:9;7181:110;7199:20:::0;;::::1;7181:110;;;7273:6;7241:15;:29;7257:9;;7267:1;7257:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7241:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7241:29:0;:38;;-1:-1:-1;;7241:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7221:3:::1;::::0;::::1;:::i;:::-;;;7181:110;;5485:122:::0;5540:4;5564:35;5572:7;-1:-1:-1;;5564:7:0;:35::i;9859:198::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;9958:14:::1;:22:::0;;;;9991:13:::1;:20:::0;;;;10022:18:::1;:27:::0;9859:198::o;2317:85::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;2392:1:::1;2376:18:::0;;-1:-1:-1;;;;;;2376:18:0::1;::::0;;2317:85::o;10454:284::-;10545:12;2296:5;;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;10573:6:::1;10583:1;10573:11:::0;10570:95:::1;;10609:44;::::0;-1:-1:-1;;;10609:44:0;;10647:4:::1;10609:44;::::0;::::1;3670:51:1::0;-1:-1:-1;;;;;10609:29:0;::::1;::::0;::::1;::::0;3643:18:1;;10609:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10600:53;;10570:95;10682:48;::::0;-1:-1:-1;;;10682:48:0;;10711:10:::1;10682:48;::::0;::::1;8355:51:1::0;8422:18;;;8415:34;;;-1:-1:-1;;;;;10682:28:0;::::1;::::0;::::1;::::0;8328:18:1;;10682:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5615:156::-:0;5695:4;5719:44;5733:10;5745:9;5756:6;5719:13;:44::i;6425:261::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;6559:2:::1;6531:24;:30;;6523:81;;;::::0;-1:-1:-1;;;6523:81:0;;8912:2:1;6523:81:0::1;::::0;::::1;8894:21:1::0;8951:2;8931:18;;;8924:30;8990:34;8970:18;;;8963:62;-1:-1:-1;;;9041:18:1;;;9034:37;9088:19;;6523:81:0::1;8710:403:1::0;6523:81:0::1;6674:4;6645:24:::0;3335:12:::1;3269:1;3335:2;:12;:::i;:::-;3321:26;::::0;:11:::1;:26;:::i;:::-;6631:38;;;;:::i;:::-;6630:48;;;;:::i;:::-;6615:12;:63:::0;-1:-1:-1;6425:261:0:o;10065:112::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;10144:8:::1;:25:::0;10065:112::o;11288:179::-;2261:4;2296:5;-1:-1:-1;;;;;2296:5:0;2165:10;2285:16;2149:38;;;;-1:-1:-1;;;2149:38:0;;;;;;;:::i;:::-;11384:11:::1;:22:::0;;-1:-1:-1;;;;11384:22:0::1;-1:-1:-1::0;;;11384:22:0;::::1;;;;::::0;;11447:12;3335::::1;3269:1;3335:2;:12;:::i;:::-;3321:26;::::0;:11:::1;:26;:::i;:::-;11433;;;;:::i;:::-;11417:13;:42:::0;-1:-1:-1;;11288:179:0:o;525:192::-;611:7;647:12;639:6;;;;631:29;;;;-1:-1:-1;;;631:29:0;;;;;;;;:::i;:::-;-1:-1:-1;671:9:0;683:5;687:1;683;:5;:::i;:::-;671:17;525:192;-1:-1:-1;;;;;525:192:0:o;7624:949::-;7736:6;;7716:4;;7736:6;;7733:63;;;7752:41;7767:6;7775:9;7786:6;7752:14;:41::i;:::-;7745:48;;;;7733:63;-1:-1:-1;;;;;7813:27:0;;;;;;:19;:27;;;;;;;;7812:28;:63;;;;-1:-1:-1;;;;;;7845:30:0;;;;;;:19;:30;;;;;;;;7844:31;7812:63;:84;;;;;7892:4;-1:-1:-1;;;;;7879:17:0;:9;-1:-1:-1;;;;;7879:17:0;;;7812:84;7808:203;;;7956:15;;-1:-1:-1;;;;;7922:20:0;;;;;;:9;:20;;;;;;:29;;7945:6;;7922:29;:::i;:::-;7921:50;;7913:86;;;;-1:-1:-1;;;7913:86:0;;9453:2:1;7913:86:0;;;9435:21:1;9492:2;9472:18;;;9465:30;9531:26;9511:18;;;9504:54;9575:18;;7913:86:0;9251:348:1;7913:86:0;8046:12;;8036:6;:22;;8035:51;;;-1:-1:-1;;;;;;8063:23:0;;;;;;:15;:23;;;;;;;;8035:51;:81;;;-1:-1:-1;;;;;;8090:26:0;;;;;;:15;:26;;;;;;;;8035:81;8027:115;;;;-1:-1:-1;;;8027:115:0;;9806:2:1;8027:115:0;;;9788:21:1;9845:2;9825:18;;;9818:30;-1:-1:-1;;;9864:18:1;;;9857:51;9925:18;;8027:115:0;9604:345:1;8027:115:0;8158:16;:14;:16::i;:::-;8155:35;;;8177:10;:8;:10::i;:::-;8222:53;;;;;;;;;;;-1:-1:-1;;;8222:53:0;;;;;;;;-1:-1:-1;;;;;8222:17:0;;-1:-1:-1;8222:17:0;;;:9;:17;;;;;;;;:53;;8244:6;;8222:21;:53::i;:::-;-1:-1:-1;;;;;8202:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8314:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8337:22:0;;;;;;:11;:22;;;;;;;;8314:45;8313:93;;8372:34;8380:6;8388;8396:9;8372:7;:34::i;:::-;8313:93;;;8363:6;8313:93;-1:-1:-1;;;;;8442:20:0;;;;;;:9;:20;;;;;;8288:118;;-1:-1:-1;8442:40:0;;8288:118;8442:24;:40::i;:::-;-1:-1:-1;;;;;8419:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8500:43;;;;;;;;;;8528:14;2454:25:1;;2442:2;2427:18;;2308:177;8500:43:0;;;;;;;;-1:-1:-1;8561:4:0;;7624:949;-1:-1:-1;;;;7624:949:0:o;8585:330::-;8715:53;;;;;;;;;;;-1:-1:-1;;;8715:53:0;;;;;;;;-1:-1:-1;;;;;8715:17:0;;8678:4;8715:17;;;:9;:17;;;;;;;:53;;8737:6;;8715:21;:53::i;:::-;-1:-1:-1;;;;;8695:17:0;;;;;;;:9;:17;;;;;;:73;;;;8802:20;;;;;;;:32;;8827:6;8802:24;:32::i;:::-;-1:-1:-1;;;;;8779:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8850:35;;;;;;;;;;8878:6;2454:25:1;;2442:2;2427:18;;2308:177;8850:35:0;;;;;;;;-1:-1:-1;8903:4:0;8585:330;;;;;:::o;9654:197::-;9703:4;9727:10;-1:-1:-1;;;;;9741:4:0;9727:18;;;;;:38;;-1:-1:-1;9759:6:0;;;;9758:7;9727:38;:62;;;;-1:-1:-1;9778:11:0;;-1:-1:-1;;;9778:11:0;;;;9727:62;:116;;;;-1:-1:-1;;9830:13:0;;9820:4;9802:24;;;;:9;:24;;;;;;:41;;;9654:197::o;10746:534::-;4177:6;:13;;-1:-1:-1;;4177:13:0;4186:4;4177:13;;;10821:16:::1;::::0;;10835:1:::1;10821:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10821:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10821:16:0::1;10797:40;;10866:4;10848;10853:1;10848:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10848:23:0::1;;;-1:-1:-1::0;;;;;10848:23:0::1;;;::::0;::::1;10892:4;10882;10887:1;10882:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10882:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;10909:6:::1;::::0;10981:13:::1;::::0;10909:189:::1;::::0;-1:-1:-1;;;10909:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;10981:13;10909:6:::1;::::0;11025:4;;11052::::1;::::0;11072:15:::1;::::0;10909:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11194:21:0::1;::::0;11186:57:::1;::::0;11131:21:::1;::::0;-1:-1:-1;11111:17:0::1;::::0;-1:-1:-1;;;;;;11194:21:0;;::::1;::::0;11131;;11111:17;11186:57;11111:17;11186:57;11131:21;11194;11186:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4195:6:0;:14;;-1:-1:-1;;4195:14:0;;;-1:-1:-1;;;;10746:534:0:o;8923:723::-;9009:7;9032:11;;;:28;;-1:-1:-1;9047:8:0;;:13;9032:28;9029:72;;;-1:-1:-1;9083:6:0;9076:13;;9029:72;9134:18;;-1:-1:-1;;;;;9181:4:0;9168:17;;;;;;9165:154;;-1:-1:-1;9215:14:0;;9165:154;;;9260:4;-1:-1:-1;;;;;9250:14:0;:6;-1:-1:-1;;;;;9250:14:0;;9247:72;;-1:-1:-1;9294:13:0;;9247:72;9331:17;9351:62;9392:20;3821:3;;9392:20;:::i;:::-;9351:36;9376:10;9351:20;9362:8;;9351:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;9331:82;-1:-1:-1;9429:13:0;;9426:172;;9503:4;9485:24;;;;:9;:24;;;;;;:39;;9514:9;9485:28;:39::i;:::-;9476:4;9458:24;;;;:9;:24;;;;;;;:66;;;;9544:42;;-1:-1:-1;;;;;9544:42:0;;;;;;;9576:9;2454:25:1;;2442:2;2427:18;;2308:177;9544:42:0;;;;;;;;9426:172;9617:21;:6;9628:9;9617:10;:21::i;:::-;9610:28;8923:723;-1:-1:-1;;;;;;8923:723:0:o;196:181::-;254:7;;286:5;290:1;286;:5;:::i;:::-;274:17;;315:1;310;:6;;302:46;;;;-1:-1:-1;;;302:46:0;;11483:2:1;302:46:0;;;11465:21:1;11522:2;11502:18;;;11495:30;11561:29;11541:18;;;11534:57;11608:18;;302:46:0;11281:351:1;723:250:0;781:7;805:1;810;805:6;801:47;;-1:-1:-1;835:1:0;828:8;;801:47;860:9;872:5;876:1;872;:5;:::i;:::-;860:17;-1:-1:-1;905:1:0;896:5;900:1;860:17;896:5;:::i;:::-;:10;888:56;;;;-1:-1:-1;;;888:56:0;;11839:2:1;888:56:0;;;11821:21:1;11878:2;11858:18;;;11851:30;11917:34;11897:18;;;11890:62;-1:-1:-1;;;11968:18:1;;;11961:31;12009:19;;888:56:0;11637:397:1;979:132:0;1037:7;1064:39;1068:1;1071;1064:39;;;;;;;;;;;;;;;;;:3;:39::i;383:136::-;441:7;468:43;472:1;475;468:43;;;;;;;;;;;;;;;;;:3;:43::i;1117:189::-;1203:7;1238:12;1231:5;1223:28;;;;-1:-1:-1;;;1223:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1262:9:0;1274:5;1278:1;1274;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;66:60;14:118;:::o;137:750::-;229:6;237;245;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;354:9;341:23;383:18;424:2;416:6;413:14;410:34;;;440:1;437;430:12;410:34;478:6;467:9;463:22;453:32;;523:7;516:4;512:2;508:13;504:27;494:55;;545:1;542;535:12;494:55;585:2;572:16;611:2;603:6;600:14;597:34;;;627:1;624;617:12;597:34;682:7;675:4;665:6;662:1;658:14;654:2;650:23;646:34;643:47;640:67;;;703:1;700;693:12;640:67;734:4;726:13;;;;-1:-1:-1;758:6:1;-1:-1:-1;;799:20:1;;786:34;829:28;786:34;829:28;:::i;:::-;876:5;866:15;;;137:750;;;;;:::o;892:597::-;1004:4;1033:2;1062;1051:9;1044:21;1094:6;1088:13;1137:6;1132:2;1121:9;1117:18;1110:34;1162:1;1172:140;1186:6;1183:1;1180:13;1172:140;;;1281:14;;;1277:23;;1271:30;1247:17;;;1266:2;1243:26;1236:66;1201:10;;1172:140;;;1330:6;1327:1;1324:13;1321:91;;;1400:1;1395:2;1386:6;1375:9;1371:22;1367:31;1360:42;1321:91;-1:-1:-1;1473:2:1;1452:15;-1:-1:-1;;1448:29:1;1433:45;;;;1480:2;1429:54;;892:597;-1:-1:-1;;;892:597:1:o;1494:180::-;1553:6;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;-1:-1:-1;1645:23:1;;1494:180;-1:-1:-1;1494:180:1:o;1679:173::-;1747:20;;-1:-1:-1;;;;;1796:31:1;;1786:42;;1776:70;;1842:1;1839;1832:12;1776:70;1679:173;;;:::o;1857:254::-;1925:6;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;2025:29;2044:9;2025:29;:::i;:::-;2015:39;2101:2;2086:18;;;;2073:32;;-1:-1:-1;;;1857:254:1:o;2490:328::-;2567:6;2575;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2675:29;2694:9;2675:29;:::i;:::-;2665:39;;2723:38;2757:2;2746:9;2742:18;2723:38;:::i;:::-;2713:48;;2808:2;2797:9;2793:18;2780:32;2770:42;;2490:328;;;;;:::o;2823:186::-;2882:6;2935:2;2923:9;2914:7;2910:23;2906:32;2903:52;;;2951:1;2948;2941:12;2903:52;2974:29;2993:9;2974:29;:::i;3203:316::-;3280:6;3288;3296;3349:2;3337:9;3328:7;3324:23;3320:32;3317:52;;;3365:1;3362;3355:12;3317:52;-1:-1:-1;;3388:23:1;;;3458:2;3443:18;;3430:32;;-1:-1:-1;3509:2:1;3494:18;;;3481:32;;3203:316;-1:-1:-1;3203:316:1:o;3732:260::-;3800:6;3808;3861:2;3849:9;3840:7;3836:23;3832:32;3829:52;;;3877:1;3874;3867:12;3829:52;3900:29;3919:9;3900:29;:::i;:::-;3890:39;;3948:38;3982:2;3971:9;3967:18;3948:38;:::i;:::-;3938:48;;3732:260;;;;;:::o;3997:309::-;4062:6;4070;4123:2;4111:9;4102:7;4098:23;4094:32;4091:52;;;4139:1;4136;4129:12;4091:52;4178:9;4165:23;4197:28;4219:5;4197:28;:::i;4537:329::-;4739:2;4721:21;;;4778:1;4758:18;;;4751:29;-1:-1:-1;;;4811:2:1;4796:18;;4789:36;4857:2;4842:18;;4537:329::o;4871:401::-;5073:2;5055:21;;;5112:2;5092:18;;;5085:30;5151:34;5146:2;5131:18;;5124:62;-1:-1:-1;;;5217:2:1;5202:18;;5195:35;5262:3;5247:19;;4871:401::o;5277:127::-;5338:10;5333:3;5329:20;5326:1;5319:31;5369:4;5366:1;5359:15;5393:4;5390:1;5383:15;5409:127;5470:10;5465:3;5461:20;5458:1;5451:31;5501:4;5498:1;5491:15;5525:4;5522:1;5515:15;5541:135;5580:3;5601:17;;;5598:43;;5621:18;;:::i;:::-;-1:-1:-1;5668:1:1;5657:13;;5541:135::o;6084:422::-;6173:1;6216:5;6173:1;6230:270;6251:7;6241:8;6238:21;6230:270;;;6310:4;6306:1;6302:6;6298:17;6292:4;6289:27;6286:53;;;6319:18;;:::i;:::-;6369:7;6359:8;6355:22;6352:55;;;6389:16;;;;6352:55;6468:22;;;;6428:15;;;;6230:270;;;6234:3;6084:422;;;;;:::o;6511:806::-;6560:5;6590:8;6580:80;;-1:-1:-1;6631:1:1;6645:5;;6580:80;6679:4;6669:76;;-1:-1:-1;6716:1:1;6730:5;;6669:76;6761:4;6779:1;6774:59;;;;6847:1;6842:130;;;;6754:218;;6774:59;6804:1;6795:10;;6818:5;;;6842:130;6879:3;6869:8;6866:17;6863:43;;;6886:18;;:::i;:::-;-1:-1:-1;;6942:1:1;6928:16;;6957:5;;6754:218;;7056:2;7046:8;7043:16;7037:3;7031:4;7028:13;7024:36;7018:2;7008:8;7005:16;7000:2;6994:4;6991:12;6987:35;6984:77;6981:159;;;-1:-1:-1;7093:19:1;;;7125:5;;6981:159;7172:34;7197:8;7191:4;7172:34;:::i;:::-;7242:6;7238:1;7234:6;7230:19;7221:7;7218:32;7215:58;;;7253:18;;:::i;:::-;7291:20;;6511:806;-1:-1:-1;;;6511:806:1:o;7322:140::-;7380:5;7409:47;7450:4;7440:8;7436:19;7430:4;7409:47;:::i;7467:168::-;7507:7;7573:1;7569;7565:6;7561:14;7558:1;7555:21;7550:1;7543:9;7536:17;7532:45;7529:71;;;7580:18;;:::i;:::-;-1:-1:-1;7620:9:1;;7467:168::o;7640:217::-;7680:1;7706;7696:132;;7750:10;7745:3;7741:20;7738:1;7731:31;7785:4;7782:1;7775:15;7813:4;7810:1;7803:15;7696:132;-1:-1:-1;7842:9:1;;7640:217::o;7862:125::-;7902:4;7930:1;7927;7924:8;7921:34;;;7935:18;;:::i;:::-;-1:-1:-1;7972:9:1;;7862:125::o;7992:184::-;8062:6;8115:2;8103:9;8094:7;8090:23;8086:32;8083:52;;;8131:1;8128;8121:12;8083:52;-1:-1:-1;8154:16:1;;7992:184;-1:-1:-1;7992:184:1:o;8460:245::-;8527:6;8580:2;8568:9;8559:7;8555:23;8551:32;8548:52;;;8596:1;8593;8586:12;8548:52;8628:9;8622:16;8647:28;8669:5;8647:28;:::i;9118:128::-;9158:3;9189:1;9185:6;9182:1;9179:13;9176:39;;;9195:18;;:::i;:::-;-1:-1:-1;9231:9:1;;9118:128::o;10086:980::-;10348:4;10396:3;10385:9;10381:19;10427:6;10416:9;10409:25;10453:2;10491:6;10486:2;10475:9;10471:18;10464:34;10534:3;10529:2;10518:9;10514:18;10507:31;10558:6;10593;10587:13;10624:6;10616;10609:22;10662:3;10651:9;10647:19;10640:26;;10701:2;10693:6;10689:15;10675:29;;10722:1;10732:195;10746:6;10743:1;10740:13;10732:195;;;10811:13;;-1:-1:-1;;;;;10807:39:1;10795:52;;10902:15;;;;10867:12;;;;10843:1;10761:9;10732:195;;;-1:-1:-1;;;;;;;10983:32:1;;;;10978:2;10963:18;;10956:60;-1:-1:-1;;;11047:3:1;11032:19;11025:35;10944:3;10086:980;-1:-1:-1;;;10086:980:1:o
Swarm Source
ipfs://43a32254ed38382a384e128e2fce41c93fd7f13f81576c8212a42cf32a939b12
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.