ERC-20
Overview
Max Total Supply
100,000,000 BDG
Holders
44
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
939,905.060094 BDGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BABYDUCKGAY
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-27 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; /* * * GM BABYDUCKERS, * * Ah, we see you. You're thinking it's yet another meme currency... * Have you ever seen a gay duck fly? Have you ever thought of a guerilla marketing campaign such as ours? * (Rubber)Ducks will roam the most famous canals and parks of the world. * We're here to have a good time with you. Every week, a meme contest is organised by the team, * the community votes the winner who then receives a number of Baby Duck Gay coins * No burn, no tax, no inflation, no deflation, no buy back, locked liquidity and renounced contract. * Love, community and memes are the heart of the project. * For us, it's all about the adventure, not the ranking on CoinMarketCap. * Do you like it? Then, join us! * You don't have to buy Baby Duck Gay coins, just bring your good vibes, * and take part in our meme contests to win some coins. * * See you soon, GDucks! * * Linktree: https://linktr.ee/babyduckgay * Website: https://babyduck.gay * Roadmap: https://www.notion.so/babyduckgay/Roadmap-face25d9036f49c88e1ea716e7281381 * Reddit: https://www.reddit.com/r/babyduckgay * Twitter: https://twitter.com/babyduckgay * Telegram: https://t.me/babyduckgay * Mirror: https://mirror.xyz/babyduckgay.eth * Github: https://github.com/BabyDuckGay/ * Multisig: https://gnosis-safe.io/app/eth:0x57236ec948125F3c28642b05eDB7a775135703c6/home * * * ██████╗░░█████╗░██████╗░██╗░░░██╗ ██████╗░██╗░░░██╗░█████╗░██╗░░██╗ ░██████╗░░█████╗░██╗░░░██╗ * ██╔══██╗██╔══██╗██╔══██╗╚██╗░██╔╝ ██╔══██╗██║░░░██║██╔══██╗██║░██╔╝ ██╔════╝░██╔══██╗╚██╗░██╔╝ * ██████╦╝███████║██████╦╝░╚████╔╝░ ██║░░██║██║░░░██║██║░░╚═╝█████═╝░ ██║░░██╗░███████║░╚████╔╝░ * ██╔══██╗██╔══██║██╔══██╗░░╚██╔╝░░ ██║░░██║██║░░░██║██║░░██╗██╔═██╗░ ██║░░╚██╗██╔══██║░░╚██╔╝░░ * ██████╦╝██║░░██║██████╦╝░░░██║░░░ ██████╔╝╚██████╔╝╚█████╔╝██║░╚██╗ ╚██████╔╝██║░░██║░░░██║░░░ * ╚═════╝░╚═╝░░╚═╝╚═════╝░░░░╚═╝░░░ ╚═════╝░░╚═════╝░░╚════╝░╚═╝░░╚═╝ ░╚═════╝░╚═╝░░╚═╝░░░╚═╝░░░ * * * *?7?JJ?7?JJ?7?JJ?7?JJJ77JJJ?7JJJ?7?JJ?7?YY???JYJ??JYJ??JYJ?7?JJ?7?JJ?7?JJ?7?JJJ7?JJJ77JJJ?7?JJ?7?JJ?7 *JJ???JJJ??JJJ???JJ???JJ???JJ???JJJ??JJ??7??777777777?????JJJ??JJJ??JJJ???JJ???JJ???JJ???JJ???JJJ??JJ *???JJ???JJ???JJ???JJ????JJ???JJ???7!!!!!!!!!!!!!!!~!!!!!!777?????JJ???JJ???JJ???JJ????JJ???JJ???JJ?? *???JJ???JJ???JJ???JJ????JJ????7!~~~!!!!!!!!!!!!!~~~~~~~~!~~~!!!7?JJ???JJ???JJ???JJ????JJ???JJ???JJ?? *JJ???JJJ??JJJ???JJ???JJ????7~~~~!!!!!!!!!~~~~~~!~~~~~~~~~~~~~~~~~!!?JJ???JJ???JJ???JJ???JJ???JJJ??JJ *???JJ???JJ???JJ???JJJ???!~~~~~~~~~~!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!???JJ???JJJ??JJJ??JJJ???JJ???JJ?? *JJJ??JJJ??JJJ???JJ???7~~~~~~~~~~~~~~~!7?YY5PPP55YJ?!~~~~~~~~~~~~~~77Y?JJ???JJ???JJ???JJ???JJJ??JJ *???JJ???JJ???JJ???J?^^~~~~~~~~~~~~!?YPGBBBBBBBB###BBP5J7~~~~~~~~~~~?#&#?JJ???JJJ??JJJ???JJ???JJ?? *JJ???JJ????JJ???J?~:^~~~~~~~~~~~~?PBBB#################BPJ7~~~~~~~~~~Y#&&&BY?JJJ???JJ???JJ???JJ????J *JJ???JJ????JJ??J7^:^~~~~~~~~~~~~YB#######################BB5J!~~~~~~~^~YB#&&Y!JJ???JJ???JJ???JJ????J *???JJ???JJ???JJ!~?G!^~~~~~~~~~!5B#######################BBBBGGP5JJ7~~~~~~!J5J^~?JJJ??JJJ???JJ???JJ?? *JJJ??JJJ??JJJ?!?!J#7^~~~~~~!~^5######BB#BBBB#BBBB#BBB#BBBBBBGGGGPPGP!~~~~~^^^^^!???JJ???JJ???JJJ??JJ *???JJ???JJ???7?P5BP^~~~~~!!^^Y5JGBBBBBBBBBBBBBBBBBBBBBBBGBBGGGBGGGPP!~~~~~~~~~~^!JJ??JJJ???JJ???JJ?? *JJ???JJJ??JJ7!5PGP~^~~~~!!^~7?G5YPBBBBBBBBBBBBBBBBBBBGBGGGGGGGGGP5J!~!~!~~~~~~~~^!?JJ???JJ???JJJ??JJ *???JJ???JJ??:?5P5^^~~~~!!^^?J5GBP5PGGGGGBBBGGGGGGGGGGGGGGGGPP5J7!!!!!!!!!!~~~~!~^^????JJ???JJ???JJ?? *???JJ???JJJ~.JY7::^~~~.:. ^55JYPP55PGGGGGGGGGGGGGGGGGGGP55J7!!!!!!!!!!!!!!~!~~!~^^????JJ???JJ???JJ?? *JJ???JJJ??J: ::..:^~~!~^~!JYP5J5PP5PPGGGGGGGGGGGGGPP5Y?7!!!!!!!!!!!!!!!!!!!!!!!~^^!JJ???JJ???JJJ??JJ *???JJ???JJ?. .....:~!!!!7777?JJJJY555555P55YYJ??77!!~~~!!!!!!!!!!!!!!!!!!!!!!!!~~^7??JJJ???JJ???JJ?? *JJJ??JJJ??? .... .!!!!!!!!!!!!!!!!!!!!!!!~~~~~~~~~!!!!!!~!!~~~~~~~~~!!!!!!!!!!~^^?JJ???JJ???JJJ??JJ *???JJ???JJ? :: . ^7!!!!!!!!!!!!!!!!!!!!!!!!!!~~!!!~!~~~~~~~~~~~~~~~~~~~~~~~~~~^?J??JJJ???JJ???JJ?? *JJ????J???J: 7. . ~!!!!!~~~~~!!!!~~~~~~~!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^!J?JJ???JJ???JJ????J *JJ???JJJ??J7 .!..::^~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~7??JJ???JJ???JJ????J *???JJ???JJ??: ^.:^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!7?J??JJJ???JJ?? *JJJ??JJJ??JJJ: ::^^~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7777JJJ??JJ *???JJ???JJ???J7. ...:^^^^^~~~~~~~~~~~~!!!!~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7?J?? *JJ???JJJ??JJJ??J7. ..:^~~~~~~~~!!!!!~!!!!!!!!!!!!!!!!!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7 *???JJ???JJ???JJ?J?^ :^^^~~~~~~~~!!!!!~~~!!!!!!!!!!!!!~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ *???JJ???JJ???JJJ??~ .:..:~~^~!~~~~!!~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *JJ???JJJ??JJJ?77~::~~^:^!~^~~~~~~~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!~!!!!!!!!!!!!!!!~~ *???JJ???JJ??7!^::~!~^^~!~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!~~~!!!!!!!!!!!!!!! *JJJ??JJJ??J!:::^~~~^^~!~~~~~~~~~~~!~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!~~!!!!!!!!!!!!!! * * * * BabyDuckGay, by GayDuck * BigBlackDuck * Duckeroni * G-Dev * */ 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract BABYDUCKGAY is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "BabyDuckGay"; string private constant _symbol = "BDG"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 6; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 15; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public hunters; mapping (address => uint256) public _buyMap; address payable private _gayduckAddress = payable(0x5Cc0641Ef641DAEDf1ae585f52e3e730f6571Edf); address payable private _daotreasuryAddress = payable(0x57236ec948125F3c28642b05eDB7a775135703c6); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 1000000 * 10**9; uint256 public _maxWalletSize = 1000000 * 10**9; uint256 public _swapTokensAtAmount = 1000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_gayduckAddress] = true; _isExcludedFromFee[_daotreasuryAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!hunters[from] && !hunters[to], "TOKEN: You are shot"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _daotreasuryAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _gayduckAddress || _msgSender() == _daotreasuryAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _gayduckAddress || _msgSender() == _daotreasuryAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function shotHunters(address[] memory hunters_) public onlyOwner { for (uint256 i = 0; i < hunters_.length; i++) { hunters[hunters_[i]] = true; } } function unshotHunter(address nothunter) public onlyOwner { hunters[nothunter] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 4, "Buy rewards must be between 0% and 4%"); require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 20, "Buy tax must be between 0% and 20%"); require(redisFeeOnSell >= 0 && redisFeeOnSell <= 4, "Sell rewards must be between 0% and 4%"); require(taxFeeOnSell >= 0 && taxFeeOnSell <= 20, "Sell tax must be between 0% and 20%"); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hunters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"hunters_","type":"address[]"}],"name":"shotHunters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nothunter","type":"address"}],"name":"unshotHunter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405267016345785d8a00006000196200001c91906200073d565b6000196200002b9190620007a4565b600655600060085560066009556000600a55600f600b55600a54600c55600b54600d55600c54600e55600d54600f55735cc0641ef641daedf1ae585f52e3e730f6571edf601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507357236ec948125f3c28642b05edb7a775135703c6601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555066038d7ea4c6800060165566038d7ea4c6800060175564e8d4a510006018553480156200016557600080fd5b50600062000178620006d360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600654600260006200022d620006d360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030c57600080fd5b505afa15801562000321573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000347919062000849565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003aa57600080fd5b505afa158015620003bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e5919062000849565b6040518363ffffffff1660e01b8152600401620004049291906200088c565b602060405180830381600087803b1580156200041f57600080fd5b505af115801562000434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045a919062000849565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004b0620006db60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065d620006d360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a0000604051620006c49190620008ca565b60405180910390a350620008e7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200074a8262000704565b9150620007578362000704565b9250826200076a57620007696200070e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007b18262000704565b9150620007be8362000704565b925082821015620007d457620007d362000775565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200081182620007e4565b9050919050565b620008238162000804565b81146200082f57600080fd5b50565b600081519050620008438162000818565b92915050565b600060208284031215620008625762000861620007df565b5b6000620008728482850162000832565b91505092915050565b620008868162000804565b82525050565b6000604082019050620008a360008301856200087b565b620008b260208301846200087b565b9392505050565b620008c48162000704565b82525050565b6000602082019050620008e16000830184620008b9565b92915050565b61414780620008f76000396000f3fe6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063a9059cbb11610095578063c492f04611610064578063c492f0461461065d578063dd62ed3e14610686578063ea1644d5146106c3578063f2fde38b146106ec576101d8565b8063a9059cbb146105a3578063bd2a28ba146105e0578063bdafeb1814610609578063c3c8cd8014610646576101d8565b806395d89b41116100d157806395d89b41146104fd57806398a5c31514610528578063a2a957bb14610551578063a31d35b21461057a576101d8565b80638da5cb5b1461047e5780638f70ccf7146104a95780638f9a55c0146104d2576101d8565b806349bd5a5e1161016f578063715018a61161013e578063715018a6146103d657806374010ece146103ed5780637d1db4a5146104165780637f2feddc14610441576101d8565b806349bd5a5e1461032e5780636d8aa8f8146103595780636fc3eaec1461038257806370a0823114610399576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610715565b6040516101ff9190612d7f565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612e49565b610752565b60405161023c9190612ea4565b60405180910390f35b34801561025157600080fd5b5061025a610770565b6040516102679190612f1e565b60405180910390f35b34801561027c57600080fd5b50610285610796565b6040516102929190612f48565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612f63565b6107a6565b6040516102cf9190612ea4565b60405180910390f35b3480156102e457600080fd5b506102ed61087f565b6040516102fa9190612f48565b60405180910390f35b34801561030f57600080fd5b50610318610885565b6040516103259190612fd2565b60405180910390f35b34801561033a57600080fd5b5061034361088e565b6040516103509190612ffc565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190613043565b6108b4565b005b34801561038e57600080fd5b50610397610966565b005b3480156103a557600080fd5b506103c060048036038101906103bb9190613070565b610a37565b6040516103cd9190612f48565b60405180910390f35b3480156103e257600080fd5b506103eb610a88565b005b3480156103f957600080fd5b50610414600480360381019061040f919061309d565b610bdb565b005b34801561042257600080fd5b5061042b610c7a565b6040516104389190612f48565b60405180910390f35b34801561044d57600080fd5b5061046860048036038101906104639190613070565b610c80565b6040516104759190612f48565b60405180910390f35b34801561048a57600080fd5b50610493610c98565b6040516104a09190612ffc565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb9190613043565b610cc1565b005b3480156104de57600080fd5b506104e7610d73565b6040516104f49190612f48565b60405180910390f35b34801561050957600080fd5b50610512610d79565b60405161051f9190612d7f565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a919061309d565b610db6565b005b34801561055d57600080fd5b50610578600480360381019061057391906130ca565b610e55565b005b34801561058657600080fd5b506105a1600480360381019061059c9190613279565b611050565b005b3480156105af57600080fd5b506105ca60048036038101906105c59190612e49565b61117a565b6040516105d79190612ea4565b60405180910390f35b3480156105ec57600080fd5b5061060760048036038101906106029190613070565b611198565b005b34801561061557600080fd5b50610630600480360381019061062b9190613070565b611288565b60405161063d9190612ea4565b60405180910390f35b34801561065257600080fd5b5061065b6112a8565b005b34801561066957600080fd5b50610684600480360381019061067f919061331d565b611381565b005b34801561069257600080fd5b506106ad60048036038101906106a8919061337d565b6114bb565b6040516106ba9190612f48565b60405180910390f35b3480156106cf57600080fd5b506106ea60048036038101906106e5919061309d565b611542565b005b3480156106f857600080fd5b50610713600480360381019061070e9190613070565b6115e1565b005b60606040518060400160405280600b81526020017f426162794475636b476179000000000000000000000000000000000000000000815250905090565b600061076661075f6117a3565b84846117ab565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006107b3848484611976565b610874846107bf6117a3565b61086f856040518060600160405280602881526020016140ea60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108256117a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121fb9092919063ffffffff16565b6117ab565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108bc6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094090613409565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109a76117a3565b73ffffffffffffffffffffffffffffffffffffffff161480610a1d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a056117a3565b73ffffffffffffffffffffffffffffffffffffffff16145b610a2657600080fd5b6000479050610a348161225f565b50565b6000610a81600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cb565b9050919050565b610a906117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1490613409565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610be36117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6790613409565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cc96117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90613409565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600381526020017f4244470000000000000000000000000000000000000000000000000000000000815250905090565b610dbe6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4290613409565b60405180910390fd5b8060188190555050565b610e5d6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190613409565b60405180910390fd5b60008410158015610efc575060048411155b610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f329061349b565b60405180910390fd5b60008210158015610f4d575060148211155b610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061352d565b60405180910390fd5b60008310158015610f9e575060048311155b610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906135bf565b60405180910390fd5b60008110158015610fef575060148111155b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590613651565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6110586117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90613409565b60405180910390fd5b60005b81518110156111765760016010600084848151811061110a57611109613671565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061116e906136cf565b9150506110e8565b5050565b600061118e6111876117a3565b8484611976565b6001905092915050565b6111a06117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490613409565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112e96117a3565b73ffffffffffffffffffffffffffffffffffffffff16148061135f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113476117a3565b73ffffffffffffffffffffffffffffffffffffffff16145b61136857600080fd5b600061137330610a37565b905061137e81612339565b50565b6113896117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140d90613409565b60405180910390fd5b60005b838390508110156114b557816005600086868581811061143c5761143b613671565b5b90506020020160208101906114519190613070565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114ad906136cf565b915050611419565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61154a6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90613409565b60405180910390fd5b8060178190555050565b6115e96117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613409565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd9061378a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561181b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118129061381c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561188b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611882906138ae565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119699190612f48565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd90613940565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906139d2565b60405180910390fd5b60008111611a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9090613a64565b60405180910390fd5b611aa1610c98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b0f5750611adf610c98565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611efa57601560149054906101000a900460ff16611b9e57611b30610c98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490613af6565b60405180910390fd5b5b601654811115611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda90613b62565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c875750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbd90613bce565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d735760175481611d2884610a37565b611d329190613bee565b10611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6990613cb6565b60405180910390fd5b5b6000611d7e30610a37565b9050600060185482101590506016548210611d995760165491505b808015611db1575060158054906101000a900460ff16155b8015611e0b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611e235750601560169054906101000a900460ff165b8015611e795750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ecf5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ef757611edd82612339565b60004790506000811115611ef557611ef44761225f565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fa15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120545750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120535750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561206257600090506121e9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561210d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561212557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121d05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121e857600a54600c81905550600b54600d819055505b5b6121f5848484846125bf565b50505050565b6000838311158290612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a9190612d7f565b60405180910390fd5b50600083856122529190613cd6565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122c7573d6000803e3d6000fd5b5050565b6000600654821115612312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230990613d7c565b60405180910390fd5b600061231c6125ec565b9050612331818461261790919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123705761236f613136565b5b60405190808252806020026020018201604052801561239e5781602001602082028036833780820191505090505b50905030816000815181106123b6576123b5613671565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561245857600080fd5b505afa15801561246c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124909190613db1565b816001815181106124a4576124a3613671565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061250b30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117ab565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161256f959493929190613ed7565b600060405180830381600087803b15801561258957600080fd5b505af115801561259d573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806125cd576125cc612661565b5b6125d88484846126a4565b806125e6576125e561286f565b5b50505050565b60008060006125f9612883565b91509150612610818361261790919063ffffffff16565b9250505090565b600061265983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128e2565b905092915050565b6000600c5414801561267557506000600d54145b1561267f576126a2565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806126b687612945565b95509550955095509550955061271486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ad90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127a985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127f581612a55565b6127ff8483612b12565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161285c9190612f48565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600067016345785d8a000090506128b767016345785d8a000060065461261790919063ffffffff16565b8210156128d55760065467016345785d8a00009350935050506128de565b81819350935050505b9091565b60008083118290612929576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129209190612d7f565b60405180910390fd5b50600083856129389190613f60565b9050809150509392505050565b60008060008060008060008060006129628a600c54600d54612b4c565b92509250925060006129726125ec565b905060008060006129858e878787612be2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006129ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121fb565b905092915050565b6000808284612a069190613bee565b905083811015612a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4290613fdd565b60405180910390fd5b8091505092915050565b6000612a5f6125ec565b90506000612a768284612c6b90919063ffffffff16565b9050612aca81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b27826006546129ad90919063ffffffff16565b600681905550612b42816007546129f790919063ffffffff16565b6007819055505050565b600080600080612b786064612b6a888a612c6b90919063ffffffff16565b61261790919063ffffffff16565b90506000612ba26064612b94888b612c6b90919063ffffffff16565b61261790919063ffffffff16565b90506000612bcb82612bbd858c6129ad90919063ffffffff16565b6129ad90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612bfb8589612c6b90919063ffffffff16565b90506000612c128689612c6b90919063ffffffff16565b90506000612c298789612c6b90919063ffffffff16565b90506000612c5282612c4485876129ad90919063ffffffff16565b6129ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612c7e5760009050612ce0565b60008284612c8c9190613ffd565b9050828482612c9b9190613f60565b14612cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd2906140c9565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d20578082015181840152602081019050612d05565b83811115612d2f576000848401525b50505050565b6000601f19601f8301169050919050565b6000612d5182612ce6565b612d5b8185612cf1565b9350612d6b818560208601612d02565b612d7481612d35565b840191505092915050565b60006020820190508181036000830152612d998184612d46565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612de082612db5565b9050919050565b612df081612dd5565b8114612dfb57600080fd5b50565b600081359050612e0d81612de7565b92915050565b6000819050919050565b612e2681612e13565b8114612e3157600080fd5b50565b600081359050612e4381612e1d565b92915050565b60008060408385031215612e6057612e5f612dab565b5b6000612e6e85828601612dfe565b9250506020612e7f85828601612e34565b9150509250929050565b60008115159050919050565b612e9e81612e89565b82525050565b6000602082019050612eb96000830184612e95565b92915050565b6000819050919050565b6000612ee4612edf612eda84612db5565b612ebf565b612db5565b9050919050565b6000612ef682612ec9565b9050919050565b6000612f0882612eeb565b9050919050565b612f1881612efd565b82525050565b6000602082019050612f336000830184612f0f565b92915050565b612f4281612e13565b82525050565b6000602082019050612f5d6000830184612f39565b92915050565b600080600060608486031215612f7c57612f7b612dab565b5b6000612f8a86828701612dfe565b9350506020612f9b86828701612dfe565b9250506040612fac86828701612e34565b9150509250925092565b600060ff82169050919050565b612fcc81612fb6565b82525050565b6000602082019050612fe76000830184612fc3565b92915050565b612ff681612dd5565b82525050565b60006020820190506130116000830184612fed565b92915050565b61302081612e89565b811461302b57600080fd5b50565b60008135905061303d81613017565b92915050565b60006020828403121561305957613058612dab565b5b60006130678482850161302e565b91505092915050565b60006020828403121561308657613085612dab565b5b600061309484828501612dfe565b91505092915050565b6000602082840312156130b3576130b2612dab565b5b60006130c184828501612e34565b91505092915050565b600080600080608085870312156130e4576130e3612dab565b5b60006130f287828801612e34565b945050602061310387828801612e34565b935050604061311487828801612e34565b925050606061312587828801612e34565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61316e82612d35565b810181811067ffffffffffffffff8211171561318d5761318c613136565b5b80604052505050565b60006131a0612da1565b90506131ac8282613165565b919050565b600067ffffffffffffffff8211156131cc576131cb613136565b5b602082029050602081019050919050565b600080fd5b60006131f56131f0846131b1565b613196565b90508083825260208201905060208402830185811115613218576132176131dd565b5b835b81811015613241578061322d8882612dfe565b84526020840193505060208101905061321a565b5050509392505050565b600082601f8301126132605761325f613131565b5b81356132708482602086016131e2565b91505092915050565b60006020828403121561328f5761328e612dab565b5b600082013567ffffffffffffffff8111156132ad576132ac612db0565b5b6132b98482850161324b565b91505092915050565b600080fd5b60008083601f8401126132dd576132dc613131565b5b8235905067ffffffffffffffff8111156132fa576132f96132c2565b5b602083019150836020820283011115613316576133156131dd565b5b9250929050565b60008060006040848603121561333657613335612dab565b5b600084013567ffffffffffffffff81111561335457613353612db0565b5b613360868287016132c7565b935093505060206133738682870161302e565b9150509250925092565b6000806040838503121561339457613393612dab565b5b60006133a285828601612dfe565b92505060206133b385828601612dfe565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133f3602083612cf1565b91506133fe826133bd565b602082019050919050565b60006020820190508181036000830152613422816133e6565b9050919050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203425000000000000000000000000000000000000000000000000000000602082015250565b6000613485602583612cf1565b915061349082613429565b604082019050919050565b600060208201905081810360008301526134b481613478565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203260008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b6000613517602283612cf1565b9150613522826134bb565b604082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642034250000000000000000000000000000000000000000000000000000602082015250565b60006135a9602683612cf1565b91506135b48261354d565b604082019050919050565b600060208201905081810360008301526135d88161359c565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3230250000000000000000000000000000000000000000000000000000000000602082015250565b600061363b602383612cf1565b9150613646826135df565b604082019050919050565b6000602082019050818103600083015261366a8161362e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136da82612e13565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370d5761370c6136a0565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613774602683612cf1565b915061377f82613718565b604082019050919050565b600060208201905081810360008301526137a381613767565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613806602483612cf1565b9150613811826137aa565b604082019050919050565b60006020820190508181036000830152613835816137f9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613898602283612cf1565b91506138a38261383c565b604082019050919050565b600060208201905081810360008301526138c78161388b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061392a602583612cf1565b9150613935826138ce565b604082019050919050565b600060208201905081810360008301526139598161391d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139bc602383612cf1565b91506139c782613960565b604082019050919050565b600060208201905081810360008301526139eb816139af565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a4e602983612cf1565b9150613a59826139f2565b604082019050919050565b60006020820190508181036000830152613a7d81613a41565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613ae0603f83612cf1565b9150613aeb82613a84565b604082019050919050565b60006020820190508181036000830152613b0f81613ad3565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613b4c601c83612cf1565b9150613b5782613b16565b602082019050919050565b60006020820190508181036000830152613b7b81613b3f565b9050919050565b7f544f4b454e3a20596f75206172652073686f7400000000000000000000000000600082015250565b6000613bb8601383612cf1565b9150613bc382613b82565b602082019050919050565b60006020820190508181036000830152613be781613bab565b9050919050565b6000613bf982612e13565b9150613c0483612e13565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c3957613c386136a0565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ca0602383612cf1565b9150613cab82613c44565b604082019050919050565b60006020820190508181036000830152613ccf81613c93565b9050919050565b6000613ce182612e13565b9150613cec83612e13565b925082821015613cff57613cfe6136a0565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d66602a83612cf1565b9150613d7182613d0a565b604082019050919050565b60006020820190508181036000830152613d9581613d59565b9050919050565b600081519050613dab81612de7565b92915050565b600060208284031215613dc757613dc6612dab565b5b6000613dd584828501613d9c565b91505092915050565b6000819050919050565b6000613e03613dfe613df984613dde565b612ebf565b612e13565b9050919050565b613e1381613de8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4e81612dd5565b82525050565b6000613e608383613e45565b60208301905092915050565b6000602082019050919050565b6000613e8482613e19565b613e8e8185613e24565b9350613e9983613e35565b8060005b83811015613eca578151613eb18882613e54565b9750613ebc83613e6c565b925050600181019050613e9d565b5085935050505092915050565b600060a082019050613eec6000830188612f39565b613ef96020830187613e0a565b8181036040830152613f0b8186613e79565b9050613f1a6060830185612fed565b613f276080830184612f39565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f6b82612e13565b9150613f7683612e13565b925082613f8657613f85613f31565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613fc7601b83612cf1565b9150613fd282613f91565b602082019050919050565b60006020820190508181036000830152613ff681613fba565b9050919050565b600061400882612e13565b915061401383612e13565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404c5761404b6136a0565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140b3602183612cf1565b91506140be82614057565b604082019050919050565b600060208201905081810360008301526140e2816140a6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220112cd5c3823a9c85d44191e5b06ca72c6b7229d515ae9b61018684dc27f6a9f264736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063a9059cbb11610095578063c492f04611610064578063c492f0461461065d578063dd62ed3e14610686578063ea1644d5146106c3578063f2fde38b146106ec576101d8565b8063a9059cbb146105a3578063bd2a28ba146105e0578063bdafeb1814610609578063c3c8cd8014610646576101d8565b806395d89b41116100d157806395d89b41146104fd57806398a5c31514610528578063a2a957bb14610551578063a31d35b21461057a576101d8565b80638da5cb5b1461047e5780638f70ccf7146104a95780638f9a55c0146104d2576101d8565b806349bd5a5e1161016f578063715018a61161013e578063715018a6146103d657806374010ece146103ed5780637d1db4a5146104165780637f2feddc14610441576101d8565b806349bd5a5e1461032e5780636d8aa8f8146103595780636fc3eaec1461038257806370a0823114610399576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610715565b6040516101ff9190612d7f565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612e49565b610752565b60405161023c9190612ea4565b60405180910390f35b34801561025157600080fd5b5061025a610770565b6040516102679190612f1e565b60405180910390f35b34801561027c57600080fd5b50610285610796565b6040516102929190612f48565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612f63565b6107a6565b6040516102cf9190612ea4565b60405180910390f35b3480156102e457600080fd5b506102ed61087f565b6040516102fa9190612f48565b60405180910390f35b34801561030f57600080fd5b50610318610885565b6040516103259190612fd2565b60405180910390f35b34801561033a57600080fd5b5061034361088e565b6040516103509190612ffc565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190613043565b6108b4565b005b34801561038e57600080fd5b50610397610966565b005b3480156103a557600080fd5b506103c060048036038101906103bb9190613070565b610a37565b6040516103cd9190612f48565b60405180910390f35b3480156103e257600080fd5b506103eb610a88565b005b3480156103f957600080fd5b50610414600480360381019061040f919061309d565b610bdb565b005b34801561042257600080fd5b5061042b610c7a565b6040516104389190612f48565b60405180910390f35b34801561044d57600080fd5b5061046860048036038101906104639190613070565b610c80565b6040516104759190612f48565b60405180910390f35b34801561048a57600080fd5b50610493610c98565b6040516104a09190612ffc565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb9190613043565b610cc1565b005b3480156104de57600080fd5b506104e7610d73565b6040516104f49190612f48565b60405180910390f35b34801561050957600080fd5b50610512610d79565b60405161051f9190612d7f565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a919061309d565b610db6565b005b34801561055d57600080fd5b50610578600480360381019061057391906130ca565b610e55565b005b34801561058657600080fd5b506105a1600480360381019061059c9190613279565b611050565b005b3480156105af57600080fd5b506105ca60048036038101906105c59190612e49565b61117a565b6040516105d79190612ea4565b60405180910390f35b3480156105ec57600080fd5b5061060760048036038101906106029190613070565b611198565b005b34801561061557600080fd5b50610630600480360381019061062b9190613070565b611288565b60405161063d9190612ea4565b60405180910390f35b34801561065257600080fd5b5061065b6112a8565b005b34801561066957600080fd5b50610684600480360381019061067f919061331d565b611381565b005b34801561069257600080fd5b506106ad60048036038101906106a8919061337d565b6114bb565b6040516106ba9190612f48565b60405180910390f35b3480156106cf57600080fd5b506106ea60048036038101906106e5919061309d565b611542565b005b3480156106f857600080fd5b50610713600480360381019061070e9190613070565b6115e1565b005b60606040518060400160405280600b81526020017f426162794475636b476179000000000000000000000000000000000000000000815250905090565b600061076661075f6117a3565b84846117ab565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006107b3848484611976565b610874846107bf6117a3565b61086f856040518060600160405280602881526020016140ea60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108256117a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121fb9092919063ffffffff16565b6117ab565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108bc6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094090613409565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109a76117a3565b73ffffffffffffffffffffffffffffffffffffffff161480610a1d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a056117a3565b73ffffffffffffffffffffffffffffffffffffffff16145b610a2657600080fd5b6000479050610a348161225f565b50565b6000610a81600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cb565b9050919050565b610a906117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1490613409565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610be36117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6790613409565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cc96117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90613409565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600381526020017f4244470000000000000000000000000000000000000000000000000000000000815250905090565b610dbe6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4290613409565b60405180910390fd5b8060188190555050565b610e5d6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190613409565b60405180910390fd5b60008410158015610efc575060048411155b610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f329061349b565b60405180910390fd5b60008210158015610f4d575060148211155b610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061352d565b60405180910390fd5b60008310158015610f9e575060048311155b610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906135bf565b60405180910390fd5b60008110158015610fef575060148111155b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590613651565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6110586117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90613409565b60405180910390fd5b60005b81518110156111765760016010600084848151811061110a57611109613671565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061116e906136cf565b9150506110e8565b5050565b600061118e6111876117a3565b8484611976565b6001905092915050565b6111a06117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490613409565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112e96117a3565b73ffffffffffffffffffffffffffffffffffffffff16148061135f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113476117a3565b73ffffffffffffffffffffffffffffffffffffffff16145b61136857600080fd5b600061137330610a37565b905061137e81612339565b50565b6113896117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140d90613409565b60405180910390fd5b60005b838390508110156114b557816005600086868581811061143c5761143b613671565b5b90506020020160208101906114519190613070565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114ad906136cf565b915050611419565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61154a6117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90613409565b60405180910390fd5b8060178190555050565b6115e96117a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613409565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd9061378a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561181b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118129061381c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561188b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611882906138ae565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119699190612f48565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd90613940565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906139d2565b60405180910390fd5b60008111611a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9090613a64565b60405180910390fd5b611aa1610c98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b0f5750611adf610c98565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611efa57601560149054906101000a900460ff16611b9e57611b30610c98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490613af6565b60405180910390fd5b5b601654811115611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda90613b62565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c875750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbd90613bce565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d735760175481611d2884610a37565b611d329190613bee565b10611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6990613cb6565b60405180910390fd5b5b6000611d7e30610a37565b9050600060185482101590506016548210611d995760165491505b808015611db1575060158054906101000a900460ff16155b8015611e0b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611e235750601560169054906101000a900460ff165b8015611e795750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ecf5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ef757611edd82612339565b60004790506000811115611ef557611ef44761225f565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fa15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120545750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120535750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561206257600090506121e9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561210d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561212557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121d05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121e857600a54600c81905550600b54600d819055505b5b6121f5848484846125bf565b50505050565b6000838311158290612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a9190612d7f565b60405180910390fd5b50600083856122529190613cd6565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122c7573d6000803e3d6000fd5b5050565b6000600654821115612312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230990613d7c565b60405180910390fd5b600061231c6125ec565b9050612331818461261790919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123705761236f613136565b5b60405190808252806020026020018201604052801561239e5781602001602082028036833780820191505090505b50905030816000815181106123b6576123b5613671565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561245857600080fd5b505afa15801561246c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124909190613db1565b816001815181106124a4576124a3613671565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061250b30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117ab565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161256f959493929190613ed7565b600060405180830381600087803b15801561258957600080fd5b505af115801561259d573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806125cd576125cc612661565b5b6125d88484846126a4565b806125e6576125e561286f565b5b50505050565b60008060006125f9612883565b91509150612610818361261790919063ffffffff16565b9250505090565b600061265983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128e2565b905092915050565b6000600c5414801561267557506000600d54145b1561267f576126a2565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806126b687612945565b95509550955095509550955061271486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ad90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127a985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127f581612a55565b6127ff8483612b12565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161285c9190612f48565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600067016345785d8a000090506128b767016345785d8a000060065461261790919063ffffffff16565b8210156128d55760065467016345785d8a00009350935050506128de565b81819350935050505b9091565b60008083118290612929576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129209190612d7f565b60405180910390fd5b50600083856129389190613f60565b9050809150509392505050565b60008060008060008060008060006129628a600c54600d54612b4c565b92509250925060006129726125ec565b905060008060006129858e878787612be2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006129ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121fb565b905092915050565b6000808284612a069190613bee565b905083811015612a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4290613fdd565b60405180910390fd5b8091505092915050565b6000612a5f6125ec565b90506000612a768284612c6b90919063ffffffff16565b9050612aca81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b27826006546129ad90919063ffffffff16565b600681905550612b42816007546129f790919063ffffffff16565b6007819055505050565b600080600080612b786064612b6a888a612c6b90919063ffffffff16565b61261790919063ffffffff16565b90506000612ba26064612b94888b612c6b90919063ffffffff16565b61261790919063ffffffff16565b90506000612bcb82612bbd858c6129ad90919063ffffffff16565b6129ad90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612bfb8589612c6b90919063ffffffff16565b90506000612c128689612c6b90919063ffffffff16565b90506000612c298789612c6b90919063ffffffff16565b90506000612c5282612c4485876129ad90919063ffffffff16565b6129ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612c7e5760009050612ce0565b60008284612c8c9190613ffd565b9050828482612c9b9190613f60565b14612cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd2906140c9565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d20578082015181840152602081019050612d05565b83811115612d2f576000848401525b50505050565b6000601f19601f8301169050919050565b6000612d5182612ce6565b612d5b8185612cf1565b9350612d6b818560208601612d02565b612d7481612d35565b840191505092915050565b60006020820190508181036000830152612d998184612d46565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612de082612db5565b9050919050565b612df081612dd5565b8114612dfb57600080fd5b50565b600081359050612e0d81612de7565b92915050565b6000819050919050565b612e2681612e13565b8114612e3157600080fd5b50565b600081359050612e4381612e1d565b92915050565b60008060408385031215612e6057612e5f612dab565b5b6000612e6e85828601612dfe565b9250506020612e7f85828601612e34565b9150509250929050565b60008115159050919050565b612e9e81612e89565b82525050565b6000602082019050612eb96000830184612e95565b92915050565b6000819050919050565b6000612ee4612edf612eda84612db5565b612ebf565b612db5565b9050919050565b6000612ef682612ec9565b9050919050565b6000612f0882612eeb565b9050919050565b612f1881612efd565b82525050565b6000602082019050612f336000830184612f0f565b92915050565b612f4281612e13565b82525050565b6000602082019050612f5d6000830184612f39565b92915050565b600080600060608486031215612f7c57612f7b612dab565b5b6000612f8a86828701612dfe565b9350506020612f9b86828701612dfe565b9250506040612fac86828701612e34565b9150509250925092565b600060ff82169050919050565b612fcc81612fb6565b82525050565b6000602082019050612fe76000830184612fc3565b92915050565b612ff681612dd5565b82525050565b60006020820190506130116000830184612fed565b92915050565b61302081612e89565b811461302b57600080fd5b50565b60008135905061303d81613017565b92915050565b60006020828403121561305957613058612dab565b5b60006130678482850161302e565b91505092915050565b60006020828403121561308657613085612dab565b5b600061309484828501612dfe565b91505092915050565b6000602082840312156130b3576130b2612dab565b5b60006130c184828501612e34565b91505092915050565b600080600080608085870312156130e4576130e3612dab565b5b60006130f287828801612e34565b945050602061310387828801612e34565b935050604061311487828801612e34565b925050606061312587828801612e34565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61316e82612d35565b810181811067ffffffffffffffff8211171561318d5761318c613136565b5b80604052505050565b60006131a0612da1565b90506131ac8282613165565b919050565b600067ffffffffffffffff8211156131cc576131cb613136565b5b602082029050602081019050919050565b600080fd5b60006131f56131f0846131b1565b613196565b90508083825260208201905060208402830185811115613218576132176131dd565b5b835b81811015613241578061322d8882612dfe565b84526020840193505060208101905061321a565b5050509392505050565b600082601f8301126132605761325f613131565b5b81356132708482602086016131e2565b91505092915050565b60006020828403121561328f5761328e612dab565b5b600082013567ffffffffffffffff8111156132ad576132ac612db0565b5b6132b98482850161324b565b91505092915050565b600080fd5b60008083601f8401126132dd576132dc613131565b5b8235905067ffffffffffffffff8111156132fa576132f96132c2565b5b602083019150836020820283011115613316576133156131dd565b5b9250929050565b60008060006040848603121561333657613335612dab565b5b600084013567ffffffffffffffff81111561335457613353612db0565b5b613360868287016132c7565b935093505060206133738682870161302e565b9150509250925092565b6000806040838503121561339457613393612dab565b5b60006133a285828601612dfe565b92505060206133b385828601612dfe565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133f3602083612cf1565b91506133fe826133bd565b602082019050919050565b60006020820190508181036000830152613422816133e6565b9050919050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203425000000000000000000000000000000000000000000000000000000602082015250565b6000613485602583612cf1565b915061349082613429565b604082019050919050565b600060208201905081810360008301526134b481613478565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203260008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b6000613517602283612cf1565b9150613522826134bb565b604082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642034250000000000000000000000000000000000000000000000000000602082015250565b60006135a9602683612cf1565b91506135b48261354d565b604082019050919050565b600060208201905081810360008301526135d88161359c565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3230250000000000000000000000000000000000000000000000000000000000602082015250565b600061363b602383612cf1565b9150613646826135df565b604082019050919050565b6000602082019050818103600083015261366a8161362e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136da82612e13565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370d5761370c6136a0565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613774602683612cf1565b915061377f82613718565b604082019050919050565b600060208201905081810360008301526137a381613767565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613806602483612cf1565b9150613811826137aa565b604082019050919050565b60006020820190508181036000830152613835816137f9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613898602283612cf1565b91506138a38261383c565b604082019050919050565b600060208201905081810360008301526138c78161388b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061392a602583612cf1565b9150613935826138ce565b604082019050919050565b600060208201905081810360008301526139598161391d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139bc602383612cf1565b91506139c782613960565b604082019050919050565b600060208201905081810360008301526139eb816139af565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a4e602983612cf1565b9150613a59826139f2565b604082019050919050565b60006020820190508181036000830152613a7d81613a41565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613ae0603f83612cf1565b9150613aeb82613a84565b604082019050919050565b60006020820190508181036000830152613b0f81613ad3565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613b4c601c83612cf1565b9150613b5782613b16565b602082019050919050565b60006020820190508181036000830152613b7b81613b3f565b9050919050565b7f544f4b454e3a20596f75206172652073686f7400000000000000000000000000600082015250565b6000613bb8601383612cf1565b9150613bc382613b82565b602082019050919050565b60006020820190508181036000830152613be781613bab565b9050919050565b6000613bf982612e13565b9150613c0483612e13565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c3957613c386136a0565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ca0602383612cf1565b9150613cab82613c44565b604082019050919050565b60006020820190508181036000830152613ccf81613c93565b9050919050565b6000613ce182612e13565b9150613cec83612e13565b925082821015613cff57613cfe6136a0565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d66602a83612cf1565b9150613d7182613d0a565b604082019050919050565b60006020820190508181036000830152613d9581613d59565b9050919050565b600081519050613dab81612de7565b92915050565b600060208284031215613dc757613dc6612dab565b5b6000613dd584828501613d9c565b91505092915050565b6000819050919050565b6000613e03613dfe613df984613dde565b612ebf565b612e13565b9050919050565b613e1381613de8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4e81612dd5565b82525050565b6000613e608383613e45565b60208301905092915050565b6000602082019050919050565b6000613e8482613e19565b613e8e8185613e24565b9350613e9983613e35565b8060005b83811015613eca578151613eb18882613e54565b9750613ebc83613e6c565b925050600181019050613e9d565b5085935050505092915050565b600060a082019050613eec6000830188612f39565b613ef96020830187613e0a565b8181036040830152613f0b8186613e79565b9050613f1a6060830185612fed565b613f276080830184612f39565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f6b82612e13565b9150613f7683612e13565b925082613f8657613f85613f31565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613fc7601b83612cf1565b9150613fd282613f91565b602082019050919050565b60006020820190508181036000830152613ff681613fba565b9050919050565b600061400882612e13565b915061401383612e13565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404c5761404b6136a0565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140b3602183612cf1565b91506140be82614057565b604082019050919050565b600060208201905081810360008301526140e2816140a6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220112cd5c3823a9c85d44191e5b06ca72c6b7229d515ae9b61018684dc27f6a9f264736f6c63430008090033
Deployed Bytecode Sourcemap
10870:13996:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13388:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14320:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12232:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13668:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14522:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12532:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13576:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12280:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24232:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19340:233;;;;;;;;;;;;;:::i;:::-;;13772:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8343:148;;;;;;;;;;;;;:::i;:::-;;24373:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12424:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11973:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8127:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18987:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12477:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13480:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24040:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23294:693;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19582:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13919:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19774:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11932:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19097:234;;;;;;;;;;;;;:::i;:::-;;24627;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14127:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24503:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8500:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13388:83;13425:13;13458:5;;;;;;;;;;;;;;;;;13451:12;;13388:83;:::o;14320:193::-;14422:4;14444:39;14453:12;:10;:12::i;:::-;14467:7;14476:6;14444:8;:39::i;:::-;14501:4;14494:11;;14320:193;;;;:::o;12232:41::-;;;;;;;;;;;;;:::o;13668:95::-;13721:7;11425:17;13741:14;;13668:95;:::o;14522:446::-;14654:4;14671:36;14681:6;14689:9;14700:6;14671:9;:36::i;:::-;14718:220;14741:6;14762:12;:10;:12::i;:::-;14789:138;14845:6;14789:138;;;;;;;;;;;;;;;;;:11;:19;14801:6;14789:19;;;;;;;;;;;;;;;:33;14809:12;:10;:12::i;:::-;14789:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;14718:8;:220::i;:::-;14956:4;14949:11;;14522:446;;;;;:::o;12532:49::-;;;;:::o;13576:83::-;13617:5;11098:1;13635:16;;13576:83;:::o;12280:28::-;;;;;;;;;;;;;:::o;24232:101::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24313:12:::1;24299:11;;:26;;;;;;;;;;;;;;;;;;24232:101:::0;:::o;19340:233::-;19406:15;;;;;;;;;;;19390:31;;:12;:10;:12::i;:::-;:31;;;:70;;;;19441:19;;;;;;;;;;;19425:35;;:12;:10;:12::i;:::-;:35;;;19390:70;19382:79;;;;;;19472:26;19501:21;19472:50;;19533:32;19546:18;19533:12;:32::i;:::-;19371:202;19340:233::o;13772:138::-;13838:7;13865:37;13885:7;:16;13893:7;13885:16;;;;;;;;;;;;;;;;13865:19;:37::i;:::-;13858:44;;13772:138;;;:::o;8343:148::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8450:1:::1;8413:40;;8434:6;::::0;::::1;;;;;;;;8413:40;;;;;;;;;;;;8481:1;8464:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8343:148::o:0;24373:121::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24465:11:::1;24450:12;:26;;;;24373:121:::0;:::o;12424:45::-;;;;:::o;11973:43::-;;;;;;;;;;;;;;;;;:::o;8127:79::-;8165:7;8192:6;;;;;;;;;;;8185:13;;8127:79;:::o;18987:101::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19068:12:::1;19054:11;;:26;;;;;;;;;;;;;;;;;;18987:101:::0;:::o;12477:47::-;;;;:::o;13480:87::-;13519:13;13552:7;;;;;;;;;;;;;;;;;13545:14;;13480:87;:::o;24040:139::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24153:18:::1;24131:19;:40;;;;24040:139:::0;:::o;23294:693::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23453:1:::1;23436:13;:18;;:40;;;;;23475:1;23458:13;:18;;23436:40;23428:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;23552:1;23537:11;:16;;:37;;;;;23572:2;23557:11;:17;;23537:37;23529:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;23650:1;23632:14;:19;;:42;;;;;23673:1;23655:14;:19;;23632:42;23624:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;23752:1;23736:12;:17;;:39;;;;;23773:2;23757:12;:18;;23736:39;23728:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;23845:13;23828:14;:30;;;;23887:14;23869:15;:32;;;;23927:11;23912:12;:26;;;;23965:12;23949:13;:28;;;;23294:693:::0;;;;:::o;19582:183::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19663:9:::1;19658:100;19682:8;:15;19678:1;:19;19658:100;;;19742:4;19719:7;:20;19727:8;19736:1;19727:11;;;;;;;;:::i;:::-;;;;;;;;19719:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;19699:3;;;;;:::i;:::-;;;;19658:100;;;;19582:183:::0;:::o;13919:199::-;14024:4;14046:42;14056:12;:10;:12::i;:::-;14070:9;14081:6;14046:9;:42::i;:::-;14106:4;14099:11;;13919:199;;;;:::o;19774:103::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19864:5:::1;19843:7;:18;19851:9;19843:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;19774:103:::0;:::o;11932:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;19097:234::-;19163:15;;;;;;;;;;;19147:31;;:12;:10;:12::i;:::-;:31;;;:70;;;;19198:19;;;;;;;;;;;19182:35;;:12;:10;:12::i;:::-;:35;;;19147:70;19139:79;;;;;;19229:23;19255:24;19273:4;19255:9;:24::i;:::-;19229:50;;19290:33;19307:15;19290:16;:33::i;:::-;19128:203;19097:234::o;24627:::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24744:9:::1;24740:114;24763:8;;:15;;24759:1;:19;24740:114;;;24834:8;24800:18;:31;24819:8;;24828:1;24819:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;24800:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;24780:3;;;;;:::i;:::-;;;;24740:114;;;;24627:234:::0;;;:::o;14127:184::-;14244:7;14276:11;:18;14288:5;14276:18;;;;;;;;;;;;;;;:27;14295:7;14276:27;;;;;;;;;;;;;;;;14269:34;;14127:184;;;;:::o;24503:115::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24597:13:::1;24580:14;:30;;;;24503:115:::0;:::o;8500:244::-;8265:12;:10;:12::i;:::-;8255:22;;:6;;;;;;;;;;:22;;;8247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8609:1:::1;8589:22;;:8;:22;;;;8581:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8699:8;8670:38;;8691:6;::::0;::::1;;;;;;;;8670:38;;;;;;;;;;;;8728:8;8719:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;8500:244:::0;:::o;6876:98::-;6929:7;6956:10;6949:17;;6876:98;:::o;15665:369::-;15809:1;15792:19;;:5;:19;;;;15784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15890:1;15871:21;;:7;:21;;;;15863:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15972:6;15942:11;:18;15954:5;15942:18;;;;;;;;;;;;;;;:27;15961:7;15942:27;;;;;;;;;;;;;;;:36;;;;16010:7;15994:32;;16003:5;15994:32;;;16019:6;15994:32;;;;;;:::i;:::-;;;;;;;;15665:369;;;:::o;16043:2333::-;16181:1;16165:18;;:4;:18;;;;16157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16258:1;16244:16;;:2;:16;;;;16236:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16328:1;16319:6;:10;16311:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16401:7;:5;:7::i;:::-;16393:15;;:4;:15;;;;:32;;;;;16418:7;:5;:7::i;:::-;16412:13;;:2;:13;;;;16393:32;16389:1255;;;16483:11;;;;;;;;;;;16478:144;;16531:7;:5;:7::i;:::-;16523:15;;:4;:15;;;16515:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;16478:144;16657:12;;16647:6;:22;;16639:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;16726:7;:13;16734:4;16726:13;;;;;;;;;;;;;;;;;;;;;;;;;16725:14;:30;;;;;16744:7;:11;16752:2;16744:11;;;;;;;;;;;;;;;;;;;;;;;;;16743:12;16725:30;16717:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;16806:13;;;;;;;;;;;16800:19;;:2;:19;;;16797:146;;16873:14;;16864:6;16848:13;16858:2;16848:9;:13::i;:::-;:22;;;;:::i;:::-;:39;16840:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;16797:146;16960:28;16991:24;17009:4;16991:9;:24::i;:::-;16960:55;;17030:12;17069:19;;17045:20;:43;;17030:58;;17133:12;;17109:20;:36;17106:124;;17202:12;;17179:35;;17106:124;17251:7;:18;;;;;17263:6;;;;;;;;;;17262:7;17251:18;:43;;;;;17281:13;;;;;;;;;;;17273:21;;:4;:21;;;;17251:43;:58;;;;;17298:11;;;;;;;;;;;17251:58;:87;;;;;17314:18;:24;17333:4;17314:24;;;;;;;;;;;;;;;;;;;;;;;;;17313:25;17251:87;:114;;;;;17343:18;:22;17362:2;17343:22;;;;;;;;;;;;;;;;;;;;;;;;;17342:23;17251:114;17247:386;;;17386:38;17403:20;17386:16;:38::i;:::-;17443:26;17472:21;17443:50;;17537:1;17516:18;:22;17512:106;;;17563:35;17576:21;17563:12;:35::i;:::-;17512:106;17367:266;17247:386;16427:1217;;16389:1255;17657:12;17672:4;17657:19;;17722:18;:24;17741:4;17722:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;17750:18;:22;17769:2;17750:22;;;;;;;;;;;;;;;;;;;;;;;;;17722:50;17721:102;;;;17786:13;;;;;;;;;;;17778:21;;:4;:21;;;;:44;;;;;17809:13;;;;;;;;;;;17803:19;;:2;:19;;;;17778:44;17721:102;17717:597;;;17850:5;17840:15;;17717:597;;;17934:13;;;;;;;;;;;17926:21;;:4;:21;;;:55;;;;;17965:15;;;;;;;;;;;17951:30;;:2;:30;;;;17926:55;17923:162;;;18014:14;;18002:9;:26;;;;18057:12;;18047:7;:22;;;;17923:162;18145:13;;;;;;;;;;;18139:19;;:2;:19;;;:55;;;;;18178:15;;;;;;;;;;;18162:32;;:4;:32;;;;18139:55;18135:165;;;18227:15;;18215:9;:27;;;;18271:13;;18261:7;:23;;;;18135:165;17717:597;18327:41;18342:4;18348:2;18352:6;18360:7;18327:14;:41::i;:::-;16146:2230;16043:2333;;;:::o;9112:224::-;9232:7;9265:1;9260;:6;;9268:12;9252:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;9292:9;9308:1;9304;:5;;;;:::i;:::-;9292:17;;9327:1;9320:8;;;9112:224;;;;;:::o;18877:101::-;18934:19;;;;;;;;;;;:28;;:36;18963:6;18934:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18877:101;:::o;14977:323::-;15072:7;15130;;15119;:18;;15097:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;15218:19;15240:10;:8;:10::i;:::-;15218:32;;15268:24;15280:11;15268:7;:11;;:24;;;;:::i;:::-;15261:31;;;14977:323;;;:::o;18385:483::-;12685:4;12676:6;;:13;;;;;;;;;;;;;;;;;;18463:21:::1;18501:1;18487:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18463:40;;18532:4;18514;18519:1;18514:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;18558:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18548:4;18553:1;18548:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;18591:62;18608:4;18623:15;;;;;;;;;;;18641:11;18591:8;:62::i;:::-;18664:15;;;;;;;;;;;:66;;;18745:11;18771:1;18787:4;18814;18834:15;18664:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18452:416;12721:5:::0;12712:6;;:14;;;;;;;;;;;;;;;;;;18385:483;:::o;19886:282::-;20042:7;20037:28;;20051:14;:12;:14::i;:::-;20037:28;20076:44;20094:6;20102:9;20113:6;20076:17;:44::i;:::-;20136:7;20131:29;;20145:15;:13;:15::i;:::-;20131:29;19886:282;;;;:::o;22855:164::-;22897:7;22918:15;22935;22954:19;:17;:19::i;:::-;22917:56;;;;22991:20;23003:7;22991;:11;;:20;;;;:::i;:::-;22984:27;;;;22855:164;:::o;9600:132::-;9658:7;9685:39;9689:1;9692;9685:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;9678:46;;9600:132;;;;:::o;15309:221::-;15369:1;15356:9;;:14;:30;;;;;15385:1;15374:7;;:12;15356:30;15352:43;;;15388:7;;15352:43;15428:9;;15408:17;:29;;;;15466:7;;15448:15;:25;;;;15499:1;15487:9;:13;;;;15521:1;15511:7;:11;;;;15309:221;:::o;20177:610::-;20324:15;20354:23;20392:12;20419:23;20457:12;20484:13;20511:19;20522:7;20511:10;:19::i;:::-;20309:221;;;;;;;;;;;;20559:28;20579:7;20559;:15;20567:6;20559:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20541:7;:15;20549:6;20541:15;;;;;;;;;;;;;;;:46;;;;20619:39;20642:15;20619:7;:18;20627:9;20619:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20598:7;:18;20606:9;20598:18;;;;;;;;;;;;;;;:60;;;;20669:16;20679:5;20669:9;:16::i;:::-;20696:23;20708:4;20714;20696:11;:23::i;:::-;20752:9;20735:44;;20744:6;20735:44;;;20763:15;20735:44;;;;;;:::i;:::-;;;;;;;;20298:489;;;;;;20177:610;;;:::o;15539:117::-;15595:17;;15583:9;:29;;;;15633:15;;15623:7;:25;;;;15539:117::o;23028:257::-;23079:7;23088;23108:15;23126:7;;23108:25;;23144:15;11425:17;23144:25;;23194:20;11425:17;23194:7;;:11;;:20;;;;:::i;:::-;23184:7;:30;23180:61;;;23224:7;;11425:17;23216:25;;;;;;;;23180:61;23260:7;23269;23252:25;;;;;;23028:257;;;:::o;9741:223::-;9861:7;9893:1;9889;:5;9896:12;9881:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;9920:9;9936:1;9932;:5;;;;:::i;:::-;9920:17;;9955:1;9948:8;;;9741:223;;;;;:::o;21210:615::-;21310:7;21332;21354;21376;21398;21420;21456:23;21481:12;21495:13;21525:40;21537:7;21546:9;;21557:7;;21525:11;:40::i;:::-;21455:110;;;;;;21576:19;21598:10;:8;:10::i;:::-;21576:32;;21620:15;21637:23;21662:12;21691:46;21703:7;21712:4;21718:5;21725:11;21691;:46::i;:::-;21619:118;;;;;;21756:7;21765:15;21782:4;21788:15;21805:4;21811:5;21748:69;;;;;;;;;;;;;;;;;;;21210:615;;;;;;;:::o;8967:136::-;9025:7;9052:43;9056:1;9059;9052:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;9045:50;;8967:136;;;;:::o;8779:179::-;8837:7;8857:9;8873:1;8869;:5;;;;:::i;:::-;8857:17;;8898:1;8893;:6;;8885:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8949:1;8942:8;;;8779:179;;;;:::o;20796:211::-;20849:19;20871:10;:8;:10::i;:::-;20849:32;;20892:13;20908:22;20918:11;20908:5;:9;;:22;;;;:::i;:::-;20892:38;;20966:33;20993:5;20966:7;:22;20982:4;20966:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;20941:7;:22;20957:4;20941:22;;;;;;;;;;;;;;;:58;;;;20838:169;;20796:211;:::o;21016:147::-;21094:17;21106:4;21094:7;;:11;;:17;;;;:::i;:::-;21084:7;:27;;;;21135:20;21150:4;21135:10;;:14;;:20;;;;:::i;:::-;21122:10;:33;;;;21016:147;;:::o;21834:469::-;22003:7;22025;22047;22082:12;22097:30;22123:3;22097:21;22109:8;22097:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;22082:45;;22138:13;22154:28;22178:3;22154:19;22166:6;22154:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;22138:44;;22193:23;22219:28;22241:5;22219:17;22231:4;22219:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;22193:54;;22266:15;22283:4;22289:5;22258:37;;;;;;;;;21834:469;;;;;;;:::o;22312:534::-;22506:7;22528;22550;22585:15;22603:24;22615:11;22603:7;:11;;:24;;;;:::i;:::-;22585:42;;22638:12;22653:21;22662:11;22653:4;:8;;:21;;;;:::i;:::-;22638:36;;22685:13;22701:22;22711:11;22701:5;:9;;:22;;;;:::i;:::-;22685:38;;22734:23;22760:28;22782:5;22760:17;22772:4;22760:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;22734:54;;22807:7;22816:15;22833:4;22799:39;;;;;;;;;;22312:534;;;;;;;;:::o;9345:246::-;9403:7;9432:1;9427;:6;9423:47;;;9457:1;9450:8;;;;9423:47;9480:9;9496:1;9492;:5;;;;:::i;:::-;9480:17;;9525:1;9520;9516;:5;;;;:::i;:::-;:10;9508:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;9582:1;9575:8;;;9345:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:86::-;5479:7;5519:4;5512:5;5508:16;5497:27;;5444:86;;;:::o;5536:112::-;5619:22;5635:5;5619:22;:::i;:::-;5614:3;5607:35;5536:112;;:::o;5654:214::-;5743:4;5781:2;5770:9;5766:18;5758:26;;5794:67;5858:1;5847:9;5843:17;5834:6;5794:67;:::i;:::-;5654:214;;;;:::o;5874:118::-;5961:24;5979:5;5961:24;:::i;:::-;5956:3;5949:37;5874:118;;:::o;5998:222::-;6091:4;6129:2;6118:9;6114:18;6106:26;;6142:71;6210:1;6199:9;6195:17;6186:6;6142:71;:::i;:::-;5998:222;;;;:::o;6226:116::-;6296:21;6311:5;6296:21;:::i;:::-;6289:5;6286:32;6276:60;;6332:1;6329;6322:12;6276:60;6226:116;:::o;6348:133::-;6391:5;6429:6;6416:20;6407:29;;6445:30;6469:5;6445:30;:::i;:::-;6348:133;;;;:::o;6487:323::-;6543:6;6592:2;6580:9;6571:7;6567:23;6563:32;6560:119;;;6598:79;;:::i;:::-;6560:119;6718:1;6743:50;6785:7;6776:6;6765:9;6761:22;6743:50;:::i;:::-;6733:60;;6689:114;6487:323;;;;:::o;6816:329::-;6875:6;6924:2;6912:9;6903:7;6899:23;6895:32;6892:119;;;6930:79;;:::i;:::-;6892:119;7050:1;7075:53;7120:7;7111:6;7100:9;7096:22;7075:53;:::i;:::-;7065:63;;7021:117;6816:329;;;;:::o;7151:::-;7210:6;7259:2;7247:9;7238:7;7234:23;7230:32;7227:119;;;7265:79;;:::i;:::-;7227:119;7385:1;7410:53;7455:7;7446:6;7435:9;7431:22;7410:53;:::i;:::-;7400:63;;7356:117;7151:329;;;;:::o;7486:765::-;7572:6;7580;7588;7596;7645:3;7633:9;7624:7;7620:23;7616:33;7613:120;;;7652:79;;:::i;:::-;7613:120;7772:1;7797:53;7842:7;7833:6;7822:9;7818:22;7797:53;:::i;:::-;7787:63;;7743:117;7899:2;7925:53;7970:7;7961:6;7950:9;7946:22;7925:53;:::i;:::-;7915:63;;7870:118;8027:2;8053:53;8098:7;8089:6;8078:9;8074:22;8053:53;:::i;:::-;8043:63;;7998:118;8155:2;8181:53;8226:7;8217:6;8206:9;8202:22;8181:53;:::i;:::-;8171:63;;8126:118;7486:765;;;;;;;:::o;8257:117::-;8366:1;8363;8356:12;8380:180;8428:77;8425:1;8418:88;8525:4;8522:1;8515:15;8549:4;8546:1;8539:15;8566:281;8649:27;8671:4;8649:27;:::i;:::-;8641:6;8637:40;8779:6;8767:10;8764:22;8743:18;8731:10;8728:34;8725:62;8722:88;;;8790:18;;:::i;:::-;8722:88;8830:10;8826:2;8819:22;8609:238;8566:281;;:::o;8853:129::-;8887:6;8914:20;;:::i;:::-;8904:30;;8943:33;8971:4;8963:6;8943:33;:::i;:::-;8853:129;;;:::o;8988:311::-;9065:4;9155:18;9147:6;9144:30;9141:56;;;9177:18;;:::i;:::-;9141:56;9227:4;9219:6;9215:17;9207:25;;9287:4;9281;9277:15;9269:23;;8988:311;;;:::o;9305:117::-;9414:1;9411;9404:12;9445:710;9541:5;9566:81;9582:64;9639:6;9582:64;:::i;:::-;9566:81;:::i;:::-;9557:90;;9667:5;9696:6;9689:5;9682:21;9730:4;9723:5;9719:16;9712:23;;9783:4;9775:6;9771:17;9763:6;9759:30;9812:3;9804:6;9801:15;9798:122;;;9831:79;;:::i;:::-;9798:122;9946:6;9929:220;9963:6;9958:3;9955:15;9929:220;;;10038:3;10067:37;10100:3;10088:10;10067:37;:::i;:::-;10062:3;10055:50;10134:4;10129:3;10125:14;10118:21;;10005:144;9989:4;9984:3;9980:14;9973:21;;9929:220;;;9933:21;9547:608;;9445:710;;;;;:::o;10178:370::-;10249:5;10298:3;10291:4;10283:6;10279:17;10275:27;10265:122;;10306:79;;:::i;:::-;10265:122;10423:6;10410:20;10448:94;10538:3;10530:6;10523:4;10515:6;10511:17;10448:94;:::i;:::-;10439:103;;10255:293;10178:370;;;;:::o;10554:539::-;10638:6;10687:2;10675:9;10666:7;10662:23;10658:32;10655:119;;;10693:79;;:::i;:::-;10655:119;10841:1;10830:9;10826:17;10813:31;10871:18;10863:6;10860:30;10857:117;;;10893:79;;:::i;:::-;10857:117;10998:78;11068:7;11059:6;11048:9;11044:22;10998:78;:::i;:::-;10988:88;;10784:302;10554:539;;;;:::o;11099:117::-;11208:1;11205;11198:12;11239:568;11312:8;11322:6;11372:3;11365:4;11357:6;11353:17;11349:27;11339:122;;11380:79;;:::i;:::-;11339:122;11493:6;11480:20;11470:30;;11523:18;11515:6;11512:30;11509:117;;;11545:79;;:::i;:::-;11509:117;11659:4;11651:6;11647:17;11635:29;;11713:3;11705:4;11697:6;11693:17;11683:8;11679:32;11676:41;11673:128;;;11720:79;;:::i;:::-;11673:128;11239:568;;;;;:::o;11813:698::-;11905:6;11913;11921;11970:2;11958:9;11949:7;11945:23;11941:32;11938:119;;;11976:79;;:::i;:::-;11938:119;12124:1;12113:9;12109:17;12096:31;12154:18;12146:6;12143:30;12140:117;;;12176:79;;:::i;:::-;12140:117;12289:80;12361:7;12352:6;12341:9;12337:22;12289:80;:::i;:::-;12271:98;;;;12067:312;12418:2;12444:50;12486:7;12477:6;12466:9;12462:22;12444:50;:::i;:::-;12434:60;;12389:115;11813:698;;;;;:::o;12517:474::-;12585:6;12593;12642:2;12630:9;12621:7;12617:23;12613:32;12610:119;;;12648:79;;:::i;:::-;12610:119;12768:1;12793:53;12838:7;12829:6;12818:9;12814:22;12793:53;:::i;:::-;12783:63;;12739:117;12895:2;12921:53;12966:7;12957:6;12946:9;12942:22;12921:53;:::i;:::-;12911:63;;12866:118;12517:474;;;;;:::o;12997:182::-;13137:34;13133:1;13125:6;13121:14;13114:58;12997:182;:::o;13185:366::-;13327:3;13348:67;13412:2;13407:3;13348:67;:::i;:::-;13341:74;;13424:93;13513:3;13424:93;:::i;:::-;13542:2;13537:3;13533:12;13526:19;;13185:366;;;:::o;13557:419::-;13723:4;13761:2;13750:9;13746:18;13738:26;;13810:9;13804:4;13800:20;13796:1;13785:9;13781:17;13774:47;13838:131;13964:4;13838:131;:::i;:::-;13830:139;;13557:419;;;:::o;13982:224::-;14122:34;14118:1;14110:6;14106:14;14099:58;14191:7;14186:2;14178:6;14174:15;14167:32;13982:224;:::o;14212:366::-;14354:3;14375:67;14439:2;14434:3;14375:67;:::i;:::-;14368:74;;14451:93;14540:3;14451:93;:::i;:::-;14569:2;14564:3;14560:12;14553:19;;14212:366;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14584:419;;;:::o;15009:221::-;15149:34;15145:1;15137:6;15133:14;15126:58;15218:4;15213:2;15205:6;15201:15;15194:29;15009:221;:::o;15236:366::-;15378:3;15399:67;15463:2;15458:3;15399:67;:::i;:::-;15392:74;;15475:93;15564:3;15475:93;:::i;:::-;15593:2;15588:3;15584:12;15577:19;;15236:366;;;:::o;15608:419::-;15774:4;15812:2;15801:9;15797:18;15789:26;;15861:9;15855:4;15851:20;15847:1;15836:9;15832:17;15825:47;15889:131;16015:4;15889:131;:::i;:::-;15881:139;;15608:419;;;:::o;16033:225::-;16173:34;16169:1;16161:6;16157:14;16150:58;16242:8;16237:2;16229:6;16225:15;16218:33;16033:225;:::o;16264:366::-;16406:3;16427:67;16491:2;16486:3;16427:67;:::i;:::-;16420:74;;16503:93;16592:3;16503:93;:::i;:::-;16621:2;16616:3;16612:12;16605:19;;16264:366;;;:::o;16636:419::-;16802:4;16840:2;16829:9;16825:18;16817:26;;16889:9;16883:4;16879:20;16875:1;16864:9;16860:17;16853:47;16917:131;17043:4;16917:131;:::i;:::-;16909:139;;16636:419;;;:::o;17061:222::-;17201:34;17197:1;17189:6;17185:14;17178:58;17270:5;17265:2;17257:6;17253:15;17246:30;17061:222;:::o;17289:366::-;17431:3;17452:67;17516:2;17511:3;17452:67;:::i;:::-;17445:74;;17528:93;17617:3;17528:93;:::i;:::-;17646:2;17641:3;17637:12;17630:19;;17289:366;;;:::o;17661:419::-;17827:4;17865:2;17854:9;17850:18;17842:26;;17914:9;17908:4;17904:20;17900:1;17889:9;17885:17;17878:47;17942:131;18068:4;17942:131;:::i;:::-;17934:139;;17661:419;;;:::o;18086:180::-;18134:77;18131:1;18124:88;18231:4;18228:1;18221:15;18255:4;18252:1;18245:15;18272:180;18320:77;18317:1;18310:88;18417:4;18414:1;18407:15;18441:4;18438:1;18431:15;18458:233;18497:3;18520:24;18538:5;18520:24;:::i;:::-;18511:33;;18566:66;18559:5;18556:77;18553:103;;;18636:18;;:::i;:::-;18553:103;18683:1;18676:5;18672:13;18665:20;;18458:233;;;:::o;18697:225::-;18837:34;18833:1;18825:6;18821:14;18814:58;18906:8;18901:2;18893:6;18889:15;18882:33;18697:225;:::o;18928:366::-;19070:3;19091:67;19155:2;19150:3;19091:67;:::i;:::-;19084:74;;19167:93;19256:3;19167:93;:::i;:::-;19285:2;19280:3;19276:12;19269:19;;18928:366;;;:::o;19300:419::-;19466:4;19504:2;19493:9;19489:18;19481:26;;19553:9;19547:4;19543:20;19539:1;19528:9;19524:17;19517:47;19581:131;19707:4;19581:131;:::i;:::-;19573:139;;19300:419;;;:::o;19725:223::-;19865:34;19861:1;19853:6;19849:14;19842:58;19934:6;19929:2;19921:6;19917:15;19910:31;19725:223;:::o;19954:366::-;20096:3;20117:67;20181:2;20176:3;20117:67;:::i;:::-;20110:74;;20193:93;20282:3;20193:93;:::i;:::-;20311:2;20306:3;20302:12;20295:19;;19954:366;;;:::o;20326:419::-;20492:4;20530:2;20519:9;20515:18;20507:26;;20579:9;20573:4;20569:20;20565:1;20554:9;20550:17;20543:47;20607:131;20733:4;20607:131;:::i;:::-;20599:139;;20326:419;;;:::o;20751:221::-;20891:34;20887:1;20879:6;20875:14;20868:58;20960:4;20955:2;20947:6;20943:15;20936:29;20751:221;:::o;20978:366::-;21120:3;21141:67;21205:2;21200:3;21141:67;:::i;:::-;21134:74;;21217:93;21306:3;21217:93;:::i;:::-;21335:2;21330:3;21326:12;21319:19;;20978:366;;;:::o;21350:419::-;21516:4;21554:2;21543:9;21539:18;21531:26;;21603:9;21597:4;21593:20;21589:1;21578:9;21574:17;21567:47;21631:131;21757:4;21631:131;:::i;:::-;21623:139;;21350:419;;;:::o;21775:224::-;21915:34;21911:1;21903:6;21899:14;21892:58;21984:7;21979:2;21971:6;21967:15;21960:32;21775:224;:::o;22005:366::-;22147:3;22168:67;22232:2;22227:3;22168:67;:::i;:::-;22161:74;;22244:93;22333:3;22244:93;:::i;:::-;22362:2;22357:3;22353:12;22346:19;;22005:366;;;:::o;22377:419::-;22543:4;22581:2;22570:9;22566:18;22558:26;;22630:9;22624:4;22620:20;22616:1;22605:9;22601:17;22594:47;22658:131;22784:4;22658:131;:::i;:::-;22650:139;;22377:419;;;:::o;22802:222::-;22942:34;22938:1;22930:6;22926:14;22919:58;23011:5;23006:2;22998:6;22994:15;22987:30;22802:222;:::o;23030:366::-;23172:3;23193:67;23257:2;23252:3;23193:67;:::i;:::-;23186:74;;23269:93;23358:3;23269:93;:::i;:::-;23387:2;23382:3;23378:12;23371:19;;23030:366;;;:::o;23402:419::-;23568:4;23606:2;23595:9;23591:18;23583:26;;23655:9;23649:4;23645:20;23641:1;23630:9;23626:17;23619:47;23683:131;23809:4;23683:131;:::i;:::-;23675:139;;23402:419;;;:::o;23827:228::-;23967:34;23963:1;23955:6;23951:14;23944:58;24036:11;24031:2;24023:6;24019:15;24012:36;23827:228;:::o;24061:366::-;24203:3;24224:67;24288:2;24283:3;24224:67;:::i;:::-;24217:74;;24300:93;24389:3;24300:93;:::i;:::-;24418:2;24413:3;24409:12;24402:19;;24061:366;;;:::o;24433:419::-;24599:4;24637:2;24626:9;24622:18;24614:26;;24686:9;24680:4;24676:20;24672:1;24661:9;24657:17;24650:47;24714:131;24840:4;24714:131;:::i;:::-;24706:139;;24433:419;;;:::o;24858:250::-;24998:34;24994:1;24986:6;24982:14;24975:58;25067:33;25062:2;25054:6;25050:15;25043:58;24858:250;:::o;25114:366::-;25256:3;25277:67;25341:2;25336:3;25277:67;:::i;:::-;25270:74;;25353:93;25442:3;25353:93;:::i;:::-;25471:2;25466:3;25462:12;25455:19;;25114:366;;;:::o;25486:419::-;25652:4;25690:2;25679:9;25675:18;25667:26;;25739:9;25733:4;25729:20;25725:1;25714:9;25710:17;25703:47;25767:131;25893:4;25767:131;:::i;:::-;25759:139;;25486:419;;;:::o;25911:178::-;26051:30;26047:1;26039:6;26035:14;26028:54;25911:178;:::o;26095:366::-;26237:3;26258:67;26322:2;26317:3;26258:67;:::i;:::-;26251:74;;26334:93;26423:3;26334:93;:::i;:::-;26452:2;26447:3;26443:12;26436:19;;26095:366;;;:::o;26467:419::-;26633:4;26671:2;26660:9;26656:18;26648:26;;26720:9;26714:4;26710:20;26706:1;26695:9;26691:17;26684:47;26748:131;26874:4;26748:131;:::i;:::-;26740:139;;26467:419;;;:::o;26892:169::-;27032:21;27028:1;27020:6;27016:14;27009:45;26892:169;:::o;27067:366::-;27209:3;27230:67;27294:2;27289:3;27230:67;:::i;:::-;27223:74;;27306:93;27395:3;27306:93;:::i;:::-;27424:2;27419:3;27415:12;27408:19;;27067:366;;;:::o;27439:419::-;27605:4;27643:2;27632:9;27628:18;27620:26;;27692:9;27686:4;27682:20;27678:1;27667:9;27663:17;27656:47;27720:131;27846:4;27720:131;:::i;:::-;27712:139;;27439:419;;;:::o;27864:305::-;27904:3;27923:20;27941:1;27923:20;:::i;:::-;27918:25;;27957:20;27975:1;27957:20;:::i;:::-;27952:25;;28111:1;28043:66;28039:74;28036:1;28033:81;28030:107;;;28117:18;;:::i;:::-;28030:107;28161:1;28158;28154:9;28147:16;;27864:305;;;;:::o;28175:222::-;28315:34;28311:1;28303:6;28299:14;28292:58;28384:5;28379:2;28371:6;28367:15;28360:30;28175:222;:::o;28403:366::-;28545:3;28566:67;28630:2;28625:3;28566:67;:::i;:::-;28559:74;;28642:93;28731:3;28642:93;:::i;:::-;28760:2;28755:3;28751:12;28744:19;;28403:366;;;:::o;28775:419::-;28941:4;28979:2;28968:9;28964:18;28956:26;;29028:9;29022:4;29018:20;29014:1;29003:9;28999:17;28992:47;29056:131;29182:4;29056:131;:::i;:::-;29048:139;;28775:419;;;:::o;29200:191::-;29240:4;29260:20;29278:1;29260:20;:::i;:::-;29255:25;;29294:20;29312:1;29294:20;:::i;:::-;29289:25;;29333:1;29330;29327:8;29324:34;;;29338:18;;:::i;:::-;29324:34;29383:1;29380;29376:9;29368:17;;29200:191;;;;:::o;29397:229::-;29537:34;29533:1;29525:6;29521:14;29514:58;29606:12;29601:2;29593:6;29589:15;29582:37;29397:229;:::o;29632:366::-;29774:3;29795:67;29859:2;29854:3;29795:67;:::i;:::-;29788:74;;29871:93;29960:3;29871:93;:::i;:::-;29989:2;29984:3;29980:12;29973:19;;29632:366;;;:::o;30004:419::-;30170:4;30208:2;30197:9;30193:18;30185:26;;30257:9;30251:4;30247:20;30243:1;30232:9;30228:17;30221:47;30285:131;30411:4;30285:131;:::i;:::-;30277:139;;30004:419;;;:::o;30429:143::-;30486:5;30517:6;30511:13;30502:22;;30533:33;30560:5;30533:33;:::i;:::-;30429:143;;;;:::o;30578:351::-;30648:6;30697:2;30685:9;30676:7;30672:23;30668:32;30665:119;;;30703:79;;:::i;:::-;30665:119;30823:1;30848:64;30904:7;30895:6;30884:9;30880:22;30848:64;:::i;:::-;30838:74;;30794:128;30578:351;;;;:::o;30935:85::-;30980:7;31009:5;30998:16;;30935:85;;;:::o;31026:158::-;31084:9;31117:61;31135:42;31144:32;31170:5;31144:32;:::i;:::-;31135:42;:::i;:::-;31117:61;:::i;:::-;31104:74;;31026:158;;;:::o;31190:147::-;31285:45;31324:5;31285:45;:::i;:::-;31280:3;31273:58;31190:147;;:::o;31343:114::-;31410:6;31444:5;31438:12;31428:22;;31343:114;;;:::o;31463:184::-;31562:11;31596:6;31591:3;31584:19;31636:4;31631:3;31627:14;31612:29;;31463:184;;;;:::o;31653:132::-;31720:4;31743:3;31735:11;;31773:4;31768:3;31764:14;31756:22;;31653:132;;;:::o;31791:108::-;31868:24;31886:5;31868:24;:::i;:::-;31863:3;31856:37;31791:108;;:::o;31905:179::-;31974:10;31995:46;32037:3;32029:6;31995:46;:::i;:::-;32073:4;32068:3;32064:14;32050:28;;31905:179;;;;:::o;32090:113::-;32160:4;32192;32187:3;32183:14;32175:22;;32090:113;;;:::o;32239:732::-;32358:3;32387:54;32435:5;32387:54;:::i;:::-;32457:86;32536:6;32531:3;32457:86;:::i;:::-;32450:93;;32567:56;32617:5;32567:56;:::i;:::-;32646:7;32677:1;32662:284;32687:6;32684:1;32681:13;32662:284;;;32763:6;32757:13;32790:63;32849:3;32834:13;32790:63;:::i;:::-;32783:70;;32876:60;32929:6;32876:60;:::i;:::-;32866:70;;32722:224;32709:1;32706;32702:9;32697:14;;32662:284;;;32666:14;32962:3;32955:10;;32363:608;;;32239:732;;;;:::o;32977:831::-;33240:4;33278:3;33267:9;33263:19;33255:27;;33292:71;33360:1;33349:9;33345:17;33336:6;33292:71;:::i;:::-;33373:80;33449:2;33438:9;33434:18;33425:6;33373:80;:::i;:::-;33500:9;33494:4;33490:20;33485:2;33474:9;33470:18;33463:48;33528:108;33631:4;33622:6;33528:108;:::i;:::-;33520:116;;33646:72;33714:2;33703:9;33699:18;33690:6;33646:72;:::i;:::-;33728:73;33796:3;33785:9;33781:19;33772:6;33728:73;:::i;:::-;32977:831;;;;;;;;:::o;33814:180::-;33862:77;33859:1;33852:88;33959:4;33956:1;33949:15;33983:4;33980:1;33973:15;34000:185;34040:1;34057:20;34075:1;34057:20;:::i;:::-;34052:25;;34091:20;34109:1;34091:20;:::i;:::-;34086:25;;34130:1;34120:35;;34135:18;;:::i;:::-;34120:35;34177:1;34174;34170:9;34165:14;;34000:185;;;;:::o;34191:177::-;34331:29;34327:1;34319:6;34315:14;34308:53;34191:177;:::o;34374:366::-;34516:3;34537:67;34601:2;34596:3;34537:67;:::i;:::-;34530:74;;34613:93;34702:3;34613:93;:::i;:::-;34731:2;34726:3;34722:12;34715:19;;34374:366;;;:::o;34746:419::-;34912:4;34950:2;34939:9;34935:18;34927:26;;34999:9;34993:4;34989:20;34985:1;34974:9;34970:17;34963:47;35027:131;35153:4;35027:131;:::i;:::-;35019:139;;34746:419;;;:::o;35171:348::-;35211:7;35234:20;35252:1;35234:20;:::i;:::-;35229:25;;35268:20;35286:1;35268:20;:::i;:::-;35263:25;;35456:1;35388:66;35384:74;35381:1;35378:81;35373:1;35366:9;35359:17;35355:105;35352:131;;;35463:18;;:::i;:::-;35352:131;35511:1;35508;35504:9;35493:20;;35171:348;;;;:::o;35525:220::-;35665:34;35661:1;35653:6;35649:14;35642:58;35734:3;35729:2;35721:6;35717:15;35710:28;35525:220;:::o;35751:366::-;35893:3;35914:67;35978:2;35973:3;35914:67;:::i;:::-;35907:74;;35990:93;36079:3;35990:93;:::i;:::-;36108:2;36103:3;36099:12;36092:19;;35751:366;;;:::o;36123:419::-;36289:4;36327:2;36316:9;36312:18;36304:26;;36376:9;36370:4;36366:20;36362:1;36351:9;36347:17;36340:47;36404:131;36530:4;36404:131;:::i;:::-;36396:139;;36123:419;;;:::o
Swarm Source
ipfs://112cd5c3823a9c85d44191e5b06ca72c6b7229d515ae9b61018684dc27f6a9f2
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.