ERC-20
Overview
Max Total Supply
1,000,000 CALVIN
Holders
99
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
1,833.6841712 CALVINValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CalvinCoin
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-28 */ // SPDX-License-Identifier: MIT /** Welcome to the life of mfer Calvin, the meme token based on the most iconic comic book character of all time. Calvin goes around pissing on tokens with fake utilities. Memes run the world, don't you ever forget it. Website: https://calvinerc.com/ Telegram: https://t.me/CalvinERCPortal Twitter: https://twitter.com/CalvinERC __ _ww _a+"D y#, _r^ # _*^ y` q0 0 a" W*` F ____ ; #^ Mw` __`. . 4-~~^^` _ _P ` /'^ `www=. , $ +F ` q K ] ^K` , #_ . ___ r ], _*.^ '.__dP^^~#, ,_ *, ^b / _ `` _F ] ]_ '___ ' ~~^ ] [ :` ]b_ ~k_ ,` yl #P `*a__ __a~ z~` #L _ ^------~^` ,/ ~-vww*"v_ _/` ^"q_ _x" __#my..___p/`mma____ _awP",`,^"-_"^`._ L L # _#0w_^_^,^r___...._ t [],"w e^ ]b_x^_~^` __, .]Wy7` x` '=w__^9*$P-*MF` ^[_.= ^"y qw/"^_____^~9 t ]_l ,'^_`..=== x' ">.ak__awwwwWW###r ##WWWWWWWWWWWWWW__ _WWWWWWMM#WWWW_JP^"~-=w_ .____awwmp_wNw#[w/` ^#, ~b___. ` ^^^~^"W___ ]Raaaamw~`^``^^~ ^~"~---~~~~~~` **/ pragma solidity 0.8.11; 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 CalvinCoin is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=30; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=10; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _tTotal = 1000000 * 10**_decimals; string private constant _name = unicode"Calvin"; string private constant _symbol = unicode"CALVIN"; uint256 public _maxTxAmount = 10000 * 10**_decimals; uint256 public _maxWalletSize = 20000 * 10**_decimals; uint256 public _taxSwapThreshold=5000 * 10**_decimals; uint256 public _maxTaxSwap=20000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"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
60806040526001600660006101000a81548160ff021916908315150217905550600f600755601960085560006009556000600a55601e600b55601e600c55600a600d556000600e556008600a62000057919062000625565b61271062000066919062000676565b600f556008600a62000079919062000625565b614e2062000088919062000676565b6010556008600a6200009b919062000625565b611388620000aa919062000676565b6011556008600a620000bd919062000625565b614e20620000cc919062000676565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055503480156200011257600080fd5b506000620001256200045a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d36200045a60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000223919062000625565b620f424062000233919062000676565b60016000620002476200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200029b6200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ce6200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200042d919062000625565b620f42406200043d919062000676565b6040516200044c9190620006e8565b60405180910390a362000705565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200048b565b5b6001851615620005015780820291505b80810290506200051185620004ba565b9450620004d1565b94509492505050565b60008262000534576001905062000607565b8162000544576000905062000607565b81600181146200055d576002811462000568576200059e565b600191505062000607565b60ff8411156200057d576200057c6200048b565b5b8360020a9150848211156200059757620005966200048b565b5b5062000607565b5060208310610133831016604e8410600b8410161715620005d85782820a905083811115620005d257620005d16200048b565b5b62000607565b620005e78484846001620004c7565b925090508184048111156200060157620006006200048b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000632826200060e565b91506200063f8362000618565b92506200066e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000522565b905092915050565b600062000683826200060e565b915062000690836200060e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006cc57620006cb6200048b565b5b828202905092915050565b620006e2816200060e565b82525050565b6000602082019050620006ff6000830184620006d7565b92915050565b61361f80620007156000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ff578063bf474bed1461043c578063c876d0b914610467578063c9567bf914610492578063d34628cc146104a9578063dd62ed3e146104d257610140565b8063751039fc1461033c5780637d1db4a5146103535780638da5cb5b1461037e5780638f9a55c0146103a957806395d89b41146103d457610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780633bbac5791461029457806351bc3c85146102d157806370a08231146102e8578063715018a61461032557610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b60405161016791906124e9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906125b3565b61054c565b6040516101a4919061260e565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf9190612638565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa9190612638565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612653565b610593565b604051610237919061260e565b60405180910390f35b34801561024c57600080fd5b5061025561066c565b60405161026291906126c2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612825565b610675565b005b3480156102a057600080fd5b506102bb60048036038101906102b6919061286e565b61079f565b6040516102c8919061260e565b60405180910390f35b3480156102dd57600080fd5b506102e66107f5565b005b3480156102f457600080fd5b5061030f600480360381019061030a919061286e565b610892565b60405161031c9190612638565b60405180910390f35b34801561033157600080fd5b5061033a6108db565b005b34801561034857600080fd5b50610351610a2e565b005b34801561035f57600080fd5b50610368610b76565b6040516103759190612638565b60405180910390f35b34801561038a57600080fd5b50610393610b7c565b6040516103a091906128aa565b60405180910390f35b3480156103b557600080fd5b506103be610ba5565b6040516103cb9190612638565b60405180910390f35b3480156103e057600080fd5b506103e9610bab565b6040516103f691906124e9565b60405180910390f35b34801561040b57600080fd5b50610426600480360381019061042191906125b3565b610be8565b604051610433919061260e565b60405180910390f35b34801561044857600080fd5b50610451610c06565b60405161045e9190612638565b60405180910390f35b34801561047357600080fd5b5061047c610c0c565b604051610489919061260e565b60405180910390f35b34801561049e57600080fd5b506104a7610c1f565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612825565b611153565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128c5565b61127d565b6040516105069190612638565b60405180910390f35b60606040518060400160405280600681526020017f43616c76696e0000000000000000000000000000000000000000000000000000815250905090565b6000610560610559611304565b848461130c565b6001905092915050565b60125481565b60006008600a6105809190612a67565b620f424061058e9190612ab2565b905090565b60006105a08484846114d7565b610661846105ac611304565b61065c856040518060600160405280602881526020016135c260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610612611304565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1e9092919063ffffffff16565b61130c565b600190509392505050565b60006008905090565b61067d611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612b58565b60405180910390fd5b60005b815181101561079b5760006004600084848151811061072f5761072e612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061079390612ba7565b91505061070d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610836611304565b73ffffffffffffffffffffffffffffffffffffffff161461085657600080fd5b600061086130610892565b905060008111156108765761087581611f82565b5b6000479050600081111561088e5761088d816121fb565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e3611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a36611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90612b58565b60405180910390fd5b6008600a610ad19190612a67565b620f4240610adf9190612ab2565b600f819055506008600a610af39190612a67565b620f4240610b019190612ab2565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b519190612a67565b620f4240610b5f9190612ab2565b604051610b6c9190612638565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f43414c56494e0000000000000000000000000000000000000000000000000000815250905090565b6000610bfc610bf5611304565b84846114d7565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c27611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612b58565b60405180910390fd5b60148054906101000a900460ff1615610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612c3c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610d8c9190612a67565b620f4240610d9a9190612ab2565b61130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612c71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190612c71565b6040518363ffffffff1660e01b8152600401610efa929190612c9e565b6020604051808303816000875af1158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612c71565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc630610892565b600080610fd1610b7c565b426040518863ffffffff1660e01b8152600401610ff396959493929190612d0c565b60606040518083038185885af1158015611011573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110369190612d82565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d8929190612dd5565b6020604051808303816000875af11580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612e2a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61115b611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612b58565b60405180910390fd5b60005b81518110156112795760016004600084848151811061120d5761120c612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127190612ba7565b9150506111eb565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612ec9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390612f5b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ca9190612638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612fed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061307f565b60405180910390fd5b600081116115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190613111565b60405180910390fd5b6000611604610b7c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116725750611642610b7c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c6157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561171b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61172457600080fd5b6117606064611752600b54600e541161173f57600754611743565b6009545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b9050600660009054906101000a900460ff16156118ef57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118235750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118ee5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a0906131c9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561199a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aab57600f54821115611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613235565b60405180910390fd5b60105482611a4785610892565b611a519190613255565b1115611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a89906132f7565b60405180910390fd5b600e6000815480929190611aa590612ba7565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b3457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b7857611b756064611b67600c54600e5411611b5457600854611b58565b600a545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b90505b6000611b8330610892565b9050601460159054906101000a900460ff16158015611bef5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c075750601460169054906101000a900460ff165b8015611c14575060115481115b8015611c235750600d54600e54115b15611c5f57611c45611c4084611c3b8460125461232c565b61232c565b611f82565b60004790506000811115611c5d57611c5c476121fb565b5b505b505b6000811115611d6557611cbc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612638565b60405180910390a35b611db782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5e611e1082846123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0384866123a390919063ffffffff16565b604051611f109190612638565b60405180910390a350505050565b6000838311158290611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5d91906124e9565b60405180910390fd5b5060008385611f759190613317565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fba57611fb96126e2565b5b604051908082528060200260200182016040528015611fe85781602001602082028036833780820191505090505b509050308160008151811061200057611fff612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cb9190612c71565b816001815181106120df576120de612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061214630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121aa959493929190613409565b600060405180830381600087803b1580156121c457600080fd5b505af11580156121d8573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612263573d6000803e3d6000fd5b5050565b60008083141561227a57600090506122dc565b600082846122889190612ab2565b90508284826122979190613492565b146122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce90613535565b60405180910390fd5b809150505b92915050565b600061232483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ed565b905092915050565b600081831161233b578261233d565b815b905092915050565b60008082846123549190613255565b905083811015612399576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612390906135a1565b60405180910390fd5b8091505092915050565b60006123e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1e565b905092915050565b60008083118290612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242b91906124e9565b60405180910390fd5b50600083856124439190613492565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561248a57808201518184015260208101905061246f565b83811115612499576000848401525b50505050565b6000601f19601f8301169050919050565b60006124bb82612450565b6124c5818561245b565b93506124d581856020860161246c565b6124de8161249f565b840191505092915050565b6000602082019050818103600083015261250381846124b0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254a8261251f565b9050919050565b61255a8161253f565b811461256557600080fd5b50565b60008135905061257781612551565b92915050565b6000819050919050565b6125908161257d565b811461259b57600080fd5b50565b6000813590506125ad81612587565b92915050565b600080604083850312156125ca576125c9612515565b5b60006125d885828601612568565b92505060206125e98582860161259e565b9150509250929050565b60008115159050919050565b612608816125f3565b82525050565b600060208201905061262360008301846125ff565b92915050565b6126328161257d565b82525050565b600060208201905061264d6000830184612629565b92915050565b60008060006060848603121561266c5761266b612515565b5b600061267a86828701612568565b935050602061268b86828701612568565b925050604061269c8682870161259e565b9150509250925092565b600060ff82169050919050565b6126bc816126a6565b82525050565b60006020820190506126d760008301846126b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271a8261249f565b810181811067ffffffffffffffff82111715612739576127386126e2565b5b80604052505050565b600061274c61250b565b90506127588282612711565b919050565b600067ffffffffffffffff821115612778576127776126e2565b5b602082029050602081019050919050565b600080fd5b60006127a161279c8461275d565b612742565b905080838252602082019050602084028301858111156127c4576127c3612789565b5b835b818110156127ed57806127d98882612568565b8452602084019350506020810190506127c6565b5050509392505050565b600082601f83011261280c5761280b6126dd565b5b813561281c84826020860161278e565b91505092915050565b60006020828403121561283b5761283a612515565b5b600082013567ffffffffffffffff8111156128595761285861251a565b5b612865848285016127f7565b91505092915050565b60006020828403121561288457612883612515565b5b600061289284828501612568565b91505092915050565b6128a48161253f565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080604083850312156128dc576128db612515565b5b60006128ea85828601612568565b92505060206128fb85828601612568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561298b5780860481111561296757612966612905565b5b60018516156129765780820291505b808102905061298485612934565b945061294b565b94509492505050565b6000826129a45760019050612a60565b816129b25760009050612a60565b81600181146129c857600281146129d257612a01565b6001915050612a60565b60ff8411156129e4576129e3612905565b5b8360020a9150848211156129fb576129fa612905565b5b50612a60565b5060208310610133831016604e8410600b8410161715612a365782820a905083811115612a3157612a30612905565b5b612a60565b612a438484846001612941565b92509050818404811115612a5a57612a59612905565b5b81810290505b9392505050565b6000612a728261257d565b9150612a7d836126a6565b9250612aaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612994565b905092915050565b6000612abd8261257d565b9150612ac88361257d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0157612b00612905565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b4260208361245b565b9150612b4d82612b0c565b602082019050919050565b60006020820190508181036000830152612b7181612b35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612bb28261257d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be557612be4612905565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c2660178361245b565b9150612c3182612bf0565b602082019050919050565b60006020820190508181036000830152612c5581612c19565b9050919050565b600081519050612c6b81612551565b92915050565b600060208284031215612c8757612c86612515565b5b6000612c9584828501612c5c565b91505092915050565b6000604082019050612cb3600083018561289b565b612cc0602083018461289b565b9392505050565b6000819050919050565b6000819050919050565b6000612cf6612cf1612cec84612cc7565b612cd1565b61257d565b9050919050565b612d0681612cdb565b82525050565b600060c082019050612d21600083018961289b565b612d2e6020830188612629565b612d3b6040830187612cfd565b612d486060830186612cfd565b612d55608083018561289b565b612d6260a0830184612629565b979650505050505050565b600081519050612d7c81612587565b92915050565b600080600060608486031215612d9b57612d9a612515565b5b6000612da986828701612d6d565b9350506020612dba86828701612d6d565b9250506040612dcb86828701612d6d565b9150509250925092565b6000604082019050612dea600083018561289b565b612df76020830184612629565b9392505050565b612e07816125f3565b8114612e1257600080fd5b50565b600081519050612e2481612dfe565b92915050565b600060208284031215612e4057612e3f612515565b5b6000612e4e84828501612e15565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612eb360248361245b565b9150612ebe82612e57565b604082019050919050565b60006020820190508181036000830152612ee281612ea6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f4560228361245b565b9150612f5082612ee9565b604082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fd760258361245b565b9150612fe282612f7b565b604082019050919050565b6000602082019050818103600083015261300681612fca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061306960238361245b565b91506130748261300d565b604082019050919050565b600060208201905081810360008301526130988161305c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130fb60298361245b565b91506131068261309f565b604082019050919050565b6000602082019050818103600083015261312a816130ee565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006131b360498361245b565b91506131be82613131565b606082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061321f60198361245b565b915061322a826131e9565b602082019050919050565b6000602082019050818103600083015261324e81613212565b9050919050565b60006132608261257d565b915061326b8361257d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a05761329f612905565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132e1601a8361245b565b91506132ec826132ab565b602082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b60006133228261257d565b915061332d8361257d565b9250828210156133405761333f612905565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133808161253f565b82525050565b60006133928383613377565b60208301905092915050565b6000602082019050919050565b60006133b68261334b565b6133c08185613356565b93506133cb83613367565b8060005b838110156133fc5781516133e38882613386565b97506133ee8361339e565b9250506001810190506133cf565b5085935050505092915050565b600060a08201905061341e6000830188612629565b61342b6020830187612cfd565b818103604083015261343d81866133ab565b905061344c606083018561289b565b6134596080830184612629565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061349d8261257d565b91506134a88361257d565b9250826134b8576134b7613463565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351f60218361245b565b915061352a826134c3565b604082019050919050565b6000602082019050818103600083015261354e81613512565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061358b601b8361245b565b915061359682613555565b602082019050919050565b600060208201905081810360008301526135ba8161357e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c064d82289220977f979fc264124b688f8fa13ac6749003c4ca38965a35e704964736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ff578063bf474bed1461043c578063c876d0b914610467578063c9567bf914610492578063d34628cc146104a9578063dd62ed3e146104d257610140565b8063751039fc1461033c5780637d1db4a5146103535780638da5cb5b1461037e5780638f9a55c0146103a957806395d89b41146103d457610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780633bbac5791461029457806351bc3c85146102d157806370a08231146102e8578063715018a61461032557610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b60405161016791906124e9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906125b3565b61054c565b6040516101a4919061260e565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf9190612638565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa9190612638565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612653565b610593565b604051610237919061260e565b60405180910390f35b34801561024c57600080fd5b5061025561066c565b60405161026291906126c2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612825565b610675565b005b3480156102a057600080fd5b506102bb60048036038101906102b6919061286e565b61079f565b6040516102c8919061260e565b60405180910390f35b3480156102dd57600080fd5b506102e66107f5565b005b3480156102f457600080fd5b5061030f600480360381019061030a919061286e565b610892565b60405161031c9190612638565b60405180910390f35b34801561033157600080fd5b5061033a6108db565b005b34801561034857600080fd5b50610351610a2e565b005b34801561035f57600080fd5b50610368610b76565b6040516103759190612638565b60405180910390f35b34801561038a57600080fd5b50610393610b7c565b6040516103a091906128aa565b60405180910390f35b3480156103b557600080fd5b506103be610ba5565b6040516103cb9190612638565b60405180910390f35b3480156103e057600080fd5b506103e9610bab565b6040516103f691906124e9565b60405180910390f35b34801561040b57600080fd5b50610426600480360381019061042191906125b3565b610be8565b604051610433919061260e565b60405180910390f35b34801561044857600080fd5b50610451610c06565b60405161045e9190612638565b60405180910390f35b34801561047357600080fd5b5061047c610c0c565b604051610489919061260e565b60405180910390f35b34801561049e57600080fd5b506104a7610c1f565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612825565b611153565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128c5565b61127d565b6040516105069190612638565b60405180910390f35b60606040518060400160405280600681526020017f43616c76696e0000000000000000000000000000000000000000000000000000815250905090565b6000610560610559611304565b848461130c565b6001905092915050565b60125481565b60006008600a6105809190612a67565b620f424061058e9190612ab2565b905090565b60006105a08484846114d7565b610661846105ac611304565b61065c856040518060600160405280602881526020016135c260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610612611304565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1e9092919063ffffffff16565b61130c565b600190509392505050565b60006008905090565b61067d611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612b58565b60405180910390fd5b60005b815181101561079b5760006004600084848151811061072f5761072e612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061079390612ba7565b91505061070d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610836611304565b73ffffffffffffffffffffffffffffffffffffffff161461085657600080fd5b600061086130610892565b905060008111156108765761087581611f82565b5b6000479050600081111561088e5761088d816121fb565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e3611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a36611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90612b58565b60405180910390fd5b6008600a610ad19190612a67565b620f4240610adf9190612ab2565b600f819055506008600a610af39190612a67565b620f4240610b019190612ab2565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b519190612a67565b620f4240610b5f9190612ab2565b604051610b6c9190612638565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f43414c56494e0000000000000000000000000000000000000000000000000000815250905090565b6000610bfc610bf5611304565b84846114d7565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c27611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612b58565b60405180910390fd5b60148054906101000a900460ff1615610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612c3c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610d8c9190612a67565b620f4240610d9a9190612ab2565b61130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612c71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190612c71565b6040518363ffffffff1660e01b8152600401610efa929190612c9e565b6020604051808303816000875af1158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612c71565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc630610892565b600080610fd1610b7c565b426040518863ffffffff1660e01b8152600401610ff396959493929190612d0c565b60606040518083038185885af1158015611011573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110369190612d82565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d8929190612dd5565b6020604051808303816000875af11580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612e2a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61115b611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612b58565b60405180910390fd5b60005b81518110156112795760016004600084848151811061120d5761120c612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127190612ba7565b9150506111eb565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612ec9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390612f5b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ca9190612638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612fed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061307f565b60405180910390fd5b600081116115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190613111565b60405180910390fd5b6000611604610b7c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116725750611642610b7c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c6157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561171b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61172457600080fd5b6117606064611752600b54600e541161173f57600754611743565b6009545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b9050600660009054906101000a900460ff16156118ef57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118235750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118ee5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a0906131c9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561199a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aab57600f54821115611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613235565b60405180910390fd5b60105482611a4785610892565b611a519190613255565b1115611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a89906132f7565b60405180910390fd5b600e6000815480929190611aa590612ba7565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b3457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b7857611b756064611b67600c54600e5411611b5457600854611b58565b600a545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b90505b6000611b8330610892565b9050601460159054906101000a900460ff16158015611bef5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c075750601460169054906101000a900460ff165b8015611c14575060115481115b8015611c235750600d54600e54115b15611c5f57611c45611c4084611c3b8460125461232c565b61232c565b611f82565b60004790506000811115611c5d57611c5c476121fb565b5b505b505b6000811115611d6557611cbc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612638565b60405180910390a35b611db782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5e611e1082846123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0384866123a390919063ffffffff16565b604051611f109190612638565b60405180910390a350505050565b6000838311158290611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5d91906124e9565b60405180910390fd5b5060008385611f759190613317565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fba57611fb96126e2565b5b604051908082528060200260200182016040528015611fe85781602001602082028036833780820191505090505b509050308160008151811061200057611fff612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cb9190612c71565b816001815181106120df576120de612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061214630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121aa959493929190613409565b600060405180830381600087803b1580156121c457600080fd5b505af11580156121d8573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612263573d6000803e3d6000fd5b5050565b60008083141561227a57600090506122dc565b600082846122889190612ab2565b90508284826122979190613492565b146122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce90613535565b60405180910390fd5b809150505b92915050565b600061232483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ed565b905092915050565b600081831161233b578261233d565b815b905092915050565b60008082846123549190613255565b905083811015612399576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612390906135a1565b60405180910390fd5b8091505092915050565b60006123e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1e565b905092915050565b60008083118290612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242b91906124e9565b60405180910390fd5b50600083856124439190613492565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561248a57808201518184015260208101905061246f565b83811115612499576000848401525b50505050565b6000601f19601f8301169050919050565b60006124bb82612450565b6124c5818561245b565b93506124d581856020860161246c565b6124de8161249f565b840191505092915050565b6000602082019050818103600083015261250381846124b0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254a8261251f565b9050919050565b61255a8161253f565b811461256557600080fd5b50565b60008135905061257781612551565b92915050565b6000819050919050565b6125908161257d565b811461259b57600080fd5b50565b6000813590506125ad81612587565b92915050565b600080604083850312156125ca576125c9612515565b5b60006125d885828601612568565b92505060206125e98582860161259e565b9150509250929050565b60008115159050919050565b612608816125f3565b82525050565b600060208201905061262360008301846125ff565b92915050565b6126328161257d565b82525050565b600060208201905061264d6000830184612629565b92915050565b60008060006060848603121561266c5761266b612515565b5b600061267a86828701612568565b935050602061268b86828701612568565b925050604061269c8682870161259e565b9150509250925092565b600060ff82169050919050565b6126bc816126a6565b82525050565b60006020820190506126d760008301846126b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271a8261249f565b810181811067ffffffffffffffff82111715612739576127386126e2565b5b80604052505050565b600061274c61250b565b90506127588282612711565b919050565b600067ffffffffffffffff821115612778576127776126e2565b5b602082029050602081019050919050565b600080fd5b60006127a161279c8461275d565b612742565b905080838252602082019050602084028301858111156127c4576127c3612789565b5b835b818110156127ed57806127d98882612568565b8452602084019350506020810190506127c6565b5050509392505050565b600082601f83011261280c5761280b6126dd565b5b813561281c84826020860161278e565b91505092915050565b60006020828403121561283b5761283a612515565b5b600082013567ffffffffffffffff8111156128595761285861251a565b5b612865848285016127f7565b91505092915050565b60006020828403121561288457612883612515565b5b600061289284828501612568565b91505092915050565b6128a48161253f565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080604083850312156128dc576128db612515565b5b60006128ea85828601612568565b92505060206128fb85828601612568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561298b5780860481111561296757612966612905565b5b60018516156129765780820291505b808102905061298485612934565b945061294b565b94509492505050565b6000826129a45760019050612a60565b816129b25760009050612a60565b81600181146129c857600281146129d257612a01565b6001915050612a60565b60ff8411156129e4576129e3612905565b5b8360020a9150848211156129fb576129fa612905565b5b50612a60565b5060208310610133831016604e8410600b8410161715612a365782820a905083811115612a3157612a30612905565b5b612a60565b612a438484846001612941565b92509050818404811115612a5a57612a59612905565b5b81810290505b9392505050565b6000612a728261257d565b9150612a7d836126a6565b9250612aaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612994565b905092915050565b6000612abd8261257d565b9150612ac88361257d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0157612b00612905565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b4260208361245b565b9150612b4d82612b0c565b602082019050919050565b60006020820190508181036000830152612b7181612b35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612bb28261257d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be557612be4612905565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c2660178361245b565b9150612c3182612bf0565b602082019050919050565b60006020820190508181036000830152612c5581612c19565b9050919050565b600081519050612c6b81612551565b92915050565b600060208284031215612c8757612c86612515565b5b6000612c9584828501612c5c565b91505092915050565b6000604082019050612cb3600083018561289b565b612cc0602083018461289b565b9392505050565b6000819050919050565b6000819050919050565b6000612cf6612cf1612cec84612cc7565b612cd1565b61257d565b9050919050565b612d0681612cdb565b82525050565b600060c082019050612d21600083018961289b565b612d2e6020830188612629565b612d3b6040830187612cfd565b612d486060830186612cfd565b612d55608083018561289b565b612d6260a0830184612629565b979650505050505050565b600081519050612d7c81612587565b92915050565b600080600060608486031215612d9b57612d9a612515565b5b6000612da986828701612d6d565b9350506020612dba86828701612d6d565b9250506040612dcb86828701612d6d565b9150509250925092565b6000604082019050612dea600083018561289b565b612df76020830184612629565b9392505050565b612e07816125f3565b8114612e1257600080fd5b50565b600081519050612e2481612dfe565b92915050565b600060208284031215612e4057612e3f612515565b5b6000612e4e84828501612e15565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612eb360248361245b565b9150612ebe82612e57565b604082019050919050565b60006020820190508181036000830152612ee281612ea6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f4560228361245b565b9150612f5082612ee9565b604082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fd760258361245b565b9150612fe282612f7b565b604082019050919050565b6000602082019050818103600083015261300681612fca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061306960238361245b565b91506130748261300d565b604082019050919050565b600060208201905081810360008301526130988161305c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130fb60298361245b565b91506131068261309f565b604082019050919050565b6000602082019050818103600083015261312a816130ee565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006131b360498361245b565b91506131be82613131565b606082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061321f60198361245b565b915061322a826131e9565b602082019050919050565b6000602082019050818103600083015261324e81613212565b9050919050565b60006132608261257d565b915061326b8361257d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a05761329f612905565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132e1601a8361245b565b91506132ec826132ab565b602082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b60006133228261257d565b915061332d8361257d565b9250828210156133405761333f612905565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133808161253f565b82525050565b60006133928383613377565b60208301905092915050565b6000602082019050919050565b60006133b68261334b565b6133c08185613356565b93506133cb83613367565b8060005b838110156133fc5781516133e38882613386565b97506133ee8361339e565b9250506001810190506133cf565b5085935050505092915050565b600060a08201905061341e6000830188612629565b61342b6020830187612cfd565b818103604083015261343d81866133ab565b905061344c606083018561289b565b6134596080830184612629565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061349d8261257d565b91506134a88361257d565b9250826134b8576134b7613463565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351f60218361245b565b915061352a826134c3565b604082019050919050565b6000602082019050818103600083015261354e81613512565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061358b601b8361245b565b915061359682613555565b602082019050919050565b600060208201905081810360008301526135ba8161357e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c064d82289220977f979fc264124b688f8fa13ac6749003c4ca38965a35e704964736f6c634300080b0033
Deployed Bytecode Sourcemap
4881:8450:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6800:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7633:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6079:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7077:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7802:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6986:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11995:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12165:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12980:348;;;;;;;;;;;;;:::i;:::-;;7180:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3962:148;;;;;;;;;;;;;:::i;:::-;;11519:196;;;;;;;;;;;;;:::i;:::-;;5899:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3748:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5959:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6891:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7307:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6019:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5273:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12256:671;;;;;;;;;;;;;:::i;:::-;;11823:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7482:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6800:83;6837:13;6870:5;;;;;;;;;;;;;;;;;6863:12;;6800:83;:::o;7633:161::-;7708:4;7725:39;7734:12;:10;:12::i;:::-;7748:7;7757:6;7725:8;:39::i;:::-;7782:4;7775:11;;7633:161;;;;:::o;6079:48::-;;;;:::o;7077:95::-;7130:7;5716:1;5769:2;:13;;;;:::i;:::-;5759:7;:23;;;;:::i;:::-;7150:14;;7077:95;:::o;7802:313::-;7900:4;7917:36;7927:6;7935:9;7946:6;7917:9;:36::i;:::-;7964:121;7973:6;7981:12;:10;:12::i;:::-;7995:89;8033:6;7995:89;;;;;;;;;;;;;;;;;:11;:19;8007:6;7995:19;;;;;;;;;;;;;;;:33;8015:12;:10;:12::i;:::-;7995:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7964:8;:121::i;:::-;8103:4;8096:11;;7802:313;;;;;:::o;6986:83::-;7027:5;5716:1;7045:16;;6986:83;:::o;11995:162::-;3885:12;:10;:12::i;:::-;3875:22;;:6;;;;;;;;;;:22;;;3867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12068:6:::1;12063:87;12084:6;:13;12080:1;:17;12063:87;;;12135:5;12117:4;:15;12122:6;12129:1;12122:9;;;;;;;;:::i;:::-;;;;;;;;12117:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12099:3;;;;;:::i;:::-;;;;12063:87;;;;11995:162:::0;:::o;12165:83::-;12212:4;12233;:7;12238:1;12233:7;;;;;;;;;;;;;;;;;;;;;;;;;12226:14;;12165:83;;;:::o;12980:348::-;13044:10;;;;;;;;;;;13030:24;;:12;:10;:12::i;:::-;:24;;;13022:33;;;;;;13066:20;13087:24;13105:4;13087:9;:24::i;:::-;13066:45;;13138:1;13125:12;:14;13122:73;;;13153:30;13170:12;13153:16;:30::i;:::-;13122:73;13205:18;13224:21;13205:40;;13270:1;13259:10;:12;13256:65;;;13285:24;13298:10;13285:12;:24::i;:::-;13256:65;13011:317;;12980:348::o;7180:119::-;7246:7;7273:9;:18;7283:7;7273:18;;;;;;;;;;;;;;;;7266:25;;7180:119;;;:::o;3962:148::-;3885:12;:10;:12::i;:::-;3875:22;;:6;;;;;;;;;;:22;;;3867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4069:1:::1;4032:40;;4053:6;::::0;::::1;;;;;;;;4032:40;;;;;;;;;;;;4100:1;4083:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3962:148::o:0;11519:196::-;3885:12;:10;:12::i;:::-;3875:22;;:6;;;;;;;;;;:22;;;3867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5716:1:::1;5769:2;:13;;;;:::i;:::-;5759:7;:23;;;;:::i;:::-;11572:12;:22;;;;5716:1;5769:2;:13;;;;:::i;:::-;5759:7;:23;;;;:::i;:::-;11605:14;:22;;;;11659:5;11638:20;;:26;;;;;;;;;;;;;;;;;;11680:27;5716:1;5769:2;:13;;;;:::i;:::-;5759:7;:23;;;;:::i;:::-;11680:27;;;;;;:::i;:::-;;;;;;;;11519:196::o:0;5899:53::-;;;;:::o;3748:79::-;3786:7;3813:6;;;;;;;;;;;3806:13;;3748:79;:::o;5959:53::-;;;;:::o;6891:87::-;6930:13;6963:7;;;;;;;;;;;;;;;;;6956:14;;6891:87;:::o;7307:167::-;7385:4;7402:42;7412:12;:10;:12::i;:::-;7426:9;7437:6;7402:9;:42::i;:::-;7462:4;7455:11;;7307:167;;;;:::o;6019:53::-;;;;:::o;5273:39::-;;;;;;;;;;;;;:::o;12256:671::-;3885:12;:10;:12::i;:::-;3875:22;;:6;;;;;;;;;;:22;;;3867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12320:11:::1;::::0;::::1;;;;;;;;12319:12;12311:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12406:42;12369:15;;:80;;;;;;;;;;;;;;;;;;12460:58;12477:4;12492:15;;;;;;;;;;;5716:1;5769:2;:13;;;;:::i;:::-;5759:7;:23;;;;:::i;:::-;12460:8;:58::i;:::-;12563:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12545:55;;;12609:4;12616:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12545:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12529:13;;:110;;;;;;;;;;;;;;;;;;12650:15;;;;;;;;;;;:31;;;12689:21;12720:4;12726:24;12744:4;12726:9;:24::i;:::-;12751:1;12753::::0;12755:7:::1;:5;:7::i;:::-;12763:15;12650:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12797:13;;;;;;;;;;;12790:29;;;12828:15;;;;;;;;;;;12846:14;12790:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12886:4;12872:11;;:18;;;;;;;;;;;;;;;;;;12915:4;12901:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;12256:671::o:0;11823:164::-;3885:12;:10;:12::i;:::-;3875:22;;:6;;;;;;;;;;:22;;;3867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11897:6:::1;11892:88;11913:5;:12;11909:1;:16;11892:88;;;11964:4;11947;:14;11952:5;11958:1;11952:8;;;;;;;;:::i;:::-;;;;;;;;11947:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11927:3;;;;;:::i;:::-;;;;11892:88;;;;11823:164:::0;:::o;7482:143::-;7563:7;7590:11;:18;7602:5;7590:18;;;;;;;;;;;;;;;:27;7609:7;7590:27;;;;;;;;;;;;;;;;7583:34;;7482:143;;;;:::o;1503:98::-;1556:7;1583:10;1576:17;;1503:98;:::o;8123:335::-;8233:1;8216:19;;:5;:19;;;;8208:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8314:1;8295:21;;:7;:21;;;;8287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8396:6;8366:11;:18;8378:5;8366:18;;;;;;;;;;;;;;;:27;8385:7;8366:27;;;;;;;;;;;;;;;:36;;;;8434:7;8418:32;;8427:5;8418:32;;;8443:6;8418:32;;;;;;:::i;:::-;;;;;;;;8123:335;;;:::o;8466:2446::-;8570:1;8554:18;;:4;:18;;;;8546:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8647:1;8633:16;;:2;:16;;;;8625:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8717:1;8708:6;:10;8700:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8775:17;8817:7;:5;:7::i;:::-;8809:15;;:4;:15;;;;:32;;;;;8834:7;:5;:7::i;:::-;8828:13;;:2;:13;;;;8809:32;8805:1751;;;8867:4;:10;8872:4;8867:10;;;;;;;;;;;;;;;;;;;;;;;;;8866:11;:24;;;;;8882:4;:8;8887:2;8882:8;;;;;;;;;;;;;;;;;;;;;;;;;8881:9;8866:24;8858:33;;;;;;8918:76;8990:3;8918:67;8940:15;;8930:9;;:25;8929:55;;8970:14;;8929:55;;;8957:12;;8929:55;8918:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8906:88;;9015:20;;;;;;;;;;;9011:508;;;9076:15;;;;;;;;;;;9062:30;;:2;:30;;;;:62;;;;;9110:13;;;;;;;;;;;9096:28;;:2;:28;;;;9062:62;9058:444;;;9260:12;9187:28;:39;9216:9;9187:39;;;;;;;;;;;;;;;;:85;9151:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;9468:12;9426:28;:39;9455:9;9426:39;;;;;;;;;;;;;;;:54;;;;9058:444;9011:508;9547:13;;;;;;;;;;;9539:21;;:4;:21;;;:55;;;;;9578:15;;;;;;;;;;;9564:30;;:2;:30;;;;9539:55;:83;;;;;9600:18;:22;9619:2;9600:22;;;;;;;;;;;;;;;;;;;;;;;;;9598:24;9539:83;9535:313;;;9662:12;;9652:6;:22;;9644:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9757:14;;9747:6;9731:13;9741:2;9731:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9723:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9821:9;;:11;;;;;;;;;:::i;:::-;;;;;;9535:313;9873:13;;;;;;;;;;;9867:19;;:2;:19;;;:43;;;;;9905:4;9890:20;;:4;:20;;;;9867:43;9864:174;;;9943:79;10018:3;9943:70;9965:16;;9955:9;;:26;9954:58;;9997:15;;9954:58;;;9983:13;;9954:58;9943:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9931:91;;9864:174;10054:28;10085:24;10103:4;10085:9;:24::i;:::-;10054:55;;10129:6;;;;;;;;;;;10128:7;:32;;;;;10147:13;;;;;;;;;;;10139:21;;:2;:21;;;10128:32;:47;;;;;10164:11;;;;;;;;;;;10128:47;:89;;;;;10200:17;;10179:20;:38;10128:89;:121;;;;;10231:18;;10221:9;;:28;10128:121;10124:421;;;10270:67;10287:49;10291:6;10298:37;10302:20;10323:11;;10298:3;:37::i;:::-;10287:3;:49::i;:::-;10270:16;:67::i;:::-;10356:26;10385:21;10356:50;;10449:1;10428:18;:22;10425:105;;;10475:35;10488:21;10475:12;:35::i;:::-;10425:105;10251:294;10124:421;8843:1713;8805:1751;10581:1;10571:9;:11;10568:161;;;10621:39;10650:9;10621;:24;10639:4;10621:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10596:9;:24;10614:4;10596:24;;;;;;;;;;;;;;;:64;;;;10701:4;10678:39;;10687:4;10678:39;;;10707:9;10678:39;;;;;;:::i;:::-;;;;;;;;10568:161;10755:27;10775:6;10755:9;:15;10765:4;10755:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10739:9;:15;10749:4;10739:15;;;;;;;;;;;;;;;:43;;;;10807:40;10825:21;10836:9;10825:6;:10;;:21;;;;:::i;:::-;10807:9;:13;10817:2;10807:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10793:9;:13;10803:2;10793:13;;;;;;;;;;;;;;;:54;;;;10878:2;10863:41;;10872:4;10863:41;;;10882:21;10893:9;10882:6;:10;;:21;;;;:::i;:::-;10863:41;;;;;;:::i;:::-;;;;;;;;8535:2377;8466:2446;;;:::o;2640:190::-;2726:7;2759:1;2754;:6;;2762:12;2746:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2786:9;2802:1;2798;:5;;;;:::i;:::-;2786:17;;2821:1;2814:8;;;2640:190;;;;;:::o;11028:483::-;6418:4;6409:6;;:13;;;;;;;;;;;;;;;;;;11106:21:::1;11144:1;11130:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11106:40;;11175:4;11157;11162:1;11157:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11201:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11191:4;11196:1;11191:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11234:62;11251:4;11266:15;;;;;;;;;;;11284:11;11234:8;:62::i;:::-;11307:15;;;;;;;;;;;:66;;;11388:11;11414:1;11430:4;11457;11477:15;11307:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11095:416;6454:5:::0;6445:6;;:14;;;;;;;;;;;;;;;;;;11028:483;:::o;11723:92::-;11780:10;;;;;;;;;;;:19;;:27;11800:6;11780:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11723:92;:::o;2838:246::-;2896:7;2925:1;2920;:6;2916:47;;;2950:1;2943:8;;;;2916:47;2973:9;2989:1;2985;:5;;;;:::i;:::-;2973:17;;3018:1;3013;3009;:5;;;;:::i;:::-;:10;3001:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3075:1;3068:8;;;2838:246;;;;;:::o;3092:132::-;3150:7;3177:39;3181:1;3184;3177:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3170:46;;3092:132;;;;:::o;10922:98::-;10979:7;11006:1;11004;:3;11003:9;;11011:1;11003:9;;;11009:1;11003:9;10996:16;;10922:98;;;;:::o;2309:179::-;2367:7;2387:9;2403:1;2399;:5;;;;:::i;:::-;2387:17;;2428:1;2423;:6;;2415:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2479:1;2472:8;;;2309:179;;;;:::o;2496:136::-;2554:7;2581:43;2585:1;2588;2581:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2574:50;;2496:136;;;;:::o;3232:189::-;3318:7;3350:1;3346;:5;3353:12;3338:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3377:9;3393:1;3389;:5;;;;:::i;:::-;3377:17;;3412:1;3405:8;;;3232:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:117::-;5010:1;5007;5000:12;5024:180;5072:77;5069:1;5062:88;5169:4;5166:1;5159:15;5193:4;5190:1;5183:15;5210:281;5293:27;5315:4;5293:27;:::i;:::-;5285:6;5281:40;5423:6;5411:10;5408:22;5387:18;5375:10;5372:34;5369:62;5366:88;;;5434:18;;:::i;:::-;5366:88;5474:10;5470:2;5463:22;5253:238;5210:281;;:::o;5497:129::-;5531:6;5558:20;;:::i;:::-;5548:30;;5587:33;5615:4;5607:6;5587:33;:::i;:::-;5497:129;;;:::o;5632:311::-;5709:4;5799:18;5791:6;5788:30;5785:56;;;5821:18;;:::i;:::-;5785:56;5871:4;5863:6;5859:17;5851:25;;5931:4;5925;5921:15;5913:23;;5632:311;;;:::o;5949:117::-;6058:1;6055;6048:12;6089:710;6185:5;6210:81;6226:64;6283:6;6226:64;:::i;:::-;6210:81;:::i;:::-;6201:90;;6311:5;6340:6;6333:5;6326:21;6374:4;6367:5;6363:16;6356:23;;6427:4;6419:6;6415:17;6407:6;6403:30;6456:3;6448:6;6445:15;6442:122;;;6475:79;;:::i;:::-;6442:122;6590:6;6573:220;6607:6;6602:3;6599:15;6573:220;;;6682:3;6711:37;6744:3;6732:10;6711:37;:::i;:::-;6706:3;6699:50;6778:4;6773:3;6769:14;6762:21;;6649:144;6633:4;6628:3;6624:14;6617:21;;6573:220;;;6577:21;6191:608;;6089:710;;;;;:::o;6822:370::-;6893:5;6942:3;6935:4;6927:6;6923:17;6919:27;6909:122;;6950:79;;:::i;:::-;6909:122;7067:6;7054:20;7092:94;7182:3;7174:6;7167:4;7159:6;7155:17;7092:94;:::i;:::-;7083:103;;6899:293;6822:370;;;;:::o;7198:539::-;7282:6;7331:2;7319:9;7310:7;7306:23;7302:32;7299:119;;;7337:79;;:::i;:::-;7299:119;7485:1;7474:9;7470:17;7457:31;7515:18;7507:6;7504:30;7501:117;;;7537:79;;:::i;:::-;7501:117;7642:78;7712:7;7703:6;7692:9;7688:22;7642:78;:::i;:::-;7632:88;;7428:302;7198:539;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:180::-;8958:77;8955:1;8948:88;9055:4;9052:1;9045:15;9079:4;9076:1;9069:15;9096:102;9138:8;9185:5;9182:1;9178:13;9157:34;;9096:102;;;:::o;9204:848::-;9265:5;9272:4;9296:6;9287:15;;9320:5;9311:14;;9334:712;9355:1;9345:8;9342:15;9334:712;;;9450:4;9445:3;9441:14;9435:4;9432:24;9429:50;;;9459:18;;:::i;:::-;9429:50;9509:1;9499:8;9495:16;9492:451;;;9924:4;9917:5;9913:16;9904:25;;9492:451;9974:4;9968;9964:15;9956:23;;10004:32;10027:8;10004:32;:::i;:::-;9992:44;;9334:712;;;9204:848;;;;;;;:::o;10058:1073::-;10112:5;10303:8;10293:40;;10324:1;10315:10;;10326:5;;10293:40;10352:4;10342:36;;10369:1;10360:10;;10371:5;;10342:36;10438:4;10486:1;10481:27;;;;10522:1;10517:191;;;;10431:277;;10481:27;10499:1;10490:10;;10501:5;;;10517:191;10562:3;10552:8;10549:17;10546:43;;;10569:18;;:::i;:::-;10546:43;10618:8;10615:1;10611:16;10602:25;;10653:3;10646:5;10643:14;10640:40;;;10660:18;;:::i;:::-;10640:40;10693:5;;;10431:277;;10817:2;10807:8;10804:16;10798:3;10792:4;10789:13;10785:36;10767:2;10757:8;10754:16;10749:2;10743:4;10740:12;10736:35;10720:111;10717:246;;;10873:8;10867:4;10863:19;10854:28;;10908:3;10901:5;10898:14;10895:40;;;10915:18;;:::i;:::-;10895:40;10948:5;;10717:246;10988:42;11026:3;11016:8;11010:4;11007:1;10988:42;:::i;:::-;10973:57;;;;11062:4;11057:3;11053:14;11046:5;11043:25;11040:51;;;11071:18;;:::i;:::-;11040:51;11120:4;11113:5;11109:16;11100:25;;10058:1073;;;;;;:::o;11137:281::-;11195:5;11219:23;11237:4;11219:23;:::i;:::-;11211:31;;11263:25;11279:8;11263:25;:::i;:::-;11251:37;;11307:104;11344:66;11334:8;11328:4;11307:104;:::i;:::-;11298:113;;11137:281;;;;:::o;11424:348::-;11464:7;11487:20;11505:1;11487:20;:::i;:::-;11482:25;;11521:20;11539:1;11521:20;:::i;:::-;11516:25;;11709:1;11641:66;11637:74;11634:1;11631:81;11626:1;11619:9;11612:17;11608:105;11605:131;;;11716:18;;:::i;:::-;11605:131;11764:1;11761;11757:9;11746:20;;11424:348;;;;:::o;11778:182::-;11918:34;11914:1;11906:6;11902:14;11895:58;11778:182;:::o;11966:366::-;12108:3;12129:67;12193:2;12188:3;12129:67;:::i;:::-;12122:74;;12205:93;12294:3;12205:93;:::i;:::-;12323:2;12318:3;12314:12;12307:19;;11966:366;;;:::o;12338:419::-;12504:4;12542:2;12531:9;12527:18;12519:26;;12591:9;12585:4;12581:20;12577:1;12566:9;12562:17;12555:47;12619:131;12745:4;12619:131;:::i;:::-;12611:139;;12338:419;;;:::o;12763:180::-;12811:77;12808:1;12801:88;12908:4;12905:1;12898:15;12932:4;12929:1;12922:15;12949:233;12988:3;13011:24;13029:5;13011:24;:::i;:::-;13002:33;;13057:66;13050:5;13047:77;13044:103;;;13127:18;;:::i;:::-;13044:103;13174:1;13167:5;13163:13;13156:20;;12949:233;;;:::o;13188:173::-;13328:25;13324:1;13316:6;13312:14;13305:49;13188:173;:::o;13367:366::-;13509:3;13530:67;13594:2;13589:3;13530:67;:::i;:::-;13523:74;;13606:93;13695:3;13606:93;:::i;:::-;13724:2;13719:3;13715:12;13708:19;;13367:366;;;:::o;13739:419::-;13905:4;13943:2;13932:9;13928:18;13920:26;;13992:9;13986:4;13982:20;13978:1;13967:9;13963:17;13956:47;14020:131;14146:4;14020:131;:::i;:::-;14012:139;;13739:419;;;:::o;14164:143::-;14221:5;14252:6;14246:13;14237:22;;14268:33;14295:5;14268:33;:::i;:::-;14164:143;;;;:::o;14313:351::-;14383:6;14432:2;14420:9;14411:7;14407:23;14403:32;14400:119;;;14438:79;;:::i;:::-;14400:119;14558:1;14583:64;14639:7;14630:6;14619:9;14615:22;14583:64;:::i;:::-;14573:74;;14529:128;14313:351;;;;:::o;14670:332::-;14791:4;14829:2;14818:9;14814:18;14806:26;;14842:71;14910:1;14899:9;14895:17;14886:6;14842:71;:::i;:::-;14923:72;14991:2;14980:9;14976:18;14967:6;14923:72;:::i;:::-;14670:332;;;;;:::o;15008:85::-;15053:7;15082:5;15071:16;;15008:85;;;:::o;15099:60::-;15127:3;15148:5;15141:12;;15099:60;;;:::o;15165:158::-;15223:9;15256:61;15274:42;15283:32;15309:5;15283:32;:::i;:::-;15274:42;:::i;:::-;15256:61;:::i;:::-;15243:74;;15165:158;;;:::o;15329:147::-;15424:45;15463:5;15424:45;:::i;:::-;15419:3;15412:58;15329:147;;:::o;15482:807::-;15731:4;15769:3;15758:9;15754:19;15746:27;;15783:71;15851:1;15840:9;15836:17;15827:6;15783:71;:::i;:::-;15864:72;15932:2;15921:9;15917:18;15908:6;15864:72;:::i;:::-;15946:80;16022:2;16011:9;16007:18;15998:6;15946:80;:::i;:::-;16036;16112:2;16101:9;16097:18;16088:6;16036:80;:::i;:::-;16126:73;16194:3;16183:9;16179:19;16170:6;16126:73;:::i;:::-;16209;16277:3;16266:9;16262:19;16253:6;16209:73;:::i;:::-;15482:807;;;;;;;;;:::o;16295:143::-;16352:5;16383:6;16377:13;16368:22;;16399:33;16426:5;16399:33;:::i;:::-;16295:143;;;;:::o;16444:663::-;16532:6;16540;16548;16597:2;16585:9;16576:7;16572:23;16568:32;16565:119;;;16603:79;;:::i;:::-;16565:119;16723:1;16748:64;16804:7;16795:6;16784:9;16780:22;16748:64;:::i;:::-;16738:74;;16694:128;16861:2;16887:64;16943:7;16934:6;16923:9;16919:22;16887:64;:::i;:::-;16877:74;;16832:129;17000:2;17026:64;17082:7;17073:6;17062:9;17058:22;17026:64;:::i;:::-;17016:74;;16971:129;16444:663;;;;;:::o;17113:332::-;17234:4;17272:2;17261:9;17257:18;17249:26;;17285:71;17353:1;17342:9;17338:17;17329:6;17285:71;:::i;:::-;17366:72;17434:2;17423:9;17419:18;17410:6;17366:72;:::i;:::-;17113:332;;;;;:::o;17451:116::-;17521:21;17536:5;17521:21;:::i;:::-;17514:5;17511:32;17501:60;;17557:1;17554;17547:12;17501:60;17451:116;:::o;17573:137::-;17627:5;17658:6;17652:13;17643:22;;17674:30;17698:5;17674:30;:::i;:::-;17573:137;;;;:::o;17716:345::-;17783:6;17832:2;17820:9;17811:7;17807:23;17803:32;17800:119;;;17838:79;;:::i;:::-;17800:119;17958:1;17983:61;18036:7;18027:6;18016:9;18012:22;17983:61;:::i;:::-;17973:71;;17929:125;17716:345;;;;:::o;18067:223::-;18207:34;18203:1;18195:6;18191:14;18184:58;18276:6;18271:2;18263:6;18259:15;18252:31;18067:223;:::o;18296:366::-;18438:3;18459:67;18523:2;18518:3;18459:67;:::i;:::-;18452:74;;18535:93;18624:3;18535:93;:::i;:::-;18653:2;18648:3;18644:12;18637:19;;18296:366;;;:::o;18668:419::-;18834:4;18872:2;18861:9;18857:18;18849:26;;18921:9;18915:4;18911:20;18907:1;18896:9;18892:17;18885:47;18949:131;19075:4;18949:131;:::i;:::-;18941:139;;18668:419;;;:::o;19093:221::-;19233:34;19229:1;19221:6;19217:14;19210:58;19302:4;19297:2;19289:6;19285:15;19278:29;19093:221;:::o;19320:366::-;19462:3;19483:67;19547:2;19542:3;19483:67;:::i;:::-;19476:74;;19559:93;19648:3;19559:93;:::i;:::-;19677:2;19672:3;19668:12;19661:19;;19320:366;;;:::o;19692:419::-;19858:4;19896:2;19885:9;19881:18;19873:26;;19945:9;19939:4;19935:20;19931:1;19920:9;19916:17;19909:47;19973:131;20099:4;19973:131;:::i;:::-;19965:139;;19692:419;;;:::o;20117:224::-;20257:34;20253:1;20245:6;20241:14;20234:58;20326:7;20321:2;20313:6;20309:15;20302:32;20117:224;:::o;20347:366::-;20489:3;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20503:74;;20586:93;20675:3;20586:93;:::i;:::-;20704:2;20699:3;20695:12;20688:19;;20347:366;;;:::o;20719:419::-;20885:4;20923:2;20912:9;20908:18;20900:26;;20972:9;20966:4;20962:20;20958:1;20947:9;20943:17;20936:47;21000:131;21126:4;21000:131;:::i;:::-;20992:139;;20719:419;;;:::o;21144:222::-;21284:34;21280:1;21272:6;21268:14;21261:58;21353:5;21348:2;21340:6;21336:15;21329:30;21144:222;:::o;21372:366::-;21514:3;21535:67;21599:2;21594:3;21535:67;:::i;:::-;21528:74;;21611:93;21700:3;21611:93;:::i;:::-;21729:2;21724:3;21720:12;21713:19;;21372:366;;;:::o;21744:419::-;21910:4;21948:2;21937:9;21933:18;21925:26;;21997:9;21991:4;21987:20;21983:1;21972:9;21968:17;21961:47;22025:131;22151:4;22025:131;:::i;:::-;22017:139;;21744:419;;;:::o;22169:228::-;22309:34;22305:1;22297:6;22293:14;22286:58;22378:11;22373:2;22365:6;22361:15;22354:36;22169:228;:::o;22403:366::-;22545:3;22566:67;22630:2;22625:3;22566:67;:::i;:::-;22559:74;;22642:93;22731:3;22642:93;:::i;:::-;22760:2;22755:3;22751:12;22744:19;;22403:366;;;:::o;22775:419::-;22941:4;22979:2;22968:9;22964:18;22956:26;;23028:9;23022:4;23018:20;23014:1;23003:9;22999:17;22992:47;23056:131;23182:4;23056:131;:::i;:::-;23048:139;;22775:419;;;:::o;23200:297::-;23340:34;23336:1;23328:6;23324:14;23317:58;23409:34;23404:2;23396:6;23392:15;23385:59;23478:11;23473:2;23465:6;23461:15;23454:36;23200:297;:::o;23503:366::-;23645:3;23666:67;23730:2;23725:3;23666:67;:::i;:::-;23659:74;;23742:93;23831:3;23742:93;:::i;:::-;23860:2;23855:3;23851:12;23844:19;;23503:366;;;:::o;23875:419::-;24041:4;24079:2;24068:9;24064:18;24056:26;;24128:9;24122:4;24118:20;24114:1;24103:9;24099:17;24092:47;24156:131;24282:4;24156:131;:::i;:::-;24148:139;;23875:419;;;:::o;24300:175::-;24440:27;24436:1;24428:6;24424:14;24417:51;24300:175;:::o;24481:366::-;24623:3;24644:67;24708:2;24703:3;24644:67;:::i;:::-;24637:74;;24720:93;24809:3;24720:93;:::i;:::-;24838:2;24833:3;24829:12;24822:19;;24481:366;;;:::o;24853:419::-;25019:4;25057:2;25046:9;25042:18;25034:26;;25106:9;25100:4;25096:20;25092:1;25081:9;25077:17;25070:47;25134:131;25260:4;25134:131;:::i;:::-;25126:139;;24853:419;;;:::o;25278:305::-;25318:3;25337:20;25355:1;25337:20;:::i;:::-;25332:25;;25371:20;25389:1;25371:20;:::i;:::-;25366:25;;25525:1;25457:66;25453:74;25450:1;25447:81;25444:107;;;25531:18;;:::i;:::-;25444:107;25575:1;25572;25568:9;25561:16;;25278:305;;;;:::o;25589:176::-;25729:28;25725:1;25717:6;25713:14;25706:52;25589:176;:::o;25771:366::-;25913:3;25934:67;25998:2;25993:3;25934:67;:::i;:::-;25927:74;;26010:93;26099:3;26010:93;:::i;:::-;26128:2;26123:3;26119:12;26112:19;;25771:366;;;:::o;26143:419::-;26309:4;26347:2;26336:9;26332:18;26324:26;;26396:9;26390:4;26386:20;26382:1;26371:9;26367:17;26360:47;26424:131;26550:4;26424:131;:::i;:::-;26416:139;;26143:419;;;:::o;26568:191::-;26608:4;26628:20;26646:1;26628:20;:::i;:::-;26623:25;;26662:20;26680:1;26662:20;:::i;:::-;26657:25;;26701:1;26698;26695:8;26692:34;;;26706:18;;:::i;:::-;26692:34;26751:1;26748;26744:9;26736:17;;26568:191;;;;:::o;26765:114::-;26832:6;26866:5;26860:12;26850:22;;26765:114;;;:::o;26885:184::-;26984:11;27018:6;27013:3;27006:19;27058:4;27053:3;27049:14;27034:29;;26885:184;;;;:::o;27075:132::-;27142:4;27165:3;27157:11;;27195:4;27190:3;27186:14;27178:22;;27075:132;;;:::o;27213:108::-;27290:24;27308:5;27290:24;:::i;:::-;27285:3;27278:37;27213:108;;:::o;27327:179::-;27396:10;27417:46;27459:3;27451:6;27417:46;:::i;:::-;27495:4;27490:3;27486:14;27472:28;;27327:179;;;;:::o;27512:113::-;27582:4;27614;27609:3;27605:14;27597:22;;27512:113;;;:::o;27661:732::-;27780:3;27809:54;27857:5;27809:54;:::i;:::-;27879:86;27958:6;27953:3;27879:86;:::i;:::-;27872:93;;27989:56;28039:5;27989:56;:::i;:::-;28068:7;28099:1;28084:284;28109:6;28106:1;28103:13;28084:284;;;28185:6;28179:13;28212:63;28271:3;28256:13;28212:63;:::i;:::-;28205:70;;28298:60;28351:6;28298:60;:::i;:::-;28288:70;;28144:224;28131:1;28128;28124:9;28119:14;;28084:284;;;28088:14;28384:3;28377:10;;27785:608;;;27661:732;;;;:::o;28399:831::-;28662:4;28700:3;28689:9;28685:19;28677:27;;28714:71;28782:1;28771:9;28767:17;28758:6;28714:71;:::i;:::-;28795:80;28871:2;28860:9;28856:18;28847:6;28795:80;:::i;:::-;28922:9;28916:4;28912:20;28907:2;28896:9;28892:18;28885:48;28950:108;29053:4;29044:6;28950:108;:::i;:::-;28942:116;;29068:72;29136:2;29125:9;29121:18;29112:6;29068:72;:::i;:::-;29150:73;29218:3;29207:9;29203:19;29194:6;29150:73;:::i;:::-;28399:831;;;;;;;;:::o;29236:180::-;29284:77;29281:1;29274:88;29381:4;29378:1;29371:15;29405:4;29402:1;29395:15;29422:185;29462:1;29479:20;29497:1;29479:20;:::i;:::-;29474:25;;29513:20;29531:1;29513:20;:::i;:::-;29508:25;;29552:1;29542:35;;29557:18;;:::i;:::-;29542:35;29599:1;29596;29592:9;29587:14;;29422:185;;;;:::o;29613:220::-;29753:34;29749:1;29741:6;29737:14;29730:58;29822:3;29817:2;29809:6;29805:15;29798:28;29613:220;:::o;29839:366::-;29981:3;30002:67;30066:2;30061:3;30002:67;:::i;:::-;29995:74;;30078:93;30167:3;30078:93;:::i;:::-;30196:2;30191:3;30187:12;30180:19;;29839:366;;;:::o;30211:419::-;30377:4;30415:2;30404:9;30400:18;30392:26;;30464:9;30458:4;30454:20;30450:1;30439:9;30435:17;30428:47;30492:131;30618:4;30492:131;:::i;:::-;30484:139;;30211:419;;;:::o;30636:177::-;30776:29;30772:1;30764:6;30760:14;30753:53;30636:177;:::o;30819:366::-;30961:3;30982:67;31046:2;31041:3;30982:67;:::i;:::-;30975:74;;31058:93;31147:3;31058:93;:::i;:::-;31176:2;31171:3;31167:12;31160:19;;30819:366;;;:::o;31191:419::-;31357:4;31395:2;31384:9;31380:18;31372:26;;31444:9;31438:4;31434:20;31430:1;31419:9;31415:17;31408:47;31472:131;31598:4;31472:131;:::i;:::-;31464:139;;31191:419;;;:::o
Swarm Source
ipfs://c064d82289220977f979fc264124b688f8fa13ac6749003c4ca38965a35e7049
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.