Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 546 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21490930 | 5 days ago | IN | 0 ETH | 0.00022921 | ||||
Approve | 21483650 | 6 days ago | IN | 0 ETH | 0.00025485 | ||||
Transfer | 21469579 | 8 days ago | IN | 0 ETH | 0.00036863 | ||||
Transfer | 21454899 | 10 days ago | IN | 0 ETH | 0.00037789 | ||||
Approve | 21324100 | 29 days ago | IN | 0 ETH | 0.00134743 | ||||
Approve | 21201562 | 46 days ago | IN | 0 ETH | 0.00078135 | ||||
Approve | 21160877 | 52 days ago | IN | 0 ETH | 0.00077254 | ||||
Approve | 21124627 | 57 days ago | IN | 0 ETH | 0.00030982 | ||||
Approve | 21120400 | 57 days ago | IN | 0 ETH | 0.00022938 | ||||
Approve | 21120400 | 57 days ago | IN | 0 ETH | 0.00039666 | ||||
Approve | 21120253 | 57 days ago | IN | 0 ETH | 0.00017316 | ||||
Approve | 21109519 | 59 days ago | IN | 0 ETH | 0.00026104 | ||||
Approve | 21104866 | 59 days ago | IN | 0 ETH | 0.00013334 | ||||
Approve | 21102351 | 60 days ago | IN | 0 ETH | 0.00029703 | ||||
Approve | 21082977 | 62 days ago | IN | 0 ETH | 0.00017701 | ||||
Approve | 21051811 | 67 days ago | IN | 0 ETH | 0.00026895 | ||||
Approve | 21048539 | 67 days ago | IN | 0 ETH | 0.00030981 | ||||
Approve | 21048292 | 67 days ago | IN | 0 ETH | 0.00028742 | ||||
Approve | 21045006 | 68 days ago | IN | 0 ETH | 0.00023657 | ||||
Approve | 21044556 | 68 days ago | IN | 0 ETH | 0.00045192 | ||||
Transfer | 21044358 | 68 days ago | IN | 0 ETH | 0.00128204 | ||||
Transfer | 21044358 | 68 days ago | IN | 0 ETH | 0.00128204 | ||||
Transfer | 21044358 | 68 days ago | IN | 0 ETH | 0.00128204 | ||||
Transfer | 21044358 | 68 days ago | IN | 0 ETH | 0.00128204 | ||||
Transfer | 21044358 | 68 days ago | IN | 0 ETH | 0.00128204 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20945307 | 82 days ago | 0.0331229 ETH | ||||
20945307 | 82 days ago | 0.0331229 ETH | ||||
20945304 | 82 days ago | 0.14657754 ETH | ||||
20945304 | 82 days ago | 0.14657754 ETH | ||||
20945288 | 82 days ago | 0.17794776 ETH | ||||
20945288 | 82 days ago | 0.17794776 ETH | ||||
20945288 | 82 days ago | 0.03299216 ETH | ||||
20945288 | 82 days ago | 0.03299216 ETH | ||||
20945286 | 82 days ago | 0.16052239 ETH | ||||
20945286 | 82 days ago | 0.16052239 ETH | ||||
20945284 | 82 days ago | 0.1533499 ETH | ||||
20945284 | 82 days ago | 0.1533499 ETH | ||||
20945279 | 82 days ago | 0.03780042 ETH | ||||
20945279 | 82 days ago | 0.03780042 ETH | ||||
20945268 | 82 days ago | 0.03512659 ETH | ||||
20945268 | 82 days ago | 0.03512659 ETH | ||||
20945267 | 82 days ago | 0.09879806 ETH | ||||
20945267 | 82 days ago | 0.09879806 ETH | ||||
20945258 | 82 days ago | 0.21950008 ETH | ||||
20945258 | 82 days ago | 0.21950008 ETH | ||||
20945252 | 82 days ago | 0.11441883 ETH | ||||
20945252 | 82 days ago | 0.11441883 ETH | ||||
20945239 | 82 days ago | 0.1765529 ETH | ||||
20945239 | 82 days ago | 0.1765529 ETH | ||||
20945232 | 82 days ago | 0.12670673 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NetDegenIndex6900
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-11 */ // SPDX-License-Identifier: MIT /** 🚀 NDX6900 Declared the Future of Finance: Thousands of tech visionaries rally behind NDX6900, claiming it's the next big leap beyond NASDAQ. wesbite: https://www.nasdaq69.com/ x: https://x.com/NASDAQ6900 telegram: https://t.me/NDX6900ENTRY */ pragma solidity 0.8.26; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, 'SafeMath: addition overflow'); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, 'SafeMath: subtraction overflow'); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, 'SafeMath: multiplication overflow'); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, 'SafeMath: division by zero'); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), 'New owner cannot be the zero address'); require(newOwner != _owner, 'New owner must be different'); address prevOwner = _owner; _owner = newOwner; emit OwnershipTransferred(prevOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); 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); } contract NetDegenIndex6900 is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isDegen; address payable private _taxWallet; uint256 private _initialBuyTax = 25; uint256 private _initialSellTax = 25; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 20; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 20; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 6900000000 * 10**_decimals; string private constant _name = unicode"NDX6900"; string private constant _symbol = unicode"NDX"; uint256 public _maxTxAmount = 138000000 * 10**_decimals; uint256 public _maxWalletSize = 138000000 * 10**_decimals; uint256 public _taxSwapThreshold= 138000000 * 10**_decimals; uint256 public _maxTaxSwap= 138000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tTotal; _isDegen[owner()] = true; _isDegen[address(this)] = true; _isDegen[_taxWallet] = true; emit Transfer(address(0), address(this), _tTotal); } 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 approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _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"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isDegen[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 sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addLiquidityEth() external payable onlyOwner { require(!tradingOpen, "Trading is already open."); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Factory uniswapV2Factory = IUniswapV2Factory( uniswapV2Router.factory() ); uniswapV2Pair = uniswapV2Factory.createPair( address(this), uniswapV2Router.WETH() ); _isDegen[address(uniswapV2Pair)] = true; _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{ value: msg.value }( address(this), totalSupply(), 0, 0, owner(), block.timestamp ); tradingOpen = true; swapEnabled = true; } receive() external payable {} function withdrawDegenIndex() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ _transfer(address(this), _taxWallet, tokenBalance); } } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_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":[],"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":[],"name":"addLiquidityEth","outputs":[],"stateMutability":"payable","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":"manualsend","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":[],"name":"removeLimits","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawDegenIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960055560196006555f6007555f60085560146009556014600a556014600b555f600c556009600a610037919061059b565b630839b68061004691906105e5565b600d556009600a610057919061059b565b630839b68061006691906105e5565b600e556009600a610077919061059b565b630839b68061008691906105e5565b600f556009600a610097919061059b565b630839b6806100a691906105e5565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6013555f6014553480156100f0575f80fd5b505f6101006103fc60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101aa6103fc60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101f7919061059b565b64019b45a50061020791906105e5565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61025b61040360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103d2919061059b565b64019b45a5006103e291906105e5565b6040516103ef9190610635565b60405180910390a361064e565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104ac578086048111156104885761048761042a565b5b60018516156104975780820291505b80810290506104a585610457565b945061046c565b94509492505050565b5f826104c4576001905061057f565b816104d1575f905061057f565b81600181146104e757600281146104f157610520565b600191505061057f565b60ff8411156105035761050261042a565b5b8360020a91508482111561051a5761051961042a565b5b5061057f565b5060208310610133831016604e8410600b84101617156105555782820a9050838111156105505761054f61042a565b5b61057f565b6105628484846001610463565b925090508184048111156105795761057861042a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105a582610586565b91506105b08361058f565b92506105dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104b5565b905092915050565b5f6105ef82610586565b91506105fa83610586565b925082820261060881610586565b9150828204841483151761061f5761061e61042a565b5b5092915050565b61062f81610586565b82525050565b5f6020820190506106485f830184610626565b92915050565b6130f38061065b5f395ff3fe608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461037d578063ad52ebd2146103b9578063bf474bed146103cf578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063751039fc146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780636fc3eaec1461025757806370a082311461026d578063715018a6146102a957610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e91906121b7565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190612268565b61049a565b60405161018a91906122c0565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b491906122e8565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de91906122e8565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612301565b6104e1565b60405161021a91906122c0565b60405180910390f35b61022b6105b5565b005b348015610238575f80fd5b50610241610a5e565b60405161024e919061236c565b60405180910390f35b348015610262575f80fd5b5061026b610a66565b005b348015610278575f80fd5b50610293600480360381019061028e9190612385565b610ad5565b6040516102a091906122e8565b60405180910390f35b3480156102b4575f80fd5b506102bd610b1b565b005b3480156102ca575f80fd5b506102d3610c69565b005b3480156102e0575f80fd5b506102e9610d9b565b6040516102f691906122e8565b60405180910390f35b34801561030a575f80fd5b50610313610da1565b60405161032091906123bf565b60405180910390f35b348015610334575f80fd5b5061033d610dc8565b60405161034a91906122e8565b60405180910390f35b34801561035e575f80fd5b50610367610dce565b60405161037491906121b7565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e9190612268565b610e0b565b6040516103b091906122c0565b60405180910390f35b3480156103c4575f80fd5b506103cd610e28565b005b3480156103da575f80fd5b506103e3610ecb565b6040516103f091906122e8565b60405180910390f35b348015610404575f80fd5b5061041f600480360381019061041a91906123d8565b610ed1565b60405161042c91906122e8565b60405180910390f35b348015610440575f80fd5b5061045b60048036038101906104569190612385565b610f53565b005b60606040518060400160405280600781526020017f4e44583639303000000000000000000000000000000000000000000000000000815250905090565b5f6104ad6104a66111a3565b84846111aa565b6001905092915050565b60105481565b5f6009600a6104cc9190612572565b64019b45a5006104dc91906125bc565b905090565b5f6104ed84848461136d565b6105aa846104f96111a3565b6105a5856040518060600160405280602881526020016130966028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055c6111a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c199092919063ffffffff16565b6111aa565b600190509392505050565b6105bd6111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090612647565b60405180910390fd5b601260149054906101000a900460ff1615610699576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610690906126af565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077c91906126e1565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610805573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082991906126e1565b6040518363ffffffff1660e01b815260040161084692919061270c565b6020604051808303815f875af1158015610862573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088691906126e1565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096e3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109696104bd565b6111aa565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b56104bd565b5f806109bf610da1565b426040518863ffffffff1660e01b81526004016109e196959493929190612775565b60606040518083038185885af11580156109fd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2291906127e8565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa66111a3565b73ffffffffffffffffffffffffffffffffffffffff1614610ac5575f80fd5b5f479050610ad281611c7b565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b236111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba690612647565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c716111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612647565b60405180910390fd5b6009600a610d0b9190612572565b64019b45a500610d1b91906125bc565b600d819055506009600a610d2f9190612572565b64019b45a500610d3f91906125bc565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d749190612572565b64019b45a500610d8491906125bc565b604051610d9191906122e8565b60405180910390a1565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600381526020017f4e44580000000000000000000000000000000000000000000000000000000000815250905090565b5f610e1e610e176111a3565b848461136d565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e686111a3565b73ffffffffffffffffffffffffffffffffffffffff1614610e87575f80fd5b5f610e9130610ad5565b90505f811115610ec857610ec73060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361136d565b5b50565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f5b6111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde90612647565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c906128a8565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990612910565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f9061299e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d90612a2c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161136091906122e8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290612aba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144090612b48565b60405180910390fd5b5f811161148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612bd6565b60405180910390fd5b5f611494610da1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561150257506114d2610da1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611969575f600c540361154f5761154c606461153e600954600c541161152b5760055461152f565b6007545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115f8575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561164b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561174357600d54821115611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168c90612c3e565b60405180910390fd5b600e54826116a285610ad5565b6116ac9190612c5c565b11156116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612cd9565b60405180910390fd5b611729606461171b600954600c54116117085760055461170c565b6007545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b9050600c5f81548092919061173d90612cf7565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117cb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561180f5761180c60646117fe600a54600c54116117eb576006546117ef565b6008545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b90505b5f61181930610ad5565b9050601260159054906101000a900460ff16158015611884575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561189c5750601260169054906101000a900460ff165b80156118a95750600f5481115b80156118b85750600b54600c54115b15611967576014544311156118cf575f6013819055505b600360135410611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90612d88565b60405180910390fd5b61193161192c8461192784601054611da3565b611da3565b611dbb565b5f4790505f8111156119475761194647611c7b565b5b60135f81548092919061195990612cf7565b919050555043601481905550505b505b5f811115611a68576119c18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a5f91906122e8565b60405180910390a35b611ab88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461208390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b5b611b0f828461208390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bfe848661208390919063ffffffff16565b604051611c0b91906122e8565b60405180910390a350505050565b5f838311158290611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5791906121b7565b60405180910390fd5b505f8385611c6e9190612da6565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cdf573d5f803e3d5ffd5b5050565b5f808303611cf3575f9050611d54565b5f8284611d0091906125bc565b9050828482611d0f9190612e06565b14611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690612ea6565b60405180910390fd5b809150505b92915050565b5f611d9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120cc565b905092915050565b5f818311611db15782611db3565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611df257611df1612ec4565b5b604051908082528060200260200182016040528015611e205781602001602082028036833780820191505090505b50905030815f81518110611e3757611e36612ef1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906126e1565b81600181518110611f1357611f12612ef1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f793060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111aa565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fdb959493929190612fd5565b5f604051808303815f87803b158015611ff2575f80fd5b505af1158015612004573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f8082846120349190612c5c565b905083811015612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090613077565b60405180910390fd5b8091505092915050565b5f6120c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c19565b905092915050565b5f8083118290612112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210991906121b7565b60405180910390fd5b505f83856121209190612e06565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612164578082015181840152602081019050612149565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121898261212d565b6121938185612137565b93506121a3818560208601612147565b6121ac8161216f565b840191505092915050565b5f6020820190508181035f8301526121cf818461217f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612204826121db565b9050919050565b612214816121fa565b811461221e575f80fd5b50565b5f8135905061222f8161220b565b92915050565b5f819050919050565b61224781612235565b8114612251575f80fd5b50565b5f813590506122628161223e565b92915050565b5f806040838503121561227e5761227d6121d7565b5b5f61228b85828601612221565b925050602061229c85828601612254565b9150509250929050565b5f8115159050919050565b6122ba816122a6565b82525050565b5f6020820190506122d35f8301846122b1565b92915050565b6122e281612235565b82525050565b5f6020820190506122fb5f8301846122d9565b92915050565b5f805f60608486031215612318576123176121d7565b5b5f61232586828701612221565b935050602061233686828701612221565b925050604061234786828701612254565b9150509250925092565b5f60ff82169050919050565b61236681612351565b82525050565b5f60208201905061237f5f83018461235d565b92915050565b5f6020828403121561239a576123996121d7565b5b5f6123a784828501612221565b91505092915050565b6123b9816121fa565b82525050565b5f6020820190506123d25f8301846123b0565b92915050565b5f80604083850312156123ee576123ed6121d7565b5b5f6123fb85828601612221565b925050602061240c85828601612221565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124985780860481111561247457612473612416565b5b60018516156124835780820291505b808102905061249185612443565b9450612458565b94509492505050565b5f826124b0576001905061256b565b816124bd575f905061256b565b81600181146124d357600281146124dd5761250c565b600191505061256b565b60ff8411156124ef576124ee612416565b5b8360020a91508482111561250657612505612416565b5b5061256b565b5060208310610133831016604e8410600b84101617156125415782820a90508381111561253c5761253b612416565b5b61256b565b61254e848484600161244f565b9250905081840481111561256557612564612416565b5b81810290505b9392505050565b5f61257c82612235565b915061258783612351565b92506125b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124a1565b905092915050565b5f6125c682612235565b91506125d183612235565b92508282026125df81612235565b915082820484148315176125f6576125f5612416565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612631602083612137565b915061263c826125fd565b602082019050919050565b5f6020820190508181035f83015261265e81612625565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f612699601883612137565b91506126a482612665565b602082019050919050565b5f6020820190508181035f8301526126c68161268d565b9050919050565b5f815190506126db8161220b565b92915050565b5f602082840312156126f6576126f56121d7565b5b5f612703848285016126cd565b91505092915050565b5f60408201905061271f5f8301856123b0565b61272c60208301846123b0565b9392505050565b5f819050919050565b5f819050919050565b5f61275f61275a61275584612733565b61273c565b612235565b9050919050565b61276f81612745565b82525050565b5f60c0820190506127885f8301896123b0565b61279560208301886122d9565b6127a26040830187612766565b6127af6060830186612766565b6127bc60808301856123b0565b6127c960a08301846122d9565b979650505050505050565b5f815190506127e28161223e565b92915050565b5f805f606084860312156127ff576127fe6121d7565b5b5f61280c868287016127d4565b935050602061281d868287016127d4565b925050604061282e868287016127d4565b9150509250925092565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612892602483612137565b915061289d82612838565b604082019050919050565b5f6020820190508181035f8301526128bf81612886565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6128fa601b83612137565b9150612905826128c6565b602082019050919050565b5f6020820190508181035f830152612927816128ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612988602483612137565b91506129938261292e565b604082019050919050565b5f6020820190508181035f8301526129b58161297c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a16602283612137565b9150612a21826129bc565b604082019050919050565b5f6020820190508181035f830152612a4381612a0a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa4602583612137565b9150612aaf82612a4a565b604082019050919050565b5f6020820190508181035f830152612ad181612a98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b32602383612137565b9150612b3d82612ad8565b604082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bc0602983612137565b9150612bcb82612b66565b604082019050919050565b5f6020820190508181035f830152612bed81612bb4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c28601983612137565b9150612c3382612bf4565b602082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b5f612c6682612235565b9150612c7183612235565b9250828201905080821115612c8957612c88612416565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cc3601a83612137565b9150612cce82612c8f565b602082019050919050565b5f6020820190508181035f830152612cf081612cb7565b9050919050565b5f612d0182612235565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d3357612d32612416565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612d72601783612137565b9150612d7d82612d3e565b602082019050919050565b5f6020820190508181035f830152612d9f81612d66565b9050919050565b5f612db082612235565b9150612dbb83612235565b9250828203905081811115612dd357612dd2612416565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e1082612235565b9150612e1b83612235565b925082612e2b57612e2a612dd9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e90602183612137565b9150612e9b82612e36565b604082019050919050565b5f6020820190508181035f830152612ebd81612e84565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f50816121fa565b82525050565b5f612f618383612f47565b60208301905092915050565b5f602082019050919050565b5f612f8382612f1e565b612f8d8185612f28565b9350612f9883612f38565b805f5b83811015612fc8578151612faf8882612f56565b9750612fba83612f6d565b925050600181019050612f9b565b5085935050505092915050565b5f60a082019050612fe85f8301886122d9565b612ff56020830187612766565b81810360408301526130078186612f79565b905061301660608301856123b0565b61302360808301846122d9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613061601b83612137565b915061306c8261302d565b602082019050919050565b5f6020820190508181035f83015261308e81613055565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b32898b1d64c4b12f89b813da8ac6b8d8ad543b12e82196dfa812b460d882e0e64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461037d578063ad52ebd2146103b9578063bf474bed146103cf578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063751039fc146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780636fc3eaec1461025757806370a082311461026d578063715018a6146102a957610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e91906121b7565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190612268565b61049a565b60405161018a91906122c0565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b491906122e8565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de91906122e8565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612301565b6104e1565b60405161021a91906122c0565b60405180910390f35b61022b6105b5565b005b348015610238575f80fd5b50610241610a5e565b60405161024e919061236c565b60405180910390f35b348015610262575f80fd5b5061026b610a66565b005b348015610278575f80fd5b50610293600480360381019061028e9190612385565b610ad5565b6040516102a091906122e8565b60405180910390f35b3480156102b4575f80fd5b506102bd610b1b565b005b3480156102ca575f80fd5b506102d3610c69565b005b3480156102e0575f80fd5b506102e9610d9b565b6040516102f691906122e8565b60405180910390f35b34801561030a575f80fd5b50610313610da1565b60405161032091906123bf565b60405180910390f35b348015610334575f80fd5b5061033d610dc8565b60405161034a91906122e8565b60405180910390f35b34801561035e575f80fd5b50610367610dce565b60405161037491906121b7565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e9190612268565b610e0b565b6040516103b091906122c0565b60405180910390f35b3480156103c4575f80fd5b506103cd610e28565b005b3480156103da575f80fd5b506103e3610ecb565b6040516103f091906122e8565b60405180910390f35b348015610404575f80fd5b5061041f600480360381019061041a91906123d8565b610ed1565b60405161042c91906122e8565b60405180910390f35b348015610440575f80fd5b5061045b60048036038101906104569190612385565b610f53565b005b60606040518060400160405280600781526020017f4e44583639303000000000000000000000000000000000000000000000000000815250905090565b5f6104ad6104a66111a3565b84846111aa565b6001905092915050565b60105481565b5f6009600a6104cc9190612572565b64019b45a5006104dc91906125bc565b905090565b5f6104ed84848461136d565b6105aa846104f96111a3565b6105a5856040518060600160405280602881526020016130966028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055c6111a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c199092919063ffffffff16565b6111aa565b600190509392505050565b6105bd6111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090612647565b60405180910390fd5b601260149054906101000a900460ff1615610699576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610690906126af565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077c91906126e1565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610805573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082991906126e1565b6040518363ffffffff1660e01b815260040161084692919061270c565b6020604051808303815f875af1158015610862573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088691906126e1565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096e3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109696104bd565b6111aa565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b56104bd565b5f806109bf610da1565b426040518863ffffffff1660e01b81526004016109e196959493929190612775565b60606040518083038185885af11580156109fd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2291906127e8565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa66111a3565b73ffffffffffffffffffffffffffffffffffffffff1614610ac5575f80fd5b5f479050610ad281611c7b565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b236111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba690612647565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c716111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612647565b60405180910390fd5b6009600a610d0b9190612572565b64019b45a500610d1b91906125bc565b600d819055506009600a610d2f9190612572565b64019b45a500610d3f91906125bc565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d749190612572565b64019b45a500610d8491906125bc565b604051610d9191906122e8565b60405180910390a1565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600381526020017f4e44580000000000000000000000000000000000000000000000000000000000815250905090565b5f610e1e610e176111a3565b848461136d565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e686111a3565b73ffffffffffffffffffffffffffffffffffffffff1614610e87575f80fd5b5f610e9130610ad5565b90505f811115610ec857610ec73060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361136d565b5b50565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f5b6111a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde90612647565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c906128a8565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990612910565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f9061299e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d90612a2c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161136091906122e8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290612aba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144090612b48565b60405180910390fd5b5f811161148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612bd6565b60405180910390fd5b5f611494610da1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561150257506114d2610da1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611969575f600c540361154f5761154c606461153e600954600c541161152b5760055461152f565b6007545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115f8575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561164b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561174357600d54821115611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168c90612c3e565b60405180910390fd5b600e54826116a285610ad5565b6116ac9190612c5c565b11156116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612cd9565b60405180910390fd5b611729606461171b600954600c54116117085760055461170c565b6007545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b9050600c5f81548092919061173d90612cf7565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117cb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561180f5761180c60646117fe600a54600c54116117eb576006546117ef565b6008545b85611ce390919063ffffffff16565b611d5a90919063ffffffff16565b90505b5f61181930610ad5565b9050601260159054906101000a900460ff16158015611884575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561189c5750601260169054906101000a900460ff165b80156118a95750600f5481115b80156118b85750600b54600c54115b15611967576014544311156118cf575f6013819055505b600360135410611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90612d88565b60405180910390fd5b61193161192c8461192784601054611da3565b611da3565b611dbb565b5f4790505f8111156119475761194647611c7b565b5b60135f81548092919061195990612cf7565b919050555043601481905550505b505b5f811115611a68576119c18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a5f91906122e8565b60405180910390a35b611ab88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461208390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b5b611b0f828461208390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bfe848661208390919063ffffffff16565b604051611c0b91906122e8565b60405180910390a350505050565b5f838311158290611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5791906121b7565b60405180910390fd5b505f8385611c6e9190612da6565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cdf573d5f803e3d5ffd5b5050565b5f808303611cf3575f9050611d54565b5f8284611d0091906125bc565b9050828482611d0f9190612e06565b14611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690612ea6565b60405180910390fd5b809150505b92915050565b5f611d9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120cc565b905092915050565b5f818311611db15782611db3565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611df257611df1612ec4565b5b604051908082528060200260200182016040528015611e205781602001602082028036833780820191505090505b50905030815f81518110611e3757611e36612ef1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906126e1565b81600181518110611f1357611f12612ef1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f793060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111aa565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fdb959493929190612fd5565b5f604051808303815f87803b158015611ff2575f80fd5b505af1158015612004573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f8082846120349190612c5c565b905083811015612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090613077565b60405180910390fd5b8091505092915050565b5f6120c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c19565b905092915050565b5f8083118290612112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210991906121b7565b60405180910390fd5b505f83856121209190612e06565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612164578082015181840152602081019050612149565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121898261212d565b6121938185612137565b93506121a3818560208601612147565b6121ac8161216f565b840191505092915050565b5f6020820190508181035f8301526121cf818461217f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612204826121db565b9050919050565b612214816121fa565b811461221e575f80fd5b50565b5f8135905061222f8161220b565b92915050565b5f819050919050565b61224781612235565b8114612251575f80fd5b50565b5f813590506122628161223e565b92915050565b5f806040838503121561227e5761227d6121d7565b5b5f61228b85828601612221565b925050602061229c85828601612254565b9150509250929050565b5f8115159050919050565b6122ba816122a6565b82525050565b5f6020820190506122d35f8301846122b1565b92915050565b6122e281612235565b82525050565b5f6020820190506122fb5f8301846122d9565b92915050565b5f805f60608486031215612318576123176121d7565b5b5f61232586828701612221565b935050602061233686828701612221565b925050604061234786828701612254565b9150509250925092565b5f60ff82169050919050565b61236681612351565b82525050565b5f60208201905061237f5f83018461235d565b92915050565b5f6020828403121561239a576123996121d7565b5b5f6123a784828501612221565b91505092915050565b6123b9816121fa565b82525050565b5f6020820190506123d25f8301846123b0565b92915050565b5f80604083850312156123ee576123ed6121d7565b5b5f6123fb85828601612221565b925050602061240c85828601612221565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124985780860481111561247457612473612416565b5b60018516156124835780820291505b808102905061249185612443565b9450612458565b94509492505050565b5f826124b0576001905061256b565b816124bd575f905061256b565b81600181146124d357600281146124dd5761250c565b600191505061256b565b60ff8411156124ef576124ee612416565b5b8360020a91508482111561250657612505612416565b5b5061256b565b5060208310610133831016604e8410600b84101617156125415782820a90508381111561253c5761253b612416565b5b61256b565b61254e848484600161244f565b9250905081840481111561256557612564612416565b5b81810290505b9392505050565b5f61257c82612235565b915061258783612351565b92506125b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124a1565b905092915050565b5f6125c682612235565b91506125d183612235565b92508282026125df81612235565b915082820484148315176125f6576125f5612416565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612631602083612137565b915061263c826125fd565b602082019050919050565b5f6020820190508181035f83015261265e81612625565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f612699601883612137565b91506126a482612665565b602082019050919050565b5f6020820190508181035f8301526126c68161268d565b9050919050565b5f815190506126db8161220b565b92915050565b5f602082840312156126f6576126f56121d7565b5b5f612703848285016126cd565b91505092915050565b5f60408201905061271f5f8301856123b0565b61272c60208301846123b0565b9392505050565b5f819050919050565b5f819050919050565b5f61275f61275a61275584612733565b61273c565b612235565b9050919050565b61276f81612745565b82525050565b5f60c0820190506127885f8301896123b0565b61279560208301886122d9565b6127a26040830187612766565b6127af6060830186612766565b6127bc60808301856123b0565b6127c960a08301846122d9565b979650505050505050565b5f815190506127e28161223e565b92915050565b5f805f606084860312156127ff576127fe6121d7565b5b5f61280c868287016127d4565b935050602061281d868287016127d4565b925050604061282e868287016127d4565b9150509250925092565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612892602483612137565b915061289d82612838565b604082019050919050565b5f6020820190508181035f8301526128bf81612886565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6128fa601b83612137565b9150612905826128c6565b602082019050919050565b5f6020820190508181035f830152612927816128ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612988602483612137565b91506129938261292e565b604082019050919050565b5f6020820190508181035f8301526129b58161297c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a16602283612137565b9150612a21826129bc565b604082019050919050565b5f6020820190508181035f830152612a4381612a0a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa4602583612137565b9150612aaf82612a4a565b604082019050919050565b5f6020820190508181035f830152612ad181612a98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b32602383612137565b9150612b3d82612ad8565b604082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bc0602983612137565b9150612bcb82612b66565b604082019050919050565b5f6020820190508181035f830152612bed81612bb4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c28601983612137565b9150612c3382612bf4565b602082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b5f612c6682612235565b9150612c7183612235565b9250828201905080821115612c8957612c88612416565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cc3601a83612137565b9150612cce82612c8f565b602082019050919050565b5f6020820190508181035f830152612cf081612cb7565b9050919050565b5f612d0182612235565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d3357612d32612416565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612d72601783612137565b9150612d7d82612d3e565b602082019050919050565b5f6020820190508181035f830152612d9f81612d66565b9050919050565b5f612db082612235565b9150612dbb83612235565b9250828203905081811115612dd357612dd2612416565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e1082612235565b9150612e1b83612235565b925082612e2b57612e2a612dd9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e90602183612137565b9150612e9b82612e36565b604082019050919050565b5f6020820190508181035f830152612ebd81612e84565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f50816121fa565b82525050565b5f612f618383612f47565b60208301905092915050565b5f602082019050919050565b5f612f8382612f1e565b612f8d8185612f28565b9350612f9883612f38565b805f5b83811015612fc8578151612faf8882612f56565b9750612fba83612f6d565b925050600181019050612f9b565b5085935050505092915050565b5f60a082019050612fe85f8301886122d9565b612ff56020830187612766565b81810360408301526130078186612f79565b905061301660608301856123b0565b61302360808301846122d9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613061601b83612137565b915061306c8261302d565b602082019050919050565b5f6020820190508181035f83015261308e81613055565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b32898b1d64c4b12f89b813da8ac6b8d8ad543b12e82196dfa812b460d882e0e64736f6c634300081a0033
Deployed Bytecode Sourcemap
4335:8048:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6217:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7050:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5399:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6494:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7219:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11034:856;;;:::i;:::-;;6403:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12193:187;;;;;;;;;;;;;:::i;:::-;;6597:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3324:148;;;;;;;;;;;;;:::i;:::-;;10767:159;;;;;;;;;;;;;:::i;:::-;;5207:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2751:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5269:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6308:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6724:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11935:250;;;;;;;;;;;;;:::i;:::-;;5333:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6899:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2965:351;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6217:83;6254:13;6287:5;;;;;;;;;;;;;;;;;6280:12;;6217:83;:::o;7050:161::-;7125:4;7142:39;7151:12;:10;:12::i;:::-;7165:7;7174:6;7142:8;:39::i;:::-;7199:4;7192:11;;7050:161;;;;:::o;5399:53::-;;;;:::o;6494:95::-;6547:7;5023:1;5079:2;:13;;;;:::i;:::-;5066:10;:26;;;;:::i;:::-;6567:14;;6494:95;:::o;7219:313::-;7317:4;7334:36;7344:6;7352:9;7363:6;7334:9;:36::i;:::-;7381:121;7390:6;7398:12;:10;:12::i;:::-;7412:89;7450:6;7412:89;;;;;;;;;;;;;;;;;:11;:19;7424:6;7412:19;;;;;;;;;;;;;;;:33;7432:12;:10;:12::i;:::-;7412:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7381:8;:121::i;:::-;7520:4;7513:11;;7219:313;;;;;:::o;11034:856::-;2888:12;:10;:12::i;:::-;2878:22;;:6;;;;;;;;;;:22;;;2870:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11108:11:::1;;;;;;;;;;;11107:12;11099:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11196:42;11159:15;;:80;;;;;;;;;;;;;;;;;;11250:34;11319:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11250:105;;11382:16;:27;;;11432:4;11453:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11382:104;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11366:13;;:120;;;;;;;;;;;;;;;;;;11532:4;11497:8;:32;11514:13;;;;;;;;;;;11497:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11547:64;11564:4;11579:15;;;;;;;;;;;11597:13;:11;:13::i;:::-;11547:8;:64::i;:::-;11622:15;;;;;;;;;;;:31;;;11662:9;11696:4;11716:13;:11;:13::i;:::-;11744:1;11760::::0;11776:7:::1;:5;:7::i;:::-;11798:15;11622:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11849:4;11835:11;;:18;;;;;;;;;;;;;;;;;;11878:4;11864:11;;:18;;;;;;;;;;;;;;;;;;11088:802;11034:856::o:0;6403:83::-;6444:5;5023:1;6462:16;;6403:83;:::o;12193:187::-;12257:10;;;;;;;;;;;12243:24;;:12;:10;:12::i;:::-;:24;;;12235:33;;;;;;12279:26;12308:21;12279:50;;12340:32;12353:18;12340:12;:32::i;:::-;12224:156;12193:187::o;6597:119::-;6663:7;6690:9;:18;6700:7;6690:18;;;;;;;;;;;;;;;;6683:25;;6597:119;;;:::o;3324:148::-;2888:12;:10;:12::i;:::-;2878:22;;:6;;;;;;;;;;:22;;;2870:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3431:1:::1;3394:40;;3415:6;::::0;::::1;;;;;;;;3394:40;;;;;;;;;;;;3462:1;3445:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3324:148::o:0;10767:159::-;2888:12;:10;:12::i;:::-;2878:22;;:6;;;;;;;;;;:22;;;2870:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5023:1:::1;5079:2;:13;;;;:::i;:::-;5066:10;:26;;;;:::i;:::-;10820:12;:22;;;;5023:1;5079:2;:13;;;;:::i;:::-;5066:10;:26;;;;:::i;:::-;10853:14;:22;;;;10891:27;5023:1;5079:2;:13;;;;:::i;:::-;5066:10;:26;;;;:::i;:::-;10891:27;;;;;;:::i;:::-;;;;;;;;10767:159::o:0;5207:55::-;;;;:::o;2751:79::-;2789:7;2816:6;;;;;;;;;;;2809:13;;2751:79;:::o;5269:57::-;;;;:::o;6308:87::-;6347:13;6380:7;;;;;;;;;;;;;;;;;6373:14;;6308:87;:::o;6724:167::-;6802:4;6819:42;6829:12;:10;:12::i;:::-;6843:9;6854:6;6819:9;:42::i;:::-;6879:4;6872:11;;6724:167;;;;:::o;11935:250::-;12007:10;;;;;;;;;;;11993:24;;:12;:10;:12::i;:::-;:24;;;11985:33;;;;;;12029:20;12050:24;12068:4;12050:9;:24::i;:::-;12029:45;;12101:1;12088:12;:14;12085:93;;;12116:50;12134:4;12141:10;;;;;;;;;;;12153:12;12116:9;:50::i;:::-;12085:93;11974:211;11935:250::o;5333:59::-;;;;:::o;6899:143::-;6980:7;7007:11;:18;7019:5;7007:18;;;;;;;;;;;;;;;:27;7026:7;7007:27;;;;;;;;;;;;;;;;7000:34;;6899:143;;;;:::o;2965:351::-;2888:12;:10;:12::i;:::-;2878:22;;:6;;;;;;;;;;:22;;;2870:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3074:1:::1;3054:22;;:8;:22;;::::0;3046:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3148:6;::::0;::::1;;;;;;;;3136:18;;:8;:18;;::::0;3128:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3197:17;3217:6:::0;::::1;;;;;;;;;;3197:26;;3243:8;3234:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3299:8;3267:41;;3288:9;3267:41;;;;;;;;;;;;3035:281;2965:351:::0;:::o;2328:98::-;2381:7;2408:10;2401:17;;2328:98;:::o;7540:335::-;7650:1;7633:19;;:5;:19;;;7625:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7731:1;7712:21;;:7;:21;;;7704:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7813:6;7783:11;:18;7795:5;7783:18;;;;;;;;;;;;;;;:27;7802:7;7783:27;;;;;;;;;;;;;;;:36;;;;7851:7;7835:32;;7844:5;7835:32;;;7860:6;7835:32;;;;;;:::i;:::-;;;;;;;;7540:335;;;:::o;7883:2279::-;7987:1;7971:18;;:4;:18;;;7963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8064:1;8050:16;;:2;:16;;;8042:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8134:1;8125:6;:10;8117:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8192:17;8234:7;:5;:7::i;:::-;8226:15;;:4;:15;;;;:32;;;;;8251:7;:5;:7::i;:::-;8245:13;;:2;:13;;;;8226:32;8222:1584;;;8289:1;8278:9;;:12;8275:139;;8322:76;8394:3;8322:67;8344:15;;8334:9;;:25;8333:55;;8374:14;;8333:55;;;8361:12;;8333:55;8322:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8310:88;;8275:139;8442:13;;;;;;;;;;;8434:21;;:4;:21;;;:55;;;;;8473:15;;;;;;;;;;;8459:30;;:2;:30;;;;8434:55;:73;;;;;8495:8;:12;8504:2;8495:12;;;;;;;;;;;;;;;;;;;;;;;;;8493:14;8434:73;8430:410;;;8547:12;;8537:6;:22;;8529:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8642:14;;8632:6;8616:13;8626:2;8616:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8608:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8718:76;8790:3;8718:67;8740:15;;8730:9;;:25;8729:55;;8770:14;;8729:55;;;8757:12;;8729:55;8718:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8706:88;;8813:9;;:11;;;;;;;;;:::i;:::-;;;;;;8430:410;8865:13;;;;;;;;;;;8859:19;;:2;:19;;;:43;;;;;8897:4;8882:20;;:4;:20;;;;8859:43;8856:174;;;8935:79;9010:3;8935:70;8957:16;;8947:9;;:26;8946:58;;8989:15;;8946:58;;;8975:13;;8946:58;8935:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8923:91;;8856:174;9046:28;9077:24;9095:4;9077:9;:24::i;:::-;9046:55;;9121:6;;;;;;;;;;;9120:7;:30;;;;;9137:13;;;;;;;;;;;9131:19;;:2;:19;;;9120:30;:45;;;;;9154:11;;;;;;;;;;;9120:45;:89;;;;;9192:17;;9169:20;:40;9120:89;:123;;;;;9225:18;;9213:9;;:30;9120:123;9116:679;;;9283:13;;9268:12;:28;9264:90;;;9333:1;9321:9;:13;;;;9264:90;9392:1;9380:9;;:13;9372:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9440:69;9457:51;9461:6;9469:38;9473:20;9495:11;;9469:3;:38::i;:::-;9457:3;:51::i;:::-;9440:16;:69::i;:::-;9528:26;9557:21;9528:50;;9622:1;9601:18;:22;9597:106;;;9648:35;9661:21;9648:12;:35::i;:::-;9597:106;9721:9;;:11;;;;;;;;;:::i;:::-;;;;;;9767:12;9751:13;:28;;;;9245:550;9116:679;8260:1546;8222:1584;9831:1;9821:9;:11;9818:161;;;9871:39;9900:9;9871;:24;9889:4;9871:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9846:9;:24;9864:4;9846:24;;;;;;;;;;;;;;;:64;;;;9951:4;9928:39;;9937:4;9928:39;;;9957:9;9928:39;;;;;;:::i;:::-;;;;;;;;9818:161;10005:27;10025:6;10005:9;:15;10015:4;10005:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9989:9;:15;9999:4;9989:15;;;;;;;;;;;;;;;:43;;;;10057:40;10075:21;10086:9;10075:6;:10;;:21;;;;:::i;:::-;10057:9;:13;10067:2;10057:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10043:9;:13;10053:2;10043:13;;;;;;;;;;;;;;;:54;;;;10128:2;10113:41;;10122:4;10113:41;;;10132:21;10143:9;10132:6;:10;;:21;;;;:::i;:::-;10113:41;;;;;;:::i;:::-;;;;;;;;7952:2210;7883:2279;;;:::o;687:190::-;773:7;806:1;801;:6;;809:12;793:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;833:9;849:1;845;:5;;;;:::i;:::-;833:17;;868:1;861:8;;;687:190;;;;;:::o;10934:92::-;10991:10;;;;;;;;;;;:19;;:27;11011:6;10991:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10934:92;:::o;885:246::-;943:7;972:1;967;:6;963:47;;997:1;990:8;;;;963:47;1020:9;1036:1;1032;:5;;;;:::i;:::-;1020:17;;1065:1;1060;1056;:5;;;;:::i;:::-;:10;1048:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1122:1;1115:8;;;885:246;;;;;:::o;1139:132::-;1197:7;1224:39;1228:1;1231;1224:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1217:46;;1139:132;;;;:::o;10170:98::-;10227:7;10254:1;10252;:3;10251:9;;10259:1;10251:9;;;10257:1;10251:9;10244:16;;10170:98;;;;:::o;10276:483::-;5863:4;5854:6;;:13;;;;;;;;;;;;;;;;;;10354:21:::1;10392:1;10378:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10354:40;;10423:4;10405;10410:1;10405:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10449:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10439:4;10444:1;10439:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10482:62;10499:4;10514:15;;;;;;;;;;;10532:11;10482:8;:62::i;:::-;10555:15;;;;;;;;;;;:66;;;10636:11;10662:1;10678:4;10705;10725:15;10555:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10343:416;5899:5:::0;5890:6;;:14;;;;;;;;;;;;;;;;;;10276:483;:::o;356:179::-;414:7;434:9;450:1;446;:5;;;;:::i;:::-;434:17;;475:1;470;:6;;462:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;526:1;519:8;;;356:179;;;;:::o;543:136::-;601:7;628:43;632:1;635;628:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;621:50;;543:136;;;;:::o;1279:189::-;1365:7;1397:1;1393;:5;1400:12;1385:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1424:9;1440:1;1436;:5;;;;:::i;:::-;1424:17;;1459:1;1452:8;;;1279:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:118::-;3535:24;3553:5;3535:24;:::i;:::-;3530:3;3523:37;3448:118;;:::o;3572:222::-;3665:4;3703:2;3692:9;3688:18;3680:26;;3716:71;3784:1;3773:9;3769:17;3760:6;3716:71;:::i;:::-;3572:222;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:86::-;4460:7;4500:4;4493:5;4489:16;4478:27;;4425:86;;;:::o;4517:112::-;4600:22;4616:5;4600:22;:::i;:::-;4595:3;4588:35;4517:112;;:::o;4635:214::-;4724:4;4762:2;4751:9;4747:18;4739:26;;4775:67;4839:1;4828:9;4824:17;4815:6;4775:67;:::i;:::-;4635:214;;;;:::o;4855:329::-;4914:6;4963:2;4951:9;4942:7;4938:23;4934:32;4931:119;;;4969:79;;:::i;:::-;4931:119;5089:1;5114:53;5159:7;5150:6;5139:9;5135:22;5114:53;:::i;:::-;5104:63;;5060:117;4855:329;;;;:::o;5190:118::-;5277:24;5295:5;5277:24;:::i;:::-;5272:3;5265:37;5190:118;;:::o;5314:222::-;5407:4;5445:2;5434:9;5430:18;5422:26;;5458:71;5526:1;5515:9;5511:17;5502:6;5458:71;:::i;:::-;5314:222;;;;:::o;5542:474::-;5610:6;5618;5667:2;5655:9;5646:7;5642:23;5638:32;5635:119;;;5673:79;;:::i;:::-;5635:119;5793:1;5818:53;5863:7;5854:6;5843:9;5839:22;5818:53;:::i;:::-;5808:63;;5764:117;5920:2;5946:53;5991:7;5982:6;5971:9;5967:22;5946:53;:::i;:::-;5936:63;;5891:118;5542:474;;;;;:::o;6022:180::-;6070:77;6067:1;6060:88;6167:4;6164:1;6157:15;6191:4;6188:1;6181:15;6208:102;6250:8;6297:5;6294:1;6290:13;6269:34;;6208:102;;;:::o;6316:848::-;6377:5;6384:4;6408:6;6399:15;;6432:5;6423:14;;6446:712;6467:1;6457:8;6454:15;6446:712;;;6562:4;6557:3;6553:14;6547:4;6544:24;6541:50;;;6571:18;;:::i;:::-;6541:50;6621:1;6611:8;6607:16;6604:451;;;7036:4;7029:5;7025:16;7016:25;;6604:451;7086:4;7080;7076:15;7068:23;;7116:32;7139:8;7116:32;:::i;:::-;7104:44;;6446:712;;;6316:848;;;;;;;:::o;7170:1073::-;7224:5;7415:8;7405:40;;7436:1;7427:10;;7438:5;;7405:40;7464:4;7454:36;;7481:1;7472:10;;7483:5;;7454:36;7550:4;7598:1;7593:27;;;;7634:1;7629:191;;;;7543:277;;7593:27;7611:1;7602:10;;7613:5;;;7629:191;7674:3;7664:8;7661:17;7658:43;;;7681:18;;:::i;:::-;7658:43;7730:8;7727:1;7723:16;7714:25;;7765:3;7758:5;7755:14;7752:40;;;7772:18;;:::i;:::-;7752:40;7805:5;;;7543:277;;7929:2;7919:8;7916:16;7910:3;7904:4;7901:13;7897:36;7879:2;7869:8;7866:16;7861:2;7855:4;7852:12;7848:35;7832:111;7829:246;;;7985:8;7979:4;7975:19;7966:28;;8020:3;8013:5;8010:14;8007:40;;;8027:18;;:::i;:::-;8007:40;8060:5;;7829:246;8100:42;8138:3;8128:8;8122:4;8119:1;8100:42;:::i;:::-;8085:57;;;;8174:4;8169:3;8165:14;8158:5;8155:25;8152:51;;;8183:18;;:::i;:::-;8152:51;8232:4;8225:5;8221:16;8212:25;;7170:1073;;;;;;:::o;8249:281::-;8307:5;8331:23;8349:4;8331:23;:::i;:::-;8323:31;;8375:25;8391:8;8375:25;:::i;:::-;8363:37;;8419:104;8456:66;8446:8;8440:4;8419:104;:::i;:::-;8410:113;;8249:281;;;;:::o;8536:410::-;8576:7;8599:20;8617:1;8599:20;:::i;:::-;8594:25;;8633:20;8651:1;8633:20;:::i;:::-;8628:25;;8688:1;8685;8681:9;8710:30;8728:11;8710:30;:::i;:::-;8699:41;;8889:1;8880:7;8876:15;8873:1;8870:22;8850:1;8843:9;8823:83;8800:139;;8919:18;;:::i;:::-;8800:139;8584:362;8536:410;;;;:::o;8952:182::-;9092:34;9088:1;9080:6;9076:14;9069:58;8952:182;:::o;9140:366::-;9282:3;9303:67;9367:2;9362:3;9303:67;:::i;:::-;9296:74;;9379:93;9468:3;9379:93;:::i;:::-;9497:2;9492:3;9488:12;9481:19;;9140:366;;;:::o;9512:419::-;9678:4;9716:2;9705:9;9701:18;9693:26;;9765:9;9759:4;9755:20;9751:1;9740:9;9736:17;9729:47;9793:131;9919:4;9793:131;:::i;:::-;9785:139;;9512:419;;;:::o;9937:174::-;10077:26;10073:1;10065:6;10061:14;10054:50;9937:174;:::o;10117:366::-;10259:3;10280:67;10344:2;10339:3;10280:67;:::i;:::-;10273:74;;10356:93;10445:3;10356:93;:::i;:::-;10474:2;10469:3;10465:12;10458:19;;10117:366;;;:::o;10489:419::-;10655:4;10693:2;10682:9;10678:18;10670:26;;10742:9;10736:4;10732:20;10728:1;10717:9;10713:17;10706:47;10770:131;10896:4;10770:131;:::i;:::-;10762:139;;10489:419;;;:::o;10914:143::-;10971:5;11002:6;10996:13;10987:22;;11018:33;11045:5;11018:33;:::i;:::-;10914:143;;;;:::o;11063:351::-;11133:6;11182:2;11170:9;11161:7;11157:23;11153:32;11150:119;;;11188:79;;:::i;:::-;11150:119;11308:1;11333:64;11389:7;11380:6;11369:9;11365:22;11333:64;:::i;:::-;11323:74;;11279:128;11063:351;;;;:::o;11420:332::-;11541:4;11579:2;11568:9;11564:18;11556:26;;11592:71;11660:1;11649:9;11645:17;11636:6;11592:71;:::i;:::-;11673:72;11741:2;11730:9;11726:18;11717:6;11673:72;:::i;:::-;11420:332;;;;;:::o;11758:85::-;11803:7;11832:5;11821:16;;11758:85;;;:::o;11849:60::-;11877:3;11898:5;11891:12;;11849:60;;;:::o;11915:158::-;11973:9;12006:61;12024:42;12033:32;12059:5;12033:32;:::i;:::-;12024:42;:::i;:::-;12006:61;:::i;:::-;11993:74;;11915:158;;;:::o;12079:147::-;12174:45;12213:5;12174:45;:::i;:::-;12169:3;12162:58;12079:147;;:::o;12232:807::-;12481:4;12519:3;12508:9;12504:19;12496:27;;12533:71;12601:1;12590:9;12586:17;12577:6;12533:71;:::i;:::-;12614:72;12682:2;12671:9;12667:18;12658:6;12614:72;:::i;:::-;12696:80;12772:2;12761:9;12757:18;12748:6;12696:80;:::i;:::-;12786;12862:2;12851:9;12847:18;12838:6;12786:80;:::i;:::-;12876:73;12944:3;12933:9;12929:19;12920:6;12876:73;:::i;:::-;12959;13027:3;13016:9;13012:19;13003:6;12959:73;:::i;:::-;12232:807;;;;;;;;;:::o;13045:143::-;13102:5;13133:6;13127:13;13118:22;;13149:33;13176:5;13149:33;:::i;:::-;13045:143;;;;:::o;13194:663::-;13282:6;13290;13298;13347:2;13335:9;13326:7;13322:23;13318:32;13315:119;;;13353:79;;:::i;:::-;13315:119;13473:1;13498:64;13554:7;13545:6;13534:9;13530:22;13498:64;:::i;:::-;13488:74;;13444:128;13611:2;13637:64;13693:7;13684:6;13673:9;13669:22;13637:64;:::i;:::-;13627:74;;13582:129;13750:2;13776:64;13832:7;13823:6;13812:9;13808:22;13776:64;:::i;:::-;13766:74;;13721:129;13194:663;;;;;:::o;13863:223::-;14003:34;13999:1;13991:6;13987:14;13980:58;14072:6;14067:2;14059:6;14055:15;14048:31;13863:223;:::o;14092:366::-;14234:3;14255:67;14319:2;14314:3;14255:67;:::i;:::-;14248:74;;14331:93;14420:3;14331:93;:::i;:::-;14449:2;14444:3;14440:12;14433:19;;14092:366;;;:::o;14464:419::-;14630:4;14668:2;14657:9;14653:18;14645:26;;14717:9;14711:4;14707:20;14703:1;14692:9;14688:17;14681:47;14745:131;14871:4;14745:131;:::i;:::-;14737:139;;14464:419;;;:::o;14889:177::-;15029:29;15025:1;15017:6;15013:14;15006:53;14889:177;:::o;15072:366::-;15214:3;15235:67;15299:2;15294:3;15235:67;:::i;:::-;15228:74;;15311:93;15400:3;15311:93;:::i;:::-;15429:2;15424:3;15420:12;15413:19;;15072:366;;;:::o;15444:419::-;15610:4;15648:2;15637:9;15633:18;15625:26;;15697:9;15691:4;15687:20;15683:1;15672:9;15668:17;15661:47;15725:131;15851:4;15725:131;:::i;:::-;15717:139;;15444:419;;;:::o;15869:223::-;16009:34;16005:1;15997:6;15993:14;15986:58;16078:6;16073:2;16065:6;16061:15;16054:31;15869:223;:::o;16098:366::-;16240:3;16261:67;16325:2;16320:3;16261:67;:::i;:::-;16254:74;;16337:93;16426:3;16337:93;:::i;:::-;16455:2;16450:3;16446:12;16439:19;;16098:366;;;:::o;16470:419::-;16636:4;16674:2;16663:9;16659:18;16651:26;;16723:9;16717:4;16713:20;16709:1;16698:9;16694:17;16687:47;16751:131;16877:4;16751:131;:::i;:::-;16743:139;;16470:419;;;:::o;16895:221::-;17035:34;17031:1;17023:6;17019:14;17012:58;17104:4;17099:2;17091:6;17087:15;17080:29;16895:221;:::o;17122:366::-;17264:3;17285:67;17349:2;17344:3;17285:67;:::i;:::-;17278:74;;17361:93;17450:3;17361:93;:::i;:::-;17479:2;17474:3;17470:12;17463:19;;17122:366;;;:::o;17494:419::-;17660:4;17698:2;17687:9;17683:18;17675:26;;17747:9;17741:4;17737:20;17733:1;17722:9;17718:17;17711:47;17775:131;17901:4;17775:131;:::i;:::-;17767:139;;17494:419;;;:::o;17919:224::-;18059:34;18055:1;18047:6;18043:14;18036:58;18128:7;18123:2;18115:6;18111:15;18104:32;17919:224;:::o;18149:366::-;18291:3;18312:67;18376:2;18371:3;18312:67;:::i;:::-;18305:74;;18388:93;18477:3;18388:93;:::i;:::-;18506:2;18501:3;18497:12;18490:19;;18149:366;;;:::o;18521:419::-;18687:4;18725:2;18714:9;18710:18;18702:26;;18774:9;18768:4;18764:20;18760:1;18749:9;18745:17;18738:47;18802:131;18928:4;18802:131;:::i;:::-;18794:139;;18521:419;;;:::o;18946:222::-;19086:34;19082:1;19074:6;19070:14;19063:58;19155:5;19150:2;19142:6;19138:15;19131:30;18946:222;:::o;19174:366::-;19316:3;19337:67;19401:2;19396:3;19337:67;:::i;:::-;19330:74;;19413:93;19502:3;19413:93;:::i;:::-;19531:2;19526:3;19522:12;19515:19;;19174:366;;;:::o;19546:419::-;19712:4;19750:2;19739:9;19735:18;19727:26;;19799:9;19793:4;19789:20;19785:1;19774:9;19770:17;19763:47;19827:131;19953:4;19827:131;:::i;:::-;19819:139;;19546:419;;;:::o;19971:228::-;20111:34;20107:1;20099:6;20095:14;20088:58;20180:11;20175:2;20167:6;20163:15;20156:36;19971:228;:::o;20205:366::-;20347:3;20368:67;20432:2;20427:3;20368:67;:::i;:::-;20361:74;;20444:93;20533:3;20444:93;:::i;:::-;20562:2;20557:3;20553:12;20546:19;;20205:366;;;:::o;20577:419::-;20743:4;20781:2;20770:9;20766:18;20758:26;;20830:9;20824:4;20820:20;20816:1;20805:9;20801:17;20794:47;20858:131;20984:4;20858:131;:::i;:::-;20850:139;;20577:419;;;:::o;21002:175::-;21142:27;21138:1;21130:6;21126:14;21119:51;21002:175;:::o;21183:366::-;21325:3;21346:67;21410:2;21405:3;21346:67;:::i;:::-;21339:74;;21422:93;21511:3;21422:93;:::i;:::-;21540:2;21535:3;21531:12;21524:19;;21183:366;;;:::o;21555:419::-;21721:4;21759:2;21748:9;21744:18;21736:26;;21808:9;21802:4;21798:20;21794:1;21783:9;21779:17;21772:47;21836:131;21962:4;21836:131;:::i;:::-;21828:139;;21555:419;;;:::o;21980:191::-;22020:3;22039:20;22057:1;22039:20;:::i;:::-;22034:25;;22073:20;22091:1;22073:20;:::i;:::-;22068:25;;22116:1;22113;22109:9;22102:16;;22137:3;22134:1;22131:10;22128:36;;;22144:18;;:::i;:::-;22128:36;21980:191;;;;:::o;22177:176::-;22317:28;22313:1;22305:6;22301:14;22294:52;22177:176;:::o;22359:366::-;22501:3;22522:67;22586:2;22581:3;22522:67;:::i;:::-;22515:74;;22598:93;22687:3;22598:93;:::i;:::-;22716:2;22711:3;22707:12;22700:19;;22359:366;;;:::o;22731:419::-;22897:4;22935:2;22924:9;22920:18;22912:26;;22984:9;22978:4;22974:20;22970:1;22959:9;22955:17;22948:47;23012:131;23138:4;23012:131;:::i;:::-;23004:139;;22731:419;;;:::o;23156:233::-;23195:3;23218:24;23236:5;23218:24;:::i;:::-;23209:33;;23264:66;23257:5;23254:77;23251:103;;23334:18;;:::i;:::-;23251:103;23381:1;23374:5;23370:13;23363:20;;23156:233;;;:::o;23395:173::-;23535:25;23531:1;23523:6;23519:14;23512:49;23395:173;:::o;23574:366::-;23716:3;23737:67;23801:2;23796:3;23737:67;:::i;:::-;23730:74;;23813:93;23902:3;23813:93;:::i;:::-;23931:2;23926:3;23922:12;23915:19;;23574:366;;;:::o;23946:419::-;24112:4;24150:2;24139:9;24135:18;24127:26;;24199:9;24193:4;24189:20;24185:1;24174:9;24170:17;24163:47;24227:131;24353:4;24227:131;:::i;:::-;24219:139;;23946:419;;;:::o;24371:194::-;24411:4;24431:20;24449:1;24431:20;:::i;:::-;24426:25;;24465:20;24483:1;24465:20;:::i;:::-;24460:25;;24509:1;24506;24502:9;24494:17;;24533:1;24527:4;24524:11;24521:37;;;24538:18;;:::i;:::-;24521:37;24371:194;;;;:::o;24571:180::-;24619:77;24616:1;24609:88;24716:4;24713:1;24706:15;24740:4;24737:1;24730:15;24757:185;24797:1;24814:20;24832:1;24814:20;:::i;:::-;24809:25;;24848:20;24866:1;24848:20;:::i;:::-;24843:25;;24887:1;24877:35;;24892:18;;:::i;:::-;24877:35;24934:1;24931;24927:9;24922:14;;24757:185;;;;:::o;24948:220::-;25088:34;25084:1;25076:6;25072:14;25065:58;25157:3;25152:2;25144:6;25140:15;25133:28;24948:220;:::o;25174:366::-;25316:3;25337:67;25401:2;25396:3;25337:67;:::i;:::-;25330:74;;25413:93;25502:3;25413:93;:::i;:::-;25531:2;25526:3;25522:12;25515:19;;25174:366;;;:::o;25546:419::-;25712:4;25750:2;25739:9;25735:18;25727:26;;25799:9;25793:4;25789:20;25785:1;25774:9;25770:17;25763:47;25827:131;25953:4;25827:131;:::i;:::-;25819:139;;25546:419;;;:::o;25971:180::-;26019:77;26016:1;26009:88;26116:4;26113:1;26106:15;26140:4;26137:1;26130:15;26157:180;26205:77;26202:1;26195:88;26302:4;26299:1;26292:15;26326:4;26323:1;26316:15;26343:114;26410:6;26444:5;26438:12;26428:22;;26343:114;;;:::o;26463:184::-;26562:11;26596:6;26591:3;26584:19;26636:4;26631:3;26627:14;26612:29;;26463:184;;;;:::o;26653:132::-;26720:4;26743:3;26735:11;;26773:4;26768:3;26764:14;26756:22;;26653:132;;;:::o;26791:108::-;26868:24;26886:5;26868:24;:::i;:::-;26863:3;26856:37;26791:108;;:::o;26905:179::-;26974:10;26995:46;27037:3;27029:6;26995:46;:::i;:::-;27073:4;27068:3;27064:14;27050:28;;26905:179;;;;:::o;27090:113::-;27160:4;27192;27187:3;27183:14;27175:22;;27090:113;;;:::o;27239:732::-;27358:3;27387:54;27435:5;27387:54;:::i;:::-;27457:86;27536:6;27531:3;27457:86;:::i;:::-;27450:93;;27567:56;27617:5;27567:56;:::i;:::-;27646:7;27677:1;27662:284;27687:6;27684:1;27681:13;27662:284;;;27763:6;27757:13;27790:63;27849:3;27834:13;27790:63;:::i;:::-;27783:70;;27876:60;27929:6;27876:60;:::i;:::-;27866:70;;27722:224;27709:1;27706;27702:9;27697:14;;27662:284;;;27666:14;27962:3;27955:10;;27363:608;;;27239:732;;;;:::o;27977:831::-;28240:4;28278:3;28267:9;28263:19;28255:27;;28292:71;28360:1;28349:9;28345:17;28336:6;28292:71;:::i;:::-;28373:80;28449:2;28438:9;28434:18;28425:6;28373:80;:::i;:::-;28500:9;28494:4;28490:20;28485:2;28474:9;28470:18;28463:48;28528:108;28631:4;28622:6;28528:108;:::i;:::-;28520:116;;28646:72;28714:2;28703:9;28699:18;28690:6;28646:72;:::i;:::-;28728:73;28796:3;28785:9;28781:19;28772:6;28728:73;:::i;:::-;27977:831;;;;;;;;:::o;28814:177::-;28954:29;28950:1;28942:6;28938:14;28931:53;28814:177;:::o;28997:366::-;29139:3;29160:67;29224:2;29219:3;29160:67;:::i;:::-;29153:74;;29236:93;29325:3;29236:93;:::i;:::-;29354:2;29349:3;29345:12;29338:19;;28997:366;;;:::o;29369:419::-;29535:4;29573:2;29562:9;29558:18;29550:26;;29622:9;29616:4;29612:20;29608:1;29597:9;29593:17;29586:47;29650:131;29776:4;29650:131;:::i;:::-;29642:139;;29369:419;;;:::o
Swarm Source
ipfs://b32898b1d64c4b12f89b813da8ac6b8d8ad543b12e82196dfa812b460d882e0e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.