Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 ABUTIU
Holders
196
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 ABUTIUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ABUTIU
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-23 */ // SPDX-License-Identifier: UNLICENSED /* Telegram - https://t.me/ABUTIUerc Website - https://abutiutoken.com/ Twitter - https://twitter.com/ABUTIUerc Wikipedia- https://en.wikipedia.org/wiki/Abuwtiyuw#:~:text=The%20Egyptian%20dog%20Abuwtiyuw%2C%20also,animals%20whose%20name%20is%20known. */ /* / . , .___ , . , / _.|_ . ,-+- .. ,[__ /| |_| / (_][_) \/\/ | \_| \/\/ [___.|. | / ._| */ /* 5YJ?JJJJJJYY??JJJ?J?J??J?JJJJJJJ???JYYYJYJJJYJJJY5JJY5YYJ77YGB&?!JJJ?JJJ?7777?JJJJJY5YJ????7???JJ?J? ????????777?7??????7?????JJJJJJJJ????JJJJJJYJJJ?JJ?JJJJJJ5B##BB!7JJ??777J5BY~?JJJJJJ??????7?JJJJJJJJ ????JJJJJ???J?JJJJJJJJJJJJJJJJJYYYJJJJJJJJJJJJYJJJJJJ?75B#BBB#P~JJJ77J5B##B7JYYYJJJ???JJJJJ????????? YJYYYYJ??JJ??YY????????JYYY55J???J??JYJJJYJYYYJJYYY?75##BB####Y!J7!JB#####77JYJJJJJJYY?J5J?JYJ???77? JJ??JJJJJYJY55J??????YYYY555555Y??JJ55JJJJJYJJJJ5Y7?B#########!^~J#&####&P7YYY5J??JJYJ??J???JY?????? J????JJ??J?J?7?JJJJ??????????????JY5Y??J55555PYJ?~!B#########P~?G&#######!!?????J?JJJ??JY??????????J JJJJJJYJ???JYYJJ????JJ?JJ?J??JJJJJYJ??JJ555555YJ!7###########?P########&5^?JJYJJ?JJ??JJ????77?7????? ???JJJ?JJJ?JJJJJJJ?JP5JYYJJJYJJJYJ???JJJJJ????J7~B&##########B##########!!JJJJ?JJJ??JJJJYJ???J????77 J???JJJJJYJJJ??JJJYJJYYYYYJJJJJJJJJJJJYYYYJJJJ?~5&##########&&########&P^!?JYYJJJJJJJJJJJ?J????????? JJYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY55Y55555YYJ?77Y&############&&&&&&####B5Y!!J55YYYYYYYYYYYYJJJJJJ??? YJJJJJJJJP5JJJYYYJYYYYJYYPGPJJYPGGPPPGP5?7YY5PG#&############BBBGGGBB##&&Y7JJJYYYYYYJ5PYY5PPY??JJ??J 5YJJJJJ555Y?JJ5Y5YYJYYYYYY5YYYYYYYYJ?7!!?5B#&&############&B5J??JYP5Y5P##BGY777JYYYYJPPYPGPYYJ????JY PYJJJY5YJ??JJJJJYYYYYJYY5YYYYYYY?7!~7JPB#####################G5?^.5##BPB###&#BP55J?77Y5?Y5PYJYJJJYYJ YYJJ5YJ?7?JJJ?J??JJJJYP5PPPPPPY!~!JGB####BB###################&&#G555?!Y#######&##BGGPP5YJ?Y5YJJYYJ? ????J??????J??????JJJYYJJJJ?!~!JGB#BBBBBBBBBB#BBB#################################&&&&&&#Y!?J????777 JJJJJJJJJJJJJJJJJJYYYYYYYJ77JPB##BBBBBBBBBBBBBBBBBBB#B###B#########BBBBBBBBBBBBBB######B?!???JJJ?J?? JJJYJ??YJJYYJJYJJJJJJJJ?!~JG#BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB##BB#####################GJ!?Y55YJJJJYJJ ???????JJJYYJJYJJJJJJJ7~?G##BBBBBBBBBBB#BBBBBBBBBBBBBB#BB########BBBGPP5YYYP55PPPPG5?77J555YJJYYJ??? ?7?7???YY?YYJY5YYYJJJ!7G#BBBBBBBBBBBBBBBBBBBB#BBBBBBBBBB######B?!!!777????J5Y??????JJY55YYYJJJ55YJJ? ?????77??????JJ?JJJ?~?##BBBBBBBBBBBBBBBBBBBBBBBBB#BBBBBBBBBB###BG?~7?JJJJJJYP5Y5PJJJY5555PYJJJJ??JJJ ?????????????JJ?J?!^Y&BB##BB#BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB##5!7?7!?JJ?JY5YJJ55Y??JYYYJJ?7?JJJY J????JJJJJ?JJ??J?!^5&###GB57J5PBB####BBBBBBBBBBB##BBBBBBBBBBB#####&57PBPJ7JY?JJJYJJJ?JJJYYJJYJJJJJJ? ?JJJYYJYJJJJJJJJ!~P&##BPPPG^^^^~7J5G####BBBBBB######BBBBBB########&P^5BGBG??5YYYYYYYYJJYYYYYYYYYY5YY JYYYYYYYJ?JJYYY7^5&##GGGPPBY^^^^^^^~~P#BBBB##########B############&B~GGGGBBJ?Y55YYYYYY555555YYYYJJJY 7JJJJ?JJ??JJ??7~J&##GGGGGGGB~^~~~~~^^?#BBBBB#BBB########BB&########B7BGGGGGB!?YYYY5YYJJJJJYYJJ??JJ?J 5PY5P5PPJ?J???^7#B#GPGPPPPPGP^^^^^^^^7#BBBBBBBB#GGGGG5Y?~!#########BPBGGGGG#Y!YJJJJJJJYJYYY5YYJJJJJJ JJ??JJYJ??J??7^G##BPPPPPGGGGB5^^^^^^^!#BBBBBB###!~~~~~~~~~B########&BGGGGBBBG~JYYJYJJYYYJJ?7?????JJ? J??JJJJJJ?J?!~5#B#P5PPPPPGGGGB5~^^^^^!#BBBBBBBB#~^^~~~~~~~G########&GGGGGGGGB!7YPYYYYYYJ???YJYJJJ??? JJJJJJJJJ?77^7#GBB55555PPPP5PPPP?~^^^~BBBGBBBBBB~^^^^^~~~^P#########PGGGGGGPB77JJJYYY??JYJJ???JY5YJJ JJJJJJ?????!~BBGBP5555P5555GBP5PGPY7~~BBBBBBBB##~^^^^^^^^^P####BB###GGGGGGGPBJ7YJJJJJJJJJJJJJ?JJJJ?? JJJJYYYJJJ77J#GBB55555555PB#BBGP5PPGP5#BBBBBB##B^^^^^~~!7JB#########GGGGGGGGB??PYJJJJJJJJJJJJ?JYJJ55 ?????JJJJ?~!BBB#PPPPP5555B#BBBB#G55PPG#BBBBBB###YYY55PPGGG##########GGGGGGGGB?!JYYJJ?JJJYJ??????JJ5Y J???JY55Y!^J#GBBPPPPPPP5B#BBBBB#BPPPPP#BBBBBB##&GGGGGGGGGG##########GPGGGGGGBY75J??JJJJ?YJJJJJJJ?7?Y ??JJYY?7?~^GBB#P555PPPPB#BBBBB#57GPPPP#BB#BBBB#&GGGGGGGGGG##BBBBBB#PBGGGGGPPBY~YYJY5????JYJ?JJJJJ??J ????7?7?7^!#BBB5P5PPPPG#BBBBBB#?~PGGGG&B##BB#B#&GGGGGGGGPG#BB######JBGPPGGPPB?!?JYYJ?J??JJJJYJJYJJ7? JJJJJJJJ7~Y&B#P55PPPPG##BBBBBBB!!JBGGG&###BBB##&GGGGGPGPPG&#####&&&JBGGPPGGGB??J?JJJJJJJ??JJJYJ?JJ?7 JJJYYYYY?7B#BBPPPPPPPB#BBBBBB#57J?#GGG###BB#####GGGGGPGGPGBB##5555Y7GGGGGGGGB7JYJJJJJJJJJY5YYJJJJJJJ 5YJJ5555!~PG#PPPPPPPG&######B&J7J!BGPPPPPPPPGPPPGGGGGGGGPGGGBP^J5J?~5BGGGGGGB7JYYJYJJ55JJY5YJ?JJJJJJ JJYJJJYJ77^7B5PPPPPPB55PPGGGGP~?Y!BGPPPPPPPPPPGGGGGGGGGGGGGGB5^7???~YGPGGGGGB7YYJY55YJ?JJJY???JJJJYY YYJJ??77??^5G5PPPPPGP^7?JJ??7!!JJ~GGPPPPPPPPPGGGGGGGGGGGGGGPBJ~JJJJ~5GPPPGGGB!JJJYYY?7JJJ?J????J???? YJJ???JJ?!^BP55PPPPB?!Y5YYYYJJJJ?^PBPPPPPPPPPGPPPPPGGGGGGGGPB?~J5JJ!YGPPPGGPB7YJ?J???YJJ??JJ???????? YJ?????J?~7B555555PG~?JJ77?7?JJJ!?BGGGGPP55PPPPPPPPPPPPPPPPPGG~75JJ!JBPPPPPPB?~???77JJJ??JYJJ????JJJ ????J?77?^YG555555GY^777??7????!!BP5PPPGGPP55PP5PPPPPPPPPPPPPBY~?JJ7?BPPPPPPGY^????????????7?????777 */ // pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract ABUTIU is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; mapping(address => uint256) private cooldownTimer; bool public buyCooldownEnabled = true; uint8 public cooldownTimerInterval = 1; address payable _devWallet; uint256 private _initialBuyTax = 19; uint256 private _initialSellTax = 19; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 19; uint256 private _reduceSellTaxAt = 19; uint256 private _preventSwapBefore = 19; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000000 * 10 **_decimals; string private constant _name = unicode"ABUWTIYUW"; string private constant _symbol = unicode"ABUTIU"; uint256 public _maxTxAmount = 20000000000 * 10 **_decimals; uint256 public _maxWalletSize = 20000000000 * 10 **_decimals; uint256 public _taxSwapThreshold = 0 * 10 **_decimals; uint256 public _maxTaxSwap= 15500000000 * 10 **_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _devWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_devWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "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"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { swapTokensForEth(min(amount, min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if (from == uniswapV2Pair && buyCooldownEnabled && ! _isExcludedFromFee[to]) { require( cooldownTimer[to] < block.timestamp, "buy Cooldown exists" ); cooldownTimer[to] = block.timestamp + cooldownTimerInterval; } } if(taxAmount>0) { _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _devWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function removeTransferDelay() external onlyOwner { transferDelayEnabled = false; } receive() external payable {} function manualSwap() external { require(_msgSender()==_devWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function transferETHToDev() external onlyOwner() { require(address(this).balance > 0, "No ETH to transfer"); _devWallet.transfer(address(this).balance); } }
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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferETHToDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600560006101000a81548160ff0219169083151502179055506001600760006101000a81548160ff0219169083151502179055506001600760016101000a81548160ff021916908360ff160217905550601360085560136009556000600a556000600b556013600c556013600d556013600e556000600f556009600a6200008e919062000667565b6404a817c800620000a09190620006b8565b6010556009600a620000b3919062000667565b6404a817c800620000c59190620006b8565b6011556009600a620000d8919062000667565b6000620000e69190620006b8565b6012556009600a620000f9919062000667565b64039bdf3b006200010b9190620006b8565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200015057600080fd5b506000620001636200049c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620002116200049c60201b60201c565b600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000261919062000667565b64e8d4a51000620002739190620006b8565b60016000620002876200049c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002db620004a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040e6200049c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200046d919062000667565b64e8d4a510006200047f9190620006b8565b6040516200048e919062000714565b60405180910390a362000731565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200055b57808604811115620005335762000532620004cd565b5b6001851615620005435780820291505b80810290506200055385620004fc565b945062000513565b94509492505050565b60008262000576576001905062000649565b8162000586576000905062000649565b81600181146200059f5760028114620005aa57620005e0565b600191505062000649565b60ff841115620005bf57620005be620004cd565b5b8360020a915084821115620005d957620005d8620004cd565b5b5062000649565b5060208310610133831016604e8410600b84101617156200061a5782820a905083811115620006145762000613620004cd565b5b62000649565b62000629848484600162000509565b92509050818404811115620006435762000642620004cd565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006748262000650565b915062000681836200065a565b9250620006b07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000564565b905092915050565b6000620006c58262000650565b9150620006d28362000650565b9250828202620006e28162000650565b91508282048414831517620006fc57620006fb620004cd565b5b5092915050565b6200070e8162000650565b82525050565b60006020820190506200072b600083018462000703565b92915050565b61359680620007416000396000f3fe6080604052600436106101445760003560e01c8063722b62ad116100b6578063a9059cbb1161006f578063a9059cbb14610411578063bf474bed1461044e578063c876d0b914610479578063c9567bf9146104a4578063dd62ed3e146104bb578063f8686f07146104f85761014b565b8063722b62ad14610323578063751039fc1461034e5780637d1db4a5146103655780638da5cb5b146103905780638f9a55c0146103bb57806395d89b41146103e65761014b565b8063313ce56711610108578063313ce5671461024b57806351bc3c8514610276578063617fe0ed1461028d578063692cda7a146102b857806370a08231146102cf578063715018a61461030c5761014b565b806306fdde0314610150578063095ea7b31461017b5780630faee56f146101b857806318160ddd146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561050f565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125ef565b61054c565b6040516101af919061264a565b60405180910390f35b3480156101c457600080fd5b506101cd61056a565b6040516101da9190612674565b60405180910390f35b3480156101ef57600080fd5b506101f8610570565b6040516102059190612674565b60405180910390f35b34801561021a57600080fd5b506102356004803603810190610230919061268f565b610595565b604051610242919061264a565b60405180910390f35b34801561025757600080fd5b5061026061066e565b60405161026d91906126fe565b60405180910390f35b34801561028257600080fd5b5061028b610677565b005b34801561029957600080fd5b506102a2610714565b6040516102af919061264a565b60405180910390f35b3480156102c457600080fd5b506102cd610727565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612719565b61086a565b6040516103039190612674565b60405180910390f35b34801561031857600080fd5b506103216108b3565b005b34801561032f57600080fd5b50610338610a06565b60405161034591906126fe565b60405180910390f35b34801561035a57600080fd5b50610363610a19565b005b34801561037157600080fd5b5061037a610b4c565b6040516103879190612674565b60405180910390f35b34801561039c57600080fd5b506103a5610b52565b6040516103b29190612755565b60405180910390f35b3480156103c757600080fd5b506103d0610b7b565b6040516103dd9190612674565b60405180910390f35b3480156103f257600080fd5b506103fb610b81565b6040516104089190612534565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125ef565b610bbe565b604051610445919061264a565b60405180910390f35b34801561045a57600080fd5b50610463610bdc565b6040516104709190612674565b60405180910390f35b34801561048557600080fd5b5061048e610be2565b60405161049b919061264a565b60405180910390f35b3480156104b057600080fd5b506104b9610bf5565b005b3480156104c757600080fd5b506104e260048036038101906104dd9190612770565b61112e565b6040516104ef9190612674565b60405180910390f35b34801561050457600080fd5b5061050d6111b5565b005b60606040518060400160405280600981526020017f4142555754495955570000000000000000000000000000000000000000000000815250905090565b6000610560610559611267565b848461126f565b6001905092915050565b60135481565b60006009600a6105809190612912565b64e8d4a51000610590919061295d565b905090565b60006105a2848484611438565b610663846105ae611267565b61065e8560405180606001604052806028815260200161353960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610614611267565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f759092919063ffffffff16565b61126f565b600190509392505050565b60006009905090565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106b8611267565b73ffffffffffffffffffffffffffffffffffffffff16146106d857600080fd5b60006106e33061086a565b905060008111156106f8576106f781611fd9565b5b600047905060008111156107105761070f81612250565b5b5050565b600760009054906101000a900460ff1681565b61072f611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b3906129eb565b60405180910390fd5b600047116107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f690612a57565b60405180910390fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610867573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108bb611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093f906129eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900460ff1681565b610a21611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906129eb565b60405180910390fd5b6009600a610abc9190612912565b64e8d4a51000610acc919061295d565b6010819055506009600a610ae09190612912565b64e8d4a51000610af0919061295d565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b259190612912565b64e8d4a51000610b35919061295d565b604051610b429190612674565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f4142555449550000000000000000000000000000000000000000000000000000815250905090565b6000610bd2610bcb611267565b8484611438565b6001905092915050565b60125481565b600560009054906101000a900460ff1681565b610bfd611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c81906129eb565b60405180910390fd5b601560149054906101000a900460ff1615610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd190612ac3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d7930601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d649190612912565b64e8d4a51000610d74919061295d565b61126f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af8565b6040518363ffffffff1660e01b8152600401610ed4929190612b25565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190612af8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa03061086a565b600080610fab610b52565b426040518863ffffffff1660e01b8152600401610fcd96959493929190612b93565b60606040518083038185885af1158015610feb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110109190612c09565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b2929190612c5c565b6020604051808303816000875af11580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f59190612cb1565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111bd611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611241906129eb565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d590612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612de2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142b9190612674565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e90612e74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612f06565b60405180910390fd5b60008111611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612f98565b60405180910390fd5b6000611563610b52565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115d157506115a1610b52565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cb8576116126064611604600c54600f54116115f1576008546115f5565b600a545b856122bc90919063ffffffff16565b61233690919063ffffffff16565b9050600560009054906101000a900460ff16156117a157601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116d55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117a05743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613050565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561184c5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561195d576010548211156118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e3906130bc565b60405180910390fd5b601154826118f98561086a565b61190391906130dc565b1115611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9061315c565b60405180910390fd5b600f60008154809291906119579061317c565b91905055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119e657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a2a57611a276064611a19600d54600f5411611a0657600954611a0a565b600b545b856122bc90919063ffffffff16565b61233690919063ffffffff16565b90505b6000611a353061086a565b905060158054906101000a900460ff16158015611a9f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ab75750601560169054906101000a900460ff165b8015611ac4575060125481115b8015611ad35750600e54600f54115b15611b0f57611af5611af084611aeb84601354612380565b612380565b611fd9565b60004790506000811115611b0d57611b0c47612250565b5b505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611b785750600760009054906101000a900460ff165b8015611bce5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cb65742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90613210565b60405180910390fd5b600760019054906101000a900460ff1660ff1642611c7291906130dc565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b6000811115611dbc57611d1381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db39190612674565b60405180910390a35b611e0e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb5611e6782846123f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f5a84866123f790919063ffffffff16565b604051611f679190612674565b60405180910390a350505050565b6000838311158290611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb49190612534565b60405180910390fd5b5060008385611fcc9190613230565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120105761200f613264565b5b60405190808252806020026020018201604052801561203e5781602001602082028036833780820191505090505b509050308160008151811061205657612055613293565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121219190612af8565b8160018151811061213557612134613293565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219c30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612200959493929190613380565b600060405180830381600087803b15801561221a57600080fd5b505af115801561222e573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122b8573d6000803e3d6000fd5b5050565b60008083036122ce5760009050612330565b600082846122dc919061295d565b90508284826122eb9190613409565b1461232b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612322906134ac565b60405180910390fd5b809150505b92915050565b600061237883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b600081831161238f5782612391565b815b905092915050565b60008082846123a891906130dc565b9050838110156123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e490613518565b60405180910390fd5b8091505092915050565b600061243983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f75565b905092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613409565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125868261255b565b9050919050565b6125968161257b565b81146125a157600080fd5b50565b6000813590506125b38161258d565b92915050565b6000819050919050565b6125cc816125b9565b81146125d757600080fd5b50565b6000813590506125e9816125c3565b92915050565b6000806040838503121561260657612605612556565b5b6000612614858286016125a4565b9250506020612625858286016125da565b9150509250929050565b60008115159050919050565b6126448161262f565b82525050565b600060208201905061265f600083018461263b565b92915050565b61266e816125b9565b82525050565b60006020820190506126896000830184612665565b92915050565b6000806000606084860312156126a8576126a7612556565b5b60006126b6868287016125a4565b93505060206126c7868287016125a4565b92505060406126d8868287016125da565b9150509250925092565b600060ff82169050919050565b6126f8816126e2565b82525050565b600060208201905061271360008301846126ef565b92915050565b60006020828403121561272f5761272e612556565b5b600061273d848285016125a4565b91505092915050565b61274f8161257b565b82525050565b600060208201905061276a6000830184612746565b92915050565b6000806040838503121561278757612786612556565b5b6000612795858286016125a4565b92505060206127a6858286016125a4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561283657808604811115612812576128116127b0565b5b60018516156128215780820291505b808102905061282f856127df565b94506127f6565b94509492505050565b60008261284f576001905061290b565b8161285d576000905061290b565b8160018114612873576002811461287d576128ac565b600191505061290b565b60ff84111561288f5761288e6127b0565b5b8360020a9150848211156128a6576128a56127b0565b5b5061290b565b5060208310610133831016604e8410600b84101617156128e15782820a9050838111156128dc576128db6127b0565b5b61290b565b6128ee84848460016127ec565b92509050818404811115612905576129046127b0565b5b81810290505b9392505050565b600061291d826125b9565b9150612928836126e2565b92506129557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283f565b905092915050565b6000612968826125b9565b9150612973836125b9565b9250828202612981816125b9565b91508282048414831517612998576129976127b0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129d56020836124af565b91506129e08261299f565b602082019050919050565b60006020820190508181036000830152612a04816129c8565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612a416012836124af565b9150612a4c82612a0b565b602082019050919050565b60006020820190508181036000830152612a7081612a34565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612aad6017836124af565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af28161258d565b92915050565b600060208284031215612b0e57612b0d612556565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a6000830185612746565b612b476020830184612746565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b6125b9565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba86000830189612746565b612bb56020830188612665565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc6080830185612746565b612be960a0830184612665565b979650505050505050565b600081519050612c03816125c3565b92915050565b600080600060608486031215612c2257612c21612556565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c716000830185612746565b612c7e6020830184612665565b9392505050565b612c8e8161262f565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc6612556565b5b6000612cd584828501612c9c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a6024836124af565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc6022836124af565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e5e6025836124af565b9150612e6982612e02565b604082019050919050565b60006020820190508181036000830152612e8d81612e51565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ef06023836124af565b9150612efb82612e94565b604082019050919050565b60006020820190508181036000830152612f1f81612ee3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f826029836124af565b9150612f8d82612f26565b604082019050919050565b60006020820190508181036000830152612fb181612f75565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b600061303a6048836124af565b915061304582612fb8565b606082019050919050565b600060208201905081810360008301526130698161302d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006130a66019836124af565b91506130b182613070565b602082019050919050565b600060208201905081810360008301526130d581613099565b9050919050565b60006130e7826125b9565b91506130f2836125b9565b925082820190508082111561310a576131096127b0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613146601a836124af565b915061315182613110565b602082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b6000613187826125b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131b9576131b86127b0565b5b600182019050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b60006131fa6013836124af565b9150613205826131c4565b602082019050919050565b60006020820190508181036000830152613229816131ed565b9050919050565b600061323b826125b9565b9150613246836125b9565b925082820390508181111561325e5761325d6127b0565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6132f78161257b565b82525050565b600061330983836132ee565b60208301905092915050565b6000602082019050919050565b600061332d826132c2565b61333781856132cd565b9350613342836132de565b8060005b8381101561337357815161335a88826132fd565b975061336583613315565b925050600181019050613346565b5085935050505092915050565b600060a0820190506133956000830188612665565b6133a26020830187612b84565b81810360408301526133b48186613322565b90506133c36060830185612746565b6133d06080830184612665565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613414826125b9565b915061341f836125b9565b92508261342f5761342e6133da565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134966021836124af565b91506134a18261343a565b604082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613502601b836124af565b915061350d826134cc565b602082019050919050565b60006020820190508181036000830152613531816134f5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1a7bbc463e4067d06310b029a907612c9f722163f449a205b2f3909acf0f0764736f6c63430008120033
Deployed Bytecode
0x6080604052600436106101445760003560e01c8063722b62ad116100b6578063a9059cbb1161006f578063a9059cbb14610411578063bf474bed1461044e578063c876d0b914610479578063c9567bf9146104a4578063dd62ed3e146104bb578063f8686f07146104f85761014b565b8063722b62ad14610323578063751039fc1461034e5780637d1db4a5146103655780638da5cb5b146103905780638f9a55c0146103bb57806395d89b41146103e65761014b565b8063313ce56711610108578063313ce5671461024b57806351bc3c8514610276578063617fe0ed1461028d578063692cda7a146102b857806370a08231146102cf578063715018a61461030c5761014b565b806306fdde0314610150578063095ea7b31461017b5780630faee56f146101b857806318160ddd146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561050f565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125ef565b61054c565b6040516101af919061264a565b60405180910390f35b3480156101c457600080fd5b506101cd61056a565b6040516101da9190612674565b60405180910390f35b3480156101ef57600080fd5b506101f8610570565b6040516102059190612674565b60405180910390f35b34801561021a57600080fd5b506102356004803603810190610230919061268f565b610595565b604051610242919061264a565b60405180910390f35b34801561025757600080fd5b5061026061066e565b60405161026d91906126fe565b60405180910390f35b34801561028257600080fd5b5061028b610677565b005b34801561029957600080fd5b506102a2610714565b6040516102af919061264a565b60405180910390f35b3480156102c457600080fd5b506102cd610727565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612719565b61086a565b6040516103039190612674565b60405180910390f35b34801561031857600080fd5b506103216108b3565b005b34801561032f57600080fd5b50610338610a06565b60405161034591906126fe565b60405180910390f35b34801561035a57600080fd5b50610363610a19565b005b34801561037157600080fd5b5061037a610b4c565b6040516103879190612674565b60405180910390f35b34801561039c57600080fd5b506103a5610b52565b6040516103b29190612755565b60405180910390f35b3480156103c757600080fd5b506103d0610b7b565b6040516103dd9190612674565b60405180910390f35b3480156103f257600080fd5b506103fb610b81565b6040516104089190612534565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125ef565b610bbe565b604051610445919061264a565b60405180910390f35b34801561045a57600080fd5b50610463610bdc565b6040516104709190612674565b60405180910390f35b34801561048557600080fd5b5061048e610be2565b60405161049b919061264a565b60405180910390f35b3480156104b057600080fd5b506104b9610bf5565b005b3480156104c757600080fd5b506104e260048036038101906104dd9190612770565b61112e565b6040516104ef9190612674565b60405180910390f35b34801561050457600080fd5b5061050d6111b5565b005b60606040518060400160405280600981526020017f4142555754495955570000000000000000000000000000000000000000000000815250905090565b6000610560610559611267565b848461126f565b6001905092915050565b60135481565b60006009600a6105809190612912565b64e8d4a51000610590919061295d565b905090565b60006105a2848484611438565b610663846105ae611267565b61065e8560405180606001604052806028815260200161353960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610614611267565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f759092919063ffffffff16565b61126f565b600190509392505050565b60006009905090565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106b8611267565b73ffffffffffffffffffffffffffffffffffffffff16146106d857600080fd5b60006106e33061086a565b905060008111156106f8576106f781611fd9565b5b600047905060008111156107105761070f81612250565b5b5050565b600760009054906101000a900460ff1681565b61072f611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b3906129eb565b60405180910390fd5b600047116107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f690612a57565b60405180910390fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610867573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108bb611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093f906129eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900460ff1681565b610a21611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906129eb565b60405180910390fd5b6009600a610abc9190612912565b64e8d4a51000610acc919061295d565b6010819055506009600a610ae09190612912565b64e8d4a51000610af0919061295d565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b259190612912565b64e8d4a51000610b35919061295d565b604051610b429190612674565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f4142555449550000000000000000000000000000000000000000000000000000815250905090565b6000610bd2610bcb611267565b8484611438565b6001905092915050565b60125481565b600560009054906101000a900460ff1681565b610bfd611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c81906129eb565b60405180910390fd5b601560149054906101000a900460ff1615610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd190612ac3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d7930601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d649190612912565b64e8d4a51000610d74919061295d565b61126f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af8565b6040518363ffffffff1660e01b8152600401610ed4929190612b25565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190612af8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa03061086a565b600080610fab610b52565b426040518863ffffffff1660e01b8152600401610fcd96959493929190612b93565b60606040518083038185885af1158015610feb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110109190612c09565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b2929190612c5c565b6020604051808303816000875af11580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f59190612cb1565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111bd611267565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611241906129eb565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d590612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612de2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142b9190612674565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e90612e74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612f06565b60405180910390fd5b60008111611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612f98565b60405180910390fd5b6000611563610b52565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115d157506115a1610b52565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cb8576116126064611604600c54600f54116115f1576008546115f5565b600a545b856122bc90919063ffffffff16565b61233690919063ffffffff16565b9050600560009054906101000a900460ff16156117a157601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116d55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117a05743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613050565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561184c5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561195d576010548211156118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e3906130bc565b60405180910390fd5b601154826118f98561086a565b61190391906130dc565b1115611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9061315c565b60405180910390fd5b600f60008154809291906119579061317c565b91905055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119e657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a2a57611a276064611a19600d54600f5411611a0657600954611a0a565b600b545b856122bc90919063ffffffff16565b61233690919063ffffffff16565b90505b6000611a353061086a565b905060158054906101000a900460ff16158015611a9f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ab75750601560169054906101000a900460ff165b8015611ac4575060125481115b8015611ad35750600e54600f54115b15611b0f57611af5611af084611aeb84601354612380565b612380565b611fd9565b60004790506000811115611b0d57611b0c47612250565b5b505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611b785750600760009054906101000a900460ff165b8015611bce5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cb65742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90613210565b60405180910390fd5b600760019054906101000a900460ff1660ff1642611c7291906130dc565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b6000811115611dbc57611d1381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db39190612674565b60405180910390a35b611e0e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb5611e6782846123f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f5a84866123f790919063ffffffff16565b604051611f679190612674565b60405180910390a350505050565b6000838311158290611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb49190612534565b60405180910390fd5b5060008385611fcc9190613230565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120105761200f613264565b5b60405190808252806020026020018201604052801561203e5781602001602082028036833780820191505090505b509050308160008151811061205657612055613293565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121219190612af8565b8160018151811061213557612134613293565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219c30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612200959493929190613380565b600060405180830381600087803b15801561221a57600080fd5b505af115801561222e573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122b8573d6000803e3d6000fd5b5050565b60008083036122ce5760009050612330565b600082846122dc919061295d565b90508284826122eb9190613409565b1461232b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612322906134ac565b60405180910390fd5b809150505b92915050565b600061237883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b600081831161238f5782612391565b815b905092915050565b60008082846123a891906130dc565b9050838110156123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e490613518565b60405180910390fd5b8091505092915050565b600061243983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f75565b905092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613409565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125868261255b565b9050919050565b6125968161257b565b81146125a157600080fd5b50565b6000813590506125b38161258d565b92915050565b6000819050919050565b6125cc816125b9565b81146125d757600080fd5b50565b6000813590506125e9816125c3565b92915050565b6000806040838503121561260657612605612556565b5b6000612614858286016125a4565b9250506020612625858286016125da565b9150509250929050565b60008115159050919050565b6126448161262f565b82525050565b600060208201905061265f600083018461263b565b92915050565b61266e816125b9565b82525050565b60006020820190506126896000830184612665565b92915050565b6000806000606084860312156126a8576126a7612556565b5b60006126b6868287016125a4565b93505060206126c7868287016125a4565b92505060406126d8868287016125da565b9150509250925092565b600060ff82169050919050565b6126f8816126e2565b82525050565b600060208201905061271360008301846126ef565b92915050565b60006020828403121561272f5761272e612556565b5b600061273d848285016125a4565b91505092915050565b61274f8161257b565b82525050565b600060208201905061276a6000830184612746565b92915050565b6000806040838503121561278757612786612556565b5b6000612795858286016125a4565b92505060206127a6858286016125a4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561283657808604811115612812576128116127b0565b5b60018516156128215780820291505b808102905061282f856127df565b94506127f6565b94509492505050565b60008261284f576001905061290b565b8161285d576000905061290b565b8160018114612873576002811461287d576128ac565b600191505061290b565b60ff84111561288f5761288e6127b0565b5b8360020a9150848211156128a6576128a56127b0565b5b5061290b565b5060208310610133831016604e8410600b84101617156128e15782820a9050838111156128dc576128db6127b0565b5b61290b565b6128ee84848460016127ec565b92509050818404811115612905576129046127b0565b5b81810290505b9392505050565b600061291d826125b9565b9150612928836126e2565b92506129557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283f565b905092915050565b6000612968826125b9565b9150612973836125b9565b9250828202612981816125b9565b91508282048414831517612998576129976127b0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129d56020836124af565b91506129e08261299f565b602082019050919050565b60006020820190508181036000830152612a04816129c8565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612a416012836124af565b9150612a4c82612a0b565b602082019050919050565b60006020820190508181036000830152612a7081612a34565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612aad6017836124af565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af28161258d565b92915050565b600060208284031215612b0e57612b0d612556565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a6000830185612746565b612b476020830184612746565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b6125b9565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba86000830189612746565b612bb56020830188612665565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc6080830185612746565b612be960a0830184612665565b979650505050505050565b600081519050612c03816125c3565b92915050565b600080600060608486031215612c2257612c21612556565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c716000830185612746565b612c7e6020830184612665565b9392505050565b612c8e8161262f565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc6612556565b5b6000612cd584828501612c9c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a6024836124af565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc6022836124af565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e5e6025836124af565b9150612e6982612e02565b604082019050919050565b60006020820190508181036000830152612e8d81612e51565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ef06023836124af565b9150612efb82612e94565b604082019050919050565b60006020820190508181036000830152612f1f81612ee3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f826029836124af565b9150612f8d82612f26565b604082019050919050565b60006020820190508181036000830152612fb181612f75565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b600061303a6048836124af565b915061304582612fb8565b606082019050919050565b600060208201905081810360008301526130698161302d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006130a66019836124af565b91506130b182613070565b602082019050919050565b600060208201905081810360008301526130d581613099565b9050919050565b60006130e7826125b9565b91506130f2836125b9565b925082820190508082111561310a576131096127b0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613146601a836124af565b915061315182613110565b602082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b6000613187826125b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131b9576131b86127b0565b5b600182019050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b60006131fa6013836124af565b9150613205826131c4565b602082019050919050565b60006020820190508181036000830152613229816131ed565b9050919050565b600061323b826125b9565b9150613246836125b9565b925082820390508181111561325e5761325d6127b0565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6132f78161257b565b82525050565b600061330983836132ee565b60208301905092915050565b6000602082019050919050565b600061332d826132c2565b61333781856132cd565b9350613342836132de565b8060005b8381101561337357815161335a88826132fd565b975061336583613315565b925050600181019050613346565b5085935050505092915050565b600060a0820190506133956000830188612665565b6133a26020830187612b84565b81810360408301526133b48186613322565b90506133c36060830185612746565b6133d06080830184612665565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613414826125b9565b915061341f836125b9565b92508261342f5761342e6133da565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134966021836124af565b91506134a18261343a565b604082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613502601b836124af565b915061350d826134cc565b602082019050919050565b60006020820190508181036000830152613531816134f5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1a7bbc463e4067d06310b029a907612c9f722163f449a205b2f3909acf0f0764736f6c63430008120033
Deployed Bytecode Sourcemap
9026:8600:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11914:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10352:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11358:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12083:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11267:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17090:348;;;;;;;;;;;;;:::i;:::-;;9471:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17446:177;;;;;;;;;;;;;:::i;:::-;;11461:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8109:148;;;;;;;;;;;;;:::i;:::-;;9515:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15985:162;;;;;;;;;;;;;:::i;:::-;;10160:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7895:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10225:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11172:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11588:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10292:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9369:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16268:672;;;;;;;;;;;;;:::i;:::-;;11763:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16948:97;;;;;;;;;;;;;:::i;:::-;;11081:83;11118:13;11151:5;;;;;;;;;;;;;;;;;11144:12;;11081:83;:::o;11914:161::-;11989:4;12006:39;12015:12;:10;:12::i;:::-;12029:7;12038:6;12006:8;:39::i;:::-;12063:4;12056:11;;11914:161;;;;:::o;10352:56::-;;;;:::o;11358:95::-;11411:7;9967:1;10026:2;:14;;;;:::i;:::-;10010:13;:30;;;;:::i;:::-;11431:14;;11358:95;:::o;12083:313::-;12181:4;12198:36;12208:6;12216:9;12227:6;12198:9;:36::i;:::-;12245:121;12254:6;12262:12;:10;:12::i;:::-;12276:89;12314:6;12276:89;;;;;;;;;;;;;;;;;:11;:19;12288:6;12276:19;;;;;;;;;;;;;;;:33;12296:12;:10;:12::i;:::-;12276:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12245:8;:121::i;:::-;12384:4;12377:11;;12083:313;;;;;:::o;11267:83::-;11308:5;9967:1;11326:16;;11267:83;:::o;17090:348::-;17154:10;;;;;;;;;;;17140:24;;:12;:10;:12::i;:::-;:24;;;17132:33;;;;;;17176:20;17197:24;17215:4;17197:9;:24::i;:::-;17176:45;;17248:1;17235:12;:14;17232:73;;;17263:30;17280:12;17263:16;:30::i;:::-;17232:73;17315:18;17334:21;17315:40;;17380:1;17369:10;:12;17366:65;;;17395:24;17408:10;17395:12;:24::i;:::-;17366:65;17121:317;;17090:348::o;9471:37::-;;;;;;;;;;;;;:::o;17446:177::-;8032:12;:10;:12::i;:::-;8022:22;;:6;;;;;;;;;;:22;;;8014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17538:1:::1;17514:21;:25;17506:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;17573:10;;;;;;;;;;;:19;;:42;17593:21;17573:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17446:177::o:0;11461:119::-;11527:7;11554:9;:18;11564:7;11554:18;;;;;;;;;;;;;;;;11547:25;;11461:119;;;:::o;8109:148::-;8032:12;:10;:12::i;:::-;8022:22;;:6;;;;;;;;;;:22;;;8014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8216:1:::1;8179:40;;8200:6;::::0;::::1;;;;;;;;8179:40;;;;;;;;;;;;8247:1;8230:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8109:148::o:0;9515:38::-;;;;;;;;;;;;;:::o;15985:162::-;8032:12;:10;:12::i;:::-;8022:22;;:6;;;;;;;;;;:22;;;8014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9967:1:::1;10026:2;:14;;;;:::i;:::-;10010:13;:30;;;;:::i;:::-;16039:12;:22;;;;9967:1;10026:2;:14;;;;:::i;:::-;10010:13;:30;;;;:::i;:::-;16072:14;:24;;;;16112:27;9967:1;10026:2;:14;;;;:::i;:::-;10010:13;:30;;;;:::i;:::-;16112:27;;;;;;:::i;:::-;;;;;;;;15985:162::o:0;10160:58::-;;;;:::o;7895:79::-;7933:7;7960:6;;;;;;;;;;;7953:13;;7895:79;:::o;10225:60::-;;;;:::o;11172:87::-;11211:13;11244:7;;;;;;;;;;;;;;;;;11237:14;;11172:87;:::o;11588:167::-;11666:4;11683:42;11693:12;:10;:12::i;:::-;11707:9;11718:6;11683:9;:42::i;:::-;11743:4;11736:11;;11588:167;;;;:::o;10292:53::-;;;;:::o;9369:39::-;;;;;;;;;;;;;:::o;16268:672::-;8032:12;:10;:12::i;:::-;8022:22;;:6;;;;;;;;;;:22;;;8014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16332:11:::1;;;;;;;;;;;16331:12;16323:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;16419:42;16382:15;;:80;;;;;;;;;;;;;;;;;;16473:58;16490:4;16505:15;;;;;;;;;;;9967:1;10026:2;:14;;;;:::i;:::-;10010:13;:30;;;;:::i;:::-;16473:8;:58::i;:::-;16576:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16558:55;;;16622:4;16629:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16558:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16542:13;;:110;;;;;;;;;;;;;;;;;;16663:15;;;;;;;;;;;:31;;;16702:21;16733:4;16739:24;16757:4;16739:9;:24::i;:::-;16764:1;16766::::0;16768:7:::1;:5;:7::i;:::-;16776:15;16663:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16810:13;;;;;;;;;;;16803:29;;;16841:15;;;;;;;;;;;16859:14;16803:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16899:4;16885:11;;:18;;;;;;;;;;;;;;;;;;16928:4;16914:11;;:18;;;;;;;;;;;;;;;;;;16268:672::o:0;11763:143::-;11844:7;11871:11;:18;11883:5;11871:18;;;;;;;;;;;;;;;:27;11890:7;11871:27;;;;;;;;;;;;;;;;11864:34;;11763:143;;;;:::o;16948:97::-;8032:12;:10;:12::i;:::-;8022:22;;:6;;;;;;;;;;:22;;;8014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17032:5:::1;17009:20;;:28;;;;;;;;;;;;;;;;;;16948:97::o:0;5652:98::-;5705:7;5732:10;5725:17;;5652:98;:::o;12404:335::-;12514:1;12497:19;;:5;:19;;;12489:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12595:1;12576:21;;:7;:21;;;12568:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12677:6;12647:11;:18;12659:5;12647:18;;;;;;;;;;;;;;;:27;12666:7;12647:27;;;;;;;;;;;;;;;:36;;;;12715:7;12699:32;;12708:5;12699:32;;;12724:6;12699:32;;;;;;:::i;:::-;;;;;;;;12404:335;;;:::o;12747:2628::-;12851:1;12835:18;;:4;:18;;;12827:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12928:1;12914:16;;:2;:16;;;12906:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12998:1;12989:6;:10;12981:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13056:17;13100:7;:5;:7::i;:::-;13092:15;;:4;:15;;;;:32;;;;;13117:7;:5;:7::i;:::-;13111:13;;:2;:13;;;;13092:32;13088:1929;;;13153:76;13225:3;13153:67;13175:15;;13165:9;;:25;13164:55;;13205:14;;13164:55;;;13192:12;;13164:55;13153:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;13141:88;;13250:20;;;;;;;;;;;13246:397;;;13311:15;;;;;;;;;;;13297:30;;:2;:30;;;;:62;;;;;13345:13;;;;;;;;;;;13331:28;;:2;:28;;;;13297:62;13293:333;;;13436:12;13394:28;:39;13423:9;13394:39;;;;;;;;;;;;;;;;:54;13386:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;13592:12;13550:28;:39;13579:9;13550:39;;;;;;;;;;;;;;;:54;;;;13293:333;13246:397;13671:13;;;;;;;;;;;13663:21;;:4;:21;;;:55;;;;;13702:15;;;;;;;;;;;13688:30;;:2;:30;;;;13663:55;:83;;;;;13724:18;:22;13743:2;13724:22;;;;;;;;;;;;;;;;;;;;;;;;;13722:24;13663:83;13659:313;;;13786:12;;13776:6;:22;;13768:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13881:14;;13871:6;13855:13;13865:2;13855:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;13847:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;13945:9;;:11;;;;;;;;;:::i;:::-;;;;;;13659:313;13997:13;;;;;;;;;;;13991:19;;:2;:19;;;:43;;;;;14029:4;14014:20;;:4;:20;;;;13991:43;13988:174;;;14067:79;14142:3;14067:70;14089:16;;14079:9;;:26;14078:58;;14121:15;;14078:58;;;14107:13;;14078:58;14067:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;14055:91;;13988:174;14178:28;14209:24;14227:4;14209:9;:24::i;:::-;14178:55;;14253:6;;;;;;;;;;14252:7;:32;;;;;14271:13;;;;;;;;;;;14263:21;;:2;:21;;;14252:32;:47;;;;;14288:11;;;;;;;;;;;14252:47;:91;;;;;14326:17;;14303:20;:40;14252:91;:125;;;;;14359:18;;14347:9;;:30;14252:125;14248:426;;;14398:68;14415:50;14419:6;14427:37;14431:20;14452:11;;14427:3;:37::i;:::-;14415:3;:50::i;:::-;14398:16;:68::i;:::-;14485:26;14514:21;14485:50;;14578:1;14557:18;:22;14554:105;;;14604:35;14617:21;14604:12;:35::i;:::-;14554:105;14379:295;14248:426;14700:13;;;;;;;;;;;14692:21;;:4;:21;;;:43;;;;;14717:18;;;;;;;;;;;14692:43;:71;;;;;14741:18;:22;14760:2;14741:22;;;;;;;;;;;;;;;;;;;;;;;;;14739:24;14692:71;14688:318;;;14834:15;14814:13;:17;14828:2;14814:17;;;;;;;;;;;;;;;;:35;14784:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;14969:21;;;;;;;;;;;14951:39;;:15;:39;;;;:::i;:::-;14931:13;:17;14945:2;14931:17;;;;;;;;;;;;;;;:59;;;;14688:318;13126:1891;13088:1929;15042:1;15032:9;:11;15029:163;;;15083:39;15112:9;15083;:24;15101:4;15083:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;15058:9;:24;15076:4;15058:24;;;;;;;;;;;;;;;:64;;;;15163:4;15140:40;;15149:4;15140:40;;;15170:9;15140:40;;;;;;:::i;:::-;;;;;;;;15029:163;15218:27;15238:6;15218:9;:15;15228:4;15218:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;15202:9;:15;15212:4;15202:15;;;;;;;;;;;;;;;:43;;;;15270:40;15288:21;15299:9;15288:6;:10;;:21;;;;:::i;:::-;15270:9;:13;15280:2;15270:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;15256:9;:13;15266:2;15256:13;;;;;;;;;;;;;;;:54;;;;15341:2;15326:41;;15335:4;15326:41;;;15345:21;15356:9;15345:6;:10;;:21;;;;:::i;:::-;15326:41;;;;;;:::i;:::-;;;;;;;;12816:2559;12747:2628;;;:::o;6789:190::-;6875:7;6908:1;6903;:6;;6911:12;6895:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6935:9;6951:1;6947;:5;;;;:::i;:::-;6935:17;;6970:1;6963:8;;;6789:190;;;;;:::o;15491:483::-;10699:4;10690:6;;:13;;;;;;;;;;;;;;;;;;15569:21:::1;15607:1;15593:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15569:40;;15638:4;15620;15625:1;15620:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15664:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15654:4;15659:1;15654:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;15697:62;15714:4;15729:15;;;;;;;;;;;15747:11;15697:8;:62::i;:::-;15770:15;;;;;;;;;;;:66;;;15851:11;15877:1;15893:4;15920;15940:15;15770:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15558:416;10735:5:::0;10726:6;;:14;;;;;;;;;;;;;;;;;;15491:483;:::o;16162:92::-;16219:10;;;;;;;;;;;:19;;:27;16239:6;16219:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16162:92;:::o;6987:246::-;7045:7;7074:1;7069;:6;7065:47;;7099:1;7092:8;;;;7065:47;7122:9;7138:1;7134;:5;;;;:::i;:::-;7122:17;;7167:1;7162;7158;:5;;;;:::i;:::-;:10;7150:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;7224:1;7217:8;;;6987:246;;;;;:::o;7241:132::-;7299:7;7326:39;7330:1;7333;7326:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7319:46;;7241:132;;;;:::o;15385:98::-;15442:7;15469:1;15467;:3;15466:9;;15474:1;15466:9;;;15472:1;15466:9;15459:16;;15385:98;;;;:::o;6458:179::-;6516:7;6536:9;6552:1;6548;:5;;;;:::i;:::-;6536:17;;6577:1;6572;:6;;6564:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6628:1;6621:8;;;6458:179;;;;:::o;6645:136::-;6703:7;6730:43;6734:1;6737;6730:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6723:50;;6645:136;;;;:::o;7381:189::-;7467:7;7499:1;7495;:5;7502:12;7487:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7526:9;7542:1;7538;:5;;;;:::i;:::-;7526:17;;7561:1;7554:8;;;7381:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;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;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:168::-;10075:20;10071:1;10063:6;10059:14;10052:44;9935:168;:::o;10109:366::-;10251:3;10272:67;10336:2;10331:3;10272:67;:::i;:::-;10265:74;;10348:93;10437:3;10348:93;:::i;:::-;10466:2;10461:3;10457:12;10450:19;;10109:366;;;:::o;10481:419::-;10647:4;10685:2;10674:9;10670:18;10662:26;;10734:9;10728:4;10724:20;10720:1;10709:9;10705:17;10698:47;10762:131;10888:4;10762:131;:::i;:::-;10754:139;;10481:419;;;:::o;10906:173::-;11046:25;11042:1;11034:6;11030:14;11023:49;10906:173;:::o;11085:366::-;11227:3;11248:67;11312:2;11307:3;11248:67;:::i;:::-;11241:74;;11324:93;11413:3;11324:93;:::i;:::-;11442:2;11437:3;11433:12;11426:19;;11085:366;;;:::o;11457:419::-;11623:4;11661:2;11650:9;11646:18;11638:26;;11710:9;11704:4;11700:20;11696:1;11685:9;11681:17;11674:47;11738:131;11864:4;11738:131;:::i;:::-;11730:139;;11457:419;;;:::o;11882:143::-;11939:5;11970:6;11964:13;11955:22;;11986:33;12013:5;11986:33;:::i;:::-;11882:143;;;;:::o;12031:351::-;12101:6;12150:2;12138:9;12129:7;12125:23;12121:32;12118:119;;;12156:79;;:::i;:::-;12118:119;12276:1;12301:64;12357:7;12348:6;12337:9;12333:22;12301:64;:::i;:::-;12291:74;;12247:128;12031:351;;;;:::o;12388:332::-;12509:4;12547:2;12536:9;12532:18;12524:26;;12560:71;12628:1;12617:9;12613:17;12604:6;12560:71;:::i;:::-;12641:72;12709:2;12698:9;12694:18;12685:6;12641:72;:::i;:::-;12388:332;;;;;:::o;12726:85::-;12771:7;12800:5;12789:16;;12726:85;;;:::o;12817:60::-;12845:3;12866:5;12859:12;;12817:60;;;:::o;12883:158::-;12941:9;12974:61;12992:42;13001:32;13027:5;13001:32;:::i;:::-;12992:42;:::i;:::-;12974:61;:::i;:::-;12961:74;;12883:158;;;:::o;13047:147::-;13142:45;13181:5;13142:45;:::i;:::-;13137:3;13130:58;13047:147;;:::o;13200:807::-;13449:4;13487:3;13476:9;13472:19;13464:27;;13501:71;13569:1;13558:9;13554:17;13545:6;13501:71;:::i;:::-;13582:72;13650:2;13639:9;13635:18;13626:6;13582:72;:::i;:::-;13664:80;13740:2;13729:9;13725:18;13716:6;13664:80;:::i;:::-;13754;13830:2;13819:9;13815:18;13806:6;13754:80;:::i;:::-;13844:73;13912:3;13901:9;13897:19;13888:6;13844:73;:::i;:::-;13927;13995:3;13984:9;13980:19;13971:6;13927:73;:::i;:::-;13200:807;;;;;;;;;:::o;14013:143::-;14070:5;14101:6;14095:13;14086:22;;14117:33;14144:5;14117:33;:::i;:::-;14013:143;;;;:::o;14162:663::-;14250:6;14258;14266;14315:2;14303:9;14294:7;14290:23;14286:32;14283:119;;;14321:79;;:::i;:::-;14283:119;14441:1;14466:64;14522:7;14513:6;14502:9;14498:22;14466:64;:::i;:::-;14456:74;;14412:128;14579:2;14605:64;14661:7;14652:6;14641:9;14637:22;14605:64;:::i;:::-;14595:74;;14550:129;14718:2;14744:64;14800:7;14791:6;14780:9;14776:22;14744:64;:::i;:::-;14734:74;;14689:129;14162:663;;;;;:::o;14831:332::-;14952:4;14990:2;14979:9;14975:18;14967:26;;15003:71;15071:1;15060:9;15056:17;15047:6;15003:71;:::i;:::-;15084:72;15152:2;15141:9;15137:18;15128:6;15084:72;:::i;:::-;14831:332;;;;;:::o;15169:116::-;15239:21;15254:5;15239:21;:::i;:::-;15232:5;15229:32;15219:60;;15275:1;15272;15265:12;15219:60;15169:116;:::o;15291:137::-;15345:5;15376:6;15370:13;15361:22;;15392:30;15416:5;15392:30;:::i;:::-;15291:137;;;;:::o;15434:345::-;15501:6;15550:2;15538:9;15529:7;15525:23;15521:32;15518:119;;;15556:79;;:::i;:::-;15518:119;15676:1;15701:61;15754:7;15745:6;15734:9;15730:22;15701:61;:::i;:::-;15691:71;;15647:125;15434:345;;;;:::o;15785:223::-;15925:34;15921:1;15913:6;15909:14;15902:58;15994:6;15989:2;15981:6;15977:15;15970:31;15785:223;:::o;16014:366::-;16156:3;16177:67;16241:2;16236:3;16177:67;:::i;:::-;16170:74;;16253:93;16342:3;16253:93;:::i;:::-;16371:2;16366:3;16362:12;16355:19;;16014:366;;;:::o;16386:419::-;16552:4;16590:2;16579:9;16575:18;16567:26;;16639:9;16633:4;16629:20;16625:1;16614:9;16610:17;16603:47;16667:131;16793:4;16667:131;:::i;:::-;16659:139;;16386:419;;;:::o;16811:221::-;16951:34;16947:1;16939:6;16935:14;16928:58;17020:4;17015:2;17007:6;17003:15;16996:29;16811:221;:::o;17038:366::-;17180:3;17201:67;17265:2;17260:3;17201:67;:::i;:::-;17194:74;;17277:93;17366:3;17277:93;:::i;:::-;17395:2;17390:3;17386:12;17379:19;;17038:366;;;:::o;17410:419::-;17576:4;17614:2;17603:9;17599:18;17591:26;;17663:9;17657:4;17653:20;17649:1;17638:9;17634:17;17627:47;17691:131;17817:4;17691:131;:::i;:::-;17683:139;;17410:419;;;:::o;17835:224::-;17975:34;17971:1;17963:6;17959:14;17952:58;18044:7;18039:2;18031:6;18027:15;18020:32;17835:224;:::o;18065:366::-;18207:3;18228:67;18292:2;18287:3;18228:67;:::i;:::-;18221:74;;18304:93;18393:3;18304:93;:::i;:::-;18422:2;18417:3;18413:12;18406:19;;18065:366;;;:::o;18437:419::-;18603:4;18641:2;18630:9;18626:18;18618:26;;18690:9;18684:4;18680:20;18676:1;18665:9;18661:17;18654:47;18718:131;18844:4;18718:131;:::i;:::-;18710:139;;18437:419;;;:::o;18862:222::-;19002:34;18998:1;18990:6;18986:14;18979:58;19071:5;19066:2;19058:6;19054:15;19047:30;18862:222;:::o;19090:366::-;19232:3;19253:67;19317:2;19312:3;19253:67;:::i;:::-;19246:74;;19329:93;19418:3;19329:93;:::i;:::-;19447:2;19442:3;19438:12;19431:19;;19090:366;;;:::o;19462:419::-;19628:4;19666:2;19655:9;19651:18;19643:26;;19715:9;19709:4;19705:20;19701:1;19690:9;19686:17;19679:47;19743:131;19869:4;19743:131;:::i;:::-;19735:139;;19462:419;;;:::o;19887:228::-;20027:34;20023:1;20015:6;20011:14;20004:58;20096:11;20091:2;20083:6;20079:15;20072:36;19887:228;:::o;20121:366::-;20263:3;20284:67;20348:2;20343:3;20284:67;:::i;:::-;20277:74;;20360:93;20449:3;20360:93;:::i;:::-;20478:2;20473:3;20469:12;20462:19;;20121:366;;;:::o;20493:419::-;20659:4;20697:2;20686:9;20682:18;20674:26;;20746:9;20740:4;20736:20;20732:1;20721:9;20717:17;20710:47;20774:131;20900:4;20774:131;:::i;:::-;20766:139;;20493:419;;;:::o;20918:296::-;21058:34;21054:1;21046:6;21042:14;21035:58;21127:34;21122:2;21114:6;21110:15;21103:59;21196:10;21191:2;21183:6;21179:15;21172:35;20918:296;:::o;21220:366::-;21362:3;21383:67;21447:2;21442:3;21383:67;:::i;:::-;21376:74;;21459:93;21548:3;21459:93;:::i;:::-;21577:2;21572:3;21568:12;21561:19;;21220:366;;;:::o;21592:419::-;21758:4;21796:2;21785:9;21781:18;21773:26;;21845:9;21839:4;21835:20;21831:1;21820:9;21816:17;21809:47;21873:131;21999:4;21873:131;:::i;:::-;21865:139;;21592:419;;;:::o;22017:175::-;22157:27;22153:1;22145:6;22141:14;22134:51;22017:175;:::o;22198:366::-;22340:3;22361:67;22425:2;22420:3;22361:67;:::i;:::-;22354:74;;22437:93;22526:3;22437:93;:::i;:::-;22555:2;22550:3;22546:12;22539:19;;22198:366;;;:::o;22570:419::-;22736:4;22774:2;22763:9;22759:18;22751:26;;22823:9;22817:4;22813:20;22809:1;22798:9;22794:17;22787:47;22851:131;22977:4;22851:131;:::i;:::-;22843:139;;22570:419;;;:::o;22995:191::-;23035:3;23054:20;23072:1;23054:20;:::i;:::-;23049:25;;23088:20;23106:1;23088:20;:::i;:::-;23083:25;;23131:1;23128;23124:9;23117:16;;23152:3;23149:1;23146:10;23143:36;;;23159:18;;:::i;:::-;23143:36;22995:191;;;;:::o;23192:176::-;23332:28;23328:1;23320:6;23316:14;23309:52;23192:176;:::o;23374:366::-;23516:3;23537:67;23601:2;23596:3;23537:67;:::i;:::-;23530:74;;23613:93;23702:3;23613:93;:::i;:::-;23731:2;23726:3;23722:12;23715:19;;23374:366;;;:::o;23746:419::-;23912:4;23950:2;23939:9;23935:18;23927:26;;23999:9;23993:4;23989:20;23985:1;23974:9;23970:17;23963:47;24027:131;24153:4;24027:131;:::i;:::-;24019:139;;23746:419;;;:::o;24171:233::-;24210:3;24233:24;24251:5;24233:24;:::i;:::-;24224:33;;24279:66;24272:5;24269:77;24266:103;;24349:18;;:::i;:::-;24266:103;24396:1;24389:5;24385:13;24378:20;;24171:233;;;:::o;24410:169::-;24550:21;24546:1;24538:6;24534:14;24527:45;24410:169;:::o;24585:366::-;24727:3;24748:67;24812:2;24807:3;24748:67;:::i;:::-;24741:74;;24824:93;24913:3;24824:93;:::i;:::-;24942:2;24937:3;24933:12;24926:19;;24585:366;;;:::o;24957:419::-;25123:4;25161:2;25150:9;25146:18;25138:26;;25210:9;25204:4;25200:20;25196:1;25185:9;25181:17;25174:47;25238:131;25364:4;25238:131;:::i;:::-;25230:139;;24957:419;;;:::o;25382:194::-;25422:4;25442:20;25460:1;25442:20;:::i;:::-;25437:25;;25476:20;25494:1;25476:20;:::i;:::-;25471:25;;25520:1;25517;25513:9;25505:17;;25544:1;25538:4;25535:11;25532:37;;;25549:18;;:::i;:::-;25532:37;25382:194;;;;:::o;25582:180::-;25630:77;25627:1;25620:88;25727:4;25724:1;25717:15;25751:4;25748:1;25741:15;25768:180;25816:77;25813:1;25806:88;25913:4;25910:1;25903:15;25937:4;25934:1;25927:15;25954:114;26021:6;26055:5;26049:12;26039:22;;25954:114;;;:::o;26074:184::-;26173:11;26207:6;26202:3;26195:19;26247:4;26242:3;26238:14;26223:29;;26074:184;;;;:::o;26264:132::-;26331:4;26354:3;26346:11;;26384:4;26379:3;26375:14;26367:22;;26264:132;;;:::o;26402:108::-;26479:24;26497:5;26479:24;:::i;:::-;26474:3;26467:37;26402:108;;:::o;26516:179::-;26585:10;26606:46;26648:3;26640:6;26606:46;:::i;:::-;26684:4;26679:3;26675:14;26661:28;;26516:179;;;;:::o;26701:113::-;26771:4;26803;26798:3;26794:14;26786:22;;26701:113;;;:::o;26850:732::-;26969:3;26998:54;27046:5;26998:54;:::i;:::-;27068:86;27147:6;27142:3;27068:86;:::i;:::-;27061:93;;27178:56;27228:5;27178:56;:::i;:::-;27257:7;27288:1;27273:284;27298:6;27295:1;27292:13;27273:284;;;27374:6;27368:13;27401:63;27460:3;27445:13;27401:63;:::i;:::-;27394:70;;27487:60;27540:6;27487:60;:::i;:::-;27477:70;;27333:224;27320:1;27317;27313:9;27308:14;;27273:284;;;27277:14;27573:3;27566:10;;26974:608;;;26850:732;;;;:::o;27588:831::-;27851:4;27889:3;27878:9;27874:19;27866:27;;27903:71;27971:1;27960:9;27956:17;27947:6;27903:71;:::i;:::-;27984:80;28060:2;28049:9;28045:18;28036:6;27984:80;:::i;:::-;28111:9;28105:4;28101:20;28096:2;28085:9;28081:18;28074:48;28139:108;28242:4;28233:6;28139:108;:::i;:::-;28131:116;;28257:72;28325:2;28314:9;28310:18;28301:6;28257:72;:::i;:::-;28339:73;28407:3;28396:9;28392:19;28383:6;28339:73;:::i;:::-;27588:831;;;;;;;;:::o;28425:180::-;28473:77;28470:1;28463:88;28570:4;28567:1;28560:15;28594:4;28591:1;28584:15;28611:185;28651:1;28668:20;28686:1;28668:20;:::i;:::-;28663:25;;28702:20;28720:1;28702:20;:::i;:::-;28697:25;;28741:1;28731:35;;28746:18;;:::i;:::-;28731:35;28788:1;28785;28781:9;28776:14;;28611:185;;;;:::o;28802:220::-;28942:34;28938:1;28930:6;28926:14;28919:58;29011:3;29006:2;28998:6;28994:15;28987:28;28802:220;:::o;29028:366::-;29170:3;29191:67;29255:2;29250:3;29191:67;:::i;:::-;29184:74;;29267:93;29356:3;29267:93;:::i;:::-;29385:2;29380:3;29376:12;29369:19;;29028:366;;;:::o;29400:419::-;29566:4;29604:2;29593:9;29589:18;29581:26;;29653:9;29647:4;29643:20;29639:1;29628:9;29624:17;29617:47;29681:131;29807:4;29681:131;:::i;:::-;29673:139;;29400:419;;;:::o;29825:177::-;29965:29;29961:1;29953:6;29949:14;29942:53;29825:177;:::o;30008:366::-;30150:3;30171:67;30235:2;30230:3;30171:67;:::i;:::-;30164:74;;30247:93;30336:3;30247:93;:::i;:::-;30365:2;30360:3;30356:12;30349:19;;30008:366;;;:::o;30380:419::-;30546:4;30584:2;30573:9;30569:18;30561:26;;30633:9;30627:4;30623:20;30619:1;30608:9;30604:17;30597:47;30661:131;30787:4;30661:131;:::i;:::-;30653:139;;30380:419;;;:::o
Swarm Source
ipfs://8c1a7bbc463e4067d06310b029a907612c9f722163f449a205b2f3909acf0f07
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.