ERC-20
Overview
Max Total Supply
1,000,000,000 Pines
Holders
49
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,391,096.825836779 PinesValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GRAVITYFALLSTOKEN
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-20 */ // SPDX-License-Identifier: MIT /* Twitter : https://twitter.com/GravityFallsErc Telegram : https://t.me/GravityFallsErc */ pragma solidity 0.8.17; 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 GRAVITYFALLSTOKEN is ERC20, Auth { using SafeMath for uint256; address immutable WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string public constant name = "Gravity Falls"; string public constant symbol = "Pines"; uint8 public constant decimals = 9; uint256 public constant totalSupply = 1_000_000_000 * 10**decimals; uint256 public _maxTxAmount = totalSupply / 50; uint256 public _maxWalletToken = totalSupply / 50; 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 public marketingFee = 5; uint256 public operationsFee = 5; uint256 public totalFee = marketingFee + operationsFee; uint256 public constant feeDenominator = 100; uint256 buyMultiplier = 200; uint256 sellMultiplier = 200; uint256 transferMultiplier = 0; address marketingFeeReceiver; address operationsFeeReceiver; IDEXRouter public router; address public immutable pair; bool swapEnabled = true; uint256 swapThreshold = totalSupply / 200; 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; marketingFeeReceiver = msg.sender; 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 _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 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; uint256 amountETHmarketing = (amountETH * marketingFee) / totalFee; uint256 amountETHOperations = (amountETH * operationsFee) / totalFee; (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHmarketing}(""); (tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETHOperations}(""); } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } 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":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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
60c06040526032620000146009600a6200051b565b6200002490633b9aca0062000533565b6200003091906200054d565b6001556032620000436009600a6200051b565b6200005390633b9aca0062000533565b6200005f91906200054d565b6002556005600881905560098190556200007a908062000570565b600a90815560c8600b819055600c8190556000600d556010805460ff60a01b1916600160a01b17905590620000b2906009906200051b565b620000c290633b9aca0062000533565b620000ce91906200054d565b601155348015620000de57600080fd5b5060008054336001600160a01b03199182161790915560108054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000175919062000586565b6001600160a01b039081166080526010546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ec919062000586565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000264919062000586565b6001600160a01b0390811660a05230600081815260046020908152604080832060105490951683529381528382206000199055600e8054336001600160a01b03199182168117909255600f805490911682179055825260058152838220805460ff1990811660019081179092556006835285842080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548216831790557f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8805482168317905560079092528483208054831682179055928252928120805484168317905561dead90527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80549092161790556200038c6009600a6200051b565b6200039c90633b9aca0062000533565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003df6009600a6200051b565b620003ef90633b9aca0062000533565b60405190815260200160405180910390a3620005b1565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200045d57816000190482111562000441576200044162000406565b808516156200044f57918102915b93841c939080029062000421565b509250929050565b600082620004765750600162000515565b81620004855750600062000515565b81600181146200049e5760028114620004a957620004c9565b600191505062000515565b60ff841115620004bd57620004bd62000406565b50506001821b62000515565b5060208310610133831016604e8410600b8410161715620004ee575081810a62000515565b620004fa83836200041c565b806000190482111562000511576200051162000406565b0290505b92915050565b60006200052c60ff84168362000465565b9392505050565b808202811582820484141762000515576200051562000406565b6000826200056b57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000515576200051562000406565b6000602082840312156200059957600080fd5b81516001600160a01b03811681146200052c57600080fd5b60805160a0516119ee620005f36000396000818161055101528181610cf20152818161107b01528181611319015261134d0152600061114501526119ee6000f3fe6080604052600436106101dc5760003560e01c80636ce46bc31161010257806395d89b4111610095578063c867d60b11610064578063c867d60b146105b3578063dd62ed3e146105e3578063df20fd4914610629578063f887ea401461064957600080fd5b806395d89b411461050e578063a8aa1b311461053f578063a9059cbb14610573578063bd9ab5371461059357600080fd5b806378109e54116100d157806378109e54146104805780637d1db4a514610496578063893d20e8146104ac5780638b42507f146104de57600080fd5b80636ce46bc3146103fe57806370a082311461041e578063715018a61461044b57806377b54bad1461046057600080fd5b80631df4ccfc1161017a578063313ce56711610149578063313ce567146103715780633f4218e014610398578063571ac8b0146103c85780636b67c4df146103e857600080fd5b80631df4ccfc146102f757806323b872dd1461030d5780632b112e491461032d5780632f54bf6e1461034257600080fd5b8063095ea7b3116101b6578063095ea7b31461027d578063180b0d7e146102ad57806318160ddd146102c25780631da1db5e146102d757600080fd5b806306fdde03146101e8578063090896be1461023757806309302dc61461025b57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506102216040518060400160405280600d81526020016c477261766974792046616c6c7360981b81525081565b60405161022e91906115e1565b60405180910390f35b34801561024357600080fd5b5061024d60095481565b60405190815260200161022e565b34801561026757600080fd5b5061027b61027636600461162f565b610669565b005b34801561028957600080fd5b5061029d610298366004611664565b610730565b604051901515815260200161022e565b3480156102b957600080fd5b5061024d606481565b3480156102ce57600080fd5b5061024d61079d565b3480156102e357600080fd5b5061027b6102f236600461162f565b6107ba565b34801561030357600080fd5b5061024d600a5481565b34801561031957600080fd5b5061029d61032836600461168e565b610833565b34801561033957600080fd5b5061024d6108f5565b34801561034e57600080fd5b5061029d61035d3660046116ca565b6000546001600160a01b0391821691161490565b34801561037d57600080fd5b50610386600981565b60405160ff909116815260200161022e565b3480156103a457600080fd5b5061029d6103b33660046116ca565b60056020526000908152604090205460ff1681565b3480156103d457600080fd5b5061029d6103e33660046116ca565b61097c565b3480156103f457600080fd5b5061024d60085481565b34801561040a57600080fd5b5061027b6104193660046116e5565b61098a565b34801561042a57600080fd5b5061024d6104393660046116ca565b60036020526000908152604090205481565b34801561045757600080fd5b5061027b6109c5565b34801561046c57600080fd5b5061029d61047b366004611664565b610a01565b34801561048c57600080fd5b5061024d60025481565b3480156104a257600080fd5b5061024d60015481565b3480156104b857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161022e565b3480156104ea57600080fd5b5061029d6104f93660046116ca565b60066020526000908152604090205460ff1681565b34801561051a57600080fd5b506102216040518060400160405280600581526020016450696e657360d81b81525081565b34801561054b57600080fd5b506104c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561057f57600080fd5b5061029d61058e366004611664565b610b10565b34801561059f57600080fd5b5061027b6105ae36600461162f565b610b1d565b3480156105bf57600080fd5b5061029d6105ce3660046116ca565b60076020526000908152604090205460ff1681565b3480156105ef57600080fd5b5061024d6105fe366004611711565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561063557600080fd5b5061027b610644366004611755565b610be0565b34801561065557600080fd5b506010546104c6906001600160a01b031681565b6000546001600160a01b0316331461069c5760405162461bcd60e51b815260040161069390611773565b60405180910390fd5b600a8110156106f85760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610693565b6103e8816107086009600a61188d565b61071690633b9aca0061189c565b610720919061189c565b61072a91906118b3565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061078b9086815260200190565b60405180910390a35060015b92915050565b6107a96009600a61188d565b6107b790633b9aca0061189c565b81565b6000546001600160a01b031633146107e45760405162461bcd60e51b815260040161069390611773565b47600060646107f3848461189c565b6107fd91906118b3565b604051909150339082156108fc029083906000818181858888f1935050505015801561082d573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146108e0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526004825283812033825290915291909120546108bb918490610c4d565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6108eb848484610c87565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c549091906109556009600a61188d565b61096390633b9aca0061189c565b61096d91906118d5565b61097791906118d5565b905090565b600061079782600019610730565b6000546001600160a01b031633146109b45760405162461bcd60e51b815260040161069390611773565b600c91909155600b91909155600d55565b6000546001600160a01b031633146109ef5760405162461bcd60e51b815260040161069390611773565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a2c5760405162461bcd60e51b815260040161069390611773565b81600003610a9f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906118e8565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610aec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611901565b60006108ee338484610c87565b6000546001600160a01b03163314610b475760405162461bcd60e51b815260040161069390611773565b600a811015610ba85760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152667468616e20312560c81b6064820152608401610693565b6103e881610bb86009600a61188d565b610bc690633b9aca0061189c565b610bd0919061189c565b610bda91906118b3565b60015550565b6000546001600160a01b03163314610c0a5760405162461bcd60e51b815260040161069390611773565b6010805460ff60a01b1916600160a01b8415150217905580610c2e6009600a61188d565b610c3c90633b9aca0061189c565b610c4691906118b3565b6011555050565b60008184841115610c715760405162461bcd60e51b815260040161069391906115e1565b506000610c7e84866118d5565b95945050505050565b60125460009060ff1615610ca757610ca0848484610f88565b90506108ee565b6001600160a01b03841660009081526007602052604090205460ff16158015610ce957506001600160a01b03831660009081526007602052604090205460ff16155b8015610d2757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610da1576002546001600160a01b038416600090815260036020526040902054610d5390849061191e565b1115610da15760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610693565b60015482111580610dca57506001600160a01b03841660009081526006602052604090205460ff165b80610ded57506001600160a01b03831660009081526006602052604090205460ff165b610e315760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610693565b610e3961106e565b15610e4657610e466110e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610e98918490610c4d565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610ee557506001600160a01b03841660009081526005602052604090205460ff165b610ef957610ef48584866112f1565b610efb565b825b6001600160a01b038516600090815260036020526040902054909150610f21908261144e565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f759085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610fd9918490610c4d565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611008908361144e565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105c9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110ac575060125460ff16155b80156110c15750601054600160a01b900460ff165b801561097757505060115430600090815260036020526040902054101590565b6012805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061112357611123611931565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061117757611177611931565b6001600160a01b03928316602091820292909201015260105460115460405163791ac94760e01b8152919092169163791ac947916111c19190600090869030904290600401611947565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b5050600a5460085447935060009250611208908461189c565b61121291906118b3565b90506000600a5460095484611227919061189c565b61123191906118b3565b600e546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146112d8576040519150601f19603f3d011682016040523d82523d6000602084013e6112dd565b606091505b50506012805460ff19169055505050505050565b60008215806113005750600a54155b1561130c5750816108ee565b600d546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169084160361134b5750600c54611389565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036113895750600b545b60006113be61139960648061189c565b6113b8846113b2600a548a6114ad90919063ffffffff16565b906114ad565b9061152f565b9050801561143a57306000908152600360205260409020546113e0908261144e565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114319085815260200190565b60405180910390a35b6114448582611571565b9695505050505050565b60008061145b838561191e565b9050838110156108ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610693565b6000826000036114bf57506000610797565b60006114cb838561189c565b9050826114d885836118b3565b146108ee5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610693565b60006108ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b3565b60006108ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4d565b600081836115d45760405162461bcd60e51b815260040161069391906115e1565b506000610c7e84866118b3565b600060208083528351808285015260005b8181101561160e578581018301518582016040015282016115f2565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561164157600080fd5b5035919050565b80356001600160a01b038116811461165f57600080fd5b919050565b6000806040838503121561167757600080fd5b61168083611648565b946020939093013593505050565b6000806000606084860312156116a357600080fd5b6116ac84611648565b92506116ba60208501611648565b9150604084013590509250925092565b6000602082840312156116dc57600080fd5b6108ee82611648565b6000806000606084860312156116fa57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561172457600080fd5b61172d83611648565b915061173b60208401611648565b90509250929050565b801515811461175257600080fd5b50565b6000806040838503121561176857600080fd5b823561168081611744565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117e45781600019048211156117ca576117ca611793565b808516156117d757918102915b93841c93908002906117ae565b509250929050565b6000826117fb57506001610797565b8161180857506000610797565b816001811461181e576002811461182857611844565b6001915050610797565b60ff84111561183957611839611793565b50506001821b610797565b5060208310610133831016604e8410600b8410161715611867575081810a610797565b61187183836117a9565b806000190482111561188557611885611793565b029392505050565b60006108ee60ff8416836117ec565b808202811582820484141761079757610797611793565b6000826118d057634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561079757610797611793565b6000602082840312156118fa57600080fd5b5051919050565b60006020828403121561191357600080fd5b81516108ee81611744565b8082018082111561079757610797611793565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119975784516001600160a01b031683529383019391830191600101611972565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204c05b878e9c8252a9524cde05b8ac0fd630d3433f4a628fa4e0ed2736cba3a3364736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636ce46bc31161010257806395d89b4111610095578063c867d60b11610064578063c867d60b146105b3578063dd62ed3e146105e3578063df20fd4914610629578063f887ea401461064957600080fd5b806395d89b411461050e578063a8aa1b311461053f578063a9059cbb14610573578063bd9ab5371461059357600080fd5b806378109e54116100d157806378109e54146104805780637d1db4a514610496578063893d20e8146104ac5780638b42507f146104de57600080fd5b80636ce46bc3146103fe57806370a082311461041e578063715018a61461044b57806377b54bad1461046057600080fd5b80631df4ccfc1161017a578063313ce56711610149578063313ce567146103715780633f4218e014610398578063571ac8b0146103c85780636b67c4df146103e857600080fd5b80631df4ccfc146102f757806323b872dd1461030d5780632b112e491461032d5780632f54bf6e1461034257600080fd5b8063095ea7b3116101b6578063095ea7b31461027d578063180b0d7e146102ad57806318160ddd146102c25780631da1db5e146102d757600080fd5b806306fdde03146101e8578063090896be1461023757806309302dc61461025b57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506102216040518060400160405280600d81526020016c477261766974792046616c6c7360981b81525081565b60405161022e91906115e1565b60405180910390f35b34801561024357600080fd5b5061024d60095481565b60405190815260200161022e565b34801561026757600080fd5b5061027b61027636600461162f565b610669565b005b34801561028957600080fd5b5061029d610298366004611664565b610730565b604051901515815260200161022e565b3480156102b957600080fd5b5061024d606481565b3480156102ce57600080fd5b5061024d61079d565b3480156102e357600080fd5b5061027b6102f236600461162f565b6107ba565b34801561030357600080fd5b5061024d600a5481565b34801561031957600080fd5b5061029d61032836600461168e565b610833565b34801561033957600080fd5b5061024d6108f5565b34801561034e57600080fd5b5061029d61035d3660046116ca565b6000546001600160a01b0391821691161490565b34801561037d57600080fd5b50610386600981565b60405160ff909116815260200161022e565b3480156103a457600080fd5b5061029d6103b33660046116ca565b60056020526000908152604090205460ff1681565b3480156103d457600080fd5b5061029d6103e33660046116ca565b61097c565b3480156103f457600080fd5b5061024d60085481565b34801561040a57600080fd5b5061027b6104193660046116e5565b61098a565b34801561042a57600080fd5b5061024d6104393660046116ca565b60036020526000908152604090205481565b34801561045757600080fd5b5061027b6109c5565b34801561046c57600080fd5b5061029d61047b366004611664565b610a01565b34801561048c57600080fd5b5061024d60025481565b3480156104a257600080fd5b5061024d60015481565b3480156104b857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161022e565b3480156104ea57600080fd5b5061029d6104f93660046116ca565b60066020526000908152604090205460ff1681565b34801561051a57600080fd5b506102216040518060400160405280600581526020016450696e657360d81b81525081565b34801561054b57600080fd5b506104c67f0000000000000000000000003786b3abcbf5353faeac8706bcc8d7f1a8b5612381565b34801561057f57600080fd5b5061029d61058e366004611664565b610b10565b34801561059f57600080fd5b5061027b6105ae36600461162f565b610b1d565b3480156105bf57600080fd5b5061029d6105ce3660046116ca565b60076020526000908152604090205460ff1681565b3480156105ef57600080fd5b5061024d6105fe366004611711565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561063557600080fd5b5061027b610644366004611755565b610be0565b34801561065557600080fd5b506010546104c6906001600160a01b031681565b6000546001600160a01b0316331461069c5760405162461bcd60e51b815260040161069390611773565b60405180910390fd5b600a8110156106f85760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610693565b6103e8816107086009600a61188d565b61071690633b9aca0061189c565b610720919061189c565b61072a91906118b3565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061078b9086815260200190565b60405180910390a35060015b92915050565b6107a96009600a61188d565b6107b790633b9aca0061189c565b81565b6000546001600160a01b031633146107e45760405162461bcd60e51b815260040161069390611773565b47600060646107f3848461189c565b6107fd91906118b3565b604051909150339082156108fc029083906000818181858888f1935050505015801561082d573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146108e0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526004825283812033825290915291909120546108bb918490610c4d565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6108eb848484610c87565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c549091906109556009600a61188d565b61096390633b9aca0061189c565b61096d91906118d5565b61097791906118d5565b905090565b600061079782600019610730565b6000546001600160a01b031633146109b45760405162461bcd60e51b815260040161069390611773565b600c91909155600b91909155600d55565b6000546001600160a01b031633146109ef5760405162461bcd60e51b815260040161069390611773565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a2c5760405162461bcd60e51b815260040161069390611773565b81600003610a9f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906118e8565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610aec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611901565b60006108ee338484610c87565b6000546001600160a01b03163314610b475760405162461bcd60e51b815260040161069390611773565b600a811015610ba85760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152667468616e20312560c81b6064820152608401610693565b6103e881610bb86009600a61188d565b610bc690633b9aca0061189c565b610bd0919061189c565b610bda91906118b3565b60015550565b6000546001600160a01b03163314610c0a5760405162461bcd60e51b815260040161069390611773565b6010805460ff60a01b1916600160a01b8415150217905580610c2e6009600a61188d565b610c3c90633b9aca0061189c565b610c4691906118b3565b6011555050565b60008184841115610c715760405162461bcd60e51b815260040161069391906115e1565b506000610c7e84866118d5565b95945050505050565b60125460009060ff1615610ca757610ca0848484610f88565b90506108ee565b6001600160a01b03841660009081526007602052604090205460ff16158015610ce957506001600160a01b03831660009081526007602052604090205460ff16155b8015610d2757507f0000000000000000000000003786b3abcbf5353faeac8706bcc8d7f1a8b561236001600160a01b0316836001600160a01b031614155b15610da1576002546001600160a01b038416600090815260036020526040902054610d5390849061191e565b1115610da15760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610693565b60015482111580610dca57506001600160a01b03841660009081526006602052604090205460ff165b80610ded57506001600160a01b03831660009081526006602052604090205460ff165b610e315760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610693565b610e3961106e565b15610e4657610e466110e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610e98918490610c4d565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610ee557506001600160a01b03841660009081526005602052604090205460ff165b610ef957610ef48584866112f1565b610efb565b825b6001600160a01b038516600090815260036020526040902054909150610f21908261144e565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f759085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610fd9918490610c4d565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611008908361144e565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105c9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000003786b3abcbf5353faeac8706bcc8d7f1a8b5612316148015906110ac575060125460ff16155b80156110c15750601054600160a01b900460ff165b801561097757505060115430600090815260036020526040902054101590565b6012805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061112357611123611931565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061117757611177611931565b6001600160a01b03928316602091820292909201015260105460115460405163791ac94760e01b8152919092169163791ac947916111c19190600090869030904290600401611947565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b5050600a5460085447935060009250611208908461189c565b61121291906118b3565b90506000600a5460095484611227919061189c565b61123191906118b3565b600e546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146112d8576040519150601f19603f3d011682016040523d82523d6000602084013e6112dd565b606091505b50506012805460ff19169055505050505050565b60008215806113005750600a54155b1561130c5750816108ee565b600d546001600160a01b037f0000000000000000000000003786b3abcbf5353faeac8706bcc8d7f1a8b5612381169084160361134b5750600c54611389565b7f0000000000000000000000003786b3abcbf5353faeac8706bcc8d7f1a8b561236001600160a01b0316856001600160a01b0316036113895750600b545b60006113be61139960648061189c565b6113b8846113b2600a548a6114ad90919063ffffffff16565b906114ad565b9061152f565b9050801561143a57306000908152600360205260409020546113e0908261144e565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114319085815260200190565b60405180910390a35b6114448582611571565b9695505050505050565b60008061145b838561191e565b9050838110156108ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610693565b6000826000036114bf57506000610797565b60006114cb838561189c565b9050826114d885836118b3565b146108ee5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610693565b60006108ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b3565b60006108ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4d565b600081836115d45760405162461bcd60e51b815260040161069391906115e1565b506000610c7e84866118b3565b600060208083528351808285015260005b8181101561160e578581018301518582016040015282016115f2565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561164157600080fd5b5035919050565b80356001600160a01b038116811461165f57600080fd5b919050565b6000806040838503121561167757600080fd5b61168083611648565b946020939093013593505050565b6000806000606084860312156116a357600080fd5b6116ac84611648565b92506116ba60208501611648565b9150604084013590509250925092565b6000602082840312156116dc57600080fd5b6108ee82611648565b6000806000606084860312156116fa57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561172457600080fd5b61172d83611648565b915061173b60208401611648565b90509250929050565b801515811461175257600080fd5b50565b6000806040838503121561176857600080fd5b823561168081611744565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117e45781600019048211156117ca576117ca611793565b808516156117d757918102915b93841c93908002906117ae565b509250929050565b6000826117fb57506001610797565b8161180857506000610797565b816001811461181e576002811461182857611844565b6001915050610797565b60ff84111561183957611839611793565b50506001821b610797565b5060208310610133831016604e8410600b8410161715611867575081810a610797565b61187183836117a9565b806000190482111561188557611885611793565b029392505050565b60006108ee60ff8416836117ec565b808202811582820484141761079757610797611793565b6000826118d057634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561079757610797611793565b6000602082840312156118fa57600080fd5b5051919050565b60006020828403121561191357600080fd5b81516108ee81611744565b8082018082111561079757610797611793565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119975784516001600160a01b031683529383019391830191600101611972565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204c05b878e9c8252a9524cde05b8ac0fd630d3433f4a628fa4e0ed2736cba3a3364736f6c63430008110033
Deployed Bytecode Sourcemap
2878:8101:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3139:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3139:45:0;;;;;;;;;;;;:::i;:::-;;;;;;;;3793:32;;;;;;;;;;;;;;;;;;;713:25:1;;;701:2;686:18;3793:32:0;567:177:1;6342:260:0;;;;;;;;;;-1:-1:-1;6342:260:0;;;;;:::i;:::-;;:::i;:::-;;5446:216;;;;;;;;;;-1:-1:-1;5446:216:0;;;;;:::i;:::-;;:::i;:::-;;;1536:14:1;;1529:22;1511:41;;1499:2;1484:18;5446:216:0;1371:187:1;3893:44:0;;;;;;;;;;;;3934:3;3893:44;;3280:66;;;;;;;;;;;;;:::i;9114:259::-;;;;;;;;;;-1:-1:-1;9114:259:0;;;;;:::i;:::-;;:::i;3832:54::-;;;;;;;;;;;;;;;;5964:370;;;;;;;;;;-1:-1:-1;5964:370:0;;;;;:::i;:::-;;:::i;10839:137::-;;;;;;;;;;;;;:::i;2198:103::-;;;;;;;;;;-1:-1:-1;2198:103:0;;;;;:::i;:::-;2253:4;2288:5;-1:-1:-1;;;;;2277:16:0;;;2288:5;;2277:16;;2198:103;3237:34;;;;;;;;;;;;3270:1;3237:34;;;;;2259:4:1;2247:17;;;2229:36;;2217:2;2202:18;3237:34:0;2087:184:1;3588:44:0;;;;;;;;;;-1:-1:-1;3588:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5670:122;;;;;;;;;;-1:-1:-1;5670:122:0;;;;;:::i;:::-;;:::i;3755:31::-;;;;;;;;;;;;;;;;10446:198;;;;;;;;;;-1:-1:-1;10446:198:0;;;;;:::i;:::-;;:::i;3466:45::-;;;;;;;;;;-1:-1:-1;3466:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2309:85;;;;;;;;;;;;;:::i;9381:284::-;;;;;;;;;;-1:-1:-1;9381:284:0;;;;;:::i;:::-;;:::i;3408:49::-;;;;;;;;;;;;;;;;3355:46;;;;;;;;;;;;;;;;5221:78;;;;;;;;;;-1:-1:-1;5273:7:0;5291:5;-1:-1:-1;;;;;5291:5:0;5221:78;;;-1:-1:-1;;;;;2761:32:1;;;2743:51;;2731:2;2716:18;5221:78:0;2597:203:1;3639:48:0;;;;;;;;;;-1:-1:-1;3639:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3191:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3191:39:0;;;;;4162:29;;;;;;;;;;;;;;;5800:156;;;;;;;;;;-1:-1:-1;5800:156:0;;;;;:::i;:::-;;:::i;6610:261::-;;;;;;;;;;-1:-1:-1;6610:261:0;;;;;:::i;:::-;;:::i;3694:52::-;;;;;;;;;;-1:-1:-1;3694:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5305:133;;;;;;;;;;-1:-1:-1;5305:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5407:19:0;;;5389:7;5407:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5305:133;10652:179;;;;;;;;;;-1:-1:-1;10652:179:0;;;;;:::i;:::-;;:::i;4131:24::-;;;;;;;;;;-1:-1:-1;4131:24:0;;;;-1:-1:-1;;;;;4131:24:0;;;6342:260;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;;;;;;;;;6478:2:::1;6451:23;:29;;6443:75;;;::::0;-1:-1:-1;;;6443:75:0;;4269:2:1;6443:75:0::1;::::0;::::1;4251:21:1::0;4308:2;4288:18;;;4281:30;4347:34;4327:18;;;4320:62;-1:-1:-1;;;4398:18:1;;;4391:32;4440:19;;6443:75:0::1;4067:398:1::0;6443:75:0::1;6590:4;6562:23:::0;3334:12:::1;3270:1;3334:2;:12;:::i;:::-;3318:28;::::0;:13:::1;:28;:::i;:::-;6548:37;;;;:::i;:::-;6547:47;;;;:::i;:::-;6529:15;:65:::0;-1:-1:-1;6342:260:0:o;5446:216::-;5550:10;5521:4;5538:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5538:32:0;;;;;;;;;;:41;;;5595:37;5521:4;;5538:32;;5595:37;;;;5573:6;713:25:1;;701:2;686:18;;567:177;5595:37:0;;;;;;;;-1:-1:-1;5650:4:0;5446:216;;;;;:::o;3280:66::-;3334:12;3270:1;3334:2;:12;:::i;:::-;3318:28;;:13;:28;:::i;:::-;3280:66;:::o;9114:259::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;9217:21:::1;9197:17;9308:3;9275:28;9287:16:::0;9217:21;9275:28:::1;:::i;:::-;9273:38;;;;:::i;:::-;9322:43;::::0;9249:62;;-1:-1:-1;9330:10:0::1;::::0;9322:43;::::1;;;::::0;9249:62;;9322:43:::1;::::0;;;9249:62;9330:10;9322:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9186:187;;9114:259:::0;:::o;5964:370::-;-1:-1:-1;;;;;6084:19:0;;6064:4;6084:19;;;:11;:19;;;;;;;;6104:10;6084:31;;;;;;;;-1:-1:-1;;6084:52:0;6081:186;;6186:69;;;;;;;;;;;-1:-1:-1;;;6186:69:0;;;;;;;;-1:-1:-1;;;;;6186:19:0;;-1:-1:-1;6186:19:0;;;:11;:19;;;;;6206:10;6186:31;;;;;;;;;;:69;;6222:6;;6186:35;:69::i;:::-;-1:-1:-1;;;;;6152:19:0;;;;;;:11;:19;;;;;;;;6172:10;6152:31;;;;;;;:103;6081:186;6286:40;6300:6;6308:9;6319:6;6286:13;:40::i;:::-;6279:47;;5964:370;;;;;;:::o;10839:137::-;10952:9;:15;;;;3015:42;10892:7;10934:15;;;;;10892:7;;10952:15;3334:12;3270:1;3334:2;:12;:::i;:::-;3318:28;;:13;:28;:::i;:::-;10920:29;;;;:::i;:::-;:47;;;;:::i;:::-;10912:56;;10839:137;:::o;5670:122::-;5725:4;5749:35;5757:7;-1:-1:-1;;5749:7:0;:35::i;10446:198::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;10545:14:::1;:22:::0;;;;10578:13:::1;:20:::0;;;;10609:18:::1;:27:::0;10446:198::o;2309:85::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;2384:1:::1;2368:18:::0;;-1:-1:-1;;;;;;2368:18:0::1;::::0;;2309:85::o;9381:284::-;9472:12;2288:5;;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;9500:6:::1;9510:1;9500:11:::0;9497:95:::1;;9536:44;::::0;-1:-1:-1;;;9536:44:0;;9574:4:::1;9536:44;::::0;::::1;2743:51:1::0;-1:-1:-1;;;;;9536:29:0;::::1;::::0;::::1;::::0;2716:18:1;;9536:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9527:53;;9497:95;9609:48;::::0;-1:-1:-1;;;9609:48:0;;9638:10:::1;9609:48;::::0;::::1;6876:51:1::0;6943:18;;;6936:34;;;-1:-1:-1;;;;;9609:28:0;::::1;::::0;::::1;::::0;6849:18:1;;9609:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5800:156::-:0;5880:4;5904:44;5918:10;5930:9;5941:6;5904:13;:44::i;6610:261::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;6744:2:::1;6716:24;:30;;6708:81;;;::::0;-1:-1:-1;;;6708:81:0;;7433:2:1;6708:81:0::1;::::0;::::1;7415:21:1::0;7472:2;7452:18;;;7445:30;7511:34;7491:18;;;7484:62;-1:-1:-1;;;7562:18:1;;;7555:37;7609:19;;6708:81:0::1;7231:403:1::0;6708:81:0::1;6859:4;6830:24:::0;3334:12:::1;3270:1;3334:2;:12;:::i;:::-;3318:28;::::0;:13:::1;:28;:::i;:::-;6816:38;;;;:::i;:::-;6815:48;;;;:::i;:::-;6800:12;:63:::0;-1:-1:-1;6610:261:0:o;10652:179::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;10748:11:::1;:22:::0;;-1:-1:-1;;;;10748:22:0::1;-1:-1:-1::0;;;10748:22:0;::::1;;;;::::0;;10811:12;3334::::1;3270:1;3334:2;:12;:::i;:::-;3318:28;::::0;:13:::1;:28;:::i;:::-;10797:26;;;;:::i;:::-;10781:13;:42:::0;-1:-1:-1;;10652:179:0:o;517:192::-;603:7;639:12;631:6;;;;623:29;;;;-1:-1:-1;;;623:29:0;;;;;;;;:::i;:::-;-1:-1:-1;663:9:0;675:5;679:1;675;:5;:::i;:::-;663:17;517:192;-1:-1:-1;;;;;517:192:0:o;6879:949::-;6991:6;;6971:4;;6991:6;;6988:63;;;7007:41;7022:6;7030:9;7041:6;7007:14;:41::i;:::-;7000:48;;;;6988:63;-1:-1:-1;;;;;7068:27:0;;;;;;:19;:27;;;;;;;;7067:28;:63;;;;-1:-1:-1;;;;;;7100:30:0;;;;;;:19;:30;;;;;;;;7099:31;7067:63;:84;;;;;7147:4;-1:-1:-1;;;;;7134:17:0;:9;-1:-1:-1;;;;;7134:17:0;;;7067:84;7063:203;;;7211:15;;-1:-1:-1;;;;;7177:20:0;;;;;;:9;:20;;;;;;:29;;7200:6;;7177:29;:::i;:::-;7176:50;;7168:86;;;;-1:-1:-1;;;7168:86:0;;7971:2:1;7168:86:0;;;7953:21:1;8010:2;7990:18;;;7983:30;8049:26;8029:18;;;8022:54;8093:18;;7168:86:0;7769:348:1;7168:86:0;7301:12;;7291:6;:22;;7290:51;;;-1:-1:-1;;;;;;7318:23:0;;;;;;:15;:23;;;;;;;;7290:51;:81;;;-1:-1:-1;;;;;;7345:26:0;;;;;;:15;:26;;;;;;;;7290:81;7282:115;;;;-1:-1:-1;;;7282:115:0;;8324:2:1;7282:115:0;;;8306:21:1;8363:2;8343:18;;;8336:30;-1:-1:-1;;;8382:18:1;;;8375:51;8443:18;;7282:115:0;8122:345:1;7282:115:0;7413:16;:14;:16::i;:::-;7410:35;;;7432:10;:8;:10::i;:::-;7477:53;;;;;;;;;;;-1:-1:-1;;;7477:53:0;;;;;;;;-1:-1:-1;;;;;7477:17:0;;-1:-1:-1;7477:17:0;;;:9;:17;;;;;;;;:53;;7499:6;;7477:21;:53::i;:::-;-1:-1:-1;;;;;7457:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7569:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7592:22:0;;;;;;:11;:22;;;;;;;;7569:45;7568:93;;7627:34;7635:6;7643;7651:9;7627:7;:34::i;:::-;7568:93;;;7618:6;7568:93;-1:-1:-1;;;;;7697:20:0;;;;;;:9;:20;;;;;;7543:118;;-1:-1:-1;7697:40:0;;7543:118;7697:24;:40::i;:::-;-1:-1:-1;;;;;7674:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7755:43;;;;;;;;;;7783:14;713:25:1;;701:2;686:18;;567:177;7755:43:0;;;;;;;;-1:-1:-1;7816:4:0;;6879:949;-1:-1:-1;;;;6879:949:0:o;7840:330::-;7970:53;;;;;;;;;;;-1:-1:-1;;;7970:53:0;;;;;;;;-1:-1:-1;;;;;7970:17:0;;7933:4;7970:17;;;:9;:17;;;;;;;:53;;7992:6;;7970:21;:53::i;:::-;-1:-1:-1;;;;;7950:17:0;;;;;;;:9;:17;;;;;;:73;;;;8057:20;;;;;;;:32;;8082:6;8057:24;:32::i;:::-;-1:-1:-1;;;;;8034:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8105:35;;;;;;;;;;8133:6;713:25:1;;701:2;686:18;;567:177;8105:35:0;;;;;;;;-1:-1:-1;8158:4:0;7840:330;;;;;:::o;8909:197::-;8958:4;8982:10;-1:-1:-1;;;;;8996:4:0;8982:18;;;;;:38;;-1:-1:-1;9014:6:0;;;;9013:7;8982:38;:62;;;;-1:-1:-1;9033:11:0;;-1:-1:-1;;;9033:11:0;;;;8982:62;:116;;;;-1:-1:-1;;9085:13:0;;9075:4;9057:24;;;;:9;:24;;;;;;:41;;;8909:197::o;9673:765::-;4318:6;:13;;-1:-1:-1;;4318:13:0;4327:4;4318:13;;;9748:16:::1;::::0;;9762:1:::1;9748:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9748:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9748:16:0::1;9724:40;;9793:4;9775;9780:1;9775:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9775:23:0::1;;;-1:-1:-1::0;;;;;9775:23:0::1;;;::::0;::::1;9819:4;9809;9814:1;9809:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9809:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9836:6:::1;::::0;9908:13:::1;::::0;9836:189:::1;::::0;-1:-1:-1;;;9836:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9908:13;9836:6:::1;::::0;9952:4;;9979::::1;::::0;9999:15:::1;::::0;9836:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10150:8:0::1;::::0;10134:12:::1;::::0;10058:21:::1;::::0;-1:-1:-1;10038:17:0::1;::::0;-1:-1:-1;10122:24:0::1;::::0;10058:21;10122:24:::1;:::i;:::-;10121:37;;;;:::i;:::-;10092:66;;10169:27;10229:8;;10212:13;;10200:9;:25;;;;:::i;:::-;10199:38;;;;:::i;:::-;10279:20;::::0;10271:65:::1;::::0;10169:68;;-1:-1:-1;10251:15:0::1;::::0;-1:-1:-1;;;;;10279:20:0;;::::1;::::0;10313:18;;10251:15;10271:65;10251:15;10271:65;10313:18;10279:20;10271:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;10371:21:0::1;::::0;10363:67:::1;::::0;10250:86;;-1:-1:-1;;;;;;10371:21:0::1;::::0;10406:19;;10363:67:::1;::::0;;;10406:19;10371:21;10363:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4336:6:0;:14;;-1:-1:-1;;4336:14:0;;;-1:-1:-1;;;;;;9673:765:0:o;8178:723::-;8264:7;8287:11;;;:28;;-1:-1:-1;8302:8:0;;:13;8287:28;8284:72;;;-1:-1:-1;8338:6:0;8331:13;;8284:72;8389:18;;-1:-1:-1;;;;;8436:4:0;8423:17;;;;;;8420:154;;-1:-1:-1;8470:14:0;;8420:154;;;8515:4;-1:-1:-1;;;;;8505:14:0;:6;-1:-1:-1;;;;;8505:14:0;;8502:72;;-1:-1:-1;8549:13:0;;8502:72;8586:17;8606:62;8647:20;3934:3;;8647:20;:::i;:::-;8606:36;8631:10;8606:20;8617:8;;8606:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;8586:82;-1:-1:-1;8684:13:0;;8681:172;;8758:4;8740:24;;;;:9;:24;;;;;;:39;;8769:9;8740:28;:39::i;:::-;8731:4;8713:24;;;;:9;:24;;;;;;;:66;;;;8799:42;;-1:-1:-1;;;;;8799:42:0;;;;;;;8831:9;713:25:1;;701:2;686:18;;567:177;8799:42:0;;;;;;;;8681:172;8872:21;:6;8883:9;8872:10;:21::i;:::-;8865:28;8178:723;-1:-1:-1;;;;;;8178:723:0:o;188:181::-;246:7;;278:5;282:1;278;:5;:::i;:::-;266:17;;307:1;302;:6;;294:46;;;;-1:-1:-1;;;294:46:0;;10133:2:1;294:46:0;;;10115:21:1;10172:2;10152:18;;;10145:30;10211:29;10191:18;;;10184:57;10258:18;;294:46:0;9931:351:1;715:250:0;773:7;797:1;802;797:6;793:47;;-1:-1:-1;827:1:0;820:8;;793:47;852:9;864:5;868:1;864;:5;:::i;:::-;852:17;-1:-1:-1;897:1:0;888:5;892:1;852:17;888:5;:::i;:::-;:10;880:56;;;;-1:-1:-1;;;880:56:0;;10489:2:1;880:56:0;;;10471:21:1;10528:2;10508:18;;;10501:30;10567:34;10547:18;;;10540:62;-1:-1:-1;;;10618:18:1;;;10611:31;10659:19;;880:56:0;10287:397:1;971:132:0;1029:7;1056:39;1060:1;1063;1056:39;;;;;;;;;;;;;;;;;:3;:39::i;375:136::-;433:7;460:43;464:1;467;460:43;;;;;;;;;;;;;;;;;:3;:43::i;1109:189::-;1195:7;1230:12;1223:5;1215:28;;;;-1:-1:-1;;;1215:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1254:9:0;1266:5;1270:1;1266;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;749:180::-;808:6;861:2;849:9;840:7;836:23;832:32;829:52;;;877:1;874;867:12;829:52;-1:-1:-1;900:23:1;;749:180;-1:-1:-1;749:180:1:o;934:173::-;1002:20;;-1:-1:-1;;;;;1051:31:1;;1041:42;;1031:70;;1097:1;1094;1087:12;1031:70;934:173;;;:::o;1112:254::-;1180:6;1188;1241:2;1229:9;1220:7;1216:23;1212:32;1209:52;;;1257:1;1254;1247:12;1209:52;1280:29;1299:9;1280:29;:::i;:::-;1270:39;1356:2;1341:18;;;;1328:32;;-1:-1:-1;;;1112:254:1:o;1563:328::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1748:29;1767:9;1748:29;:::i;:::-;1738:39;;1796:38;1830:2;1819:9;1815:18;1796:38;:::i;:::-;1786:48;;1881:2;1870:9;1866:18;1853:32;1843:42;;1563:328;;;;;:::o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2276:316::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;-1:-1:-1;;2461:23:1;;;2531:2;2516:18;;2503:32;;-1:-1:-1;2582:2:1;2567:18;;;2554:32;;2276:316;-1:-1:-1;2276:316:1:o;2805:260::-;2873:6;2881;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2973:29;2992:9;2973:29;:::i;:::-;2963:39;;3021:38;3055:2;3044:9;3040:18;3021:38;:::i;:::-;3011:48;;2805:260;;;;;:::o;3070:118::-;3156:5;3149:13;3142:21;3135:5;3132:32;3122:60;;3178:1;3175;3168:12;3122:60;3070:118;:::o;3193:309::-;3258:6;3266;3319:2;3307:9;3298:7;3294:23;3290:32;3287:52;;;3335:1;3332;3325:12;3287:52;3374:9;3361:23;3393:28;3415:5;3393:28;:::i;3733:329::-;3935:2;3917:21;;;3974:1;3954:18;;;3947:29;-1:-1:-1;;;4007:2:1;3992:18;;3985:36;4053:2;4038:18;;3733:329::o;4470:127::-;4531:10;4526:3;4522:20;4519:1;4512:31;4562:4;4559:1;4552:15;4586:4;4583:1;4576:15;4602:422;4691:1;4734:5;4691:1;4748:270;4769:7;4759:8;4756:21;4748:270;;;4828:4;4824:1;4820:6;4816:17;4810:4;4807:27;4804:53;;;4837:18;;:::i;:::-;4887:7;4877:8;4873:22;4870:55;;;4907:16;;;;4870:55;4986:22;;;;4946:15;;;;4748:270;;;4752:3;4602:422;;;;;:::o;5029:806::-;5078:5;5108:8;5098:80;;-1:-1:-1;5149:1:1;5163:5;;5098:80;5197:4;5187:76;;-1:-1:-1;5234:1:1;5248:5;;5187:76;5279:4;5297:1;5292:59;;;;5365:1;5360:130;;;;5272:218;;5292:59;5322:1;5313:10;;5336:5;;;5360:130;5397:3;5387:8;5384:17;5381:43;;;5404:18;;:::i;:::-;-1:-1:-1;;5460:1:1;5446:16;;5475:5;;5272:218;;5574:2;5564:8;5561:16;5555:3;5549:4;5546:13;5542:36;5536:2;5526:8;5523:16;5518:2;5512:4;5509:12;5505:35;5502:77;5499:159;;;-1:-1:-1;5611:19:1;;;5643:5;;5499:159;5690:34;5715:8;5709:4;5690:34;:::i;:::-;5760:6;5756:1;5752:6;5748:19;5739:7;5736:32;5733:58;;;5771:18;;:::i;:::-;5809:20;;5029:806;-1:-1:-1;;;5029:806:1:o;5840:140::-;5898:5;5927:47;5968:4;5958:8;5954:19;5948:4;5927:47;:::i;5985:168::-;6058:9;;;6089;;6106:15;;;6100:22;;6086:37;6076:71;;6127:18;;:::i;6158:217::-;6198:1;6224;6214:132;;6268:10;6263:3;6259:20;6256:1;6249:31;6303:4;6300:1;6293:15;6331:4;6328:1;6321:15;6214:132;-1:-1:-1;6360:9:1;;6158:217::o;6380:128::-;6447:9;;;6468:11;;;6465:37;;;6482:18;;:::i;6513:184::-;6583:6;6636:2;6624:9;6615:7;6611:23;6607:32;6604:52;;;6652:1;6649;6642:12;6604:52;-1:-1:-1;6675:16:1;;6513:184;-1:-1:-1;6513:184:1:o;6981:245::-;7048:6;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;7149:9;7143:16;7168:28;7190:5;7168:28;:::i;7639:125::-;7704:9;;;7725:10;;;7722:36;;;7738:18;;:::i;8604:127::-;8665:10;8660:3;8656:20;8653:1;8646:31;8696:4;8693:1;8686:15;8720:4;8717:1;8710:15;8736:980;8998:4;9046:3;9035:9;9031:19;9077:6;9066:9;9059:25;9103:2;9141:6;9136:2;9125:9;9121:18;9114:34;9184:3;9179:2;9168:9;9164:18;9157:31;9208:6;9243;9237:13;9274:6;9266;9259:22;9312:3;9301:9;9297:19;9290:26;;9351:2;9343:6;9339:15;9325:29;;9372:1;9382:195;9396:6;9393:1;9390:13;9382:195;;;9461:13;;-1:-1:-1;;;;;9457:39:1;9445:52;;9552:15;;;;9517:12;;;;9493:1;9411:9;9382:195;;;-1:-1:-1;;;;;;;9633:32:1;;;;9628:2;9613:18;;9606:60;-1:-1:-1;;;9697:3:1;9682:19;9675:35;9594:3;8736:980;-1:-1:-1;;;8736:980:1:o
Swarm Source
ipfs://4c05b878e9c8252a9524cde05b8ac0fd630d3433f4a628fa4e0ed2736cba3a33
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.