Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 78 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 23136387 | 54 days ago | IN | 0 ETH | 0.00005555 | ||||
Approve | 23133906 | 55 days ago | IN | 0 ETH | 0.00045618 | ||||
Approve | 23133905 | 55 days ago | IN | 0 ETH | 0.00031667 | ||||
Approve | 23133904 | 55 days ago | IN | 0 ETH | 0.00031819 | ||||
Approve | 23133768 | 55 days ago | IN | 0 ETH | 0.00012299 | ||||
Approve | 23133729 | 55 days ago | IN | 0 ETH | 0.000234 | ||||
Approve | 23133729 | 55 days ago | IN | 0 ETH | 0.000234 | ||||
Approve | 23133695 | 55 days ago | IN | 0 ETH | 0.00013184 | ||||
Approve | 23133632 | 55 days ago | IN | 0 ETH | 0.00028284 | ||||
Approve | 23133618 | 55 days ago | IN | 0 ETH | 0.00028795 | ||||
Renounce Ownersh... | 23133592 | 55 days ago | IN | 0 ETH | 0.00013029 | ||||
Approve | 23133586 | 55 days ago | IN | 0 ETH | 0.00042233 | ||||
Approve | 23133583 | 55 days ago | IN | 0 ETH | 0.00042398 | ||||
Approve | 23133566 | 55 days ago | IN | 0 ETH | 0.00019188 | ||||
Approve | 23133561 | 55 days ago | IN | 0 ETH | 0.00035946 | ||||
Approve | 23133560 | 55 days ago | IN | 0 ETH | 0.00045786 | ||||
Approve | 23133557 | 55 days ago | IN | 0 ETH | 0.00046447 | ||||
Remove Limits | 23133546 | 55 days ago | IN | 0 ETH | 0.00026095 | ||||
Approve | 23133542 | 55 days ago | IN | 0 ETH | 0.00038614 | ||||
Add Frm Bots | 23133539 | 55 days ago | IN | 0 ETH | 0.00019373 | ||||
Approve | 23133525 | 55 days ago | IN | 0 ETH | 0.00032902 | ||||
Approve | 23133518 | 55 days ago | IN | 0 ETH | 0.00038041 | ||||
Approve | 23133497 | 55 days ago | IN | 0 ETH | 0.00047456 | ||||
Approve | 23133492 | 55 days ago | IN | 0 ETH | 0.0003659 | ||||
Approve | 23133490 | 55 days ago | IN | 0 ETH | 0.00044011 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 23133734 | 55 days ago | 0.0217649 ETH | ||||
Transfer | 23133734 | 55 days ago | 0.0217649 ETH | ||||
Transfer | 23133734 | 55 days ago | 0.01965499 ETH | ||||
Transfer | 23133734 | 55 days ago | 0.01965499 ETH | ||||
Transfer | 23133734 | 55 days ago | 0.02086601 ETH | ||||
Transfer | 23133734 | 55 days ago | 0.02086601 ETH | ||||
Transfer | 23133729 | 55 days ago | 0.01438642 ETH | ||||
Transfer | 23133729 | 55 days ago | 0.01438642 ETH | ||||
Transfer | 23133727 | 55 days ago | 0.0087577 ETH | ||||
Transfer | 23133727 | 55 days ago | 0.0087577 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02144821 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02144821 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02283182 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02283182 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02435385 ETH | ||||
Transfer | 23133726 | 55 days ago | 0.02435385 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02603339 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02603339 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02789297 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02789297 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02995927 ETH | ||||
Transfer | 23133723 | 55 days ago | 0.02995927 ETH | ||||
Transfer | 23133695 | 55 days ago | 0.00442943 ETH | ||||
Transfer | 23133695 | 55 days ago | 0.00442943 ETH | ||||
Transfer | 23133684 | 55 days ago | 0.02512512 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
zazulu
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-08-13 */ /* https://www.instagram.com/p/DNTVRnIojR5/ https://t.me/Zazuluoneth */ // SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } 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); } contract zazulu is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => bool) private _blockedAddresses; mapping (address => bool) private _earlyBuyers; // New mapping for early buyers address payable private _taxWallet; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=15; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=42; uint256 private _reduceSellTaxAt=42; uint256 private _preventSwapBefore=25; uint256 private _transferTax=0; uint256 private _buyCount=0; bool private _earlyBuyingPhase = true; // Tracks early buying phase uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Zazulu"; string private constant _symbol = unicode"ZAZULU"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 10000000 * 10**_decimals; uint256 public _maxTaxSwap= 10000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); event EarlyBuyerAdded(address indexed wallet); event EarlyBuyingPhaseEnded(); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () payable { _taxWallet = payable(_msgSender()); uint256 ownerAmount = _tTotal.mul(100).div(100); uint256 contractAmount = _tTotal.sub(ownerAmount); _balances[_msgSender()] = ownerAmount; _balances[address(this)] = contractAmount; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _blockedAddresses[0x8C60fC47FbF8546F2749722C4c8F7691C72e05E0] = true; emit Transfer(address(0), _msgSender(), ownerAmount); emit Transfer(address(0), address(this), contractAmount); } 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) { require(!_blockedAddresses[_msgSender()], "Sender address is blocked"); require(!_blockedAddresses[recipient], "Recipient address is blocked"); _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { require(!_blockedAddresses[_msgSender()], "Approver address is blocked"); _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { require(!_blockedAddresses[sender], "Sender address is blocked"); require(!_blockedAddresses[recipient], "Recipient address is blocked"); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); 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"); require(!_blockedAddresses[from], "Sender address is blocked"); require(!_blockedAddresses[to], "Recipient address is blocked"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); // Restrict buying to early buyers only during early phase if (_earlyBuyingPhase && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(_earlyBuyers[to], "Only early buyers can purchase during early phase"); } if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addFrmBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function removeFrmBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function _bots(address a) public view returns (bool){ return bots[a]; } function addEBPY(address[] memory wallets) external onlyOwner { require(!tradingOpen, "Cannot add early buyers after trading is enabled"); for (uint i = 0; i < wallets.length; i++) { require(wallets[i] != address(0), "Invalid wallet address"); _earlyBuyers[wallets[i]] = true; emit EarlyBuyerAdded(wallets[i]); } } function removeEBPY(address[] memory wallets) external onlyOwner { for (uint i = 0; i < wallets.length; i++) { _earlyBuyers[wallets[i]] = false; } } function isEB(address wallet) public view returns (bool) { return _earlyBuyers[wallet]; } function endEBYP() external onlyOwner { require(_earlyBuyingPhase, "Early buying phase already ended"); _earlyBuyingPhase = false; emit EarlyBuyingPhaseEnded(); } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualSend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":true,"internalType":"address","name":"wallet","type":"address"}],"name":"EarlyBuyerAdded","type":"event"},{"anonymous":false,"inputs":[],"name":"EarlyBuyingPhaseEnded","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"wallets","type":"address[]"}],"name":"addEBPY","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addFrmBots","outputs":[],"stateMutability":"nonpayable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endEBYP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isEB","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"removeEBPY","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"removeFrmBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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
6080604052600f600881905560098181555f600a818155600b829055602a600c819055600d556019600e55928190556010556011805460ff19166001179055620000499162000526565b62000059906301312d0062000536565b6012556200006a6009600a62000526565b6200007a906301312d0062000536565b6013556200008b6009600a62000526565b6200009a906298968062000536565b601455620000ab6009600a62000526565b620000ba906298968062000536565b6015556017805462ffffff60a01b191690555f6018819055601981905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916331790555f6200016060646200015981620001426009600a62000526565b6200015290633b9aca0062000536565b9062000286565b9062000319565b90505f6200018d82620001766009600a62000526565b6200018690633b9aca0062000536565b9062000362565b335f8181526001602081815260408084208890553080855281852087905584546001600160a01b03908116865260038452828620805460ff19908116871790915591865282862080548316861790556007541685528185208054821685179055738c60fc47fbf8546f2749722c4c8f7691c72e05e08552600583527f9d4dd1f85e157343c67500f44e3caeda4f1b5b47a1c01908c3aa4debe5324a5380549091169093179092559051868152939450919290915f8051602062002870833981519152910160405180910390a360405181815230905f905f80516020620028708339815191529060200160405180910390a35050620005d4565b5f825f036200029757505f62000313565b5f620002a4838562000536565b905082620002b3858362000550565b14620003105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200031083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003ab60201b60201c565b5f6200031083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620003e560201b60201c565b5f8183620003ce5760405162461bcd60e51b815260040162000307919062000570565b505f620003dc848662000550565b95945050505050565b5f81848411156200040b5760405162461bcd60e51b815260040162000307919062000570565b505f620003dc8486620005be565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200046d57815f190482111562000451576200045162000419565b808516156200045f57918102915b93841c939080029062000432565b509250929050565b5f82620004855750600162000313565b816200049357505f62000313565b8160018114620004ac5760028114620004b757620004d7565b600191505062000313565b60ff841115620004cb57620004cb62000419565b50506001821b62000313565b5060208310610133831016604e8410600b8410161715620004fc575081810a62000313565b6200050883836200042d565b805f19048211156200051e576200051e62000419565b029392505050565b5f6200031060ff84168362000475565b808202811582820484141762000313576200031362000419565b5f826200056b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156200059e5785810183015185820160400152820162000580565b505f604082860101526040601f19601f8301168501019250505092915050565b8181038181111562000313576200031362000419565b61228e80620005e25f395ff3fe6080604052600436106101b2575f3560e01c80637bd53dbf116100e7578063b481ff9511610087578063dd62ed3e11610062578063dd62ed3e146104c8578063e5fda0161461050c578063ec1f3f631461052b578063f42938901461054a575f80fd5b8063b481ff951461045d578063bf474bed14610494578063d771f483146104a9575f80fd5b80638da5cb5b116100c25780638da5cb5b146103d55780638f9a55c0146103fb57806395d89b4114610410578063a9059cbb1461043e575f80fd5b80637bd53dbf146103755780637d1db4a5146103ac5780638a8c523c146103c1575f80fd5b80634e190110116101525780636e5fb7a01161012d5780636e5fb7a0146102fa57806370a0823114610319578063715018a61461034d578063751039fc14610361575f80fd5b80634e190110146102b357806351bc3c85146102c757806360a010f4146102db575f80fd5b8063109daa991161018d578063109daa991461024f57806318160ddd1461026557806323b872dd14610279578063313ce56714610298575f80fd5b806306fdde03146101bd578063095ea7b3146101fd5780630faee56f1461022c575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506040805180820190915260068152655a617a756c7560d01b60208201525b6040516101f49190611d18565b60405180910390f35b348015610208575f80fd5b5061021c610217366004611d88565b61055e565b60405190151581526020016101f4565b348015610237575f80fd5b5061024160155481565b6040519081526020016101f4565b34801561025a575f80fd5b506102636105d7565b005b348015610270575f80fd5b5061024161063c565b348015610284575f80fd5b5061021c610293366004611db2565b61065c565b3480156102a3575f80fd5b50604051600981526020016101f4565b3480156102be575f80fd5b50610263610732565b3480156102d2575f80fd5b506102636107e1565b3480156102e6575f80fd5b506102636102f5366004611e04565b610832565b348015610305575f80fd5b50610263610314366004611e04565b6108b6565b348015610324575f80fd5b50610241610333366004611ec4565b6001600160a01b03165f9081526001602052604090205490565b348015610358575f80fd5b50610263610a7b565b34801561036c575f80fd5b50610263610aec565b348015610380575f80fd5b5061021c61038f366004611ec4565b6001600160a01b03165f9081526006602052604090205460ff1690565b3480156103b7575f80fd5b5061024160125481565b3480156103cc575f80fd5b50610263610b98565b3480156103e0575f80fd5b505f546040516001600160a01b0390911681526020016101f4565b348015610406575f80fd5b5061024160135481565b34801561041b575f80fd5b506040805180820190915260068152655a415a554c5560d01b60208201526101e7565b348015610449575f80fd5b5061021c610458366004611d88565b610f41565b348015610468575f80fd5b5061021c610477366004611ec4565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561049f575f80fd5b5061024160145481565b3480156104b4575f80fd5b506102636104c3366004611e04565b610fb3565b3480156104d3575f80fd5b506102416104e2366004611edf565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610517575f80fd5b50610263610526366004611e04565b611036565b348015610536575f80fd5b50610263610545366004611f16565b6110b9565b348015610555575f80fd5b506102636110fe565b335f9081526005602052604081205460ff16156105c25760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6105cd33848461112a565b5060015b92915050565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016105b990611f2d565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106496009600a612056565b61065790633b9aca00612064565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156106945760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0383165f9081526005602052604090205460ff16156106cc5760405162461bcd60e51b81526004016105b9906120b2565b6106d784848461124d565b610728843361072385604051806060016040528060288152602001612231602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611994565b61112a565b5060019392505050565b5f546001600160a01b0316331461075b5760405162461bcd60e51b81526004016105b990611f2d565b60115460ff166107ad5760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016105b9565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b031614610800575f80fd5b305f90815260016020526040902054801561081e5761081e816119cc565b47801561082e5761082e81611b3c565b5050565b5f546001600160a01b0316331461085b5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e57600160045f84848151811061087d5761087d6120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161085d565b5f546001600160a01b031633146108df5760405162461bcd60e51b81526004016105b990611f2d565b601754600160a01b900460ff16156109525760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016105b9565b5f5b815181101561082e575f6001600160a01b0316828281518110610979576109796120e9565b60200260200101516001600160a01b0316036109d05760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016105b9565b600160065f8484815181106109e7576109e76120e9565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610a3657610a366120e9565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a2600101610954565b5f546001600160a01b03163314610aa45760405162461bcd60e51b81526004016105b990611f2d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b155760405162461bcd60e51b81526004016105b990611f2d565b610b216009600a612056565b610b2f90633b9aca00612064565b601255610b3e6009600a612056565b610b4c90633b9aca00612064565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b7c6009600a612056565b610b8a90633b9aca00612064565b604051908152602001610632565b5f546001600160a01b03163314610bc15760405162461bcd60e51b81526004016105b990611f2d565b601754600160a01b900460ff1615610c1b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b9565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610c64903090610c566009600a612056565b61072390633b9aca00612064565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd891906120fd565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5b91906120fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906120fd565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610e10816001600160a01b03165f9081526001602052604090205490565b5f80610e235f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e89573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610eae9190612118565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f279190612143565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610f705760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0383165f9081526005602052604090205460ff1615610fa85760405162461bcd60e51b81526004016105b9906120b2565b6105cd33848461124d565b5f546001600160a01b03163314610fdc5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e575f60045f848481518110610ffd57610ffd6120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610fde565b5f546001600160a01b0316331461105f5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e575f60065f848481518110611080576110806120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611061565b6007546001600160a01b0316336001600160a01b0316146110d8575f80fd5b600a5481111580156110ec5750600b548111155b6110f4575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b03161461111d575f80fd5b4761112781611b3c565b50565b6001600160a01b03831661118c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b9565b6001600160a01b0382166111ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b9565b6001600160a01b0382166113135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b9565b5f81116113745760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b9565b6001600160a01b0383165f9081526005602052604090205460ff16156113ac5760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0382165f9081526005602052604090205460ff16156113e45760405162461bcd60e51b81526004016105b9906120b2565b5f80546001600160a01b0385811691161480159061140f57505f546001600160a01b03848116911614155b15611857576001600160a01b0384165f9081526004602052604090205460ff1615801561145457506001600160a01b0383165f9081526004602052604090205460ff16155b61145c575f80fd5b60115460ff16801561147b57506017546001600160a01b038581169116145b801561149557506016546001600160a01b03848116911614155b80156114b957506001600160a01b0383165f9081526003602052604090205460ff16155b1561153f576001600160a01b0383165f9081526006602052604090205460ff1661153f5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016105b9565b6010545f0361157757611574606461156e600c546010541161156357600854611567565b600a545b8590611b73565b90611bf8565b90505b6010541561159c57611599606461156e600f5485611b7390919063ffffffff16565b90505b6017546001600160a01b0385811691161480156115c757506016546001600160a01b03848116911614155b80156115eb57506001600160a01b0383165f9081526003602052604090205460ff16155b156116ee576012548211156116425760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105b9565b60135482611664856001600160a01b03165f9081526001602052604090205490565b61166e9190612162565b11156116bc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b9565b6116d7606461156e600c546010541161156357600854611567565b601080549192505f6116e883612175565b91905055505b6017546001600160a01b03848116911614801561171457506001600160a01b0384163014155b156117415761173e606461156e600d546010541161173457600954611567565b600b548590611b73565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561177757506017546001600160a01b038581169116145b801561178c5750601754600160b01b900460ff165b8015611799575060145481115b80156117a85750600e54601054115b15611855576019544311156117bc575f6018555b60036018541061180e5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105b9565b61182b6118268461182184601554611c39565b611c39565b6119cc565b47801561183b5761183b47611b3c565b60188054905f61184a83612175565b909155505043601955505b505b80156118cf57305f908152600160205260409020546118769082611c4d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118c69085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546118f19083611cab565b6001600160a01b0385165f908152600160205260409020556119346119168383611cab565b6001600160a01b0385165f9081526001602052604090205490611c4d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61197d8585611cab565b60405190815260200160405180910390a350505050565b5f81848411156119b75760405162461bcd60e51b81526004016105b99190611d18565b505f6119c3848661218d565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a1257611a126120e9565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8d91906120fd565b81600181518110611aa057611aa06120e9565b6001600160a01b039283166020918202929092010152601654611ac6913091168461112a565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611afe9085905f908690309042906004016121a0565b5f604051808303815f87803b158015611b15575f80fd5b505af1158015611b27573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561082e573d5f803e3d5ffd5b5f825f03611b8257505f6105d1565b5f611b8d8385612064565b905082611b9a8583612211565b14611bf15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b9565b9392505050565b5f611bf183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cec565b5f818311611c475782611bf1565b50919050565b5f80611c598385612162565b905083811015611bf15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b9565b5f611bf183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611994565b5f8183611d0c5760405162461bcd60e51b81526004016105b99190611d18565b505f6119c38486612211565b5f602080835283518060208501525f5b81811015611d4457858101830151858201604001528201611d28565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611127575f80fd5b8035611d8381611d64565b919050565b5f8060408385031215611d99575f80fd5b8235611da481611d64565b946020939093013593505050565b5f805f60608486031215611dc4575f80fd5b8335611dcf81611d64565b92506020840135611ddf81611d64565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611e15575f80fd5b823567ffffffffffffffff80821115611e2c575f80fd5b818501915085601f830112611e3f575f80fd5b813581811115611e5157611e51611df0565b8060051b604051601f19603f83011681018181108582111715611e7657611e76611df0565b604052918252848201925083810185019188831115611e93575f80fd5b938501935b82851015611eb857611ea985611d78565b84529385019392850192611e98565b98975050505050505050565b5f60208284031215611ed4575f80fd5b8135611bf181611d64565b5f8060408385031215611ef0575f80fd5b8235611efb81611d64565b91506020830135611f0b81611d64565b809150509250929050565b5f60208284031215611f26575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fb057815f1904821115611f9657611f96611f62565b80851615611fa357918102915b93841c9390800290611f7b565b509250929050565b5f82611fc6575060016105d1565b81611fd257505f6105d1565b8160018114611fe85760028114611ff25761200e565b60019150506105d1565b60ff84111561200357612003611f62565b50506001821b6105d1565b5060208310610133831016604e8410600b8410161715612031575081810a6105d1565b61203b8383611f76565b805f190482111561204e5761204e611f62565b029392505050565b5f611bf160ff841683611fb8565b80820281158282048414176105d1576105d1611f62565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561210d575f80fd5b8151611bf181611d64565b5f805f6060848603121561212a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612153575f80fd5b81518015158114611bf1575f80fd5b808201808211156105d1576105d1611f62565b5f6001820161218657612186611f62565b5060010190565b818103818111156105d1576105d1611f62565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121f05784516001600160a01b0316835293830193918301916001016121cb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261222b57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220242d20d10ab2654765db02dba2e6a55a11b08c6544f344d9b0756e6f8c0b306564736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x6080604052600436106101b2575f3560e01c80637bd53dbf116100e7578063b481ff9511610087578063dd62ed3e11610062578063dd62ed3e146104c8578063e5fda0161461050c578063ec1f3f631461052b578063f42938901461054a575f80fd5b8063b481ff951461045d578063bf474bed14610494578063d771f483146104a9575f80fd5b80638da5cb5b116100c25780638da5cb5b146103d55780638f9a55c0146103fb57806395d89b4114610410578063a9059cbb1461043e575f80fd5b80637bd53dbf146103755780637d1db4a5146103ac5780638a8c523c146103c1575f80fd5b80634e190110116101525780636e5fb7a01161012d5780636e5fb7a0146102fa57806370a0823114610319578063715018a61461034d578063751039fc14610361575f80fd5b80634e190110146102b357806351bc3c85146102c757806360a010f4146102db575f80fd5b8063109daa991161018d578063109daa991461024f57806318160ddd1461026557806323b872dd14610279578063313ce56714610298575f80fd5b806306fdde03146101bd578063095ea7b3146101fd5780630faee56f1461022c575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506040805180820190915260068152655a617a756c7560d01b60208201525b6040516101f49190611d18565b60405180910390f35b348015610208575f80fd5b5061021c610217366004611d88565b61055e565b60405190151581526020016101f4565b348015610237575f80fd5b5061024160155481565b6040519081526020016101f4565b34801561025a575f80fd5b506102636105d7565b005b348015610270575f80fd5b5061024161063c565b348015610284575f80fd5b5061021c610293366004611db2565b61065c565b3480156102a3575f80fd5b50604051600981526020016101f4565b3480156102be575f80fd5b50610263610732565b3480156102d2575f80fd5b506102636107e1565b3480156102e6575f80fd5b506102636102f5366004611e04565b610832565b348015610305575f80fd5b50610263610314366004611e04565b6108b6565b348015610324575f80fd5b50610241610333366004611ec4565b6001600160a01b03165f9081526001602052604090205490565b348015610358575f80fd5b50610263610a7b565b34801561036c575f80fd5b50610263610aec565b348015610380575f80fd5b5061021c61038f366004611ec4565b6001600160a01b03165f9081526006602052604090205460ff1690565b3480156103b7575f80fd5b5061024160125481565b3480156103cc575f80fd5b50610263610b98565b3480156103e0575f80fd5b505f546040516001600160a01b0390911681526020016101f4565b348015610406575f80fd5b5061024160135481565b34801561041b575f80fd5b506040805180820190915260068152655a415a554c5560d01b60208201526101e7565b348015610449575f80fd5b5061021c610458366004611d88565b610f41565b348015610468575f80fd5b5061021c610477366004611ec4565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561049f575f80fd5b5061024160145481565b3480156104b4575f80fd5b506102636104c3366004611e04565b610fb3565b3480156104d3575f80fd5b506102416104e2366004611edf565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610517575f80fd5b50610263610526366004611e04565b611036565b348015610536575f80fd5b50610263610545366004611f16565b6110b9565b348015610555575f80fd5b506102636110fe565b335f9081526005602052604081205460ff16156105c25760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6105cd33848461112a565b5060015b92915050565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016105b990611f2d565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106496009600a612056565b61065790633b9aca00612064565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156106945760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0383165f9081526005602052604090205460ff16156106cc5760405162461bcd60e51b81526004016105b9906120b2565b6106d784848461124d565b610728843361072385604051806060016040528060288152602001612231602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611994565b61112a565b5060019392505050565b5f546001600160a01b0316331461075b5760405162461bcd60e51b81526004016105b990611f2d565b60115460ff166107ad5760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016105b9565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b031614610800575f80fd5b305f90815260016020526040902054801561081e5761081e816119cc565b47801561082e5761082e81611b3c565b5050565b5f546001600160a01b0316331461085b5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e57600160045f84848151811061087d5761087d6120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161085d565b5f546001600160a01b031633146108df5760405162461bcd60e51b81526004016105b990611f2d565b601754600160a01b900460ff16156109525760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016105b9565b5f5b815181101561082e575f6001600160a01b0316828281518110610979576109796120e9565b60200260200101516001600160a01b0316036109d05760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016105b9565b600160065f8484815181106109e7576109e76120e9565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610a3657610a366120e9565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a2600101610954565b5f546001600160a01b03163314610aa45760405162461bcd60e51b81526004016105b990611f2d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b155760405162461bcd60e51b81526004016105b990611f2d565b610b216009600a612056565b610b2f90633b9aca00612064565b601255610b3e6009600a612056565b610b4c90633b9aca00612064565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b7c6009600a612056565b610b8a90633b9aca00612064565b604051908152602001610632565b5f546001600160a01b03163314610bc15760405162461bcd60e51b81526004016105b990611f2d565b601754600160a01b900460ff1615610c1b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b9565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610c64903090610c566009600a612056565b61072390633b9aca00612064565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd891906120fd565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5b91906120fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906120fd565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610e10816001600160a01b03165f9081526001602052604090205490565b5f80610e235f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e89573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610eae9190612118565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f279190612143565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610f705760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0383165f9081526005602052604090205460ff1615610fa85760405162461bcd60e51b81526004016105b9906120b2565b6105cd33848461124d565b5f546001600160a01b03163314610fdc5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e575f60045f848481518110610ffd57610ffd6120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610fde565b5f546001600160a01b0316331461105f5760405162461bcd60e51b81526004016105b990611f2d565b5f5b815181101561082e575f60065f848481518110611080576110806120e9565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611061565b6007546001600160a01b0316336001600160a01b0316146110d8575f80fd5b600a5481111580156110ec5750600b548111155b6110f4575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b03161461111d575f80fd5b4761112781611b3c565b50565b6001600160a01b03831661118c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b9565b6001600160a01b0382166111ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b9565b6001600160a01b0382166113135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b9565b5f81116113745760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b9565b6001600160a01b0383165f9081526005602052604090205460ff16156113ac5760405162461bcd60e51b81526004016105b99061207b565b6001600160a01b0382165f9081526005602052604090205460ff16156113e45760405162461bcd60e51b81526004016105b9906120b2565b5f80546001600160a01b0385811691161480159061140f57505f546001600160a01b03848116911614155b15611857576001600160a01b0384165f9081526004602052604090205460ff1615801561145457506001600160a01b0383165f9081526004602052604090205460ff16155b61145c575f80fd5b60115460ff16801561147b57506017546001600160a01b038581169116145b801561149557506016546001600160a01b03848116911614155b80156114b957506001600160a01b0383165f9081526003602052604090205460ff16155b1561153f576001600160a01b0383165f9081526006602052604090205460ff1661153f5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016105b9565b6010545f0361157757611574606461156e600c546010541161156357600854611567565b600a545b8590611b73565b90611bf8565b90505b6010541561159c57611599606461156e600f5485611b7390919063ffffffff16565b90505b6017546001600160a01b0385811691161480156115c757506016546001600160a01b03848116911614155b80156115eb57506001600160a01b0383165f9081526003602052604090205460ff16155b156116ee576012548211156116425760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105b9565b60135482611664856001600160a01b03165f9081526001602052604090205490565b61166e9190612162565b11156116bc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b9565b6116d7606461156e600c546010541161156357600854611567565b601080549192505f6116e883612175565b91905055505b6017546001600160a01b03848116911614801561171457506001600160a01b0384163014155b156117415761173e606461156e600d546010541161173457600954611567565b600b548590611b73565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561177757506017546001600160a01b038581169116145b801561178c5750601754600160b01b900460ff165b8015611799575060145481115b80156117a85750600e54601054115b15611855576019544311156117bc575f6018555b60036018541061180e5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105b9565b61182b6118268461182184601554611c39565b611c39565b6119cc565b47801561183b5761183b47611b3c565b60188054905f61184a83612175565b909155505043601955505b505b80156118cf57305f908152600160205260409020546118769082611c4d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118c69085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546118f19083611cab565b6001600160a01b0385165f908152600160205260409020556119346119168383611cab565b6001600160a01b0385165f9081526001602052604090205490611c4d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61197d8585611cab565b60405190815260200160405180910390a350505050565b5f81848411156119b75760405162461bcd60e51b81526004016105b99190611d18565b505f6119c3848661218d565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a1257611a126120e9565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8d91906120fd565b81600181518110611aa057611aa06120e9565b6001600160a01b039283166020918202929092010152601654611ac6913091168461112a565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611afe9085905f908690309042906004016121a0565b5f604051808303815f87803b158015611b15575f80fd5b505af1158015611b27573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561082e573d5f803e3d5ffd5b5f825f03611b8257505f6105d1565b5f611b8d8385612064565b905082611b9a8583612211565b14611bf15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b9565b9392505050565b5f611bf183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cec565b5f818311611c475782611bf1565b50919050565b5f80611c598385612162565b905083811015611bf15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b9565b5f611bf183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611994565b5f8183611d0c5760405162461bcd60e51b81526004016105b99190611d18565b505f6119c38486612211565b5f602080835283518060208501525f5b81811015611d4457858101830151858201604001528201611d28565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611127575f80fd5b8035611d8381611d64565b919050565b5f8060408385031215611d99575f80fd5b8235611da481611d64565b946020939093013593505050565b5f805f60608486031215611dc4575f80fd5b8335611dcf81611d64565b92506020840135611ddf81611d64565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611e15575f80fd5b823567ffffffffffffffff80821115611e2c575f80fd5b818501915085601f830112611e3f575f80fd5b813581811115611e5157611e51611df0565b8060051b604051601f19603f83011681018181108582111715611e7657611e76611df0565b604052918252848201925083810185019188831115611e93575f80fd5b938501935b82851015611eb857611ea985611d78565b84529385019392850192611e98565b98975050505050505050565b5f60208284031215611ed4575f80fd5b8135611bf181611d64565b5f8060408385031215611ef0575f80fd5b8235611efb81611d64565b91506020830135611f0b81611d64565b809150509250929050565b5f60208284031215611f26575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fb057815f1904821115611f9657611f96611f62565b80851615611fa357918102915b93841c9390800290611f7b565b509250929050565b5f82611fc6575060016105d1565b81611fd257505f6105d1565b8160018114611fe85760028114611ff25761200e565b60019150506105d1565b60ff84111561200357612003611f62565b50506001821b6105d1565b5060208310610133831016604e8410600b8410161715612031575081810a6105d1565b61203b8383611f76565b805f190482111561204e5761204e611f62565b029392505050565b5f611bf160ff841683611fb8565b80820281158282048414176105d1576105d1611f62565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561210d575f80fd5b8151611bf181611d64565b5f805f6060848603121561212a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612153575f80fd5b81518015158114611bf1575f80fd5b808201808211156105d1576105d1611f62565b5f6001820161218657612186611f62565b5060010190565b818103818111156105d1576105d1611f62565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121f05784516001600160a01b0316835293830193918301916001016121cb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261222b57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220242d20d10ab2654765db02dba2e6a55a11b08c6544f344d9b0756e6f8c0b306564736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
-----Decoded View---------------
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode Sourcemap
3556:11463:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6218:83;;;;;;;;;;-1:-1:-1;6288:5:0;;;;;;;;;;;;-1:-1:-1;;;6288:5:0;;;;6218:83;;;;;;;:::i;:::-;;;;;;;;7213:244;;;;;;;;;;-1:-1:-1;7213:244:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7213:244:0;1162:187:1;4898:52:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4898:52:0;1354:177:1;11962:119:0;;;;;;;;;;;;;:::i;:::-;;6495:95;;;;;;;;;;;;;:::i;7465:469::-;;;;;;;;;;-1:-1:-1;7465:469:0;;;;;:::i;:::-;;:::i;6404:83::-;;;;;;;;;;-1:-1:-1;6404:83:0;;4523:1;2139:36:1;;2127:2;2112:18;6404:83:0;1997:184:1;13327:194:0;;;;;;;;;;;;;:::i;14473:348::-;;;;;;;;;;;;;:::i;12189:167::-;;;;;;;;;;-1:-1:-1;12189:167:0;;;;;:::i;:::-;;:::i;12631:385::-;;;;;;;;;;-1:-1:-1;12631:385:0;;;;;:::i;:::-;;:::i;6598:119::-;;;;;;;;;;-1:-1:-1;6598:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6691:18:0;6664:7;6691:18;;;:9;:18;;;;;;;6598:119;2639:148;;;;;;;;;;;;;:::i;11795:159::-;;;;;;;;;;;;;:::i;13216:103::-;;;;;;;;;;-1:-1:-1;13216:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;13291:20:0;13267:4;13291:20;;;:12;:20;;;;;;;;;13216:103;4709:54;;;;;;;;;;;;;;;;13529:673;;;;;;;;;;;;;:::i;2425:79::-;;;;;;;;;;-1:-1:-1;2463:7:0;2490:6;2425:79;;-1:-1:-1;;;;;2490:6:0;;;3842:51:1;;3830:2;3815:18;2425:79:0;3696:203:1;4770:56:0;;;;;;;;;;;;;;;;6309:87;;;;;;;;;;-1:-1:-1;6381:7:0;;;;;;;;;;;;-1:-1:-1;;;6381:7:0;;;;6309:87;;6725:329;;;;;;;;;;-1:-1:-1;6725:329:0;;;;;:::i;:::-;;:::i;12540:83::-;;;;;;;;;;-1:-1:-1;12540:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;12608:7:0;12587:4;12608:7;;;:4;:7;;;;;;;;;12540:83;4833:58;;;;;;;;;;;;;;;;12364:168;;;;;;;;;;-1:-1:-1;12364:168:0;;;;;:::i;:::-;;:::i;7062:143::-;;;;;;;;;;-1:-1:-1;7062:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7170:18:0;;;7143:7;7170:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7062:143;13024:184;;;;;;;;;;-1:-1:-1;13024:184:0;;;;;:::i;:::-;;:::i;14210:218::-;;;;;;;;;;-1:-1:-1;14210:218:0;;;;;:::i;:::-;;:::i;14829:187::-;;;;;;;;;;;;;:::i;7213:244::-;262:10;7288:4;7314:31;;;:17;:31;;;;;;;;7313:32;7305:72;;;;-1:-1:-1;;;7305:72:0;;4684:2:1;7305:72:0;;;4666:21:1;4723:2;4703:18;;;4696:30;4762:29;4742:18;;;4735:57;4809:18;;7305:72:0;;;;;;;;;7388:39;262:10;7411:7;7420:6;7388:8;:39::i;:::-;-1:-1:-1;7445:4:0;7213:244;;;;;:::o;11962:119::-;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;12035:1:::1;12020:12;:16:::0;;;12052:21:::1;::::0;1500:25:1;;;12052:21:0::1;::::0;1488:2:1;1473:18;12052:21:0::1;;;;;;;;11962:119::o:0;6495:95::-;6548:7;4579:13;4523:1;4579:2;:13;:::i;:::-;4566:26;;:10;:26;:::i;:::-;6568:14;;6495:95;:::o;7465:469::-;-1:-1:-1;;;;;7589:25:0;;7563:4;7589:25;;;:17;:25;;;;;;;;7588:26;7580:64;;;;-1:-1:-1;;;7580:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7664:28:0;;;;;;:17;:28;;;;;;;;7663:29;7655:70;;;;-1:-1:-1;;;7655:70:0;;;;;;;:::i;:::-;7736:36;7746:6;7754:9;7765:6;7736:9;:36::i;:::-;7783:121;7792:6;262:10;7814:89;7852:6;7814:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7814:19:0;;;;;;:11;:19;;;;;;;;262:10;7814:33;;;;;;;;;;:37;:89::i;:::-;7783:8;:121::i;:::-;-1:-1:-1;7922:4:0;7465:469;;;;;:::o;13327:194::-;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;13384:17:::1;::::0;::::1;;13376:62;;;::::0;-1:-1:-1;;;13376:62:0;;7984:2:1;13376:62:0::1;::::0;::::1;7966:21:1::0;;;8003:18;;;7996:30;8062:34;8042:18;;;8035:62;8114:18;;13376:62:0::1;7782:356:1::0;13376:62:0::1;13449:17;:25:::0;;-1:-1:-1;;13449:25:0::1;::::0;;13490:23:::1;::::0;::::1;::::0;13469:5:::1;::::0;13490:23:::1;13327:194::o:0;14473:348::-;14537:10;;-1:-1:-1;;;;;14537:10:0;262;-1:-1:-1;;;;;14523:24:0;;14515:33;;;;;;14598:4;14559:20;6691:18;;;:9;:18;;;;;;14618:14;;14615:73;;14646:30;14663:12;14646:16;:30::i;:::-;14717:21;14752:12;;14749:65;;14778:24;14791:10;14778:12;:24::i;:::-;14504:317;;14473:348::o;12189:167::-;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;12266:6:::1;12261:88;12282:5;:12;12278:1;:16;12261:88;;;12333:4;12316;:14;12321:5;12327:1;12321:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12316:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12316:14:0;:21;;-1:-1:-1;;12316:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12296:3:0::1;12261:88;;12631:385:::0;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;12713:11:::1;::::0;-1:-1:-1;;;12713:11:0;::::1;;;12712:12;12704:73;;;::::0;-1:-1:-1;;;12704:73:0;;8477:2:1;12704:73:0::1;::::0;::::1;8459:21:1::0;8516:2;8496:18;;;8489:30;8555:34;8535:18;;;8528:62;-1:-1:-1;;;8606:18:1;;;8599:46;8662:19;;12704:73:0::1;8275:412:1::0;12704:73:0::1;12793:6;12788:221;12809:7;:14;12805:1;:18;12788:221;;;12875:1;-1:-1:-1::0;;;;;12853:24:0::1;:7;12861:1;12853:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12853:24:0::1;::::0;12845:59:::1;;;::::0;-1:-1:-1;;;12845:59:0;;8894:2:1;12845:59:0::1;::::0;::::1;8876:21:1::0;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:52;9014:18;;12845:59:0::1;8692:346:1::0;12845:59:0::1;12946:4;12919:12;:24;12932:7;12940:1;12932:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12919:24:0::1;-1:-1:-1::0;;;;;12919:24:0::1;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;12986:7;12994:1;12986:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12970:27:0::1;;;;;;;;;;;12825:3;;12788:221;;2639:148:::0;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;2746:1:::1;2730:6:::0;;2709:40:::1;::::0;-1:-1:-1;;;;;2730:6:0;;::::1;::::0;2709:40:::1;::::0;2746:1;;2709:40:::1;2777:1;2760:19:::0;;-1:-1:-1;;;;;;2760:19:0::1;::::0;;2639:148::o;11795:159::-;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;4579:13:::1;4523:1;4579:2;:13;:::i;:::-;4566:26;::::0;:10:::1;:26;:::i;:::-;11848:12;:22:::0;4579:13:::1;4523:1;4579:2;:13;:::i;:::-;4566:26;::::0;:10:::1;:26;:::i;:::-;11881:14;:22:::0;11919:27:::1;4579:13;4523:1;4579:2;:13;:::i;:::-;4566:26;::::0;:10:::1;:26;:::i;:::-;11919:27;::::0;1500:25:1;;;1488:2;1473:18;11919:27:0::1;1354:177:1::0;13529:673:0;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;13595:11:::1;::::0;-1:-1:-1;;;13595:11:0;::::1;;;13594:12;13586:47;;;::::0;-1:-1:-1;;;13586:47:0;;9245:2:1;13586:47:0::1;::::0;::::1;9227:21:1::0;9284:2;9264:18;;;9257:30;9323:25;9303:18;;;9296:53;9366:18;;13586:47:0::1;9043:347:1::0;13586:47:0::1;13644:15;:80:::0;;-1:-1:-1;;;;;;13644:80:0::1;13681:42;13644:80:::0;;::::1;::::0;;;13735:58:::1;::::0;13752:4:::1;::::0;4579:13:::1;4523:1;4579:2;:13;:::i;:::-;4566:26;::::0;:10:::1;:26;:::i;13735:58::-;13838:15;;;;;;;;;-1:-1:-1::0;;;;;13838:15:0::1;-1:-1:-1::0;;;;;13838:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13820:55:0::1;;13884:4;13891:15;;;;;;;;;-1:-1:-1::0;;;;;13891:15:0::1;-1:-1:-1::0;;;;;13891:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13820:94;::::0;-1:-1:-1;;;;;;13820:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9881:15:1;;;13820:94:0::1;::::0;::::1;9863:34:1::0;9933:15;;9913:18;;;9906:43;9798:18;;13820:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13804:13;:110:::0;;-1:-1:-1;;;;;13804:110:0;;::::1;-1:-1:-1::0;;;;;;13804:110:0;;::::1;;::::0;;13925:15:::1;::::0;::::1;:31;13964:21;13995:4;14001:24;13995:4:::0;-1:-1:-1;;;;;6691:18:0;6664:7;6691:18;;;:9;:18;;;;;;;6598:119;14001:24:::1;14026:1;14028::::0;14030:7:::1;2463::::0;2490:6;-1:-1:-1;;;;;2490:6:0;;2425:79;14030:7:::1;13925:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13925:129:0;;;-1:-1:-1;;;;;10319:15:1;;;13925:129:0::1;::::0;::::1;10301:34:1::0;10351:18;;;10344:34;;;;10394:18;;;10387:34;;;;10437:18;;;10430:34;10501:15;;;10480:19;;;10473:44;14038:15:0::1;10533:19:1::0;;;10526:35;10235:19;;13925:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14072:13:0::1;::::0;14103:15:::1;::::0;14065:71:::1;::::0;-1:-1:-1;;;14065:71:0;;-1:-1:-1;;;;;14103:15:0;;::::1;14065:71;::::0;::::1;11057:51:1::0;-1:-1:-1;;11124:18:1;;;11117:34;14072:13:0;::::1;::::0;-1:-1:-1;14065:29:0::1;::::0;11030:18:1;;14065:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14147:11:0::1;:18:::0;;-1:-1:-1;;;;14176:18:0;-1:-1:-1;;;14176:18:0;;;13529:673::o;6725:329::-;262:10;6803:4;6829:31;;;:17;:31;;;;;;;;6828:32;6820:70;;;;-1:-1:-1;;;6820:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6910:28:0;;;;;;:17;:28;;;;;;;;6909:29;6901:70;;;;-1:-1:-1;;;6901:70:0;;;;;;;:::i;:::-;6982:42;262:10;7006:9;7017:6;6982:9;:42::i;12364:168::-;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;12443:6:::1;12438:87;12459:6;:13;12455:1;:17;12438:87;;;12510:5;12492:4;:15;12497:6;12504:1;12497:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12492:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12492:15:0;:23;;-1:-1:-1;;12492:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12474:3:0::1;12438:87;;13024:184:::0;2552:6;;-1:-1:-1;;;;;2552:6:0;262:10;2552:22;2544:67;;;;-1:-1:-1;;;2544:67:0;;;;;;;:::i;:::-;13105:6:::1;13100:101;13121:7;:14;13117:1;:18;13100:101;;;13184:5;13157:12;:24;13170:7;13178:1;13170:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13157:24:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13157:24:0;:32;;-1:-1:-1;;13157:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13137:3:0::1;13100:101;;14210:218:::0;14285:10;;-1:-1:-1;;;;;14285:10:0;262;-1:-1:-1;;;;;14271:24:0;;14263:33;;;;;;14322:12;;14313:7;:21;;:47;;;;;14347:13;;14338:7;:22;;14313:47;14305:56;;;;;;14370:12;:20;;;14399:13;:21;14210:218::o;14829:187::-;14893:10;;-1:-1:-1;;;;;14893:10:0;262;-1:-1:-1;;;;;14879:24:0;;14871:33;;;;;;14944:21;14976:32;14944:21;14976:12;:32::i;:::-;14860:156;14829:187::o;7942:335::-;-1:-1:-1;;;;;8035:19:0;;8027:68;;;;-1:-1:-1;;;8027:68:0;;11646:2:1;8027:68:0;;;11628:21:1;11685:2;11665:18;;;11658:30;11724:34;11704:18;;;11697:62;-1:-1:-1;;;11775:18:1;;;11768:34;11819:19;;8027:68:0;11444:400:1;8027:68:0;-1:-1:-1;;;;;8114:21:0;;8106:68;;;;-1:-1:-1;;;8106:68:0;;12051:2:1;8106:68:0;;;12033:21:1;12090:2;12070:18;;;12063:30;12129:34;12109:18;;;12102:62;-1:-1:-1;;;12180:18:1;;;12173:32;12222:19;;8106:68:0;11849:398:1;8106:68:0;-1:-1:-1;;;;;8185:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8237:32;;1500:25:1;;;8237:32:0;;1473:18:1;8237:32:0;;;;;;;7942:335;;;:::o;8285:2905::-;-1:-1:-1;;;;;8373:18:0;;8365:68;;;;-1:-1:-1;;;8365:68:0;;12454:2:1;8365:68:0;;;12436:21:1;12493:2;12473:18;;;12466:30;12532:34;12512:18;;;12505:62;-1:-1:-1;;;12583:18:1;;;12576:35;12628:19;;8365:68:0;12252:401:1;8365:68:0;-1:-1:-1;;;;;8452:16:0;;8444:64;;;;-1:-1:-1;;;8444:64:0;;12860:2:1;8444:64:0;;;12842:21:1;12899:2;12879:18;;;12872:30;12938:34;12918:18;;;12911:62;-1:-1:-1;;;12989:18:1;;;12982:33;13032:19;;8444:64:0;12658:399:1;8444:64:0;8536:1;8527:6;:10;8519:64;;;;-1:-1:-1;;;8519:64:0;;13264:2:1;8519:64:0;;;13246:21:1;13303:2;13283:18;;;13276:30;13342:34;13322:18;;;13315:62;-1:-1:-1;;;13393:18:1;;;13386:39;13442:19;;8519:64:0;13062:405:1;8519:64:0;-1:-1:-1;;;;;8603:23:0;;;;;;:17;:23;;;;;;;;8602:24;8594:62;;;;-1:-1:-1;;;8594:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8676:21:0;;;;;;:17;:21;;;;;;;;8675:22;8667:63;;;;-1:-1:-1;;;8667:63:0;;;;;;;:::i;:::-;8741:17;2490:6;;-1:-1:-1;;;;;8775:15:0;;;2490:6;;8775:15;;;;:32;;-1:-1:-1;2463:7:0;2490:6;-1:-1:-1;;;;;8794:13:0;;;2490:6;;8794:13;;8775:32;8771:2063;;;-1:-1:-1;;;;;8833:10:0;;;;;;:4;:10;;;;;;;;8832:11;:24;;;;-1:-1:-1;;;;;;8848:8:0;;;;;;:4;:8;;;;;;;;8847:9;8832:24;8824:33;;;;;;8950:17;;;;:42;;;;-1:-1:-1;8979:13:0;;-1:-1:-1;;;;;8971:21:0;;;8979:13;;8971:21;8950:42;:76;;;;-1:-1:-1;9010:15:0;;-1:-1:-1;;;;;8996:30:0;;;9010:15;;8996:30;;8950:76;:103;;;;-1:-1:-1;;;;;;9031:22:0;;;;;;:18;:22;;;;;;;;9030:23;8950:103;8946:222;;;-1:-1:-1;;;;;9082:16:0;;;;;;:12;:16;;;;;;;;9074:78;;;;-1:-1:-1;;;9074:78:0;;13674:2:1;9074:78:0;;;13656:21:1;13713:2;13693:18;;;13686:30;13752:34;13732:18;;;13725:62;-1:-1:-1;;;13803:18:1;;;13796:47;13860:19;;9074:78:0;13472:413:1;9074:78:0;9187:9;;9198:1;9187:12;9184:139;;9231:76;9303:3;9231:67;9253:15;;9243:9;;:25;9242:55;;9283:14;;9242:55;;;9270:12;;9242:55;9231:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9219:88;;9184:139;9340:9;;:11;9337:95;;9383:33;9412:3;9383:24;9394:12;;9383:6;:10;;:24;;;;:::i;:33::-;9371:45;;9337:95;9460:13;;-1:-1:-1;;;;;9452:21:0;;;9460:13;;9452:21;:55;;;;-1:-1:-1;9491:15:0;;-1:-1:-1;;;;;9477:30:0;;;9491:15;;9477:30;;9452:55;:83;;;;-1:-1:-1;;;;;;9513:22:0;;;;;;:18;:22;;;;;;;;9511:24;9452:83;9448:420;;;9575:12;;9565:6;:22;;9557:60;;;;-1:-1:-1;;;9557:60:0;;14092:2:1;9557:60:0;;;14074:21:1;14131:2;14111:18;;;14104:30;14170:27;14150:18;;;14143:55;14215:18;;9557:60:0;13890:349:1;9557:60:0;9670:14;;9660:6;9644:13;9654:2;-1:-1:-1;;;;;6691:18:0;6664:7;6691:18;;;:9;:18;;;;;;;6598:119;9644:13;:22;;;;:::i;:::-;:40;;9636:79;;;;-1:-1:-1;;;9636:79:0;;14576:2:1;9636:79:0;;;14558:21:1;14615:2;14595:18;;;14588:30;14654:28;14634:18;;;14627:56;14700:18;;9636:79:0;14374:350:1;9636:79:0;9746:76;9818:3;9746:67;9768:15;;9758:9;;:25;9757:55;;9798:14;;9757:55;;9746:76;9841:9;:11;;9734:88;;-1:-1:-1;9841:9:0;:11;;;:::i;:::-;;;;;;9448:420;9893:13;;-1:-1:-1;;;;;9887:19:0;;;9893:13;;9887:19;:43;;;;-1:-1:-1;;;;;;9910:20:0;;9925:4;9910:20;;9887:43;9884:174;;;9963:79;10038:3;9963:70;9985:16;;9975:9;;:26;9974:58;;10017:15;;9974:58;;;10003:13;;9963:6;;:10;:70::i;:79::-;9951:91;;9884:174;10123:4;10074:28;6691:18;;;:9;:18;;;;;;10149:6;;-1:-1:-1;;;10149:6:0;;;;10148:7;:30;;;;-1:-1:-1;10165:13:0;;-1:-1:-1;;;;;10159:19:0;;;10165:13;;10159:19;10148:30;:45;;;;-1:-1:-1;10182:11:0;;-1:-1:-1;;;10182:11:0;;;;10148:45;:89;;;;;10220:17;;10197:20;:40;10148:89;:123;;;;;10253:18;;10241:9;;:30;10148:123;10144:679;;;10311:13;;10296:12;:28;10292:90;;;10361:1;10349:9;:13;10292:90;10420:1;10408:9;;:13;10400:49;;;;-1:-1:-1;;;10400:49:0;;15071:2:1;10400:49:0;;;15053:21:1;15110:2;15090:18;;;15083:30;15149:25;15129:18;;;15122:53;15192:18;;10400:49:0;14869:347:1;10400:49:0;10468:69;10485:51;10489:6;10497:38;10501:20;10523:11;;10497:3;:38::i;:::-;10485:3;:51::i;:::-;10468:16;:69::i;:::-;10585:21;10629:22;;10625:106;;10676:35;10689:21;10676:12;:35::i;:::-;10749:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10795:12:0;10779:13;:28;-1:-1:-1;10144:679:0;8809:2025;8771:2063;10849:11;;10846:161;;10917:4;10899:24;;;;:9;:24;;;;;;:39;;10928:9;10899:28;:39::i;:::-;10892:4;10874:24;;;;:9;:24;;;;;;;:64;;;;10956:39;;-1:-1:-1;;;;;10956:39:0;;;;;;;10985:9;1500:25:1;;1488:2;1473:18;;1354:177;10956:39:0;;;;;;;;10846:161;-1:-1:-1;;;;;11033:15:0;;;;;;:9;:15;;;;;;:27;;11053:6;11033:19;:27::i;:::-;-1:-1:-1;;;;;11017:15:0;;;;;;:9;:15;;;;;:43;11085:40;11103:21;:6;11114:9;11103:10;:21::i;:::-;-1:-1:-1;;;;;11085:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11071:13:0;;;;;;;:9;:13;;;;;:54;;;;11141:41;;;11160:21;:6;11171:9;11160:10;:21::i;:::-;11141:41;;1500:25:1;;;1488:2;1473:18;11141:41:0;;;;;;;8354:2836;8285:2905;;;:::o;1319:190::-;1405:7;1441:12;1433:6;;;;1425:29;;;;-1:-1:-1;;;1425:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1465:9:0;1477:5;1481:1;1477;:5;:::i;:::-;1465:17;1319:190;-1:-1:-1;;;;;1319:190:0:o;11304:483::-;5448:6;:13;;-1:-1:-1;;;;5448:13:0;-1:-1:-1;;;5448:13:0;;;11406:16:::1;::::0;;11420:1:::1;11406:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11406:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11406:16:0::1;11382:40;;11451:4;11433;11438:1;11433:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11433:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11477:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11477:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11433:7;;11477:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11467:4;11472:1;11467:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11467:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11542:15:::1;::::0;11510:62:::1;::::0;11527:4:::1;::::0;11542:15:::1;11560:11:::0;11510:8:::1;:62::i;:::-;11583:15;::::0;:196:::1;::::0;-1:-1:-1;;;11583:196:0;;-1:-1:-1;;;;;11583:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11664:11;;11583:15:::1;::::0;11706:4;;11733::::1;::::0;11753:15:::1;::::0;11583:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5484:6:0;:14;;-1:-1:-1;;;;5484:14:0;;;-1:-1:-1;;;;11304:483:0:o;12089:92::-;12146:10;;:27;;-1:-1:-1;;;;;12146:10:0;;;;:27;;;;;12166:6;;12146:10;:27;:10;:27;12166:6;12146:10;:27;;;;;;;;;;;;;;;;;;;1517:246;1575:7;1599:1;1604;1599:6;1595:47;;-1:-1:-1;1629:1:0;1622:8;;1595:47;1652:9;1664:5;1668:1;1664;:5;:::i;:::-;1652:17;-1:-1:-1;1697:1:0;1688:5;1692:1;1652:17;1688:5;:::i;:::-;:10;1680:56;;;;-1:-1:-1;;;1680:56:0;;16763:2:1;1680:56:0;;;16745:21:1;16802:2;16782:18;;;16775:30;16841:34;16821:18;;;16814:62;-1:-1:-1;;;16892:18:1;;;16885:31;16933:19;;1680:56:0;16561:397:1;1680:56:0;1754:1;1517:246;-1:-1:-1;;;1517:246:0:o;1771:132::-;1829:7;1856:39;1860:1;1863;1856:39;;;;;;;;;;;;;;;;;:3;:39::i;11198:98::-;11255:7;11282:1;11280;:3;11279:9;;11287:1;11279:9;;;-1:-1:-1;11285:1:0;11198:98;-1:-1:-1;11198:98:0:o;988:179::-;1046:7;;1078:5;1082:1;1078;:5;:::i;:::-;1066:17;;1107:1;1102;:6;;1094:46;;;;-1:-1:-1;;;1094:46:0;;17165:2:1;1094:46:0;;;17147:21:1;17204:2;17184:18;;;17177:30;17243:29;17223:18;;;17216:57;17290:18;;1094:46:0;16963:351:1;1175:136:0;1233:7;1260:43;1264:1;1267;1260:43;;;;;;;;;;;;;;;;;:3;:43::i;1911:189::-;1997:7;2032:12;2025:5;2017:28;;;;-1:-1:-1;;;2017:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2056:9:0;2068:5;2072:1;2068;: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;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4838:356::-;5040:2;5022:21;;;5059:18;;;5052:30;5118:34;5113:2;5098:18;;5091:62;5185:2;5170:18;;4838:356::o;5389:127::-;5450:10;5445:3;5441:20;5438:1;5431:31;5481:4;5478:1;5471:15;5505:4;5502:1;5495:15;5521:416;5610:1;5647:5;5610:1;5661:270;5682:7;5672:8;5669:21;5661:270;;;5741:4;5737:1;5733:6;5729:17;5723:4;5720:27;5717:53;;;5750:18;;:::i;:::-;5800:7;5790:8;5786:22;5783:55;;;5820:16;;;;5783:55;5899:22;;;;5859:15;;;;5661:270;;;5665:3;5521:416;;;;;:::o;5942:806::-;5991:5;6021:8;6011:80;;-1:-1:-1;6062:1:1;6076:5;;6011:80;6110:4;6100:76;;-1:-1:-1;6147:1:1;6161:5;;6100:76;6192:4;6210:1;6205:59;;;;6278:1;6273:130;;;;6185:218;;6205:59;6235:1;6226:10;;6249:5;;;6273:130;6310:3;6300:8;6297:17;6294:43;;;6317:18;;:::i;:::-;-1:-1:-1;;6373:1:1;6359:16;;6388:5;;6185:218;;6487:2;6477:8;6474:16;6468:3;6462:4;6459:13;6455:36;6449:2;6439:8;6436:16;6431:2;6425:4;6422:12;6418:35;6415:77;6412:159;;;-1:-1:-1;6524:19:1;;;6556:5;;6412:159;6603:34;6628:8;6622:4;6603:34;:::i;:::-;6673:6;6669:1;6665:6;6661:19;6652:7;6649:32;6646:58;;;6684:18;;:::i;:::-;6722:20;;5942:806;-1:-1:-1;;;5942:806:1:o;6753:140::-;6811:5;6840:47;6881:4;6871:8;6867:19;6861:4;6840:47;:::i;6898:168::-;6971:9;;;7002;;7019:15;;;7013:22;;6999:37;6989:71;;7040:18;;:::i;7071:349::-;7273:2;7255:21;;;7312:2;7292:18;;;7285:30;7351:27;7346:2;7331:18;;7324:55;7411:2;7396:18;;7071:349::o;7425:352::-;7627:2;7609:21;;;7666:2;7646:18;;;7639:30;7705;7700:2;7685:18;;7678:58;7768:2;7753:18;;7425:352::o;8143:127::-;8204:10;8199:3;8195:20;8192:1;8185:31;8235:4;8232:1;8225:15;8259:4;8256:1;8249:15;9395:251;9465:6;9518:2;9506:9;9497:7;9493:23;9489:32;9486:52;;;9534:1;9531;9524:12;9486:52;9566:9;9560:16;9585:31;9610:5;9585:31;:::i;10572:306::-;10660:6;10668;10676;10729:2;10717:9;10708:7;10704:23;10700:32;10697:52;;;10745:1;10742;10735:12;10697:52;10774:9;10768:16;10758:26;;10824:2;10813:9;10809:18;10803:25;10793:35;;10868:2;10857:9;10853:18;10847:25;10837:35;;10572:306;;;;;:::o;11162:277::-;11229:6;11282:2;11270:9;11261:7;11257:23;11253:32;11250:52;;;11298:1;11295;11288:12;11250:52;11330:9;11324:16;11383:5;11376:13;11369:21;11362:5;11359:32;11349:60;;11405:1;11402;11395:12;14244:125;14309:9;;;14330:10;;;14327:36;;;14343:18;;:::i;14729:135::-;14768:3;14789:17;;;14786:43;;14809:18;;:::i;:::-;-1:-1:-1;14856:1:1;14845:13;;14729:135::o;15221:128::-;15288:9;;;15309:11;;;15306:37;;;15323:18;;:::i;15354:980::-;15616:4;15664:3;15653:9;15649:19;15695:6;15684:9;15677:25;15721:2;15759:6;15754:2;15743:9;15739:18;15732:34;15802:3;15797:2;15786:9;15782:18;15775:31;15826:6;15861;15855:13;15892:6;15884;15877:22;15930:3;15919:9;15915:19;15908:26;;15969:2;15961:6;15957:15;15943:29;;15990:1;16000:195;16014:6;16011:1;16008:13;16000:195;;;16079:13;;-1:-1:-1;;;;;16075:39:1;16063:52;;16170:15;;;;16135:12;;;;16111:1;16029:9;16000:195;;;-1:-1:-1;;;;;;;16251:32:1;;;;16246:2;16231:18;;16224:60;-1:-1:-1;;;16315:3:1;16300:19;16293:35;16212:3;15354:980;-1:-1:-1;;;15354:980:1:o;16339:217::-;16379:1;16405;16395:132;;16449:10;16444:3;16440:20;16437:1;16430:31;16484:4;16481:1;16474:15;16512:4;16509:1;16502:15;16395:132;-1:-1:-1;16541:9:1;;16339:217::o
Swarm Source
ipfs://242d20d10ab2654765db02dba2e6a55a11b08c6544f344d9b0756e6f8c0b3065
Loading...
Loading
Loading...
Loading

Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.