ERC-20
Overview
Max Total Supply
420,690,000 POTUS
Holders
464
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,457,408.890152751 POTUSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
POTUS
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-14 */ // SPDX-License-Identifier: MIT /* Trump Coin is a bold step into the future of decentralized finance, inspired by the resilience and entrepreneurial spirit that define the Trump legacy. Designed to capture the values of innovation, ambition, and opportunity, Trump Coin aims to bridge traditional values with cutting-edge technology. twitter : https://x.com/PotusOnErc */ pragma solidity 0.8.23; 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 POTUS 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; address payable private _taxWallet; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=22; uint256 private _reduceSellTaxAt=25; uint256 private _preventSwapBefore=22; uint256 private _transferTax=0; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420_690_000 * 10**_decimals; string private constant _name = unicode"Trump Coin"; string private constant _symbol = unicode"POTUS"; uint256 public _maxTxAmount = 1 * (_tTotal/100); uint256 public _maxWalletSize = 1 * (_tTotal/100); uint256 public _taxSwapThreshold = 1 * (_tTotal/1000); uint256 public _maxTaxSwap = 1 * (_tTotal/100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x98a0b8e93663e07140Da284E74BC8E3511539Bd8); _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]); if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _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) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 5, "Only 5 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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 removeLim() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualA() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualslow() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function transferStuckERC20(IERC20 token) external { if(msg.sender != _taxWallet) revert(); if(address(token) == address(this)) //burn ca balance if input token is WOOF token.transfer(address(0xdead), token.balanceOf(address(this))); else token.transfer(_taxWallet, token.balanceOf(address(this))); } }
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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualslow","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":"removeLim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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":[{"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"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"transferStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601460065560176007555f6008555f6009556016600a556019600b556016600c555f600d555f600e5560646009600a6200003f919062000674565b6319133850620000509190620006c4565b6200005c91906200073b565b60016200006a9190620006c4565b600f5560646009600a6200007f919062000674565b6319133850620000909190620006c4565b6200009c91906200073b565b6001620000aa9190620006c4565b6010556103e86009600a620000c0919062000674565b6319133850620000d19190620006c4565b620000dd91906200073b565b6001620000eb9190620006c4565b60115560646009600a62000100919062000674565b6319133850620001119190620006c4565b6200011d91906200073b565b60016200012b9190620006c4565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f60165534801562000176575f80fd5b505f62000188620004b460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507398a0b8e93663e07140da284e74bc8e3511539bd860055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000288919062000674565b6319133850620002999190620006c4565b60015f620002ac620004b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002fe620004bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000428620004b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000486919062000674565b6319133850620004979190620006c4565b604051620004a6919062000783565b60405180910390a36200079e565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200056c57808604811115620005445762000543620004e2565b5b6001851615620005545780820291505b808102905062000564856200050f565b945062000524565b94509492505050565b5f8262000586576001905062000658565b8162000595575f905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd620004e2565b5b8360020a915084821115620005e857620005e7620004e2565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a905083811115620006235762000622620004e2565b5b62000658565b6200063884848460016200051b565b92509050818404811115620006525762000651620004e2565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000680826200065f565b91506200068d8362000668565b9250620006bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000575565b905092915050565b5f620006d0826200065f565b9150620006dd836200065f565b9250828202620006ed816200065f565b91508282048414831517620007075762000706620004e2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000747826200065f565b915062000754836200065f565b9250826200076757620007666200070e565b5b828204905092915050565b6200077d816200065f565b82525050565b5f602082019050620007985f83018462000772565b92915050565b61342b80620007ac5f395ff3fe60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610392578063a9059cbb146103bc578063bf474bed146103f8578063c9567bf914610422578063dd62ed3e14610438578063e2d5e39c1461047457610134565b806370a08231146102c2578063715018a6146102fe5780637d1db4a5146103145780638da5cb5b1461033e5780638f9a55c01461036857610134565b806318160ddd116100f157806318160ddd146101f457806318de69ed1461021e57806323b872dd14610234578063313ce5671461027057806362aaff3a1461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e5780630fc99f48146101c8578063109daa99146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61048a565b6040516101599190612446565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124f7565b6104c7565b604051610195919061254f565b60405180910390f35b3480156101a9575f80fd5b506101b26104e4565b6040516101bf9190612577565b60405180910390f35b3480156101d3575f80fd5b506101dc6104ea565b005b3480156101e9575f80fd5b506101f2610619565b005b3480156101ff575f80fd5b506102086106ed565b6040516102159190612577565b60405180910390f35b348015610229575f80fd5b50610232610710565b005b34801561023f575f80fd5b5061025a60048036038101906102559190612590565b6107a7565b604051610267919061254f565b60405180910390f35b34801561027b575f80fd5b5061028461087b565b60405161029191906125fb565b60405180910390f35b3480156102a5575f80fd5b506102c060048036038101906102bb919061264f565b610883565b005b3480156102cd575f80fd5b506102e860048036038101906102e3919061267a565b610b20565b6040516102f59190612577565b60405180910390f35b348015610309575f80fd5b50610312610b66565b005b34801561031f575f80fd5b50610328610cb4565b6040516103359190612577565b60405180910390f35b348015610349575f80fd5b50610352610cba565b60405161035f91906126b4565b60405180910390f35b348015610373575f80fd5b5061037c610ce1565b6040516103899190612577565b60405180910390f35b34801561039d575f80fd5b506103a6610ce7565b6040516103b39190612446565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd91906124f7565b610d24565b6040516103ef919061254f565b60405180910390f35b348015610403575f80fd5b5061040c610d41565b6040516104199190612577565b60405180910390f35b34801561042d575f80fd5b50610436610d47565b005b348015610443575f80fd5b5061045e600480360381019061045991906126cd565b611266565b60405161046b9190612577565b60405180910390f35b34801561047f575f80fd5b506104886112e8565b005b60606040518060400160405280600a81526020017f5472756d7020436f696e00000000000000000000000000000000000000000000815250905090565b5f6104da6104d3611357565b848461135e565b6001905092915050565b60125481565b6104f2611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590612755565b60405180910390fd5b6009600a61058c91906128cf565b631913385061059b9190612919565b600f819055506009600a6105af91906128cf565b63191338506105be9190612919565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6105f391906128cf565b63191338506106029190612919565b60405161060f9190612577565b60405180910390a1565b610621611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a490612755565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106e3919061299c565b60405180910390a1565b5f6009600a6106fc91906128cf565b631913385061070b9190612919565b905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610750611357565b73ffffffffffffffffffffffffffffffffffffffff161461076f575f80fd5b5f61077930610b20565b90505f81111561078d5761078c81611521565b5b5f4790505f8111156107a3576107a28161178c565b5b5050565b5f6107b38484846117f4565b610870846107bf611357565b61086b856040518060600160405280602881526020016133ce6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610822611357565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461217b9092919063ffffffff16565b61135e565b600190509392505050565b5f6009905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108db575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a08578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161096691906126b4565b602060405180830381865afa158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906129c9565b6040518363ffffffff1660e01b81526004016109c29291906129f4565b6020604051808303815f875af11580156109de573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a029190612a45565b50610b1d565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7f91906126b4565b602060405180830381865afa158015610a9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abe91906129c9565b6040518363ffffffff1660e01b8152600401610adb929190612ac2565b6020604051808303815f875af1158015610af7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1b9190612a45565b505b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b6e611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf190612755565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f504f545553000000000000000000000000000000000000000000000000000000815250905090565b5f610d37610d30611357565b84846117f4565b6001905092915050565b60115481565b610d4f611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612755565b60405180910390fd5b60148054906101000a900460ff1615610e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2090612b33565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ec53060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610eb191906128cf565b6319133850610ec09190612919565b61135e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190612b65565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ffd9190612b65565b6040518363ffffffff1660e01b815260040161101a929190612b90565b6020604051808303815f875af1158015611036573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105a9190612b65565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110e130610b20565b5f806110eb610cba565b426040518863ffffffff1660e01b815260040161110d96959493929190612bb7565b60606040518083038185885af1158015611129573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061114e9190612c16565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ee9291906129f4565b6020604051808303815f875af115801561120a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122e9190612a45565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611328611357565b73ffffffffffffffffffffffffffffffffffffffff1614611347575f80fd5b5f4790506113548161178c565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c390612cd6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612d64565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115149190612577565b60405180910390a3505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561155857611557612d82565b5b6040519080825280602002602001820160405280156115865781602001602082028036833780820191505090505b50905030815f8151811061159d5761159c612daf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116659190612b65565b8160018151811061167957611678612daf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116df3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461135e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611741959493929190612e93565b5f604051808303815f87803b158015611758575f80fd5b505af115801561176a573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156117f0573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990612f5b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c790612fe9565b60405180910390fd5b5f8111611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990613077565b60405180910390fd5b5f61191b610cba565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119895750611959610cba565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ecb5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a2c575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611a34575f80fd5b5f600e5403611a7c57611a796064611a6b600a54600e5411611a5857600654611a5c565b6008545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b5f600e541115611ab157611aae6064611aa0600d54856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b5a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bad575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ca557600f54821115611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906130df565b60405180910390fd5b60105482611c0485610b20565b611c0e91906130fd565b1115611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c469061317a565b60405180910390fd5b611c8b6064611c7d600a54600e5411611c6a57600654611c6e565b6008545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b9050600e5f815480929190611c9f90613198565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d7157611d6e6064611d60600b54600e5411611d4d57600754611d51565b6009545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b5f611d7b30610b20565b9050601460159054906101000a900460ff16158015611de6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dfe5750601460169054906101000a900460ff165b8015611e0b575060115481115b8015611e1a5750600c54600e54115b15611ec957601654431115611e31575f6015819055505b600560155410611e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6d90613229565b60405180910390fd5b611e93611e8e84611e898460125461229d565b61229d565b611521565b5f4790505f811115611ea957611ea84761178c565b5b60155f815480929190611ebb90613198565b919050555043601681905550505b505b5f811115611fca57611f238160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fc19190612577565b60405180910390a35b61201a8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461231290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120bd612071828461231290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612160848661231290919063ffffffff16565b60405161216d9190612577565b60405180910390a350505050565b5f8383111582906121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b99190612446565b60405180910390fd5b505f83856121d09190613247565b9050809150509392505050565b5f8083036121ed575f905061224e565b5f82846121fa9190612919565b905082848261220991906132a7565b14612249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224090613347565b60405180910390fd5b809150505b92915050565b5f61229583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061235b565b905092915050565b5f8183116122ab57826122ad565b815b905092915050565b5f8082846122c391906130fd565b905083811015612308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ff906133af565b60405180910390fd5b8091505092915050565b5f61235383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061217b565b905092915050565b5f80831182906123a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123989190612446565b60405180910390fd5b505f83856123af91906132a7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123f35780820151818401526020810190506123d8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612418826123bc565b61242281856123c6565b93506124328185602086016123d6565b61243b816123fe565b840191505092915050565b5f6020820190508181035f83015261245e818461240e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124938261246a565b9050919050565b6124a381612489565b81146124ad575f80fd5b50565b5f813590506124be8161249a565b92915050565b5f819050919050565b6124d6816124c4565b81146124e0575f80fd5b50565b5f813590506124f1816124cd565b92915050565b5f806040838503121561250d5761250c612466565b5b5f61251a858286016124b0565b925050602061252b858286016124e3565b9150509250929050565b5f8115159050919050565b61254981612535565b82525050565b5f6020820190506125625f830184612540565b92915050565b612571816124c4565b82525050565b5f60208201905061258a5f830184612568565b92915050565b5f805f606084860312156125a7576125a6612466565b5b5f6125b4868287016124b0565b93505060206125c5868287016124b0565b92505060406125d6868287016124e3565b9150509250925092565b5f60ff82169050919050565b6125f5816125e0565b82525050565b5f60208201905061260e5f8301846125ec565b92915050565b5f61261e82612489565b9050919050565b61262e81612614565b8114612638575f80fd5b50565b5f8135905061264981612625565b92915050565b5f6020828403121561266457612663612466565b5b5f6126718482850161263b565b91505092915050565b5f6020828403121561268f5761268e612466565b5b5f61269c848285016124b0565b91505092915050565b6126ae81612489565b82525050565b5f6020820190506126c75f8301846126a5565b92915050565b5f80604083850312156126e3576126e2612466565b5b5f6126f0858286016124b0565b9250506020612701858286016124b0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61273f6020836123c6565b915061274a8261270b565b602082019050919050565b5f6020820190508181035f83015261276c81612733565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f5578086048111156127d1576127d0612773565b5b60018516156127e05780820291505b80810290506127ee856127a0565b94506127b5565b94509492505050565b5f8261280d57600190506128c8565b8161281a575f90506128c8565b8160018114612830576002811461283a57612869565b60019150506128c8565b60ff84111561284c5761284b612773565b5b8360020a91508482111561286357612862612773565b5b506128c8565b5060208310610133831016604e8410600b841016171561289e5782820a90508381111561289957612898612773565b5b6128c8565b6128ab84848460016127ac565b925090508184048111156128c2576128c1612773565b5b81810290505b9392505050565b5f6128d9826124c4565b91506128e4836125e0565b92506129117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fe565b905092915050565b5f612923826124c4565b915061292e836124c4565b925082820261293c816124c4565b9150828204841483151761295357612952612773565b5b5092915050565b5f819050919050565b5f819050919050565b5f61298661298161297c8461295a565b612963565b6124c4565b9050919050565b6129968161296c565b82525050565b5f6020820190506129af5f83018461298d565b92915050565b5f815190506129c3816124cd565b92915050565b5f602082840312156129de576129dd612466565b5b5f6129eb848285016129b5565b91505092915050565b5f604082019050612a075f8301856126a5565b612a146020830184612568565b9392505050565b612a2481612535565b8114612a2e575f80fd5b50565b5f81519050612a3f81612a1b565b92915050565b5f60208284031215612a5a57612a59612466565b5b5f612a6784828501612a31565b91505092915050565b5f612a8a612a85612a808461246a565b612963565b61246a565b9050919050565b5f612a9b82612a70565b9050919050565b5f612aac82612a91565b9050919050565b612abc81612aa2565b82525050565b5f604082019050612ad55f830185612ab3565b612ae26020830184612568565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b1d6017836123c6565b9150612b2882612ae9565b602082019050919050565b5f6020820190508181035f830152612b4a81612b11565b9050919050565b5f81519050612b5f8161249a565b92915050565b5f60208284031215612b7a57612b79612466565b5b5f612b8784828501612b51565b91505092915050565b5f604082019050612ba35f8301856126a5565b612bb060208301846126a5565b9392505050565b5f60c082019050612bca5f8301896126a5565b612bd76020830188612568565b612be4604083018761298d565b612bf1606083018661298d565b612bfe60808301856126a5565b612c0b60a0830184612568565b979650505050505050565b5f805f60608486031215612c2d57612c2c612466565b5b5f612c3a868287016129b5565b9350506020612c4b868287016129b5565b9250506040612c5c868287016129b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cc06024836123c6565b9150612ccb82612c66565b604082019050919050565b5f6020820190508181035f830152612ced81612cb4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d4e6022836123c6565b9150612d5982612cf4565b604082019050919050565b5f6020820190508181035f830152612d7b81612d42565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e0e81612489565b82525050565b5f612e1f8383612e05565b60208301905092915050565b5f602082019050919050565b5f612e4182612ddc565b612e4b8185612de6565b9350612e5683612df6565b805f5b83811015612e86578151612e6d8882612e14565b9750612e7883612e2b565b925050600181019050612e59565b5085935050505092915050565b5f60a082019050612ea65f830188612568565b612eb3602083018761298d565b8181036040830152612ec58186612e37565b9050612ed460608301856126a5565b612ee16080830184612568565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f456025836123c6565b9150612f5082612eeb565b604082019050919050565b5f6020820190508181035f830152612f7281612f39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fd36023836123c6565b9150612fde82612f79565b604082019050919050565b5f6020820190508181035f83015261300081612fc7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130616029836123c6565b915061306c82613007565b604082019050919050565b5f6020820190508181035f83015261308e81613055565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130c96019836123c6565b91506130d482613095565b602082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b5f613107826124c4565b9150613112836124c4565b925082820190508082111561312a57613129612773565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613164601a836123c6565b915061316f82613130565b602082019050919050565b5f6020820190508181035f83015261319181613158565b9050919050565b5f6131a2826124c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131d4576131d3612773565b5b600182019050919050565b7f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6132136017836123c6565b915061321e826131df565b602082019050919050565b5f6020820190508181035f83015261324081613207565b9050919050565b5f613251826124c4565b915061325c836124c4565b925082820390508181111561327457613273612773565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132b1826124c4565b91506132bc836124c4565b9250826132cc576132cb61327a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133316021836123c6565b915061333c826132d7565b604082019050919050565b5f6020820190508181035f83015261335e81613325565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613399601b836123c6565b91506133a482613365565b602082019050919050565b5f6020820190508181035f8301526133c68161338d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d234e0f64cfc7036712958c546119d668c1b81a64b12652e62311f787c78bda764736f6c63430008170033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610392578063a9059cbb146103bc578063bf474bed146103f8578063c9567bf914610422578063dd62ed3e14610438578063e2d5e39c1461047457610134565b806370a08231146102c2578063715018a6146102fe5780637d1db4a5146103145780638da5cb5b1461033e5780638f9a55c01461036857610134565b806318160ddd116100f157806318160ddd146101f457806318de69ed1461021e57806323b872dd14610234578063313ce5671461027057806362aaff3a1461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e5780630fc99f48146101c8578063109daa99146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61048a565b6040516101599190612446565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124f7565b6104c7565b604051610195919061254f565b60405180910390f35b3480156101a9575f80fd5b506101b26104e4565b6040516101bf9190612577565b60405180910390f35b3480156101d3575f80fd5b506101dc6104ea565b005b3480156101e9575f80fd5b506101f2610619565b005b3480156101ff575f80fd5b506102086106ed565b6040516102159190612577565b60405180910390f35b348015610229575f80fd5b50610232610710565b005b34801561023f575f80fd5b5061025a60048036038101906102559190612590565b6107a7565b604051610267919061254f565b60405180910390f35b34801561027b575f80fd5b5061028461087b565b60405161029191906125fb565b60405180910390f35b3480156102a5575f80fd5b506102c060048036038101906102bb919061264f565b610883565b005b3480156102cd575f80fd5b506102e860048036038101906102e3919061267a565b610b20565b6040516102f59190612577565b60405180910390f35b348015610309575f80fd5b50610312610b66565b005b34801561031f575f80fd5b50610328610cb4565b6040516103359190612577565b60405180910390f35b348015610349575f80fd5b50610352610cba565b60405161035f91906126b4565b60405180910390f35b348015610373575f80fd5b5061037c610ce1565b6040516103899190612577565b60405180910390f35b34801561039d575f80fd5b506103a6610ce7565b6040516103b39190612446565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd91906124f7565b610d24565b6040516103ef919061254f565b60405180910390f35b348015610403575f80fd5b5061040c610d41565b6040516104199190612577565b60405180910390f35b34801561042d575f80fd5b50610436610d47565b005b348015610443575f80fd5b5061045e600480360381019061045991906126cd565b611266565b60405161046b9190612577565b60405180910390f35b34801561047f575f80fd5b506104886112e8565b005b60606040518060400160405280600a81526020017f5472756d7020436f696e00000000000000000000000000000000000000000000815250905090565b5f6104da6104d3611357565b848461135e565b6001905092915050565b60125481565b6104f2611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590612755565b60405180910390fd5b6009600a61058c91906128cf565b631913385061059b9190612919565b600f819055506009600a6105af91906128cf565b63191338506105be9190612919565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6105f391906128cf565b63191338506106029190612919565b60405161060f9190612577565b60405180910390a1565b610621611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a490612755565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106e3919061299c565b60405180910390a1565b5f6009600a6106fc91906128cf565b631913385061070b9190612919565b905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610750611357565b73ffffffffffffffffffffffffffffffffffffffff161461076f575f80fd5b5f61077930610b20565b90505f81111561078d5761078c81611521565b5b5f4790505f8111156107a3576107a28161178c565b5b5050565b5f6107b38484846117f4565b610870846107bf611357565b61086b856040518060600160405280602881526020016133ce6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610822611357565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461217b9092919063ffffffff16565b61135e565b600190509392505050565b5f6009905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108db575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a08578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161096691906126b4565b602060405180830381865afa158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906129c9565b6040518363ffffffff1660e01b81526004016109c29291906129f4565b6020604051808303815f875af11580156109de573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a029190612a45565b50610b1d565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7f91906126b4565b602060405180830381865afa158015610a9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abe91906129c9565b6040518363ffffffff1660e01b8152600401610adb929190612ac2565b6020604051808303815f875af1158015610af7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1b9190612a45565b505b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b6e611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf190612755565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f504f545553000000000000000000000000000000000000000000000000000000815250905090565b5f610d37610d30611357565b84846117f4565b6001905092915050565b60115481565b610d4f611357565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612755565b60405180910390fd5b60148054906101000a900460ff1615610e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2090612b33565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ec53060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610eb191906128cf565b6319133850610ec09190612919565b61135e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190612b65565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ffd9190612b65565b6040518363ffffffff1660e01b815260040161101a929190612b90565b6020604051808303815f875af1158015611036573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105a9190612b65565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110e130610b20565b5f806110eb610cba565b426040518863ffffffff1660e01b815260040161110d96959493929190612bb7565b60606040518083038185885af1158015611129573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061114e9190612c16565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ee9291906129f4565b6020604051808303815f875af115801561120a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122e9190612a45565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611328611357565b73ffffffffffffffffffffffffffffffffffffffff1614611347575f80fd5b5f4790506113548161178c565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c390612cd6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612d64565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115149190612577565b60405180910390a3505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561155857611557612d82565b5b6040519080825280602002602001820160405280156115865781602001602082028036833780820191505090505b50905030815f8151811061159d5761159c612daf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116659190612b65565b8160018151811061167957611678612daf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116df3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461135e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611741959493929190612e93565b5f604051808303815f87803b158015611758575f80fd5b505af115801561176a573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156117f0573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990612f5b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c790612fe9565b60405180910390fd5b5f8111611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990613077565b60405180910390fd5b5f61191b610cba565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119895750611959610cba565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ecb5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a2c575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611a34575f80fd5b5f600e5403611a7c57611a796064611a6b600a54600e5411611a5857600654611a5c565b6008545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b5f600e541115611ab157611aae6064611aa0600d54856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b5a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bad575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ca557600f54821115611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906130df565b60405180910390fd5b60105482611c0485610b20565b611c0e91906130fd565b1115611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c469061317a565b60405180910390fd5b611c8b6064611c7d600a54600e5411611c6a57600654611c6e565b6008545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b9050600e5f815480929190611c9f90613198565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d7157611d6e6064611d60600b54600e5411611d4d57600754611d51565b6009545b856121dd90919063ffffffff16565b61225490919063ffffffff16565b90505b5f611d7b30610b20565b9050601460159054906101000a900460ff16158015611de6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dfe5750601460169054906101000a900460ff165b8015611e0b575060115481115b8015611e1a5750600c54600e54115b15611ec957601654431115611e31575f6015819055505b600560155410611e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6d90613229565b60405180910390fd5b611e93611e8e84611e898460125461229d565b61229d565b611521565b5f4790505f811115611ea957611ea84761178c565b5b60155f815480929190611ebb90613198565b919050555043601681905550505b505b5f811115611fca57611f238160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fc19190612577565b60405180910390a35b61201a8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461231290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120bd612071828461231290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612160848661231290919063ffffffff16565b60405161216d9190612577565b60405180910390a350505050565b5f8383111582906121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b99190612446565b60405180910390fd5b505f83856121d09190613247565b9050809150509392505050565b5f8083036121ed575f905061224e565b5f82846121fa9190612919565b905082848261220991906132a7565b14612249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224090613347565b60405180910390fd5b809150505b92915050565b5f61229583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061235b565b905092915050565b5f8183116122ab57826122ad565b815b905092915050565b5f8082846122c391906130fd565b905083811015612308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ff906133af565b60405180910390fd5b8091505092915050565b5f61235383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061217b565b905092915050565b5f80831182906123a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123989190612446565b60405180910390fd5b505f83856123af91906132a7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123f35780820151818401526020810190506123d8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612418826123bc565b61242281856123c6565b93506124328185602086016123d6565b61243b816123fe565b840191505092915050565b5f6020820190508181035f83015261245e818461240e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124938261246a565b9050919050565b6124a381612489565b81146124ad575f80fd5b50565b5f813590506124be8161249a565b92915050565b5f819050919050565b6124d6816124c4565b81146124e0575f80fd5b50565b5f813590506124f1816124cd565b92915050565b5f806040838503121561250d5761250c612466565b5b5f61251a858286016124b0565b925050602061252b858286016124e3565b9150509250929050565b5f8115159050919050565b61254981612535565b82525050565b5f6020820190506125625f830184612540565b92915050565b612571816124c4565b82525050565b5f60208201905061258a5f830184612568565b92915050565b5f805f606084860312156125a7576125a6612466565b5b5f6125b4868287016124b0565b93505060206125c5868287016124b0565b92505060406125d6868287016124e3565b9150509250925092565b5f60ff82169050919050565b6125f5816125e0565b82525050565b5f60208201905061260e5f8301846125ec565b92915050565b5f61261e82612489565b9050919050565b61262e81612614565b8114612638575f80fd5b50565b5f8135905061264981612625565b92915050565b5f6020828403121561266457612663612466565b5b5f6126718482850161263b565b91505092915050565b5f6020828403121561268f5761268e612466565b5b5f61269c848285016124b0565b91505092915050565b6126ae81612489565b82525050565b5f6020820190506126c75f8301846126a5565b92915050565b5f80604083850312156126e3576126e2612466565b5b5f6126f0858286016124b0565b9250506020612701858286016124b0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61273f6020836123c6565b915061274a8261270b565b602082019050919050565b5f6020820190508181035f83015261276c81612733565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f5578086048111156127d1576127d0612773565b5b60018516156127e05780820291505b80810290506127ee856127a0565b94506127b5565b94509492505050565b5f8261280d57600190506128c8565b8161281a575f90506128c8565b8160018114612830576002811461283a57612869565b60019150506128c8565b60ff84111561284c5761284b612773565b5b8360020a91508482111561286357612862612773565b5b506128c8565b5060208310610133831016604e8410600b841016171561289e5782820a90508381111561289957612898612773565b5b6128c8565b6128ab84848460016127ac565b925090508184048111156128c2576128c1612773565b5b81810290505b9392505050565b5f6128d9826124c4565b91506128e4836125e0565b92506129117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fe565b905092915050565b5f612923826124c4565b915061292e836124c4565b925082820261293c816124c4565b9150828204841483151761295357612952612773565b5b5092915050565b5f819050919050565b5f819050919050565b5f61298661298161297c8461295a565b612963565b6124c4565b9050919050565b6129968161296c565b82525050565b5f6020820190506129af5f83018461298d565b92915050565b5f815190506129c3816124cd565b92915050565b5f602082840312156129de576129dd612466565b5b5f6129eb848285016129b5565b91505092915050565b5f604082019050612a075f8301856126a5565b612a146020830184612568565b9392505050565b612a2481612535565b8114612a2e575f80fd5b50565b5f81519050612a3f81612a1b565b92915050565b5f60208284031215612a5a57612a59612466565b5b5f612a6784828501612a31565b91505092915050565b5f612a8a612a85612a808461246a565b612963565b61246a565b9050919050565b5f612a9b82612a70565b9050919050565b5f612aac82612a91565b9050919050565b612abc81612aa2565b82525050565b5f604082019050612ad55f830185612ab3565b612ae26020830184612568565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b1d6017836123c6565b9150612b2882612ae9565b602082019050919050565b5f6020820190508181035f830152612b4a81612b11565b9050919050565b5f81519050612b5f8161249a565b92915050565b5f60208284031215612b7a57612b79612466565b5b5f612b8784828501612b51565b91505092915050565b5f604082019050612ba35f8301856126a5565b612bb060208301846126a5565b9392505050565b5f60c082019050612bca5f8301896126a5565b612bd76020830188612568565b612be4604083018761298d565b612bf1606083018661298d565b612bfe60808301856126a5565b612c0b60a0830184612568565b979650505050505050565b5f805f60608486031215612c2d57612c2c612466565b5b5f612c3a868287016129b5565b9350506020612c4b868287016129b5565b9250506040612c5c868287016129b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cc06024836123c6565b9150612ccb82612c66565b604082019050919050565b5f6020820190508181035f830152612ced81612cb4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d4e6022836123c6565b9150612d5982612cf4565b604082019050919050565b5f6020820190508181035f830152612d7b81612d42565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e0e81612489565b82525050565b5f612e1f8383612e05565b60208301905092915050565b5f602082019050919050565b5f612e4182612ddc565b612e4b8185612de6565b9350612e5683612df6565b805f5b83811015612e86578151612e6d8882612e14565b9750612e7883612e2b565b925050600181019050612e59565b5085935050505092915050565b5f60a082019050612ea65f830188612568565b612eb3602083018761298d565b8181036040830152612ec58186612e37565b9050612ed460608301856126a5565b612ee16080830184612568565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f456025836123c6565b9150612f5082612eeb565b604082019050919050565b5f6020820190508181035f830152612f7281612f39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fd36023836123c6565b9150612fde82612f79565b604082019050919050565b5f6020820190508181035f83015261300081612fc7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130616029836123c6565b915061306c82613007565b604082019050919050565b5f6020820190508181035f83015261308e81613055565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130c96019836123c6565b91506130d482613095565b602082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b5f613107826124c4565b9150613112836124c4565b925082820190508082111561312a57613129612773565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613164601a836123c6565b915061316f82613130565b602082019050919050565b5f6020820190508181035f83015261319181613158565b9050919050565b5f6131a2826124c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131d4576131d3612773565b5b600182019050919050565b7f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6132136017836123c6565b915061321e826131df565b602082019050919050565b5f6020820190508181035f83015261324081613207565b9050919050565b5f613251826124c4565b915061325c836124c4565b925082820390508181111561327457613273612773565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132b1826124c4565b91506132bc836124c4565b9250826132cc576132cb61327a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133316021836123c6565b915061333c826132d7565b604082019050919050565b5f6020820190508181035f83015261335e81613325565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613399601b836123c6565b91506133a482613365565b602082019050919050565b5f6020820190508181035f8301526133c68161338d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d234e0f64cfc7036712958c546119d668c1b81a64b12652e62311f787c78bda764736f6c63430008170033
Deployed Bytecode Sourcemap
3826:8721:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5808:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6641:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4939:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10529:156;;;;;;;;;;;;;:::i;:::-;;10693:119;;;;;;;;;;;;;:::i;:::-;;6085:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11636:345;;;;;;;;;;;;;:::i;:::-;;6810:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5994:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12186:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6188:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2907:148;;;;;;;;;;;;;:::i;:::-;;4766:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2693:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4821:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5899:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4878:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10920:671;;;;;;;;;;;;;:::i;:::-;;6490:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11989:187;;;;;;;;;;;;;:::i;:::-;;5808:83;5845:13;5878:5;;;;;;;;;;;;;;;;;5871:12;;5808:83;:::o;6641:161::-;6716:4;6733:39;6742:12;:10;:12::i;:::-;6756:7;6765:6;6733:8;:39::i;:::-;6790:4;6783:11;;6641:161;;;;:::o;4939:46::-;;;;:::o;10529:156::-;2830:12;:10;:12::i;:::-;2820:22;;:6;;;;;;;;;;:22;;;2812:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4576:1:::1;4633:2;:13;;;;:::i;:::-;4619:11;:27;;;;:::i;:::-;10579:12;:22;;;;4576:1;4633:2;:13;;;;:::i;:::-;4619:11;:27;;;;:::i;:::-;10612:14;:22;;;;10650:27;4576:1;4633:2;:13;;;;:::i;:::-;4619:11;:27;;;;:::i;:::-;10650;;;;;;:::i;:::-;;;;;;;;10529:156::o:0;10693:119::-;2830:12;:10;:12::i;:::-;2820:22;;:6;;;;;;;;;;:22;;;2812:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10766:1:::1;10751:12;:16;;;;10783:21;10802:1;10783:21;;;;;;:::i;:::-;;;;;;;;10693:119::o:0;6085:95::-;6138:7;4576:1;4633:2;:13;;;;:::i;:::-;4619:11;:27;;;;:::i;:::-;6158:14;;6085:95;:::o;11636:345::-;11697:10;;;;;;;;;;;11683:24;;:12;:10;:12::i;:::-;:24;;;11675:33;;;;;;11719:20;11740:24;11758:4;11740:9;:24::i;:::-;11719:45;;11791:1;11778:12;:14;11775:73;;;11806:30;11823:12;11806:16;:30::i;:::-;11775:73;11858:18;11877:21;11858:40;;11923:1;11912:10;:12;11909:65;;;11938:24;11951:10;11938:12;:24::i;:::-;11909:65;11664:317;;11636:345::o;6810:313::-;6908:4;6925:36;6935:6;6943:9;6954:6;6925:9;:36::i;:::-;6972:121;6981:6;6989:12;:10;:12::i;:::-;7003:89;7041:6;7003:89;;;;;;;;;;;;;;;;;:11;:19;7015:6;7003:19;;;;;;;;;;;;;;;:33;7023:12;:10;:12::i;:::-;7003:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6972:8;:121::i;:::-;7111:4;7104:11;;6810:313;;;;;:::o;5994:83::-;6035:5;4576:1;6053:16;;5994:83;:::o;12186:358::-;12265:10;;;;;;;;;;;12251:24;;:10;:24;;;12248:37;;12277:8;;;12248:37;12325:4;12299:31;;12307:5;12299:31;;;12296:240;;12386:5;:14;;;12409:6;12418:5;:15;;;12442:4;12418:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12386:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12296:240;;;12478:5;:14;;;12493:10;;;;;;;;;;;12505:5;:15;;;12529:4;12505:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12478:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12296:240;12186:358;:::o;6188:119::-;6254:7;6281:9;:18;6291:7;6281:18;;;;;;;;;;;;;;;;6274:25;;6188:119;;;:::o;2907:148::-;2830:12;:10;:12::i;:::-;2820:22;;:6;;;;;;;;;;:22;;;2812:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3014:1:::1;2977:40;;2998:6;::::0;::::1;;;;;;;;2977:40;;;;;;;;;;;;3045:1;3028:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2907:148::o:0;4766:48::-;;;;:::o;2693:79::-;2731:7;2758:6;;;;;;;;;;;2751:13;;2693:79;:::o;4821:50::-;;;;:::o;5899:87::-;5938:13;5971:7;;;;;;;;;;;;;;;;;5964:14;;5899:87;:::o;6315:167::-;6393:4;6410:42;6420:12;:10;:12::i;:::-;6434:9;6445:6;6410:9;:42::i;:::-;6470:4;6463:11;;6315:167;;;;:::o;4878:54::-;;;;:::o;10920:671::-;2830:12;:10;:12::i;:::-;2820:22;;:6;;;;;;;;;;:22;;;2812:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10984:11:::1;::::0;::::1;;;;;;;;10983:12;10975:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11070:42;11033:15;;:80;;;;;;;;;;;;;;;;;;11124:58;11141:4;11156:15;;;;;;;;;;;4576:1;4633:2;:13;;;;:::i;:::-;4619:11;:27;;;;:::i;:::-;11124:8;:58::i;:::-;11227:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11209:55;;;11273:4;11280:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11209:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11193:13;;:110;;;;;;;;;;;;;;;;;;11314:15;;;;;;;;;;;:31;;;11353:21;11384:4;11390:24;11408:4;11390:9;:24::i;:::-;11415:1;11417::::0;11419:7:::1;:5;:7::i;:::-;11427:15;11314:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11461:13;;;;;;;;;;;11454:29;;;11492:15;;;;;;;;;;;11510:14;11454:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11550:4;11536:11;;:18;;;;;;;;;;;;;;;;;;11579:4;11565:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10920:671::o:0;6490:143::-;6571:7;6598:11;:18;6610:5;6598:18;;;;;;;;;;;;;;;:27;6617:7;6598:27;;;;;;;;;;;;;;;;6591:34;;6490:143;;;;:::o;11989:187::-;12053:10;;;;;;;;;;;12039:24;;:12;:10;:12::i;:::-;:24;;;12031:33;;;;;;12075:26;12104:21;12075:50;;12136:32;12149:18;12136:12;:32::i;:::-;12020:156;11989:187::o;448:98::-;501:7;528:10;521:17;;448:98;:::o;7131:335::-;7241:1;7224:19;;:5;:19;;;7216:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7322:1;7303:21;;:7;:21;;;7295:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7404:6;7374:11;:18;7386:5;7374:18;;;;;;;;;;;;;;;:27;7393:7;7374:27;;;;;;;;;;;;;;;:36;;;;7442:7;7426:32;;7435:5;7426:32;;;7451:6;7426:32;;;;;;:::i;:::-;;;;;;;;7131:335;;;:::o;10038:483::-;5396:4;5387:6;;:13;;;;;;;;;;;;;;;;;;10116:21:::1;10154:1;10140:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10116:40;;10185:4;10167;10172:1;10167:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10211:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10201:4;10206:1;10201:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10244:62;10261:4;10276:15;;;;;;;;;;;10294:11;10244:8;:62::i;:::-;10317:15;;;;;;;;;;;:66;;;10398:11;10424:1;10440:4;10467;10487:15;10317:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10105:416;5432:5:::0;5423:6;;:14;;;;;;;;;;;;;;;;;;10038:483;:::o;10820:92::-;10877:10;;;;;;;;;;;:19;;:27;10897:6;10877:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10820:92;:::o;7474:2448::-;7578:1;7562:18;;:4;:18;;;7554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7655:1;7641:16;;:2;:16;;;7633:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7725:1;7716:6;:10;7708:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7783:17;7825:7;:5;:7::i;:::-;7817:15;;:4;:15;;;;:32;;;;;7842:7;:5;:7::i;:::-;7836:13;;:2;:13;;;;7817:32;7813:1753;;;7875:4;:10;7880:4;7875:10;;;;;;;;;;;;;;;;;;;;;;;;;7874:11;:24;;;;;7890:4;:8;7895:2;7890:8;;;;;;;;;;;;;;;;;;;;;;;;;7889:9;7874:24;7866:33;;;;;;7930:1;7919:9;;:12;7916:139;;7963:76;8035:3;7963:67;7985:15;;7975:9;;:25;7974:55;;8015:14;;7974:55;;;8002:12;;7974:55;7963:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7951:88;;7916:139;8082:1;8072:9;;:11;8069:95;;;8115:33;8144:3;8115:24;8126:12;;8115:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8103:45;;8069:95;8192:13;;;;;;;;;;;8184:21;;:4;:21;;;:55;;;;;8223:15;;;;;;;;;;;8209:30;;:2;:30;;;;8184:55;:83;;;;;8245:18;:22;8264:2;8245:22;;;;;;;;;;;;;;;;;;;;;;;;;8243:24;8184:83;8180:420;;;8307:12;;8297:6;:22;;8289:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8402:14;;8392:6;8376:13;8386:2;8376:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8368:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8478:76;8550:3;8478:67;8500:15;;8490:9;;:25;8489:55;;8530:14;;8489:55;;;8517:12;;8489:55;8478:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8466:88;;8573:9;;:11;;;;;;;;;:::i;:::-;;;;;;8180:420;8625:13;;;;;;;;;;;8619:19;;:2;:19;;;:43;;;;;8657:4;8642:20;;:4;:20;;;;8619:43;8616:174;;;8695:79;8770:3;8695:70;8717:16;;8707:9;;:26;8706:58;;8749:15;;8706:58;;;8735:13;;8706:58;8695:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8683:91;;8616:174;8806:28;8837:24;8855:4;8837:9;:24::i;:::-;8806:55;;8881:6;;;;;;;;;;;8880:7;:30;;;;;8897:13;;;;;;;;;;;8891:19;;:2;:19;;;8880:30;:45;;;;;8914:11;;;;;;;;;;;8880:45;:89;;;;;8952:17;;8929:20;:40;8880:89;:123;;;;;8985:18;;8973:9;;:30;8880:123;8876:679;;;9043:13;;9028:12;:28;9024:90;;;9093:1;9081:9;:13;;;;9024:90;9152:1;9140:9;;:13;9132:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9200:69;9217:51;9221:6;9229:38;9233:20;9255:11;;9229:3;:38::i;:::-;9217:3;:51::i;:::-;9200:16;:69::i;:::-;9288:26;9317:21;9288:50;;9382:1;9361:18;:22;9357:106;;;9408:35;9421:21;9408:12;:35::i;:::-;9357:106;9481:9;;:11;;;;;;;;;:::i;:::-;;;;;;9527:12;9511:13;:28;;;;9005:550;8876:679;7851:1715;7813:1753;9591:1;9581:9;:11;9578:161;;;9631:39;9660:9;9631;:24;9649:4;9631:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9606:9;:24;9624:4;9606:24;;;;;;;;;;;;;;;:64;;;;9711:4;9688:39;;9697:4;9688:39;;;9717:9;9688:39;;;;;;:::i;:::-;;;;;;;;9578:161;9765:27;9785:6;9765:9;:15;9775:4;9765:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9749:9;:15;9759:4;9749:15;;;;;;;;;;;;;;;:43;;;;9817:40;9835:21;9846:9;9835:6;:10;;:21;;;;:::i;:::-;9817:9;:13;9827:2;9817:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9803:9;:13;9813:2;9803:13;;;;;;;;;;;;;;;:54;;;;9888:2;9873:41;;9882:4;9873:41;;;9892:21;9903:9;9892:6;:10;;:21;;;;:::i;:::-;9873:41;;;;;;:::i;:::-;;;;;;;;7543:2379;7474:2448;;;:::o;1585:190::-;1671:7;1704:1;1699;:6;;1707:12;1691:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1731:9;1747:1;1743;:5;;;;:::i;:::-;1731:17;;1766:1;1759:8;;;1585:190;;;;;:::o;1783:246::-;1841:7;1870:1;1865;:6;1861:47;;1895:1;1888:8;;;;1861:47;1918:9;1934:1;1930;:5;;;;:::i;:::-;1918:17;;1963:1;1958;1954;:5;;;;:::i;:::-;:10;1946:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2020:1;2013:8;;;1783:246;;;;;:::o;2037:132::-;2095:7;2122:39;2126:1;2129;2122:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2115:46;;2037:132;;;;:::o;9932:98::-;9989:7;10016:1;10014;:3;10013:9;;10021:1;10013:9;;;10019:1;10013:9;10006:16;;9932:98;;;;:::o;1254:179::-;1312:7;1332:9;1348:1;1344;:5;;;;:::i;:::-;1332:17;;1373:1;1368;:6;;1360:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1424:1;1417:8;;;1254:179;;;;:::o;1441:136::-;1499:7;1526:43;1530:1;1533;1526:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1519:50;;1441:136;;;;:::o;2177:189::-;2263:7;2295:1;2291;:5;2298:12;2283:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2322:9;2338:1;2334;:5;;;;:::i;:::-;2322:17;;2357:1;2350:8;;;2177:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:109::-;4903:7;4932:24;4950:5;4932:24;:::i;:::-;4921:35;;4853:109;;;:::o;4968:148::-;5054:37;5085:5;5054:37;:::i;:::-;5047:5;5044:48;5034:76;;5106:1;5103;5096:12;5034:76;4968:148;:::o;5122:165::-;5181:5;5219:6;5206:20;5197:29;;5235:46;5275:5;5235:46;:::i;:::-;5122:165;;;;:::o;5293:355::-;5365:6;5414:2;5402:9;5393:7;5389:23;5385:32;5382:119;;;5420:79;;:::i;:::-;5382:119;5540:1;5565:66;5623:7;5614:6;5603:9;5599:22;5565:66;:::i;:::-;5555:76;;5511:130;5293:355;;;;:::o;5654:329::-;5713:6;5762:2;5750:9;5741:7;5737:23;5733:32;5730:119;;;5768:79;;:::i;:::-;5730:119;5888:1;5913:53;5958:7;5949:6;5938:9;5934:22;5913:53;:::i;:::-;5903:63;;5859:117;5654:329;;;;:::o;5989:118::-;6076:24;6094:5;6076:24;:::i;:::-;6071:3;6064:37;5989:118;;:::o;6113:222::-;6206:4;6244:2;6233:9;6229:18;6221:26;;6257:71;6325:1;6314:9;6310:17;6301:6;6257:71;:::i;:::-;6113:222;;;;:::o;6341:474::-;6409:6;6417;6466:2;6454:9;6445:7;6441:23;6437:32;6434:119;;;6472:79;;:::i;:::-;6434:119;6592:1;6617:53;6662:7;6653:6;6642:9;6638:22;6617:53;:::i;:::-;6607:63;;6563:117;6719:2;6745:53;6790:7;6781:6;6770:9;6766:22;6745:53;:::i;:::-;6735:63;;6690:118;6341:474;;;;;:::o;6821:182::-;6961:34;6957:1;6949:6;6945:14;6938:58;6821:182;:::o;7009:366::-;7151:3;7172:67;7236:2;7231:3;7172:67;:::i;:::-;7165:74;;7248:93;7337:3;7248:93;:::i;:::-;7366:2;7361:3;7357:12;7350:19;;7009:366;;;:::o;7381:419::-;7547:4;7585:2;7574:9;7570:18;7562:26;;7634:9;7628:4;7624:20;7620:1;7609:9;7605:17;7598:47;7662:131;7788:4;7662:131;:::i;:::-;7654:139;;7381:419;;;:::o;7806:180::-;7854:77;7851:1;7844:88;7951:4;7948:1;7941:15;7975:4;7972:1;7965:15;7992:102;8034:8;8081:5;8078:1;8074:13;8053:34;;7992:102;;;:::o;8100:848::-;8161:5;8168:4;8192:6;8183:15;;8216:5;8207:14;;8230:712;8251:1;8241:8;8238:15;8230:712;;;8346:4;8341:3;8337:14;8331:4;8328:24;8325:50;;;8355:18;;:::i;:::-;8325:50;8405:1;8395:8;8391:16;8388:451;;;8820:4;8813:5;8809:16;8800:25;;8388:451;8870:4;8864;8860:15;8852:23;;8900:32;8923:8;8900:32;:::i;:::-;8888:44;;8230:712;;;8100:848;;;;;;;:::o;8954:1073::-;9008:5;9199:8;9189:40;;9220:1;9211:10;;9222:5;;9189:40;9248:4;9238:36;;9265:1;9256:10;;9267:5;;9238:36;9334:4;9382:1;9377:27;;;;9418:1;9413:191;;;;9327:277;;9377:27;9395:1;9386:10;;9397:5;;;9413:191;9458:3;9448:8;9445:17;9442:43;;;9465:18;;:::i;:::-;9442:43;9514:8;9511:1;9507:16;9498:25;;9549:3;9542:5;9539:14;9536:40;;;9556:18;;:::i;:::-;9536:40;9589:5;;;9327:277;;9713:2;9703:8;9700:16;9694:3;9688:4;9685:13;9681:36;9663:2;9653:8;9650:16;9645:2;9639:4;9636:12;9632:35;9616:111;9613:246;;;9769:8;9763:4;9759:19;9750:28;;9804:3;9797:5;9794:14;9791:40;;;9811:18;;:::i;:::-;9791:40;9844:5;;9613:246;9884:42;9922:3;9912:8;9906:4;9903:1;9884:42;:::i;:::-;9869:57;;;;9958:4;9953:3;9949:14;9942:5;9939:25;9936:51;;;9967:18;;:::i;:::-;9936:51;10016:4;10009:5;10005:16;9996:25;;8954:1073;;;;;;:::o;10033:281::-;10091:5;10115:23;10133:4;10115:23;:::i;:::-;10107:31;;10159:25;10175:8;10159:25;:::i;:::-;10147:37;;10203:104;10240:66;10230:8;10224:4;10203:104;:::i;:::-;10194:113;;10033:281;;;;:::o;10320:410::-;10360:7;10383:20;10401:1;10383:20;:::i;:::-;10378:25;;10417:20;10435:1;10417:20;:::i;:::-;10412:25;;10472:1;10469;10465:9;10494:30;10512:11;10494:30;:::i;:::-;10483:41;;10673:1;10664:7;10660:15;10657:1;10654:22;10634:1;10627:9;10607:83;10584:139;;10703:18;;:::i;:::-;10584:139;10368:362;10320:410;;;;:::o;10736:85::-;10781:7;10810:5;10799:16;;10736:85;;;:::o;10827:60::-;10855:3;10876:5;10869:12;;10827:60;;;:::o;10893:158::-;10951:9;10984:61;11002:42;11011:32;11037:5;11011:32;:::i;:::-;11002:42;:::i;:::-;10984:61;:::i;:::-;10971:74;;10893:158;;;:::o;11057:147::-;11152:45;11191:5;11152:45;:::i;:::-;11147:3;11140:58;11057:147;;:::o;11210:238::-;11311:4;11349:2;11338:9;11334:18;11326:26;;11362:79;11438:1;11427:9;11423:17;11414:6;11362:79;:::i;:::-;11210:238;;;;:::o;11454:143::-;11511:5;11542:6;11536:13;11527:22;;11558:33;11585:5;11558:33;:::i;:::-;11454:143;;;;:::o;11603:351::-;11673:6;11722:2;11710:9;11701:7;11697:23;11693:32;11690:119;;;11728:79;;:::i;:::-;11690:119;11848:1;11873:64;11929:7;11920:6;11909:9;11905:22;11873:64;:::i;:::-;11863:74;;11819:128;11603:351;;;;:::o;11960:332::-;12081:4;12119:2;12108:9;12104:18;12096:26;;12132:71;12200:1;12189:9;12185:17;12176:6;12132:71;:::i;:::-;12213:72;12281:2;12270:9;12266:18;12257:6;12213:72;:::i;:::-;11960:332;;;;;:::o;12298:116::-;12368:21;12383:5;12368:21;:::i;:::-;12361:5;12358:32;12348:60;;12404:1;12401;12394:12;12348:60;12298:116;:::o;12420:137::-;12474:5;12505:6;12499:13;12490:22;;12521:30;12545:5;12521:30;:::i;:::-;12420:137;;;;:::o;12563:345::-;12630:6;12679:2;12667:9;12658:7;12654:23;12650:32;12647:119;;;12685:79;;:::i;:::-;12647:119;12805:1;12830:61;12883:7;12874:6;12863:9;12859:22;12830:61;:::i;:::-;12820:71;;12776:125;12563:345;;;;:::o;12914:142::-;12964:9;12997:53;13015:34;13024:24;13042:5;13024:24;:::i;:::-;13015:34;:::i;:::-;12997:53;:::i;:::-;12984:66;;12914:142;;;:::o;13062:126::-;13112:9;13145:37;13176:5;13145:37;:::i;:::-;13132:50;;13062:126;;;:::o;13194:134::-;13252:9;13285:37;13316:5;13285:37;:::i;:::-;13272:50;;13194:134;;;:::o;13334:147::-;13429:45;13468:5;13429:45;:::i;:::-;13424:3;13417:58;13334:147;;:::o;13487:348::-;13616:4;13654:2;13643:9;13639:18;13631:26;;13667:79;13743:1;13732:9;13728:17;13719:6;13667:79;:::i;:::-;13756:72;13824:2;13813:9;13809:18;13800:6;13756:72;:::i;:::-;13487:348;;;;;:::o;13841:173::-;13981:25;13977:1;13969:6;13965:14;13958:49;13841:173;:::o;14020:366::-;14162:3;14183:67;14247:2;14242:3;14183:67;:::i;:::-;14176:74;;14259:93;14348:3;14259:93;:::i;:::-;14377:2;14372:3;14368:12;14361:19;;14020:366;;;:::o;14392:419::-;14558:4;14596:2;14585:9;14581:18;14573:26;;14645:9;14639:4;14635:20;14631:1;14620:9;14616:17;14609:47;14673:131;14799:4;14673:131;:::i;:::-;14665:139;;14392:419;;;:::o;14817:143::-;14874:5;14905:6;14899:13;14890:22;;14921:33;14948:5;14921:33;:::i;:::-;14817:143;;;;:::o;14966:351::-;15036:6;15085:2;15073:9;15064:7;15060:23;15056:32;15053:119;;;15091:79;;:::i;:::-;15053:119;15211:1;15236:64;15292:7;15283:6;15272:9;15268:22;15236:64;:::i;:::-;15226:74;;15182:128;14966:351;;;;:::o;15323:332::-;15444:4;15482:2;15471:9;15467:18;15459:26;;15495:71;15563:1;15552:9;15548:17;15539:6;15495:71;:::i;:::-;15576:72;15644:2;15633:9;15629:18;15620:6;15576:72;:::i;:::-;15323:332;;;;;:::o;15661:807::-;15910:4;15948:3;15937:9;15933:19;15925:27;;15962:71;16030:1;16019:9;16015:17;16006:6;15962:71;:::i;:::-;16043:72;16111:2;16100:9;16096:18;16087:6;16043:72;:::i;:::-;16125:80;16201:2;16190:9;16186:18;16177:6;16125:80;:::i;:::-;16215;16291:2;16280:9;16276:18;16267:6;16215:80;:::i;:::-;16305:73;16373:3;16362:9;16358:19;16349:6;16305:73;:::i;:::-;16388;16456:3;16445:9;16441:19;16432:6;16388:73;:::i;:::-;15661:807;;;;;;;;;:::o;16474:663::-;16562:6;16570;16578;16627:2;16615:9;16606:7;16602:23;16598:32;16595:119;;;16633:79;;:::i;:::-;16595:119;16753:1;16778:64;16834:7;16825:6;16814:9;16810:22;16778:64;:::i;:::-;16768:74;;16724:128;16891:2;16917:64;16973:7;16964:6;16953:9;16949:22;16917:64;:::i;:::-;16907:74;;16862:129;17030:2;17056:64;17112:7;17103:6;17092:9;17088:22;17056:64;:::i;:::-;17046:74;;17001:129;16474:663;;;;;:::o;17143:223::-;17283:34;17279:1;17271:6;17267:14;17260:58;17352:6;17347:2;17339:6;17335:15;17328:31;17143:223;:::o;17372:366::-;17514:3;17535:67;17599:2;17594:3;17535:67;:::i;:::-;17528:74;;17611:93;17700:3;17611:93;:::i;:::-;17729:2;17724:3;17720:12;17713:19;;17372:366;;;:::o;17744:419::-;17910:4;17948:2;17937:9;17933:18;17925:26;;17997:9;17991:4;17987:20;17983:1;17972:9;17968:17;17961:47;18025:131;18151:4;18025:131;:::i;:::-;18017:139;;17744:419;;;:::o;18169:221::-;18309:34;18305:1;18297:6;18293:14;18286:58;18378:4;18373:2;18365:6;18361:15;18354:29;18169:221;:::o;18396:366::-;18538:3;18559:67;18623:2;18618:3;18559:67;:::i;:::-;18552:74;;18635:93;18724:3;18635:93;:::i;:::-;18753:2;18748:3;18744:12;18737:19;;18396:366;;;:::o;18768:419::-;18934:4;18972:2;18961:9;18957:18;18949:26;;19021:9;19015:4;19011:20;19007:1;18996:9;18992:17;18985:47;19049:131;19175:4;19049:131;:::i;:::-;19041:139;;18768:419;;;:::o;19193:180::-;19241:77;19238:1;19231:88;19338:4;19335:1;19328:15;19362:4;19359:1;19352:15;19379:180;19427:77;19424:1;19417:88;19524:4;19521:1;19514:15;19548:4;19545:1;19538:15;19565:114;19632:6;19666:5;19660:12;19650:22;;19565:114;;;:::o;19685:184::-;19784:11;19818:6;19813:3;19806:19;19858:4;19853:3;19849:14;19834:29;;19685:184;;;;:::o;19875:132::-;19942:4;19965:3;19957:11;;19995:4;19990:3;19986:14;19978:22;;19875:132;;;:::o;20013:108::-;20090:24;20108:5;20090:24;:::i;:::-;20085:3;20078:37;20013:108;;:::o;20127:179::-;20196:10;20217:46;20259:3;20251:6;20217:46;:::i;:::-;20295:4;20290:3;20286:14;20272:28;;20127:179;;;;:::o;20312:113::-;20382:4;20414;20409:3;20405:14;20397:22;;20312:113;;;:::o;20461:732::-;20580:3;20609:54;20657:5;20609:54;:::i;:::-;20679:86;20758:6;20753:3;20679:86;:::i;:::-;20672:93;;20789:56;20839:5;20789:56;:::i;:::-;20868:7;20899:1;20884:284;20909:6;20906:1;20903:13;20884:284;;;20985:6;20979:13;21012:63;21071:3;21056:13;21012:63;:::i;:::-;21005:70;;21098:60;21151:6;21098:60;:::i;:::-;21088:70;;20944:224;20931:1;20928;20924:9;20919:14;;20884:284;;;20888:14;21184:3;21177:10;;20585:608;;;20461:732;;;;:::o;21199:831::-;21462:4;21500:3;21489:9;21485:19;21477:27;;21514:71;21582:1;21571:9;21567:17;21558:6;21514:71;:::i;:::-;21595:80;21671:2;21660:9;21656:18;21647:6;21595:80;:::i;:::-;21722:9;21716:4;21712:20;21707:2;21696:9;21692:18;21685:48;21750:108;21853:4;21844:6;21750:108;:::i;:::-;21742:116;;21868:72;21936:2;21925:9;21921:18;21912:6;21868:72;:::i;:::-;21950:73;22018:3;22007:9;22003:19;21994:6;21950:73;:::i;:::-;21199:831;;;;;;;;:::o;22036:224::-;22176:34;22172:1;22164:6;22160:14;22153:58;22245:7;22240:2;22232:6;22228:15;22221:32;22036:224;:::o;22266:366::-;22408:3;22429:67;22493:2;22488:3;22429:67;:::i;:::-;22422:74;;22505:93;22594:3;22505:93;:::i;:::-;22623:2;22618:3;22614:12;22607:19;;22266:366;;;:::o;22638:419::-;22804:4;22842:2;22831:9;22827:18;22819:26;;22891:9;22885:4;22881:20;22877:1;22866:9;22862:17;22855:47;22919:131;23045:4;22919:131;:::i;:::-;22911:139;;22638:419;;;:::o;23063:222::-;23203:34;23199:1;23191:6;23187:14;23180:58;23272:5;23267:2;23259:6;23255:15;23248:30;23063:222;:::o;23291:366::-;23433:3;23454:67;23518:2;23513:3;23454:67;:::i;:::-;23447:74;;23530:93;23619:3;23530:93;:::i;:::-;23648:2;23643:3;23639:12;23632:19;;23291:366;;;:::o;23663:419::-;23829:4;23867:2;23856:9;23852:18;23844:26;;23916:9;23910:4;23906:20;23902:1;23891:9;23887:17;23880:47;23944:131;24070:4;23944:131;:::i;:::-;23936:139;;23663:419;;;:::o;24088:228::-;24228:34;24224:1;24216:6;24212:14;24205:58;24297:11;24292:2;24284:6;24280:15;24273:36;24088:228;:::o;24322:366::-;24464:3;24485:67;24549:2;24544:3;24485:67;:::i;:::-;24478:74;;24561:93;24650:3;24561:93;:::i;:::-;24679:2;24674:3;24670:12;24663:19;;24322:366;;;:::o;24694:419::-;24860:4;24898:2;24887:9;24883:18;24875:26;;24947:9;24941:4;24937:20;24933:1;24922:9;24918:17;24911:47;24975:131;25101:4;24975:131;:::i;:::-;24967:139;;24694:419;;;:::o;25119:175::-;25259:27;25255:1;25247:6;25243:14;25236:51;25119:175;:::o;25300:366::-;25442:3;25463:67;25527:2;25522:3;25463:67;:::i;:::-;25456:74;;25539:93;25628:3;25539:93;:::i;:::-;25657:2;25652:3;25648:12;25641:19;;25300:366;;;:::o;25672:419::-;25838:4;25876:2;25865:9;25861:18;25853:26;;25925:9;25919:4;25915:20;25911:1;25900:9;25896:17;25889:47;25953:131;26079:4;25953:131;:::i;:::-;25945:139;;25672:419;;;:::o;26097:191::-;26137:3;26156:20;26174:1;26156:20;:::i;:::-;26151:25;;26190:20;26208:1;26190:20;:::i;:::-;26185:25;;26233:1;26230;26226:9;26219:16;;26254:3;26251:1;26248:10;26245:36;;;26261:18;;:::i;:::-;26245:36;26097:191;;;;:::o;26294:176::-;26434:28;26430:1;26422:6;26418:14;26411:52;26294:176;:::o;26476:366::-;26618:3;26639:67;26703:2;26698:3;26639:67;:::i;:::-;26632:74;;26715:93;26804:3;26715:93;:::i;:::-;26833:2;26828:3;26824:12;26817:19;;26476:366;;;:::o;26848:419::-;27014:4;27052:2;27041:9;27037:18;27029:26;;27101:9;27095:4;27091:20;27087:1;27076:9;27072:17;27065:47;27129:131;27255:4;27129:131;:::i;:::-;27121:139;;26848:419;;;:::o;27273:233::-;27312:3;27335:24;27353:5;27335:24;:::i;:::-;27326:33;;27381:66;27374:5;27371:77;27368:103;;27451:18;;:::i;:::-;27368:103;27498:1;27491:5;27487:13;27480:20;;27273:233;;;:::o;27512:173::-;27652:25;27648:1;27640:6;27636:14;27629:49;27512:173;:::o;27691:366::-;27833:3;27854:67;27918:2;27913:3;27854:67;:::i;:::-;27847:74;;27930:93;28019:3;27930:93;:::i;:::-;28048:2;28043:3;28039:12;28032:19;;27691:366;;;:::o;28063:419::-;28229:4;28267:2;28256:9;28252:18;28244:26;;28316:9;28310:4;28306:20;28302:1;28291:9;28287:17;28280:47;28344:131;28470:4;28344:131;:::i;:::-;28336:139;;28063:419;;;:::o;28488:194::-;28528:4;28548:20;28566:1;28548:20;:::i;:::-;28543:25;;28582:20;28600:1;28582:20;:::i;:::-;28577:25;;28626:1;28623;28619:9;28611:17;;28650:1;28644:4;28641:11;28638:37;;;28655:18;;:::i;:::-;28638:37;28488:194;;;;:::o;28688:180::-;28736:77;28733:1;28726:88;28833:4;28830:1;28823:15;28857:4;28854:1;28847:15;28874:185;28914:1;28931:20;28949:1;28931:20;:::i;:::-;28926:25;;28965:20;28983:1;28965:20;:::i;:::-;28960:25;;29004:1;28994:35;;29009:18;;:::i;:::-;28994:35;29051:1;29048;29044:9;29039:14;;28874:185;;;;:::o;29065:220::-;29205:34;29201:1;29193:6;29189:14;29182:58;29274:3;29269:2;29261:6;29257:15;29250:28;29065:220;:::o;29291:366::-;29433:3;29454:67;29518:2;29513:3;29454:67;:::i;:::-;29447:74;;29530:93;29619:3;29530:93;:::i;:::-;29648:2;29643:3;29639:12;29632:19;;29291:366;;;:::o;29663:419::-;29829:4;29867:2;29856:9;29852:18;29844:26;;29916:9;29910:4;29906:20;29902:1;29891:9;29887:17;29880:47;29944:131;30070:4;29944:131;:::i;:::-;29936:139;;29663:419;;;:::o;30088:177::-;30228:29;30224:1;30216:6;30212:14;30205:53;30088:177;:::o;30271:366::-;30413:3;30434:67;30498:2;30493:3;30434:67;:::i;:::-;30427:74;;30510:93;30599:3;30510:93;:::i;:::-;30628:2;30623:3;30619:12;30612:19;;30271:366;;;:::o;30643:419::-;30809:4;30847:2;30836:9;30832:18;30824:26;;30896:9;30890:4;30886:20;30882:1;30871:9;30867:17;30860:47;30924:131;31050:4;30924:131;:::i;:::-;30916:139;;30643:419;;;:::o
Swarm Source
ipfs://d234e0f64cfc7036712958c546119d668c1b81a64b12652e62311f787c78bda7
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.