Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000,000 SQP
Holders
99
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
22,022,264.974828686 SQPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SAITAMAPREDATOR
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-20 */ //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; 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; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract SAITAMAPREDATOR is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private bots; mapping(address => uint256) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _maxTxAmount = _tTotal; uint256 private openBlock; uint256 public _swapTokensAtAmount = 100000000000 * 10**9; //0.1% uint256 private _maxWalletAmount = _tTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; string private constant _name = "SAITAMA PREDATOR"; string private constant _symbol = "SQP"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _feeAddrWallet1 = payable(0xF6784F7114756D30a9a1DD221273dF2928980342); _feeAddrWallet2 = payable(0xF6784F7114756D30a9a1DD221273dF2928980342); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; _isExcludedFromFee[_feeAddrWallet2] = true; emit Transfer( address(0x3Ec4A14219499a9B64EfEc4d9A4B22cC58327821), _msgSender(), _tTotal ); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function setCooldownEnabled(bool onoff) external onlyOwner { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _feeAddr1 = 2; _feeAddr2 = 2; if (from != owner() && to != owner() && from != address(this)) { require(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { // Not over max tx amount require(amount <= _maxTxAmount, "Over max transaction amount."); // Cooldown require(cooldown[to] < block.timestamp, "Cooldown enforced."); // Max wallet require(balanceOf(to) + amount <= _maxWalletAmount, "Over max wallet amount."); cooldown[to] = block.timestamp + (30 seconds); } if ( to == uniswapV2Pair && from != address(uniswapV2Router) && !_isExcludedFromFee[from] ) { _feeAddr1 = 2; _feeAddr2 = 2; } if (openBlock + 3 >= block.number && from == uniswapV2Pair) { _feeAddr1 = 99; _feeAddr2 = 1; } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } else { // Only if it's not from or to owner or from contract address. _feeAddr1 = 0; _feeAddr2 = 0; } _tokenTransfer(from, to, amount); } function swapAndLiquifyEnabled(bool enabled) public onlyOwner { inSwap = enabled; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount.div(2)); _feeAddrWallet2.transfer(amount.div(2)); } function setMaxTxAmount(uint256 amount) public onlyOwner { _maxTxAmount = amount * 10**9; } function setMaxWalletAmount(uint256 amount) public onlyOwner { _maxWalletAmount = amount * 10**9; } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; _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 ); swapEnabled = true; cooldownEnabled = true; // .5% _maxTxAmount = 1000000000001 * 10**9; _maxWalletAmount = 2000000000001 * 10**9; tradingOpen = true; openBlock = block.number; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function addBot(address theBot) public onlyOwner { bots[theBot] = true; } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount ) private { _transferStandard(sender, recipient, amount); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualSwap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues( tAmount, _feeAddr1, _feeAddr2 ); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tTeam, currentRate ); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 TeamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theBot","type":"address"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndLiquifyEnabled","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":[{"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
608060405269152d02c7e14af68000006000196200001e91906200051e565b6000196200002d919062000585565b60085569152d02c7e14af6800000600a5568056bc75e2d63100000600c5569152d02c7e14af6800000600d556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff021916908315150217905550348015620000b757600080fd5b506000620000ca620004b460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073f6784f7114756d30a9a1dd221273df2928980342601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f6784f7114756d30a9a1dd221273df2928980342601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008546002600062000229620004b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200027d620004bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200042a620004b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16733ec4a14219499a9b64efec4d9a4b22cc5832782173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af6800000604051620004a69190620005d1565b60405180910390a3620005ee565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200052b82620004e5565b91506200053883620004e5565b9250826200054b576200054a620004ef565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200059282620004e5565b91506200059f83620004e5565b925082821015620005b557620005b462000556565b5b828203905092915050565b620005cb81620004e5565b82525050565b6000602082019050620005e86000830184620005c0565b92915050565b61379c80620005fe6000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063c9567bf91161006f578063c9567bf9146103d9578063dd62ed3e146103f0578063e98391ff1461042d578063ec28438a14610456578063f42938901461047f578063ffecf5161461049657610135565b806370a08231146102f2578063715018a61461032f5780638da5cb5b1461034657806395d89b4114610371578063a9059cbb1461039c57610135565b806327a14fc2116100f257806327a14fc2146102335780632fd689e31461025c578063313ce5671461028757806351bc3c85146102b25780635932ead1146102c957610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063273123b71461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104bf565b60405161015c91906128e9565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906129a4565b6104fc565b60405161019991906129ff565b60405180910390f35b3480156101ae57600080fd5b506101b761051a565b6040516101c49190612a29565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190612a44565b61052c565b60405161020191906129ff565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190612a97565b610605565b005b34801561023f57600080fd5b5061025a60048036038101906102559190612ac4565b6106f5565b005b34801561026857600080fd5b506102716107a3565b60405161027e9190612a29565b60405180910390f35b34801561029357600080fd5b5061029c6107a9565b6040516102a99190612b0d565b60405180910390f35b3480156102be57600080fd5b506102c76107b2565b005b3480156102d557600080fd5b506102f060048036038101906102eb9190612b54565b61082c565b005b3480156102fe57600080fd5b5061031960048036038101906103149190612a97565b6108de565b6040516103269190612a29565b60405180910390f35b34801561033b57600080fd5b5061034461092f565b005b34801561035257600080fd5b5061035b610a82565b6040516103689190612b90565b60405180910390f35b34801561037d57600080fd5b50610386610aab565b60405161039391906128e9565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be91906129a4565b610ae8565b6040516103d091906129ff565b60405180910390f35b3480156103e557600080fd5b506103ee610b06565b005b3480156103fc57600080fd5b5061041760048036038101906104129190612bab565b61107b565b6040516104249190612a29565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612b54565b611102565b005b34801561046257600080fd5b5061047d60048036038101906104789190612ac4565b6111b4565b005b34801561048b57600080fd5b50610494611262565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612a97565b6112d4565b005b60606040518060400160405280601081526020017f53414954414d41205052454441544f5200000000000000000000000000000000815250905090565b60006105106105096113c4565b84846113cc565b6001905092915050565b600069152d02c7e14af6800000905090565b6000610539848484611597565b6105fa846105456113c4565b6105f58560405180606001604052806028815260200161373f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ab6113c4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d429092919063ffffffff16565b6113cc565b600190509392505050565b61060d6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069190612c37565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6106fd6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190612c37565b60405180910390fd5b633b9aca008161079a9190612c86565b600d8190555050565b600c5481565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107f36113c4565b73ffffffffffffffffffffffffffffffffffffffff161461081357600080fd5b600061081e306108de565b905061082981611da6565b50565b6108346113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612c37565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b6000610928600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e565b9050919050565b6109376113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90612c37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5351500000000000000000000000000000000000000000000000000000000000815250905090565b6000610afc610af56113c4565b8484611597565b6001905092915050565b610b0e6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9290612c37565b60405180910390fd5b601360149054906101000a900460ff1615610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be290612d2c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006113cc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc257600080fd5b505afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa9190612d61565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190612d61565b6040518363ffffffff1660e01b8152600401610db1929190612d8e565b602060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e039190612d61565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e8c306108de565b600080610e97610a82565b426040518863ffffffff1660e01b8152600401610eb996959493929190612dfc565b6060604051808303818588803b158015610ed257600080fd5b505af1158015610ee6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0b9190612e72565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff021916908315150217905550683635c9adc61a3aca00600a81905550686c6b935b8bf8daca00600d819055506001601360146101000a81548160ff02191690831515021790555043600b81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611025929190612ec5565b602060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110779190612f03565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61110a6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e90612c37565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b6111bc6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124090612c37565b60405180910390fd5b633b9aca00816112599190612c86565b600a8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112a36113c4565b73ffffffffffffffffffffffffffffffffffffffff16146112c357600080fd5b60004790506112d18161209c565b50565b6112dc6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611369576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136090612c37565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561143c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143390612fa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390613034565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161158a9190612a29565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe906130c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90613158565b60405180910390fd5b600081116116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b1906131ea565b60405180910390fd5b6002600e819055506002600f819055506116d2610a82565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117405750611710610a82565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561177857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d2157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118215750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61182a57600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118d55750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561192b5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119435750601360179054906101000a900460ff165b15611ab757600a5481111561198d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198490613256565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a05906132c2565b60405180910390fd5b600d5481611a1b846108de565b611a2591906132e2565b1115611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d90613384565b60405180910390fd5b601e42611a7391906132e2565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611b625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bce576002600e819055506002600f819055505b436003600b54611bde91906132e2565b10158015611c395750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611c4f576063600e819055506001600f819055505b6000611c5a306108de565b90506000600c548210159050808015611c805750601360159054906101000a900460ff16155b8015611cda5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cf25750601360169054906101000a900460ff165b15611d1a57611d0082611da6565b60004790506000811115611d1857611d174761209c565b5b505b5050611d32565b6000600e819055506000600f819055505b611d3d838383612197565b505050565b6000838311158290611d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8191906128e9565b60405180910390fd5b5060008385611d9991906133a4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dde57611ddd6133d8565b5b604051908082528060200260200182016040528015611e0c5781602001602082028036833780820191505090505b5090503081600081518110611e2457611e23613407565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ec657600080fd5b505afa158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe9190612d61565b81600181518110611f1257611f11613407565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113cc565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fdd9594939291906134f4565b600060405180830381600087803b158015611ff757600080fd5b505af115801561200b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6000600854821115612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c906135c0565b60405180910390fd5b600061207f6121a7565b905061209481846121d290919063ffffffff16565b915050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120ec6002846121d290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612117573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121686002846121d290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612193573d6000803e3d6000fd5b5050565b6121a283838361221c565b505050565b60008060006121b46123e7565b915091506121cb81836121d290919063ffffffff16565b9250505090565b600061221483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061244c565b905092915050565b60008060008060008061222e876124af565b95509550955095509550955061228c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061236d816125bf565b612377848361267c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123d49190612a29565b60405180910390a3505050505050505050565b60008060006008549050600069152d02c7e14af6800000905061241f69152d02c7e14af68000006008546121d290919063ffffffff16565b82101561243f5760085469152d02c7e14af6800000935093505050612448565b81819350935050505b9091565b60008083118290612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a91906128e9565b60405180910390fd5b50600083856124a2919061360f565b9050809150509392505050565b60008060008060008060008060006124cc8a600e54600f546126b6565b92509250925060006124dc6121a7565b905060008060006124ef8e87878761274c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061255983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d42565b905092915050565b600080828461257091906132e2565b9050838110156125b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ac9061368c565b60405180910390fd5b8091505092915050565b60006125c96121a7565b905060006125e082846127d590919063ffffffff16565b905061263481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126918260085461251790919063ffffffff16565b6008819055506126ac8160095461256190919063ffffffff16565b6009819055505050565b6000806000806126e260646126d4888a6127d590919063ffffffff16565b6121d290919063ffffffff16565b9050600061270c60646126fe888b6127d590919063ffffffff16565b6121d290919063ffffffff16565b9050600061273582612727858c61251790919063ffffffff16565b61251790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061276585896127d590919063ffffffff16565b9050600061277c86896127d590919063ffffffff16565b9050600061279387896127d590919063ffffffff16565b905060006127bc826127ae858761251790919063ffffffff16565b61251790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156127e8576000905061284a565b600082846127f69190612c86565b9050828482612805919061360f565b14612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c9061371e565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288a57808201518184015260208101905061286f565b83811115612899576000848401525b50505050565b6000601f19601f8301169050919050565b60006128bb82612850565b6128c5818561285b565b93506128d581856020860161286c565b6128de8161289f565b840191505092915050565b6000602082019050818103600083015261290381846128b0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293b82612910565b9050919050565b61294b81612930565b811461295657600080fd5b50565b60008135905061296881612942565b92915050565b6000819050919050565b6129818161296e565b811461298c57600080fd5b50565b60008135905061299e81612978565b92915050565b600080604083850312156129bb576129ba61290b565b5b60006129c985828601612959565b92505060206129da8582860161298f565b9150509250929050565b60008115159050919050565b6129f9816129e4565b82525050565b6000602082019050612a1460008301846129f0565b92915050565b612a238161296e565b82525050565b6000602082019050612a3e6000830184612a1a565b92915050565b600080600060608486031215612a5d57612a5c61290b565b5b6000612a6b86828701612959565b9350506020612a7c86828701612959565b9250506040612a8d8682870161298f565b9150509250925092565b600060208284031215612aad57612aac61290b565b5b6000612abb84828501612959565b91505092915050565b600060208284031215612ada57612ad961290b565b5b6000612ae88482850161298f565b91505092915050565b600060ff82169050919050565b612b0781612af1565b82525050565b6000602082019050612b226000830184612afe565b92915050565b612b31816129e4565b8114612b3c57600080fd5b50565b600081359050612b4e81612b28565b92915050565b600060208284031215612b6a57612b6961290b565b5b6000612b7884828501612b3f565b91505092915050565b612b8a81612930565b82525050565b6000602082019050612ba56000830184612b81565b92915050565b60008060408385031215612bc257612bc161290b565b5b6000612bd085828601612959565b9250506020612be185828601612959565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c2160208361285b565b9150612c2c82612beb565b602082019050919050565b60006020820190508181036000830152612c5081612c14565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c918261296e565b9150612c9c8361296e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cd557612cd4612c57565b5b828202905092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612d1660178361285b565b9150612d2182612ce0565b602082019050919050565b60006020820190508181036000830152612d4581612d09565b9050919050565b600081519050612d5b81612942565b92915050565b600060208284031215612d7757612d7661290b565b5b6000612d8584828501612d4c565b91505092915050565b6000604082019050612da36000830185612b81565b612db06020830184612b81565b9392505050565b6000819050919050565b6000819050919050565b6000612de6612de1612ddc84612db7565b612dc1565b61296e565b9050919050565b612df681612dcb565b82525050565b600060c082019050612e116000830189612b81565b612e1e6020830188612a1a565b612e2b6040830187612ded565b612e386060830186612ded565b612e456080830185612b81565b612e5260a0830184612a1a565b979650505050505050565b600081519050612e6c81612978565b92915050565b600080600060608486031215612e8b57612e8a61290b565b5b6000612e9986828701612e5d565b9350506020612eaa86828701612e5d565b9250506040612ebb86828701612e5d565b9150509250925092565b6000604082019050612eda6000830185612b81565b612ee76020830184612a1a565b9392505050565b600081519050612efd81612b28565b92915050565b600060208284031215612f1957612f1861290b565b5b6000612f2784828501612eee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f8c60248361285b565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061301e60228361285b565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130b060258361285b565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061314260238361285b565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006131d460298361285b565b91506131df82613178565b604082019050919050565b60006020820190508181036000830152613203816131c7565b9050919050565b7f4f766572206d6178207472616e73616374696f6e20616d6f756e742e00000000600082015250565b6000613240601c8361285b565b915061324b8261320a565b602082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f436f6f6c646f776e20656e666f726365642e0000000000000000000000000000600082015250565b60006132ac60128361285b565b91506132b782613276565b602082019050919050565b600060208201905081810360008301526132db8161329f565b9050919050565b60006132ed8261296e565b91506132f88361296e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561332d5761332c612c57565b5b828201905092915050565b7f4f766572206d61782077616c6c657420616d6f756e742e000000000000000000600082015250565b600061336e60178361285b565b915061337982613338565b602082019050919050565b6000602082019050818103600083015261339d81613361565b9050919050565b60006133af8261296e565b91506133ba8361296e565b9250828210156133cd576133cc612c57565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61346b81612930565b82525050565b600061347d8383613462565b60208301905092915050565b6000602082019050919050565b60006134a182613436565b6134ab8185613441565b93506134b683613452565b8060005b838110156134e75781516134ce8882613471565b97506134d983613489565b9250506001810190506134ba565b5085935050505092915050565b600060a0820190506135096000830188612a1a565b6135166020830187612ded565b81810360408301526135288186613496565b90506135376060830185612b81565b6135446080830184612a1a565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135aa602a8361285b565b91506135b58261354e565b604082019050919050565b600060208201905081810360008301526135d98161359d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061361a8261296e565b91506136258361296e565b925082613635576136346135e0565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613676601b8361285b565b915061368182613640565b602082019050919050565b600060208201905081810360008301526136a581613669565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061370860218361285b565b9150613713826136ac565b604082019050919050565b60006020820190508181036000830152613737816136fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220171e981c17d1fdb493501d9fff577edf8acdf7020f003fe7de6d92ad201e5e7c64736f6c63430008090033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c806370a08231116100ab578063c9567bf91161006f578063c9567bf9146103d9578063dd62ed3e146103f0578063e98391ff1461042d578063ec28438a14610456578063f42938901461047f578063ffecf5161461049657610135565b806370a08231146102f2578063715018a61461032f5780638da5cb5b1461034657806395d89b4114610371578063a9059cbb1461039c57610135565b806327a14fc2116100f257806327a14fc2146102335780632fd689e31461025c578063313ce5671461028757806351bc3c85146102b25780635932ead1146102c957610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063273123b71461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104bf565b60405161015c91906128e9565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906129a4565b6104fc565b60405161019991906129ff565b60405180910390f35b3480156101ae57600080fd5b506101b761051a565b6040516101c49190612a29565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190612a44565b61052c565b60405161020191906129ff565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190612a97565b610605565b005b34801561023f57600080fd5b5061025a60048036038101906102559190612ac4565b6106f5565b005b34801561026857600080fd5b506102716107a3565b60405161027e9190612a29565b60405180910390f35b34801561029357600080fd5b5061029c6107a9565b6040516102a99190612b0d565b60405180910390f35b3480156102be57600080fd5b506102c76107b2565b005b3480156102d557600080fd5b506102f060048036038101906102eb9190612b54565b61082c565b005b3480156102fe57600080fd5b5061031960048036038101906103149190612a97565b6108de565b6040516103269190612a29565b60405180910390f35b34801561033b57600080fd5b5061034461092f565b005b34801561035257600080fd5b5061035b610a82565b6040516103689190612b90565b60405180910390f35b34801561037d57600080fd5b50610386610aab565b60405161039391906128e9565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be91906129a4565b610ae8565b6040516103d091906129ff565b60405180910390f35b3480156103e557600080fd5b506103ee610b06565b005b3480156103fc57600080fd5b5061041760048036038101906104129190612bab565b61107b565b6040516104249190612a29565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612b54565b611102565b005b34801561046257600080fd5b5061047d60048036038101906104789190612ac4565b6111b4565b005b34801561048b57600080fd5b50610494611262565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612a97565b6112d4565b005b60606040518060400160405280601081526020017f53414954414d41205052454441544f5200000000000000000000000000000000815250905090565b60006105106105096113c4565b84846113cc565b6001905092915050565b600069152d02c7e14af6800000905090565b6000610539848484611597565b6105fa846105456113c4565b6105f58560405180606001604052806028815260200161373f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ab6113c4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d429092919063ffffffff16565b6113cc565b600190509392505050565b61060d6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069190612c37565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6106fd6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190612c37565b60405180910390fd5b633b9aca008161079a9190612c86565b600d8190555050565b600c5481565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107f36113c4565b73ffffffffffffffffffffffffffffffffffffffff161461081357600080fd5b600061081e306108de565b905061082981611da6565b50565b6108346113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612c37565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b6000610928600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e565b9050919050565b6109376113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90612c37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5351500000000000000000000000000000000000000000000000000000000000815250905090565b6000610afc610af56113c4565b8484611597565b6001905092915050565b610b0e6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9290612c37565b60405180910390fd5b601360149054906101000a900460ff1615610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be290612d2c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006113cc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc257600080fd5b505afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa9190612d61565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190612d61565b6040518363ffffffff1660e01b8152600401610db1929190612d8e565b602060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e039190612d61565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e8c306108de565b600080610e97610a82565b426040518863ffffffff1660e01b8152600401610eb996959493929190612dfc565b6060604051808303818588803b158015610ed257600080fd5b505af1158015610ee6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0b9190612e72565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff021916908315150217905550683635c9adc61a3aca00600a81905550686c6b935b8bf8daca00600d819055506001601360146101000a81548160ff02191690831515021790555043600b81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611025929190612ec5565b602060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110779190612f03565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61110a6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e90612c37565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b6111bc6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124090612c37565b60405180910390fd5b633b9aca00816112599190612c86565b600a8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112a36113c4565b73ffffffffffffffffffffffffffffffffffffffff16146112c357600080fd5b60004790506112d18161209c565b50565b6112dc6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611369576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136090612c37565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561143c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143390612fa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390613034565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161158a9190612a29565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe906130c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90613158565b60405180910390fd5b600081116116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b1906131ea565b60405180910390fd5b6002600e819055506002600f819055506116d2610a82565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117405750611710610a82565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561177857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d2157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118215750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61182a57600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118d55750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561192b5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119435750601360179054906101000a900460ff165b15611ab757600a5481111561198d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198490613256565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a05906132c2565b60405180910390fd5b600d5481611a1b846108de565b611a2591906132e2565b1115611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d90613384565b60405180910390fd5b601e42611a7391906132e2565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611b625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bce576002600e819055506002600f819055505b436003600b54611bde91906132e2565b10158015611c395750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611c4f576063600e819055506001600f819055505b6000611c5a306108de565b90506000600c548210159050808015611c805750601360159054906101000a900460ff16155b8015611cda5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cf25750601360169054906101000a900460ff165b15611d1a57611d0082611da6565b60004790506000811115611d1857611d174761209c565b5b505b5050611d32565b6000600e819055506000600f819055505b611d3d838383612197565b505050565b6000838311158290611d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8191906128e9565b60405180910390fd5b5060008385611d9991906133a4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dde57611ddd6133d8565b5b604051908082528060200260200182016040528015611e0c5781602001602082028036833780820191505090505b5090503081600081518110611e2457611e23613407565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ec657600080fd5b505afa158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe9190612d61565b81600181518110611f1257611f11613407565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113cc565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fdd9594939291906134f4565b600060405180830381600087803b158015611ff757600080fd5b505af115801561200b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6000600854821115612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c906135c0565b60405180910390fd5b600061207f6121a7565b905061209481846121d290919063ffffffff16565b915050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120ec6002846121d290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612117573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121686002846121d290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612193573d6000803e3d6000fd5b5050565b6121a283838361221c565b505050565b60008060006121b46123e7565b915091506121cb81836121d290919063ffffffff16565b9250505090565b600061221483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061244c565b905092915050565b60008060008060008061222e876124af565b95509550955095509550955061228c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061236d816125bf565b612377848361267c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123d49190612a29565b60405180910390a3505050505050505050565b60008060006008549050600069152d02c7e14af6800000905061241f69152d02c7e14af68000006008546121d290919063ffffffff16565b82101561243f5760085469152d02c7e14af6800000935093505050612448565b81819350935050505b9091565b60008083118290612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a91906128e9565b60405180910390fd5b50600083856124a2919061360f565b9050809150509392505050565b60008060008060008060008060006124cc8a600e54600f546126b6565b92509250925060006124dc6121a7565b905060008060006124ef8e87878761274c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061255983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d42565b905092915050565b600080828461257091906132e2565b9050838110156125b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ac9061368c565b60405180910390fd5b8091505092915050565b60006125c96121a7565b905060006125e082846127d590919063ffffffff16565b905061263481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126918260085461251790919063ffffffff16565b6008819055506126ac8160095461256190919063ffffffff16565b6009819055505050565b6000806000806126e260646126d4888a6127d590919063ffffffff16565b6121d290919063ffffffff16565b9050600061270c60646126fe888b6127d590919063ffffffff16565b6121d290919063ffffffff16565b9050600061273582612727858c61251790919063ffffffff16565b61251790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061276585896127d590919063ffffffff16565b9050600061277c86896127d590919063ffffffff16565b9050600061279387896127d590919063ffffffff16565b905060006127bc826127ae858761251790919063ffffffff16565b61251790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156127e8576000905061284a565b600082846127f69190612c86565b9050828482612805919061360f565b14612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c9061371e565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288a57808201518184015260208101905061286f565b83811115612899576000848401525b50505050565b6000601f19601f8301169050919050565b60006128bb82612850565b6128c5818561285b565b93506128d581856020860161286c565b6128de8161289f565b840191505092915050565b6000602082019050818103600083015261290381846128b0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293b82612910565b9050919050565b61294b81612930565b811461295657600080fd5b50565b60008135905061296881612942565b92915050565b6000819050919050565b6129818161296e565b811461298c57600080fd5b50565b60008135905061299e81612978565b92915050565b600080604083850312156129bb576129ba61290b565b5b60006129c985828601612959565b92505060206129da8582860161298f565b9150509250929050565b60008115159050919050565b6129f9816129e4565b82525050565b6000602082019050612a1460008301846129f0565b92915050565b612a238161296e565b82525050565b6000602082019050612a3e6000830184612a1a565b92915050565b600080600060608486031215612a5d57612a5c61290b565b5b6000612a6b86828701612959565b9350506020612a7c86828701612959565b9250506040612a8d8682870161298f565b9150509250925092565b600060208284031215612aad57612aac61290b565b5b6000612abb84828501612959565b91505092915050565b600060208284031215612ada57612ad961290b565b5b6000612ae88482850161298f565b91505092915050565b600060ff82169050919050565b612b0781612af1565b82525050565b6000602082019050612b226000830184612afe565b92915050565b612b31816129e4565b8114612b3c57600080fd5b50565b600081359050612b4e81612b28565b92915050565b600060208284031215612b6a57612b6961290b565b5b6000612b7884828501612b3f565b91505092915050565b612b8a81612930565b82525050565b6000602082019050612ba56000830184612b81565b92915050565b60008060408385031215612bc257612bc161290b565b5b6000612bd085828601612959565b9250506020612be185828601612959565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c2160208361285b565b9150612c2c82612beb565b602082019050919050565b60006020820190508181036000830152612c5081612c14565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c918261296e565b9150612c9c8361296e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cd557612cd4612c57565b5b828202905092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612d1660178361285b565b9150612d2182612ce0565b602082019050919050565b60006020820190508181036000830152612d4581612d09565b9050919050565b600081519050612d5b81612942565b92915050565b600060208284031215612d7757612d7661290b565b5b6000612d8584828501612d4c565b91505092915050565b6000604082019050612da36000830185612b81565b612db06020830184612b81565b9392505050565b6000819050919050565b6000819050919050565b6000612de6612de1612ddc84612db7565b612dc1565b61296e565b9050919050565b612df681612dcb565b82525050565b600060c082019050612e116000830189612b81565b612e1e6020830188612a1a565b612e2b6040830187612ded565b612e386060830186612ded565b612e456080830185612b81565b612e5260a0830184612a1a565b979650505050505050565b600081519050612e6c81612978565b92915050565b600080600060608486031215612e8b57612e8a61290b565b5b6000612e9986828701612e5d565b9350506020612eaa86828701612e5d565b9250506040612ebb86828701612e5d565b9150509250925092565b6000604082019050612eda6000830185612b81565b612ee76020830184612a1a565b9392505050565b600081519050612efd81612b28565b92915050565b600060208284031215612f1957612f1861290b565b5b6000612f2784828501612eee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f8c60248361285b565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061301e60228361285b565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130b060258361285b565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061314260238361285b565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006131d460298361285b565b91506131df82613178565b604082019050919050565b60006020820190508181036000830152613203816131c7565b9050919050565b7f4f766572206d6178207472616e73616374696f6e20616d6f756e742e00000000600082015250565b6000613240601c8361285b565b915061324b8261320a565b602082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f436f6f6c646f776e20656e666f726365642e0000000000000000000000000000600082015250565b60006132ac60128361285b565b91506132b782613276565b602082019050919050565b600060208201905081810360008301526132db8161329f565b9050919050565b60006132ed8261296e565b91506132f88361296e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561332d5761332c612c57565b5b828201905092915050565b7f4f766572206d61782077616c6c657420616d6f756e742e000000000000000000600082015250565b600061336e60178361285b565b915061337982613338565b602082019050919050565b6000602082019050818103600083015261339d81613361565b9050919050565b60006133af8261296e565b91506133ba8361296e565b9250828210156133cd576133cc612c57565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61346b81612930565b82525050565b600061347d8383613462565b60208301905092915050565b6000602082019050919050565b60006134a182613436565b6134ab8185613441565b93506134b683613452565b8060005b838110156134e75781516134ce8882613471565b97506134d983613489565b9250506001810190506134ba565b5085935050505092915050565b600060a0820190506135096000830188612a1a565b6135166020830187612ded565b81810360408301526135288186613496565b90506135376060830185612b81565b6135446080830184612a1a565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135aa602a8361285b565b91506135b58261354e565b604082019050919050565b600060208201905081810360008301526135d98161359d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061361a8261296e565b91506136258361296e565b925082613635576136346135e0565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613676601b8361285b565b915061368182613640565b602082019050919050565b600060208201905081810360008301526136a581613669565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061370860218361285b565b9150613713826136ac565b604082019050919050565b60006020820190508181036000830152613737816136fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220171e981c17d1fdb493501d9fff577edf8acdf7020f003fe7de6d92ad201e5e7c64736f6c63430008090033
Deployed Bytecode Sourcemap
3860:12927:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5961:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6886:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6238:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7087:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12898:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11580:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4560:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6147:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14213:195;;;;;;;;;;;;;:::i;:::-;;7541:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6341:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2812:148;;;;;;;;;;;;;:::i;:::-;;2598:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6052:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6487:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11703:1092;;;;;;;;;;;;;:::i;:::-;;6694:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10711:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11469:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14416:194;;;;;;;;;;;;;:::i;:::-;;12803:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5961:83;5998:13;6031:5;;;;;;;;;;;;;;;;;6024:12;;5961:83;:::o;6886:193::-;6988:4;7010:39;7019:12;:10;:12::i;:::-;7033:7;7042:6;7010:8;:39::i;:::-;7067:4;7060:11;;6886:193;;;;:::o;6238:95::-;6291:7;4364:23;6311:14;;6238:95;:::o;7087:446::-;7219:4;7236:36;7246:6;7254:9;7265:6;7236:9;:36::i;:::-;7283:220;7306:6;7327:12;:10;:12::i;:::-;7354:138;7410:6;7354:138;;;;;;;;;;;;;;;;;:11;:19;7366:6;7354:19;;;;;;;;;;;;;;;:33;7374:12;:10;:12::i;:::-;7354:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7283:8;:220::i;:::-;7521:4;7514:11;;7087:446;;;;;:::o;12898:88::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12973:5:::1;12958:4;:12;12963:6;12958:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12898:88:::0;:::o;11580:113::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11680:5:::1;11671:6;:14;;;;:::i;:::-;11652:16;:33;;;;11580:113:::0;:::o;4560:57::-;;;;:::o;6147:83::-;6188:5;4976:1;6206:16;;6147:83;:::o;14213:195::-;14279:15;;;;;;;;;;;14263:31;;:12;:10;:12::i;:::-;:31;;;14255:40;;;;;;14306:23;14332:24;14350:4;14332:9;:24::i;:::-;14306:50;;14367:33;14384:15;14367:16;:33::i;:::-;14244:164;14213:195::o;7541:101::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7629:5:::1;7611:15;;:23;;;;;;;;;;;;;;;;;;7541:101:::0;:::o;6341:138::-;6407:7;6434:37;6454:7;:16;6462:7;6454:16;;;;;;;;;;;;;;;;6434:19;:37::i;:::-;6427:44;;6341:138;;;:::o;2812:148::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2919:1:::1;2882:40;;2903:6;::::0;::::1;;;;;;;;2882:40;;;;;;;;;;;;2950:1;2933:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2812:148::o:0;2598:79::-;2636:7;2663:6;;;;;;;;;;;2656:13;;2598:79;:::o;6052:87::-;6091:13;6124:7;;;;;;;;;;;;;;;;;6117:14;;6052:87;:::o;6487:199::-;6592:4;6614:42;6624:12;:10;:12::i;:::-;6638:9;6649:6;6614:9;:42::i;:::-;6674:4;6667:11;;6487:199;;;;:::o;11703:1092::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11765:11:::1;;;;;;;;;;;11764:12;11756:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11815:35;11886:42;11815:124;;11968:16;11950:15;;:34;;;;;;;;;;;;;;;;;;11995:58;12012:4;12027:15;;;;;;;;;;;4364:23;11995:8;:58::i;:::-;12098:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12080:70;;;12159:4;12166:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12080:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12064:13;;:126;;;;;;;;;;;;;;;;;;12201:15;;;;;;;;;;;:31;;;12240:21;12285:4;12305:24;12323:4;12305:9;:24::i;:::-;12344:1;12360::::0;12376:7:::1;:5;:7::i;:::-;12398:15;12201:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12449:4;12435:11;;:18;;;;;;;;;;;;;;;;;;12482:4;12464:15;;:22;;;;;;;;;;;;;;;;;;12529:21;12514:12;:36;;;;12580:21;12561:16;:40;;;;12626:4;12612:11;;:18;;;;;;;;;;;;;;;;;;12653:12;12641:9;:24;;;;12683:13;;;;;;;;;;;12676:29;;;12728:15;;;;;;;;;;;12759:17;12676:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11745:1050;11703:1092::o:0;6694:184::-;6811:7;6843:11;:18;6855:5;6843:18;;;;;;;;;;;;;;;:27;6862:7;6843:27;;;;;;;;;;;;;;;;6836:34;;6694:184;;;;:::o;10711:97::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10793:7:::1;10784:6;;:16;;;;;;;;;;;;;;;;;;10711:97:::0;:::o;11469:105::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11561:5:::1;11552:6;:14;;;;:::i;:::-;11537:12;:29;;;;11469:105:::0;:::o;14416:194::-;14482:15;;;;;;;;;;;14466:31;;:12;:10;:12::i;:::-;:31;;;14458:40;;;;;;14509:26;14538:21;14509:50;;14570:32;14583:18;14570:12;:32::i;:::-;14447:163;14416:194::o;12803:87::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12878:4:::1;12863;:12;12868:6;12863:12;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;12803:87:::0;:::o;101:98::-;154:7;181:10;174:17;;101:98;:::o;7981:369::-;8125:1;8108:19;;:5;:19;;;;8100:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8206:1;8187:21;;:7;:21;;;;8179:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8288:6;8258:11;:18;8270:5;8258:18;;;;;;;;;;;;;;;:27;8277:7;8258:27;;;;;;;;;;;;;;;:36;;;;8326:7;8310:32;;8319:5;8310:32;;;8335:6;8310:32;;;;;;:::i;:::-;;;;;;;;7981:369;;;:::o;8358:2345::-;8498:1;8482:18;;:4;:18;;;;8474:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8575:1;8561:16;;:2;:16;;;;8553:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8645:1;8636:6;:10;8628:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8734:1;8722:9;:13;;;;8758:1;8746:9;:13;;;;8782:7;:5;:7::i;:::-;8774:15;;:4;:15;;;;:32;;;;;8799:7;:5;:7::i;:::-;8793:13;;:2;:13;;;;8774:32;:57;;;;;8826:4;8810:21;;:4;:21;;;;8774:57;8770:1881;;;8885:4;:10;8890:4;8885:10;;;;;;;;;;;;;;;;;;;;;;;;;8884:11;:24;;;;;8900:4;:8;8905:2;8900:8;;;;;;;;;;;;;;;;;;;;;;;;;8899:9;8884:24;8876:33;;;;;;8954:13;;;;;;;;;;;8946:21;;:4;:21;;;:72;;;;;9002:15;;;;;;;;;;;8988:30;;:2;:30;;;;8946:72;:116;;;;;9040:18;:22;9059:2;9040:22;;;;;;;;;;;;;;;;;;;;;;;;;9039:23;8946:116;:152;;;;;9083:15;;;;;;;;;;;8946:152;8924:650;;;9212:12;;9202:6;:22;;9194:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9328:15;9313:8;:12;9322:2;9313:12;;;;;;;;;;;;;;;;:30;9305:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9450:16;;9440:6;9424:13;9434:2;9424:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;9416:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;9547:10;9528:15;:30;;;;:::i;:::-;9513:8;:12;9522:2;9513:12;;;;;;;;;;;;;;;:45;;;;8924:650;9618:13;;;;;;;;;;;9612:19;;:2;:19;;;:72;;;;;9668:15;;;;;;;;;;;9652:32;;:4;:32;;;;9612:72;:118;;;;;9706:18;:24;9725:4;9706:24;;;;;;;;;;;;;;;;;;;;;;;;;9705:25;9612:118;9590:236;;;9777:1;9765:9;:13;;;;9809:1;9797:9;:13;;;;9590:236;9863:12;9858:1;9846:9;;:13;;;;:::i;:::-;:29;;:54;;;;;9887:13;;;;;;;;;;;9879:21;;:4;:21;;;9846:54;9842:141;;;9933:2;9921:9;:14;;;;9966:1;9954:9;:13;;;;9842:141;9999:28;10030:24;10048:4;10030:9;:24::i;:::-;9999:55;;10069:12;10108:19;;10084:20;:43;;10069:58;;10146:7;:18;;;;;10158:6;;;;;;;;;;;10157:7;10146:18;:43;;;;;10176:13;;;;;;;;;;;10168:21;;:4;:21;;;;10146:43;:58;;;;;10193:11;;;;;;;;;;;10146:58;10142:348;;;10243:38;10260:20;10243:16;:38::i;:::-;10300:26;10329:21;10300:50;;10394:1;10373:18;:22;10369:106;;;10420:35;10433:21;10420:12;:35::i;:::-;10369:106;10206:284;10142:348;8833:1668;;8770:1881;;;10610:1;10598:9;:13;;;;10638:1;10626:9;:13;;;;8770:1881;10663:32;10678:4;10684:2;10688:6;10663:14;:32::i;:::-;8358:2345;;;:::o;1363:224::-;1483:7;1516:1;1511;:6;;1519:12;1503:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1543:9;1559:1;1555;:5;;;;:::i;:::-;1543:17;;1578:1;1571:8;;;1363:224;;;;;:::o;10816:483::-;5320:4;5311:6;;:13;;;;;;;;;;;;;;;;;;10894:21:::1;10932:1;10918:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10894:40;;10963:4;10945;10950:1;10945:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10989:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10979:4;10984:1;10979:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11022:62;11039:4;11054:15;;;;;;;;;;;11072:11;11022:8;:62::i;:::-;11095:15;;;;;;;;;;;:66;;;11176:11;11202:1;11218:4;11245;11265:15;11095:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10883:416;5356:5:::0;5347:6;;:14;;;;;;;;;;;;;;;;;;10816:483;:::o;7650:323::-;7745:7;7803;;7792;:18;;7770:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7891:19;7913:10;:8;:10::i;:::-;7891:32;;7941:24;7953:11;7941:7;:11;;:24;;;;:::i;:::-;7934:31;;;7650:323;;;:::o;11307:154::-;11364:15;;;;;;;;;;;:24;;:39;11389:13;11400:1;11389:6;:10;;:13;;;;:::i;:::-;11364:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11414:15;;;;;;;;;;;:24;;:39;11439:13;11450:1;11439:6;:10;;:13;;;;:::i;:::-;11414:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11307:154;:::o;12996:180::-;13124:44;13142:6;13150:9;13161:6;13124:17;:44::i;:::-;12996:180;;;:::o;16355:164::-;16397:7;16418:15;16435;16454:19;:17;:19::i;:::-;16417:56;;;;16491:20;16503:7;16491;:11;;:20;;;;:::i;:::-;16484:27;;;;16355:164;:::o;1849:132::-;1907:7;1934:39;1938:1;1941;1934:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1927:46;;1849:132;;;;:::o;13184:610::-;13331:15;13361:23;13399:12;13426:23;13464:12;13491:13;13518:19;13529:7;13518:10;:19::i;:::-;13316:221;;;;;;;;;;;;13566:28;13586:7;13566;:15;13574:6;13566:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13548:7;:15;13556:6;13548:15;;;;;;;;;;;;;;;:46;;;;13626:39;13649:15;13626:7;:18;13634:9;13626:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13605:7;:18;13613:9;13605:18;;;;;;;;;;;;;;;:60;;;;13676:16;13686:5;13676:9;:16::i;:::-;13703:23;13715:4;13721;13703:11;:23::i;:::-;13759:9;13742:44;;13751:6;13742:44;;;13770:15;13742:44;;;;;;:::i;:::-;;;;;;;;13305:489;;;;;;13184:610;;;:::o;16527:257::-;16578:7;16587;16607:15;16625:7;;16607:25;;16643:15;4364:23;16643:25;;16693:20;4364:23;16693:7;;:11;;:20;;;;:::i;:::-;16683:7;:30;16679:61;;;16723:7;;4364:23;16715:25;;;;;;;;16679:61;16759:7;16768;16751:25;;;;;;16527:257;;;:::o;1989:223::-;2109:7;2141:1;2137;:5;2144:12;2129:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2168:9;2184:1;2180;:5;;;;:::i;:::-;2168:17;;2203:1;2196:8;;;1989:223;;;;;:::o;14618:704::-;14718:7;14740;14762;14784;14806;14828;14864:23;14889:12;14903:13;14920:92;14946:7;14968:9;;14992;;14920:11;:92::i;:::-;14863:149;;;;;;15023:19;15045:10;:8;:10::i;:::-;15023:32;;15067:15;15084:23;15109:12;15125:109;15151:7;15173:4;15192:5;15212:11;15125;:109::i;:::-;15066:168;;;;;;15253:7;15262:15;15279:4;15285:15;15302:4;15308:5;15245:69;;;;;;;;;;;;;;;;;;;14618:704;;;;;;;:::o;1219:136::-;1277:7;1304:43;1308:1;1311;1304:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1297:50;;1219:136;;;;:::o;1032:179::-;1090:7;1110:9;1126:1;1122;:5;;;;:::i;:::-;1110:17;;1151:1;1146;:6;;1138:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1202:1;1195:8;;;1032:179;;;;:::o;13802:211::-;13855:19;13877:10;:8;:10::i;:::-;13855:32;;13898:13;13914:22;13924:11;13914:5;:9;;:22;;;;:::i;:::-;13898:38;;13972:33;13999:5;13972:7;:22;13988:4;13972:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13947:7;:22;13963:4;13947:22;;;;;;;;;;;;;;;:58;;;;13844:169;;13802:211;:::o;14021:147::-;14099:17;14111:4;14099:7;;:11;;:17;;;;:::i;:::-;14089:7;:27;;;;14140:20;14155:4;14140:10;;:14;;:20;;;;:::i;:::-;14127:10;:33;;;;14021:147;;:::o;15330:467::-;15498:7;15520;15542;15577:12;15592:28;15616:3;15592:19;15604:6;15592:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15577:43;;15631:13;15647:29;15672:3;15647:20;15659:7;15647;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15631:45;;15687:23;15713:28;15735:5;15713:17;15725:4;15713:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15687:54;;15760:15;15777:4;15783:5;15752:37;;;;;;;;;15330:467;;;;;;;:::o;15805:534::-;15999:7;16021;16043;16078:15;16096:24;16108:11;16096:7;:11;;:24;;;;:::i;:::-;16078:42;;16131:12;16146:21;16155:11;16146:4;:8;;:21;;;;:::i;:::-;16131:36;;16178:13;16194:22;16204:11;16194:5;:9;;:22;;;;:::i;:::-;16178:38;;16227:23;16253:28;16275:5;16253:17;16265:4;16253:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16227:54;;16300:7;16309:15;16326:4;16292:39;;;;;;;;;;15805:534;;;;;;;;:::o;1595:246::-;1653:7;1682:1;1677;:6;1673:47;;;1707:1;1700:8;;;;1673:47;1730:9;1746:1;1742;:5;;;;:::i;:::-;1730:17;;1775:1;1770;1766;:5;;;;:::i;:::-;:10;1758:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1832:1;1825:8;;;1595:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577: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:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:::-;4865:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:119;;;4920:79;;:::i;:::-;4882:119;5040:1;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5011:117;4806:329;;;;:::o;5141:86::-;5176:7;5216:4;5209:5;5205:16;5194:27;;5141:86;;;:::o;5233:112::-;5316:22;5332:5;5316:22;:::i;:::-;5311:3;5304:35;5233:112;;:::o;5351:214::-;5440:4;5478:2;5467:9;5463:18;5455:26;;5491:67;5555:1;5544:9;5540:17;5531:6;5491:67;:::i;:::-;5351:214;;;;:::o;5571:116::-;5641:21;5656:5;5641:21;:::i;:::-;5634:5;5631:32;5621:60;;5677:1;5674;5667:12;5621:60;5571:116;:::o;5693:133::-;5736:5;5774:6;5761:20;5752:29;;5790:30;5814:5;5790:30;:::i;:::-;5693:133;;;;:::o;5832:323::-;5888:6;5937:2;5925:9;5916:7;5912:23;5908:32;5905:119;;;5943:79;;:::i;:::-;5905:119;6063:1;6088:50;6130:7;6121:6;6110:9;6106:22;6088:50;:::i;:::-;6078:60;;6034:114;5832:323;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:474::-;6581:6;6589;6638:2;6626:9;6617:7;6613:23;6609:32;6606:119;;;6644:79;;:::i;:::-;6606:119;6764:1;6789:53;6834:7;6825:6;6814:9;6810:22;6789:53;:::i;:::-;6779:63;;6735:117;6891:2;6917:53;6962:7;6953:6;6942:9;6938:22;6917:53;:::i;:::-;6907:63;;6862:118;6513:474;;;;;:::o;6993:182::-;7133:34;7129:1;7121:6;7117:14;7110:58;6993:182;:::o;7181:366::-;7323:3;7344:67;7408:2;7403:3;7344:67;:::i;:::-;7337:74;;7420:93;7509:3;7420:93;:::i;:::-;7538:2;7533:3;7529:12;7522:19;;7181:366;;;:::o;7553:419::-;7719:4;7757:2;7746:9;7742:18;7734:26;;7806:9;7800:4;7796:20;7792:1;7781:9;7777:17;7770:47;7834:131;7960:4;7834:131;:::i;:::-;7826:139;;7553:419;;;:::o;7978:180::-;8026:77;8023:1;8016:88;8123:4;8120:1;8113:15;8147:4;8144:1;8137:15;8164:348;8204:7;8227:20;8245:1;8227:20;:::i;:::-;8222:25;;8261:20;8279:1;8261:20;:::i;:::-;8256:25;;8449:1;8381:66;8377:74;8374:1;8371:81;8366:1;8359:9;8352:17;8348:105;8345:131;;;8456:18;;:::i;:::-;8345:131;8504:1;8501;8497:9;8486:20;;8164:348;;;;:::o;8518:173::-;8658:25;8654:1;8646:6;8642:14;8635:49;8518:173;:::o;8697:366::-;8839:3;8860:67;8924:2;8919:3;8860:67;:::i;:::-;8853:74;;8936:93;9025:3;8936:93;:::i;:::-;9054:2;9049:3;9045:12;9038:19;;8697:366;;;:::o;9069:419::-;9235:4;9273:2;9262:9;9258:18;9250:26;;9322:9;9316:4;9312:20;9308:1;9297:9;9293:17;9286:47;9350:131;9476:4;9350:131;:::i;:::-;9342:139;;9069:419;;;:::o;9494:143::-;9551:5;9582:6;9576:13;9567:22;;9598:33;9625:5;9598:33;:::i;:::-;9494:143;;;;:::o;9643:351::-;9713:6;9762:2;9750:9;9741:7;9737:23;9733:32;9730:119;;;9768:79;;:::i;:::-;9730:119;9888:1;9913:64;9969:7;9960:6;9949:9;9945:22;9913:64;:::i;:::-;9903:74;;9859:128;9643:351;;;;:::o;10000:332::-;10121:4;10159:2;10148:9;10144:18;10136:26;;10172:71;10240:1;10229:9;10225:17;10216:6;10172:71;:::i;:::-;10253:72;10321:2;10310:9;10306:18;10297:6;10253:72;:::i;:::-;10000:332;;;;;:::o;10338:85::-;10383:7;10412:5;10401:16;;10338:85;;;:::o;10429:60::-;10457:3;10478:5;10471:12;;10429:60;;;:::o;10495:158::-;10553:9;10586:61;10604:42;10613:32;10639:5;10613:32;:::i;:::-;10604:42;:::i;:::-;10586:61;:::i;:::-;10573:74;;10495:158;;;:::o;10659:147::-;10754:45;10793:5;10754:45;:::i;:::-;10749:3;10742:58;10659:147;;:::o;10812:807::-;11061:4;11099:3;11088:9;11084:19;11076:27;;11113:71;11181:1;11170:9;11166:17;11157:6;11113:71;:::i;:::-;11194:72;11262:2;11251:9;11247:18;11238:6;11194:72;:::i;:::-;11276:80;11352:2;11341:9;11337:18;11328:6;11276:80;:::i;:::-;11366;11442:2;11431:9;11427:18;11418:6;11366:80;:::i;:::-;11456:73;11524:3;11513:9;11509:19;11500:6;11456:73;:::i;:::-;11539;11607:3;11596:9;11592:19;11583:6;11539:73;:::i;:::-;10812:807;;;;;;;;;:::o;11625:143::-;11682:5;11713:6;11707:13;11698:22;;11729:33;11756:5;11729:33;:::i;:::-;11625:143;;;;:::o;11774:663::-;11862:6;11870;11878;11927:2;11915:9;11906:7;11902:23;11898:32;11895:119;;;11933:79;;:::i;:::-;11895:119;12053:1;12078:64;12134:7;12125:6;12114:9;12110:22;12078:64;:::i;:::-;12068:74;;12024:128;12191:2;12217:64;12273:7;12264:6;12253:9;12249:22;12217:64;:::i;:::-;12207:74;;12162:129;12330:2;12356:64;12412:7;12403:6;12392:9;12388:22;12356:64;:::i;:::-;12346:74;;12301:129;11774:663;;;;;:::o;12443:332::-;12564:4;12602:2;12591:9;12587:18;12579:26;;12615:71;12683:1;12672:9;12668:17;12659:6;12615:71;:::i;:::-;12696:72;12764:2;12753:9;12749:18;12740:6;12696:72;:::i;:::-;12443:332;;;;;:::o;12781:137::-;12835:5;12866:6;12860:13;12851:22;;12882:30;12906:5;12882:30;:::i;:::-;12781:137;;;;:::o;12924:345::-;12991:6;13040:2;13028:9;13019:7;13015:23;13011:32;13008:119;;;13046:79;;:::i;:::-;13008:119;13166:1;13191:61;13244:7;13235:6;13224:9;13220:22;13191:61;:::i;:::-;13181:71;;13137:125;12924:345;;;;:::o;13275:223::-;13415:34;13411:1;13403:6;13399:14;13392:58;13484:6;13479:2;13471:6;13467:15;13460:31;13275:223;:::o;13504:366::-;13646:3;13667:67;13731:2;13726:3;13667:67;:::i;:::-;13660:74;;13743:93;13832:3;13743:93;:::i;:::-;13861:2;13856:3;13852:12;13845:19;;13504:366;;;:::o;13876:419::-;14042:4;14080:2;14069:9;14065:18;14057:26;;14129:9;14123:4;14119:20;14115:1;14104:9;14100:17;14093:47;14157:131;14283:4;14157:131;:::i;:::-;14149:139;;13876:419;;;:::o;14301:221::-;14441:34;14437:1;14429:6;14425:14;14418:58;14510:4;14505:2;14497:6;14493:15;14486:29;14301:221;:::o;14528:366::-;14670:3;14691:67;14755:2;14750:3;14691:67;:::i;:::-;14684:74;;14767:93;14856:3;14767:93;:::i;:::-;14885:2;14880:3;14876:12;14869:19;;14528:366;;;:::o;14900:419::-;15066:4;15104:2;15093:9;15089:18;15081:26;;15153:9;15147:4;15143:20;15139:1;15128:9;15124:17;15117:47;15181:131;15307:4;15181:131;:::i;:::-;15173:139;;14900:419;;;:::o;15325:224::-;15465:34;15461:1;15453:6;15449:14;15442:58;15534:7;15529:2;15521:6;15517:15;15510:32;15325:224;:::o;15555:366::-;15697:3;15718:67;15782:2;15777:3;15718:67;:::i;:::-;15711:74;;15794:93;15883:3;15794:93;:::i;:::-;15912:2;15907:3;15903:12;15896:19;;15555:366;;;:::o;15927:419::-;16093:4;16131:2;16120:9;16116:18;16108:26;;16180:9;16174:4;16170:20;16166:1;16155:9;16151:17;16144:47;16208:131;16334:4;16208:131;:::i;:::-;16200:139;;15927:419;;;:::o;16352:222::-;16492:34;16488:1;16480:6;16476:14;16469:58;16561:5;16556:2;16548:6;16544:15;16537:30;16352:222;:::o;16580:366::-;16722:3;16743:67;16807:2;16802:3;16743:67;:::i;:::-;16736:74;;16819:93;16908:3;16819:93;:::i;:::-;16937:2;16932:3;16928:12;16921:19;;16580:366;;;:::o;16952:419::-;17118:4;17156:2;17145:9;17141:18;17133:26;;17205:9;17199:4;17195:20;17191:1;17180:9;17176:17;17169:47;17233:131;17359:4;17233:131;:::i;:::-;17225:139;;16952:419;;;:::o;17377:228::-;17517:34;17513:1;17505:6;17501:14;17494:58;17586:11;17581:2;17573:6;17569:15;17562:36;17377:228;:::o;17611:366::-;17753:3;17774:67;17838:2;17833:3;17774:67;:::i;:::-;17767:74;;17850:93;17939:3;17850:93;:::i;:::-;17968:2;17963:3;17959:12;17952:19;;17611:366;;;:::o;17983:419::-;18149:4;18187:2;18176:9;18172:18;18164:26;;18236:9;18230:4;18226:20;18222:1;18211:9;18207:17;18200:47;18264:131;18390:4;18264:131;:::i;:::-;18256:139;;17983:419;;;:::o;18408:178::-;18548:30;18544:1;18536:6;18532:14;18525:54;18408:178;:::o;18592:366::-;18734:3;18755:67;18819:2;18814:3;18755:67;:::i;:::-;18748:74;;18831:93;18920:3;18831:93;:::i;:::-;18949:2;18944:3;18940:12;18933:19;;18592:366;;;:::o;18964:419::-;19130:4;19168:2;19157:9;19153:18;19145:26;;19217:9;19211:4;19207:20;19203:1;19192:9;19188:17;19181:47;19245:131;19371:4;19245:131;:::i;:::-;19237:139;;18964:419;;;:::o;19389:168::-;19529:20;19525:1;19517:6;19513:14;19506:44;19389:168;:::o;19563:366::-;19705:3;19726:67;19790:2;19785:3;19726:67;:::i;:::-;19719:74;;19802:93;19891:3;19802:93;:::i;:::-;19920:2;19915:3;19911:12;19904:19;;19563:366;;;:::o;19935:419::-;20101:4;20139:2;20128:9;20124:18;20116:26;;20188:9;20182:4;20178:20;20174:1;20163:9;20159:17;20152:47;20216:131;20342:4;20216:131;:::i;:::-;20208:139;;19935:419;;;:::o;20360:305::-;20400:3;20419:20;20437:1;20419:20;:::i;:::-;20414:25;;20453:20;20471:1;20453:20;:::i;:::-;20448:25;;20607:1;20539:66;20535:74;20532:1;20529:81;20526:107;;;20613:18;;:::i;:::-;20526:107;20657:1;20654;20650:9;20643:16;;20360:305;;;;:::o;20671:173::-;20811:25;20807:1;20799:6;20795:14;20788:49;20671:173;:::o;20850:366::-;20992:3;21013:67;21077:2;21072:3;21013:67;:::i;:::-;21006:74;;21089:93;21178:3;21089:93;:::i;:::-;21207:2;21202:3;21198:12;21191:19;;20850:366;;;:::o;21222:419::-;21388:4;21426:2;21415:9;21411:18;21403:26;;21475:9;21469:4;21465:20;21461:1;21450:9;21446:17;21439:47;21503:131;21629:4;21503:131;:::i;:::-;21495:139;;21222:419;;;:::o;21647:191::-;21687:4;21707:20;21725:1;21707:20;:::i;:::-;21702:25;;21741:20;21759:1;21741:20;:::i;:::-;21736:25;;21780:1;21777;21774:8;21771:34;;;21785:18;;:::i;:::-;21771:34;21830:1;21827;21823:9;21815:17;;21647:191;;;;:::o;21844:180::-;21892:77;21889:1;21882:88;21989:4;21986:1;21979:15;22013:4;22010:1;22003:15;22030:180;22078:77;22075:1;22068:88;22175:4;22172:1;22165:15;22199:4;22196:1;22189:15;22216:114;22283:6;22317:5;22311:12;22301:22;;22216:114;;;:::o;22336:184::-;22435:11;22469:6;22464:3;22457:19;22509:4;22504:3;22500:14;22485:29;;22336:184;;;;:::o;22526:132::-;22593:4;22616:3;22608:11;;22646:4;22641:3;22637:14;22629:22;;22526:132;;;:::o;22664:108::-;22741:24;22759:5;22741:24;:::i;:::-;22736:3;22729:37;22664:108;;:::o;22778:179::-;22847:10;22868:46;22910:3;22902:6;22868:46;:::i;:::-;22946:4;22941:3;22937:14;22923:28;;22778:179;;;;:::o;22963:113::-;23033:4;23065;23060:3;23056:14;23048:22;;22963:113;;;:::o;23112:732::-;23231:3;23260:54;23308:5;23260:54;:::i;:::-;23330:86;23409:6;23404:3;23330:86;:::i;:::-;23323:93;;23440:56;23490:5;23440:56;:::i;:::-;23519:7;23550:1;23535:284;23560:6;23557:1;23554:13;23535:284;;;23636:6;23630:13;23663:63;23722:3;23707:13;23663:63;:::i;:::-;23656:70;;23749:60;23802:6;23749:60;:::i;:::-;23739:70;;23595:224;23582:1;23579;23575:9;23570:14;;23535:284;;;23539:14;23835:3;23828:10;;23236:608;;;23112:732;;;;:::o;23850:831::-;24113:4;24151:3;24140:9;24136:19;24128:27;;24165:71;24233:1;24222:9;24218:17;24209:6;24165:71;:::i;:::-;24246:80;24322:2;24311:9;24307:18;24298:6;24246:80;:::i;:::-;24373:9;24367:4;24363:20;24358:2;24347:9;24343:18;24336:48;24401:108;24504:4;24495:6;24401:108;:::i;:::-;24393:116;;24519:72;24587:2;24576:9;24572:18;24563:6;24519:72;:::i;:::-;24601:73;24669:3;24658:9;24654:19;24645:6;24601:73;:::i;:::-;23850:831;;;;;;;;:::o;24687:229::-;24827:34;24823:1;24815:6;24811:14;24804:58;24896:12;24891:2;24883:6;24879:15;24872:37;24687:229;:::o;24922:366::-;25064:3;25085:67;25149:2;25144:3;25085:67;:::i;:::-;25078:74;;25161:93;25250:3;25161:93;:::i;:::-;25279:2;25274:3;25270:12;25263:19;;24922:366;;;:::o;25294:419::-;25460:4;25498:2;25487:9;25483:18;25475:26;;25547:9;25541:4;25537:20;25533:1;25522:9;25518:17;25511:47;25575:131;25701:4;25575:131;:::i;:::-;25567:139;;25294:419;;;:::o;25719:180::-;25767:77;25764:1;25757:88;25864:4;25861:1;25854:15;25888:4;25885:1;25878:15;25905:185;25945:1;25962:20;25980:1;25962:20;:::i;:::-;25957:25;;25996:20;26014:1;25996:20;:::i;:::-;25991:25;;26035:1;26025:35;;26040:18;;:::i;:::-;26025:35;26082:1;26079;26075:9;26070:14;;25905:185;;;;:::o;26096:177::-;26236:29;26232:1;26224:6;26220:14;26213:53;26096:177;:::o;26279:366::-;26421:3;26442:67;26506:2;26501:3;26442:67;:::i;:::-;26435:74;;26518:93;26607:3;26518:93;:::i;:::-;26636:2;26631:3;26627:12;26620:19;;26279:366;;;:::o;26651:419::-;26817:4;26855:2;26844:9;26840:18;26832:26;;26904:9;26898:4;26894:20;26890:1;26879:9;26875:17;26868:47;26932:131;27058:4;26932:131;:::i;:::-;26924:139;;26651:419;;;:::o;27076:220::-;27216:34;27212:1;27204:6;27200:14;27193:58;27285:3;27280:2;27272:6;27268:15;27261:28;27076:220;:::o;27302:366::-;27444:3;27465:67;27529:2;27524:3;27465:67;:::i;:::-;27458:74;;27541:93;27630:3;27541:93;:::i;:::-;27659:2;27654:3;27650:12;27643:19;;27302:366;;;:::o;27674:419::-;27840:4;27878:2;27867:9;27863:18;27855:26;;27927:9;27921:4;27917:20;27913:1;27902:9;27898:17;27891:47;27955:131;28081:4;27955:131;:::i;:::-;27947:139;;27674:419;;;:::o
Swarm Source
ipfs://171e981c17d1fdb493501d9fff577edf8acdf7020f003fe7de6d92ad201e5e7c
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.