ERC-20
Overview
Max Total Supply
1,000,000,000 eFUN
Holders
86
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000205718331 eFUNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Etherfun
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-12 */ /** nnnnnnn nnnnnnnnnnnnn nnnnnnnnnnnnnnnnnn nnnnnn nnnnnnnnnnnnn nnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnn nnnnnnnnnnnnn nnnnnnnnnn nnnnnnnnn nnnnn nnnnnn nnnnnnnnnn nnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnn nnnnnnnnnnnnnn nnnnnnnnnn nnnnnnnnnnn nnnnn nnnnnn nnnnnnnn nnnn nnnn nnnnnnnnn nnnnnnnnn nnnnn nnnnnnnnnnnn nnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnn nnnnnnnnn nnnnnnnnn nnnnn nnnnnnnnnnnnnn nnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnn nnnn nnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnn nnnnn nnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnn nnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnnnnnn nnnnnn nnnnn nnnnnnnnnnnn nnnnnnn nnnnnnnnnnnn nnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnnnnnn nnnnnnnnnnn nn nnnnnnn nnnn nnnn nnnnnnnnnnnnnnnnnnnn nnnnn nnnnn nnnn nnnnn nnnnnnnnnn nnnnnnnnn nnnnnnnnnn nnnnnnnn nnnnnnnnn nnnn nnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn nnnnn nnnn nnnnnnnnnnnnnnn nnnnnnnn nnnnnnnn nnnnnnnnnnnn nnnnnnnnnn nnnn nnnn nnnnnnnnnnnnnnn nnnnn nnnnn nnnn nnnnnnnnnnnnn nnnnnnn nnnnnnnnnnnnnnnnnn nnnnnnnnnn nnnn nnnn nnnnnnnnnnnnnnn nnnnn nnnnnnnnn nnnnnnnn nnnnnn nnnnnnnnnnnnnnn nnnnnnnnn */ //SPDX-License-Identifier: UNLICENSED // Etherfun $eFUN - Earn, Create, and Trade- Powered by AI, Fueled by Memes! // W: https://www.ether-fun.com/ // T: https://t.me/etherfunentry // X: https://x.com/ether_fun pragma solidity 0.8.19; interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } library Address { function sendValue( address payable recipient, uint256 amount ) internal returns (bool) { require( address(this).balance >= amount, "Address: insufficient balance" ); (bool success, ) = recipient.call{value: amount}(""); return success; // always proceeds } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { uint256 currentAllowance = _allowances[sender][_msgSender()]; if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } _transfer(sender, recipient, amount); return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } } contract Etherfun is ERC20, Ownable { using Address for address payable; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping(address => bool) private _isExcludedFromFees; address public marketingFeeReceiver; uint256 public tradingEnabledTime; bool private inSwapAndLiquify; bool public swapEnabled; bool public tradingEnabled; uint256 public marketingFee; uint256 public maxSwapThreshold; uint256 public maxWalletSize; event ExcludeFromFees(address indexed account, bool isExcluded); event SwapAndSendFee(uint256 tokensSwapped, uint256 bnbSend); event MarketingFeeReceiverChanged(address marketingFeeReceiver); event SwapAndLiquify( uint256 tokensSwapped, uint256 bnbReceived, uint256 tokensIntoLiqudity ); event ToggleSwapping(bool swapEnabled); event FeesLowered(uint256 _new); event MaxWalletSizeRaised(uint256 _new); event MaxSwapThresholdUpdated(uint256 _new); constructor(address _router, address _feeReceiver, uint256 _initalLiquidity) payable ERC20("Etherfun", "eFUN") { //uniswapv2router address, feereceiving wallet, Tokenname, symbol marketingFee = 25; marketingFeeReceiver = _feeReceiver; uniswapV2Router = IUniswapV2Router02(_router); //Excluding wallets from fees _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(0xdead)] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[marketingFeeReceiver] = true; uint256 ownerSupply = 1000000000 * 10**decimals() - _initalLiquidity; _mint(owner(), ownerSupply); _mint(address(this), _initalLiquidity); maxWalletSize = 15000000*10**decimals(); maxSwapThreshold = 15000000*10**decimals(); swapEnabled = false; tradingEnabled = false; } receive() external payable {} function claimStuckTokens(address token) external onlyOwner { require( token != address(this), "Owner cannot claim contract's balance of its own tokens" ); if (token == address(0x0)) { payable(msg.sender).sendValue(address(this).balance); return; } IERC20(token).transfer( msg.sender, IERC20(token).balanceOf(address(this)) ); } function excludeFromFees( address account, bool excluded ) external onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function changeFeeReceiver( address _marketingFeeReceiver ) external onlyOwner { require( _marketingFeeReceiver != address(0) && _marketingFeeReceiver != address(0xdead), "Marketing Fee receiver cannot be the zero or dead address" ); marketingFeeReceiver = _marketingFeeReceiver; emit MarketingFeeReceiverChanged(marketingFeeReceiver); } event TradingEnabled(bool tradingEnabled, uint256 tradingEnabledTime); function enableTrading() external onlyOwner { require(tradingEnabled == false, "O3D: trading already enabled!"); _approve(address(this), address(uniswapV2Router), type(uint256).max); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingEnabled = true; swapEnabled = true; tradingEnabledTime = block.timestamp; _isExcludedFromFees[uniswapV2Pair] = true; emit TradingEnabled(tradingEnabled, tradingEnabledTime); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "Transfer from the zero address"); require(to != address(0), "Transfer to the zero address"); require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!" ); if (amount == 0) { super._transfer(from, to, 0); return; } uint256 contractTokenBalance = balanceOf(address(this)); uint256 _totalFees; if (_isExcludedFromFees[from] && _isExcludedFromFees[to] && inSwapAndLiquify) { _totalFees = 0; } else if (from == uniswapV2Pair || to == uniswapV2Pair && tradingEnabled) { _totalFees = marketingFee; } else { _totalFees = 0; } if (_totalFees > 0) { uint256 fees = (amount * _totalFees) / 100; amount = amount - fees; super._transfer(from, address(this), fees); } if(to == uniswapV2Pair) { if (contractTokenBalance > maxSwapThreshold && !inSwapAndLiquify && swapEnabled) { inSwapAndLiquify = true; _swapAndSendMarketing(maxSwapThreshold); inSwapAndLiquify = false; } } if(tradingEnabled && !_isExcludedFromFees[to] && !inSwapAndLiquify) { uint256 toWalletSize = balanceOf(to); require(toWalletSize + amount <= maxWalletSize, "Maximum wallet size exceeded!"); } super._transfer(from, to, amount); } function toggleSwapping(bool _swapEnabled) external onlyOwner { require(swapEnabled != _swapEnabled, "Currently at the same stage"); swapEnabled = _swapEnabled; emit ToggleSwapping(swapEnabled); } function _swapAndSendMarketing(uint256 tokenAmount) private { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); uint256 newBalance = address(this).balance - initialBalance; payable(marketingFeeReceiver).sendValue(newBalance); emit SwapAndSendFee(tokenAmount, newBalance); } function sellFees() public onlyOwner() { uint256 contractBalance = balanceOf(address(this)); _swapAndSendMarketing(contractBalance); } function lowerFees(uint256 _newFee) public onlyOwner() { require(_newFee < marketingFee, "O3D: New fee must be lower than old fee!"); marketingFee = _newFee; emit FeesLowered(_newFee); } function raiseMaxLimit(uint256 _newLimit) public onlyOwner() { require(_newLimit > maxWalletSize, "O3D: New limit must be higher than older!"); maxWalletSize = _newLimit; emit MaxWalletSizeRaised(_newLimit); } function setSwapThreshold(uint256 _newThreshold) public onlyOwner { maxSwapThreshold = _newThreshold; emit MaxSwapThresholdUpdated(_newThreshold); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint256","name":"_initalLiquidity","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"FeesLowered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"}],"name":"MarketingFeeReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"MaxSwapThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"MaxWalletSizeRaised","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"swapEnabled","type":"bool"}],"name":"ToggleSwapping","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingEnabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"tradingEnabledTime","type":"uint256"}],"name":"TradingEnabled","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":[{"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":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"lowerFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLimit","type":"uint256"}],"name":"raiseMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabledTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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
6080604052604051620050fb380380620050fb8339818101604052810190620000299190620006d4565b6040518060400160405280600881526020017f457468657266756e0000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f6546554e000000000000000000000000000000000000000000000000000000008152508160039081620000a69190620009a0565b508060049081620000b89190620009a0565b5050506000620000cd620004a460201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506019600c8190555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006200020c620004ac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000816200039c620004d660201b60201c565b600a620003aa919062000c17565b633b9aca00620003bb919062000c68565b620003c7919062000cb3565b9050620003ea620003dd620004ac60201b60201c565b82620004df60201b60201c565b620003fc3083620004df60201b60201c565b6200040c620004d660201b60201c565b600a6200041a919062000c17565b62e4e1c06200042a919062000c68565b600e8190555062000440620004d660201b60201c565b600a6200044e919062000c17565b62e4e1c06200045e919062000c68565b600d819055506000600b60016101000a81548160ff0219169083151502179055506000600b60026101000a81548160ff0219169083151502179055505050505062000dda565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005489062000d4f565b60405180910390fd5b806002600082825462000565919062000d71565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620005bc919062000d71565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000623919062000dbd565b60405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006618262000634565b9050919050565b620006738162000654565b81146200067f57600080fd5b50565b600081519050620006938162000668565b92915050565b6000819050919050565b620006ae8162000699565b8114620006ba57600080fd5b50565b600081519050620006ce81620006a3565b92915050565b600080600060608486031215620006f057620006ef6200062f565b5b6000620007008682870162000682565b9350506020620007138682870162000682565b92505060406200072686828701620006bd565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007b257607f821691505b602082108103620007c857620007c76200076a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007f3565b6200083e8683620007f3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620008816200087b620008758462000699565b62000856565b62000699565b9050919050565b6000819050919050565b6200089d8362000860565b620008b5620008ac8262000888565b84845462000800565b825550505050565b600090565b620008cc620008bd565b620008d981848462000892565b505050565b5b818110156200090157620008f5600082620008c2565b600181019050620008df565b5050565b601f82111562000950576200091a81620007ce565b6200092584620007e3565b8101602085101562000935578190505b6200094d6200094485620007e3565b830182620008de565b50505b505050565b600082821c905092915050565b6000620009756000198460080262000955565b1980831691505092915050565b600062000990838362000962565b9150826002028217905092915050565b620009ab8262000730565b67ffffffffffffffff811115620009c757620009c66200073b565b5b620009d3825462000799565b620009e082828562000905565b600060209050601f83116001811462000a18576000841562000a03578287015190505b62000a0f858262000982565b86555062000a7f565b601f19841662000a2886620007ce565b60005b8281101562000a525784890151825560018201915060208501945060208101905062000a2b565b8683101562000a72578489015162000a6e601f89168262000962565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b155780860481111562000aed5762000aec62000a87565b5b600185161562000afd5780820291505b808102905062000b0d8562000ab6565b945062000acd565b94509492505050565b60008262000b30576001905062000c03565b8162000b40576000905062000c03565b816001811462000b59576002811462000b645762000b9a565b600191505062000c03565b60ff84111562000b795762000b7862000a87565b5b8360020a91508482111562000b935762000b9262000a87565b5b5062000c03565b5060208310610133831016604e8410600b841016171562000bd45782820a90508381111562000bce5762000bcd62000a87565b5b62000c03565b62000be3848484600162000ac3565b9250905081840481111562000bfd5762000bfc62000a87565b5b81810290505b9392505050565b600060ff82169050919050565b600062000c248262000699565b915062000c318362000c0a565b925062000c607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b1e565b905092915050565b600062000c758262000699565b915062000c828362000699565b925082820262000c928162000699565b9150828204841483151762000cac5762000cab62000a87565b5b5092915050565b600062000cc08262000699565b915062000ccd8362000699565b925082820390508181111562000ce85762000ce762000a87565b5b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000d37601f8362000cee565b915062000d448262000cff565b602082019050919050565b6000602082019050818103600083015262000d6a8162000d28565b9050919050565b600062000d7e8262000699565b915062000d8b8362000699565b925082820190508082111562000da65762000da562000a87565b5b92915050565b62000db78162000699565b82525050565b600060208201905062000dd4600083018462000dac565b92915050565b6143118062000dea6000396000f3fe6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063e0f3ccf51161006f578063e0f3ccf514610710578063e3b24c8014610727578063e96fada214610750578063f2fde38b1461077b578063f9d0831a146107a4576101f9565b8063a9059cbb14610642578063acef1a441461067f578063c0246668146106aa578063dd62ed3e146106d3576101f9565b80638f3fa860116100dc5780638f3fa8601461058657806395d89b41146105b15780639d0014b1146105dc578063a457c2d714610605576101f9565b8063715018a6146105045780637c08b9641461051b5780638a8c523c146105445780638da5cb5b1461055b576101f9565b806339509351116101855780636b67c4df116101545780636b67c4df146104465780636ddd1713146104715780636fd8fb7a1461049c57806370a08231146104c7576101f9565b8063395093511461037657806349bd5a5e146103b35780634ada218b146103de5780634fbee19314610409576101f9565b806318160ddd116101c157806318160ddd146102ba578063239be29a146102e557806323b872dd1461030e578063313ce5671461034b576101f9565b806306fdde03146101fe578063095ea7b3146102295780630f198ee8146102665780631694505e1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107cd565b6040516102209190612f39565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612ff4565b61085f565b60405161025d919061304f565b60405180910390f35b34801561027257600080fd5b5061028d6004803603810190610288919061306a565b61087d565b005b34801561029b57600080fd5b506102a4610999565b6040516102b191906130f6565b60405180910390f35b3480156102c657600080fd5b506102cf6109bf565b6040516102dc9190613120565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190613167565b6109c9565b005b34801561031a57600080fd5b5061033560048036038101906103309190613194565b610b18565b604051610342919061304f565b60405180910390f35b34801561035757600080fd5b50610360610c37565b60405161036d9190613203565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612ff4565b610c40565b6040516103aa919061304f565b60405180910390f35b3480156103bf57600080fd5b506103c8610cec565b6040516103d5919061322d565b60405180910390f35b3480156103ea57600080fd5b506103f3610d12565b604051610400919061304f565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190613248565b610d25565b60405161043d919061304f565b60405180910390f35b34801561045257600080fd5b5061045b610d7b565b6040516104689190613120565b60405180910390f35b34801561047d57600080fd5b50610486610d81565b604051610493919061304f565b60405180910390f35b3480156104a857600080fd5b506104b1610d94565b6040516104be9190613120565b60405180910390f35b3480156104d357600080fd5b506104ee60048036038101906104e99190613248565b610d9a565b6040516104fb9190613120565b60405180910390f35b34801561051057600080fd5b50610519610de2565b005b34801561052757600080fd5b50610542600480360381019061053d9190613248565b610f3a565b005b34801561055057600080fd5b50610559611118565b005b34801561056757600080fd5b506105706116d2565b60405161057d919061322d565b60405180910390f35b34801561059257600080fd5b5061059b6116fc565b6040516105a89190613120565b60405180910390f35b3480156105bd57600080fd5b506105c6611702565b6040516105d39190612f39565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe919061306a565b611794565b005b34801561061157600080fd5b5061062c60048036038101906106279190612ff4565b61186c565b604051610639919061304f565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190612ff4565b611957565b604051610676919061304f565b60405180910390f35b34801561068b57600080fd5b50610694611975565b6040516106a19190613120565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613275565b61197b565b005b3480156106df57600080fd5b506106fa60048036038101906106f591906132b5565b611abb565b6040516107079190613120565b60405180910390f35b34801561071c57600080fd5b50610725611b42565b005b34801561073357600080fd5b5061074e6004803603810190610749919061306a565b611bf2565b005b34801561075c57600080fd5b50610765611d0e565b604051610772919061322d565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d9190613248565b611d34565b005b3480156107b057600080fd5b506107cb60048036038101906107c69190613248565b611efa565b005b6060600380546107dc90613324565b80601f016020809104026020016040519081016040528092919081815260200182805461080890613324565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061087361086c61215e565b8484612166565b6001905092915050565b61088561215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b906133a1565b60405180910390fd5b600c548110610958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094f90613433565b60405180910390fd5b80600c819055507f521fe74e1c24ea5dc1327c29145ebc90bae09bc5a6f6bea118b4ad87793327a58160405161098e9190613120565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6109d161215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a57906133a1565b60405180910390fd5b801515600b60019054906101000a900460ff16151503610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac9061349f565b60405180910390fd5b80600b60016101000a81548160ff0219169083151502179055507f0b24deddd077e0149099adf20869b94ebb4b0898a1068e9af5e30529f596e532600b60019054906101000a900460ff16604051610b0d919061304f565b60405180910390a150565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6461215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c205782811015610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290613531565b60405180910390fd5b610c1f85610c1761215e565b858403612166565b5b610c2b85858561232f565b60019150509392505050565b60006012905090565b6000610ce2610c4d61215e565b848460016000610c5b61215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cdd9190613580565b612166565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600c5481565b600b60019054906101000a900460ff1681565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dea61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e70906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f4261215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc8906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561103c575061dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107290613626565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fce24358e1d81b90be8bb8786b891404133aa63ffde0e56b69ccf25a5e3c4df06600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161110d919061322d565b60405180910390a150565b61112061215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906133a1565b60405180910390fd5b60001515600b60029054906101000a900460ff16151514611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90613692565b60405180910390fd5b61125230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612166565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e391906136c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139091906136c7565b6040518363ffffffff1660e01b81526004016113ad9291906136f4565b6020604051808303816000875af11580156113cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f091906136c7565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061147930610d9a565b6000806114846116d2565b426040518863ffffffff1660e01b81526004016114a696959493929190613758565b60606040518083038185885af11580156114c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114e991906137ce565b505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161158b929190613821565b6020604051808303816000875af11580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce919061385f565b506001600b60026101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff02191690831515021790555042600a81905550600160086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3eb2d65e1de77434db1b2cb0645de0085059e6e514d7b9641fdc2978d8e40c40600b60029054906101000a900460ff16600a546040516116c892919061388c565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606004805461171190613324565b80601f016020809104026020016040519081016040528092919081815260200182805461173d90613324565b801561178a5780601f1061175f5761010080835404028352916020019161178a565b820191906000526020600020905b81548152906001019060200180831161176d57829003601f168201915b5050505050905090565b61179c61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461182b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611822906133a1565b60405180910390fd5b80600d819055507fb090ae518da13bb076e9fad6694791d1d427db3284f7ac7321fbeafac08c7b27816040516118619190613120565b60405180910390a150565b6000806001600061187b61215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192f90613927565b60405180910390fd5b61194c61194361215e565b85858403612166565b600191505092915050565b600061196b61196461215e565b848461232f565b6001905092915050565b600d5481565b61198361215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906133a1565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611aaf919061304f565b60405180910390a25050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611b4a61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd0906133a1565b60405180910390fd5b6000611be430610d9a565b9050611bef816128d3565b50565b611bfa61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906133a1565b60405180910390fd5b600e548111611ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc4906139b9565b60405180910390fd5b80600e819055507f69626ae9392dcbdfaecc4d3af4d6c00e0bb3888f512459d89551c2762e406c4181604051611d039190613120565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d3c61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc2906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3190613a4b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611f0261215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f88906133a1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff690613add565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120625761205c473373ffffffffffffffffffffffffffffffffffffffff16612b8590919063ffffffff16565b5061215b565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016120b8919061322d565b602060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f99190613afd565b6040518363ffffffff1660e01b8152600401612116929190613821565b6020604051808303816000875af1158015612135573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612159919061385f565b505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc90613b9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223b90613c2e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123229190613120565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361239e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239590613c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361240d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240490613d06565b60405180910390fd5b600b60029054906101000a900460ff16806124715750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806124c55750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fb90613d72565b60405180910390fd5b6000810361251d5761251883836000612c40565b6128ce565b600061252830610d9a565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125ce5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156125e65750600b60009054906101000a900460ff165b156125f457600090506126ca565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806126b55750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126b45750600b60029054906101000a900460ff165b5b156126c457600c5490506126c9565b600090505b5b600081111561270a576000606482856126e39190613d92565b6126ed9190613e03565b905080846126fb9190613e34565b9350612708863083612c40565b505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036127dd57600d548211801561277d5750600b60009054906101000a900460ff16155b80156127955750600b60019054906101000a900460ff165b156127dc576001600b60006101000a81548160ff0219169083151502179055506127c0600d546128d3565b6000600b60006101000a81548160ff0219169083151502179055505b5b600b60029054906101000a900460ff1680156128435750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561285c5750600b60009054906101000a900460ff16155b156128c057600061286c85610d9a565b9050600e54848261287d9190613580565b11156128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590613eb4565b60405180910390fd5b505b6128cb858585612c40565b50505b505050565b60004790506000600267ffffffffffffffff8111156128f5576128f4613ed4565b5b6040519080825280602002602001820160405280156129235781602001602082028036833780820191505090505b509050308160008151811061293b5761293a613f03565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a0691906136c7565b81600181518110612a1a57612a19613f03565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401612ab8959493929190613ff0565b600060405180830381600087803b158015612ad257600080fd5b505af1158015612ae6573d6000803e3d6000fd5b5050505060008247612af89190613e34565b9050612b4581600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b8590919063ffffffff16565b507f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b8482604051612b7792919061404a565b60405180910390a150505050565b600081471015612bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc1906140bf565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612bf090614110565b60006040518083038185875af1925050503d8060008114612c2d576040519150601f19603f3d011682016040523d82523d6000602084013e612c32565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca690614197565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1590614229565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9b906142bb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e379190613580565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e9b9190613120565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ee3578082015181840152602081019050612ec8565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f0b82612ea9565b612f158185612eb4565b9350612f25818560208601612ec5565b612f2e81612eef565b840191505092915050565b60006020820190508181036000830152612f538184612f00565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f8b82612f60565b9050919050565b612f9b81612f80565b8114612fa657600080fd5b50565b600081359050612fb881612f92565b92915050565b6000819050919050565b612fd181612fbe565b8114612fdc57600080fd5b50565b600081359050612fee81612fc8565b92915050565b6000806040838503121561300b5761300a612f5b565b5b600061301985828601612fa9565b925050602061302a85828601612fdf565b9150509250929050565b60008115159050919050565b61304981613034565b82525050565b60006020820190506130646000830184613040565b92915050565b6000602082840312156130805761307f612f5b565b5b600061308e84828501612fdf565b91505092915050565b6000819050919050565b60006130bc6130b76130b284612f60565b613097565b612f60565b9050919050565b60006130ce826130a1565b9050919050565b60006130e0826130c3565b9050919050565b6130f0816130d5565b82525050565b600060208201905061310b60008301846130e7565b92915050565b61311a81612fbe565b82525050565b60006020820190506131356000830184613111565b92915050565b61314481613034565b811461314f57600080fd5b50565b6000813590506131618161313b565b92915050565b60006020828403121561317d5761317c612f5b565b5b600061318b84828501613152565b91505092915050565b6000806000606084860312156131ad576131ac612f5b565b5b60006131bb86828701612fa9565b93505060206131cc86828701612fa9565b92505060406131dd86828701612fdf565b9150509250925092565b600060ff82169050919050565b6131fd816131e7565b82525050565b600060208201905061321860008301846131f4565b92915050565b61322781612f80565b82525050565b6000602082019050613242600083018461321e565b92915050565b60006020828403121561325e5761325d612f5b565b5b600061326c84828501612fa9565b91505092915050565b6000806040838503121561328c5761328b612f5b565b5b600061329a85828601612fa9565b92505060206132ab85828601613152565b9150509250929050565b600080604083850312156132cc576132cb612f5b565b5b60006132da85828601612fa9565b92505060206132eb85828601612fa9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061333c57607f821691505b60208210810361334f5761334e6132f5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061338b602083612eb4565b915061339682613355565b602082019050919050565b600060208201905081810360008301526133ba8161337e565b9050919050565b7f4f33443a204e657720666565206d757374206265206c6f776572207468616e2060008201527f6f6c642066656521000000000000000000000000000000000000000000000000602082015250565b600061341d602883612eb4565b9150613428826133c1565b604082019050919050565b6000602082019050818103600083015261344c81613410565b9050919050565b7f43757272656e746c79206174207468652073616d652073746167650000000000600082015250565b6000613489601b83612eb4565b915061349482613453565b602082019050919050565b600060208201905081810360008301526134b88161347c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061351b602883612eb4565b9150613526826134bf565b604082019050919050565b6000602082019050818103600083015261354a8161350e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061358b82612fbe565b915061359683612fbe565b92508282019050808211156135ae576135ad613551565b5b92915050565b7f4d61726b6574696e67204665652072656365697665722063616e6e6f7420626560008201527f20746865207a65726f206f722064656164206164647265737300000000000000602082015250565b6000613610603983612eb4565b915061361b826135b4565b604082019050919050565b6000602082019050818103600083015261363f81613603565b9050919050565b7f4f33443a2074726164696e6720616c726561647920656e61626c656421000000600082015250565b600061367c601d83612eb4565b915061368782613646565b602082019050919050565b600060208201905081810360008301526136ab8161366f565b9050919050565b6000815190506136c181612f92565b92915050565b6000602082840312156136dd576136dc612f5b565b5b60006136eb848285016136b2565b91505092915050565b6000604082019050613709600083018561321e565b613716602083018461321e565b9392505050565b6000819050919050565b600061374261373d6137388461371d565b613097565b612fbe565b9050919050565b61375281613727565b82525050565b600060c08201905061376d600083018961321e565b61377a6020830188613111565b6137876040830187613749565b6137946060830186613749565b6137a1608083018561321e565b6137ae60a0830184613111565b979650505050505050565b6000815190506137c881612fc8565b92915050565b6000806000606084860312156137e7576137e6612f5b565b5b60006137f5868287016137b9565b9350506020613806868287016137b9565b9250506040613817868287016137b9565b9150509250925092565b6000604082019050613836600083018561321e565b6138436020830184613111565b9392505050565b6000815190506138598161313b565b92915050565b60006020828403121561387557613874612f5b565b5b60006138838482850161384a565b91505092915050565b60006040820190506138a16000830185613040565b6138ae6020830184613111565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613911602583612eb4565b915061391c826138b5565b604082019050919050565b6000602082019050818103600083015261394081613904565b9050919050565b7f4f33443a204e6577206c696d6974206d7573742062652068696768657220746860008201527f616e206f6c646572210000000000000000000000000000000000000000000000602082015250565b60006139a3602983612eb4565b91506139ae82613947565b604082019050919050565b600060208201905081810360008301526139d281613996565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a35602683612eb4565b9150613a40826139d9565b604082019050919050565b60006020820190508181036000830152613a6481613a28565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b6000613ac7603783612eb4565b9150613ad282613a6b565b604082019050919050565b60006020820190508181036000830152613af681613aba565b9050919050565b600060208284031215613b1357613b12612f5b565b5b6000613b21848285016137b9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b86602483612eb4565b9150613b9182613b2a565b604082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c18602283612eb4565b9150613c2382613bbc565b604082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c84601e83612eb4565b9150613c8f82613c4e565b602082019050919050565b60006020820190508181036000830152613cb381613c77565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000613cf0601c83612eb4565b9150613cfb82613cba565b602082019050919050565b60006020820190508181036000830152613d1f81613ce3565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000613d5c601883612eb4565b9150613d6782613d26565b602082019050919050565b60006020820190508181036000830152613d8b81613d4f565b9050919050565b6000613d9d82612fbe565b9150613da883612fbe565b9250828202613db681612fbe565b91508282048414831517613dcd57613dcc613551565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e0e82612fbe565b9150613e1983612fbe565b925082613e2957613e28613dd4565b5b828204905092915050565b6000613e3f82612fbe565b9150613e4a83612fbe565b9250828203905081811115613e6257613e61613551565b5b92915050565b7f4d6178696d756d2077616c6c65742073697a6520657863656564656421000000600082015250565b6000613e9e601d83612eb4565b9150613ea982613e68565b602082019050919050565b60006020820190508181036000830152613ecd81613e91565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f6781612f80565b82525050565b6000613f798383613f5e565b60208301905092915050565b6000602082019050919050565b6000613f9d82613f32565b613fa78185613f3d565b9350613fb283613f4e565b8060005b83811015613fe3578151613fca8882613f6d565b9750613fd583613f85565b925050600181019050613fb6565b5085935050505092915050565b600060a0820190506140056000830188613111565b6140126020830187613749565b81810360408301526140248186613f92565b9050614033606083018561321e565b6140406080830184613111565b9695505050505050565b600060408201905061405f6000830185613111565b61406c6020830184613111565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006140a9601d83612eb4565b91506140b482614073565b602082019050919050565b600060208201905081810360008301526140d88161409c565b9050919050565b600081905092915050565b50565b60006140fa6000836140df565b9150614105826140ea565b600082019050919050565b600061411b826140ed565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614181602583612eb4565b915061418c82614125565b604082019050919050565b600060208201905081810360008301526141b081614174565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614213602383612eb4565b915061421e826141b7565b604082019050919050565b6000602082019050818103600083015261424281614206565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006142a5602683612eb4565b91506142b082614249565b604082019050919050565b600060208201905081810360008301526142d481614298565b905091905056fea264697066735822122059d81cc290cfa3ab163d63fc8f935d50e3a3ec67db0f06059648e29fe28bf74964736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000bc6b39d1339a67970e911da65aba0e3eae750d8a00000000000000000000000000000000000000000000000000000000389fd980
Deployed Bytecode
0x6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063e0f3ccf51161006f578063e0f3ccf514610710578063e3b24c8014610727578063e96fada214610750578063f2fde38b1461077b578063f9d0831a146107a4576101f9565b8063a9059cbb14610642578063acef1a441461067f578063c0246668146106aa578063dd62ed3e146106d3576101f9565b80638f3fa860116100dc5780638f3fa8601461058657806395d89b41146105b15780639d0014b1146105dc578063a457c2d714610605576101f9565b8063715018a6146105045780637c08b9641461051b5780638a8c523c146105445780638da5cb5b1461055b576101f9565b806339509351116101855780636b67c4df116101545780636b67c4df146104465780636ddd1713146104715780636fd8fb7a1461049c57806370a08231146104c7576101f9565b8063395093511461037657806349bd5a5e146103b35780634ada218b146103de5780634fbee19314610409576101f9565b806318160ddd116101c157806318160ddd146102ba578063239be29a146102e557806323b872dd1461030e578063313ce5671461034b576101f9565b806306fdde03146101fe578063095ea7b3146102295780630f198ee8146102665780631694505e1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107cd565b6040516102209190612f39565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612ff4565b61085f565b60405161025d919061304f565b60405180910390f35b34801561027257600080fd5b5061028d6004803603810190610288919061306a565b61087d565b005b34801561029b57600080fd5b506102a4610999565b6040516102b191906130f6565b60405180910390f35b3480156102c657600080fd5b506102cf6109bf565b6040516102dc9190613120565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190613167565b6109c9565b005b34801561031a57600080fd5b5061033560048036038101906103309190613194565b610b18565b604051610342919061304f565b60405180910390f35b34801561035757600080fd5b50610360610c37565b60405161036d9190613203565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612ff4565b610c40565b6040516103aa919061304f565b60405180910390f35b3480156103bf57600080fd5b506103c8610cec565b6040516103d5919061322d565b60405180910390f35b3480156103ea57600080fd5b506103f3610d12565b604051610400919061304f565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190613248565b610d25565b60405161043d919061304f565b60405180910390f35b34801561045257600080fd5b5061045b610d7b565b6040516104689190613120565b60405180910390f35b34801561047d57600080fd5b50610486610d81565b604051610493919061304f565b60405180910390f35b3480156104a857600080fd5b506104b1610d94565b6040516104be9190613120565b60405180910390f35b3480156104d357600080fd5b506104ee60048036038101906104e99190613248565b610d9a565b6040516104fb9190613120565b60405180910390f35b34801561051057600080fd5b50610519610de2565b005b34801561052757600080fd5b50610542600480360381019061053d9190613248565b610f3a565b005b34801561055057600080fd5b50610559611118565b005b34801561056757600080fd5b506105706116d2565b60405161057d919061322d565b60405180910390f35b34801561059257600080fd5b5061059b6116fc565b6040516105a89190613120565b60405180910390f35b3480156105bd57600080fd5b506105c6611702565b6040516105d39190612f39565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe919061306a565b611794565b005b34801561061157600080fd5b5061062c60048036038101906106279190612ff4565b61186c565b604051610639919061304f565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190612ff4565b611957565b604051610676919061304f565b60405180910390f35b34801561068b57600080fd5b50610694611975565b6040516106a19190613120565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613275565b61197b565b005b3480156106df57600080fd5b506106fa60048036038101906106f591906132b5565b611abb565b6040516107079190613120565b60405180910390f35b34801561071c57600080fd5b50610725611b42565b005b34801561073357600080fd5b5061074e6004803603810190610749919061306a565b611bf2565b005b34801561075c57600080fd5b50610765611d0e565b604051610772919061322d565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d9190613248565b611d34565b005b3480156107b057600080fd5b506107cb60048036038101906107c69190613248565b611efa565b005b6060600380546107dc90613324565b80601f016020809104026020016040519081016040528092919081815260200182805461080890613324565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061087361086c61215e565b8484612166565b6001905092915050565b61088561215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b906133a1565b60405180910390fd5b600c548110610958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094f90613433565b60405180910390fd5b80600c819055507f521fe74e1c24ea5dc1327c29145ebc90bae09bc5a6f6bea118b4ad87793327a58160405161098e9190613120565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6109d161215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a57906133a1565b60405180910390fd5b801515600b60019054906101000a900460ff16151503610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac9061349f565b60405180910390fd5b80600b60016101000a81548160ff0219169083151502179055507f0b24deddd077e0149099adf20869b94ebb4b0898a1068e9af5e30529f596e532600b60019054906101000a900460ff16604051610b0d919061304f565b60405180910390a150565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6461215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c205782811015610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290613531565b60405180910390fd5b610c1f85610c1761215e565b858403612166565b5b610c2b85858561232f565b60019150509392505050565b60006012905090565b6000610ce2610c4d61215e565b848460016000610c5b61215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cdd9190613580565b612166565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600c5481565b600b60019054906101000a900460ff1681565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dea61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e70906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f4261215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc8906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561103c575061dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107290613626565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fce24358e1d81b90be8bb8786b891404133aa63ffde0e56b69ccf25a5e3c4df06600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161110d919061322d565b60405180910390a150565b61112061215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906133a1565b60405180910390fd5b60001515600b60029054906101000a900460ff16151514611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90613692565b60405180910390fd5b61125230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612166565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e391906136c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139091906136c7565b6040518363ffffffff1660e01b81526004016113ad9291906136f4565b6020604051808303816000875af11580156113cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f091906136c7565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061147930610d9a565b6000806114846116d2565b426040518863ffffffff1660e01b81526004016114a696959493929190613758565b60606040518083038185885af11580156114c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114e991906137ce565b505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161158b929190613821565b6020604051808303816000875af11580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce919061385f565b506001600b60026101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff02191690831515021790555042600a81905550600160086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3eb2d65e1de77434db1b2cb0645de0085059e6e514d7b9641fdc2978d8e40c40600b60029054906101000a900460ff16600a546040516116c892919061388c565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606004805461171190613324565b80601f016020809104026020016040519081016040528092919081815260200182805461173d90613324565b801561178a5780601f1061175f5761010080835404028352916020019161178a565b820191906000526020600020905b81548152906001019060200180831161176d57829003601f168201915b5050505050905090565b61179c61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461182b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611822906133a1565b60405180910390fd5b80600d819055507fb090ae518da13bb076e9fad6694791d1d427db3284f7ac7321fbeafac08c7b27816040516118619190613120565b60405180910390a150565b6000806001600061187b61215e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192f90613927565b60405180910390fd5b61194c61194361215e565b85858403612166565b600191505092915050565b600061196b61196461215e565b848461232f565b6001905092915050565b600d5481565b61198361215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906133a1565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611aaf919061304f565b60405180910390a25050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611b4a61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd0906133a1565b60405180910390fd5b6000611be430610d9a565b9050611bef816128d3565b50565b611bfa61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906133a1565b60405180910390fd5b600e548111611ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc4906139b9565b60405180910390fd5b80600e819055507f69626ae9392dcbdfaecc4d3af4d6c00e0bb3888f512459d89551c2762e406c4181604051611d039190613120565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d3c61215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc2906133a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3190613a4b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611f0261215e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f88906133a1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff690613add565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120625761205c473373ffffffffffffffffffffffffffffffffffffffff16612b8590919063ffffffff16565b5061215b565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016120b8919061322d565b602060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f99190613afd565b6040518363ffffffff1660e01b8152600401612116929190613821565b6020604051808303816000875af1158015612135573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612159919061385f565b505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc90613b9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223b90613c2e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123229190613120565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361239e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239590613c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361240d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240490613d06565b60405180910390fd5b600b60029054906101000a900460ff16806124715750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806124c55750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fb90613d72565b60405180910390fd5b6000810361251d5761251883836000612c40565b6128ce565b600061252830610d9a565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125ce5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156125e65750600b60009054906101000a900460ff165b156125f457600090506126ca565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806126b55750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126b45750600b60029054906101000a900460ff165b5b156126c457600c5490506126c9565b600090505b5b600081111561270a576000606482856126e39190613d92565b6126ed9190613e03565b905080846126fb9190613e34565b9350612708863083612c40565b505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036127dd57600d548211801561277d5750600b60009054906101000a900460ff16155b80156127955750600b60019054906101000a900460ff165b156127dc576001600b60006101000a81548160ff0219169083151502179055506127c0600d546128d3565b6000600b60006101000a81548160ff0219169083151502179055505b5b600b60029054906101000a900460ff1680156128435750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561285c5750600b60009054906101000a900460ff16155b156128c057600061286c85610d9a565b9050600e54848261287d9190613580565b11156128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590613eb4565b60405180910390fd5b505b6128cb858585612c40565b50505b505050565b60004790506000600267ffffffffffffffff8111156128f5576128f4613ed4565b5b6040519080825280602002602001820160405280156129235781602001602082028036833780820191505090505b509050308160008151811061293b5761293a613f03565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a0691906136c7565b81600181518110612a1a57612a19613f03565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401612ab8959493929190613ff0565b600060405180830381600087803b158015612ad257600080fd5b505af1158015612ae6573d6000803e3d6000fd5b5050505060008247612af89190613e34565b9050612b4581600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b8590919063ffffffff16565b507f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b8482604051612b7792919061404a565b60405180910390a150505050565b600081471015612bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc1906140bf565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612bf090614110565b60006040518083038185875af1925050503d8060008114612c2d576040519150601f19603f3d011682016040523d82523d6000602084013e612c32565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca690614197565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1590614229565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9b906142bb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e379190613580565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e9b9190613120565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ee3578082015181840152602081019050612ec8565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f0b82612ea9565b612f158185612eb4565b9350612f25818560208601612ec5565b612f2e81612eef565b840191505092915050565b60006020820190508181036000830152612f538184612f00565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f8b82612f60565b9050919050565b612f9b81612f80565b8114612fa657600080fd5b50565b600081359050612fb881612f92565b92915050565b6000819050919050565b612fd181612fbe565b8114612fdc57600080fd5b50565b600081359050612fee81612fc8565b92915050565b6000806040838503121561300b5761300a612f5b565b5b600061301985828601612fa9565b925050602061302a85828601612fdf565b9150509250929050565b60008115159050919050565b61304981613034565b82525050565b60006020820190506130646000830184613040565b92915050565b6000602082840312156130805761307f612f5b565b5b600061308e84828501612fdf565b91505092915050565b6000819050919050565b60006130bc6130b76130b284612f60565b613097565b612f60565b9050919050565b60006130ce826130a1565b9050919050565b60006130e0826130c3565b9050919050565b6130f0816130d5565b82525050565b600060208201905061310b60008301846130e7565b92915050565b61311a81612fbe565b82525050565b60006020820190506131356000830184613111565b92915050565b61314481613034565b811461314f57600080fd5b50565b6000813590506131618161313b565b92915050565b60006020828403121561317d5761317c612f5b565b5b600061318b84828501613152565b91505092915050565b6000806000606084860312156131ad576131ac612f5b565b5b60006131bb86828701612fa9565b93505060206131cc86828701612fa9565b92505060406131dd86828701612fdf565b9150509250925092565b600060ff82169050919050565b6131fd816131e7565b82525050565b600060208201905061321860008301846131f4565b92915050565b61322781612f80565b82525050565b6000602082019050613242600083018461321e565b92915050565b60006020828403121561325e5761325d612f5b565b5b600061326c84828501612fa9565b91505092915050565b6000806040838503121561328c5761328b612f5b565b5b600061329a85828601612fa9565b92505060206132ab85828601613152565b9150509250929050565b600080604083850312156132cc576132cb612f5b565b5b60006132da85828601612fa9565b92505060206132eb85828601612fa9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061333c57607f821691505b60208210810361334f5761334e6132f5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061338b602083612eb4565b915061339682613355565b602082019050919050565b600060208201905081810360008301526133ba8161337e565b9050919050565b7f4f33443a204e657720666565206d757374206265206c6f776572207468616e2060008201527f6f6c642066656521000000000000000000000000000000000000000000000000602082015250565b600061341d602883612eb4565b9150613428826133c1565b604082019050919050565b6000602082019050818103600083015261344c81613410565b9050919050565b7f43757272656e746c79206174207468652073616d652073746167650000000000600082015250565b6000613489601b83612eb4565b915061349482613453565b602082019050919050565b600060208201905081810360008301526134b88161347c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061351b602883612eb4565b9150613526826134bf565b604082019050919050565b6000602082019050818103600083015261354a8161350e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061358b82612fbe565b915061359683612fbe565b92508282019050808211156135ae576135ad613551565b5b92915050565b7f4d61726b6574696e67204665652072656365697665722063616e6e6f7420626560008201527f20746865207a65726f206f722064656164206164647265737300000000000000602082015250565b6000613610603983612eb4565b915061361b826135b4565b604082019050919050565b6000602082019050818103600083015261363f81613603565b9050919050565b7f4f33443a2074726164696e6720616c726561647920656e61626c656421000000600082015250565b600061367c601d83612eb4565b915061368782613646565b602082019050919050565b600060208201905081810360008301526136ab8161366f565b9050919050565b6000815190506136c181612f92565b92915050565b6000602082840312156136dd576136dc612f5b565b5b60006136eb848285016136b2565b91505092915050565b6000604082019050613709600083018561321e565b613716602083018461321e565b9392505050565b6000819050919050565b600061374261373d6137388461371d565b613097565b612fbe565b9050919050565b61375281613727565b82525050565b600060c08201905061376d600083018961321e565b61377a6020830188613111565b6137876040830187613749565b6137946060830186613749565b6137a1608083018561321e565b6137ae60a0830184613111565b979650505050505050565b6000815190506137c881612fc8565b92915050565b6000806000606084860312156137e7576137e6612f5b565b5b60006137f5868287016137b9565b9350506020613806868287016137b9565b9250506040613817868287016137b9565b9150509250925092565b6000604082019050613836600083018561321e565b6138436020830184613111565b9392505050565b6000815190506138598161313b565b92915050565b60006020828403121561387557613874612f5b565b5b60006138838482850161384a565b91505092915050565b60006040820190506138a16000830185613040565b6138ae6020830184613111565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613911602583612eb4565b915061391c826138b5565b604082019050919050565b6000602082019050818103600083015261394081613904565b9050919050565b7f4f33443a204e6577206c696d6974206d7573742062652068696768657220746860008201527f616e206f6c646572210000000000000000000000000000000000000000000000602082015250565b60006139a3602983612eb4565b91506139ae82613947565b604082019050919050565b600060208201905081810360008301526139d281613996565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a35602683612eb4565b9150613a40826139d9565b604082019050919050565b60006020820190508181036000830152613a6481613a28565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b6000613ac7603783612eb4565b9150613ad282613a6b565b604082019050919050565b60006020820190508181036000830152613af681613aba565b9050919050565b600060208284031215613b1357613b12612f5b565b5b6000613b21848285016137b9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b86602483612eb4565b9150613b9182613b2a565b604082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c18602283612eb4565b9150613c2382613bbc565b604082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c84601e83612eb4565b9150613c8f82613c4e565b602082019050919050565b60006020820190508181036000830152613cb381613c77565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000613cf0601c83612eb4565b9150613cfb82613cba565b602082019050919050565b60006020820190508181036000830152613d1f81613ce3565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000613d5c601883612eb4565b9150613d6782613d26565b602082019050919050565b60006020820190508181036000830152613d8b81613d4f565b9050919050565b6000613d9d82612fbe565b9150613da883612fbe565b9250828202613db681612fbe565b91508282048414831517613dcd57613dcc613551565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e0e82612fbe565b9150613e1983612fbe565b925082613e2957613e28613dd4565b5b828204905092915050565b6000613e3f82612fbe565b9150613e4a83612fbe565b9250828203905081811115613e6257613e61613551565b5b92915050565b7f4d6178696d756d2077616c6c65742073697a6520657863656564656421000000600082015250565b6000613e9e601d83612eb4565b9150613ea982613e68565b602082019050919050565b60006020820190508181036000830152613ecd81613e91565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f6781612f80565b82525050565b6000613f798383613f5e565b60208301905092915050565b6000602082019050919050565b6000613f9d82613f32565b613fa78185613f3d565b9350613fb283613f4e565b8060005b83811015613fe3578151613fca8882613f6d565b9750613fd583613f85565b925050600181019050613fb6565b5085935050505092915050565b600060a0820190506140056000830188613111565b6140126020830187613749565b81810360408301526140248186613f92565b9050614033606083018561321e565b6140406080830184613111565b9695505050505050565b600060408201905061405f6000830185613111565b61406c6020830184613111565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006140a9601d83612eb4565b91506140b482614073565b602082019050919050565b600060208201905081810360008301526140d88161409c565b9050919050565b600081905092915050565b50565b60006140fa6000836140df565b9150614105826140ea565b600082019050919050565b600061411b826140ed565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614181602583612eb4565b915061418c82614125565b604082019050919050565b600060208201905081810360008301526141b081614174565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614213602383612eb4565b915061421e826141b7565b604082019050919050565b6000602082019050818103600083015261424281614206565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006142a5602683612eb4565b91506142b082614249565b604082019050919050565b600060208201905081810360008301526142d481614298565b905091905056fea264697066735822122059d81cc290cfa3ab163d63fc8f935d50e3a3ec67db0f06059648e29fe28bf74964736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000bc6b39d1339a67970e911da65aba0e3eae750d8a00000000000000000000000000000000000000000000000000000000389fd980
-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _feeReceiver (address): 0xBc6B39D1339a67970e911Da65aBa0E3eAe750d8a
Arg [2] : _initalLiquidity (uint256): 950000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000bc6b39d1339a67970e911da65aba0e3eae750d8a
Arg [2] : 00000000000000000000000000000000000000000000000000000000389fd980
Deployed Bytecode Sourcemap
11484:7631:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7089:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8065:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18456:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11569:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7406:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17390:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8267:622;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7309:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8897:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11617:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11865:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14198:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11900:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11835:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11757:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7522:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6241:148;;;;;;;;;;;;;:::i;:::-;;14332:433;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14851:778;;;;;;;;;;;;;:::i;:::-;;6027:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11972:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7197:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18939:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9195:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7673:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11934:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13979:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7881:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18291:157;;;;;;;;;;;;;:::i;:::-;;18686:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11715:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6397:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13504:467;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7089:100;7143:13;7176:5;7169:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7089:100;:::o;8065:194::-;8173:4;8190:39;8199:12;:10;:12::i;:::-;8213:7;8222:6;8190:8;:39::i;:::-;8247:4;8240:11;;8065:194;;;;:::o;18456:222::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18540:12:::1;;18530:7;:22;18522:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18625:7;18610:12;:22;;;;18650:20;18662:7;18650:20;;;;;;:::i;:::-;;;;;;;;18456:222:::0;:::o;11569:41::-;;;;;;;;;;;;;:::o;7406:108::-;7467:7;7494:12;;7487:19;;7406:108;:::o;17390:228::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17486:12:::1;17471:27;;:11;;;;;;;;;;;:27;;::::0;17463:67:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;17555:12;17541:11;;:26;;;;;;;;;;;;;;;;;;17583:27;17598:11;;;;;;;;;;;17583:27;;;;;;:::i;:::-;;;;;;;;17390:228:::0;:::o;8267:622::-;8407:4;8424:24;8451:11;:19;8463:6;8451:19;;;;;;;;;;;;;;;:33;8471:12;:10;:12::i;:::-;8451:33;;;;;;;;;;;;;;;;8424:60;;8519:17;8499:16;:37;8495:314;;8599:6;8579:16;:26;;8553:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;8725:57;8734:6;8742:12;:10;:12::i;:::-;8775:6;8756:16;:25;8725:8;:57::i;:::-;8495:314;8821:36;8831:6;8839:9;8850:6;8821:9;:36::i;:::-;8877:4;8870:11;;;8267:622;;;;;:::o;7309:93::-;7367:5;7392:2;7385:9;;7309:93;:::o;8897:290::-;9010:4;9027:130;9050:12;:10;:12::i;:::-;9077:7;9136:10;9099:11;:25;9111:12;:10;:12::i;:::-;9099:25;;;;;;;;;;;;;;;:34;9125:7;9099:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9027:8;:130::i;:::-;9175:4;9168:11;;8897:290;;;;:::o;11617:28::-;;;;;;;;;;;;;:::o;11865:26::-;;;;;;;;;;;;;:::o;14198:126::-;14264:4;14288:19;:28;14308:7;14288:28;;;;;;;;;;;;;;;;;;;;;;;;;14281:35;;14198:126;;;:::o;11900:27::-;;;;:::o;11835:23::-;;;;;;;;;;;;;:::o;11757:33::-;;;;:::o;7522:143::-;7612:7;7639:9;:18;7649:7;7639:18;;;;;;;;;;;;;;;;7632:25;;7522:143;;;:::o;6241:148::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6348:1:::1;6311:40;;6332:6;;;;;;;;;;;6311:40;;;;;;;;;;;;6379:1;6362:6;;:19;;;;;;;;;;;;;;;;;;6241:148::o:0;14332:433::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14491:1:::1;14458:35;;:21;:35;;;;:92;;;;;14543:6;14510:40;;:21;:40;;;;14458:92;14436:199;;;;;;;;;;;;:::i;:::-;;;;;;;;;14669:21;14646:20;;:44;;;;;;;;;;;;;;;;;;14708:49;14736:20;;;;;;;;;;;14708:49;;;;;;:::i;:::-;;;;;;;;14332:433:::0;:::o;14851:778::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14932:5:::1;14914:23;;:14;;;;;;;;;;;:23;;;14906:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14982:68;14999:4;15014:15;;;;;;;;;;;15032:17;14982:8;:68::i;:::-;15095:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15077:55;;;15141:4;15148:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15077:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15061:13;;:110;;;;;;;;;;;;;;;;;;15182:15;;;;;;;;;;;:31;;;15221:21;15252:4;15258:24;15276:4;15258:9;:24::i;:::-;15283:1;15285::::0;15287:7:::1;:5;:7::i;:::-;15295:15;15182:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15329:13;;;;;;;;;;;15322:29;;;15360:15;;;;;;;;;;;15378:14;15322:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15421:4;15404:14;;:21;;;;;;;;;;;;;;;;;;15450:4;15436:11;;:18;;;;;;;;;;;;;;;;;;15486:15;15465:18;:36;;;;15549:4;15512:19;:34;15532:13;;;;;;;;;;;15512:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;15571:50;15586:14;;;;;;;;;;;15602:18;;15571:50;;;;;;;:::i;:::-;;;;;;;;14851:778::o:0;6027:79::-;6065:7;6092:6;;;;;;;;;;;6085:13;;6027:79;:::o;11972:28::-;;;;:::o;7197:104::-;7253:13;7286:7;7279:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7197:104;:::o;18939:173::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19035:13:::1;19016:16;:32;;;;19066:38;19090:13;19066:38;;;;;;:::i;:::-;;;;;;;;18939:173:::0;:::o;9195:475::-;9313:4;9330:24;9357:11;:25;9369:12;:10;:12::i;:::-;9357:25;;;;;;;;;;;;;;;:34;9383:7;9357:34;;;;;;;;;;;;;;;;9330:61;;9444:15;9424:16;:35;;9402:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;9560:67;9569:12;:10;:12::i;:::-;9583:7;9611:15;9592:16;:34;9560:8;:67::i;:::-;9658:4;9651:11;;;9195:475;;;;:::o;7673:200::-;7784:4;7801:42;7811:12;:10;:12::i;:::-;7825:9;7836:6;7801:9;:42::i;:::-;7861:4;7854:11;;7673:200;;;;:::o;11934:31::-;;;;:::o;13979:211::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14122:8:::1;14091:19;:28;14111:7;14091:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14164:7;14148:34;;;14173:8;14148:34;;;;;;:::i;:::-;;;;;;;;13979:211:::0;;:::o;7881:176::-;7995:7;8022:11;:18;8034:5;8022:18;;;;;;;;;;;;;;;:27;8041:7;8022:27;;;;;;;;;;;;;;;;8015:34;;7881:176;;;;:::o;18291:157::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18341:23:::1;18367:24;18385:4;18367:9;:24::i;:::-;18341:50;;18402:38;18424:15;18402:21;:38::i;:::-;18330:118;18291:157::o:0;18686:245::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18778:13:::1;;18766:9;:25;18758:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;18866:9;18850:13;:25;;;;18893:30;18913:9;18893:30;;;;;;:::i;:::-;;;;;;;;18686:245:::0;:::o;11715:35::-;;;;;;;;;;;;;:::o;6397:281::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6520:1:::1;6500:22;;:8;:22;;::::0;6478:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6633:8;6604:38;;6625:6;;;;;;;;;;;6604:38;;;;;;;;;;;;6662:8;6653:6;;:17;;;;;;;;;;;;;;;;;;6397:281:::0;:::o;13504:467::-;6164:12;:10;:12::i;:::-;6154:22;;:6;;;;;;;;;;;:22;;;6146:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13614:4:::1;13597:22;;:5;:22;;::::0;13575:127:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13734:3;13717:21;;:5;:21;;::::0;13713:127:::1;;13755:52;13785:21;13763:10;13755:29;;;;:52;;;;:::i;:::-;;13822:7;;13713:127;13859:5;13852:22;;;13889:10;13921:5;13914:23;;;13946:4;13914:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13852:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6224:1;13504:467:::0;:::o;5569:98::-;5622:7;5649:10;5642:17;;5569:98;:::o;11097:380::-;11250:1;11233:19;;:5;:19;;;11225:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11331:1;11312:21;;:7;:21;;;11304:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11415:6;11385:11;:18;11397:5;11385:18;;;;;;;;;;;;;;;:27;11404:7;11385:27;;;;;;;;;;;;;;;:36;;;;11453:7;11437:32;;11446:5;11437:32;;;11462:6;11437:32;;;;;;:::i;:::-;;;;;;;;11097:380;;;:::o;15637:1745::-;15785:1;15769:18;;:4;:18;;;15761:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15855:1;15841:16;;:2;:16;;;15833:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;15909:14;;;;;;;;;;;:61;;;;15945:19;:25;15965:4;15945:25;;;;;;;;;;;;;;;;;;;;;;;;;15909:61;:106;;;;15992:19;:23;16012:2;15992:23;;;;;;;;;;;;;;;;;;;;;;;;;15909:106;15901:166;;;;;;;;;;;;:::i;:::-;;;;;;;;;16094:1;16084:6;:11;16080:93;;16112:28;16128:4;16134:2;16138:1;16112:15;:28::i;:::-;16155:7;;16080:93;16185:28;16216:24;16234:4;16216:9;:24::i;:::-;16185:55;;16253:18;16286:19;:25;16306:4;16286:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;;16315:19;:23;16335:2;16315:23;;;;;;;;;;;;;;;;;;;;;;;;;16286:52;:72;;;;;16342:16;;;;;;;;;;;16286:72;16282:292;;;16388:1;16375:14;;16282:292;;;16419:13;;;;;;;;;;;16411:21;;:4;:21;;;:62;;;;16442:13;;;;;;;;;;;16436:19;;:2;:19;;;:37;;;;;16459:14;;;;;;;;;;;16436:37;16411:62;16407:167;;;16503:12;;16490:25;;16407:167;;;16561:1;16548:14;;16407:167;16282:292;16603:1;16590:10;:14;16586:183;;;16621:12;16660:3;16646:10;16637:6;:19;;;;:::i;:::-;16636:27;;;;:::i;:::-;16621:42;;16696:4;16687:6;:13;;;;:::i;:::-;16678:22;;16715:42;16731:4;16745;16752;16715:15;:42::i;:::-;16606:163;16586:183;16790:13;;;;;;;;;;;16784:19;;:2;:19;;;16781:310;;16847:16;;16824:20;:39;:60;;;;;16868:16;;;;;;;;;;;16867:17;16824:60;:75;;;;;16888:11;;;;;;;;;;;16824:75;16820:260;;;16939:4;16920:16;;:23;;;;;;;;;;;;;;;;;;16964:39;16986:16;;16964:21;:39::i;:::-;17059:5;17040:16;;:24;;;;;;;;;;;;;;;;;;16820:260;16781:310;17106:14;;;;;;;;;;;:42;;;;;17125:19;:23;17145:2;17125:23;;;;;;;;;;;;;;;;;;;;;;;;;17124:24;17106:42;:63;;;;;17153:16;;;;;;;;;;;17152:17;17106:63;17103:226;;;17186:20;17209:13;17219:2;17209:9;:13::i;:::-;17186:36;;17270:13;;17260:6;17245:12;:21;;;;:::i;:::-;:38;;17237:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;17171:158;17103:226;17341:33;17357:4;17363:2;17367:6;17341:15;:33::i;:::-;15750:1632;;15637:1745;;;;:::o;17626:657::-;17697:22;17722:21;17697:46;;17756:21;17794:1;17780:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17756:40;;17825:4;17807;17812:1;17807:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17851:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17841:4;17846:1;17841:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17886:15;;;;;;;;;;;:66;;;17967:11;17993:1;18009:4;18036;18056:15;17886:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18095:18;18140:14;18116:21;:38;;;;:::i;:::-;18095:59;;18167:51;18207:10;18175:20;;;;;;;;;;;18167:39;;;;:51;;;;:::i;:::-;;18236:39;18251:11;18264:10;18236:39;;;;;;;:::i;:::-;;;;;;;;17686:597;;;17626:657;:::o;5180:349::-;5285:4;5349:6;5324:21;:31;;5302:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;5426:12;5444:9;:14;;5466:6;5444:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:52;;;5495:7;5488:14;;;5180:349;;;;:::o;9678:651::-;9836:1;9818:20;;:6;:20;;;9810:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9920:1;9899:23;;:9;:23;;;9891:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9975:21;9999:9;:17;10009:6;9999:17;;;;;;;;;;;;;;;;9975:41;;10066:6;10049:13;:23;;10027:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10210:6;10194:13;:22;10174:9;:17;10184:6;10174:17;;;;;;;;;;;;;;;:42;;;;10262:6;10238:9;:20;10248:9;10238:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10303:9;10286:35;;10295:6;10286:35;;;10314:6;10286:35;;;;;;:::i;:::-;;;;;;;;9799:530;9678:651;;;:::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:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:151::-;4202:9;4235:37;4266:5;4235:37;:::i;:::-;4222:50;;4127:151;;;:::o;4284:181::-;4396:62;4452:5;4396:62;:::i;:::-;4391:3;4384:75;4284:181;;:::o;4471:272::-;4589:4;4627:2;4616:9;4612:18;4604:26;;4640:96;4733:1;4722:9;4718:17;4709:6;4640:96;:::i;:::-;4471:272;;;;:::o;4749:118::-;4836:24;4854:5;4836:24;:::i;:::-;4831:3;4824:37;4749:118;;:::o;4873:222::-;4966:4;5004:2;4993:9;4989:18;4981:26;;5017:71;5085:1;5074:9;5070:17;5061:6;5017:71;:::i;:::-;4873:222;;;;:::o;5101:116::-;5171:21;5186:5;5171:21;:::i;:::-;5164:5;5161:32;5151:60;;5207:1;5204;5197:12;5151:60;5101:116;:::o;5223:133::-;5266:5;5304:6;5291:20;5282:29;;5320:30;5344:5;5320:30;:::i;:::-;5223:133;;;;:::o;5362:323::-;5418:6;5467:2;5455:9;5446:7;5442:23;5438:32;5435:119;;;5473:79;;:::i;:::-;5435:119;5593:1;5618:50;5660:7;5651:6;5640:9;5636:22;5618:50;:::i;:::-;5608:60;;5564:114;5362:323;;;;:::o;5691:619::-;5768:6;5776;5784;5833:2;5821:9;5812:7;5808:23;5804:32;5801:119;;;5839:79;;:::i;:::-;5801:119;5959:1;5984:53;6029:7;6020:6;6009:9;6005:22;5984:53;:::i;:::-;5974:63;;5930:117;6086:2;6112:53;6157:7;6148:6;6137:9;6133:22;6112:53;:::i;:::-;6102:63;;6057:118;6214:2;6240:53;6285:7;6276:6;6265:9;6261:22;6240:53;:::i;:::-;6230:63;;6185:118;5691:619;;;;;:::o;6316:86::-;6351:7;6391:4;6384:5;6380:16;6369:27;;6316:86;;;:::o;6408:112::-;6491:22;6507:5;6491:22;:::i;:::-;6486:3;6479:35;6408:112;;:::o;6526:214::-;6615:4;6653:2;6642:9;6638:18;6630:26;;6666:67;6730:1;6719:9;6715:17;6706:6;6666:67;:::i;:::-;6526:214;;;;:::o;6746:118::-;6833:24;6851:5;6833:24;:::i;:::-;6828:3;6821:37;6746:118;;:::o;6870:222::-;6963:4;7001:2;6990:9;6986:18;6978:26;;7014:71;7082:1;7071:9;7067:17;7058:6;7014:71;:::i;:::-;6870:222;;;;:::o;7098:329::-;7157:6;7206:2;7194:9;7185:7;7181:23;7177:32;7174:119;;;7212:79;;:::i;:::-;7174:119;7332:1;7357:53;7402:7;7393:6;7382:9;7378:22;7357:53;:::i;:::-;7347:63;;7303:117;7098:329;;;;:::o;7433:468::-;7498:6;7506;7555:2;7543:9;7534:7;7530:23;7526:32;7523:119;;;7561:79;;:::i;:::-;7523:119;7681:1;7706:53;7751:7;7742:6;7731:9;7727:22;7706:53;:::i;:::-;7696:63;;7652:117;7808:2;7834:50;7876:7;7867:6;7856:9;7852:22;7834:50;:::i;:::-;7824:60;;7779:115;7433:468;;;;;:::o;7907:474::-;7975:6;7983;8032:2;8020:9;8011:7;8007:23;8003:32;8000:119;;;8038:79;;:::i;:::-;8000:119;8158:1;8183:53;8228:7;8219:6;8208:9;8204:22;8183:53;:::i;:::-;8173:63;;8129:117;8285:2;8311:53;8356:7;8347:6;8336:9;8332:22;8311:53;:::i;:::-;8301:63;;8256:118;7907:474;;;;;:::o;8387:180::-;8435:77;8432:1;8425:88;8532:4;8529:1;8522:15;8556:4;8553:1;8546:15;8573:320;8617:6;8654:1;8648:4;8644:12;8634:22;;8701:1;8695:4;8691:12;8722:18;8712:81;;8778:4;8770:6;8766:17;8756:27;;8712:81;8840:2;8832:6;8829:14;8809:18;8806:38;8803:84;;8859:18;;:::i;:::-;8803:84;8624:269;8573:320;;;:::o;8899:182::-;9039:34;9035:1;9027:6;9023:14;9016:58;8899:182;:::o;9087:366::-;9229:3;9250:67;9314:2;9309:3;9250:67;:::i;:::-;9243:74;;9326:93;9415:3;9326:93;:::i;:::-;9444:2;9439:3;9435:12;9428:19;;9087:366;;;:::o;9459:419::-;9625:4;9663:2;9652:9;9648:18;9640:26;;9712:9;9706:4;9702:20;9698:1;9687:9;9683:17;9676:47;9740:131;9866:4;9740:131;:::i;:::-;9732:139;;9459:419;;;:::o;9884:227::-;10024:34;10020:1;10012:6;10008:14;10001:58;10093:10;10088:2;10080:6;10076:15;10069:35;9884:227;:::o;10117:366::-;10259:3;10280:67;10344:2;10339:3;10280:67;:::i;:::-;10273:74;;10356:93;10445:3;10356:93;:::i;:::-;10474:2;10469:3;10465:12;10458:19;;10117:366;;;:::o;10489:419::-;10655:4;10693:2;10682:9;10678:18;10670:26;;10742:9;10736:4;10732:20;10728:1;10717:9;10713:17;10706:47;10770:131;10896:4;10770:131;:::i;:::-;10762:139;;10489:419;;;:::o;10914:177::-;11054:29;11050:1;11042:6;11038:14;11031:53;10914:177;:::o;11097:366::-;11239:3;11260:67;11324:2;11319:3;11260:67;:::i;:::-;11253:74;;11336:93;11425:3;11336:93;:::i;:::-;11454:2;11449:3;11445:12;11438:19;;11097:366;;;:::o;11469:419::-;11635:4;11673:2;11662:9;11658:18;11650:26;;11722:9;11716:4;11712:20;11708:1;11697:9;11693:17;11686:47;11750:131;11876:4;11750:131;:::i;:::-;11742:139;;11469:419;;;:::o;11894:227::-;12034:34;12030:1;12022:6;12018:14;12011:58;12103:10;12098:2;12090:6;12086:15;12079:35;11894:227;:::o;12127:366::-;12269:3;12290:67;12354:2;12349:3;12290:67;:::i;:::-;12283:74;;12366:93;12455:3;12366:93;:::i;:::-;12484:2;12479:3;12475:12;12468:19;;12127:366;;;:::o;12499:419::-;12665:4;12703:2;12692:9;12688:18;12680:26;;12752:9;12746:4;12742:20;12738:1;12727:9;12723:17;12716:47;12780:131;12906:4;12780:131;:::i;:::-;12772:139;;12499:419;;;:::o;12924:180::-;12972:77;12969:1;12962:88;13069:4;13066:1;13059:15;13093:4;13090:1;13083:15;13110:191;13150:3;13169:20;13187:1;13169:20;:::i;:::-;13164:25;;13203:20;13221:1;13203:20;:::i;:::-;13198:25;;13246:1;13243;13239:9;13232:16;;13267:3;13264:1;13261:10;13258:36;;;13274:18;;:::i;:::-;13258:36;13110:191;;;;:::o;13307:244::-;13447:34;13443:1;13435:6;13431:14;13424:58;13516:27;13511:2;13503:6;13499:15;13492:52;13307:244;:::o;13557:366::-;13699:3;13720:67;13784:2;13779:3;13720:67;:::i;:::-;13713:74;;13796:93;13885:3;13796:93;:::i;:::-;13914:2;13909:3;13905:12;13898:19;;13557:366;;;:::o;13929:419::-;14095:4;14133:2;14122:9;14118:18;14110:26;;14182:9;14176:4;14172:20;14168:1;14157:9;14153:17;14146:47;14210:131;14336:4;14210:131;:::i;:::-;14202:139;;13929:419;;;:::o;14354:179::-;14494:31;14490:1;14482:6;14478:14;14471:55;14354:179;:::o;14539:366::-;14681:3;14702:67;14766:2;14761:3;14702:67;:::i;:::-;14695:74;;14778:93;14867:3;14778:93;:::i;:::-;14896:2;14891:3;14887:12;14880:19;;14539:366;;;:::o;14911:419::-;15077:4;15115:2;15104:9;15100:18;15092:26;;15164:9;15158:4;15154:20;15150:1;15139:9;15135:17;15128:47;15192:131;15318:4;15192:131;:::i;:::-;15184:139;;14911:419;;;:::o;15336:143::-;15393:5;15424:6;15418:13;15409:22;;15440:33;15467:5;15440:33;:::i;:::-;15336:143;;;;:::o;15485:351::-;15555:6;15604:2;15592:9;15583:7;15579:23;15575:32;15572:119;;;15610:79;;:::i;:::-;15572:119;15730:1;15755:64;15811:7;15802:6;15791:9;15787:22;15755:64;:::i;:::-;15745:74;;15701:128;15485:351;;;;:::o;15842:332::-;15963:4;16001:2;15990:9;15986:18;15978:26;;16014:71;16082:1;16071:9;16067:17;16058:6;16014:71;:::i;:::-;16095:72;16163:2;16152:9;16148:18;16139:6;16095:72;:::i;:::-;15842:332;;;;;:::o;16180:85::-;16225:7;16254:5;16243:16;;16180:85;;;:::o;16271:158::-;16329:9;16362:61;16380:42;16389:32;16415:5;16389:32;:::i;:::-;16380:42;:::i;:::-;16362:61;:::i;:::-;16349:74;;16271:158;;;:::o;16435:147::-;16530:45;16569:5;16530:45;:::i;:::-;16525:3;16518:58;16435:147;;:::o;16588:807::-;16837:4;16875:3;16864:9;16860:19;16852:27;;16889:71;16957:1;16946:9;16942:17;16933:6;16889:71;:::i;:::-;16970:72;17038:2;17027:9;17023:18;17014:6;16970:72;:::i;:::-;17052:80;17128:2;17117:9;17113:18;17104:6;17052:80;:::i;:::-;17142;17218:2;17207:9;17203:18;17194:6;17142:80;:::i;:::-;17232:73;17300:3;17289:9;17285:19;17276:6;17232:73;:::i;:::-;17315;17383:3;17372:9;17368:19;17359:6;17315:73;:::i;:::-;16588:807;;;;;;;;;:::o;17401:143::-;17458:5;17489:6;17483:13;17474:22;;17505:33;17532:5;17505:33;:::i;:::-;17401:143;;;;:::o;17550:663::-;17638:6;17646;17654;17703:2;17691:9;17682:7;17678:23;17674:32;17671:119;;;17709:79;;:::i;:::-;17671:119;17829:1;17854:64;17910:7;17901:6;17890:9;17886:22;17854:64;:::i;:::-;17844:74;;17800:128;17967:2;17993:64;18049:7;18040:6;18029:9;18025:22;17993:64;:::i;:::-;17983:74;;17938:129;18106:2;18132:64;18188:7;18179:6;18168:9;18164:22;18132:64;:::i;:::-;18122:74;;18077:129;17550:663;;;;;:::o;18219:332::-;18340:4;18378:2;18367:9;18363:18;18355:26;;18391:71;18459:1;18448:9;18444:17;18435:6;18391:71;:::i;:::-;18472:72;18540:2;18529:9;18525:18;18516:6;18472:72;:::i;:::-;18219:332;;;;;:::o;18557:137::-;18611:5;18642:6;18636:13;18627:22;;18658:30;18682:5;18658:30;:::i;:::-;18557:137;;;;:::o;18700:345::-;18767:6;18816:2;18804:9;18795:7;18791:23;18787:32;18784:119;;;18822:79;;:::i;:::-;18784:119;18942:1;18967:61;19020:7;19011:6;19000:9;18996:22;18967:61;:::i;:::-;18957:71;;18913:125;18700:345;;;;:::o;19051:320::-;19166:4;19204:2;19193:9;19189:18;19181:26;;19217:65;19279:1;19268:9;19264:17;19255:6;19217:65;:::i;:::-;19292:72;19360:2;19349:9;19345:18;19336:6;19292:72;:::i;:::-;19051:320;;;;;:::o;19377:224::-;19517:34;19513:1;19505:6;19501:14;19494:58;19586:7;19581:2;19573:6;19569:15;19562:32;19377:224;:::o;19607:366::-;19749:3;19770:67;19834:2;19829:3;19770:67;:::i;:::-;19763:74;;19846:93;19935:3;19846:93;:::i;:::-;19964:2;19959:3;19955:12;19948:19;;19607:366;;;:::o;19979:419::-;20145:4;20183:2;20172:9;20168:18;20160:26;;20232:9;20226:4;20222:20;20218:1;20207:9;20203:17;20196:47;20260:131;20386:4;20260:131;:::i;:::-;20252:139;;19979:419;;;:::o;20404:228::-;20544:34;20540:1;20532:6;20528:14;20521:58;20613:11;20608:2;20600:6;20596:15;20589:36;20404:228;:::o;20638:366::-;20780:3;20801:67;20865:2;20860:3;20801:67;:::i;:::-;20794:74;;20877:93;20966:3;20877:93;:::i;:::-;20995:2;20990:3;20986:12;20979:19;;20638:366;;;:::o;21010:419::-;21176:4;21214:2;21203:9;21199:18;21191:26;;21263:9;21257:4;21253:20;21249:1;21238:9;21234:17;21227:47;21291:131;21417:4;21291:131;:::i;:::-;21283:139;;21010:419;;;:::o;21435:225::-;21575:34;21571:1;21563:6;21559:14;21552:58;21644:8;21639:2;21631:6;21627:15;21620:33;21435:225;:::o;21666:366::-;21808:3;21829:67;21893:2;21888:3;21829:67;:::i;:::-;21822:74;;21905:93;21994:3;21905:93;:::i;:::-;22023:2;22018:3;22014:12;22007:19;;21666:366;;;:::o;22038:419::-;22204:4;22242:2;22231:9;22227:18;22219:26;;22291:9;22285:4;22281:20;22277:1;22266:9;22262:17;22255:47;22319:131;22445:4;22319:131;:::i;:::-;22311:139;;22038:419;;;:::o;22463:242::-;22603:34;22599:1;22591:6;22587:14;22580:58;22672:25;22667:2;22659:6;22655:15;22648:50;22463:242;:::o;22711:366::-;22853:3;22874:67;22938:2;22933:3;22874:67;:::i;:::-;22867:74;;22950:93;23039:3;22950:93;:::i;:::-;23068:2;23063:3;23059:12;23052:19;;22711:366;;;:::o;23083:419::-;23249:4;23287:2;23276:9;23272:18;23264:26;;23336:9;23330:4;23326:20;23322:1;23311:9;23307:17;23300:47;23364:131;23490:4;23364:131;:::i;:::-;23356:139;;23083:419;;;:::o;23508:351::-;23578:6;23627:2;23615:9;23606:7;23602:23;23598:32;23595:119;;;23633:79;;:::i;:::-;23595:119;23753:1;23778:64;23834:7;23825:6;23814:9;23810:22;23778:64;:::i;:::-;23768:74;;23724:128;23508:351;;;;:::o;23865:223::-;24005:34;24001:1;23993:6;23989:14;23982:58;24074:6;24069:2;24061:6;24057:15;24050:31;23865:223;:::o;24094:366::-;24236:3;24257:67;24321:2;24316:3;24257:67;:::i;:::-;24250:74;;24333:93;24422:3;24333:93;:::i;:::-;24451:2;24446:3;24442:12;24435:19;;24094:366;;;:::o;24466:419::-;24632:4;24670:2;24659:9;24655:18;24647:26;;24719:9;24713:4;24709:20;24705:1;24694:9;24690:17;24683:47;24747:131;24873:4;24747:131;:::i;:::-;24739:139;;24466:419;;;:::o;24891:221::-;25031:34;25027:1;25019:6;25015:14;25008:58;25100:4;25095:2;25087:6;25083:15;25076:29;24891:221;:::o;25118:366::-;25260:3;25281:67;25345:2;25340:3;25281:67;:::i;:::-;25274:74;;25357:93;25446:3;25357:93;:::i;:::-;25475:2;25470:3;25466:12;25459:19;;25118:366;;;:::o;25490:419::-;25656:4;25694:2;25683:9;25679:18;25671:26;;25743:9;25737:4;25733:20;25729:1;25718:9;25714:17;25707:47;25771:131;25897:4;25771:131;:::i;:::-;25763:139;;25490:419;;;:::o;25915:180::-;26055:32;26051:1;26043:6;26039:14;26032:56;25915:180;:::o;26101:366::-;26243:3;26264:67;26328:2;26323:3;26264:67;:::i;:::-;26257:74;;26340:93;26429:3;26340:93;:::i;:::-;26458:2;26453:3;26449:12;26442:19;;26101:366;;;:::o;26473:419::-;26639:4;26677:2;26666:9;26662:18;26654:26;;26726:9;26720:4;26716:20;26712:1;26701:9;26697:17;26690:47;26754:131;26880:4;26754:131;:::i;:::-;26746:139;;26473:419;;;:::o;26898:178::-;27038:30;27034:1;27026:6;27022:14;27015:54;26898:178;:::o;27082:366::-;27224:3;27245:67;27309:2;27304:3;27245:67;:::i;:::-;27238:74;;27321:93;27410:3;27321:93;:::i;:::-;27439:2;27434:3;27430:12;27423:19;;27082:366;;;:::o;27454:419::-;27620:4;27658:2;27647:9;27643:18;27635:26;;27707:9;27701:4;27697:20;27693:1;27682:9;27678:17;27671:47;27735:131;27861:4;27735:131;:::i;:::-;27727:139;;27454:419;;;:::o;27879:174::-;28019:26;28015:1;28007:6;28003:14;27996:50;27879:174;:::o;28059:366::-;28201:3;28222:67;28286:2;28281:3;28222:67;:::i;:::-;28215:74;;28298:93;28387:3;28298:93;:::i;:::-;28416:2;28411:3;28407:12;28400:19;;28059:366;;;:::o;28431:419::-;28597:4;28635:2;28624:9;28620:18;28612:26;;28684:9;28678:4;28674:20;28670:1;28659:9;28655:17;28648:47;28712:131;28838:4;28712:131;:::i;:::-;28704:139;;28431:419;;;:::o;28856:410::-;28896:7;28919:20;28937:1;28919:20;:::i;:::-;28914:25;;28953:20;28971:1;28953:20;:::i;:::-;28948:25;;29008:1;29005;29001:9;29030:30;29048:11;29030:30;:::i;:::-;29019:41;;29209:1;29200:7;29196:15;29193:1;29190:22;29170:1;29163:9;29143:83;29120:139;;29239:18;;:::i;:::-;29120:139;28904:362;28856:410;;;;:::o;29272:180::-;29320:77;29317:1;29310:88;29417:4;29414:1;29407:15;29441:4;29438:1;29431:15;29458:185;29498:1;29515:20;29533:1;29515:20;:::i;:::-;29510:25;;29549:20;29567:1;29549:20;:::i;:::-;29544:25;;29588:1;29578:35;;29593:18;;:::i;:::-;29578:35;29635:1;29632;29628:9;29623:14;;29458:185;;;;:::o;29649:194::-;29689:4;29709:20;29727:1;29709:20;:::i;:::-;29704:25;;29743:20;29761:1;29743:20;:::i;:::-;29738:25;;29787:1;29784;29780:9;29772:17;;29811:1;29805:4;29802:11;29799:37;;;29816:18;;:::i;:::-;29799:37;29649:194;;;;:::o;29849:179::-;29989:31;29985:1;29977:6;29973:14;29966:55;29849:179;:::o;30034:366::-;30176:3;30197:67;30261:2;30256:3;30197:67;:::i;:::-;30190:74;;30273:93;30362:3;30273:93;:::i;:::-;30391:2;30386:3;30382:12;30375:19;;30034:366;;;:::o;30406:419::-;30572:4;30610:2;30599:9;30595:18;30587:26;;30659:9;30653:4;30649:20;30645:1;30634:9;30630:17;30623:47;30687:131;30813:4;30687:131;:::i;:::-;30679:139;;30406:419;;;:::o;30831:180::-;30879:77;30876:1;30869:88;30976:4;30973:1;30966:15;31000:4;30997:1;30990:15;31017:180;31065:77;31062:1;31055:88;31162:4;31159:1;31152:15;31186:4;31183:1;31176:15;31203:114;31270:6;31304:5;31298:12;31288:22;;31203:114;;;:::o;31323:184::-;31422:11;31456:6;31451:3;31444:19;31496:4;31491:3;31487:14;31472:29;;31323:184;;;;:::o;31513:132::-;31580:4;31603:3;31595:11;;31633:4;31628:3;31624:14;31616:22;;31513:132;;;:::o;31651:108::-;31728:24;31746:5;31728:24;:::i;:::-;31723:3;31716:37;31651:108;;:::o;31765:179::-;31834:10;31855:46;31897:3;31889:6;31855:46;:::i;:::-;31933:4;31928:3;31924:14;31910:28;;31765:179;;;;:::o;31950:113::-;32020:4;32052;32047:3;32043:14;32035:22;;31950:113;;;:::o;32099:732::-;32218:3;32247:54;32295:5;32247:54;:::i;:::-;32317:86;32396:6;32391:3;32317:86;:::i;:::-;32310:93;;32427:56;32477:5;32427:56;:::i;:::-;32506:7;32537:1;32522:284;32547:6;32544:1;32541:13;32522:284;;;32623:6;32617:13;32650:63;32709:3;32694:13;32650:63;:::i;:::-;32643:70;;32736:60;32789:6;32736:60;:::i;:::-;32726:70;;32582:224;32569:1;32566;32562:9;32557:14;;32522:284;;;32526:14;32822:3;32815:10;;32223:608;;;32099:732;;;;:::o;32837:831::-;33100:4;33138:3;33127:9;33123:19;33115:27;;33152:71;33220:1;33209:9;33205:17;33196:6;33152:71;:::i;:::-;33233:80;33309:2;33298:9;33294:18;33285:6;33233:80;:::i;:::-;33360:9;33354:4;33350:20;33345:2;33334:9;33330:18;33323:48;33388:108;33491:4;33482:6;33388:108;:::i;:::-;33380:116;;33506:72;33574:2;33563:9;33559:18;33550:6;33506:72;:::i;:::-;33588:73;33656:3;33645:9;33641:19;33632:6;33588:73;:::i;:::-;32837:831;;;;;;;;:::o;33674:332::-;33795:4;33833:2;33822:9;33818:18;33810:26;;33846:71;33914:1;33903:9;33899:17;33890:6;33846:71;:::i;:::-;33927:72;33995:2;33984:9;33980:18;33971:6;33927:72;:::i;:::-;33674:332;;;;;:::o;34012:179::-;34152:31;34148:1;34140:6;34136:14;34129:55;34012:179;:::o;34197:366::-;34339:3;34360:67;34424:2;34419:3;34360:67;:::i;:::-;34353:74;;34436:93;34525:3;34436:93;:::i;:::-;34554:2;34549:3;34545:12;34538:19;;34197:366;;;:::o;34569:419::-;34735:4;34773:2;34762:9;34758:18;34750:26;;34822:9;34816:4;34812:20;34808:1;34797:9;34793:17;34786:47;34850:131;34976:4;34850:131;:::i;:::-;34842:139;;34569:419;;;:::o;34994:147::-;35095:11;35132:3;35117:18;;34994:147;;;;:::o;35147:114::-;;:::o;35267:398::-;35426:3;35447:83;35528:1;35523:3;35447:83;:::i;:::-;35440:90;;35539:93;35628:3;35539:93;:::i;:::-;35657:1;35652:3;35648:11;35641:18;;35267:398;;;:::o;35671:379::-;35855:3;35877:147;36020:3;35877:147;:::i;:::-;35870:154;;36041:3;36034:10;;35671:379;;;:::o;36056:224::-;36196:34;36192:1;36184:6;36180:14;36173:58;36265:7;36260:2;36252:6;36248:15;36241:32;36056:224;:::o;36286:366::-;36428:3;36449:67;36513:2;36508:3;36449:67;:::i;:::-;36442:74;;36525:93;36614:3;36525:93;:::i;:::-;36643:2;36638:3;36634:12;36627:19;;36286:366;;;:::o;36658:419::-;36824:4;36862:2;36851:9;36847:18;36839:26;;36911:9;36905:4;36901:20;36897:1;36886:9;36882:17;36875:47;36939:131;37065:4;36939:131;:::i;:::-;36931:139;;36658:419;;;:::o;37083:222::-;37223:34;37219:1;37211:6;37207:14;37200:58;37292:5;37287:2;37279:6;37275:15;37268:30;37083:222;:::o;37311:366::-;37453:3;37474:67;37538:2;37533:3;37474:67;:::i;:::-;37467:74;;37550:93;37639:3;37550:93;:::i;:::-;37668:2;37663:3;37659:12;37652:19;;37311:366;;;:::o;37683:419::-;37849:4;37887:2;37876:9;37872:18;37864:26;;37936:9;37930:4;37926:20;37922:1;37911:9;37907:17;37900:47;37964:131;38090:4;37964:131;:::i;:::-;37956:139;;37683:419;;;:::o;38108:225::-;38248:34;38244:1;38236:6;38232:14;38225:58;38317:8;38312:2;38304:6;38300:15;38293:33;38108:225;:::o;38339:366::-;38481:3;38502:67;38566:2;38561:3;38502:67;:::i;:::-;38495:74;;38578:93;38667:3;38578:93;:::i;:::-;38696:2;38691:3;38687:12;38680:19;;38339:366;;;:::o;38711:419::-;38877:4;38915:2;38904:9;38900:18;38892:26;;38964:9;38958:4;38954:20;38950:1;38939:9;38935:17;38928:47;38992:131;39118:4;38992:131;:::i;:::-;38984:139;;38711:419;;;:::o
Swarm Source
ipfs://59d81cc290cfa3ab163d63fc8f935d50e3a3ec67db0f06059648e29fe28bf749
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.