More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 167 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21760272 | 4 hrs ago | IN | 0 ETH | 0.000628 | ||||
Transfer | 21760165 | 4 hrs ago | IN | 0 ETH | 0.00057748 | ||||
Transfer | 21760124 | 5 hrs ago | IN | 0 ETH | 0.00050056 | ||||
Transfer | 21759968 | 5 hrs ago | IN | 0 ETH | 0.00021832 | ||||
Approve | 21759863 | 5 hrs ago | IN | 0 ETH | 0.00019722 | ||||
Transfer | 21758623 | 10 hrs ago | IN | 0 ETH | 0.0002105 | ||||
Transfer | 21758323 | 11 hrs ago | IN | 0 ETH | 0.00011603 | ||||
Transfer | 21755319 | 21 hrs ago | IN | 0 ETH | 0.00012579 | ||||
Approve | 21754489 | 24 hrs ago | IN | 0 ETH | 0.00019703 | ||||
Approve | 21753621 | 26 hrs ago | IN | 0 ETH | 0.000249 | ||||
Transfer | 21753523 | 27 hrs ago | IN | 0 ETH | 0.00014512 | ||||
Approve | 21753511 | 27 hrs ago | IN | 0 ETH | 0.00024196 | ||||
Approve | 21753435 | 27 hrs ago | IN | 0 ETH | 0.0001878 | ||||
Transfer | 21753433 | 27 hrs ago | IN | 0 ETH | 0.00020013 | ||||
Transfer | 21753416 | 27 hrs ago | IN | 0 ETH | 0.00014795 | ||||
Approve | 21753370 | 27 hrs ago | IN | 0 ETH | 0.00020311 | ||||
Transfer | 21753307 | 27 hrs ago | IN | 0 ETH | 0.00015442 | ||||
Transfer | 21753234 | 28 hrs ago | IN | 0 ETH | 0.00019792 | ||||
Transfer | 21752893 | 29 hrs ago | IN | 0 ETH | 0.00022411 | ||||
Approve | 21752627 | 30 hrs ago | IN | 0 ETH | 0.00037908 | ||||
Approve | 21752443 | 30 hrs ago | IN | 0 ETH | 0.00015496 | ||||
Approve | 21751911 | 32 hrs ago | IN | 0 ETH | 0.00018591 | ||||
Approve | 21750412 | 37 hrs ago | IN | 0 ETH | 0.00009937 | ||||
Approve | 21748913 | 42 hrs ago | IN | 0 ETH | 0.00015659 | ||||
Approve | 21746944 | 2 days ago | IN | 0 ETH | 0.00027 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21760158 | 4 hrs ago | 0.02900424 ETH | ||||
21760158 | 4 hrs ago | 0.02900424 ETH | ||||
21760094 | 5 hrs ago | 0.03888121 ETH | ||||
21760094 | 5 hrs ago | 0.03888121 ETH | ||||
21759263 | 7 hrs ago | 0.06962314 ETH | ||||
21759263 | 7 hrs ago | 0.06962314 ETH | ||||
21758592 | 10 hrs ago | 0.040401 ETH | ||||
21758592 | 10 hrs ago | 0.040401 ETH | ||||
21756073 | 18 hrs ago | 0.06435359 ETH | ||||
21756073 | 18 hrs ago | 0.06435359 ETH | ||||
21755173 | 21 hrs ago | 0.06919017 ETH | ||||
21755173 | 21 hrs ago | 0.06919017 ETH | ||||
21754491 | 24 hrs ago | 0.00523049 ETH | ||||
21754491 | 24 hrs ago | 0.00523049 ETH | ||||
21753497 | 27 hrs ago | 0.02787976 ETH | ||||
21753497 | 27 hrs ago | 0.02787976 ETH | ||||
21753437 | 27 hrs ago | 0.0241099 ETH | ||||
21753437 | 27 hrs ago | 0.0241099 ETH | ||||
21753365 | 27 hrs ago | 0.03324404 ETH | ||||
21753365 | 27 hrs ago | 0.03324404 ETH | ||||
21752705 | 29 hrs ago | 0.02871464 ETH | ||||
21752705 | 29 hrs ago | 0.02871464 ETH | ||||
21751939 | 32 hrs ago | 0.02742539 ETH | ||||
21751939 | 32 hrs ago | 0.02742539 ETH | ||||
21749795 | 39 hrs ago | 0.04475535 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SolvAI
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-30 */ /** Welcome to SolvAI - Solving Your Crypto Investments with AI Agents. Website : https://solvai-agent.com Twitter/x : https://x.com/SolvAI_Agent Telegram : https://t.me/SolvAI_Official Documentation : https://solvai.gitbook.io/solvai-docs Medium : https://medium.com/@solvaiofficial Github : https://github.com/SolvAI-Laps Mini App : https://t.me/solvai_bot **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract SolvAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _feeWallet; address private uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; uint256 private constant _initialBuyTax = 20; uint256 private constant _initialSellTax = 30; uint256 private constant _reduceBuyTaxAt = 30; uint256 private constant _reduceSellTaxAt = 30; uint256 private constant _preventSwapBefore = 25; uint256 private _finalBuyTax = 10; uint256 private _finalSellTax = 20; uint256 private _buyCount = 0; uint256 private _countTax = 0; string private constant _name = unicode"SolvAI"; string private constant _symbol = unicode"SOLVAI"; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10**_decimals; uint256 public constant _countTrigger = 200000 * 10**_decimals; uint256 public constant _taxSwapThreshold = 2000000 * 10**_decimals; uint256 public _maxTaxSwap = 20000000 * 10**_decimals; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event FinalTax(uint256 _valueBuy, uint256 _valueSell, bool _shelid); event TradingActive(bool _tradingOpen, bool _swapEnabled); event maxAmount(uint256 _value); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor(address feeWallet) { _feeWallet = payable(feeWallet); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_feeWallet] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _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) && spender != address(0), "ERC20: approve 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) && to != address(0), "ERC20: transfer the zero address" ); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { if (!tradingOpen) { require( _isExcludedFromFee[to] || _isExcludedFromFee[from], "trading not yet open" ); } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } else if (from == uniswapV2Pair && to != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); } _countTax += taxAmount; uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore && _countTax > _countTrigger ) { uint256 getMin = (contractTokenBalance > _maxTaxSwap) ? _maxTaxSwap : contractTokenBalance; swapTokensForEth((amount > getMin) ? getMin : amount); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } _countTax = 0; } } 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 sendETHToFee(uint256 amount) private { _feeWallet.transfer(amount); } 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 initializePair() external onlyOwner { require(!tradingOpen, "init already called"); uint256 tokenAmount = balanceOf(address(this)).sub( _tTotal.mul(_initialBuyTax).div(100) ); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), tokenAmount, 0, 0, _msgSender(), block.timestamp ); IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function openTrading() external onlyOwner { require(!tradingOpen, "trading already open"); swapEnabled = true; tradingOpen = true; emit TradingActive(tradingOpen, swapEnabled); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit maxAmount(_tTotal); } function setMaxTx(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWallet(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function setFees(uint256 _valueBuy, uint256 _valueSell) external onlyOwner { require( _valueBuy <= 30 && _valueSell <= 30 && tradingOpen, "Exceeds value" ); _finalBuyTax = _valueBuy; _finalSellTax = _valueSell; uint256 clogSheild = _finalSellTax > 5 ? _maxTaxSwap = (5 *_tTotal).div(1000) : (1 *_tTotal).div(100); emit FinalTax(_valueBuy, _valueSell, (clogSheild == (5 *_tTotal).div(1000))); } receive() external payable {} function manualSwap() external onlyOwner { require(_msgSender() == _feeWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance > 0){ swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if(ethBalance > 0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"feeWallet","type":"address"}],"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":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_shelid","type":"bool"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_countTrigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"initializePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600a60075560146008555f6009555f600a556012600a610024919061058d565b6301312d0061003391906105d7565b600b556012600a610044919061058d565b6301312d0061005391906105d7565b600c556012600a610064919061058d565b6301312d0061007391906105d7565b600d555f600e60016101000a81548160ff0219169083151502179055505f600e60026101000a81548160ff0219169083151502179055503480156100b5575f5ffd5b50604051613c20380380613c2083398181016040528101906100d79190610676565b5f6100e66103ee60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6101d0919061058d565b633b9aca006101df91906105d7565b60015f6101f06103ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102406103f560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103686103ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6103c4919061058d565b633b9aca006103d391906105d7565b6040516103e091906106b0565b60405180910390a3506106c9565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561049e5780860481111561047a5761047961041c565b5b60018516156104895780820291505b808102905061049785610449565b945061045e565b94509492505050565b5f826104b65760019050610571565b816104c3575f9050610571565b81600181146104d957600281146104e357610512565b6001915050610571565b60ff8411156104f5576104f461041c565b5b8360020a91508482111561050c5761050b61041c565b5b50610571565b5060208310610133831016604e8410600b84101617156105475782820a9050838111156105425761054161041c565b5b610571565b6105548484846001610455565b9250905081840481111561056b5761056a61041c565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61059782610578565b91506105a283610581565b92506105cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104a7565b905092915050565b5f6105e182610578565b91506105ec83610578565b92508282026105fa81610578565b915082820484148315176106115761061061041c565b5b5092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106458261061c565b9050919050565b6106558161063b565b811461065f575f5ffd5b50565b5f815190506106708161064c565b92915050565b5f6020828403121561068b5761068a610618565b5b5f61069884828501610662565b91505092915050565b6106aa81610578565b82525050565b5f6020820190506106c35f8301846106a1565b92915050565b61354a806106d65f395ff3fe608060405260043610610143575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b41146103fa578063a9059cbb14610424578063bc33718214610460578063bf474bed14610488578063c9567bf9146104b2578063dd62ed3e146104c85761014a565b806370a0823114610314578063715018a614610350578063751039fc146103665780637d1db4a51461037c5780638da5cb5b146103a65780638f9a55c0146103d05761014a565b806318160ddd1161010757806318160ddd1461023057806323b872dd1461025a578063313ce567146102965780634fab9e4c146102c057806351bc3c85146102d65780635d0044ca146102ec5761014a565b806306fdde031461014e578063095ea7b3146101785780630b7640b8146101b45780630b78f9c0146101de5780630faee56f146102065761014a565b3661014a57005b5f5ffd5b348015610159575f5ffd5b50610162610504565b60405161016f919061265b565b60405180910390f35b348015610183575f5ffd5b5061019e6004803603810190610199919061270c565b610541565b6040516101ab9190612764565b60405180910390f35b3480156101bf575f5ffd5b506101c861055e565b6040516101d5919061278c565b60405180910390f35b3480156101e9575f5ffd5b5061020460048036038101906101ff91906127a5565b61057d565b005b348015610211575f5ffd5b5061021a610797565b604051610227919061278c565b60405180910390f35b34801561023b575f5ffd5b5061024461079d565b604051610251919061278c565b60405180910390f35b348015610265575f5ffd5b50610280600480360381019061027b91906127e3565b6107c0565b60405161028d9190612764565b60405180910390f35b3480156102a1575f5ffd5b506102aa610894565b6040516102b7919061284e565b60405180910390f35b3480156102cb575f5ffd5b506102d461089c565b005b3480156102e1575f5ffd5b506102ea610de1565b005b3480156102f7575f5ffd5b50610312600480360381019061030d9190612867565b610f0d565b005b34801561031f575f5ffd5b5061033a60048036038101906103359190612892565b610fac565b604051610347919061278c565b60405180910390f35b34801561035b575f5ffd5b50610364610ff2565b005b348015610371575f5ffd5b5061037a611142565b005b348015610387575f5ffd5b50610390611272565b60405161039d919061278c565b60405180910390f35b3480156103b1575f5ffd5b506103ba611278565b6040516103c791906128cc565b60405180910390f35b3480156103db575f5ffd5b506103e461129f565b6040516103f1919061278c565b60405180910390f35b348015610405575f5ffd5b5061040e6112a5565b60405161041b919061265b565b60405180910390f35b34801561042f575f5ffd5b5061044a6004803603810190610445919061270c565b6112e2565b6040516104579190612764565b60405180910390f35b34801561046b575f5ffd5b5061048660048036038101906104819190612867565b6112ff565b005b348015610493575f5ffd5b5061049c61139e565b6040516104a9919061278c565b60405180910390f35b3480156104bd575f5ffd5b506104c66113bd565b005b3480156104d3575f5ffd5b506104ee60048036038101906104e991906128e5565b61152e565b6040516104fb919061278c565b60405180910390f35b60606040518060400160405280600681526020017f536f6c7641490000000000000000000000000000000000000000000000000000815250905090565b5f61055461054d6115b0565b84846115b7565b6001905092915050565b6012600a61056c9190612a7f565b62030d4061057a9190612ac9565b81565b6105856115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990612b54565b60405180910390fd5b601e82111580156106245750601e8111155b801561063b5750600e5f9054906101000a900460ff165b61067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190612bbc565b60405180910390fd5b81600781905550806008819055505f6005600854116106d4576106cf60646012600a6106a69190612a7f565b633b9aca006106b59190612ac9565b60016106c19190612ac9565b61174590919063ffffffff16565b610717565b6107116103e86012600a6106e89190612a7f565b633b9aca006106f79190612ac9565b60056107039190612ac9565b61174590919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb4583836107796103e86012600a6107509190612a7f565b633b9aca0061075f9190612ac9565b600561076b9190612ac9565b61174590919063ffffffff16565b841460405161078a93929190612bda565b60405180910390a1505050565b600b5481565b5f6012600a6107ac9190612a7f565b633b9aca006107bb9190612ac9565b905090565b5f6107cc84848461178e565b610889846107d86115b0565b610884856040518060600160405280602881526020016134ed6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61083b6115b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121389092919063ffffffff16565b6115b7565b600190509392505050565b5f6012905090565b6108a46115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890612b54565b60405180910390fd5b600e5f9054906101000a900460ff1615610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097790612c59565b60405180910390fd5b5f6109de6109c760646109b960146012600a61099c9190612a7f565b633b9aca006109ab9190612ac9565b61219a90919063ffffffff16565b61174590919063ffffffff16565b6109d030610fac565b61221190919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a7c3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a689190612a7f565b633b9aca00610a779190612ac9565b6115b7565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0a9190612c8b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b90573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb49190612c8b565b6040518363ffffffff1660e01b8152600401610bd1929190612cb6565b6020604051808303815f875af1158015610bed573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c119190612c8b565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f5f610c9a6115b0565b426040518863ffffffff1660e01b8152600401610cbc96959493929190612d1f565b60606040518083038185885af1158015610cd8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cfd9190612d92565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d9d929190612de2565b6020604051808303815f875af1158015610db9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddd9190612e33565b5050565b610de96115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90612b54565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb66115b0565b73ffffffffffffffffffffffffffffffffffffffff1614610ed5575f5ffd5b5f610edf30610fac565b90505f811115610ef357610ef28161225a565b5b5f4790505f811115610f0957610f08816124c5565b5b5050565b610f156115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612b54565b60405180910390fd5b80600d8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ffa6115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90612b54565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61114a6115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ce90612b54565b60405180910390fd5b6012600a6111e59190612a7f565b633b9aca006111f49190612ac9565b600c819055506012600a6112089190612a7f565b633b9aca006112179190612ac9565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61124c9190612a7f565b633b9aca0061125b9190612ac9565b604051611268919061278c565b60405180910390a1565b600c5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600681526020017f534f4c5641490000000000000000000000000000000000000000000000000000815250905090565b5f6112f56112ee6115b0565b848461178e565b6001905092915050565b6113076115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90612b54565b60405180910390fd5b80600c8190555050565b6012600a6113ac9190612a7f565b621e84806113ba9190612ac9565b81565b6113c56115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612b54565b60405180910390fd5b600e5f9054906101000a900460ff16156114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612ea8565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051611524929190612ec6565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561161f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612f37565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611738919061278c565b60405180910390a3505050565b5f61178683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061252d565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117f657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612f9f565b60405180910390fd5b5f8111611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e9061302d565b60405180910390fd5b5f5f9050611883611278565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118f157506118c1611278565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8857600e5f9054906101000a900460ff166119e45760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119a4575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613095565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a8d575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ae0575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b9a57600c54821115611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b21906130fd565b60405180910390fd5b600d5482611b3785610fac565b611b41919061311b565b1115611b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7990613198565b60405180910390fd5b60095f815480929190611b94906131b6565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c2257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c6857611c616064611c53601e60095411611c4057601e611c44565b6008545b8561219a90919063ffffffff16565b61174590919063ffffffff16565b9050611d33565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cf057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3257611d2f6064611d21601e60095411611d0e576014611d12565b6007545b8561219a90919063ffffffff16565b61174590919063ffffffff16565b90505b5b80600a5f828254611d44919061311b565b925050819055505f611d5530610fac565b9050600e60019054906101000a900460ff16158015611dc0575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dd85750600e60029054906101000a900460ff165b8015611dfe57506012600a611ded9190612a7f565b621e8480611dfb9190612ac9565b81115b8015611e0c57506019600954115b8015611e3457506012600a611e219190612a7f565b62030d40611e2f9190612ac9565b600a54115b15611e86575f600b548211611e495781611e4d565b600b545b9050611e66818511611e5f5784611e61565b815b61225a565b5f4790505f811115611e7c57611e7b476124c5565b5b5f600a8190555050505b505b5f811115611f8757611ee08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461258e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7e919061278c565b60405180910390a35b611fd78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061207a61202e828461221190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461258e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61211d848661221190919063ffffffff16565b60405161212a919061278c565b60405180910390a350505050565b5f83831115829061217f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612176919061265b565b60405180910390fd5b505f838561218d91906131fd565b9050809150509392505050565b5f5f83036121aa575f905061220b565b5f82846121b79190612ac9565b90508284826121c6919061325d565b14612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd906132fd565b60405180910390fd5b809150505b92915050565b5f61225283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612138565b905092915050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156122915761229061331b565b5b6040519080825280602002602001820160405280156122bf5781602001602082028036833780820191505090505b50905030815f815181106122d6576122d5613348565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239e9190612c8b565b816001815181106123b2576123b1613348565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124183060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115b7565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161247a95949392919061342c565b5f604051808303815f87803b158015612491575f5ffd5b505af11580156124a3573d5f5f3e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612529573d5f5f3e3d5ffd5b5050565b5f5f83118290612573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256a919061265b565b60405180910390fd5b505f8385612581919061325d565b9050809150509392505050565b5f5f828461259c919061311b565b9050838110156125e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d8906134ce565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61262d826125eb565b61263781856125f5565b9350612647818560208601612605565b61265081612613565b840191505092915050565b5f6020820190508181035f8301526126738184612623565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6126a88261267f565b9050919050565b6126b88161269e565b81146126c2575f5ffd5b50565b5f813590506126d3816126af565b92915050565b5f819050919050565b6126eb816126d9565b81146126f5575f5ffd5b50565b5f81359050612706816126e2565b92915050565b5f5f604083850312156127225761272161267b565b5b5f61272f858286016126c5565b9250506020612740858286016126f8565b9150509250929050565b5f8115159050919050565b61275e8161274a565b82525050565b5f6020820190506127775f830184612755565b92915050565b612786816126d9565b82525050565b5f60208201905061279f5f83018461277d565b92915050565b5f5f604083850312156127bb576127ba61267b565b5b5f6127c8858286016126f8565b92505060206127d9858286016126f8565b9150509250929050565b5f5f5f606084860312156127fa576127f961267b565b5b5f612807868287016126c5565b9350506020612818868287016126c5565b9250506040612829868287016126f8565b9150509250925092565b5f60ff82169050919050565b61284881612833565b82525050565b5f6020820190506128615f83018461283f565b92915050565b5f6020828403121561287c5761287b61267b565b5b5f612889848285016126f8565b91505092915050565b5f602082840312156128a7576128a661267b565b5b5f6128b4848285016126c5565b91505092915050565b6128c68161269e565b82525050565b5f6020820190506128df5f8301846128bd565b92915050565b5f5f604083850312156128fb576128fa61267b565b5b5f612908858286016126c5565b9250506020612919858286016126c5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156129a55780860481111561298157612980612923565b5b60018516156129905780820291505b808102905061299e85612950565b9450612965565b94509492505050565b5f826129bd5760019050612a78565b816129ca575f9050612a78565b81600181146129e057600281146129ea57612a19565b6001915050612a78565b60ff8411156129fc576129fb612923565b5b8360020a915084821115612a1357612a12612923565b5b50612a78565b5060208310610133831016604e8410600b8410161715612a4e5782820a905083811115612a4957612a48612923565b5b612a78565b612a5b848484600161295c565b92509050818404811115612a7257612a71612923565b5b81810290505b9392505050565b5f612a89826126d9565b9150612a9483612833565b9250612ac17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129ae565b905092915050565b5f612ad3826126d9565b9150612ade836126d9565b9250828202612aec816126d9565b91508282048414831517612b0357612b02612923565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b3e6020836125f5565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612ba6600d836125f5565b9150612bb182612b72565b602082019050919050565b5f6020820190508181035f830152612bd381612b9a565b9050919050565b5f606082019050612bed5f83018661277d565b612bfa602083018561277d565b612c076040830184612755565b949350505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f612c436013836125f5565b9150612c4e82612c0f565b602082019050919050565b5f6020820190508181035f830152612c7081612c37565b9050919050565b5f81519050612c85816126af565b92915050565b5f60208284031215612ca057612c9f61267b565b5b5f612cad84828501612c77565b91505092915050565b5f604082019050612cc95f8301856128bd565b612cd660208301846128bd565b9392505050565b5f819050919050565b5f819050919050565b5f612d09612d04612cff84612cdd565b612ce6565b6126d9565b9050919050565b612d1981612cef565b82525050565b5f60c082019050612d325f8301896128bd565b612d3f602083018861277d565b612d4c6040830187612d10565b612d596060830186612d10565b612d6660808301856128bd565b612d7360a083018461277d565b979650505050505050565b5f81519050612d8c816126e2565b92915050565b5f5f5f60608486031215612da957612da861267b565b5b5f612db686828701612d7e565b9350506020612dc786828701612d7e565b9250506040612dd886828701612d7e565b9150509250925092565b5f604082019050612df55f8301856128bd565b612e02602083018461277d565b9392505050565b612e128161274a565b8114612e1c575f5ffd5b50565b5f81519050612e2d81612e09565b92915050565b5f60208284031215612e4857612e4761267b565b5b5f612e5584828501612e1f565b91505092915050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612e926014836125f5565b9150612e9d82612e5e565b602082019050919050565b5f6020820190508181035f830152612ebf81612e86565b9050919050565b5f604082019050612ed95f830185612755565b612ee66020830184612755565b9392505050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612f21601f836125f5565b9150612f2c82612eed565b602082019050919050565b5f6020820190508181035f830152612f4e81612f15565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612f896020836125f5565b9150612f9482612f55565b602082019050919050565b5f6020820190508181035f830152612fb681612f7d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130176029836125f5565b915061302282612fbd565b604082019050919050565b5f6020820190508181035f8301526130448161300b565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f61307f6014836125f5565b915061308a8261304b565b602082019050919050565b5f6020820190508181035f8301526130ac81613073565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130e76019836125f5565b91506130f2826130b3565b602082019050919050565b5f6020820190508181035f830152613114816130db565b9050919050565b5f613125826126d9565b9150613130836126d9565b925082820190508082111561314857613147612923565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613182601a836125f5565b915061318d8261314e565b602082019050919050565b5f6020820190508181035f8301526131af81613176565b9050919050565b5f6131c0826126d9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131f2576131f1612923565b5b600182019050919050565b5f613207826126d9565b9150613212836126d9565b925082820390508181111561322a57613229612923565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613267826126d9565b9150613272836126d9565b92508261328257613281613230565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132e76021836125f5565b91506132f28261328d565b604082019050919050565b5f6020820190508181035f830152613314816132db565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6133a78161269e565b82525050565b5f6133b8838361339e565b60208301905092915050565b5f602082019050919050565b5f6133da82613375565b6133e4818561337f565b93506133ef8361338f565b805f5b8381101561341f57815161340688826133ad565b9750613411836133c4565b9250506001810190506133f2565b5085935050505092915050565b5f60a08201905061343f5f83018861277d565b61344c6020830187612d10565b818103604083015261345e81866133d0565b905061346d60608301856128bd565b61347a608083018461277d565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134b8601b836125f5565b91506134c382613484565b602082019050919050565b5f6020820190508181035f8301526134e5816134ac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205295ec7d1ac79b749f0ded7502c7b0ac91265506eee3933d5173a22ad1fdf94564736f6c634300081c003300000000000000000000000092cbb38dccd0898b0f1a1f4007fdb724b65ce510
Deployed Bytecode
0x608060405260043610610143575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b41146103fa578063a9059cbb14610424578063bc33718214610460578063bf474bed14610488578063c9567bf9146104b2578063dd62ed3e146104c85761014a565b806370a0823114610314578063715018a614610350578063751039fc146103665780637d1db4a51461037c5780638da5cb5b146103a65780638f9a55c0146103d05761014a565b806318160ddd1161010757806318160ddd1461023057806323b872dd1461025a578063313ce567146102965780634fab9e4c146102c057806351bc3c85146102d65780635d0044ca146102ec5761014a565b806306fdde031461014e578063095ea7b3146101785780630b7640b8146101b45780630b78f9c0146101de5780630faee56f146102065761014a565b3661014a57005b5f5ffd5b348015610159575f5ffd5b50610162610504565b60405161016f919061265b565b60405180910390f35b348015610183575f5ffd5b5061019e6004803603810190610199919061270c565b610541565b6040516101ab9190612764565b60405180910390f35b3480156101bf575f5ffd5b506101c861055e565b6040516101d5919061278c565b60405180910390f35b3480156101e9575f5ffd5b5061020460048036038101906101ff91906127a5565b61057d565b005b348015610211575f5ffd5b5061021a610797565b604051610227919061278c565b60405180910390f35b34801561023b575f5ffd5b5061024461079d565b604051610251919061278c565b60405180910390f35b348015610265575f5ffd5b50610280600480360381019061027b91906127e3565b6107c0565b60405161028d9190612764565b60405180910390f35b3480156102a1575f5ffd5b506102aa610894565b6040516102b7919061284e565b60405180910390f35b3480156102cb575f5ffd5b506102d461089c565b005b3480156102e1575f5ffd5b506102ea610de1565b005b3480156102f7575f5ffd5b50610312600480360381019061030d9190612867565b610f0d565b005b34801561031f575f5ffd5b5061033a60048036038101906103359190612892565b610fac565b604051610347919061278c565b60405180910390f35b34801561035b575f5ffd5b50610364610ff2565b005b348015610371575f5ffd5b5061037a611142565b005b348015610387575f5ffd5b50610390611272565b60405161039d919061278c565b60405180910390f35b3480156103b1575f5ffd5b506103ba611278565b6040516103c791906128cc565b60405180910390f35b3480156103db575f5ffd5b506103e461129f565b6040516103f1919061278c565b60405180910390f35b348015610405575f5ffd5b5061040e6112a5565b60405161041b919061265b565b60405180910390f35b34801561042f575f5ffd5b5061044a6004803603810190610445919061270c565b6112e2565b6040516104579190612764565b60405180910390f35b34801561046b575f5ffd5b5061048660048036038101906104819190612867565b6112ff565b005b348015610493575f5ffd5b5061049c61139e565b6040516104a9919061278c565b60405180910390f35b3480156104bd575f5ffd5b506104c66113bd565b005b3480156104d3575f5ffd5b506104ee60048036038101906104e991906128e5565b61152e565b6040516104fb919061278c565b60405180910390f35b60606040518060400160405280600681526020017f536f6c7641490000000000000000000000000000000000000000000000000000815250905090565b5f61055461054d6115b0565b84846115b7565b6001905092915050565b6012600a61056c9190612a7f565b62030d4061057a9190612ac9565b81565b6105856115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990612b54565b60405180910390fd5b601e82111580156106245750601e8111155b801561063b5750600e5f9054906101000a900460ff165b61067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190612bbc565b60405180910390fd5b81600781905550806008819055505f6005600854116106d4576106cf60646012600a6106a69190612a7f565b633b9aca006106b59190612ac9565b60016106c19190612ac9565b61174590919063ffffffff16565b610717565b6107116103e86012600a6106e89190612a7f565b633b9aca006106f79190612ac9565b60056107039190612ac9565b61174590919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb4583836107796103e86012600a6107509190612a7f565b633b9aca0061075f9190612ac9565b600561076b9190612ac9565b61174590919063ffffffff16565b841460405161078a93929190612bda565b60405180910390a1505050565b600b5481565b5f6012600a6107ac9190612a7f565b633b9aca006107bb9190612ac9565b905090565b5f6107cc84848461178e565b610889846107d86115b0565b610884856040518060600160405280602881526020016134ed6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61083b6115b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121389092919063ffffffff16565b6115b7565b600190509392505050565b5f6012905090565b6108a46115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890612b54565b60405180910390fd5b600e5f9054906101000a900460ff1615610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097790612c59565b60405180910390fd5b5f6109de6109c760646109b960146012600a61099c9190612a7f565b633b9aca006109ab9190612ac9565b61219a90919063ffffffff16565b61174590919063ffffffff16565b6109d030610fac565b61221190919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a7c3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a689190612a7f565b633b9aca00610a779190612ac9565b6115b7565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0a9190612c8b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b90573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb49190612c8b565b6040518363ffffffff1660e01b8152600401610bd1929190612cb6565b6020604051808303815f875af1158015610bed573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c119190612c8b565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f5f610c9a6115b0565b426040518863ffffffff1660e01b8152600401610cbc96959493929190612d1f565b60606040518083038185885af1158015610cd8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cfd9190612d92565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d9d929190612de2565b6020604051808303815f875af1158015610db9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddd9190612e33565b5050565b610de96115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90612b54565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb66115b0565b73ffffffffffffffffffffffffffffffffffffffff1614610ed5575f5ffd5b5f610edf30610fac565b90505f811115610ef357610ef28161225a565b5b5f4790505f811115610f0957610f08816124c5565b5b5050565b610f156115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612b54565b60405180910390fd5b80600d8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ffa6115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90612b54565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61114a6115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ce90612b54565b60405180910390fd5b6012600a6111e59190612a7f565b633b9aca006111f49190612ac9565b600c819055506012600a6112089190612a7f565b633b9aca006112179190612ac9565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61124c9190612a7f565b633b9aca0061125b9190612ac9565b604051611268919061278c565b60405180910390a1565b600c5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600681526020017f534f4c5641490000000000000000000000000000000000000000000000000000815250905090565b5f6112f56112ee6115b0565b848461178e565b6001905092915050565b6113076115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90612b54565b60405180910390fd5b80600c8190555050565b6012600a6113ac9190612a7f565b621e84806113ba9190612ac9565b81565b6113c56115b0565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612b54565b60405180910390fd5b600e5f9054906101000a900460ff16156114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612ea8565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051611524929190612ec6565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561161f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612f37565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611738919061278c565b60405180910390a3505050565b5f61178683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061252d565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117f657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612f9f565b60405180910390fd5b5f8111611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e9061302d565b60405180910390fd5b5f5f9050611883611278565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118f157506118c1611278565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8857600e5f9054906101000a900460ff166119e45760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119a4575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613095565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a8d575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ae0575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b9a57600c54821115611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b21906130fd565b60405180910390fd5b600d5482611b3785610fac565b611b41919061311b565b1115611b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7990613198565b60405180910390fd5b60095f815480929190611b94906131b6565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c2257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c6857611c616064611c53601e60095411611c4057601e611c44565b6008545b8561219a90919063ffffffff16565b61174590919063ffffffff16565b9050611d33565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cf057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3257611d2f6064611d21601e60095411611d0e576014611d12565b6007545b8561219a90919063ffffffff16565b61174590919063ffffffff16565b90505b5b80600a5f828254611d44919061311b565b925050819055505f611d5530610fac565b9050600e60019054906101000a900460ff16158015611dc0575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dd85750600e60029054906101000a900460ff165b8015611dfe57506012600a611ded9190612a7f565b621e8480611dfb9190612ac9565b81115b8015611e0c57506019600954115b8015611e3457506012600a611e219190612a7f565b62030d40611e2f9190612ac9565b600a54115b15611e86575f600b548211611e495781611e4d565b600b545b9050611e66818511611e5f5784611e61565b815b61225a565b5f4790505f811115611e7c57611e7b476124c5565b5b5f600a8190555050505b505b5f811115611f8757611ee08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461258e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7e919061278c565b60405180910390a35b611fd78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061207a61202e828461221190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461258e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61211d848661221190919063ffffffff16565b60405161212a919061278c565b60405180910390a350505050565b5f83831115829061217f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612176919061265b565b60405180910390fd5b505f838561218d91906131fd565b9050809150509392505050565b5f5f83036121aa575f905061220b565b5f82846121b79190612ac9565b90508284826121c6919061325d565b14612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd906132fd565b60405180910390fd5b809150505b92915050565b5f61225283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612138565b905092915050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156122915761229061331b565b5b6040519080825280602002602001820160405280156122bf5781602001602082028036833780820191505090505b50905030815f815181106122d6576122d5613348565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239e9190612c8b565b816001815181106123b2576123b1613348565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124183060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115b7565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161247a95949392919061342c565b5f604051808303815f87803b158015612491575f5ffd5b505af11580156124a3573d5f5f3e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612529573d5f5f3e3d5ffd5b5050565b5f5f83118290612573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256a919061265b565b60405180910390fd5b505f8385612581919061325d565b9050809150509392505050565b5f5f828461259c919061311b565b9050838110156125e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d8906134ce565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61262d826125eb565b61263781856125f5565b9350612647818560208601612605565b61265081612613565b840191505092915050565b5f6020820190508181035f8301526126738184612623565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6126a88261267f565b9050919050565b6126b88161269e565b81146126c2575f5ffd5b50565b5f813590506126d3816126af565b92915050565b5f819050919050565b6126eb816126d9565b81146126f5575f5ffd5b50565b5f81359050612706816126e2565b92915050565b5f5f604083850312156127225761272161267b565b5b5f61272f858286016126c5565b9250506020612740858286016126f8565b9150509250929050565b5f8115159050919050565b61275e8161274a565b82525050565b5f6020820190506127775f830184612755565b92915050565b612786816126d9565b82525050565b5f60208201905061279f5f83018461277d565b92915050565b5f5f604083850312156127bb576127ba61267b565b5b5f6127c8858286016126f8565b92505060206127d9858286016126f8565b9150509250929050565b5f5f5f606084860312156127fa576127f961267b565b5b5f612807868287016126c5565b9350506020612818868287016126c5565b9250506040612829868287016126f8565b9150509250925092565b5f60ff82169050919050565b61284881612833565b82525050565b5f6020820190506128615f83018461283f565b92915050565b5f6020828403121561287c5761287b61267b565b5b5f612889848285016126f8565b91505092915050565b5f602082840312156128a7576128a661267b565b5b5f6128b4848285016126c5565b91505092915050565b6128c68161269e565b82525050565b5f6020820190506128df5f8301846128bd565b92915050565b5f5f604083850312156128fb576128fa61267b565b5b5f612908858286016126c5565b9250506020612919858286016126c5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156129a55780860481111561298157612980612923565b5b60018516156129905780820291505b808102905061299e85612950565b9450612965565b94509492505050565b5f826129bd5760019050612a78565b816129ca575f9050612a78565b81600181146129e057600281146129ea57612a19565b6001915050612a78565b60ff8411156129fc576129fb612923565b5b8360020a915084821115612a1357612a12612923565b5b50612a78565b5060208310610133831016604e8410600b8410161715612a4e5782820a905083811115612a4957612a48612923565b5b612a78565b612a5b848484600161295c565b92509050818404811115612a7257612a71612923565b5b81810290505b9392505050565b5f612a89826126d9565b9150612a9483612833565b9250612ac17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129ae565b905092915050565b5f612ad3826126d9565b9150612ade836126d9565b9250828202612aec816126d9565b91508282048414831517612b0357612b02612923565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b3e6020836125f5565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612ba6600d836125f5565b9150612bb182612b72565b602082019050919050565b5f6020820190508181035f830152612bd381612b9a565b9050919050565b5f606082019050612bed5f83018661277d565b612bfa602083018561277d565b612c076040830184612755565b949350505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f612c436013836125f5565b9150612c4e82612c0f565b602082019050919050565b5f6020820190508181035f830152612c7081612c37565b9050919050565b5f81519050612c85816126af565b92915050565b5f60208284031215612ca057612c9f61267b565b5b5f612cad84828501612c77565b91505092915050565b5f604082019050612cc95f8301856128bd565b612cd660208301846128bd565b9392505050565b5f819050919050565b5f819050919050565b5f612d09612d04612cff84612cdd565b612ce6565b6126d9565b9050919050565b612d1981612cef565b82525050565b5f60c082019050612d325f8301896128bd565b612d3f602083018861277d565b612d4c6040830187612d10565b612d596060830186612d10565b612d6660808301856128bd565b612d7360a083018461277d565b979650505050505050565b5f81519050612d8c816126e2565b92915050565b5f5f5f60608486031215612da957612da861267b565b5b5f612db686828701612d7e565b9350506020612dc786828701612d7e565b9250506040612dd886828701612d7e565b9150509250925092565b5f604082019050612df55f8301856128bd565b612e02602083018461277d565b9392505050565b612e128161274a565b8114612e1c575f5ffd5b50565b5f81519050612e2d81612e09565b92915050565b5f60208284031215612e4857612e4761267b565b5b5f612e5584828501612e1f565b91505092915050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612e926014836125f5565b9150612e9d82612e5e565b602082019050919050565b5f6020820190508181035f830152612ebf81612e86565b9050919050565b5f604082019050612ed95f830185612755565b612ee66020830184612755565b9392505050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612f21601f836125f5565b9150612f2c82612eed565b602082019050919050565b5f6020820190508181035f830152612f4e81612f15565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612f896020836125f5565b9150612f9482612f55565b602082019050919050565b5f6020820190508181035f830152612fb681612f7d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130176029836125f5565b915061302282612fbd565b604082019050919050565b5f6020820190508181035f8301526130448161300b565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f61307f6014836125f5565b915061308a8261304b565b602082019050919050565b5f6020820190508181035f8301526130ac81613073565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130e76019836125f5565b91506130f2826130b3565b602082019050919050565b5f6020820190508181035f830152613114816130db565b9050919050565b5f613125826126d9565b9150613130836126d9565b925082820190508082111561314857613147612923565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613182601a836125f5565b915061318d8261314e565b602082019050919050565b5f6020820190508181035f8301526131af81613176565b9050919050565b5f6131c0826126d9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131f2576131f1612923565b5b600182019050919050565b5f613207826126d9565b9150613212836126d9565b925082820390508181111561322a57613229612923565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613267826126d9565b9150613272836126d9565b92508261328257613281613230565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132e76021836125f5565b91506132f28261328d565b604082019050919050565b5f6020820190508181035f830152613314816132db565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6133a78161269e565b82525050565b5f6133b8838361339e565b60208301905092915050565b5f602082019050919050565b5f6133da82613375565b6133e4818561337f565b93506133ef8361338f565b805f5b8381101561341f57815161340688826133ad565b9750613411836133c4565b9250506001810190506133f2565b5085935050505092915050565b5f60a08201905061343f5f83018861277d565b61344c6020830187612d10565b818103604083015261345e81866133d0565b905061346d60608301856128bd565b61347a608083018461277d565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134b8601b836125f5565b91506134c382613484565b602082019050919050565b5f6020820190508181035f8301526134e5816134ac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205295ec7d1ac79b749f0ded7502c7b0ac91265506eee3933d5173a22ad1fdf94564736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000092cbb38dccd0898b0f1a1f4007fdb724b65ce510
-----Decoded View---------------
Arg [0] : feeWallet (address): 0x92CBb38DCCD0898b0f1a1f4007fdB724b65cE510
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000092cbb38dccd0898b0f1a1f4007fdb724b65ce510
Deployed Bytecode Sourcemap
4257:10018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6346:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7252:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5295:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13391:466;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5438:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6623:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7453:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6532:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11846:921;;;;;;;;;;;;;:::i;:::-;;13902:370;;;;;;;;;;;;;:::i;:::-;;13272:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6726:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3209:148;;;;;;;;;;;;;:::i;:::-;;13002:153;;;;;;;;;;;;;:::i;:::-;;5498:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2995:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5559:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6437:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6853:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13163:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5364:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12775:219;;;;;;;;;;;;;:::i;:::-;;7060:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6346:83;6383:13;6416:5;;;;;;;;;;;;;;;;;6409:12;;6346:83;:::o;7252:193::-;7354:4;7376:39;7385:12;:10;:12::i;:::-;7399:7;7408:6;7376:8;:39::i;:::-;7433:4;7426:11;;7252:193;;;;:::o;5295:62::-;5218:2;5344;:13;;;;:::i;:::-;5335:6;:22;;;;:::i;:::-;5295:62;:::o;13391:466::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13499:2:::1;13486:9;:15;;:35;;;;;13519:2;13505:10;:16;;13486:35;:50;;;;;13525:11;;;;;;;;;;;13486:50;13477:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;13603:9;13588:12;:24;;;;13639:10;13623:13;:26;;;;13660:18;13697:1;13681:13;;:17;:81;;13741:21;13758:3;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13742:1;:10;;;;:::i;:::-;13741:16;;:21;;;;:::i;:::-;13681:81;;;13715:22;13732:4;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13716:1;:10;;;;:::i;:::-;13715:16;;:22;;;;:::i;:::-;13701:11;:36;;;13681:81;13660:102;;13778:71;13787:9;13798:10;13825:22;13842:4;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13826:1;:10;;;;:::i;:::-;13825:16;;:22;;;;:::i;:::-;13811:10;:36;13778:71;;;;;;;;:::i;:::-;;;;;;;;13466:391;13391:466:::0;;:::o;5438:53::-;;;;:::o;6623:95::-;6676:7;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;6696:14;;6623:95;:::o;7453:446::-;7585:4;7602:36;7612:6;7620:9;7631:6;7602:9;:36::i;:::-;7649:220;7672:6;7693:12;:10;:12::i;:::-;7720:138;7776:6;7720:138;;;;;;;;;;;;;;;;;:11;:19;7732:6;7720:19;;;;;;;;;;;;;;;:33;7740:12;:10;:12::i;:::-;7720:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7649:8;:220::i;:::-;7887:4;7880:11;;7453:446;;;;;:::o;6532:83::-;6573:5;5218:2;6591:16;;6532:83;:::o;11846:921::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11911:11:::1;;;;;;;;;;;11910:12;11902:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11957:19;11979:90;12022:36;12054:3;12022:27;4697:2;5218;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;12022:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;11979:24;11997:4;11979:9;:24::i;:::-;:28;;:90;;;;:::i;:::-;11957:112;;12131:42;12080:15;;:104;;;;;;;;;;;;;;;;;;12195:58;12212:4;12227:15;;;;;;;;;;;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;12195:8;:58::i;:::-;12298:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12280:55;;;12358:4;12378:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12280:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12264:13;;:147;;;;;;;;;;;;;;;;;;12422:15;;;;;;;;;;;:31;;;12461:21;12506:4;12526:11;12552:1;12568;12584:12;:10;:12::i;:::-;12611:15;12422:215;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12655:13;;;;;;;;;;;12648:29;;;12700:15;;;;;;;;;;;12731:17;12648:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11891:876;11846:921::o:0;13902:370::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13978:10:::1;;;;;;;;;;;13962:26;;:12;:10;:12::i;:::-;:26;;;13954:35;;;;;;14000:20;14023:24;14041:4;14023:9;:24::i;:::-;14000:47;;14076:1;14061:12;:16;14058:75;;;14091:30;14108:12;14091:16;:30::i;:::-;14058:75;14145:18;14166:21;14145:42;;14214:1;14201:10;:14;14198:67;;;14229:24;14242:10;14229:12;:24::i;:::-;14198:67;13943:329;;13902:370::o:0;13272:111::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13362:13:::1;13345:14;:30;;;;13272:111:::0;:::o;6726:119::-;6792:7;6819:9;:18;6829:7;6819:18;;;;;;;;;;;;;;;;6812:25;;6726:119;;;:::o;3209:148::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3316:1:::1;3279:40;;3300:6;;;;;;;;;;;3279:40;;;;;;;;;;;;3347:1;3330:6;;:19;;;;;;;;;;;;;;;;;;3209:148::o:0;13002:153::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5218:2:::1;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13056:12;:22;;;;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13089:14;:24;;;;13129:18;5218:2;5275;:13;;;;:::i;:::-;5262:10;:26;;;;:::i;:::-;13129:18;;;;;;:::i;:::-;;;;;;;;13002:153::o:0;5498:54::-;;;;:::o;2995:79::-;3033:7;3060:6;;;;;;;;;;;3053:13;;2995:79;:::o;5559:56::-;;;;:::o;6437:87::-;6476:13;6509:7;;;;;;;;;;;;;;;;;6502:14;;6437:87;:::o;6853:199::-;6958:4;6980:42;6990:12;:10;:12::i;:::-;7004:9;7015:6;6980:9;:42::i;:::-;7040:4;7033:11;;6853:199;;;;:::o;13163:101::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13245:11:::1;13230:12;:26;;;;13163:101:::0;:::o;5364:67::-;5218:2;5418;:13;;;;:::i;:::-;5408:7;:23;;;;:::i;:::-;5364:67;:::o;12775:219::-;3132:12;:10;:12::i;:::-;3122:22;;:6;;;;;;;;;;;:22;;;3114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12837:11:::1;;;;;;;;;;;12836:12;12828:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;12898:4;12884:11;;:18;;;;;;;;;;;;;;;;;;12927:4;12913:11;;:18;;;;;;;;;;;;;;;;;;12947:39;12961:11;;;;;;;;;;;12974;;;;;;;;;;;12947:39;;;;;;;:::i;:::-;;;;;;;;12775:219::o:0;7060:184::-;7177:7;7209:11;:18;7221:5;7209:18;;;;;;;;;;;;;;;:27;7228:7;7209:27;;;;;;;;;;;;;;;;7202:34;;7060:184;;;;:::o;535:98::-;588:7;615:10;608:17;;535:98;:::o;7907:347::-;8065:1;8048:19;;:5;:19;;;;:44;;;;;8090:1;8071:21;;:7;:21;;;;8048:44;8026:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;8192:6;8162:11;:18;8174:5;8162:18;;;;;;;;;;;;;;;:27;8181:7;8162:27;;;;;;;;;;;;;;;:36;;;;8230:7;8214:32;;8223:5;8214:32;;;8239:6;8214:32;;;;;;:::i;:::-;;;;;;;;7907:347;;;:::o;2283:132::-;2341:7;2368:39;2372:1;2375;2368:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2361:46;;2283:132;;;;:::o;8262:2985::-;8414:1;8398:18;;:4;:18;;;;:38;;;;;8434:1;8420:16;;:2;:16;;;;8398:38;8376:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;8524:1;8515:6;:10;8507:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8582:17;8602:1;8582:21;;8628:7;:5;:7::i;:::-;8620:15;;:4;:15;;;;:32;;;;;8645:7;:5;:7::i;:::-;8639:13;;:2;:13;;;;8620:32;8616:2260;;;8674:11;;;;;;;;;;;8669:197;;8736:18;:22;8755:2;8736:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8762:18;:24;8781:4;8762:24;;;;;;;;;;;;;;;;;;;;;;;;;8736:50;8706:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;8669:197;8912:13;;;;;;;;;;;8904:21;;:4;:21;;;:72;;;;;8960:15;;;;;;;;;;;8946:30;;:2;:30;;;;8904:72;:116;;;;;8998:18;:22;9017:2;8998:22;;;;;;;;;;;;;;;;;;;;;;;;;8997:23;8904:116;8882:438;;;9073:12;;9063:6;:22;;9055:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9190:14;;9180:6;9164:13;9174:2;9164:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9134:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9293:9;;:11;;;;;;;;;:::i;:::-;;;;;;8882:438;9346:13;;;;;;;;;;;9340:19;;:2;:19;;;:44;;;;;9379:4;9363:21;;:4;:21;;;;9340:44;9336:667;;;9417:235;9648:3;9417:204;4854:2;9477:9;;:28;9476:122;;4749:2;9476:122;;;9538:13;;9476:122;9417:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9405:247;;9336:667;;;9686:13;;;;;;;;;;;9678:21;;:4;:21;;;:44;;;;;9717:4;9703:19;;:2;:19;;;;9678:44;9674:329;;;9755:232;9983:3;9755:201;4801:2;9815:9;;:27;9814:119;;4697:2;9814:119;;;9875:12;;9814:119;9755:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;9743:244;;9674:329;9336:667;10032:9;10019;;:22;;;;;;;:::i;:::-;;;;;;;;10056:28;10087:24;10105:4;10087:9;:24::i;:::-;10056:55;;10149:6;;;;;;;;;;;10148:7;:47;;;;;10182:13;;;;;;;;;;;10176:19;;:2;:19;;;10148:47;:79;;;;;10216:11;;;;;;;;;;;10148:79;:140;;;;;5218:2;5418;:13;;;;:::i;:::-;5408:7;:23;;;;:::i;:::-;10248:20;:40;10148:140;:191;;;;;4909:2;10309:9;;:30;10148:191;:237;;;;;5218:2;5344;:13;;;;:::i;:::-;5335:6;:22;;;;:::i;:::-;10360:9;;:25;10148:237;10126:739;;;10420:14;10461:11;;10438:20;:34;10437:115;;10532:20;10437:115;;;10497:11;;10437:115;10420:132;;10571:53;10598:6;10589;:15;10588:35;;10617:6;10588:35;;;10608:6;10588:35;10571:16;:53::i;:::-;10643:26;10672:21;10643:50;;10737:1;10716:18;:22;10712:106;;;10763:35;10776:21;10763:12;:35::i;:::-;10712:106;10848:1;10836:9;:13;;;;10401:464;;10126:739;8654:2222;8616:2260;10904:1;10892:9;:13;10888:172;;;10949:39;10978:9;10949;:24;10967:4;10949:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10922:9;:24;10940:4;10922:24;;;;;;;;;;;;;;;:66;;;;11031:4;11008:40;;11017:4;11008:40;;;11038:9;11008:40;;;;;;:::i;:::-;;;;;;;;10888:172;11088:27;11108:6;11088:9;:15;11098:4;11088:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11070:9;:15;11080:4;11070:15;;;;;;;;;;;;;;;:45;;;;11142:40;11160:21;11171:9;11160:6;:10;;:21;;;;:::i;:::-;11142:9;:13;11152:2;11142:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11126:9;:13;11136:2;11126:13;;;;;;;;;;;;;;;:56;;;;11213:2;11198:41;;11207:4;11198:41;;;11217:21;11228:9;11217:6;:10;;:21;;;;:::i;:::-;11198:41;;;;;;:::i;:::-;;;;;;;;8365:2882;8262:2985;;;:::o;1797:224::-;1917:7;1950:1;1945;:6;;1953:12;1937:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1977:9;1993:1;1989;:5;;;;:::i;:::-;1977:17;;2012:1;2005:8;;;1797:224;;;;;:::o;2029:246::-;2087:7;2116:1;2111;:6;2107:47;;2141:1;2134:8;;;;2107:47;2164:9;2180:1;2176;:5;;;;:::i;:::-;2164:17;;2209:1;2204;2200;:5;;;;:::i;:::-;:10;2192:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2266:1;2259:8;;;2029:246;;;;;:::o;1653:136::-;1711:7;1738:43;1742:1;1745;1738:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1731:50;;1653:136;;;;:::o;11355:483::-;5951:4;5942:6;;:13;;;;;;;;;;;;;;;;;;11433:21:::1;11471:1;11457:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11433:40;;11502:4;11484;11489:1;11484:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11528:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11518:4;11523:1;11518:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11561:62;11578:4;11593:15;;;;;;;;;;;11611:11;11561:8;:62::i;:::-;11634:15;;;;;;;;;;;:66;;;11715:11;11741:1;11757:4;11784;11804:15;11634:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11422:416;5987:5:::0;5978:6;;:14;;;;;;;;;;;;;;;;;;11355:483;:::o;11255:92::-;11312:10;;;;;;;;;;;:19;;:27;11332:6;11312:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11255:92;:::o;2423:223::-;2543:7;2575:1;2571;:5;2578:12;2563:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2602:9;2618:1;2614;:5;;;;:::i;:::-;2602:17;;2637:1;2630:8;;;2423:223;;;;;:::o;1466:179::-;1524:7;1544:9;1560:1;1556;:5;;;;:::i;:::-;1544:17;;1585:1;1580;:6;;1572:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1636:1;1629:8;;;1466:179;;;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:474::-;3759:6;3767;3816:2;3804:9;3795:7;3791:23;3787:32;3784:119;;;3822:79;;:::i;:::-;3784:119;3942:1;3967:53;4012:7;4003:6;3992:9;3988:22;3967:53;:::i;:::-;3957:63;;3913:117;4069:2;4095:53;4140:7;4131:6;4120:9;4116:22;4095:53;:::i;:::-;4085:63;;4040:118;3691:474;;;;;:::o;4171:619::-;4248:6;4256;4264;4313:2;4301:9;4292:7;4288:23;4284:32;4281:119;;;4319:79;;:::i;:::-;4281:119;4439:1;4464:53;4509:7;4500:6;4489:9;4485:22;4464:53;:::i;:::-;4454:63;;4410:117;4566:2;4592:53;4637:7;4628:6;4617:9;4613:22;4592:53;:::i;:::-;4582:63;;4537:118;4694:2;4720:53;4765:7;4756:6;4745:9;4741:22;4720:53;:::i;:::-;4710:63;;4665:118;4171:619;;;;;:::o;4796:86::-;4831:7;4871:4;4864:5;4860:16;4849:27;;4796:86;;;:::o;4888:112::-;4971:22;4987:5;4971:22;:::i;:::-;4966:3;4959:35;4888:112;;:::o;5006:214::-;5095:4;5133:2;5122:9;5118:18;5110:26;;5146:67;5210:1;5199:9;5195:17;5186:6;5146:67;:::i;:::-;5006:214;;;;:::o;5226:329::-;5285:6;5334:2;5322:9;5313:7;5309:23;5305:32;5302:119;;;5340:79;;:::i;:::-;5302:119;5460:1;5485:53;5530:7;5521:6;5510:9;5506:22;5485:53;:::i;:::-;5475:63;;5431:117;5226:329;;;;:::o;5561:::-;5620:6;5669:2;5657:9;5648:7;5644:23;5640:32;5637:119;;;5675:79;;:::i;:::-;5637:119;5795:1;5820:53;5865:7;5856:6;5845:9;5841:22;5820:53;:::i;:::-;5810:63;;5766:117;5561:329;;;;:::o;5896:118::-;5983:24;6001:5;5983:24;:::i;:::-;5978:3;5971:37;5896:118;;:::o;6020:222::-;6113:4;6151:2;6140:9;6136:18;6128:26;;6164:71;6232:1;6221:9;6217:17;6208:6;6164:71;:::i;:::-;6020:222;;;;:::o;6248:474::-;6316:6;6324;6373:2;6361:9;6352:7;6348:23;6344:32;6341:119;;;6379:79;;:::i;:::-;6341:119;6499:1;6524:53;6569:7;6560:6;6549:9;6545:22;6524:53;:::i;:::-;6514:63;;6470:117;6626:2;6652:53;6697:7;6688:6;6677:9;6673:22;6652:53;:::i;:::-;6642:63;;6597:118;6248:474;;;;;:::o;6728:180::-;6776:77;6773:1;6766:88;6873:4;6870:1;6863:15;6897:4;6894:1;6887:15;6914:102;6956:8;7003:5;7000:1;6996:13;6975:34;;6914:102;;;:::o;7022:848::-;7083:5;7090:4;7114:6;7105:15;;7138:5;7129:14;;7152:712;7173:1;7163:8;7160:15;7152:712;;;7268:4;7263:3;7259:14;7253:4;7250:24;7247:50;;;7277:18;;:::i;:::-;7247:50;7327:1;7317:8;7313:16;7310:451;;;7742:4;7735:5;7731:16;7722:25;;7310:451;7792:4;7786;7782:15;7774:23;;7822:32;7845:8;7822:32;:::i;:::-;7810:44;;7152:712;;;7022:848;;;;;;;:::o;7876:1073::-;7930:5;8121:8;8111:40;;8142:1;8133:10;;8144:5;;8111:40;8170:4;8160:36;;8187:1;8178:10;;8189:5;;8160:36;8256:4;8304:1;8299:27;;;;8340:1;8335:191;;;;8249:277;;8299:27;8317:1;8308:10;;8319:5;;;8335:191;8380:3;8370:8;8367:17;8364:43;;;8387:18;;:::i;:::-;8364:43;8436:8;8433:1;8429:16;8420:25;;8471:3;8464:5;8461:14;8458:40;;;8478:18;;:::i;:::-;8458:40;8511:5;;;8249:277;;8635:2;8625:8;8622:16;8616:3;8610:4;8607:13;8603:36;8585:2;8575:8;8572:16;8567:2;8561:4;8558:12;8554:35;8538:111;8535:246;;;8691:8;8685:4;8681:19;8672:28;;8726:3;8719:5;8716:14;8713:40;;;8733:18;;:::i;:::-;8713:40;8766:5;;8535:246;8806:42;8844:3;8834:8;8828:4;8825:1;8806:42;:::i;:::-;8791:57;;;;8880:4;8875:3;8871:14;8864:5;8861:25;8858:51;;;8889:18;;:::i;:::-;8858:51;8938:4;8931:5;8927:16;8918:25;;7876:1073;;;;;;:::o;8955:281::-;9013:5;9037:23;9055:4;9037:23;:::i;:::-;9029:31;;9081:25;9097:8;9081:25;:::i;:::-;9069:37;;9125:104;9162:66;9152:8;9146:4;9125:104;:::i;:::-;9116:113;;8955:281;;;;:::o;9242:410::-;9282:7;9305:20;9323:1;9305:20;:::i;:::-;9300:25;;9339:20;9357:1;9339:20;:::i;:::-;9334:25;;9394:1;9391;9387:9;9416:30;9434:11;9416:30;:::i;:::-;9405:41;;9595:1;9586:7;9582:15;9579:1;9576:22;9556:1;9549:9;9529:83;9506:139;;9625:18;;:::i;:::-;9506:139;9290:362;9242:410;;;;:::o;9658:182::-;9798:34;9794:1;9786:6;9782:14;9775:58;9658:182;:::o;9846:366::-;9988:3;10009:67;10073:2;10068:3;10009:67;:::i;:::-;10002:74;;10085:93;10174:3;10085:93;:::i;:::-;10203:2;10198:3;10194:12;10187:19;;9846:366;;;:::o;10218:419::-;10384:4;10422:2;10411:9;10407:18;10399:26;;10471:9;10465:4;10461:20;10457:1;10446:9;10442:17;10435:47;10499:131;10625:4;10499:131;:::i;:::-;10491:139;;10218:419;;;:::o;10643:163::-;10783:15;10779:1;10771:6;10767:14;10760:39;10643:163;:::o;10812:366::-;10954:3;10975:67;11039:2;11034:3;10975:67;:::i;:::-;10968:74;;11051:93;11140:3;11051:93;:::i;:::-;11169:2;11164:3;11160:12;11153:19;;10812:366;;;:::o;11184:419::-;11350:4;11388:2;11377:9;11373:18;11365:26;;11437:9;11431:4;11427:20;11423:1;11412:9;11408:17;11401:47;11465:131;11591:4;11465:131;:::i;:::-;11457:139;;11184:419;;;:::o;11609:430::-;11752:4;11790:2;11779:9;11775:18;11767:26;;11803:71;11871:1;11860:9;11856:17;11847:6;11803:71;:::i;:::-;11884:72;11952:2;11941:9;11937:18;11928:6;11884:72;:::i;:::-;11966:66;12028:2;12017:9;12013:18;12004:6;11966:66;:::i;:::-;11609:430;;;;;;:::o;12045:169::-;12185:21;12181:1;12173:6;12169:14;12162:45;12045:169;:::o;12220:366::-;12362:3;12383:67;12447:2;12442:3;12383:67;:::i;:::-;12376:74;;12459:93;12548:3;12459:93;:::i;:::-;12577:2;12572:3;12568:12;12561:19;;12220:366;;;:::o;12592:419::-;12758:4;12796:2;12785:9;12781:18;12773:26;;12845:9;12839:4;12835:20;12831:1;12820:9;12816:17;12809:47;12873:131;12999:4;12873:131;:::i;:::-;12865:139;;12592:419;;;:::o;13017:143::-;13074:5;13105:6;13099:13;13090:22;;13121:33;13148:5;13121:33;:::i;:::-;13017:143;;;;:::o;13166:351::-;13236:6;13285:2;13273:9;13264:7;13260:23;13256:32;13253:119;;;13291:79;;:::i;:::-;13253:119;13411:1;13436:64;13492:7;13483:6;13472:9;13468:22;13436:64;:::i;:::-;13426:74;;13382:128;13166:351;;;;:::o;13523:332::-;13644:4;13682:2;13671:9;13667:18;13659:26;;13695:71;13763:1;13752:9;13748:17;13739:6;13695:71;:::i;:::-;13776:72;13844:2;13833:9;13829:18;13820:6;13776:72;:::i;:::-;13523:332;;;;;:::o;13861:85::-;13906:7;13935:5;13924:16;;13861:85;;;:::o;13952:60::-;13980:3;14001:5;13994:12;;13952:60;;;:::o;14018:158::-;14076:9;14109:61;14127:42;14136:32;14162:5;14136:32;:::i;:::-;14127:42;:::i;:::-;14109:61;:::i;:::-;14096:74;;14018:158;;;:::o;14182:147::-;14277:45;14316:5;14277:45;:::i;:::-;14272:3;14265:58;14182:147;;:::o;14335:807::-;14584:4;14622:3;14611:9;14607:19;14599:27;;14636:71;14704:1;14693:9;14689:17;14680:6;14636:71;:::i;:::-;14717:72;14785:2;14774:9;14770:18;14761:6;14717:72;:::i;:::-;14799:80;14875:2;14864:9;14860:18;14851:6;14799:80;:::i;:::-;14889;14965:2;14954:9;14950:18;14941:6;14889:80;:::i;:::-;14979:73;15047:3;15036:9;15032:19;15023:6;14979:73;:::i;:::-;15062;15130:3;15119:9;15115:19;15106:6;15062:73;:::i;:::-;14335:807;;;;;;;;;:::o;15148:143::-;15205:5;15236:6;15230:13;15221:22;;15252:33;15279:5;15252:33;:::i;:::-;15148:143;;;;:::o;15297:663::-;15385:6;15393;15401;15450:2;15438:9;15429:7;15425:23;15421:32;15418:119;;;15456:79;;:::i;:::-;15418:119;15576:1;15601:64;15657:7;15648:6;15637:9;15633:22;15601:64;:::i;:::-;15591:74;;15547:128;15714:2;15740:64;15796:7;15787:6;15776:9;15772:22;15740:64;:::i;:::-;15730:74;;15685:129;15853:2;15879:64;15935:7;15926:6;15915:9;15911:22;15879:64;:::i;:::-;15869:74;;15824:129;15297:663;;;;;:::o;15966:332::-;16087:4;16125:2;16114:9;16110:18;16102:26;;16138:71;16206:1;16195:9;16191:17;16182:6;16138:71;:::i;:::-;16219:72;16287:2;16276:9;16272:18;16263:6;16219:72;:::i;:::-;15966:332;;;;;:::o;16304:116::-;16374:21;16389:5;16374:21;:::i;:::-;16367:5;16364:32;16354:60;;16410:1;16407;16400:12;16354:60;16304:116;:::o;16426:137::-;16480:5;16511:6;16505:13;16496:22;;16527:30;16551:5;16527:30;:::i;:::-;16426:137;;;;:::o;16569:345::-;16636:6;16685:2;16673:9;16664:7;16660:23;16656:32;16653:119;;;16691:79;;:::i;:::-;16653:119;16811:1;16836:61;16889:7;16880:6;16869:9;16865:22;16836:61;:::i;:::-;16826:71;;16782:125;16569:345;;;;:::o;16920:170::-;17060:22;17056:1;17048:6;17044:14;17037:46;16920:170;:::o;17096:366::-;17238:3;17259:67;17323:2;17318:3;17259:67;:::i;:::-;17252:74;;17335:93;17424:3;17335:93;:::i;:::-;17453:2;17448:3;17444:12;17437:19;;17096:366;;;:::o;17468:419::-;17634:4;17672:2;17661:9;17657:18;17649:26;;17721:9;17715:4;17711:20;17707:1;17696:9;17692:17;17685:47;17749:131;17875:4;17749:131;:::i;:::-;17741:139;;17468:419;;;:::o;17893:308::-;18002:4;18040:2;18029:9;18025:18;18017:26;;18053:65;18115:1;18104:9;18100:17;18091:6;18053:65;:::i;:::-;18128:66;18190:2;18179:9;18175:18;18166:6;18128:66;:::i;:::-;17893:308;;;;;:::o;18207:181::-;18347:33;18343:1;18335:6;18331:14;18324:57;18207:181;:::o;18394:366::-;18536:3;18557:67;18621:2;18616:3;18557:67;:::i;:::-;18550:74;;18633:93;18722:3;18633:93;:::i;:::-;18751:2;18746:3;18742:12;18735:19;;18394:366;;;:::o;18766:419::-;18932:4;18970:2;18959:9;18955:18;18947:26;;19019:9;19013:4;19009:20;19005:1;18994:9;18990:17;18983:47;19047:131;19173:4;19047:131;:::i;:::-;19039:139;;18766:419;;;:::o;19191:182::-;19331:34;19327:1;19319:6;19315:14;19308:58;19191:182;:::o;19379:366::-;19521:3;19542:67;19606:2;19601:3;19542:67;:::i;:::-;19535:74;;19618:93;19707:3;19618:93;:::i;:::-;19736:2;19731:3;19727:12;19720:19;;19379:366;;;:::o;19751:419::-;19917:4;19955:2;19944:9;19940:18;19932:26;;20004:9;19998:4;19994:20;19990:1;19979:9;19975:17;19968:47;20032:131;20158:4;20032:131;:::i;:::-;20024:139;;19751:419;;;:::o;20176:228::-;20316:34;20312:1;20304:6;20300:14;20293:58;20385:11;20380:2;20372:6;20368:15;20361:36;20176:228;:::o;20410:366::-;20552:3;20573:67;20637:2;20632:3;20573:67;:::i;:::-;20566:74;;20649:93;20738:3;20649:93;:::i;:::-;20767:2;20762:3;20758:12;20751:19;;20410:366;;;:::o;20782:419::-;20948:4;20986:2;20975:9;20971:18;20963:26;;21035:9;21029:4;21025:20;21021:1;21010:9;21006:17;20999:47;21063:131;21189:4;21063:131;:::i;:::-;21055:139;;20782:419;;;:::o;21207:170::-;21347:22;21343:1;21335:6;21331:14;21324:46;21207:170;:::o;21383:366::-;21525:3;21546:67;21610:2;21605:3;21546:67;:::i;:::-;21539:74;;21622:93;21711:3;21622:93;:::i;:::-;21740:2;21735:3;21731:12;21724:19;;21383:366;;;:::o;21755:419::-;21921:4;21959:2;21948:9;21944:18;21936:26;;22008:9;22002:4;21998:20;21994:1;21983:9;21979:17;21972:47;22036:131;22162:4;22036:131;:::i;:::-;22028:139;;21755:419;;;:::o;22180:175::-;22320:27;22316:1;22308:6;22304:14;22297:51;22180:175;:::o;22361:366::-;22503:3;22524:67;22588:2;22583:3;22524:67;:::i;:::-;22517:74;;22600:93;22689:3;22600:93;:::i;:::-;22718:2;22713:3;22709:12;22702:19;;22361:366;;;:::o;22733:419::-;22899:4;22937:2;22926:9;22922:18;22914:26;;22986:9;22980:4;22976:20;22972:1;22961:9;22957:17;22950:47;23014:131;23140:4;23014:131;:::i;:::-;23006:139;;22733:419;;;:::o;23158:191::-;23198:3;23217:20;23235:1;23217:20;:::i;:::-;23212:25;;23251:20;23269:1;23251:20;:::i;:::-;23246:25;;23294:1;23291;23287:9;23280:16;;23315:3;23312:1;23309:10;23306:36;;;23322:18;;:::i;:::-;23306:36;23158:191;;;;:::o;23355:176::-;23495:28;23491:1;23483:6;23479:14;23472:52;23355:176;:::o;23537:366::-;23679:3;23700:67;23764:2;23759:3;23700:67;:::i;:::-;23693:74;;23776:93;23865:3;23776:93;:::i;:::-;23894:2;23889:3;23885:12;23878:19;;23537:366;;;:::o;23909:419::-;24075:4;24113:2;24102:9;24098:18;24090:26;;24162:9;24156:4;24152:20;24148:1;24137:9;24133:17;24126:47;24190:131;24316:4;24190:131;:::i;:::-;24182:139;;23909:419;;;:::o;24334:233::-;24373:3;24396:24;24414:5;24396:24;:::i;:::-;24387:33;;24442:66;24435:5;24432:77;24429:103;;24512:18;;:::i;:::-;24429:103;24559:1;24552:5;24548:13;24541:20;;24334:233;;;:::o;24573:194::-;24613:4;24633:20;24651:1;24633:20;:::i;:::-;24628:25;;24667:20;24685:1;24667:20;:::i;:::-;24662:25;;24711:1;24708;24704:9;24696:17;;24735:1;24729:4;24726:11;24723:37;;;24740:18;;:::i;:::-;24723:37;24573:194;;;;:::o;24773:180::-;24821:77;24818:1;24811:88;24918:4;24915:1;24908:15;24942:4;24939:1;24932:15;24959:185;24999:1;25016:20;25034:1;25016:20;:::i;:::-;25011:25;;25050:20;25068:1;25050:20;:::i;:::-;25045:25;;25089:1;25079:35;;25094:18;;:::i;:::-;25079:35;25136:1;25133;25129:9;25124:14;;24959:185;;;;:::o;25150:220::-;25290:34;25286:1;25278:6;25274:14;25267:58;25359:3;25354:2;25346:6;25342:15;25335:28;25150:220;:::o;25376:366::-;25518:3;25539:67;25603:2;25598:3;25539:67;:::i;:::-;25532:74;;25615:93;25704:3;25615:93;:::i;:::-;25733:2;25728:3;25724:12;25717:19;;25376:366;;;:::o;25748:419::-;25914:4;25952:2;25941:9;25937:18;25929:26;;26001:9;25995:4;25991:20;25987:1;25976:9;25972:17;25965:47;26029:131;26155:4;26029:131;:::i;:::-;26021:139;;25748:419;;;:::o;26173:180::-;26221:77;26218:1;26211:88;26318:4;26315:1;26308:15;26342:4;26339:1;26332:15;26359:180;26407:77;26404:1;26397:88;26504:4;26501:1;26494:15;26528:4;26525:1;26518:15;26545:114;26612:6;26646:5;26640:12;26630:22;;26545:114;;;:::o;26665:184::-;26764:11;26798:6;26793:3;26786:19;26838:4;26833:3;26829:14;26814:29;;26665:184;;;;:::o;26855:132::-;26922:4;26945:3;26937:11;;26975:4;26970:3;26966:14;26958:22;;26855:132;;;:::o;26993:108::-;27070:24;27088:5;27070:24;:::i;:::-;27065:3;27058:37;26993:108;;:::o;27107:179::-;27176:10;27197:46;27239:3;27231:6;27197:46;:::i;:::-;27275:4;27270:3;27266:14;27252:28;;27107:179;;;;:::o;27292:113::-;27362:4;27394;27389:3;27385:14;27377:22;;27292:113;;;:::o;27441:732::-;27560:3;27589:54;27637:5;27589:54;:::i;:::-;27659:86;27738:6;27733:3;27659:86;:::i;:::-;27652:93;;27769:56;27819:5;27769:56;:::i;:::-;27848:7;27879:1;27864:284;27889:6;27886:1;27883:13;27864:284;;;27965:6;27959:13;27992:63;28051:3;28036:13;27992:63;:::i;:::-;27985:70;;28078:60;28131:6;28078:60;:::i;:::-;28068:70;;27924:224;27911:1;27908;27904:9;27899:14;;27864:284;;;27868:14;28164:3;28157:10;;27565:608;;;27441:732;;;;:::o;28179:831::-;28442:4;28480:3;28469:9;28465:19;28457:27;;28494:71;28562:1;28551:9;28547:17;28538:6;28494:71;:::i;:::-;28575:80;28651:2;28640:9;28636:18;28627:6;28575:80;:::i;:::-;28702:9;28696:4;28692:20;28687:2;28676:9;28672:18;28665:48;28730:108;28833:4;28824:6;28730:108;:::i;:::-;28722:116;;28848:72;28916:2;28905:9;28901:18;28892:6;28848:72;:::i;:::-;28930:73;28998:3;28987:9;28983:19;28974:6;28930:73;:::i;:::-;28179:831;;;;;;;;:::o;29016:177::-;29156:29;29152:1;29144:6;29140:14;29133:53;29016:177;:::o;29199:366::-;29341:3;29362:67;29426:2;29421:3;29362:67;:::i;:::-;29355:74;;29438:93;29527:3;29438:93;:::i;:::-;29556:2;29551:3;29547:12;29540:19;;29199:366;;;:::o;29571:419::-;29737:4;29775:2;29764:9;29760:18;29752:26;;29824:9;29818:4;29814:20;29810:1;29799:9;29795:17;29788:47;29852:131;29978:4;29852:131;:::i;:::-;29844:139;;29571:419;;;:::o
Swarm Source
ipfs://5295ec7d1ac79b749f0ded7502c7b0ac91265506eee3933d5173a22ad1fdf945
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.