ERC-20
Overview
Max Total Supply
1,000,000 REKT
Holders
130
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Filtered by Token Holder
iboughtmiladyfor3eviabluranditmademeaninsider.ethBalance
876.633837739170503098 REKTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DontFuckingSell
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-12 */ /* The game is simple... ▓█████▄ ▒█████ ███▄ █ ▄▄▄█████▓ ▒██▀ ██▌▒██▒ ██▒ ██ ▀█ █ ▓ ██▒ ▓▒ ░██ █▌▒██░ ██▒▓██ ▀█ ██▒▒ ▓██░ ▒░ ░▓█▄ ▌▒██ ██░▓██▒ ▐▌██▒░ ▓██▓ ░ ░▒████▓ ░ ████▓▒░▒██░ ▓██░ ▒██▒ ░ ▒▒▓ ▒ ░ ▒░▒░▒░ ░ ▒░ ▒ ▒ ▒ ░░ ░ ▒ ▒ ░ ▒ ▒░ ░ ░░ ░ ▒░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ █████▒█ ██ ▄████▄ ██ ▄█▀ ██▓ ███▄ █ ▄████ ▓██ ▒ ██ ▓██▒▒██▀ ▀█ ██▄█▒ ▓██▒ ██ ▀█ █ ██▒ ▀█▒ ▒████ ░▓██ ▒██░▒▓█ ▄ ▓███▄░ ▒██▒▓██ ▀█ ██▒▒██░▄▄▄░ ░▓█▒ ░▓▓█ ░██░▒▓▓▄ ▄██▒▓██ █▄ ░██░▓██▒ ▐▌██▒░▓█ ██▓ ░▒█░ ▒▒█████▓ ▒ ▓███▀ ░▒██▒ █▄░██░▒██░ ▓██░░▒▓███▀▒ ▒ ░ ░▒▓▒ ▒ ▒ ░ ░▒ ▒ ░▒ ▒▒ ▓▒░▓ ░ ▒░ ▒ ▒ ░▒ ▒ ░ ░░▒░ ░ ░ ░ ▒ ░ ░▒ ▒░ ▒ ░░ ░░ ░ ▒░ ░ ░ ░ ░ ░░░ ░ ░ ░ ░ ░░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ██████ ▓█████ ██▓ ██▓ ▒██ ▒ ▓█ ▀ ▓██▒ ▓██▒ ░ ▓██▄ ▒███ ▒██░ ▒██░ ▒ ██▒▒▓█ ▄ ▒██░ ▒██░ ▒██████▒▒░▒████▒░██████▒░██████▒ ▒ ▒▓▒ ▒ ░░░ ▒░ ░░ ▒░▓ ░░ ▒░▓ ░ ░ ░▒ ░ ░ ░ ░ ░░ ░ ▒ ░░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ Twitter: https://x.com/dontsellcoin Telegram: https://t.me/dontsellcoin Website: https://dontsell.io */ // SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DontFuckingSell is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping(address => uint256) public lastTransferTimestamp; mapping (address => bool) public _isExcludedFromFee; mapping (address => bool) private blacklisted; mapping(address => uint256) private _lastBuy; mapping(address => uint256) private _lastSell; address payable private marketingWallet; address private treasuryWallet; address private airdropWallet; uint256 private initialBuyTax = 15; // 19% initial buy tax uint256 private initialSellTax = 33; // 33% initial sell tax uint256 private penaltyPercentage = 33; // 50% penalty by default uint256 private taxPercentage = 30; // 10% goes to tax uint256 private burnPercentage = 70; // 90% goes to burn address public constant DEAD = 0x000000000000000000000000000000000000dEaD; // 0x00000000000000000000000000000000 uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000 * 10**_decimals; string private constant _name = unicode"Dont Sell"; string private constant _symbol = unicode"REKT"; uint256 public _maxTxAmount = _tTotal.mul(20).div(1000); uint256 public _maxWalletSize = _tTotal.mul(20).div(1000); uint256 public _taxSwapThreshold= _tTotal.mul(5).div(1000); uint256 public sellRestrictionTime = 3600; // Default to 1 hour uint256 public _maxTaxSwap= _tTotal.mul(10).div(1000); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool public initialLaunchPeriod = true; bool private inSwap = false; bool private swapEnabled = false; event Burn(address indexed from, uint256 value); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor( address _router, address payable _marketingWallet, address _treasuryWallet, address _airdropWallet ) { marketingWallet = _marketingWallet; treasuryWallet = _treasuryWallet; airdropWallet = _airdropWallet; uint256 marketingAmount = _tTotal.mul(5).div(100); // 5% uint256 treasuryAmount = _tTotal.mul(5).div(100); // 5% uint256 airdropAmount = _tTotal.mul(3).div(100); // 3% uint256 remainingAmount = _tTotal.sub(marketingAmount).sub(treasuryAmount).sub(airdropAmount); _balances[_msgSender()] = remainingAmount; _balances[marketingWallet] = marketingAmount; _balances[treasuryWallet] = treasuryAmount; _balances[airdropWallet] = airdropAmount; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[marketingWallet] = true; _isExcludedFromFee[treasuryWallet] = true; _isExcludedFromFee[airdropWallet] = true; uniswapV2Router = IUniswapV2Router02(_router); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0), _msgSender(), remainingAmount); emit Transfer(address(0), marketingWallet, marketingAmount); emit Transfer(address(0), treasuryWallet, treasuryAmount); emit Transfer(address(0), airdropWallet, airdropAmount); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function whitelistAddress(address account, bool exempt) external onlyOwner { _isExcludedFromFee[account] = exempt; } function _transfer(address sender, address recipient, uint256 amount) private { require(!blacklisted[sender] && !blacklisted[recipient], "Blacklisted address"); require(amount > 0, "Transfer amount must be greater than zero"); require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if (!tradingOpen && (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient])) { _balances[sender]=_balances[sender].sub(amount); _balances[recipient]=_balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return; } if (sender == uniswapV2Pair && ! _isExcludedFromFee[recipient] ) { require(amount <= _maxTxAmount, "Exceeds max transaction limit"); require(balanceOf(recipient).add(amount) <= _maxWalletSize, "Exceeds max wallet limit"); } else if (sender != uniswapV2Pair && recipient != uniswapV2Pair && ! _isExcludedFromFee[recipient] ) { // This is a wallet-to-wallet transfer require(amount <= _maxTxAmount, "Exceeds max transaction limit"); require(balanceOf(recipient).add(amount) <= _maxWalletSize, "Exceeds max wallet limit"); } require(tradingOpen, "Trading must be open"); uint256 penaltyAmount = 0; uint256 taxAmount = 0; // Only apply penalties and restrictions after the initial launch period if (!initialLaunchPeriod) { // Enforce the 1-hour restriction after a transfer if (recipient == uniswapV2Pair && !_isExcludedFromFee[sender]) { // Sell action // Check for sell rule violations: bool ruleViolated = false; // Condition 1: Cannot sell within 1 hour of last buy if (block.timestamp.sub(_lastBuy[sender]) < sellRestrictionTime) { ruleViolated = true; } // Condition 2: Cannot sell more than 20% of the bag if (amount > balanceOf(sender).mul(20).div(100)) { ruleViolated = true; } // Condition 3: Cannot sell more than once per hour if (block.timestamp.sub(_lastSell[sender]) < sellRestrictionTime) { ruleViolated = true; } // If any rules are violated, apply penalty if (ruleViolated) { penaltyAmount = amount.mul(penaltyPercentage).div(100); // Apply penalty based on rule violations uint256 burnAmount = penaltyAmount.mul(burnPercentage).div(100); taxAmount = penaltyAmount.mul(taxPercentage).div(100); // Set taxAmount based on penalty // Burn the penalty tokens _burn(sender, burnAmount); } } } else{ // Apply the initial buy tax if (sender == uniswapV2Pair && !_isExcludedFromFee[recipient]) { // Buy action taxAmount = amount.mul(initialBuyTax).div(100); } // Apply the initial sell tax if (recipient == uniswapV2Pair && !_isExcludedFromFee[sender]) { // Sell action taxAmount = amount.mul(initialSellTax).div(100); } } uint256 contractTokenBalance = balanceOf(address(this)); // Transfer the total fee (including tax from penalty if applicable) once if (taxAmount > 0 && recipient == uniswapV2Pair && contractTokenBalance>_taxSwapThreshold) { swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if (taxAmount >0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(sender, address(this),taxAmount); } _balances[sender]=_balances[sender].sub(amount); if(penaltyAmount > 0) { _balances[recipient]=_balances[recipient].add(amount.sub(penaltyAmount)); emit Transfer(sender, recipient, amount.sub(penaltyAmount)); } else{ _balances[recipient]=_balances[recipient].add(amount.sub(taxAmount)); emit Transfer(sender, recipient, amount.sub(taxAmount)); } if (recipient == uniswapV2Pair) { _lastSell[sender] = block.timestamp; // Update last sell time } else { _lastBuy[recipient] = block.timestamp; // Update last buy time } } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits () external onlyOwner { initialLaunchPeriod = false; } function sendETHToFee(uint256 amount) private { marketingWallet.transfer(amount); } function updatePenaltyRates(uint256 _penaltyPercentage, uint256 _taxPercentage, uint256 _burnPercentage) external onlyOwner { require(_penaltyPercentage <= 100, "Penalty cannot be more than 100%"); require(_taxPercentage + _burnPercentage == 100, "Tax and burn must total 100%"); penaltyPercentage = _penaltyPercentage; taxPercentage = _taxPercentage; burnPercentage = _burnPercentage; } function addBot(address[] memory blacklisted_) public onlyOwner { for (uint i = 0; i < blacklisted_.length; i++) { blacklisted[blacklisted_[i]] = true; } } function delBot(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { blacklisted[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return blacklisted[a]; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newBuyFee, uint256 _newSellFee) external onlyOwner() { require(_newBuyFee<=50 && _newSellFee<=50); initialBuyTax=_newBuyFee; initialSellTax=_newSellFee; } receive() external payable {} function rescueERC20(address _address, uint256 percent) external onlyOwner() { uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(marketingWallet, _amount); } function manualSwap() external onlyOwner() { uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function _burn(address account, uint256 amount) private { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _balances[DEAD] = _balances[DEAD].add(amount); // Update DEAD address balance emit Burn(account, amount); emit Transfer(account, DEAD, amount); } function updateSellRestrictionTime(uint256 _sellRestrictionTime) external onlyOwner { sellRestrictionTime = _sellRestrictionTime; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address payable","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_treasuryWallet","type":"address"},{"internalType":"address","name":"_airdropWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"blacklisted_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialLaunchPeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastTransferTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellRestrictionTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_penaltyPercentage","type":"uint256"},{"internalType":"uint256","name":"_taxPercentage","type":"uint256"},{"internalType":"uint256","name":"_burnPercentage","type":"uint256"}],"name":"updatePenaltyRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellRestrictionTime","type":"uint256"}],"name":"updateSellRestrictionTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"whitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f600b556021600c556021600d55601e600e556046600f55620000686103e86200005960146012600a6200003a91906200100d565b620f42406200004a91906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b601055620000b66103e8620000a760146012600a6200008891906200100d565b620f42406200009891906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b601155620001046103e8620000f560056012600a620000d691906200100d565b620f4240620000e691906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b601255610e10601355620001586103e862000149600a6012600a6200012a91906200100d565b620f42406200013a91906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b6014556001601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff0219169083151502179055505f601660176101000a81548160ff021916908315150217905550348015620001b5575f80fd5b506040516200579d3803806200579d8339818101604052810190620001db91906200114e565b5f620001ec62000d2f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508260085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6200039360646200038460056012600a6200036591906200100d565b620f42406200037591906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b90505f620003e06064620003d160056012600a620003b291906200100d565b620f4240620003c291906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b90505f6200042d60646200041e60036012600a620003ff91906200100d565b620f42406200040f91906200105d565b62000c5e60201b90919060201c565b62000cde60201b90919060201c565b90505f6200048c826200047d856200046e886012600a6200044f91906200100d565b620f42406200045f91906200105d565b62000d3660201b90919060201c565b62000d3660201b90919060201c565b62000d3660201b90919060201c565b90508060015f620004a262000d2f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508360015f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260015f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f6200061d62000d8760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508760155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008f49190620011bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200097b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620009a19190620011bd565b6040518363ffffffff1660e01b8152600401620009c0929190620011fe565b6020604051808303815f875af1158015620009dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000a039190620011bd565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000a5262000d2f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ab091906200123a565b60405180910390a360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405162000b3891906200123a565b60405180910390a360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405162000bc091906200123a565b60405180910390a3600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405162000c4891906200123a565b60405180910390a350505050505050506200143d565b5f80830362000c70575f905062000cd8565b5f828462000c7f91906200105d565b905082848262000c90919062001282565b1462000cd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cca906200133d565b60405180910390fd5b809150505b92915050565b5f62000d2783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000dae60201b60201c565b905092915050565b5f33905090565b5f62000d7f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000e1460201b60201c565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808311829062000df7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000dee9190620013e1565b60405180910390fd5b505f838562000e07919062001282565b9050809150509392505050565b5f83831115829062000e5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e559190620013e1565b60405180910390fd5b505f838562000e6e919062001403565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000f055780860481111562000edd5762000edc62000e7b565b5b600185161562000eed5780820291505b808102905062000efd8562000ea8565b945062000ebd565b94509492505050565b5f8262000f1f576001905062000ff1565b8162000f2e575f905062000ff1565b816001811462000f47576002811462000f525762000f88565b600191505062000ff1565b60ff84111562000f675762000f6662000e7b565b5b8360020a91508482111562000f815762000f8062000e7b565b5b5062000ff1565b5060208310610133831016604e8410600b841016171562000fc25782820a90508381111562000fbc5762000fbb62000e7b565b5b62000ff1565b62000fd1848484600162000eb4565b9250905081840481111562000feb5762000fea62000e7b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620010198262000ff8565b9150620010268362001001565b9250620010557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f0e565b905092915050565b5f620010698262000ff8565b9150620010768362000ff8565b9250828202620010868162000ff8565b91508282048414831517620010a0576200109f62000e7b565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620010d682620010ab565b9050919050565b620010e881620010ca565b8114620010f3575f80fd5b50565b5f815190506200110681620010dd565b92915050565b5f6200111882620010ab565b9050919050565b6200112a816200110c565b811462001135575f80fd5b50565b5f8151905062001148816200111f565b92915050565b5f805f8060808587031215620011695762001168620010a7565b5b5f6200117887828801620010f6565b94505060206200118b8782880162001138565b93505060406200119e87828801620010f6565b9250506060620011b187828801620010f6565b91505092959194509250565b5f60208284031215620011d557620011d4620010a7565b5b5f620011e484828501620010f6565b91505092915050565b620011f881620010ca565b82525050565b5f604082019050620012135f830185620011ed565b620012226020830184620011ed565b9392505050565b620012348162000ff8565b82525050565b5f6020820190506200124f5f83018462001229565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200128e8262000ff8565b91506200129b8362000ff8565b925082620012ae57620012ad62001255565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62001325602183620012b9565b91506200133282620012c9565b604082019050919050565b5f6020820190508181035f830152620013568162001317565b9050919050565b5f81519050919050565b5f5b838110156200138657808201518184015260208101905062001369565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620013ad826200135d565b620013b98185620012b9565b9350620013cb81856020860162001367565b620013d68162001391565b840191505092915050565b5f6020820190508181035f830152620013fb8184620013a1565b905092915050565b5f6200140f8262000ff8565b91506200141c8362000ff8565b925082820390508181111562001437576200143662000e7b565b5b92915050565b614352806200144b5f395ff3fe6080604052600436106101db575f3560e01c8063751039fc11610101578063a9059cbb11610094578063c97c182111610063578063c97c182114610678578063dd62ed3e146106a0578063ef072348146106dc578063f2f6b33e14610704576101e2565b8063a9059cbb146105d4578063b9a45aac14610610578063bf474bed14610638578063c9567bf914610662576101e2565b80638da5cb5b116100d05780638da5cb5b1461051a5780638f9a55c01461054457806391fc1f2c1461056e57806395d89b41146105aa576101e2565b8063751039fc14610476578063768dc7101461048c5780637d1db4a5146104c85780638cd4426d146104f2576101e2565b8063313ce5671161017957806370a082311161014857806370a08231146103d2578063715018a61461040e578063723333561461042457806374a398ad1461044c576101e2565b8063313ce5671461032e5780633bbac57914610358578063414292a91461039457806351bc3c85146103bc576101e2565b80630faee56f116101b55780630faee56f1461027657806318160ddd146102a057806321bbcbb1146102ca57806323b872dd146102f2576101e2565b806303fd2a45146101e657806306fdde0314610210578063095ea7b31461023a576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa61072e565b604051610207919061308b565b60405180910390f35b34801561021b575f80fd5b50610224610734565b604051610231919061312e565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b91906131bc565b610771565b60405161026d9190613214565b60405180910390f35b348015610281575f80fd5b5061028a61078e565b604051610297919061323c565b60405180910390f35b3480156102ab575f80fd5b506102b4610794565b6040516102c1919061323c565b60405180910390f35b3480156102d5575f80fd5b506102f060048036038101906102eb9190613395565b6107b6565b005b3480156102fd575f80fd5b50610318600480360381019061031391906133dc565b6108d5565b6040516103259190613214565b60405180910390f35b348015610339575f80fd5b506103426109a9565b60405161034f9190613447565b60405180910390f35b348015610363575f80fd5b5061037e60048036038101906103799190613460565b6109b1565b60405161038b9190613214565b60405180910390f35b34801561039f575f80fd5b506103ba60048036038101906103b5919061348b565b610a03565b005b3480156103c7575f80fd5b506103d0610b43565b005b3480156103dd575f80fd5b506103f860048036038101906103f39190613460565b610c27565b604051610405919061323c565b60405180910390f35b348015610419575f80fd5b50610422610c6d565b005b34801561042f575f80fd5b5061044a600480360381019061044591906134db565b610dbb565b005b348015610457575f80fd5b50610460610e7b565b60405161046d919061323c565b60405180910390f35b348015610481575f80fd5b5061048a610e81565b005b348015610497575f80fd5b506104b260048036038101906104ad9190613460565b610f31565b6040516104bf9190613214565b60405180910390f35b3480156104d3575f80fd5b506104dc610f4e565b6040516104e9919061323c565b60405180910390f35b3480156104fd575f80fd5b50610518600480360381019061051391906131bc565b610f54565b005b348015610525575f80fd5b5061052e61112a565b60405161053b919061308b565b60405180910390f35b34801561054f575f80fd5b50610558611151565b604051610565919061323c565b60405180910390f35b348015610579575f80fd5b50610594600480360381019061058f9190613460565b611157565b6040516105a1919061323c565b60405180910390f35b3480156105b5575f80fd5b506105be61116c565b6040516105cb919061312e565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f591906131bc565b6111a9565b6040516106079190613214565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190613543565b6111c6565b005b348015610643575f80fd5b5061064c6112b2565b604051610659919061323c565b60405180910390f35b34801561066d575f80fd5b506106766112b8565b005b348015610683575f80fd5b5061069e60048036038101906106999190613395565b6113d4565b005b3480156106ab575f80fd5b506106c660048036038101906106c19190613581565b6114f2565b6040516106d3919061323c565b60405180910390f35b3480156106e7575f80fd5b5061070260048036038101906106fd91906135bf565b611574565b005b34801561070f575f80fd5b50610718611612565b6040516107259190613214565b60405180910390f35b61dead81565b60606040518060400160405280600981526020017f446f6e742053656c6c0000000000000000000000000000000000000000000000815250905090565b5f61078461077d611625565b848461162c565b6001905092915050565b60145481565b5f6012600a6107a39190613746565b620f42406107b19190613790565b905090565b6107be611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108419061381b565b60405180910390fd5b5f5b81518110156108d157600160055f84848151811061086d5761086c613839565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061084c565b5050565b5f6108e18484846117ef565b61099e846108ed611625565b610999856040518060600160405280602881526020016142f56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610950611625565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128d39092919063ffffffff16565b61162c565b600190509392505050565b5f6012905090565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610a0b611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e9061381b565b60405180910390fd5b6064831115610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad2906138b0565b60405180910390fd5b60648183610ae991906138ce565b14610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b209061394b565b60405180910390fd5b82600d8190555081600e8190555080600f81905550505050565b610b4b611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bce9061381b565b60405180910390fd5b5f610be130610c27565b90505f81118015610bfe5750601660179054906101000a900460ff165b15610c0d57610c0c81612935565b5b5f4790505f811115610c2357610c2281612b9e565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c75611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf89061381b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dc3611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e469061381b565b60405180910390fd5b60328211158015610e61575060328111155b610e69575f80fd5b81600b8190555080600c819055505050565b60135481565b610e89611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061381b565b60405180910390fd5b5f601660156101000a81548160ff021916908315150217905550565b6004602052805f5260405f205f915054906101000a900460ff1681565b60105481565b610f5c611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf9061381b565b60405180910390fd5b5f6110866064611078848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161102b919061308b565b602060405180830381865afa158015611046573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106a919061397d565b612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110e4929190613a03565b6020604051808303815f875af1158015611100573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111249190613a3e565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b6003602052805f5260405f205f915090505481565b60606040518060400160405280600481526020017f52454b5400000000000000000000000000000000000000000000000000000000815250905090565b5f6111bc6111b5611625565b84846117ef565b6001905092915050565b6111ce611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061381b565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60125481565b6112c0611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113439061381b565b60405180910390fd5b601660149054906101000a900460ff161561139c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139390613ab3565b60405180910390fd5b6001601660176101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b6113dc611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f9061381b565b60405180910390fd5b5f5b81518110156114ee575f60055f84848151811061148a57611489613839565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061146a565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61157c611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff9061381b565b60405180910390fd5b8060138190555050565b601660159054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190613b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ff90613bcf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117e2919061323c565b60405180910390a3505050565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561188d575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c390613c37565b60405180910390fd5b5f811161190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190590613cc5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197390613d53565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e190613de1565b60405180910390fd5b601660149054906101000a900460ff16158015611a9e575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611a9d575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611c2f57611af38160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cc690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b848160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c22919061323c565b60405180910390a36128ce565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611cd2575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d8057601054811115611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1390613e49565b60405180910390fd5b601154611d3a82611d2c85610c27565b612d0f90919063ffffffff16565b1115611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290613eb1565b60405180910390fd5b611f28565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e2a575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e7d575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f2757601054811115611ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebe90613e49565b60405180910390fd5b601154611ee582611ed785610c27565b612d0f90919063ffffffff16565b1115611f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1d90613eb1565b60405180910390fd5b5b5b601660149054906101000a900460ff16611f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6e90613f19565b60405180910390fd5b5f80601660159054906101000a900460ff166121c55760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612030575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121c0575f60135461208960065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442612cc690919063ffffffff16565b101561209457600190505b6120c360646120b560146120a78a610c27565b612c0690919063ffffffff16565b612c7d90919063ffffffff16565b8411156120cf57600190505b60135461212260075f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442612cc690919063ffffffff16565b101561212d57600190505b80156121be5761215b606461214d600d5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b92505f6121866064612178600f5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90506121b060646121a2600e5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b92506121bc8782612d6c565b505b505b61236c565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015612268575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612298576122956064612287600b5486612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561233b575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561236b57612368606461235a600c5486612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90505b5b5f61237630610c27565b90505f821180156123d3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156123e0575060125481115b1561241a576124026123fd856123f884601454612fd3565b612fd3565b612935565b5f4790505f8111156124185761241747612b9e565b5b505b5f821115612519576124728260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612510919061323c565b60405180910390a35b6125698460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8311156126d1576126146125c88486612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6126b78688612cc690919063ffffffff16565b6040516126c4919061323c565b60405180910390a36127ec565b6127336126e78386612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127d68588612cc690919063ffffffff16565b6040516127e3919061323c565b60405180910390a35b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612887574260075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128ca565b4260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5050505b505050565b5f83831115829061291a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612911919061312e565b60405180910390fd5b505f83856129289190613f37565b9050809150509392505050565b60016016806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561296b5761296a613259565b5b6040519080825280602002602001820160405280156129995781602001602082028036833780820191505090505b50905030815f815181106129b0576129af613839565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a789190613f7e565b81600181518110612a8c57612a8b613839565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612af23060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461162c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b54959493929190614099565b5f604051808303815f87803b158015612b6b575f80fd5b505af1158015612b7d573d5f803e3d5ffd5b50505050505f6016806101000a81548160ff02191690831515021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c02573d5f803e3d5ffd5b5050565b5f808303612c16575f9050612c77565b5f8284612c239190613790565b9050828482612c32919061411e565b14612c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c69906141be565b60405180910390fd5b809150505b92915050565b5f612cbe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612feb565b905092915050565b5f612d0783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128d3565b905092915050565b5f808284612d1d91906138ce565b905083811015612d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5990614226565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd1906142b4565b60405180910390fd5b612e44816040518060600160405280602281526020016142d36022913960015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128d39092919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612ed78160015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051612f60919061323c565b60405180910390a261dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fc7919061323c565b60405180910390a35050565b5f818311612fe15782612fe3565b815b905092915050565b5f8083118290613031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613028919061312e565b60405180910390fd5b505f838561303f919061411e565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130758261304c565b9050919050565b6130858161306b565b82525050565b5f60208201905061309e5f83018461307c565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130db5780820151818401526020810190506130c0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613100826130a4565b61310a81856130ae565b935061311a8185602086016130be565b613123816130e6565b840191505092915050565b5f6020820190508181035f83015261314681846130f6565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b6131688161306b565b8114613172575f80fd5b50565b5f813590506131838161315f565b92915050565b5f819050919050565b61319b81613189565b81146131a5575f80fd5b50565b5f813590506131b681613192565b92915050565b5f80604083850312156131d2576131d1613157565b5b5f6131df85828601613175565b92505060206131f0858286016131a8565b9150509250929050565b5f8115159050919050565b61320e816131fa565b82525050565b5f6020820190506132275f830184613205565b92915050565b61323681613189565b82525050565b5f60208201905061324f5f83018461322d565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61328f826130e6565b810181811067ffffffffffffffff821117156132ae576132ad613259565b5b80604052505050565b5f6132c061314e565b90506132cc8282613286565b919050565b5f67ffffffffffffffff8211156132eb576132ea613259565b5b602082029050602081019050919050565b5f80fd5b5f61331261330d846132d1565b6132b7565b90508083825260208201905060208402830185811115613335576133346132fc565b5b835b8181101561335e578061334a8882613175565b845260208401935050602081019050613337565b5050509392505050565b5f82601f83011261337c5761337b613255565b5b813561338c848260208601613300565b91505092915050565b5f602082840312156133aa576133a9613157565b5b5f82013567ffffffffffffffff8111156133c7576133c661315b565b5b6133d384828501613368565b91505092915050565b5f805f606084860312156133f3576133f2613157565b5b5f61340086828701613175565b935050602061341186828701613175565b9250506040613422868287016131a8565b9150509250925092565b5f60ff82169050919050565b6134418161342c565b82525050565b5f60208201905061345a5f830184613438565b92915050565b5f6020828403121561347557613474613157565b5b5f61348284828501613175565b91505092915050565b5f805f606084860312156134a2576134a1613157565b5b5f6134af868287016131a8565b93505060206134c0868287016131a8565b92505060406134d1868287016131a8565b9150509250925092565b5f80604083850312156134f1576134f0613157565b5b5f6134fe858286016131a8565b925050602061350f858286016131a8565b9150509250929050565b613522816131fa565b811461352c575f80fd5b50565b5f8135905061353d81613519565b92915050565b5f806040838503121561355957613558613157565b5b5f61356685828601613175565b92505060206135778582860161352f565b9150509250929050565b5f806040838503121561359757613596613157565b5b5f6135a485828601613175565b92505060206135b585828601613175565b9150509250929050565b5f602082840312156135d4576135d3613157565b5b5f6135e1848285016131a8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561366c57808604811115613648576136476135ea565b5b60018516156136575780820291505b808102905061366585613617565b945061362c565b94509492505050565b5f82613684576001905061373f565b81613691575f905061373f565b81600181146136a757600281146136b1576136e0565b600191505061373f565b60ff8411156136c3576136c26135ea565b5b8360020a9150848211156136da576136d96135ea565b5b5061373f565b5060208310610133831016604e8410600b84101617156137155782820a9050838111156137105761370f6135ea565b5b61373f565b6137228484846001613623565b92509050818404811115613739576137386135ea565b5b81810290505b9392505050565b5f61375082613189565b915061375b8361342c565b92506137887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613675565b905092915050565b5f61379a82613189565b91506137a583613189565b92508282026137b381613189565b915082820484148315176137ca576137c96135ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6138056020836130ae565b9150613810826137d1565b602082019050919050565b5f6020820190508181035f830152613832816137f9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f50656e616c74792063616e6e6f74206265206d6f7265207468616e20313030255f82015250565b5f61389a6020836130ae565b91506138a582613866565b602082019050919050565b5f6020820190508181035f8301526138c78161388e565b9050919050565b5f6138d882613189565b91506138e383613189565b92508282019050808211156138fb576138fa6135ea565b5b92915050565b7f54617820616e64206275726e206d75737420746f74616c2031303025000000005f82015250565b5f613935601c836130ae565b915061394082613901565b602082019050919050565b5f6020820190508181035f83015261396281613929565b9050919050565b5f8151905061397781613192565b92915050565b5f6020828403121561399257613991613157565b5b5f61399f84828501613969565b91505092915050565b5f819050919050565b5f6139cb6139c66139c18461304c565b6139a8565b61304c565b9050919050565b5f6139dc826139b1565b9050919050565b5f6139ed826139d2565b9050919050565b6139fd816139e3565b82525050565b5f604082019050613a165f8301856139f4565b613a23602083018461322d565b9392505050565b5f81519050613a3881613519565b92915050565b5f60208284031215613a5357613a52613157565b5b5f613a6084828501613a2a565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613a9d6017836130ae565b9150613aa882613a69565b602082019050919050565b5f6020820190508181035f830152613aca81613a91565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b2b6024836130ae565b9150613b3682613ad1565b604082019050919050565b5f6020820190508181035f830152613b5881613b1f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bb96022836130ae565b9150613bc482613b5f565b604082019050919050565b5f6020820190508181035f830152613be681613bad565b9050919050565b7f426c61636b6c69737465642061646472657373000000000000000000000000005f82015250565b5f613c216013836130ae565b9150613c2c82613bed565b602082019050919050565b5f6020820190508181035f830152613c4e81613c15565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613caf6029836130ae565b9150613cba82613c55565b604082019050919050565b5f6020820190508181035f830152613cdc81613ca3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613d3d6025836130ae565b9150613d4882613ce3565b604082019050919050565b5f6020820190508181035f830152613d6a81613d31565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613dcb6023836130ae565b9150613dd682613d71565b604082019050919050565b5f6020820190508181035f830152613df881613dbf565b9050919050565b7f45786365656473206d6178207472616e73616374696f6e206c696d69740000005f82015250565b5f613e33601d836130ae565b9150613e3e82613dff565b602082019050919050565b5f6020820190508181035f830152613e6081613e27565b9050919050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f613e9b6018836130ae565b9150613ea682613e67565b602082019050919050565b5f6020820190508181035f830152613ec881613e8f565b9050919050565b7f54726164696e67206d757374206265206f70656e0000000000000000000000005f82015250565b5f613f036014836130ae565b9150613f0e82613ecf565b602082019050919050565b5f6020820190508181035f830152613f3081613ef7565b9050919050565b5f613f4182613189565b9150613f4c83613189565b9250828203905081811115613f6457613f636135ea565b5b92915050565b5f81519050613f788161315f565b92915050565b5f60208284031215613f9357613f92613157565b5b5f613fa084828501613f6a565b91505092915050565b5f819050919050565b5f613fcc613fc7613fc284613fa9565b6139a8565b613189565b9050919050565b613fdc81613fb2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6140148161306b565b82525050565b5f614025838361400b565b60208301905092915050565b5f602082019050919050565b5f61404782613fe2565b6140518185613fec565b935061405c83613ffc565b805f5b8381101561408c578151614073888261401a565b975061407e83614031565b92505060018101905061405f565b5085935050505092915050565b5f60a0820190506140ac5f83018861322d565b6140b96020830187613fd3565b81810360408301526140cb818661403d565b90506140da606083018561307c565b6140e7608083018461322d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61412882613189565b915061413383613189565b925082614143576141426140f1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141a86021836130ae565b91506141b38261414e565b604082019050919050565b5f6020820190508181035f8301526141d58161419c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614210601b836130ae565b915061421b826141dc565b602082019050919050565b5f6020820190508181035f83015261423d81614204565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61429e6021836130ae565b91506142a982614244565b604082019050919050565b5f6020820190508181035f8301526142cb81614292565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220720c715c913d36924791ae2f5b920dc54e15c1f06fac0cc382fe215c8c3d838f64736f6c634300081700330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b4734aec3237e1a1213c9b5e743506a77bbf3cbc000000000000000000000000d9a5ba6358a1f37a210a7db52948667f85fa8486000000000000000000000000b2154531002746d2bdcf0167250dba25c20ed0e2
Deployed Bytecode
0x6080604052600436106101db575f3560e01c8063751039fc11610101578063a9059cbb11610094578063c97c182111610063578063c97c182114610678578063dd62ed3e146106a0578063ef072348146106dc578063f2f6b33e14610704576101e2565b8063a9059cbb146105d4578063b9a45aac14610610578063bf474bed14610638578063c9567bf914610662576101e2565b80638da5cb5b116100d05780638da5cb5b1461051a5780638f9a55c01461054457806391fc1f2c1461056e57806395d89b41146105aa576101e2565b8063751039fc14610476578063768dc7101461048c5780637d1db4a5146104c85780638cd4426d146104f2576101e2565b8063313ce5671161017957806370a082311161014857806370a08231146103d2578063715018a61461040e578063723333561461042457806374a398ad1461044c576101e2565b8063313ce5671461032e5780633bbac57914610358578063414292a91461039457806351bc3c85146103bc576101e2565b80630faee56f116101b55780630faee56f1461027657806318160ddd146102a057806321bbcbb1146102ca57806323b872dd146102f2576101e2565b806303fd2a45146101e657806306fdde0314610210578063095ea7b31461023a576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa61072e565b604051610207919061308b565b60405180910390f35b34801561021b575f80fd5b50610224610734565b604051610231919061312e565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b91906131bc565b610771565b60405161026d9190613214565b60405180910390f35b348015610281575f80fd5b5061028a61078e565b604051610297919061323c565b60405180910390f35b3480156102ab575f80fd5b506102b4610794565b6040516102c1919061323c565b60405180910390f35b3480156102d5575f80fd5b506102f060048036038101906102eb9190613395565b6107b6565b005b3480156102fd575f80fd5b50610318600480360381019061031391906133dc565b6108d5565b6040516103259190613214565b60405180910390f35b348015610339575f80fd5b506103426109a9565b60405161034f9190613447565b60405180910390f35b348015610363575f80fd5b5061037e60048036038101906103799190613460565b6109b1565b60405161038b9190613214565b60405180910390f35b34801561039f575f80fd5b506103ba60048036038101906103b5919061348b565b610a03565b005b3480156103c7575f80fd5b506103d0610b43565b005b3480156103dd575f80fd5b506103f860048036038101906103f39190613460565b610c27565b604051610405919061323c565b60405180910390f35b348015610419575f80fd5b50610422610c6d565b005b34801561042f575f80fd5b5061044a600480360381019061044591906134db565b610dbb565b005b348015610457575f80fd5b50610460610e7b565b60405161046d919061323c565b60405180910390f35b348015610481575f80fd5b5061048a610e81565b005b348015610497575f80fd5b506104b260048036038101906104ad9190613460565b610f31565b6040516104bf9190613214565b60405180910390f35b3480156104d3575f80fd5b506104dc610f4e565b6040516104e9919061323c565b60405180910390f35b3480156104fd575f80fd5b50610518600480360381019061051391906131bc565b610f54565b005b348015610525575f80fd5b5061052e61112a565b60405161053b919061308b565b60405180910390f35b34801561054f575f80fd5b50610558611151565b604051610565919061323c565b60405180910390f35b348015610579575f80fd5b50610594600480360381019061058f9190613460565b611157565b6040516105a1919061323c565b60405180910390f35b3480156105b5575f80fd5b506105be61116c565b6040516105cb919061312e565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f591906131bc565b6111a9565b6040516106079190613214565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190613543565b6111c6565b005b348015610643575f80fd5b5061064c6112b2565b604051610659919061323c565b60405180910390f35b34801561066d575f80fd5b506106766112b8565b005b348015610683575f80fd5b5061069e60048036038101906106999190613395565b6113d4565b005b3480156106ab575f80fd5b506106c660048036038101906106c19190613581565b6114f2565b6040516106d3919061323c565b60405180910390f35b3480156106e7575f80fd5b5061070260048036038101906106fd91906135bf565b611574565b005b34801561070f575f80fd5b50610718611612565b6040516107259190613214565b60405180910390f35b61dead81565b60606040518060400160405280600981526020017f446f6e742053656c6c0000000000000000000000000000000000000000000000815250905090565b5f61078461077d611625565b848461162c565b6001905092915050565b60145481565b5f6012600a6107a39190613746565b620f42406107b19190613790565b905090565b6107be611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108419061381b565b60405180910390fd5b5f5b81518110156108d157600160055f84848151811061086d5761086c613839565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061084c565b5050565b5f6108e18484846117ef565b61099e846108ed611625565b610999856040518060600160405280602881526020016142f56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610950611625565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128d39092919063ffffffff16565b61162c565b600190509392505050565b5f6012905090565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610a0b611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e9061381b565b60405180910390fd5b6064831115610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad2906138b0565b60405180910390fd5b60648183610ae991906138ce565b14610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b209061394b565b60405180910390fd5b82600d8190555081600e8190555080600f81905550505050565b610b4b611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bce9061381b565b60405180910390fd5b5f610be130610c27565b90505f81118015610bfe5750601660179054906101000a900460ff165b15610c0d57610c0c81612935565b5b5f4790505f811115610c2357610c2281612b9e565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c75611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf89061381b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dc3611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e469061381b565b60405180910390fd5b60328211158015610e61575060328111155b610e69575f80fd5b81600b8190555080600c819055505050565b60135481565b610e89611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061381b565b60405180910390fd5b5f601660156101000a81548160ff021916908315150217905550565b6004602052805f5260405f205f915054906101000a900460ff1681565b60105481565b610f5c611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf9061381b565b60405180910390fd5b5f6110866064611078848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161102b919061308b565b602060405180830381865afa158015611046573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106a919061397d565b612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110e4929190613a03565b6020604051808303815f875af1158015611100573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111249190613a3e565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b6003602052805f5260405f205f915090505481565b60606040518060400160405280600481526020017f52454b5400000000000000000000000000000000000000000000000000000000815250905090565b5f6111bc6111b5611625565b84846117ef565b6001905092915050565b6111ce611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061381b565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60125481565b6112c0611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113439061381b565b60405180910390fd5b601660149054906101000a900460ff161561139c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139390613ab3565b60405180910390fd5b6001601660176101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b6113dc611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f9061381b565b60405180910390fd5b5f5b81518110156114ee575f60055f84848151811061148a57611489613839565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061146a565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61157c611625565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff9061381b565b60405180910390fd5b8060138190555050565b601660159054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190613b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ff90613bcf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117e2919061323c565b60405180910390a3505050565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561188d575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c390613c37565b60405180910390fd5b5f811161190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190590613cc5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197390613d53565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e190613de1565b60405180910390fd5b601660149054906101000a900460ff16158015611a9e575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611a9d575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611c2f57611af38160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cc690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b848160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c22919061323c565b60405180910390a36128ce565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611cd2575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d8057601054811115611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1390613e49565b60405180910390fd5b601154611d3a82611d2c85610c27565b612d0f90919063ffffffff16565b1115611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290613eb1565b60405180910390fd5b611f28565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e2a575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e7d575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f2757601054811115611ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebe90613e49565b60405180910390fd5b601154611ee582611ed785610c27565b612d0f90919063ffffffff16565b1115611f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1d90613eb1565b60405180910390fd5b5b5b601660149054906101000a900460ff16611f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6e90613f19565b60405180910390fd5b5f80601660159054906101000a900460ff166121c55760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612030575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121c0575f60135461208960065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442612cc690919063ffffffff16565b101561209457600190505b6120c360646120b560146120a78a610c27565b612c0690919063ffffffff16565b612c7d90919063ffffffff16565b8411156120cf57600190505b60135461212260075f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442612cc690919063ffffffff16565b101561212d57600190505b80156121be5761215b606461214d600d5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b92505f6121866064612178600f5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90506121b060646121a2600e5487612c0690919063ffffffff16565b612c7d90919063ffffffff16565b92506121bc8782612d6c565b505b505b61236c565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015612268575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612298576122956064612287600b5486612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561233b575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561236b57612368606461235a600c5486612c0690919063ffffffff16565b612c7d90919063ffffffff16565b90505b5b5f61237630610c27565b90505f821180156123d3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156123e0575060125481115b1561241a576124026123fd856123f884601454612fd3565b612fd3565b612935565b5f4790505f8111156124185761241747612b9e565b5b505b5f821115612519576124728260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612510919061323c565b60405180910390a35b6125698460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8311156126d1576126146125c88486612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6126b78688612cc690919063ffffffff16565b6040516126c4919061323c565b60405180910390a36127ec565b6127336126e78386612cc690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127d68588612cc690919063ffffffff16565b6040516127e3919061323c565b60405180910390a35b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612887574260075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128ca565b4260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5050505b505050565b5f83831115829061291a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612911919061312e565b60405180910390fd5b505f83856129289190613f37565b9050809150509392505050565b60016016806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561296b5761296a613259565b5b6040519080825280602002602001820160405280156129995781602001602082028036833780820191505090505b50905030815f815181106129b0576129af613839565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a789190613f7e565b81600181518110612a8c57612a8b613839565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612af23060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461162c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b54959493929190614099565b5f604051808303815f87803b158015612b6b575f80fd5b505af1158015612b7d573d5f803e3d5ffd5b50505050505f6016806101000a81548160ff02191690831515021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c02573d5f803e3d5ffd5b5050565b5f808303612c16575f9050612c77565b5f8284612c239190613790565b9050828482612c32919061411e565b14612c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c69906141be565b60405180910390fd5b809150505b92915050565b5f612cbe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612feb565b905092915050565b5f612d0783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128d3565b905092915050565b5f808284612d1d91906138ce565b905083811015612d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5990614226565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd1906142b4565b60405180910390fd5b612e44816040518060600160405280602281526020016142d36022913960015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128d39092919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612ed78160015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d0f90919063ffffffff16565b60015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051612f60919061323c565b60405180910390a261dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fc7919061323c565b60405180910390a35050565b5f818311612fe15782612fe3565b815b905092915050565b5f8083118290613031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613028919061312e565b60405180910390fd5b505f838561303f919061411e565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130758261304c565b9050919050565b6130858161306b565b82525050565b5f60208201905061309e5f83018461307c565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130db5780820151818401526020810190506130c0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613100826130a4565b61310a81856130ae565b935061311a8185602086016130be565b613123816130e6565b840191505092915050565b5f6020820190508181035f83015261314681846130f6565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b6131688161306b565b8114613172575f80fd5b50565b5f813590506131838161315f565b92915050565b5f819050919050565b61319b81613189565b81146131a5575f80fd5b50565b5f813590506131b681613192565b92915050565b5f80604083850312156131d2576131d1613157565b5b5f6131df85828601613175565b92505060206131f0858286016131a8565b9150509250929050565b5f8115159050919050565b61320e816131fa565b82525050565b5f6020820190506132275f830184613205565b92915050565b61323681613189565b82525050565b5f60208201905061324f5f83018461322d565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61328f826130e6565b810181811067ffffffffffffffff821117156132ae576132ad613259565b5b80604052505050565b5f6132c061314e565b90506132cc8282613286565b919050565b5f67ffffffffffffffff8211156132eb576132ea613259565b5b602082029050602081019050919050565b5f80fd5b5f61331261330d846132d1565b6132b7565b90508083825260208201905060208402830185811115613335576133346132fc565b5b835b8181101561335e578061334a8882613175565b845260208401935050602081019050613337565b5050509392505050565b5f82601f83011261337c5761337b613255565b5b813561338c848260208601613300565b91505092915050565b5f602082840312156133aa576133a9613157565b5b5f82013567ffffffffffffffff8111156133c7576133c661315b565b5b6133d384828501613368565b91505092915050565b5f805f606084860312156133f3576133f2613157565b5b5f61340086828701613175565b935050602061341186828701613175565b9250506040613422868287016131a8565b9150509250925092565b5f60ff82169050919050565b6134418161342c565b82525050565b5f60208201905061345a5f830184613438565b92915050565b5f6020828403121561347557613474613157565b5b5f61348284828501613175565b91505092915050565b5f805f606084860312156134a2576134a1613157565b5b5f6134af868287016131a8565b93505060206134c0868287016131a8565b92505060406134d1868287016131a8565b9150509250925092565b5f80604083850312156134f1576134f0613157565b5b5f6134fe858286016131a8565b925050602061350f858286016131a8565b9150509250929050565b613522816131fa565b811461352c575f80fd5b50565b5f8135905061353d81613519565b92915050565b5f806040838503121561355957613558613157565b5b5f61356685828601613175565b92505060206135778582860161352f565b9150509250929050565b5f806040838503121561359757613596613157565b5b5f6135a485828601613175565b92505060206135b585828601613175565b9150509250929050565b5f602082840312156135d4576135d3613157565b5b5f6135e1848285016131a8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561366c57808604811115613648576136476135ea565b5b60018516156136575780820291505b808102905061366585613617565b945061362c565b94509492505050565b5f82613684576001905061373f565b81613691575f905061373f565b81600181146136a757600281146136b1576136e0565b600191505061373f565b60ff8411156136c3576136c26135ea565b5b8360020a9150848211156136da576136d96135ea565b5b5061373f565b5060208310610133831016604e8410600b84101617156137155782820a9050838111156137105761370f6135ea565b5b61373f565b6137228484846001613623565b92509050818404811115613739576137386135ea565b5b81810290505b9392505050565b5f61375082613189565b915061375b8361342c565b92506137887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613675565b905092915050565b5f61379a82613189565b91506137a583613189565b92508282026137b381613189565b915082820484148315176137ca576137c96135ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6138056020836130ae565b9150613810826137d1565b602082019050919050565b5f6020820190508181035f830152613832816137f9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f50656e616c74792063616e6e6f74206265206d6f7265207468616e20313030255f82015250565b5f61389a6020836130ae565b91506138a582613866565b602082019050919050565b5f6020820190508181035f8301526138c78161388e565b9050919050565b5f6138d882613189565b91506138e383613189565b92508282019050808211156138fb576138fa6135ea565b5b92915050565b7f54617820616e64206275726e206d75737420746f74616c2031303025000000005f82015250565b5f613935601c836130ae565b915061394082613901565b602082019050919050565b5f6020820190508181035f83015261396281613929565b9050919050565b5f8151905061397781613192565b92915050565b5f6020828403121561399257613991613157565b5b5f61399f84828501613969565b91505092915050565b5f819050919050565b5f6139cb6139c66139c18461304c565b6139a8565b61304c565b9050919050565b5f6139dc826139b1565b9050919050565b5f6139ed826139d2565b9050919050565b6139fd816139e3565b82525050565b5f604082019050613a165f8301856139f4565b613a23602083018461322d565b9392505050565b5f81519050613a3881613519565b92915050565b5f60208284031215613a5357613a52613157565b5b5f613a6084828501613a2a565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613a9d6017836130ae565b9150613aa882613a69565b602082019050919050565b5f6020820190508181035f830152613aca81613a91565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b2b6024836130ae565b9150613b3682613ad1565b604082019050919050565b5f6020820190508181035f830152613b5881613b1f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bb96022836130ae565b9150613bc482613b5f565b604082019050919050565b5f6020820190508181035f830152613be681613bad565b9050919050565b7f426c61636b6c69737465642061646472657373000000000000000000000000005f82015250565b5f613c216013836130ae565b9150613c2c82613bed565b602082019050919050565b5f6020820190508181035f830152613c4e81613c15565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613caf6029836130ae565b9150613cba82613c55565b604082019050919050565b5f6020820190508181035f830152613cdc81613ca3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613d3d6025836130ae565b9150613d4882613ce3565b604082019050919050565b5f6020820190508181035f830152613d6a81613d31565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613dcb6023836130ae565b9150613dd682613d71565b604082019050919050565b5f6020820190508181035f830152613df881613dbf565b9050919050565b7f45786365656473206d6178207472616e73616374696f6e206c696d69740000005f82015250565b5f613e33601d836130ae565b9150613e3e82613dff565b602082019050919050565b5f6020820190508181035f830152613e6081613e27565b9050919050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f613e9b6018836130ae565b9150613ea682613e67565b602082019050919050565b5f6020820190508181035f830152613ec881613e8f565b9050919050565b7f54726164696e67206d757374206265206f70656e0000000000000000000000005f82015250565b5f613f036014836130ae565b9150613f0e82613ecf565b602082019050919050565b5f6020820190508181035f830152613f3081613ef7565b9050919050565b5f613f4182613189565b9150613f4c83613189565b9250828203905081811115613f6457613f636135ea565b5b92915050565b5f81519050613f788161315f565b92915050565b5f60208284031215613f9357613f92613157565b5b5f613fa084828501613f6a565b91505092915050565b5f819050919050565b5f613fcc613fc7613fc284613fa9565b6139a8565b613189565b9050919050565b613fdc81613fb2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6140148161306b565b82525050565b5f614025838361400b565b60208301905092915050565b5f602082019050919050565b5f61404782613fe2565b6140518185613fec565b935061405c83613ffc565b805f5b8381101561408c578151614073888261401a565b975061407e83614031565b92505060018101905061405f565b5085935050505092915050565b5f60a0820190506140ac5f83018861322d565b6140b96020830187613fd3565b81810360408301526140cb818661403d565b90506140da606083018561307c565b6140e7608083018461322d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61412882613189565b915061413383613189565b925082614143576141426140f1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141a86021836130ae565b91506141b38261414e565b604082019050919050565b5f6020820190508181035f8301526141d58161419c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614210601b836130ae565b915061421b826141dc565b602082019050919050565b5f6020820190508181035f83015261423d81614204565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61429e6021836130ae565b91506142a982614244565b604082019050919050565b5f6020820190508181035f8301526142cb81614292565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220720c715c913d36924791ae2f5b920dc54e15c1f06fac0cc382fe215c8c3d838f64736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b4734aec3237e1a1213c9b5e743506a77bbf3cbc000000000000000000000000d9a5ba6358a1f37a210a7db52948667f85fa8486000000000000000000000000b2154531002746d2bdcf0167250dba25c20ed0e2
-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _marketingWallet (address): 0xB4734aEC3237E1a1213C9b5E743506a77bBf3cBC
Arg [2] : _treasuryWallet (address): 0xd9A5Ba6358A1f37a210a7DB52948667f85fa8486
Arg [3] : _airdropWallet (address): 0xb2154531002746D2bDCF0167250dba25C20ED0E2
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000b4734aec3237e1a1213c9b5e743506a77bbf3cbc
Arg [2] : 000000000000000000000000d9a5ba6358a1f37a210a7db52948667f85fa8486
Arg [3] : 000000000000000000000000b2154531002746d2bdcf0167250dba25c20ed0e2
Deployed Bytecode Sourcemap
6560:13338:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7512:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10036:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10869:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8113:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10313:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17865:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11038:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10222:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18234:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17422:437;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19022:338;;;;;;;;;;;;;:::i;:::-;;10416:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5641:148;;;;;;;;;;;;;:::i;:::-;;18512:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8042:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17217:90;;;;;;;;;;;;;:::i;:::-;;6845:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7851:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18765:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5427:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7913:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6782:56;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10127:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10543:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11698:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7977:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18330:168;;;;;;;;;;;;;:::i;:::-;;18064:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10718:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19758:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8291:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7512:73;7543:42;7512:73;:::o;10036:83::-;10073:13;10106:5;;;;;;;;;;;;;;;;;10099:12;;10036:83;:::o;10869:161::-;10944:4;10961:39;10970:12;:10;:12::i;:::-;10984:7;10993:6;10961:8;:39::i;:::-;11018:4;11011:11;;10869:161;;;;:::o;8113:53::-;;;;:::o;10313:95::-;10366:7;7666:2;7720;:13;;;;:::i;:::-;7710:7;:23;;;;:::i;:::-;10386:14;;10313:95;:::o;17865:191::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17945:6:::1;17940:109;17961:12;:19;17957:1;:23;17940:109;;;18033:4;18002:11;:28;18014:12;18027:1;18014:15;;;;;;;;:::i;:::-;;;;;;;;18002:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;17982:3;;;;;;;17940:109;;;;17865:191:::0;:::o;11038:313::-;11136:4;11153:36;11163:6;11171:9;11182:6;11153:9;:36::i;:::-;11200:121;11209:6;11217:12;:10;:12::i;:::-;11231:89;11269:6;11231:89;;;;;;;;;;;;;;;;;:11;:19;11243:6;11231:19;;;;;;;;;;;;;;;:33;11251:12;:10;:12::i;:::-;11231:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;11200:8;:121::i;:::-;11339:4;11332:11;;11038:313;;;;;:::o;10222:83::-;10263:5;7666:2;10281:16;;10222:83;:::o;18234:88::-;18281:4;18300:11;:14;18312:1;18300:14;;;;;;;;;;;;;;;;;;;;;;;;;18293:21;;18234:88;;;:::o;17422:437::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17587:3:::1;17565:18;:25;;17557:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;17682:3;17663:15;17646:14;:32;;;;:::i;:::-;:39;17638:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;17749:18;17729:17;:38;;;;17794:14;17778:13;:30;;;;17836:15;17819:14;:32;;;;17422:437:::0;;;:::o;19022:338::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19087:20:::1;19108:24;19126:4;19108:9;:24::i;:::-;19087:45;;19159:1;19146:12;:14;:29;;;;;19164:11;;;;;;;;;;;19146:29;19143:86;;;19187:30;19204:12;19187:16;:30::i;:::-;19143:86;19239:18;19258:21;19239:40;;19304:1;19293:10;:12;19290:63;;;19317:24;19330:10;19317:12;:24::i;:::-;19290:63;19066:294;;19022:338::o:0;10416:119::-;10482:7;10509:9;:18;10519:7;10509:18;;;;;;;;;;;;;;;;10502:25;;10416:119;;;:::o;5641:148::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5748:1:::1;5711:40;;5732:6;::::0;::::1;;;;;;;;5711:40;;;;;;;;;;;;5779:1;5762:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5641:148::o:0;18512:208::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18626:2:::1;18614:10;:14;;:33;;;;;18645:2;18632:11;:15;;18614:33;18606:42;;;::::0;::::1;;18669:10;18655:13;:24;;;;18701:11;18686:14;:26;;;;18512:208:::0;;:::o;8042:41::-;;;;:::o;17217:90::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17294:5:::1;17272:19;;:27;;;;;;;;;;;;;;;;;;17217:90::o:0;6845:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;7851:55::-;;;;:::o;18765:249::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18863:15:::1;18881:63;18940:3;18881:54;18927:7;18888:8;18881:26;;;18916:4;18881:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;18863:81;;18962:8;18955:25;;;18981:15;;;;;;;;;;;18998:7;18955:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18842:172;18765:249:::0;;:::o;5427:79::-;5465:7;5492:6;;;;;;;;;;;5485:13;;5427:79;:::o;7913:57::-;;;;:::o;6782:56::-;;;;;;;;;;;;;;;;;:::o;10127:87::-;10166:13;10199:7;;;;;;;;;;;;;;;;;10192:14;;10127:87;:::o;10543:167::-;10621:4;10638:42;10648:12;:10;:12::i;:::-;10662:9;10673:6;10638:9;:42::i;:::-;10698:4;10691:11;;10543:167;;;;:::o;11698:122::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11810:6:::1;11780:18;:27;11799:7;11780:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11698:122:::0;;:::o;7977:58::-;;;;:::o;18330:168::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18394:11:::1;;;;;;;;;;;18393:12;18385:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;18457:4;18443:11;;:18;;;;;;;;;;;;;;;;;;18486:4;18472:11;;:18;;;;;;;;;;;;;;;;;;18330:168::o:0;18064:162::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18134:6:::1;18129:90;18150:6;:13;18146:1;:17;18129:90;;;18206:5;18181:11;:22;18193:6;18200:1;18193:9;;;;;;;;:::i;:::-;;;;;;;;18181:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;18165:3;;;;;;;18129:90;;;;18064:162:::0;:::o;10718:143::-;10799:7;10826:11;:18;10838:5;10826:18;;;;;;;;;;;;;;;:27;10845:7;10826:27;;;;;;;;;;;;;;;;10819:34;;10718:143;;;;:::o;19758:137::-;5564:12;:10;:12::i;:::-;5554:22;;:6;;;;;;;;;;:22;;;5546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19871:20:::1;19849:19;:42;;;;19758:137:::0;:::o;8291:38::-;;;;;;;;;;;;;:::o;3182:98::-;3235:7;3262:10;3255:17;;3182:98;:::o;11359:335::-;11469:1;11452:19;;:5;:19;;;11444:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11550:1;11531:21;;:7;:21;;;11523:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11632:6;11602:11;:18;11614:5;11602:18;;;;;;;;;;;;;;;:27;11621:7;11602:27;;;;;;;;;;;;;;;:36;;;;11670:7;11654:32;;11663:5;11654:32;;;11679:6;11654:32;;;;;;:::i;:::-;;;;;;;;11359:335;;;:::o;11822:4788::-;11916:11;:19;11928:6;11916:19;;;;;;;;;;;;;;;;;;;;;;;;;11915:20;:47;;;;;11940:11;:22;11952:9;11940:22;;;;;;;;;;;;;;;;;;;;;;;;;11939:23;11915:47;11907:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12010:1;12001:6;:10;11993:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12090:1;12072:20;;:6;:20;;;12064:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12170:1;12149:23;;:9;:23;;;12141:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12226:11;;;;;;;;;;;12225:12;:77;;;;;12242:18;:26;12261:6;12242:26;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;12272:18;:29;12291:9;12272:29;;;;;;;;;;;;;;;;;;;;;;;;;12242:59;12225:77;12221:289;;;12337:29;12359:6;12337:9;:17;12347:6;12337:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;12319:9;:17;12329:6;12319:17;;;;;;;;;;;;;;;:47;;;;12398:32;12423:6;12398:9;:20;12408:9;12398:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12377:9;:20;12387:9;12377:20;;;;;;;;;;;;;;;:53;;;;12467:9;12450:35;;12459:6;12450:35;;;12478:6;12450:35;;;;;;:::i;:::-;;;;;;;;12496:7;;12221:289;12532:13;;;;;;;;;;;12522:23;;:6;:23;;;:58;;;;;12551:18;:29;12570:9;12551:29;;;;;;;;;;;;;;;;;;;;;;;;;12549:31;12522:58;12518:592;;;12617:12;;12607:6;:22;;12599:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12718:14;;12682:32;12707:6;12682:20;12692:9;12682;:20::i;:::-;:24;;:32;;;;:::i;:::-;:50;;12674:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;12518:592;;;12794:13;;;;;;;;;;;12784:23;;:6;:23;;;;:53;;;;;12824:13;;;;;;;;;;;12811:26;;:9;:26;;;;12784:53;:89;;;;;12844:18;:29;12863:9;12844:29;;;;;;;;;;;;;;;;;;;;;;;;;12842:31;12784:89;12780:330;;;12958:12;;12948:6;:22;;12940:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13059:14;;13023:32;13048:6;13023:20;13033:9;13023;:20::i;:::-;:24;;:32;;;;:::i;:::-;:50;;13015:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;12780:330;12518:592;13126:11;;;;;;;;;;;13118:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13172:21;13204:17;13317:19;;;;;;;;;;;13312:1817;;13426:13;;;;;;;;;;;13413:26;;:9;:26;;;:57;;;;;13444:18;:26;13463:6;13444:26;;;;;;;;;;;;;;;;;;;;;;;;;13443:27;13413:57;13409:1294;;;13561:17;13714:19;;13674:37;13694:8;:16;13703:6;13694:16;;;;;;;;;;;;;;;;13674:15;:19;;:37;;;;:::i;:::-;:59;13670:119;;;13769:4;13754:19;;13670:119;13884:34;13914:3;13884:25;13906:2;13884:17;13894:6;13884:9;:17::i;:::-;:21;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;13875:6;:43;13871:103;;;13954:4;13939:19;;13871:103;14100:19;;14059:38;14079:9;:17;14089:6;14079:17;;;;;;;;;;;;;;;;14059:15;:19;;:38;;;;:::i;:::-;:60;14055:120;;;14155:4;14140:19;;14055:120;14252:12;14248:444;;;14301:38;14335:3;14301:29;14312:17;;14301:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;14285:54;;14401:18;14422:42;14460:3;14422:33;14440:14;;14422:13;:17;;:33;;;;:::i;:::-;:37;;:42;;;;:::i;:::-;14401:63;;14495:41;14532:3;14495:32;14513:13;;14495;:17;;:32;;;;:::i;:::-;:36;;:41;;;;:::i;:::-;14483:53;;14651:25;14657:6;14665:10;14651:5;:25::i;:::-;14266:426;14248:444;13472:1231;13409:1294;13312:1817;;;14783:13;;;;;;;;;;;14773:23;;:6;:23;;;:57;;;;;14801:18;:29;14820:9;14801:29;;;;;;;;;;;;;;;;;;;;;;;;;14800:30;14773:57;14769:150;;;14873:34;14903:3;14873:25;14884:13;;14873:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;14861:46;;14769:150;14987:13;;;;;;;;;;;14974:26;;:9;:26;;;:57;;;;;15005:18;:26;15024:6;15005:26;;;;;;;;;;;;;;;;;;;;;;;;;15004:27;14974:57;14970:152;;;15075:35;15106:3;15075:26;15086:14;;15075:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;15063:47;;14970:152;13312:1817;15139:28;15170:24;15188:4;15170:9;:24::i;:::-;15139:55;;15296:1;15284:9;:13;:43;;;;;15314:13;;;;;;;;;;;15301:26;;:9;:26;;;15284:43;:86;;;;;15353:17;;15332:20;:38;15284:86;15280:349;;;15385:69;15402:51;15406:6;15414:38;15418:20;15440:11;;15414:3;:38::i;:::-;15402:3;:51::i;:::-;15385:16;:69::i;:::-;15465:26;15494:21;15465:50;;15551:1;15530:18;:22;15526:90;;;15569:35;15582:21;15569:12;:35::i;:::-;15526:90;15372:257;15280:349;15656:1;15645:9;:12;15641:165;;;15698:39;15727:9;15698;:24;15716:4;15698:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;15673:9;:24;15691:4;15673:24;;;;;;;;;;;;;;;:64;;;;15778:4;15753:41;;15762:6;15753:41;;;15784:9;15753:41;;;;;;:::i;:::-;;;;;;;;15641:165;15836:29;15858:6;15836:9;:17;15846:6;15836:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;15818:9;:17;15828:6;15818:17;;;;;;;;;;;;;;;:47;;;;15913:1;15897:13;:17;15894:437;;;15969:51;15994:25;16005:13;15994:6;:10;;:25;;;;:::i;:::-;15969:9;:20;15979:9;15969:20;;;;;;;;;;;;;;;;:24;;:51;;;;:::i;:::-;15948:9;:20;15958:9;15948:20;;;;;;;;;;;;;;;:72;;;;16061:9;16044:54;;16053:6;16044:54;;;16072:25;16083:13;16072:6;:10;;:25;;;;:::i;:::-;16044:54;;;;;;:::i;:::-;;;;;;;;15894:437;;;16192:47;16217:21;16228:9;16217:6;:10;;:21;;;;:::i;:::-;16192:9;:20;16202:9;16192:20;;;;;;;;;;;;;;;;:24;;:47;;;;:::i;:::-;16171:9;:20;16181:9;16171:20;;;;;;;;;;;;;;;:68;;;;16280:9;16263:50;;16272:6;16263:50;;;16291:21;16302:9;16291:6;:10;;:21;;;;:::i;:::-;16263:50;;;;;;:::i;:::-;;;;;;;;15894:437;16364:13;;;;;;;;;;;16351:26;;:9;:26;;;16347:252;;16418:15;16398:9;:17;16408:6;16398:17;;;;;;;;;;;;;;;:35;;;;16347:252;;;16543:15;16521:8;:19;16530:9;16521:19;;;;;;;;;;;;;;;:37;;;;16347:252;11900:4710;;;11822:4788;;;;:::o;4319:190::-;4405:7;4438:1;4433;:6;;4441:12;4425:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4465:9;4481:1;4477;:5;;;;:::i;:::-;4465:17;;4500:1;4493:8;;;4319:190;;;;;:::o;16726:483::-;8506:4;8497:6;;:13;;;;;;;;;;;;;;;;;;16804:21:::1;16842:1;16828:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16804:40;;16873:4;16855;16860:1;16855:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;16899:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16889:4;16894:1;16889:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;16932:62;16949:4;16964:15;;;;;;;;;;;16982:11;16932:8;:62::i;:::-;17005:15;;;;;;;;;;;:66;;;17086:11;17112:1;17128:4;17155;17175:15;17005:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16793:416;8542:5:::0;8533:6;;:14;;;;;;;;;;;;;;;;;;16726:483;:::o;17319:97::-;17376:15;;;;;;;;;;;:24;;:32;17401:6;17376:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:97;:::o;4517:246::-;4575:7;4604:1;4599;:6;4595:47;;4629:1;4622:8;;;;4595:47;4652:9;4668:1;4664;:5;;;;:::i;:::-;4652:17;;4697:1;4692;4688;:5;;;;:::i;:::-;:10;4680:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4754:1;4747:8;;;4517:246;;;;;:::o;4771:132::-;4829:7;4856:39;4860:1;4863;4856:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4849:46;;4771:132;;;;:::o;4175:136::-;4233:7;4260:43;4264:1;4267;4260:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4253:50;;4175:136;;;;:::o;3988:179::-;4046:7;4066:9;4082:1;4078;:5;;;;:::i;:::-;4066:17;;4107:1;4102;:6;;4094:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4158:1;4151:8;;;3988:179;;;;:::o;19364:392::-;19454:1;19435:21;;:7;:21;;;19427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19524:68;19547:6;19524:68;;;;;;;;;;;;;;;;;:9;:18;19534:7;19524:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;19503:9;:18;19513:7;19503:18;;;;;;;;;;;;;;;:89;;;;19617:27;19637:6;19617:9;:15;7543:42;19617:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;19599:9;:15;7543:42;19599:15;;;;;;;;;;;;;;;:45;;;;19693:7;19688:21;;;19702:6;19688:21;;;;;;:::i;:::-;;;;;;;;7543:42;19721:31;;19730:7;19721:31;;;19745:6;19721:31;;;;;;:::i;:::-;;;;;;;;19364:392;;:::o;16622:96::-;16679:7;16704:1;16702;:3;16701:9;;16709:1;16701:9;;;16707:1;16701:9;16694:16;;16622:96;;;;:::o;4911:189::-;4997:7;5029:1;5025;:5;5032:12;5017:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5056:9;5072:1;5068;:5;;;;:::i;:::-;5056:17;;5091:1;5084:8;;;4911:189;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:246::-;954:1;964:113;978:6;975:1;972:13;964:113;;;1063:1;1058:3;1054:11;1048:18;1044:1;1039:3;1035:11;1028:39;1000:2;997:1;993:10;988:15;;964:113;;;1111:1;1102:6;1097:3;1093:16;1086:27;935:184;873:246;;;:::o;1125:102::-;1166:6;1217:2;1213:7;1208:2;1201:5;1197:14;1193:28;1183:38;;1125:102;;;:::o;1233:377::-;1321:3;1349:39;1382:5;1349:39;:::i;:::-;1404:71;1468:6;1463:3;1404:71;:::i;:::-;1397:78;;1484:65;1542:6;1537:3;1530:4;1523:5;1519:16;1484:65;:::i;:::-;1574:29;1596:6;1574:29;:::i;:::-;1569:3;1565:39;1558:46;;1325:285;1233:377;;;;:::o;1616:313::-;1729:4;1767:2;1756:9;1752:18;1744:26;;1816:9;1810:4;1806:20;1802:1;1791:9;1787:17;1780:47;1844:78;1917:4;1908:6;1844:78;:::i;:::-;1836:86;;1616:313;;;;:::o;1935:75::-;1968:6;2001:2;1995:9;1985:19;;1935:75;:::o;2016:117::-;2125:1;2122;2115:12;2139:117;2248:1;2245;2238:12;2262:122;2335:24;2353:5;2335:24;:::i;:::-;2328:5;2325:35;2315:63;;2374:1;2371;2364:12;2315:63;2262:122;:::o;2390:139::-;2436:5;2474:6;2461:20;2452:29;;2490:33;2517:5;2490:33;:::i;:::-;2390:139;;;;:::o;2535:77::-;2572:7;2601:5;2590:16;;2535:77;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:117::-;4259:1;4256;4249:12;4273:180;4321:77;4318:1;4311:88;4418:4;4415:1;4408:15;4442:4;4439:1;4432:15;4459:281;4542:27;4564:4;4542:27;:::i;:::-;4534:6;4530:40;4672:6;4660:10;4657:22;4636:18;4624:10;4621:34;4618:62;4615:88;;;4683:18;;:::i;:::-;4615:88;4723:10;4719:2;4712:22;4502:238;4459:281;;:::o;4746:129::-;4780:6;4807:20;;:::i;:::-;4797:30;;4836:33;4864:4;4856:6;4836:33;:::i;:::-;4746:129;;;:::o;4881:311::-;4958:4;5048:18;5040:6;5037:30;5034:56;;;5070:18;;:::i;:::-;5034:56;5120:4;5112:6;5108:17;5100:25;;5180:4;5174;5170:15;5162:23;;4881:311;;;:::o;5198:117::-;5307:1;5304;5297:12;5338:710;5434:5;5459:81;5475:64;5532:6;5475:64;:::i;:::-;5459:81;:::i;:::-;5450:90;;5560:5;5589:6;5582:5;5575:21;5623:4;5616:5;5612:16;5605:23;;5676:4;5668:6;5664:17;5656:6;5652:30;5705:3;5697:6;5694:15;5691:122;;;5724:79;;:::i;:::-;5691:122;5839:6;5822:220;5856:6;5851:3;5848:15;5822:220;;;5931:3;5960:37;5993:3;5981:10;5960:37;:::i;:::-;5955:3;5948:50;6027:4;6022:3;6018:14;6011:21;;5898:144;5882:4;5877:3;5873:14;5866:21;;5822:220;;;5826:21;5440:608;;5338:710;;;;;:::o;6071:370::-;6142:5;6191:3;6184:4;6176:6;6172:17;6168:27;6158:122;;6199:79;;:::i;:::-;6158:122;6316:6;6303:20;6341:94;6431:3;6423:6;6416:4;6408:6;6404:17;6341:94;:::i;:::-;6332:103;;6148:293;6071:370;;;;:::o;6447:539::-;6531:6;6580:2;6568:9;6559:7;6555:23;6551:32;6548:119;;;6586:79;;:::i;:::-;6548:119;6734:1;6723:9;6719:17;6706:31;6764:18;6756:6;6753:30;6750:117;;;6786:79;;:::i;:::-;6750:117;6891:78;6961:7;6952:6;6941:9;6937:22;6891:78;:::i;:::-;6881:88;;6677:302;6447:539;;;;:::o;6992:619::-;7069:6;7077;7085;7134:2;7122:9;7113:7;7109:23;7105:32;7102:119;;;7140:79;;:::i;:::-;7102:119;7260:1;7285:53;7330:7;7321:6;7310:9;7306:22;7285:53;:::i;:::-;7275:63;;7231:117;7387:2;7413:53;7458:7;7449:6;7438:9;7434:22;7413:53;:::i;:::-;7403:63;;7358:118;7515:2;7541:53;7586:7;7577:6;7566:9;7562:22;7541:53;:::i;:::-;7531:63;;7486:118;6992:619;;;;;:::o;7617:86::-;7652:7;7692:4;7685:5;7681:16;7670:27;;7617:86;;;:::o;7709:112::-;7792:22;7808:5;7792:22;:::i;:::-;7787:3;7780:35;7709:112;;:::o;7827:214::-;7916:4;7954:2;7943:9;7939:18;7931:26;;7967:67;8031:1;8020:9;8016:17;8007:6;7967:67;:::i;:::-;7827:214;;;;:::o;8047:329::-;8106:6;8155:2;8143:9;8134:7;8130:23;8126:32;8123:119;;;8161:79;;:::i;:::-;8123:119;8281:1;8306:53;8351:7;8342:6;8331:9;8327:22;8306:53;:::i;:::-;8296:63;;8252:117;8047:329;;;;:::o;8382:619::-;8459:6;8467;8475;8524:2;8512:9;8503:7;8499:23;8495:32;8492:119;;;8530:79;;:::i;:::-;8492:119;8650:1;8675:53;8720:7;8711:6;8700:9;8696:22;8675:53;:::i;:::-;8665:63;;8621:117;8777:2;8803:53;8848:7;8839:6;8828:9;8824:22;8803:53;:::i;:::-;8793:63;;8748:118;8905:2;8931:53;8976:7;8967:6;8956:9;8952:22;8931:53;:::i;:::-;8921:63;;8876:118;8382:619;;;;;:::o;9007:474::-;9075:6;9083;9132:2;9120:9;9111:7;9107:23;9103:32;9100:119;;;9138:79;;:::i;:::-;9100:119;9258:1;9283:53;9328:7;9319:6;9308:9;9304:22;9283:53;:::i;:::-;9273:63;;9229:117;9385:2;9411:53;9456:7;9447:6;9436:9;9432:22;9411:53;:::i;:::-;9401:63;;9356:118;9007:474;;;;;:::o;9487:116::-;9557:21;9572:5;9557:21;:::i;:::-;9550:5;9547:32;9537:60;;9593:1;9590;9583:12;9537:60;9487:116;:::o;9609:133::-;9652:5;9690:6;9677:20;9668:29;;9706:30;9730:5;9706:30;:::i;:::-;9609:133;;;;:::o;9748:468::-;9813:6;9821;9870:2;9858:9;9849:7;9845:23;9841:32;9838:119;;;9876:79;;:::i;:::-;9838:119;9996:1;10021:53;10066:7;10057:6;10046:9;10042:22;10021:53;:::i;:::-;10011:63;;9967:117;10123:2;10149:50;10191:7;10182:6;10171:9;10167:22;10149:50;:::i;:::-;10139:60;;10094:115;9748:468;;;;;:::o;10222:474::-;10290:6;10298;10347:2;10335:9;10326:7;10322:23;10318:32;10315:119;;;10353:79;;:::i;:::-;10315:119;10473:1;10498:53;10543:7;10534:6;10523:9;10519:22;10498:53;:::i;:::-;10488:63;;10444:117;10600:2;10626:53;10671:7;10662:6;10651:9;10647:22;10626:53;:::i;:::-;10616:63;;10571:118;10222:474;;;;;:::o;10702:329::-;10761:6;10810:2;10798:9;10789:7;10785:23;10781:32;10778:119;;;10816:79;;:::i;:::-;10778:119;10936:1;10961:53;11006:7;10997:6;10986:9;10982:22;10961:53;:::i;:::-;10951:63;;10907:117;10702:329;;;;:::o;11037:180::-;11085:77;11082:1;11075:88;11182:4;11179:1;11172:15;11206:4;11203:1;11196:15;11223:102;11265:8;11312:5;11309:1;11305:13;11284:34;;11223:102;;;:::o;11331:848::-;11392:5;11399:4;11423:6;11414:15;;11447:5;11438:14;;11461:712;11482:1;11472:8;11469:15;11461:712;;;11577:4;11572:3;11568:14;11562:4;11559:24;11556:50;;;11586:18;;:::i;:::-;11556:50;11636:1;11626:8;11622:16;11619:451;;;12051:4;12044:5;12040:16;12031:25;;11619:451;12101:4;12095;12091:15;12083:23;;12131:32;12154:8;12131:32;:::i;:::-;12119:44;;11461:712;;;11331:848;;;;;;;:::o;12185:1073::-;12239:5;12430:8;12420:40;;12451:1;12442:10;;12453:5;;12420:40;12479:4;12469:36;;12496:1;12487:10;;12498:5;;12469:36;12565:4;12613:1;12608:27;;;;12649:1;12644:191;;;;12558:277;;12608:27;12626:1;12617:10;;12628:5;;;12644:191;12689:3;12679:8;12676:17;12673:43;;;12696:18;;:::i;:::-;12673:43;12745:8;12742:1;12738:16;12729:25;;12780:3;12773:5;12770:14;12767:40;;;12787:18;;:::i;:::-;12767:40;12820:5;;;12558:277;;12944:2;12934:8;12931:16;12925:3;12919:4;12916:13;12912:36;12894:2;12884:8;12881:16;12876:2;12870:4;12867:12;12863:35;12847:111;12844:246;;;13000:8;12994:4;12990:19;12981:28;;13035:3;13028:5;13025:14;13022:40;;;13042:18;;:::i;:::-;13022:40;13075:5;;12844:246;13115:42;13153:3;13143:8;13137:4;13134:1;13115:42;:::i;:::-;13100:57;;;;13189:4;13184:3;13180:14;13173:5;13170:25;13167:51;;;13198:18;;:::i;:::-;13167:51;13247:4;13240:5;13236:16;13227:25;;12185:1073;;;;;;:::o;13264:281::-;13322:5;13346:23;13364:4;13346:23;:::i;:::-;13338:31;;13390:25;13406:8;13390:25;:::i;:::-;13378:37;;13434:104;13471:66;13461:8;13455:4;13434:104;:::i;:::-;13425:113;;13264:281;;;;:::o;13551:410::-;13591:7;13614:20;13632:1;13614:20;:::i;:::-;13609:25;;13648:20;13666:1;13648:20;:::i;:::-;13643:25;;13703:1;13700;13696:9;13725:30;13743:11;13725:30;:::i;:::-;13714:41;;13904:1;13895:7;13891:15;13888:1;13885:22;13865:1;13858:9;13838:83;13815:139;;13934:18;;:::i;:::-;13815:139;13599:362;13551:410;;;;:::o;13967:182::-;14107:34;14103:1;14095:6;14091:14;14084:58;13967:182;:::o;14155:366::-;14297:3;14318:67;14382:2;14377:3;14318:67;:::i;:::-;14311:74;;14394:93;14483:3;14394:93;:::i;:::-;14512:2;14507:3;14503:12;14496:19;;14155:366;;;:::o;14527:419::-;14693:4;14731:2;14720:9;14716:18;14708:26;;14780:9;14774:4;14770:20;14766:1;14755:9;14751:17;14744:47;14808:131;14934:4;14808:131;:::i;:::-;14800:139;;14527:419;;;:::o;14952:180::-;15000:77;14997:1;14990:88;15097:4;15094:1;15087:15;15121:4;15118:1;15111:15;15138:182;15278:34;15274:1;15266:6;15262:14;15255:58;15138:182;:::o;15326:366::-;15468:3;15489:67;15553:2;15548:3;15489:67;:::i;:::-;15482:74;;15565:93;15654:3;15565:93;:::i;:::-;15683:2;15678:3;15674:12;15667:19;;15326:366;;;:::o;15698:419::-;15864:4;15902:2;15891:9;15887:18;15879:26;;15951:9;15945:4;15941:20;15937:1;15926:9;15922:17;15915:47;15979:131;16105:4;15979:131;:::i;:::-;15971:139;;15698:419;;;:::o;16123:191::-;16163:3;16182:20;16200:1;16182:20;:::i;:::-;16177:25;;16216:20;16234:1;16216:20;:::i;:::-;16211:25;;16259:1;16256;16252:9;16245:16;;16280:3;16277:1;16274:10;16271:36;;;16287:18;;:::i;:::-;16271:36;16123:191;;;;:::o;16320:178::-;16460:30;16456:1;16448:6;16444:14;16437:54;16320:178;:::o;16504:366::-;16646:3;16667:67;16731:2;16726:3;16667:67;:::i;:::-;16660:74;;16743:93;16832:3;16743:93;:::i;:::-;16861:2;16856:3;16852:12;16845:19;;16504:366;;;:::o;16876:419::-;17042:4;17080:2;17069:9;17065:18;17057:26;;17129:9;17123:4;17119:20;17115:1;17104:9;17100:17;17093:47;17157:131;17283:4;17157:131;:::i;:::-;17149:139;;16876:419;;;:::o;17301:143::-;17358:5;17389:6;17383:13;17374:22;;17405:33;17432:5;17405:33;:::i;:::-;17301:143;;;;:::o;17450:351::-;17520:6;17569:2;17557:9;17548:7;17544:23;17540:32;17537:119;;;17575:79;;:::i;:::-;17537:119;17695:1;17720:64;17776:7;17767:6;17756:9;17752:22;17720:64;:::i;:::-;17710:74;;17666:128;17450:351;;;;:::o;17807:60::-;17835:3;17856:5;17849:12;;17807:60;;;:::o;17873:142::-;17923:9;17956:53;17974:34;17983:24;18001:5;17983:24;:::i;:::-;17974:34;:::i;:::-;17956:53;:::i;:::-;17943:66;;17873:142;;;:::o;18021:126::-;18071:9;18104:37;18135:5;18104:37;:::i;:::-;18091:50;;18021:126;;;:::o;18153:134::-;18211:9;18244:37;18275:5;18244:37;:::i;:::-;18231:50;;18153:134;;;:::o;18293:147::-;18388:45;18427:5;18388:45;:::i;:::-;18383:3;18376:58;18293:147;;:::o;18446:348::-;18575:4;18613:2;18602:9;18598:18;18590:26;;18626:79;18702:1;18691:9;18687:17;18678:6;18626:79;:::i;:::-;18715:72;18783:2;18772:9;18768:18;18759:6;18715:72;:::i;:::-;18446:348;;;;;:::o;18800:137::-;18854:5;18885:6;18879:13;18870:22;;18901:30;18925:5;18901:30;:::i;:::-;18800:137;;;;:::o;18943:345::-;19010:6;19059:2;19047:9;19038:7;19034:23;19030:32;19027:119;;;19065:79;;:::i;:::-;19027:119;19185:1;19210:61;19263:7;19254:6;19243:9;19239:22;19210:61;:::i;:::-;19200:71;;19156:125;18943:345;;;;:::o;19294:173::-;19434:25;19430:1;19422:6;19418:14;19411:49;19294:173;:::o;19473:366::-;19615:3;19636:67;19700:2;19695:3;19636:67;:::i;:::-;19629:74;;19712:93;19801:3;19712:93;:::i;:::-;19830:2;19825:3;19821:12;19814:19;;19473:366;;;:::o;19845:419::-;20011:4;20049:2;20038:9;20034:18;20026:26;;20098:9;20092:4;20088:20;20084:1;20073:9;20069:17;20062:47;20126:131;20252:4;20126:131;:::i;:::-;20118:139;;19845:419;;;:::o;20270:223::-;20410:34;20406:1;20398:6;20394:14;20387:58;20479:6;20474:2;20466:6;20462:15;20455:31;20270:223;:::o;20499:366::-;20641:3;20662:67;20726:2;20721:3;20662:67;:::i;:::-;20655:74;;20738:93;20827:3;20738:93;:::i;:::-;20856:2;20851:3;20847:12;20840:19;;20499:366;;;:::o;20871:419::-;21037:4;21075:2;21064:9;21060:18;21052:26;;21124:9;21118:4;21114:20;21110:1;21099:9;21095:17;21088:47;21152:131;21278:4;21152:131;:::i;:::-;21144:139;;20871:419;;;:::o;21296:221::-;21436:34;21432:1;21424:6;21420:14;21413:58;21505:4;21500:2;21492:6;21488:15;21481:29;21296:221;:::o;21523:366::-;21665:3;21686:67;21750:2;21745:3;21686:67;:::i;:::-;21679:74;;21762:93;21851:3;21762:93;:::i;:::-;21880:2;21875:3;21871:12;21864:19;;21523:366;;;:::o;21895:419::-;22061:4;22099:2;22088:9;22084:18;22076:26;;22148:9;22142:4;22138:20;22134:1;22123:9;22119:17;22112:47;22176:131;22302:4;22176:131;:::i;:::-;22168:139;;21895:419;;;:::o;22320:169::-;22460:21;22456:1;22448:6;22444:14;22437:45;22320:169;:::o;22495:366::-;22637:3;22658:67;22722:2;22717:3;22658:67;:::i;:::-;22651:74;;22734:93;22823:3;22734:93;:::i;:::-;22852:2;22847:3;22843:12;22836:19;;22495:366;;;:::o;22867:419::-;23033:4;23071:2;23060:9;23056:18;23048:26;;23120:9;23114:4;23110:20;23106:1;23095:9;23091:17;23084:47;23148:131;23274:4;23148:131;:::i;:::-;23140:139;;22867:419;;;:::o;23292:228::-;23432:34;23428:1;23420:6;23416:14;23409:58;23501:11;23496:2;23488:6;23484:15;23477:36;23292:228;:::o;23526:366::-;23668:3;23689:67;23753:2;23748:3;23689:67;:::i;:::-;23682:74;;23765:93;23854:3;23765:93;:::i;:::-;23883:2;23878:3;23874:12;23867:19;;23526:366;;;:::o;23898:419::-;24064:4;24102:2;24091:9;24087:18;24079:26;;24151:9;24145:4;24141:20;24137:1;24126:9;24122:17;24115:47;24179:131;24305:4;24179:131;:::i;:::-;24171:139;;23898:419;;;:::o;24323:224::-;24463:34;24459:1;24451:6;24447:14;24440:58;24532:7;24527:2;24519:6;24515:15;24508:32;24323:224;:::o;24553:366::-;24695:3;24716:67;24780:2;24775:3;24716:67;:::i;:::-;24709:74;;24792:93;24881:3;24792:93;:::i;:::-;24910:2;24905:3;24901:12;24894:19;;24553:366;;;:::o;24925:419::-;25091:4;25129:2;25118:9;25114:18;25106:26;;25178:9;25172:4;25168:20;25164:1;25153:9;25149:17;25142:47;25206:131;25332:4;25206:131;:::i;:::-;25198:139;;24925:419;;;:::o;25350:222::-;25490:34;25486:1;25478:6;25474:14;25467:58;25559:5;25554:2;25546:6;25542:15;25535:30;25350:222;:::o;25578:366::-;25720:3;25741:67;25805:2;25800:3;25741:67;:::i;:::-;25734:74;;25817:93;25906:3;25817:93;:::i;:::-;25935:2;25930:3;25926:12;25919:19;;25578:366;;;:::o;25950:419::-;26116:4;26154:2;26143:9;26139:18;26131:26;;26203:9;26197:4;26193:20;26189:1;26178:9;26174:17;26167:47;26231:131;26357:4;26231:131;:::i;:::-;26223:139;;25950:419;;;:::o;26375:179::-;26515:31;26511:1;26503:6;26499:14;26492:55;26375:179;:::o;26560:366::-;26702:3;26723:67;26787:2;26782:3;26723:67;:::i;:::-;26716:74;;26799:93;26888:3;26799:93;:::i;:::-;26917:2;26912:3;26908:12;26901:19;;26560:366;;;:::o;26932:419::-;27098:4;27136:2;27125:9;27121:18;27113:26;;27185:9;27179:4;27175:20;27171:1;27160:9;27156:17;27149:47;27213:131;27339:4;27213:131;:::i;:::-;27205:139;;26932:419;;;:::o;27357:174::-;27497:26;27493:1;27485:6;27481:14;27474:50;27357:174;:::o;27537:366::-;27679:3;27700:67;27764:2;27759:3;27700:67;:::i;:::-;27693:74;;27776:93;27865:3;27776:93;:::i;:::-;27894:2;27889:3;27885:12;27878:19;;27537:366;;;:::o;27909:419::-;28075:4;28113:2;28102:9;28098:18;28090:26;;28162:9;28156:4;28152:20;28148:1;28137:9;28133:17;28126:47;28190:131;28316:4;28190:131;:::i;:::-;28182:139;;27909:419;;;:::o;28334:170::-;28474:22;28470:1;28462:6;28458:14;28451:46;28334:170;:::o;28510:366::-;28652:3;28673:67;28737:2;28732:3;28673:67;:::i;:::-;28666:74;;28749:93;28838:3;28749:93;:::i;:::-;28867:2;28862:3;28858:12;28851:19;;28510:366;;;:::o;28882:419::-;29048:4;29086:2;29075:9;29071:18;29063:26;;29135:9;29129:4;29125:20;29121:1;29110:9;29106:17;29099:47;29163:131;29289:4;29163:131;:::i;:::-;29155:139;;28882:419;;;:::o;29307:194::-;29347:4;29367:20;29385:1;29367:20;:::i;:::-;29362:25;;29401:20;29419:1;29401:20;:::i;:::-;29396:25;;29445:1;29442;29438:9;29430:17;;29469:1;29463:4;29460:11;29457:37;;;29474:18;;:::i;:::-;29457:37;29307:194;;;;:::o;29507:143::-;29564:5;29595:6;29589:13;29580:22;;29611:33;29638:5;29611:33;:::i;:::-;29507:143;;;;:::o;29656:351::-;29726:6;29775:2;29763:9;29754:7;29750:23;29746:32;29743:119;;;29781:79;;:::i;:::-;29743:119;29901:1;29926:64;29982:7;29973:6;29962:9;29958:22;29926:64;:::i;:::-;29916:74;;29872:128;29656:351;;;;:::o;30013:85::-;30058:7;30087:5;30076:16;;30013:85;;;:::o;30104:158::-;30162:9;30195:61;30213:42;30222:32;30248:5;30222:32;:::i;:::-;30213:42;:::i;:::-;30195:61;:::i;:::-;30182:74;;30104:158;;;:::o;30268:147::-;30363:45;30402:5;30363:45;:::i;:::-;30358:3;30351:58;30268:147;;:::o;30421:114::-;30488:6;30522:5;30516:12;30506:22;;30421:114;;;:::o;30541:184::-;30640:11;30674:6;30669:3;30662:19;30714:4;30709:3;30705:14;30690:29;;30541:184;;;;:::o;30731:132::-;30798:4;30821:3;30813:11;;30851:4;30846:3;30842:14;30834:22;;30731:132;;;:::o;30869:108::-;30946:24;30964:5;30946:24;:::i;:::-;30941:3;30934:37;30869:108;;:::o;30983:179::-;31052:10;31073:46;31115:3;31107:6;31073:46;:::i;:::-;31151:4;31146:3;31142:14;31128:28;;30983:179;;;;:::o;31168:113::-;31238:4;31270;31265:3;31261:14;31253:22;;31168:113;;;:::o;31317:732::-;31436:3;31465:54;31513:5;31465:54;:::i;:::-;31535:86;31614:6;31609:3;31535:86;:::i;:::-;31528:93;;31645:56;31695:5;31645:56;:::i;:::-;31724:7;31755:1;31740:284;31765:6;31762:1;31759:13;31740:284;;;31841:6;31835:13;31868:63;31927:3;31912:13;31868:63;:::i;:::-;31861:70;;31954:60;32007:6;31954:60;:::i;:::-;31944:70;;31800:224;31787:1;31784;31780:9;31775:14;;31740:284;;;31744:14;32040:3;32033:10;;31441:608;;;31317:732;;;;:::o;32055:831::-;32318:4;32356:3;32345:9;32341:19;32333:27;;32370:71;32438:1;32427:9;32423:17;32414:6;32370:71;:::i;:::-;32451:80;32527:2;32516:9;32512:18;32503:6;32451:80;:::i;:::-;32578:9;32572:4;32568:20;32563:2;32552:9;32548:18;32541:48;32606:108;32709:4;32700:6;32606:108;:::i;:::-;32598:116;;32724:72;32792:2;32781:9;32777:18;32768:6;32724:72;:::i;:::-;32806:73;32874:3;32863:9;32859:19;32850:6;32806:73;:::i;:::-;32055:831;;;;;;;;:::o;32892:180::-;32940:77;32937:1;32930:88;33037:4;33034:1;33027:15;33061:4;33058:1;33051:15;33078:185;33118:1;33135:20;33153:1;33135:20;:::i;:::-;33130:25;;33169:20;33187:1;33169:20;:::i;:::-;33164:25;;33208:1;33198:35;;33213:18;;:::i;:::-;33198:35;33255:1;33252;33248:9;33243:14;;33078:185;;;;:::o;33269:220::-;33409:34;33405:1;33397:6;33393:14;33386:58;33478:3;33473:2;33465:6;33461:15;33454:28;33269:220;:::o;33495:366::-;33637:3;33658:67;33722:2;33717:3;33658:67;:::i;:::-;33651:74;;33734:93;33823:3;33734:93;:::i;:::-;33852:2;33847:3;33843:12;33836:19;;33495:366;;;:::o;33867:419::-;34033:4;34071:2;34060:9;34056:18;34048:26;;34120:9;34114:4;34110:20;34106:1;34095:9;34091:17;34084:47;34148:131;34274:4;34148:131;:::i;:::-;34140:139;;33867:419;;;:::o;34292:177::-;34432:29;34428:1;34420:6;34416:14;34409:53;34292:177;:::o;34475:366::-;34617:3;34638:67;34702:2;34697:3;34638:67;:::i;:::-;34631:74;;34714:93;34803:3;34714:93;:::i;:::-;34832:2;34827:3;34823:12;34816:19;;34475:366;;;:::o;34847:419::-;35013:4;35051:2;35040:9;35036:18;35028:26;;35100:9;35094:4;35090:20;35086:1;35075:9;35071:17;35064:47;35128:131;35254:4;35128:131;:::i;:::-;35120:139;;34847:419;;;:::o;35272:220::-;35412:34;35408:1;35400:6;35396:14;35389:58;35481:3;35476:2;35468:6;35464:15;35457:28;35272:220;:::o;35498:366::-;35640:3;35661:67;35725:2;35720:3;35661:67;:::i;:::-;35654:74;;35737:93;35826:3;35737:93;:::i;:::-;35855:2;35850:3;35846:12;35839:19;;35498:366;;;:::o;35870:419::-;36036:4;36074:2;36063:9;36059:18;36051:26;;36123:9;36117:4;36113:20;36109:1;36098:9;36094:17;36087:47;36151:131;36277:4;36151:131;:::i;:::-;36143:139;;35870:419;;;:::o
Swarm Source
ipfs://720c715c913d36924791ae2f5b920dc54e15c1f06fac0cc382fe215c8c3d838f
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.