Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 ARROW
Holders
48
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
8,273,108.326374448 ARROWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ARROW
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-07 */ /* "Arrow in the knee", is an Internet meme that originated from The Elder Scrolls V: Skyrim. It became unexpectedly popular following the worldwide launch of Skyrim in November 11, 2011 Twitter: https://twitter.com/thearrowcoin Telegram: https://t.me/arrowportal Website: https://www.arrowcoin.lol/ */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.14; 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 ARROW 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 => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=30; uint256 private _finalBuyTax=1; uint256 private _finalSellTax=1; uint256 private _reduceBuyTaxAt=25; uint256 private _reduceSellTaxAt=25; uint256 private _preventSwapBefore=25; uint256 private _buyCount=0; mapping(address => uint256) private cooldownTimer; bool public buyCooldownEnabled = true; uint8 public cooldownTimerInterval = 1; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"ARROW IN THE KNEE"; string private constant _symbol = unicode"ARROW"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 10000000 * 10**_decimals; uint256 public _maxTaxSwap= 10000000 * 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 () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = 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 cooldownEnabled(bool _status, uint8 _interval) public onlyOwner { // buyCooldownEnabled = _status; // cooldownTimerInterval = _interval; // } 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()) { require(!bots[from] && !bots[to]); 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 && buyCooldownEnabled && ! _isExcludedFromFee[to]) { require( cooldownTimer[to] < block.timestamp, "buy Cooldown exists" ); cooldownTimer[to] = block.timestamp + cooldownTimerInterval; } 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(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; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } 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 reduceTax(uint256 _newFee) external{ require(_msgSender()==_taxWallet); _finalSellTax=_newFee; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","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":[{"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
60806040526001600660006101000a81548160ff0219169083151502179055506014600755601e60085560016009556001600a556019600b556019600c556019600d556000600e556001601060006101000a81548160ff0219169083151502179055506001601060016101000a81548160ff021916908360ff1602179055506009600a6200008e919062000663565b6301312d006200009f9190620006b4565b6011556009600a620000b2919062000663565b6301312d00620000c39190620006b4565b6012556009600a620000d6919062000663565b62989680620000e69190620006b4565b6013556009600a620000f9919062000663565b62989680620001099190620006b4565b6014556000601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055503480156200014e57600080fd5b506000620001616200049860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200020f6200049860201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200025f919062000663565b633b9aca00620002709190620006b4565b60016000620002846200049860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002d8620004a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040b6200049860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200046a919062000663565b633b9aca006200047b9190620006b4565b6040516200048a919062000726565b60405180910390a362000743565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000557578086048111156200052f576200052e620004c9565b5b60018516156200053f5780820291505b80810290506200054f85620004f8565b94506200050f565b94509492505050565b60008262000572576001905062000645565b8162000582576000905062000645565b81600181146200059b5760028114620005a657620005dc565b600191505062000645565b60ff841115620005bb57620005ba620004c9565b5b8360020a915084821115620005d557620005d4620004c9565b5b5062000645565b5060208310610133831016604e8410600b8410161715620006165782820a90508381111562000610576200060f620004c9565b5b62000645565b62000625848484600162000505565b925090508184048111156200063f576200063e620004c9565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000670826200064c565b91506200067d8362000656565b9250620006ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000560565b905092915050565b6000620006c1826200064c565b9150620006ce836200064c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200070a5762000709620004c9565b5b828202905092915050565b62000720816200064c565b82525050565b60006020820190506200073d600083018462000715565b92915050565b61399f80620007536000396000f3fe60806040526004361061016a5760003560e01c8063722b62ad116100d1578063a9059cbb1161008a578063c9567bf911610064578063c9567bf914610519578063d34628cc14610530578063dd62ed3e14610559578063ef9858941461059657610171565b8063a9059cbb14610486578063bf474bed146104c3578063c876d0b9146104ee57610171565b8063722b62ad14610398578063751039fc146103c35780637d1db4a5146103da5780638da5cb5b146104055780638f9a55c01461043057806395d89b411461045b57610171565b806331c2d8471161012357806331c2d8471461029c5780633bbac579146102c557806351bc3c8514610302578063617fe0ed1461031957806370a0823114610344578063715018a61461038157610171565b806306fdde0314610176578063095ea7b3146101a15780630faee56f146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105bf565b60405161019891906127d1565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c3919061289b565b6105fc565b6040516101d591906128f6565b60405180910390f35b3480156101ea57600080fd5b506101f361061a565b6040516102009190612920565b60405180910390f35b34801561021557600080fd5b5061021e610620565b60405161022b9190612920565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061293b565b610644565b60405161026891906128f6565b60405180910390f35b34801561027d57600080fd5b5061028661071d565b60405161029391906129aa565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190612b0d565b610726565b005b3480156102d157600080fd5b506102ec60048036038101906102e79190612b56565b610850565b6040516102f991906128f6565b60405180910390f35b34801561030e57600080fd5b506103176108a6565b005b34801561032557600080fd5b5061032e610943565b60405161033b91906128f6565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190612b56565b610956565b6040516103789190612920565b60405180910390f35b34801561038d57600080fd5b5061039661099f565b005b3480156103a457600080fd5b506103ad610af2565b6040516103ba91906129aa565b60405180910390f35b3480156103cf57600080fd5b506103d8610b05565b005b3480156103e657600080fd5b506103ef610c50565b6040516103fc9190612920565b60405180910390f35b34801561041157600080fd5b5061041a610c56565b6040516104279190612b92565b60405180910390f35b34801561043c57600080fd5b50610445610c7f565b6040516104529190612920565b60405180910390f35b34801561046757600080fd5b50610470610c85565b60405161047d91906127d1565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061289b565b610cc2565b6040516104ba91906128f6565b60405180910390f35b3480156104cf57600080fd5b506104d8610ce0565b6040516104e59190612920565b60405180910390f35b3480156104fa57600080fd5b50610503610ce6565b60405161051091906128f6565b60405180910390f35b34801561052557600080fd5b5061052e610cf9565b005b34801561053c57600080fd5b5061055760048036038101906105529190612b0d565b611230565b005b34801561056557600080fd5b50610580600480360381019061057b9190612bad565b61135a565b60405161058d9190612920565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190612bed565b6113e1565b005b60606040518060400160405280601181526020017f4152524f5720494e20544845204b4e4545000000000000000000000000000000815250905090565b600061061061060961144c565b8484611454565b6001905092915050565b60145481565b60006009600a6106309190612d7c565b633b9aca0061063f9190612dc7565b905090565b600061065184848461161d565b6107128461065d61144c565b61070d8560405180606001604052806028815260200161394260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c361144c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122079092919063ffffffff16565b611454565b600190509392505050565b60006009905090565b61072e61144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b290612e6d565b60405180910390fd5b60005b815181101561084c576000600460008484815181106107e0576107df612e8d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061084490612ebc565b9150506107be565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e761144c565b73ffffffffffffffffffffffffffffffffffffffff161461090757600080fd5b600061091230610956565b90506000811115610927576109268161226b565b5b6000479050600081111561093f5761093e816124e4565b5b5050565b601060009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109a761144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612e6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060019054906101000a900460ff1681565b610b0d61144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9190612e6d565b60405180910390fd5b6009600a610ba89190612d7c565b633b9aca00610bb79190612dc7565b6011819055506009600a610bcb9190612d7c565b633b9aca00610bda9190612dc7565b6012819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c2a9190612d7c565b633b9aca00610c399190612dc7565b604051610c469190612920565b60405180910390a1565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4152524f57000000000000000000000000000000000000000000000000000000815250905090565b6000610cd6610ccf61144c565b848461161d565b6001905092915050565b60135481565b600660009054906101000a900460ff1681565b610d0161144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612e6d565b60405180910390fd5b601660149054906101000a900460ff1615610dde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd590612f50565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7c30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e689190612d7c565b633b9aca00610e779190612dc7565b611454565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190612f85565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190612f85565b6040518363ffffffff1660e01b8152600401610fd7929190612fb2565b6020604051808303816000875af1158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190612f85565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a330610956565b6000806110ae610c56565b426040518863ffffffff1660e01b81526004016110d096959493929190613020565b60606040518083038185885af11580156110ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111139190613096565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b59291906130e9565b6020604051808303816000875af11580156111d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f8919061313e565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b61123861144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612e6d565b60405180910390fd5b60005b8151811015611356576001600460008484815181106112ea576112e9612e8d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061134e90612ebc565b9150506112c8565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661142261144c565b73ffffffffffffffffffffffffffffffffffffffff161461144257600080fd5b80600a8190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba906131dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611532576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115299061326f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116109190612920565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361168c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168390613301565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290613393565b60405180910390fd5b6000811161173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590613425565b60405180910390fd5b6000611748610c56565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117b65750611786610c56565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f4a57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561185f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61186857600080fd5b6118a46064611896600b54600e541161188357600754611887565b6009545b8561255090919063ffffffff16565b6125ca90919063ffffffff16565b9050600660009054906101000a900460ff1615611a3357601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119675750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a325743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e4906134dd565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a9c5750601060009054906101000a900460ff165b8015611af25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bda5742600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90613549565b60405180910390fd5b601060019054906101000a900460ff1660ff1642611b969190613569565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c855750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdb5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d9657601154821115611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c9061360b565b60405180910390fd5b60125482611d3285610956565b611d3c9190613569565b1115611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490613677565b60405180910390fd5b600e6000815480929190611d9090612ebc565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e1f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e6357611e606064611e52600c54600e5411611e3f57600854611e43565b600a545b8561255090919063ffffffff16565b6125ca90919063ffffffff16565b90505b6000611e6e30610956565b9050601660159054906101000a900460ff16158015611eda5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ef0575060168054906101000a900460ff165b8015611efd575060135481115b8015611f0c5750600d54600e54115b15611f4857611f2e611f2984611f2484601454612614565b612614565b61226b565b60004790506000811115611f4657611f45476124e4565b5b505b505b600081111561204e57611fa581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120459190612920565b60405180910390a35b6120a082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121476120f9828461268b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6121ec848661268b90919063ffffffff16565b6040516121f99190612920565b60405180910390a350505050565b600083831115829061224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224691906127d1565b60405180910390fd5b506000838561225e9190613697565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122a3576122a26129ca565b5b6040519080825280602002602001820160405280156122d15781602001602082028036833780820191505090505b50905030816000815181106122e9576122e8612e8d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b49190612f85565b816001815181106123c8576123c7612e8d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061242f30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611454565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612493959493929190613789565b600060405180830381600087803b1580156124ad57600080fd5b505af11580156124c1573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561254c573d6000803e3d6000fd5b5050565b600080830361256257600090506125c4565b600082846125709190612dc7565b905082848261257f9190613812565b146125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906138b5565b60405180910390fd5b809150505b92915050565b600061260c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126d5565b905092915050565b60008183116126235782612625565b815b905092915050565b600080828461263c9190613569565b905083811015612681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267890613921565b60405180910390fd5b8091505092915050565b60006126cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612207565b905092915050565b6000808311829061271c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271391906127d1565b60405180910390fd5b506000838561272b9190613812565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612772578082015181840152602081019050612757565b83811115612781576000848401525b50505050565b6000601f19601f8301169050919050565b60006127a382612738565b6127ad8185612743565b93506127bd818560208601612754565b6127c681612787565b840191505092915050565b600060208201905081810360008301526127eb8184612798565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061283282612807565b9050919050565b61284281612827565b811461284d57600080fd5b50565b60008135905061285f81612839565b92915050565b6000819050919050565b61287881612865565b811461288357600080fd5b50565b6000813590506128958161286f565b92915050565b600080604083850312156128b2576128b16127fd565b5b60006128c085828601612850565b92505060206128d185828601612886565b9150509250929050565b60008115159050919050565b6128f0816128db565b82525050565b600060208201905061290b60008301846128e7565b92915050565b61291a81612865565b82525050565b60006020820190506129356000830184612911565b92915050565b600080600060608486031215612954576129536127fd565b5b600061296286828701612850565b935050602061297386828701612850565b925050604061298486828701612886565b9150509250925092565b600060ff82169050919050565b6129a48161298e565b82525050565b60006020820190506129bf600083018461299b565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a0282612787565b810181811067ffffffffffffffff82111715612a2157612a206129ca565b5b80604052505050565b6000612a346127f3565b9050612a4082826129f9565b919050565b600067ffffffffffffffff821115612a6057612a5f6129ca565b5b602082029050602081019050919050565b600080fd5b6000612a89612a8484612a45565b612a2a565b90508083825260208201905060208402830185811115612aac57612aab612a71565b5b835b81811015612ad55780612ac18882612850565b845260208401935050602081019050612aae565b5050509392505050565b600082601f830112612af457612af36129c5565b5b8135612b04848260208601612a76565b91505092915050565b600060208284031215612b2357612b226127fd565b5b600082013567ffffffffffffffff811115612b4157612b40612802565b5b612b4d84828501612adf565b91505092915050565b600060208284031215612b6c57612b6b6127fd565b5b6000612b7a84828501612850565b91505092915050565b612b8c81612827565b82525050565b6000602082019050612ba76000830184612b83565b92915050565b60008060408385031215612bc457612bc36127fd565b5b6000612bd285828601612850565b9250506020612be385828601612850565b9150509250929050565b600060208284031215612c0357612c026127fd565b5b6000612c1184828501612886565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612ca057808604811115612c7c57612c7b612c1a565b5b6001851615612c8b5780820291505b8081029050612c9985612c49565b9450612c60565b94509492505050565b600082612cb95760019050612d75565b81612cc75760009050612d75565b8160018114612cdd5760028114612ce757612d16565b6001915050612d75565b60ff841115612cf957612cf8612c1a565b5b8360020a915084821115612d1057612d0f612c1a565b5b50612d75565b5060208310610133831016604e8410600b8410161715612d4b5782820a905083811115612d4657612d45612c1a565b5b612d75565b612d588484846001612c56565b92509050818404811115612d6f57612d6e612c1a565b5b81810290505b9392505050565b6000612d8782612865565b9150612d928361298e565b9250612dbf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ca9565b905092915050565b6000612dd282612865565b9150612ddd83612865565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e1657612e15612c1a565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e57602083612743565b9150612e6282612e21565b602082019050919050565b60006020820190508181036000830152612e8681612e4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612ec782612865565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ef957612ef8612c1a565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f3a601783612743565b9150612f4582612f04565b602082019050919050565b60006020820190508181036000830152612f6981612f2d565b9050919050565b600081519050612f7f81612839565b92915050565b600060208284031215612f9b57612f9a6127fd565b5b6000612fa984828501612f70565b91505092915050565b6000604082019050612fc76000830185612b83565b612fd46020830184612b83565b9392505050565b6000819050919050565b6000819050919050565b600061300a61300561300084612fdb565b612fe5565b612865565b9050919050565b61301a81612fef565b82525050565b600060c0820190506130356000830189612b83565b6130426020830188612911565b61304f6040830187613011565b61305c6060830186613011565b6130696080830185612b83565b61307660a0830184612911565b979650505050505050565b6000815190506130908161286f565b92915050565b6000806000606084860312156130af576130ae6127fd565b5b60006130bd86828701613081565b93505060206130ce86828701613081565b92505060406130df86828701613081565b9150509250925092565b60006040820190506130fe6000830185612b83565b61310b6020830184612911565b9392505050565b61311b816128db565b811461312657600080fd5b50565b60008151905061313881613112565b92915050565b600060208284031215613154576131536127fd565b5b600061316284828501613129565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131c7602483612743565b91506131d28261316b565b604082019050919050565b600060208201905081810360008301526131f6816131ba565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613259602283612743565b9150613264826131fd565b604082019050919050565b600060208201905081810360008301526132888161324c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132eb602583612743565b91506132f68261328f565b604082019050919050565b6000602082019050818103600083015261331a816132de565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061337d602383612743565b915061338882613321565b604082019050919050565b600060208201905081810360008301526133ac81613370565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061340f602983612743565b915061341a826133b3565b604082019050919050565b6000602082019050818103600083015261343e81613402565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134c7604983612743565b91506134d282613445565b606082019050919050565b600060208201905081810360008301526134f6816134ba565b9050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b6000613533601383612743565b915061353e826134fd565b602082019050919050565b6000602082019050818103600083015261356281613526565b9050919050565b600061357482612865565b915061357f83612865565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135b4576135b3612c1a565b5b828201905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006135f5601983612743565b9150613600826135bf565b602082019050919050565b60006020820190508181036000830152613624816135e8565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613661601a83612743565b915061366c8261362b565b602082019050919050565b6000602082019050818103600083015261369081613654565b9050919050565b60006136a282612865565b91506136ad83612865565b9250828210156136c0576136bf612c1a565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61370081612827565b82525050565b600061371283836136f7565b60208301905092915050565b6000602082019050919050565b6000613736826136cb565b61374081856136d6565b935061374b836136e7565b8060005b8381101561377c5781516137638882613706565b975061376e8361371e565b92505060018101905061374f565b5085935050505092915050565b600060a08201905061379e6000830188612911565b6137ab6020830187613011565b81810360408301526137bd818661372b565b90506137cc6060830185612b83565b6137d96080830184612911565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061381d82612865565b915061382883612865565b925082613838576138376137e3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061389f602183612743565b91506138aa82613843565b604082019050919050565b600060208201905081810360008301526138ce81613892565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061390b601b83612743565b9150613916826138d5565b602082019050919050565b6000602082019050818103600083015261393a816138fe565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ee60778406272a5058faf7a4e3fe03ea6c69f1438c4486a3cac4be3c731d51ce64736f6c634300080e0033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063722b62ad116100d1578063a9059cbb1161008a578063c9567bf911610064578063c9567bf914610519578063d34628cc14610530578063dd62ed3e14610559578063ef9858941461059657610171565b8063a9059cbb14610486578063bf474bed146104c3578063c876d0b9146104ee57610171565b8063722b62ad14610398578063751039fc146103c35780637d1db4a5146103da5780638da5cb5b146104055780638f9a55c01461043057806395d89b411461045b57610171565b806331c2d8471161012357806331c2d8471461029c5780633bbac579146102c557806351bc3c8514610302578063617fe0ed1461031957806370a0823114610344578063715018a61461038157610171565b806306fdde0314610176578063095ea7b3146101a15780630faee56f146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105bf565b60405161019891906127d1565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c3919061289b565b6105fc565b6040516101d591906128f6565b60405180910390f35b3480156101ea57600080fd5b506101f361061a565b6040516102009190612920565b60405180910390f35b34801561021557600080fd5b5061021e610620565b60405161022b9190612920565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061293b565b610644565b60405161026891906128f6565b60405180910390f35b34801561027d57600080fd5b5061028661071d565b60405161029391906129aa565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190612b0d565b610726565b005b3480156102d157600080fd5b506102ec60048036038101906102e79190612b56565b610850565b6040516102f991906128f6565b60405180910390f35b34801561030e57600080fd5b506103176108a6565b005b34801561032557600080fd5b5061032e610943565b60405161033b91906128f6565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190612b56565b610956565b6040516103789190612920565b60405180910390f35b34801561038d57600080fd5b5061039661099f565b005b3480156103a457600080fd5b506103ad610af2565b6040516103ba91906129aa565b60405180910390f35b3480156103cf57600080fd5b506103d8610b05565b005b3480156103e657600080fd5b506103ef610c50565b6040516103fc9190612920565b60405180910390f35b34801561041157600080fd5b5061041a610c56565b6040516104279190612b92565b60405180910390f35b34801561043c57600080fd5b50610445610c7f565b6040516104529190612920565b60405180910390f35b34801561046757600080fd5b50610470610c85565b60405161047d91906127d1565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061289b565b610cc2565b6040516104ba91906128f6565b60405180910390f35b3480156104cf57600080fd5b506104d8610ce0565b6040516104e59190612920565b60405180910390f35b3480156104fa57600080fd5b50610503610ce6565b60405161051091906128f6565b60405180910390f35b34801561052557600080fd5b5061052e610cf9565b005b34801561053c57600080fd5b5061055760048036038101906105529190612b0d565b611230565b005b34801561056557600080fd5b50610580600480360381019061057b9190612bad565b61135a565b60405161058d9190612920565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190612bed565b6113e1565b005b60606040518060400160405280601181526020017f4152524f5720494e20544845204b4e4545000000000000000000000000000000815250905090565b600061061061060961144c565b8484611454565b6001905092915050565b60145481565b60006009600a6106309190612d7c565b633b9aca0061063f9190612dc7565b905090565b600061065184848461161d565b6107128461065d61144c565b61070d8560405180606001604052806028815260200161394260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c361144c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122079092919063ffffffff16565b611454565b600190509392505050565b60006009905090565b61072e61144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b290612e6d565b60405180910390fd5b60005b815181101561084c576000600460008484815181106107e0576107df612e8d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061084490612ebc565b9150506107be565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e761144c565b73ffffffffffffffffffffffffffffffffffffffff161461090757600080fd5b600061091230610956565b90506000811115610927576109268161226b565b5b6000479050600081111561093f5761093e816124e4565b5b5050565b601060009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109a761144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612e6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060019054906101000a900460ff1681565b610b0d61144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9190612e6d565b60405180910390fd5b6009600a610ba89190612d7c565b633b9aca00610bb79190612dc7565b6011819055506009600a610bcb9190612d7c565b633b9aca00610bda9190612dc7565b6012819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c2a9190612d7c565b633b9aca00610c399190612dc7565b604051610c469190612920565b60405180910390a1565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4152524f57000000000000000000000000000000000000000000000000000000815250905090565b6000610cd6610ccf61144c565b848461161d565b6001905092915050565b60135481565b600660009054906101000a900460ff1681565b610d0161144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612e6d565b60405180910390fd5b601660149054906101000a900460ff1615610dde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd590612f50565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7c30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e689190612d7c565b633b9aca00610e779190612dc7565b611454565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190612f85565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190612f85565b6040518363ffffffff1660e01b8152600401610fd7929190612fb2565b6020604051808303816000875af1158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190612f85565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a330610956565b6000806110ae610c56565b426040518863ffffffff1660e01b81526004016110d096959493929190613020565b60606040518083038185885af11580156110ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111139190613096565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b59291906130e9565b6020604051808303816000875af11580156111d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f8919061313e565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b61123861144c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612e6d565b60405180910390fd5b60005b8151811015611356576001600460008484815181106112ea576112e9612e8d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061134e90612ebc565b9150506112c8565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661142261144c565b73ffffffffffffffffffffffffffffffffffffffff161461144257600080fd5b80600a8190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba906131dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611532576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115299061326f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116109190612920565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361168c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168390613301565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290613393565b60405180910390fd5b6000811161173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590613425565b60405180910390fd5b6000611748610c56565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117b65750611786610c56565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f4a57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561185f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61186857600080fd5b6118a46064611896600b54600e541161188357600754611887565b6009545b8561255090919063ffffffff16565b6125ca90919063ffffffff16565b9050600660009054906101000a900460ff1615611a3357601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119675750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a325743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e4906134dd565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a9c5750601060009054906101000a900460ff165b8015611af25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bda5742600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90613549565b60405180910390fd5b601060019054906101000a900460ff1660ff1642611b969190613569565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c855750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdb5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d9657601154821115611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c9061360b565b60405180910390fd5b60125482611d3285610956565b611d3c9190613569565b1115611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490613677565b60405180910390fd5b600e6000815480929190611d9090612ebc565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e1f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e6357611e606064611e52600c54600e5411611e3f57600854611e43565b600a545b8561255090919063ffffffff16565b6125ca90919063ffffffff16565b90505b6000611e6e30610956565b9050601660159054906101000a900460ff16158015611eda5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ef0575060168054906101000a900460ff165b8015611efd575060135481115b8015611f0c5750600d54600e54115b15611f4857611f2e611f2984611f2484601454612614565b612614565b61226b565b60004790506000811115611f4657611f45476124e4565b5b505b505b600081111561204e57611fa581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120459190612920565b60405180910390a35b6120a082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121476120f9828461268b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6121ec848661268b90919063ffffffff16565b6040516121f99190612920565b60405180910390a350505050565b600083831115829061224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224691906127d1565b60405180910390fd5b506000838561225e9190613697565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122a3576122a26129ca565b5b6040519080825280602002602001820160405280156122d15781602001602082028036833780820191505090505b50905030816000815181106122e9576122e8612e8d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b49190612f85565b816001815181106123c8576123c7612e8d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061242f30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611454565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612493959493929190613789565b600060405180830381600087803b1580156124ad57600080fd5b505af11580156124c1573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561254c573d6000803e3d6000fd5b5050565b600080830361256257600090506125c4565b600082846125709190612dc7565b905082848261257f9190613812565b146125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906138b5565b60405180910390fd5b809150505b92915050565b600061260c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126d5565b905092915050565b60008183116126235782612625565b815b905092915050565b600080828461263c9190613569565b905083811015612681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267890613921565b60405180910390fd5b8091505092915050565b60006126cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612207565b905092915050565b6000808311829061271c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271391906127d1565b60405180910390fd5b506000838561272b9190613812565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612772578082015181840152602081019050612757565b83811115612781576000848401525b50505050565b6000601f19601f8301169050919050565b60006127a382612738565b6127ad8185612743565b93506127bd818560208601612754565b6127c681612787565b840191505092915050565b600060208201905081810360008301526127eb8184612798565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061283282612807565b9050919050565b61284281612827565b811461284d57600080fd5b50565b60008135905061285f81612839565b92915050565b6000819050919050565b61287881612865565b811461288357600080fd5b50565b6000813590506128958161286f565b92915050565b600080604083850312156128b2576128b16127fd565b5b60006128c085828601612850565b92505060206128d185828601612886565b9150509250929050565b60008115159050919050565b6128f0816128db565b82525050565b600060208201905061290b60008301846128e7565b92915050565b61291a81612865565b82525050565b60006020820190506129356000830184612911565b92915050565b600080600060608486031215612954576129536127fd565b5b600061296286828701612850565b935050602061297386828701612850565b925050604061298486828701612886565b9150509250925092565b600060ff82169050919050565b6129a48161298e565b82525050565b60006020820190506129bf600083018461299b565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a0282612787565b810181811067ffffffffffffffff82111715612a2157612a206129ca565b5b80604052505050565b6000612a346127f3565b9050612a4082826129f9565b919050565b600067ffffffffffffffff821115612a6057612a5f6129ca565b5b602082029050602081019050919050565b600080fd5b6000612a89612a8484612a45565b612a2a565b90508083825260208201905060208402830185811115612aac57612aab612a71565b5b835b81811015612ad55780612ac18882612850565b845260208401935050602081019050612aae565b5050509392505050565b600082601f830112612af457612af36129c5565b5b8135612b04848260208601612a76565b91505092915050565b600060208284031215612b2357612b226127fd565b5b600082013567ffffffffffffffff811115612b4157612b40612802565b5b612b4d84828501612adf565b91505092915050565b600060208284031215612b6c57612b6b6127fd565b5b6000612b7a84828501612850565b91505092915050565b612b8c81612827565b82525050565b6000602082019050612ba76000830184612b83565b92915050565b60008060408385031215612bc457612bc36127fd565b5b6000612bd285828601612850565b9250506020612be385828601612850565b9150509250929050565b600060208284031215612c0357612c026127fd565b5b6000612c1184828501612886565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612ca057808604811115612c7c57612c7b612c1a565b5b6001851615612c8b5780820291505b8081029050612c9985612c49565b9450612c60565b94509492505050565b600082612cb95760019050612d75565b81612cc75760009050612d75565b8160018114612cdd5760028114612ce757612d16565b6001915050612d75565b60ff841115612cf957612cf8612c1a565b5b8360020a915084821115612d1057612d0f612c1a565b5b50612d75565b5060208310610133831016604e8410600b8410161715612d4b5782820a905083811115612d4657612d45612c1a565b5b612d75565b612d588484846001612c56565b92509050818404811115612d6f57612d6e612c1a565b5b81810290505b9392505050565b6000612d8782612865565b9150612d928361298e565b9250612dbf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ca9565b905092915050565b6000612dd282612865565b9150612ddd83612865565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e1657612e15612c1a565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e57602083612743565b9150612e6282612e21565b602082019050919050565b60006020820190508181036000830152612e8681612e4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612ec782612865565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ef957612ef8612c1a565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f3a601783612743565b9150612f4582612f04565b602082019050919050565b60006020820190508181036000830152612f6981612f2d565b9050919050565b600081519050612f7f81612839565b92915050565b600060208284031215612f9b57612f9a6127fd565b5b6000612fa984828501612f70565b91505092915050565b6000604082019050612fc76000830185612b83565b612fd46020830184612b83565b9392505050565b6000819050919050565b6000819050919050565b600061300a61300561300084612fdb565b612fe5565b612865565b9050919050565b61301a81612fef565b82525050565b600060c0820190506130356000830189612b83565b6130426020830188612911565b61304f6040830187613011565b61305c6060830186613011565b6130696080830185612b83565b61307660a0830184612911565b979650505050505050565b6000815190506130908161286f565b92915050565b6000806000606084860312156130af576130ae6127fd565b5b60006130bd86828701613081565b93505060206130ce86828701613081565b92505060406130df86828701613081565b9150509250925092565b60006040820190506130fe6000830185612b83565b61310b6020830184612911565b9392505050565b61311b816128db565b811461312657600080fd5b50565b60008151905061313881613112565b92915050565b600060208284031215613154576131536127fd565b5b600061316284828501613129565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131c7602483612743565b91506131d28261316b565b604082019050919050565b600060208201905081810360008301526131f6816131ba565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613259602283612743565b9150613264826131fd565b604082019050919050565b600060208201905081810360008301526132888161324c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132eb602583612743565b91506132f68261328f565b604082019050919050565b6000602082019050818103600083015261331a816132de565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061337d602383612743565b915061338882613321565b604082019050919050565b600060208201905081810360008301526133ac81613370565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061340f602983612743565b915061341a826133b3565b604082019050919050565b6000602082019050818103600083015261343e81613402565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134c7604983612743565b91506134d282613445565b606082019050919050565b600060208201905081810360008301526134f6816134ba565b9050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b6000613533601383612743565b915061353e826134fd565b602082019050919050565b6000602082019050818103600083015261356281613526565b9050919050565b600061357482612865565b915061357f83612865565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135b4576135b3612c1a565b5b828201905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006135f5601983612743565b9150613600826135bf565b602082019050919050565b60006020820190508181036000830152613624816135e8565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613661601a83612743565b915061366c8261362b565b602082019050919050565b6000602082019050818103600083015261369081613654565b9050919050565b60006136a282612865565b91506136ad83612865565b9250828210156136c0576136bf612c1a565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61370081612827565b82525050565b600061371283836136f7565b60208301905092915050565b6000602082019050919050565b6000613736826136cb565b61374081856136d6565b935061374b836136e7565b8060005b8381101561377c5781516137638882613706565b975061376e8361371e565b92505060018101905061374f565b5085935050505092915050565b600060a08201905061379e6000830188612911565b6137ab6020830187613011565b81810360408301526137bd818661372b565b90506137cc6060830185612b83565b6137d96080830184612911565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061381d82612865565b915061382883612865565b925082613838576138376137e3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061389f602183612743565b91506138aa82613843565b604082019050919050565b600060208201905081810360008301526138ce81613892565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061390b601b83612743565b9150613916826138d5565b602082019050919050565b6000602082019050818103600083015261393a816138fe565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ee60778406272a5058faf7a4e3fe03ea6c69f1438c4486a3cac4be3c731d51ce64736f6c634300080e0033
Deployed Bytecode Sourcemap
3795:9278:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5880:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6713:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5155:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6157:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6882:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6066:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11593:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11763:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12722:348;;;;;;;;;;;;;:::i;:::-;;4646:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6260:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2876:148;;;;;;;;;;;;;:::i;:::-;;4690:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11117:196;;;;;;;;;;;;;:::i;:::-;;4966:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2662:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5027:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5971:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6387:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5090:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4182:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11854:671;;;;;;;;;;;;;:::i;:::-;;11421:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6562:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12539:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5880:83;5917:13;5950:5;;;;;;;;;;;;;;;;;5943:12;;5880:83;:::o;6713:161::-;6788:4;6805:39;6814:12;:10;:12::i;:::-;6828:7;6837:6;6805:8;:39::i;:::-;6862:4;6855:11;;6713:161;;;;:::o;5155:52::-;;;;:::o;6157:95::-;6210:7;4770:1;4826:2;:13;;;;:::i;:::-;4813:10;:26;;;;:::i;:::-;6230:14;;6157:95;:::o;6882:313::-;6980:4;6997:36;7007:6;7015:9;7026:6;6997:9;:36::i;:::-;7044:121;7053:6;7061:12;:10;:12::i;:::-;7075:89;7113:6;7075:89;;;;;;;;;;;;;;;;;:11;:19;7087:6;7075:19;;;;;;;;;;;;;;;:33;7095:12;:10;:12::i;:::-;7075:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7044:8;:121::i;:::-;7183:4;7176:11;;6882:313;;;;;:::o;6066:83::-;6107:5;4770:1;6125:16;;6066:83;:::o;11593:162::-;2799:12;:10;:12::i;:::-;2789:22;;:6;;;;;;;;;;:22;;;2781:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11666:6:::1;11661:87;11682:6;:13;11678:1;:17;11661:87;;;11733:5;11715:4;:15;11720:6;11727:1;11720:9;;;;;;;;:::i;:::-;;;;;;;;11715:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11697:3;;;;;:::i;:::-;;;;11661:87;;;;11593:162:::0;:::o;11763:83::-;11810:4;11831;:7;11836:1;11831:7;;;;;;;;;;;;;;;;;;;;;;;;;11824:14;;11763:83;;;:::o;12722:348::-;12786:10;;;;;;;;;;;12772:24;;:12;:10;:12::i;:::-;:24;;;12764:33;;;;;;12808:20;12829:24;12847:4;12829:9;:24::i;:::-;12808:45;;12880:1;12867:12;:14;12864:73;;;12895:30;12912:12;12895:16;:30::i;:::-;12864:73;12947:18;12966:21;12947:40;;13012:1;13001:10;:12;12998:65;;;13027:24;13040:10;13027:12;:24::i;:::-;12998:65;12753:317;;12722:348::o;4646:37::-;;;;;;;;;;;;;:::o;6260:119::-;6326:7;6353:9;:18;6363:7;6353:18;;;;;;;;;;;;;;;;6346:25;;6260:119;;;:::o;2876:148::-;2799:12;:10;:12::i;:::-;2789:22;;:6;;;;;;;;;;:22;;;2781:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2983:1:::1;2946:40;;2967:6;::::0;::::1;;;;;;;;2946:40;;;;;;;;;;;;3014:1;2997:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2876:148::o:0;4690:38::-;;;;;;;;;;;;;:::o;11117:196::-;2799:12;:10;:12::i;:::-;2789:22;;:6;;;;;;;;;;:22;;;2781:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4770:1:::1;4826:2;:13;;;;:::i;:::-;4813:10;:26;;;;:::i;:::-;11170:12;:22;;;;4770:1;4826:2;:13;;;;:::i;:::-;4813:10;:26;;;;:::i;:::-;11203:14;:22;;;;11257:5;11236:20;;:26;;;;;;;;;;;;;;;;;;11278:27;4770:1;4826:2;:13;;;;:::i;:::-;4813:10;:26;;;;:::i;:::-;11278:27;;;;;;:::i;:::-;;;;;;;;11117:196::o:0;4966:54::-;;;;:::o;2662:79::-;2700:7;2727:6;;;;;;;;;;;2720:13;;2662:79;:::o;5027:56::-;;;;:::o;5971:87::-;6010:13;6043:7;;;;;;;;;;;;;;;;;6036:14;;5971:87;:::o;6387:167::-;6465:4;6482:42;6492:12;:10;:12::i;:::-;6506:9;6517:6;6482:9;:42::i;:::-;6542:4;6535:11;;6387:167;;;;:::o;5090:58::-;;;;:::o;4182:39::-;;;;;;;;;;;;;:::o;11854:671::-;2799:12;:10;:12::i;:::-;2789:22;;:6;;;;;;;;;;:22;;;2781:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11918:11:::1;;;;;;;;;;;11917:12;11909:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12004:42;11967:15;;:80;;;;;;;;;;;;;;;;;;12058:58;12075:4;12090:15;;;;;;;;;;;4770:1;4826:2;:13;;;;:::i;:::-;4813:10;:26;;;;:::i;:::-;12058:8;:58::i;:::-;12161:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12143:55;;;12207:4;12214:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12143:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12127:13;;:110;;;;;;;;;;;;;;;;;;12248:15;;;;;;;;;;;:31;;;12287:21;12318:4;12324:24;12342:4;12324:9;:24::i;:::-;12349:1;12351::::0;12353:7:::1;:5;:7::i;:::-;12361:15;12248:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12395:13;;;;;;;;;;;12388:29;;;12426:15;;;;;;;;;;;12444:14;12388:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12484:4;12470:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;12513:4;12499:11;;:18;;;;;;;;;;;;;;;;;;11854:671::o:0;11421:164::-;2799:12;:10;:12::i;:::-;2789:22;;:6;;;;;;;;;;:22;;;2781:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11495:6:::1;11490:88;11511:5;:12;11507:1;:16;11490:88;;;11562:4;11545;:14;11550:5;11556:1;11550:8;;;;;;;;:::i;:::-;;;;;;;;11545:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11525:3;;;;;:::i;:::-;;;;11490:88;;;;11421:164:::0;:::o;6562:143::-;6643:7;6670:11;:18;6682:5;6670:18;;;;;;;;;;;;;;;:27;6689:7;6670:27;;;;;;;;;;;;;;;;6663:34;;6562:143;;;;:::o;12539:138::-;12616:10;;;;;;;;;;;12602:24;;:12;:10;:12::i;:::-;:24;;;12594:33;;;;;;12662:7;12648:13;:21;;;;12539:138;:::o;417:98::-;470:7;497:10;490:17;;417:98;:::o;7203:335::-;7313:1;7296:19;;:5;:19;;;7288:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7394:1;7375:21;;:7;:21;;;7367:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7476:6;7446:11;:18;7458:5;7446:18;;;;;;;;;;;;;;;:27;7465:7;7446:27;;;;;;;;;;;;;;;:36;;;;7514:7;7498:32;;7507:5;7498:32;;;7523:6;7498:32;;;;;;:::i;:::-;;;;;;;;7203:335;;;:::o;7730:2780::-;7834:1;7818:18;;:4;:18;;;7810:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7911:1;7897:16;;:2;:16;;;7889:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7981:1;7972:6;:10;7964:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8039:17;8081:7;:5;:7::i;:::-;8073:15;;:4;:15;;;;:32;;;;;8098:7;:5;:7::i;:::-;8092:13;;:2;:13;;;;8073:32;8069:2085;;;8131:4;:10;8136:4;8131:10;;;;;;;;;;;;;;;;;;;;;;;;;8130:11;:24;;;;;8146:4;:8;8151:2;8146:8;;;;;;;;;;;;;;;;;;;;;;;;;8145:9;8130:24;8122:33;;;;;;8182:76;8254:3;8182:67;8204:15;;8194:9;;:25;8193:55;;8234:14;;8193:55;;;8221:12;;8193:55;8182:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8170:88;;8279:20;;;;;;;;;;;8275:508;;;8340:15;;;;;;;;;;;8326:30;;:2;:30;;;;:62;;;;;8374:13;;;;;;;;;;;8360:28;;:2;:28;;;;8326:62;8322:444;;;8524:12;8451:28;:39;8480:9;8451:39;;;;;;;;;;;;;;;;:85;8415:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8732:12;8690:28;:39;8719:9;8690:39;;;;;;;;;;;;;;;:54;;;;8322:444;8275:508;8811:13;;;;;;;;;;;8803:21;;:4;:21;;;:43;;;;;8828:18;;;;;;;;;;;8803:43;:71;;;;;8852:18;:22;8871:2;8852:22;;;;;;;;;;;;;;;;;;;;;;;;;8850:24;8803:71;8799:318;;;8945:15;8925:13;:17;8939:2;8925:17;;;;;;;;;;;;;;;;:35;8895:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;9080:21;;;;;;;;;;;9062:39;;:15;:39;;;;:::i;:::-;9042:13;:17;9056:2;9042:17;;;;;;;;;;;;;;;:59;;;;8799:318;9145:13;;;;;;;;;;;9137:21;;:4;:21;;;:55;;;;;9176:15;;;;;;;;;;;9162:30;;:2;:30;;;;9137:55;:83;;;;;9198:18;:22;9217:2;9198:22;;;;;;;;;;;;;;;;;;;;;;;;;9196:24;9137:83;9133:313;;;9260:12;;9250:6;:22;;9242:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9355:14;;9345:6;9329:13;9339:2;9329:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9321:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9419:9;;:11;;;;;;;;;:::i;:::-;;;;;;9133:313;9471:13;;;;;;;;;;;9465:19;;:2;:19;;;:43;;;;;9503:4;9488:20;;:4;:20;;;;9465:43;9462:174;;;9541:79;9616:3;9541:70;9563:16;;9553:9;;:26;9552:58;;9595:15;;9552:58;;;9581:13;;9552:58;9541:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9529:91;;9462:174;9652:28;9683:24;9701:4;9683:9;:24::i;:::-;9652:55;;9727:6;;;;;;;;;;;9726:7;:32;;;;;9745:13;;;;;;;;;;;9737:21;;:2;:21;;;9726:32;:47;;;;;9762:11;;;;;;;;;;9726:47;:89;;;;;9798:17;;9777:20;:38;9726:89;:121;;;;;9829:18;;9819:9;;:28;9726:121;9722:421;;;9868:67;9885:49;9889:6;9896:37;9900:20;9921:11;;9896:3;:37::i;:::-;9885:3;:49::i;:::-;9868:16;:67::i;:::-;9954:26;9983:21;9954:50;;10047:1;10026:18;:22;10023:105;;;10073:35;10086:21;10073:12;:35::i;:::-;10023:105;9849:294;9722:421;8107:2047;8069:2085;10179:1;10169:9;:11;10166:161;;;10219:39;10248:9;10219;:24;10237:4;10219:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10194:9;:24;10212:4;10194:24;;;;;;;;;;;;;;;:64;;;;10299:4;10276:39;;10285:4;10276:39;;;10305:9;10276:39;;;;;;:::i;:::-;;;;;;;;10166:161;10353:27;10373:6;10353:9;:15;10363:4;10353:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10337:9;:15;10347:4;10337:15;;;;;;;;;;;;;;;:43;;;;10405:40;10423:21;10434:9;10423:6;:10;;:21;;;;:::i;:::-;10405:9;:13;10415:2;10405:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10391:9;:13;10401:2;10391:13;;;;;;;;;;;;;;;:54;;;;10476:2;10461:41;;10470:4;10461:41;;;10480:21;10491:9;10480:6;:10;;:21;;;;:::i;:::-;10461:41;;;;;;:::i;:::-;;;;;;;;7799:2711;7730:2780;;;:::o;1554:190::-;1640:7;1673:1;1668;:6;;1676:12;1660:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1700:9;1716:1;1712;:5;;;;:::i;:::-;1700:17;;1735:1;1728:8;;;1554:190;;;;;:::o;10626:483::-;5498:4;5489:6;;:13;;;;;;;;;;;;;;;;;;10704:21:::1;10742:1;10728:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10704:40;;10773:4;10755;10760:1;10755:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10799:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10789:4;10794:1;10789:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10832:62;10849:4;10864:15;;;;;;;;;;;10882:11;10832:8;:62::i;:::-;10905:15;;;;;;;;;;;:66;;;10986:11;11012:1;11028:4;11055;11075:15;10905:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10693:416;5534:5:::0;5525:6;;:14;;;;;;;;;;;;;;;;;;10626:483;:::o;11321:92::-;11378:10;;;;;;;;;;;:19;;:27;11398:6;11378:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11321:92;:::o;1752:246::-;1810:7;1839:1;1834;:6;1830:47;;1864:1;1857:8;;;;1830:47;1887:9;1903:1;1899;:5;;;;:::i;:::-;1887:17;;1932:1;1927;1923;:5;;;;:::i;:::-;:10;1915:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1989:1;1982:8;;;1752:246;;;;;:::o;2006:132::-;2064:7;2091:39;2095:1;2098;2091:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2084:46;;2006:132;;;;:::o;10520:98::-;10577:7;10604:1;10602;:3;10601:9;;10609:1;10601:9;;;10607:1;10601:9;10594:16;;10520:98;;;;:::o;1223:179::-;1281:7;1301:9;1317:1;1313;:5;;;;:::i;:::-;1301:17;;1342:1;1337;:6;;1329:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1393:1;1386:8;;;1223:179;;;;:::o;1410:136::-;1468:7;1495:43;1499:1;1502;1495:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1488:50;;1410:136;;;;:::o;2146:189::-;2232:7;2264:1;2260;:5;2267:12;2252:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2291:9;2307:1;2303;:5;;;;:::i;:::-;2291:17;;2326:1;2319:8;;;2146: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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:117::-;5010:1;5007;5000:12;5024:180;5072:77;5069:1;5062:88;5169:4;5166:1;5159:15;5193:4;5190:1;5183:15;5210:281;5293:27;5315:4;5293:27;:::i;:::-;5285:6;5281:40;5423:6;5411:10;5408:22;5387:18;5375:10;5372:34;5369:62;5366:88;;;5434:18;;:::i;:::-;5366:88;5474:10;5470:2;5463:22;5253:238;5210:281;;:::o;5497:129::-;5531:6;5558:20;;:::i;:::-;5548:30;;5587:33;5615:4;5607:6;5587:33;:::i;:::-;5497:129;;;:::o;5632:311::-;5709:4;5799:18;5791:6;5788:30;5785:56;;;5821:18;;:::i;:::-;5785:56;5871:4;5863:6;5859:17;5851:25;;5931:4;5925;5921:15;5913:23;;5632:311;;;:::o;5949:117::-;6058:1;6055;6048:12;6089:710;6185:5;6210:81;6226:64;6283:6;6226:64;:::i;:::-;6210:81;:::i;:::-;6201:90;;6311:5;6340:6;6333:5;6326:21;6374:4;6367:5;6363:16;6356:23;;6427:4;6419:6;6415:17;6407:6;6403:30;6456:3;6448:6;6445:15;6442:122;;;6475:79;;:::i;:::-;6442:122;6590:6;6573:220;6607:6;6602:3;6599:15;6573:220;;;6682:3;6711:37;6744:3;6732:10;6711:37;:::i;:::-;6706:3;6699:50;6778:4;6773:3;6769:14;6762:21;;6649:144;6633:4;6628:3;6624:14;6617:21;;6573:220;;;6577:21;6191:608;;6089:710;;;;;:::o;6822:370::-;6893:5;6942:3;6935:4;6927:6;6923:17;6919:27;6909:122;;6950:79;;:::i;:::-;6909:122;7067:6;7054:20;7092:94;7182:3;7174:6;7167:4;7159:6;7155:17;7092:94;:::i;:::-;7083:103;;6899:293;6822:370;;;;:::o;7198:539::-;7282:6;7331:2;7319:9;7310:7;7306:23;7302:32;7299:119;;;7337:79;;:::i;:::-;7299:119;7485:1;7474:9;7470:17;7457:31;7515:18;7507:6;7504:30;7501:117;;;7537:79;;:::i;:::-;7501:117;7642:78;7712:7;7703:6;7692:9;7688:22;7642:78;:::i;:::-;7632:88;;7428:302;7198:539;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:329::-;8969:6;9018:2;9006:9;8997:7;8993:23;8989:32;8986:119;;;9024:79;;:::i;:::-;8986:119;9144:1;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9115:117;8910:329;;;;:::o;9245:180::-;9293:77;9290:1;9283:88;9390:4;9387:1;9380:15;9414:4;9411:1;9404:15;9431:102;9473:8;9520:5;9517:1;9513:13;9492:34;;9431:102;;;:::o;9539:848::-;9600:5;9607:4;9631:6;9622:15;;9655:5;9646:14;;9669:712;9690:1;9680:8;9677:15;9669:712;;;9785:4;9780:3;9776:14;9770:4;9767:24;9764:50;;;9794:18;;:::i;:::-;9764:50;9844:1;9834:8;9830:16;9827:451;;;10259:4;10252:5;10248:16;10239:25;;9827:451;10309:4;10303;10299:15;10291:23;;10339:32;10362:8;10339:32;:::i;:::-;10327:44;;9669:712;;;9539:848;;;;;;;:::o;10393:1073::-;10447:5;10638:8;10628:40;;10659:1;10650:10;;10661:5;;10628:40;10687:4;10677:36;;10704:1;10695:10;;10706:5;;10677:36;10773:4;10821:1;10816:27;;;;10857:1;10852:191;;;;10766:277;;10816:27;10834:1;10825:10;;10836:5;;;10852:191;10897:3;10887:8;10884:17;10881:43;;;10904:18;;:::i;:::-;10881:43;10953:8;10950:1;10946:16;10937:25;;10988:3;10981:5;10978:14;10975:40;;;10995:18;;:::i;:::-;10975:40;11028:5;;;10766:277;;11152:2;11142:8;11139:16;11133:3;11127:4;11124:13;11120:36;11102:2;11092:8;11089:16;11084:2;11078:4;11075:12;11071:35;11055:111;11052:246;;;11208:8;11202:4;11198:19;11189:28;;11243:3;11236:5;11233:14;11230:40;;;11250:18;;:::i;:::-;11230:40;11283:5;;11052:246;11323:42;11361:3;11351:8;11345:4;11342:1;11323:42;:::i;:::-;11308:57;;;;11397:4;11392:3;11388:14;11381:5;11378:25;11375:51;;;11406:18;;:::i;:::-;11375:51;11455:4;11448:5;11444:16;11435:25;;10393:1073;;;;;;:::o;11472:281::-;11530:5;11554:23;11572:4;11554:23;:::i;:::-;11546:31;;11598:25;11614:8;11598:25;:::i;:::-;11586:37;;11642:104;11679:66;11669:8;11663:4;11642:104;:::i;:::-;11633:113;;11472:281;;;;:::o;11759:348::-;11799:7;11822:20;11840:1;11822:20;:::i;:::-;11817:25;;11856:20;11874:1;11856:20;:::i;:::-;11851:25;;12044:1;11976:66;11972:74;11969:1;11966:81;11961:1;11954:9;11947:17;11943:105;11940:131;;;12051:18;;:::i;:::-;11940:131;12099:1;12096;12092:9;12081:20;;11759:348;;;;:::o;12113:182::-;12253:34;12249:1;12241:6;12237:14;12230:58;12113:182;:::o;12301:366::-;12443:3;12464:67;12528:2;12523:3;12464:67;:::i;:::-;12457:74;;12540:93;12629:3;12540:93;:::i;:::-;12658:2;12653:3;12649:12;12642:19;;12301:366;;;:::o;12673:419::-;12839:4;12877:2;12866:9;12862:18;12854:26;;12926:9;12920:4;12916:20;12912:1;12901:9;12897:17;12890:47;12954:131;13080:4;12954:131;:::i;:::-;12946:139;;12673:419;;;:::o;13098:180::-;13146:77;13143:1;13136:88;13243:4;13240:1;13233:15;13267:4;13264:1;13257:15;13284:233;13323:3;13346:24;13364:5;13346:24;:::i;:::-;13337:33;;13392:66;13385:5;13382:77;13379:103;;13462:18;;:::i;:::-;13379:103;13509:1;13502:5;13498:13;13491:20;;13284:233;;;:::o;13523:173::-;13663:25;13659:1;13651:6;13647:14;13640:49;13523:173;:::o;13702:366::-;13844:3;13865:67;13929:2;13924:3;13865:67;:::i;:::-;13858:74;;13941:93;14030:3;13941:93;:::i;:::-;14059:2;14054:3;14050:12;14043:19;;13702:366;;;:::o;14074:419::-;14240:4;14278:2;14267:9;14263:18;14255:26;;14327:9;14321:4;14317:20;14313:1;14302:9;14298:17;14291:47;14355:131;14481:4;14355:131;:::i;:::-;14347:139;;14074:419;;;:::o;14499:143::-;14556:5;14587:6;14581:13;14572:22;;14603:33;14630:5;14603:33;:::i;:::-;14499:143;;;;:::o;14648:351::-;14718:6;14767:2;14755:9;14746:7;14742:23;14738:32;14735:119;;;14773:79;;:::i;:::-;14735:119;14893:1;14918:64;14974:7;14965:6;14954:9;14950:22;14918:64;:::i;:::-;14908:74;;14864:128;14648:351;;;;:::o;15005:332::-;15126:4;15164:2;15153:9;15149:18;15141:26;;15177:71;15245:1;15234:9;15230:17;15221:6;15177:71;:::i;:::-;15258:72;15326:2;15315:9;15311:18;15302:6;15258:72;:::i;:::-;15005:332;;;;;:::o;15343:85::-;15388:7;15417:5;15406:16;;15343:85;;;:::o;15434:60::-;15462:3;15483:5;15476:12;;15434:60;;;:::o;15500:158::-;15558:9;15591:61;15609:42;15618:32;15644:5;15618:32;:::i;:::-;15609:42;:::i;:::-;15591:61;:::i;:::-;15578:74;;15500:158;;;:::o;15664:147::-;15759:45;15798:5;15759:45;:::i;:::-;15754:3;15747:58;15664:147;;:::o;15817:807::-;16066:4;16104:3;16093:9;16089:19;16081:27;;16118:71;16186:1;16175:9;16171:17;16162:6;16118:71;:::i;:::-;16199:72;16267:2;16256:9;16252:18;16243:6;16199:72;:::i;:::-;16281:80;16357:2;16346:9;16342:18;16333:6;16281:80;:::i;:::-;16371;16447:2;16436:9;16432:18;16423:6;16371:80;:::i;:::-;16461:73;16529:3;16518:9;16514:19;16505:6;16461:73;:::i;:::-;16544;16612:3;16601:9;16597:19;16588:6;16544:73;:::i;:::-;15817:807;;;;;;;;;:::o;16630:143::-;16687:5;16718:6;16712:13;16703:22;;16734:33;16761:5;16734:33;:::i;:::-;16630:143;;;;:::o;16779:663::-;16867:6;16875;16883;16932:2;16920:9;16911:7;16907:23;16903:32;16900:119;;;16938:79;;:::i;:::-;16900:119;17058:1;17083:64;17139:7;17130:6;17119:9;17115:22;17083:64;:::i;:::-;17073:74;;17029:128;17196:2;17222:64;17278:7;17269:6;17258:9;17254:22;17222:64;:::i;:::-;17212:74;;17167:129;17335:2;17361:64;17417:7;17408:6;17397:9;17393:22;17361:64;:::i;:::-;17351:74;;17306:129;16779:663;;;;;:::o;17448:332::-;17569:4;17607:2;17596:9;17592:18;17584:26;;17620:71;17688:1;17677:9;17673:17;17664:6;17620:71;:::i;:::-;17701:72;17769:2;17758:9;17754:18;17745:6;17701:72;:::i;:::-;17448:332;;;;;:::o;17786:116::-;17856:21;17871:5;17856:21;:::i;:::-;17849:5;17846:32;17836:60;;17892:1;17889;17882:12;17836:60;17786:116;:::o;17908:137::-;17962:5;17993:6;17987:13;17978:22;;18009:30;18033:5;18009:30;:::i;:::-;17908:137;;;;:::o;18051:345::-;18118:6;18167:2;18155:9;18146:7;18142:23;18138:32;18135:119;;;18173:79;;:::i;:::-;18135:119;18293:1;18318:61;18371:7;18362:6;18351:9;18347:22;18318:61;:::i;:::-;18308:71;;18264:125;18051:345;;;;:::o;18402:223::-;18542:34;18538:1;18530:6;18526:14;18519:58;18611:6;18606:2;18598:6;18594:15;18587:31;18402:223;:::o;18631:366::-;18773:3;18794:67;18858:2;18853:3;18794:67;:::i;:::-;18787:74;;18870:93;18959:3;18870:93;:::i;:::-;18988:2;18983:3;18979:12;18972:19;;18631:366;;;:::o;19003:419::-;19169:4;19207:2;19196:9;19192:18;19184:26;;19256:9;19250:4;19246:20;19242:1;19231:9;19227:17;19220:47;19284:131;19410:4;19284:131;:::i;:::-;19276:139;;19003:419;;;:::o;19428:221::-;19568:34;19564:1;19556:6;19552:14;19545:58;19637:4;19632:2;19624:6;19620:15;19613:29;19428:221;:::o;19655:366::-;19797:3;19818:67;19882:2;19877:3;19818:67;:::i;:::-;19811:74;;19894:93;19983:3;19894:93;:::i;:::-;20012:2;20007:3;20003:12;19996:19;;19655:366;;;:::o;20027:419::-;20193:4;20231:2;20220:9;20216:18;20208:26;;20280:9;20274:4;20270:20;20266:1;20255:9;20251:17;20244:47;20308:131;20434:4;20308:131;:::i;:::-;20300:139;;20027:419;;;:::o;20452:224::-;20592:34;20588:1;20580:6;20576:14;20569:58;20661:7;20656:2;20648:6;20644:15;20637:32;20452:224;:::o;20682:366::-;20824:3;20845:67;20909:2;20904:3;20845:67;:::i;:::-;20838:74;;20921:93;21010:3;20921:93;:::i;:::-;21039:2;21034:3;21030:12;21023:19;;20682:366;;;:::o;21054:419::-;21220:4;21258:2;21247:9;21243:18;21235:26;;21307:9;21301:4;21297:20;21293:1;21282:9;21278:17;21271:47;21335:131;21461:4;21335:131;:::i;:::-;21327:139;;21054:419;;;:::o;21479:222::-;21619:34;21615:1;21607:6;21603:14;21596:58;21688:5;21683:2;21675:6;21671:15;21664:30;21479:222;:::o;21707:366::-;21849:3;21870:67;21934:2;21929:3;21870:67;:::i;:::-;21863:74;;21946:93;22035:3;21946:93;:::i;:::-;22064:2;22059:3;22055:12;22048:19;;21707:366;;;:::o;22079:419::-;22245:4;22283:2;22272:9;22268:18;22260:26;;22332:9;22326:4;22322:20;22318:1;22307:9;22303:17;22296:47;22360:131;22486:4;22360:131;:::i;:::-;22352:139;;22079:419;;;:::o;22504:228::-;22644:34;22640:1;22632:6;22628:14;22621:58;22713:11;22708:2;22700:6;22696:15;22689:36;22504:228;:::o;22738:366::-;22880:3;22901:67;22965:2;22960:3;22901:67;:::i;:::-;22894:74;;22977:93;23066:3;22977:93;:::i;:::-;23095:2;23090:3;23086:12;23079:19;;22738:366;;;:::o;23110:419::-;23276:4;23314:2;23303:9;23299:18;23291:26;;23363:9;23357:4;23353:20;23349:1;23338:9;23334:17;23327:47;23391:131;23517:4;23391:131;:::i;:::-;23383:139;;23110:419;;;:::o;23535:297::-;23675:34;23671:1;23663:6;23659:14;23652:58;23744:34;23739:2;23731:6;23727:15;23720:59;23813:11;23808:2;23800:6;23796:15;23789:36;23535:297;:::o;23838:366::-;23980:3;24001:67;24065:2;24060:3;24001:67;:::i;:::-;23994:74;;24077:93;24166:3;24077:93;:::i;:::-;24195:2;24190:3;24186:12;24179:19;;23838:366;;;:::o;24210:419::-;24376:4;24414:2;24403:9;24399:18;24391:26;;24463:9;24457:4;24453:20;24449:1;24438:9;24434:17;24427:47;24491:131;24617:4;24491:131;:::i;:::-;24483:139;;24210:419;;;:::o;24635:169::-;24775:21;24771:1;24763:6;24759:14;24752:45;24635:169;:::o;24810:366::-;24952:3;24973:67;25037:2;25032:3;24973:67;:::i;:::-;24966:74;;25049:93;25138:3;25049:93;:::i;:::-;25167:2;25162:3;25158:12;25151:19;;24810:366;;;:::o;25182:419::-;25348:4;25386:2;25375:9;25371:18;25363:26;;25435:9;25429:4;25425:20;25421:1;25410:9;25406:17;25399:47;25463:131;25589:4;25463:131;:::i;:::-;25455:139;;25182:419;;;:::o;25607:305::-;25647:3;25666:20;25684:1;25666:20;:::i;:::-;25661:25;;25700:20;25718:1;25700:20;:::i;:::-;25695:25;;25854:1;25786:66;25782:74;25779:1;25776:81;25773:107;;;25860:18;;:::i;:::-;25773:107;25904:1;25901;25897:9;25890:16;;25607:305;;;;:::o;25918:175::-;26058:27;26054:1;26046:6;26042:14;26035:51;25918:175;:::o;26099:366::-;26241:3;26262:67;26326:2;26321:3;26262:67;:::i;:::-;26255:74;;26338:93;26427:3;26338:93;:::i;:::-;26456:2;26451:3;26447:12;26440:19;;26099:366;;;:::o;26471:419::-;26637:4;26675:2;26664:9;26660:18;26652:26;;26724:9;26718:4;26714:20;26710:1;26699:9;26695:17;26688:47;26752:131;26878:4;26752:131;:::i;:::-;26744:139;;26471:419;;;:::o;26896:176::-;27036:28;27032:1;27024:6;27020:14;27013:52;26896:176;:::o;27078:366::-;27220:3;27241:67;27305:2;27300:3;27241:67;:::i;:::-;27234:74;;27317:93;27406:3;27317:93;:::i;:::-;27435:2;27430:3;27426:12;27419:19;;27078:366;;;:::o;27450:419::-;27616:4;27654:2;27643:9;27639:18;27631:26;;27703:9;27697:4;27693:20;27689:1;27678:9;27674:17;27667:47;27731:131;27857:4;27731:131;:::i;:::-;27723:139;;27450:419;;;:::o;27875:191::-;27915:4;27935:20;27953:1;27935:20;:::i;:::-;27930:25;;27969:20;27987:1;27969:20;:::i;:::-;27964:25;;28008:1;28005;28002:8;27999:34;;;28013:18;;:::i;:::-;27999:34;28058:1;28055;28051:9;28043:17;;27875:191;;;;:::o;28072:114::-;28139:6;28173:5;28167:12;28157:22;;28072:114;;;:::o;28192:184::-;28291:11;28325:6;28320:3;28313:19;28365:4;28360:3;28356:14;28341:29;;28192:184;;;;:::o;28382:132::-;28449:4;28472:3;28464:11;;28502:4;28497:3;28493:14;28485:22;;28382:132;;;:::o;28520:108::-;28597:24;28615:5;28597:24;:::i;:::-;28592:3;28585:37;28520:108;;:::o;28634:179::-;28703:10;28724:46;28766:3;28758:6;28724:46;:::i;:::-;28802:4;28797:3;28793:14;28779:28;;28634:179;;;;:::o;28819:113::-;28889:4;28921;28916:3;28912:14;28904:22;;28819:113;;;:::o;28968:732::-;29087:3;29116:54;29164:5;29116:54;:::i;:::-;29186:86;29265:6;29260:3;29186:86;:::i;:::-;29179:93;;29296:56;29346:5;29296:56;:::i;:::-;29375:7;29406:1;29391:284;29416:6;29413:1;29410:13;29391:284;;;29492:6;29486:13;29519:63;29578:3;29563:13;29519:63;:::i;:::-;29512:70;;29605:60;29658:6;29605:60;:::i;:::-;29595:70;;29451:224;29438:1;29435;29431:9;29426:14;;29391:284;;;29395:14;29691:3;29684:10;;29092:608;;;28968:732;;;;:::o;29706:831::-;29969:4;30007:3;29996:9;29992:19;29984:27;;30021:71;30089:1;30078:9;30074:17;30065:6;30021:71;:::i;:::-;30102:80;30178:2;30167:9;30163:18;30154:6;30102:80;:::i;:::-;30229:9;30223:4;30219:20;30214:2;30203:9;30199:18;30192:48;30257:108;30360:4;30351:6;30257:108;:::i;:::-;30249:116;;30375:72;30443:2;30432:9;30428:18;30419:6;30375:72;:::i;:::-;30457:73;30525:3;30514:9;30510:19;30501:6;30457:73;:::i;:::-;29706:831;;;;;;;;:::o;30543:180::-;30591:77;30588:1;30581:88;30688:4;30685:1;30678:15;30712:4;30709:1;30702:15;30729:185;30769:1;30786:20;30804:1;30786:20;:::i;:::-;30781:25;;30820:20;30838:1;30820:20;:::i;:::-;30815:25;;30859:1;30849:35;;30864:18;;:::i;:::-;30849:35;30906:1;30903;30899:9;30894:14;;30729:185;;;;:::o;30920:220::-;31060:34;31056:1;31048:6;31044:14;31037:58;31129:3;31124:2;31116:6;31112:15;31105:28;30920:220;:::o;31146:366::-;31288:3;31309:67;31373:2;31368:3;31309:67;:::i;:::-;31302:74;;31385:93;31474:3;31385:93;:::i;:::-;31503:2;31498:3;31494:12;31487:19;;31146:366;;;:::o;31518:419::-;31684:4;31722:2;31711:9;31707:18;31699:26;;31771:9;31765:4;31761:20;31757:1;31746:9;31742:17;31735:47;31799:131;31925:4;31799:131;:::i;:::-;31791:139;;31518:419;;;:::o;31943:177::-;32083:29;32079:1;32071:6;32067:14;32060:53;31943:177;:::o;32126:366::-;32268:3;32289:67;32353:2;32348:3;32289:67;:::i;:::-;32282:74;;32365:93;32454:3;32365:93;:::i;:::-;32483:2;32478:3;32474:12;32467:19;;32126:366;;;:::o;32498:419::-;32664:4;32702:2;32691:9;32687:18;32679:26;;32751:9;32745:4;32741:20;32737:1;32726:9;32722:17;32715:47;32779:131;32905:4;32779:131;:::i;:::-;32771:139;;32498:419;;;:::o
Swarm Source
ipfs://ee60778406272a5058faf7a4e3fe03ea6c69f1438c4486a3cac4be3c731d51ce
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.