ERC-20
Overview
Max Total Supply
420,000,000 MARMO
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SporkMarmot
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-24 */ // SPDX-License-Identifier: MIT /** The best friend of Bufficorn. Website: https://www.sporkmarmot.vip/ Twitter: https://x.com/SporkMarmot_ Telegram: https://t.me/sporkmarmot_portal */ pragma solidity ^0.8.20; 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; } } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "New owner cannot be the zero address"); require(newOwner != _owner, "New owner must be different"); address prevOwner = _owner; _owner = newOwner; emit OwnershipTransferred(prevOwner, newOwner); } 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 SporkMarmot is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; address payable private _taxWallet; uint256 private _buyTax = 25; uint256 private _sellTax = 25; uint256 private _buyFinalTax = 0; uint256 private _sellFinalTax = 0; string private constant _name = unicode"spork marmot"; string private constant _symbol = unicode"MARMO"; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420000000 * 10 ** _decimals; uint256 private constant _tokensForLiquidity = 315000000 * 10 ** _decimals; uint256 public _maxTxAmount = 8400000 * 10 ** _decimals; uint256 public _maxWalletSize = 8400000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 2100000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private _tradingOpen; bool private inSwap = false; bool private transferDelayRemoved = false; bool private swapEnabled = false; bool private limitsRemoved = false; event LimitsRemoved(); event TransferDelayRemoved(); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tokensForLiquidity; _balances[owner()] = _tTotal.sub(_tokensForLiquidity); _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), address(this), _tTotal); emit Transfer(address(0), owner(), _tTotal.sub(_tokensForLiquidity)); } 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 tradingOpen() public view returns (bool) { return _tradingOpen; } 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()) { if (!transferDelayRemoved && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "Only one purchase per block allowed"); _holderLastTransferTimestamp[tx.origin] = block.number; } if (!transferDelayRemoved && to == uniswapV2Pair && from != address(uniswapV2Router) && !_isExcludedFromFee[from]) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "Only one purchase per block allowed"); _holderLastTransferTimestamp[tx.origin] = block.number; } if (!limitsRemoved && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount"); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize"); } if(from == uniswapV2Pair && to != address(this)){ taxAmount = amount.mul(_buyTax).div(100); } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount.mul(_sellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled) { swapTokensForEth(min(contractTokenBalance, _taxSwapThreshold)); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function removeLimits() external onlyOwner { limitsRemoved = true; emit LimitsRemoved(); } function removeTransferDelay() external onlyOwner { transferDelayRemoved = true; emit TransferDelayRemoved(); } 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 updateBuyTax(uint256 buyTax) external onlyOwner { require(buyTax < _buyTax, "Buy tax cannot be set to more than the current value"); _buyTax = buyTax; } function updateSellTax(uint256 sellTax) external onlyOwner { require(sellTax < _sellTax, "Sell tax cannot be set to more than the current value"); _sellTax = sellTax; } function setFinalTaxes() external onlyOwner { _sellTax = _sellFinalTax; _buyTax = _buyFinalTax; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addLiquidityEth() external payable 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: msg.value }( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; _tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"LimitsRemoved","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":[],"name":"TransferDelayRemoved","type":"event"},{"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":[],"name":"addLiquidityEth","outputs":[],"stateMutability":"payable","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":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalTaxes","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"}],"name":"updateBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"updateSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960075560196008555f6009555f600a556009600a6100249190610795565b62802c8061003291906107df565b600b556009600a6100439190610795565b62802c8061005191906107df565b600c556009600a6100629190610795565b62200b2061007091906107df565b600d555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055505f600f60176101000a81548160ff0219169083151502179055505f600f60186101000a81548160ff0219169083151502179055503480156100e6575f80fd5b505f6100f661054560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101a061054560201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101ed9190610795565b6312c684c06101fc91906107df565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506102886009600a61024e9190610795565b6312c684c061025d91906107df565b6009600a61026b9190610795565b631908b10061027a91906107df565b61054c60201b90919060201c565b60015f61029961059b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f61033e61059b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104609190610795565b631908b10061046f91906107df565b60405161047c919061082f565b60405180910390a361049261059b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61052b6009600a6104f19190610795565b6312c684c061050091906107df565b6009600a61050e9190610795565b631908b10061051d91906107df565b61054c60201b90919060201c565b604051610538919061082f565b60405180910390a3610925565b5f33905090565b5f61059383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105c260201b60201c565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f838311158290610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906108d2565b60405180910390fd5b505f838561061791906108f2565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156106a65780860481111561068257610681610624565b5b60018516156106915780820291505b808102905061069f85610651565b9450610666565b94509492505050565b5f826106be5760019050610779565b816106cb575f9050610779565b81600181146106e157600281146106eb5761071a565b6001915050610779565b60ff8411156106fd576106fc610624565b5b8360020a91508482111561071457610713610624565b5b50610779565b5060208310610133831016604e8410600b841016171561074f5782820a90508381111561074a57610749610624565b5b610779565b61075c848484600161065d565b9250905081840481111561077357610772610624565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61079f82610780565b91506107aa83610789565b92506107d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846106af565b905092915050565b5f6107e982610780565b91506107f483610780565b925082820261080281610780565b9150828204841483151761081957610818610624565b5b5092915050565b61082981610780565b82525050565b5f6020820190506108425f830184610820565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561087f578082015181840152602081019050610864565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6108a482610848565b6108ae8185610852565b93506108be818560208601610862565b6108c78161088a565b840191505092915050565b5f6020820190508181035f8301526108ea818461089a565b905092915050565b5f6108fc82610780565b915061090783610780565b925082820390508181111561091f5761091e610624565b5b92915050565b61395b806109325f395ff3fe608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb146103da578063bf474bed14610416578063dd62ed3e14610440578063f2fde38b1461047c578063f8686f07146104a4578063ffb54a99146104ba5761014a565b8063715018a614610306578063751039fc1461031c5780637d1db4a5146103325780638da5cb5b1461035c5780638f9a55c01461038657806395d89b41146103b05761014a565b806323b872dd1161010757806323b872dd1461021c57806324e3444314610258578063313ce56714610262578063436d33401461028c57806351bc3c85146102b457806370a08231146102ca5761014a565b806306fdde031461014e578063095ea7b31461017857806312185a39146101b457806318160ddd146101dc5780631f734787146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104e4565b60405161016f919061287d565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061292e565b610521565b6040516101ab9190612986565b60405180910390f35b3480156101bf575f80fd5b506101da60048036038101906101d5919061299f565b61053e565b005b3480156101e7575f80fd5b506101f0610620565b6040516101fd91906129d9565b60405180910390f35b348015610211575f80fd5b5061021a610643565b005b348015610227575f80fd5b50610242600480360381019061023d91906129f2565b6106eb565b60405161024f9190612986565b60405180910390f35b6102606107bf565b005b34801561026d575f80fd5b50610276610ce1565b6040516102839190612a5d565b60405180910390f35b348015610297575f80fd5b506102b260048036038101906102ad919061299f565b610ce9565b005b3480156102bf575f80fd5b506102c8610dcb565b005b3480156102d5575f80fd5b506102f060048036038101906102eb9190612a76565b610e62565b6040516102fd91906129d9565b60405180910390f35b348015610311575f80fd5b5061031a610ea8565b005b348015610327575f80fd5b50610330610ff6565b005b34801561033d575f80fd5b506103466110d3565b60405161035391906129d9565b60405180910390f35b348015610367575f80fd5b506103706110d9565b60405161037d9190612ab0565b60405180910390f35b348015610391575f80fd5b5061039a611100565b6040516103a791906129d9565b60405180910390f35b3480156103bb575f80fd5b506103c4611106565b6040516103d1919061287d565b60405180910390f35b3480156103e5575f80fd5b5061040060048036038101906103fb919061292e565b611143565b60405161040d9190612986565b60405180910390f35b348015610421575f80fd5b5061042a611160565b60405161043791906129d9565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190612ac9565b611166565b60405161047391906129d9565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190612a76565b6111e8565b005b3480156104af575f80fd5b506104b8611438565b005b3480156104c5575f80fd5b506104ce611515565b6040516104db9190612986565b60405180910390f35b60606040518060400160405280600c81526020017f73706f726b206d61726d6f740000000000000000000000000000000000000000815250905090565b5f61053461052d61152b565b8484611532565b6001905092915050565b61054661152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c990612b51565b60405180910390fd5b6008548110610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90612bdf565b60405180910390fd5b8060088190555050565b5f6009600a61062f9190612d59565b631908b10061063e9190612da3565b905090565b61064b61152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612b51565b60405180910390fd5b600a54600881905550600954600781905550565b5f6106f78484846116f5565b6107b48461070361152b565b6107af856040518060600160405280602881526020016138fe6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61076661152b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122df9092919063ffffffff16565b611532565b600190509392505050565b6107c761152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a90612b51565b60405180910390fd5b600f60149054906101000a900460ff16156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90612e2e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061093f30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61092b9190612d59565b631908b10061093a9190612da3565b611532565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190612e60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a779190612e60565b6040518363ffffffff1660e01b8152600401610a94929190612e8b565b6020604051808303815f875af1158015610ab0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e60565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610b5b30610e62565b5f80610b656110d9565b426040518863ffffffff1660e01b8152600401610b8796959493929190612ef4565b60606040518083038185885af1158015610ba3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc89190612f67565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c68929190612fb7565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca89190613008565b506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b610cf161152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7490612b51565b60405180910390fd5b6007548110610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906130a3565b60405180910390fd5b8060078190555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0b61152b565b73ffffffffffffffffffffffffffffffffffffffff1614610e2a575f80fd5b5f610e3430610e62565b90505f811115610e4857610e4781612341565b5b5f4790505f811115610e5e57610e5d816125ac565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eb061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3390612b51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ffe61152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190612b51565b60405180910390fd5b6001600f60186101000a81548160ff0219169083151502179055507f7bfa7bacf025baa75e5308bf15bcf2948f406c7ebe3eb1a8bb611862b9d647ef60405160405180910390a1565b600b5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600581526020017f4d41524d4f000000000000000000000000000000000000000000000000000000815250905090565b5f61115661114f61152b565b84846116f5565b6001905092915050565b600d5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111f061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612b51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190613131565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e90613199565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61144061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c390612b51565b60405180910390fd5b6001600f60166101000a81548160ff0219169083151502179055507f2c0b16c5a737fc1d2b89d80a1993797ce9dbf4cbb59165f986cd2697a98dbbe560405160405180910390a1565b5f600f60149054906101000a900460ff16905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159790613227565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611605906132b5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116e891906129d9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613343565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8906133d1565b60405180910390fd5b5f8111611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a9061345f565b60405180910390fd5b5f61181c6110d9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561188a575061185a6110d9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561202f57600f60169054906101000a900460ff161580156118f85750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119515750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119a4575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a6b574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f906134ed565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600f60169054906101000a900460ff16158015611ad45750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611b2d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b80575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c47574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb906134ed565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600f60189054906101000a900460ff16158015611cb05750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d095750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d5c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611dff57600b54821115611da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9d90613555565b60405180910390fd5b600c5482611db385610e62565b611dbd9190613573565b1115611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df5906135f0565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e8757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb757611eb46064611ea66007548561261490919063ffffffff16565b61268b90919063ffffffff16565b90505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f3f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f6f57611f6c6064611f5e6008548561261490919063ffffffff16565b61268b90919063ffffffff16565b90505b5f611f7930610e62565b9050600f60159054906101000a900460ff16158015611fe45750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ffc5750600f60179054906101000a900460ff165b1561202d5761201561201082600d546126d4565b612341565b5f4790505f81111561202b5761202a476125ac565b5b505b505b5f81111561212e576120878160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ec90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161212591906129d9565b60405180910390a35b61217e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122216121d5828461274990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ec90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122c4848661274990919063ffffffff16565b6040516122d191906129d9565b60405180910390a350505050565b5f838311158290612326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231d919061287d565b60405180910390fd5b505f8385612334919061360e565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561237857612377613641565b5b6040519080825280602002602001820160405280156123a65781602001602082028036833780820191505090505b50905030815f815181106123bd576123bc61366e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612461573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124859190612e60565b816001815181106124995761249861366e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ff30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611532565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612561959493929190613752565b5f604051808303815f87803b158015612578575f80fd5b505af115801561258a573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612610573d5f803e3d5ffd5b5050565b5f808303612624575f9050612685565b5f82846126319190612da3565b905082848261264091906137d7565b14612680576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267790613877565b60405180910390fd5b809150505b92915050565b5f6126cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612792565b905092915050565b5f8183116126e257826126e4565b815b905092915050565b5f8082846126fa9190613573565b90508381101561273f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612736906138df565b60405180910390fd5b8091505092915050565b5f61278a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122df565b905092915050565b5f80831182906127d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cf919061287d565b60405180910390fd5b505f83856127e691906137d7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561282a57808201518184015260208101905061280f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61284f826127f3565b61285981856127fd565b935061286981856020860161280d565b61287281612835565b840191505092915050565b5f6020820190508181035f8301526128958184612845565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ca826128a1565b9050919050565b6128da816128c0565b81146128e4575f80fd5b50565b5f813590506128f5816128d1565b92915050565b5f819050919050565b61290d816128fb565b8114612917575f80fd5b50565b5f8135905061292881612904565b92915050565b5f80604083850312156129445761294361289d565b5b5f612951858286016128e7565b92505060206129628582860161291a565b9150509250929050565b5f8115159050919050565b6129808161296c565b82525050565b5f6020820190506129995f830184612977565b92915050565b5f602082840312156129b4576129b361289d565b5b5f6129c18482850161291a565b91505092915050565b6129d3816128fb565b82525050565b5f6020820190506129ec5f8301846129ca565b92915050565b5f805f60608486031215612a0957612a0861289d565b5b5f612a16868287016128e7565b9350506020612a27868287016128e7565b9250506040612a388682870161291a565b9150509250925092565b5f60ff82169050919050565b612a5781612a42565b82525050565b5f602082019050612a705f830184612a4e565b92915050565b5f60208284031215612a8b57612a8a61289d565b5b5f612a98848285016128e7565b91505092915050565b612aaa816128c0565b82525050565b5f602082019050612ac35f830184612aa1565b92915050565b5f8060408385031215612adf57612ade61289d565b5b5f612aec858286016128e7565b9250506020612afd858286016128e7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b3b6020836127fd565b9150612b4682612b07565b602082019050919050565b5f6020820190508181035f830152612b6881612b2f565b9050919050565b7f53656c6c207461782063616e6e6f742062652073657420746f206d6f726520745f8201527f68616e207468652063757272656e742076616c75650000000000000000000000602082015250565b5f612bc96035836127fd565b9150612bd482612b6f565b604082019050919050565b5f6020820190508181035f830152612bf681612bbd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612c7f57808604811115612c5b57612c5a612bfd565b5b6001851615612c6a5780820291505b8081029050612c7885612c2a565b9450612c3f565b94509492505050565b5f82612c975760019050612d52565b81612ca4575f9050612d52565b8160018114612cba5760028114612cc457612cf3565b6001915050612d52565b60ff841115612cd657612cd5612bfd565b5b8360020a915084821115612ced57612cec612bfd565b5b50612d52565b5060208310610133831016604e8410600b8410161715612d285782820a905083811115612d2357612d22612bfd565b5b612d52565b612d358484846001612c36565b92509050818404811115612d4c57612d4b612bfd565b5b81810290505b9392505050565b5f612d63826128fb565b9150612d6e83612a42565b9250612d9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c88565b905092915050565b5f612dad826128fb565b9150612db8836128fb565b9250828202612dc6816128fb565b91508282048414831517612ddd57612ddc612bfd565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612e186017836127fd565b9150612e2382612de4565b602082019050919050565b5f6020820190508181035f830152612e4581612e0c565b9050919050565b5f81519050612e5a816128d1565b92915050565b5f60208284031215612e7557612e7461289d565b5b5f612e8284828501612e4c565b91505092915050565b5f604082019050612e9e5f830185612aa1565b612eab6020830184612aa1565b9392505050565b5f819050919050565b5f819050919050565b5f612ede612ed9612ed484612eb2565b612ebb565b6128fb565b9050919050565b612eee81612ec4565b82525050565b5f60c082019050612f075f830189612aa1565b612f1460208301886129ca565b612f216040830187612ee5565b612f2e6060830186612ee5565b612f3b6080830185612aa1565b612f4860a08301846129ca565b979650505050505050565b5f81519050612f6181612904565b92915050565b5f805f60608486031215612f7e57612f7d61289d565b5b5f612f8b86828701612f53565b9350506020612f9c86828701612f53565b9250506040612fad86828701612f53565b9150509250925092565b5f604082019050612fca5f830185612aa1565b612fd760208301846129ca565b9392505050565b612fe78161296c565b8114612ff1575f80fd5b50565b5f8151905061300281612fde565b92915050565b5f6020828403121561301d5761301c61289d565b5b5f61302a84828501612ff4565b91505092915050565b7f427579207461782063616e6e6f742062652073657420746f206d6f72652074685f8201527f616e207468652063757272656e742076616c7565000000000000000000000000602082015250565b5f61308d6034836127fd565b915061309882613033565b604082019050919050565b5f6020820190508181035f8301526130ba81613081565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61311b6024836127fd565b9150613126826130c1565b604082019050919050565b5f6020820190508181035f8301526131488161310f565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f613183601b836127fd565b915061318e8261314f565b602082019050919050565b5f6020820190508181035f8301526131b081613177565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6132116024836127fd565b915061321c826131b7565b604082019050919050565b5f6020820190508181035f83015261323e81613205565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61329f6022836127fd565b91506132aa82613245565b604082019050919050565b5f6020820190508181035f8301526132cc81613293565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61332d6025836127fd565b9150613338826132d3565b604082019050919050565b5f6020820190508181035f83015261335a81613321565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bb6023836127fd565b91506133c682613361565b604082019050919050565b5f6020820190508181035f8301526133e8816133af565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6134496029836127fd565b9150613454826133ef565b604082019050919050565b5f6020820190508181035f8301526134768161343d565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d76023836127fd565b91506134e28261347d565b604082019050919050565b5f6020820190508181035f830152613504816134cb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e7400000000000000005f82015250565b5f61353f6018836127fd565b915061354a8261350b565b602082019050919050565b5f6020820190508181035f83015261356c81613533565b9050919050565b5f61357d826128fb565b9150613588836128fb565b92508282019050808211156135a05761359f612bfd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a65000000000000005f82015250565b5f6135da6019836127fd565b91506135e5826135a6565b602082019050919050565b5f6020820190508181035f830152613607816135ce565b9050919050565b5f613618826128fb565b9150613623836128fb565b925082820390508181111561363b5761363a612bfd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136cd816128c0565b82525050565b5f6136de83836136c4565b60208301905092915050565b5f602082019050919050565b5f6137008261369b565b61370a81856136a5565b9350613715836136b5565b805f5b8381101561374557815161372c88826136d3565b9750613737836136ea565b925050600181019050613718565b5085935050505092915050565b5f60a0820190506137655f8301886129ca565b6137726020830187612ee5565b818103604083015261378481866136f6565b90506137936060830185612aa1565b6137a060808301846129ca565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137e1826128fb565b91506137ec836128fb565b9250826137fc576137fb6137aa565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138616021836127fd565b915061386c82613807565b604082019050919050565b5f6020820190508181035f83015261388e81613855565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138c9601b836127fd565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220232737ed81fb6b3e333ff1c5933857071c2c2d830764c7d0502c16667631d8ef64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb146103da578063bf474bed14610416578063dd62ed3e14610440578063f2fde38b1461047c578063f8686f07146104a4578063ffb54a99146104ba5761014a565b8063715018a614610306578063751039fc1461031c5780637d1db4a5146103325780638da5cb5b1461035c5780638f9a55c01461038657806395d89b41146103b05761014a565b806323b872dd1161010757806323b872dd1461021c57806324e3444314610258578063313ce56714610262578063436d33401461028c57806351bc3c85146102b457806370a08231146102ca5761014a565b806306fdde031461014e578063095ea7b31461017857806312185a39146101b457806318160ddd146101dc5780631f734787146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104e4565b60405161016f919061287d565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061292e565b610521565b6040516101ab9190612986565b60405180910390f35b3480156101bf575f80fd5b506101da60048036038101906101d5919061299f565b61053e565b005b3480156101e7575f80fd5b506101f0610620565b6040516101fd91906129d9565b60405180910390f35b348015610211575f80fd5b5061021a610643565b005b348015610227575f80fd5b50610242600480360381019061023d91906129f2565b6106eb565b60405161024f9190612986565b60405180910390f35b6102606107bf565b005b34801561026d575f80fd5b50610276610ce1565b6040516102839190612a5d565b60405180910390f35b348015610297575f80fd5b506102b260048036038101906102ad919061299f565b610ce9565b005b3480156102bf575f80fd5b506102c8610dcb565b005b3480156102d5575f80fd5b506102f060048036038101906102eb9190612a76565b610e62565b6040516102fd91906129d9565b60405180910390f35b348015610311575f80fd5b5061031a610ea8565b005b348015610327575f80fd5b50610330610ff6565b005b34801561033d575f80fd5b506103466110d3565b60405161035391906129d9565b60405180910390f35b348015610367575f80fd5b506103706110d9565b60405161037d9190612ab0565b60405180910390f35b348015610391575f80fd5b5061039a611100565b6040516103a791906129d9565b60405180910390f35b3480156103bb575f80fd5b506103c4611106565b6040516103d1919061287d565b60405180910390f35b3480156103e5575f80fd5b5061040060048036038101906103fb919061292e565b611143565b60405161040d9190612986565b60405180910390f35b348015610421575f80fd5b5061042a611160565b60405161043791906129d9565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190612ac9565b611166565b60405161047391906129d9565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190612a76565b6111e8565b005b3480156104af575f80fd5b506104b8611438565b005b3480156104c5575f80fd5b506104ce611515565b6040516104db9190612986565b60405180910390f35b60606040518060400160405280600c81526020017f73706f726b206d61726d6f740000000000000000000000000000000000000000815250905090565b5f61053461052d61152b565b8484611532565b6001905092915050565b61054661152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c990612b51565b60405180910390fd5b6008548110610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90612bdf565b60405180910390fd5b8060088190555050565b5f6009600a61062f9190612d59565b631908b10061063e9190612da3565b905090565b61064b61152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612b51565b60405180910390fd5b600a54600881905550600954600781905550565b5f6106f78484846116f5565b6107b48461070361152b565b6107af856040518060600160405280602881526020016138fe6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61076661152b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122df9092919063ffffffff16565b611532565b600190509392505050565b6107c761152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a90612b51565b60405180910390fd5b600f60149054906101000a900460ff16156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90612e2e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061093f30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61092b9190612d59565b631908b10061093a9190612da3565b611532565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190612e60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a779190612e60565b6040518363ffffffff1660e01b8152600401610a94929190612e8b565b6020604051808303815f875af1158015610ab0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e60565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610b5b30610e62565b5f80610b656110d9565b426040518863ffffffff1660e01b8152600401610b8796959493929190612ef4565b60606040518083038185885af1158015610ba3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc89190612f67565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c68929190612fb7565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca89190613008565b506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b610cf161152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7490612b51565b60405180910390fd5b6007548110610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906130a3565b60405180910390fd5b8060078190555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0b61152b565b73ffffffffffffffffffffffffffffffffffffffff1614610e2a575f80fd5b5f610e3430610e62565b90505f811115610e4857610e4781612341565b5b5f4790505f811115610e5e57610e5d816125ac565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eb061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3390612b51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ffe61152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190612b51565b60405180910390fd5b6001600f60186101000a81548160ff0219169083151502179055507f7bfa7bacf025baa75e5308bf15bcf2948f406c7ebe3eb1a8bb611862b9d647ef60405160405180910390a1565b600b5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600581526020017f4d41524d4f000000000000000000000000000000000000000000000000000000815250905090565b5f61115661114f61152b565b84846116f5565b6001905092915050565b600d5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111f061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612b51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190613131565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e90613199565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61144061152b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c390612b51565b60405180910390fd5b6001600f60166101000a81548160ff0219169083151502179055507f2c0b16c5a737fc1d2b89d80a1993797ce9dbf4cbb59165f986cd2697a98dbbe560405160405180910390a1565b5f600f60149054906101000a900460ff16905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159790613227565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611605906132b5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116e891906129d9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613343565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8906133d1565b60405180910390fd5b5f8111611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a9061345f565b60405180910390fd5b5f61181c6110d9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561188a575061185a6110d9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561202f57600f60169054906101000a900460ff161580156118f85750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119515750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119a4575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a6b574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f906134ed565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600f60169054906101000a900460ff16158015611ad45750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611b2d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b80575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c47574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb906134ed565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600f60189054906101000a900460ff16158015611cb05750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d095750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d5c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611dff57600b54821115611da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9d90613555565b60405180910390fd5b600c5482611db385610e62565b611dbd9190613573565b1115611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df5906135f0565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e8757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb757611eb46064611ea66007548561261490919063ffffffff16565b61268b90919063ffffffff16565b90505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f3f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f6f57611f6c6064611f5e6008548561261490919063ffffffff16565b61268b90919063ffffffff16565b90505b5f611f7930610e62565b9050600f60159054906101000a900460ff16158015611fe45750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ffc5750600f60179054906101000a900460ff165b1561202d5761201561201082600d546126d4565b612341565b5f4790505f81111561202b5761202a476125ac565b5b505b505b5f81111561212e576120878160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ec90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161212591906129d9565b60405180910390a35b61217e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122216121d5828461274990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ec90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122c4848661274990919063ffffffff16565b6040516122d191906129d9565b60405180910390a350505050565b5f838311158290612326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231d919061287d565b60405180910390fd5b505f8385612334919061360e565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561237857612377613641565b5b6040519080825280602002602001820160405280156123a65781602001602082028036833780820191505090505b50905030815f815181106123bd576123bc61366e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612461573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124859190612e60565b816001815181106124995761249861366e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ff30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611532565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612561959493929190613752565b5f604051808303815f87803b158015612578575f80fd5b505af115801561258a573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612610573d5f803e3d5ffd5b5050565b5f808303612624575f9050612685565b5f82846126319190612da3565b905082848261264091906137d7565b14612680576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267790613877565b60405180910390fd5b809150505b92915050565b5f6126cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612792565b905092915050565b5f8183116126e257826126e4565b815b905092915050565b5f8082846126fa9190613573565b90508381101561273f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612736906138df565b60405180910390fd5b8091505092915050565b5f61278a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122df565b905092915050565b5f80831182906127d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cf919061287d565b60405180910390fd5b505f83856127e691906137d7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561282a57808201518184015260208101905061280f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61284f826127f3565b61285981856127fd565b935061286981856020860161280d565b61287281612835565b840191505092915050565b5f6020820190508181035f8301526128958184612845565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ca826128a1565b9050919050565b6128da816128c0565b81146128e4575f80fd5b50565b5f813590506128f5816128d1565b92915050565b5f819050919050565b61290d816128fb565b8114612917575f80fd5b50565b5f8135905061292881612904565b92915050565b5f80604083850312156129445761294361289d565b5b5f612951858286016128e7565b92505060206129628582860161291a565b9150509250929050565b5f8115159050919050565b6129808161296c565b82525050565b5f6020820190506129995f830184612977565b92915050565b5f602082840312156129b4576129b361289d565b5b5f6129c18482850161291a565b91505092915050565b6129d3816128fb565b82525050565b5f6020820190506129ec5f8301846129ca565b92915050565b5f805f60608486031215612a0957612a0861289d565b5b5f612a16868287016128e7565b9350506020612a27868287016128e7565b9250506040612a388682870161291a565b9150509250925092565b5f60ff82169050919050565b612a5781612a42565b82525050565b5f602082019050612a705f830184612a4e565b92915050565b5f60208284031215612a8b57612a8a61289d565b5b5f612a98848285016128e7565b91505092915050565b612aaa816128c0565b82525050565b5f602082019050612ac35f830184612aa1565b92915050565b5f8060408385031215612adf57612ade61289d565b5b5f612aec858286016128e7565b9250506020612afd858286016128e7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b3b6020836127fd565b9150612b4682612b07565b602082019050919050565b5f6020820190508181035f830152612b6881612b2f565b9050919050565b7f53656c6c207461782063616e6e6f742062652073657420746f206d6f726520745f8201527f68616e207468652063757272656e742076616c75650000000000000000000000602082015250565b5f612bc96035836127fd565b9150612bd482612b6f565b604082019050919050565b5f6020820190508181035f830152612bf681612bbd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612c7f57808604811115612c5b57612c5a612bfd565b5b6001851615612c6a5780820291505b8081029050612c7885612c2a565b9450612c3f565b94509492505050565b5f82612c975760019050612d52565b81612ca4575f9050612d52565b8160018114612cba5760028114612cc457612cf3565b6001915050612d52565b60ff841115612cd657612cd5612bfd565b5b8360020a915084821115612ced57612cec612bfd565b5b50612d52565b5060208310610133831016604e8410600b8410161715612d285782820a905083811115612d2357612d22612bfd565b5b612d52565b612d358484846001612c36565b92509050818404811115612d4c57612d4b612bfd565b5b81810290505b9392505050565b5f612d63826128fb565b9150612d6e83612a42565b9250612d9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c88565b905092915050565b5f612dad826128fb565b9150612db8836128fb565b9250828202612dc6816128fb565b91508282048414831517612ddd57612ddc612bfd565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612e186017836127fd565b9150612e2382612de4565b602082019050919050565b5f6020820190508181035f830152612e4581612e0c565b9050919050565b5f81519050612e5a816128d1565b92915050565b5f60208284031215612e7557612e7461289d565b5b5f612e8284828501612e4c565b91505092915050565b5f604082019050612e9e5f830185612aa1565b612eab6020830184612aa1565b9392505050565b5f819050919050565b5f819050919050565b5f612ede612ed9612ed484612eb2565b612ebb565b6128fb565b9050919050565b612eee81612ec4565b82525050565b5f60c082019050612f075f830189612aa1565b612f1460208301886129ca565b612f216040830187612ee5565b612f2e6060830186612ee5565b612f3b6080830185612aa1565b612f4860a08301846129ca565b979650505050505050565b5f81519050612f6181612904565b92915050565b5f805f60608486031215612f7e57612f7d61289d565b5b5f612f8b86828701612f53565b9350506020612f9c86828701612f53565b9250506040612fad86828701612f53565b9150509250925092565b5f604082019050612fca5f830185612aa1565b612fd760208301846129ca565b9392505050565b612fe78161296c565b8114612ff1575f80fd5b50565b5f8151905061300281612fde565b92915050565b5f6020828403121561301d5761301c61289d565b5b5f61302a84828501612ff4565b91505092915050565b7f427579207461782063616e6e6f742062652073657420746f206d6f72652074685f8201527f616e207468652063757272656e742076616c7565000000000000000000000000602082015250565b5f61308d6034836127fd565b915061309882613033565b604082019050919050565b5f6020820190508181035f8301526130ba81613081565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61311b6024836127fd565b9150613126826130c1565b604082019050919050565b5f6020820190508181035f8301526131488161310f565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f613183601b836127fd565b915061318e8261314f565b602082019050919050565b5f6020820190508181035f8301526131b081613177565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6132116024836127fd565b915061321c826131b7565b604082019050919050565b5f6020820190508181035f83015261323e81613205565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61329f6022836127fd565b91506132aa82613245565b604082019050919050565b5f6020820190508181035f8301526132cc81613293565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61332d6025836127fd565b9150613338826132d3565b604082019050919050565b5f6020820190508181035f83015261335a81613321565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bb6023836127fd565b91506133c682613361565b604082019050919050565b5f6020820190508181035f8301526133e8816133af565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6134496029836127fd565b9150613454826133ef565b604082019050919050565b5f6020820190508181035f8301526134768161343d565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d76023836127fd565b91506134e28261347d565b604082019050919050565b5f6020820190508181035f830152613504816134cb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e7400000000000000005f82015250565b5f61353f6018836127fd565b915061354a8261350b565b602082019050919050565b5f6020820190508181035f83015261356c81613533565b9050919050565b5f61357d826128fb565b9150613588836128fb565b92508282019050808211156135a05761359f612bfd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a65000000000000005f82015250565b5f6135da6019836127fd565b91506135e5826135a6565b602082019050919050565b5f6020820190508181035f830152613607816135ce565b9050919050565b5f613618826128fb565b9150613623836128fb565b925082820390508181111561363b5761363a612bfd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136cd816128c0565b82525050565b5f6136de83836136c4565b60208301905092915050565b5f602082019050919050565b5f6137008261369b565b61370a81856136a5565b9350613715836136b5565b805f5b8381101561374557815161372c88826136d3565b9750613737836136ea565b925050600181019050613718565b5085935050505092915050565b5f60a0820190506137655f8301886129ca565b6137726020830187612ee5565b818103604083015261378481866136f6565b90506137936060830185612aa1565b6137a060808301846129ca565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137e1826128fb565b91506137ec836128fb565b9250826137fc576137fb6137aa565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138616021836127fd565b915061386c82613807565b604082019050919050565b5f6020820190508181035f83015261388e81613855565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138c9601b836127fd565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220232737ed81fb6b3e333ff1c5933857071c2c2d830764c7d0502c16667631d8ef64736f6c634300081a0033
Deployed Bytecode Sourcemap
4256:9213:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6273:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7252:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11797:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6550:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11996:120;;;;;;;;;;;;;:::i;:::-;;7446:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12224:829;;;:::i;:::-;;6459:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11605:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13098:366;;;;;;;;;;;;;:::i;:::-;;6653:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3279:148;;;;;;;;;;;;;:::i;:::-;;10736:113;;;;;;;;;;;;;:::i;:::-;;5149:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2706:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5211:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6364:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6876:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5275:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7076:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2920:351;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10857:134;;;;;;;;;;;;;:::i;:::-;;6780:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6273:83;6310:13;6343:5;;;;;;;;;;;;;;;;;6336:12;;6273:83;:::o;7252:186::-;7352:4;7369:39;7378:12;:10;:12::i;:::-;7392:7;7401:6;7369:8;:39::i;:::-;7426:4;7419:11;;7252:186;;;;:::o;11797:191::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11885:8:::1;;11875:7;:18;11867:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;11973:7;11962:8;:18;;;;11797:191:::0;:::o;6550:95::-;6603:7;4991:1;5046:2;:15;;;;:::i;:::-;5034:9;:27;;;;:::i;:::-;6623:14;;6550:95;:::o;11996:120::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12062:13:::1;;12051:8;:24;;;;12096:12;;12086:7;:22;;;;11996:120::o:0;7446:446::-;7578:4;7595:36;7605:6;7613:9;7624:6;7595:9;:36::i;:::-;7642:220;7665:6;7686:12;:10;:12::i;:::-;7713:138;7769:6;7713:138;;;;;;;;;;;;;;;;;:11;:19;7725:6;7713:19;;;;;;;;;;;;;;;:33;7733:12;:10;:12::i;:::-;7713:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7642:8;:220::i;:::-;7880:4;7873:11;;7446:446;;;;;:::o;12224:829::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12298:12:::1;;;;;;;;;;;12297:13;12289:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;12400:42;12349:15;;:104;;;;;;;;;;;;;;;;;;12464:58;12481:4;12496:15;;;;;;;;;;;4991:1;5046:2;:15;;;;:::i;:::-;5034:9;:27;;;;:::i;:::-;12464:8;:58::i;:::-;12567:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12549:55;;;12627:4;12647:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12549:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12533:13;;:147;;;;;;;;;;;;;;;;;;12691:15;;;;;;;;;;;:31;;;12731:9;12765:4;12785:24;12803:4;12785:9;:24::i;:::-;12824:1;12840::::0;12856:7:::1;:5;:7::i;:::-;12878:15;12691:213;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12922:13;;;;;;;;;;;12915:29;;;12953:15;;;;;;;;;;;12971:14;12915:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13011:4;12997:11;;:18;;;;;;;;;;;;;;;;;;13041:4;13026:12;;:19;;;;;;;;;;;;;;;;;;12224:829::o:0;6459:83::-;6500:5;4991:1;6518:16;;6459:83;:::o;11605:184::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11690:7:::1;;11681:6;:16;11673:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11775:6;11765:7;:16;;;;11605:184:::0;:::o;13098:366::-;13164:10;;;;;;;;;;;13148:26;;:12;:10;:12::i;:::-;:26;;;13140:35;;;;;;13186:20;13209:24;13227:4;13209:9;:24::i;:::-;13186:47;;13263:1;13248:12;:16;13244:79;;;13281:30;13298:12;13281:16;:30::i;:::-;13244:79;13333:18;13354:21;13333:42;;13403:1;13390:10;:14;13386:71;;;13421:24;13434:10;13421:12;:24::i;:::-;13386:71;13129:335;;13098:366::o;6653:119::-;6719:7;6746:9;:18;6756:7;6746:18;;;;;;;;;;;;;;;;6739:25;;6653:119;;;:::o;3279:148::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3386:1:::1;3349:40;;3370:6;::::0;::::1;;;;;;;;3349:40;;;;;;;;;;;;3417:1;3400:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3279:148::o:0;10736:113::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10806:4:::1;10790:13;;:20;;;;;;;;;;;;;;;;;;10826:15;;;;;;;;;;10736:113::o:0;5149:55::-;;;;:::o;2706:79::-;2744:7;2771:6;;;;;;;;;;;2764:13;;2706:79;:::o;5211:57::-;;;;:::o;6364:87::-;6403:13;6436:7;;;;;;;;;;;;;;;;;6429:14;;6364:87;:::o;6876:192::-;6979:4;6996:42;7006:12;:10;:12::i;:::-;7020:9;7031:6;6996:9;:42::i;:::-;7056:4;7049:11;;6876:192;;;;:::o;5275:60::-;;;;:::o;7076:168::-;7182:7;7209:11;:18;7221:5;7209:18;;;;;;;;;;;;;;;:27;7228:7;7209:27;;;;;;;;;;;;;;;;7202:34;;7076:168;;;;:::o;2920:351::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3029:1:::1;3009:22;;:8;:22;;::::0;3001:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3103:6;::::0;::::1;;;;;;;;3091:18;;:8;:18;;::::0;3083:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3152:17;3172:6:::0;::::1;;;;;;;;;;3152:26;;3198:8;3189:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3254:8;3222:41;;3243:9;3222:41;;;;;;;;;;;;2990:281;2920:351:::0;:::o;10857:134::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10941:4:::1;10918:20;;:27;;;;;;;;;;;;;;;;;;10961:22;;;;;;;;;;10857:134::o:0;6780:88::-;6824:4;6848:12;;;;;;;;;;;6841:19;;6780:88;:::o;2281:98::-;2334:7;2361:10;2354:17;;2281:98;:::o;7900:335::-;8010:1;7993:19;;:5;:19;;;7985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8091:1;8072:21;;:7;:21;;;8064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8173:6;8143:11;:18;8155:5;8143:18;;;;;;;;;;;;;;;:27;8162:7;8143:27;;;;;;;;;;;;;;;:36;;;;8211:7;8195:32;;8204:5;8195:32;;;8220:6;8195:32;;;;;;:::i;:::-;;;;;;;;7900:335;;;:::o;8243:2485::-;8347:1;8331:18;;:4;:18;;;8323:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8424:1;8410:16;;:2;:16;;;8402:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8494:1;8485:6;:10;8477:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8554:17;8600:7;:5;:7::i;:::-;8592:15;;:4;:15;;;;:32;;;;;8617:7;:5;:7::i;:::-;8611:13;;:2;:13;;;;8592:32;8588:1763;;;8646:20;;;;;;;;;;;8645:21;:46;;;;;8678:13;;;;;;;;;;;8670:21;;:4;:21;;;8645:46;:80;;;;;8709:15;;;;;;;;;;;8695:30;;:2;:30;;;;8645:80;:107;;;;;8730:18;:22;8749:2;8730:22;;;;;;;;;;;;;;;;;;;;;;;;;8729:23;8645:107;8641:323;;;8823:12;8781:28;:39;8810:9;8781:39;;;;;;;;;;;;;;;;:54;8773:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8936:12;8894:28;:39;8923:9;8894:39;;;;;;;;;;;;;;;:54;;;;8641:323;8985:20;;;;;;;;;;;8984:21;:44;;;;;9015:13;;;;;;;;;;;9009:19;;:2;:19;;;8984:44;:80;;;;;9048:15;;;;;;;;;;;9032:32;;:4;:32;;;;8984:80;:109;;;;;9069:18;:24;9088:4;9069:24;;;;;;;;;;;;;;;;;;;;;;;;;9068:25;8984:109;8980:325;;;9164:12;9122:28;:39;9151:9;9122:39;;;;;;;;;;;;;;;;:54;9114:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:12;9235:28;:39;9264:9;9235:39;;;;;;;;;;;;;;;:54;;;;8980:325;9338:13;;;;;;;;;;;9337:14;:39;;;;;9363:13;;;;;;;;;;;9355:21;;:4;:21;;;9337:39;:73;;;;;9394:15;;;;;;;;;;;9380:30;;:2;:30;;;;9337:73;:100;;;;;9415:18;:22;9434:2;9415:22;;;;;;;;;;;;;;;;;;;;;;;;;9414:23;9337:100;9333:297;;;9476:12;;9466:6;:22;;9458:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9570:14;;9560:6;9544:13;9554:2;9544:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9536:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;9333:297;9657:13;;;;;;;;;;;9649:21;;:4;:21;;;:44;;;;;9688:4;9674:19;;:2;:19;;;;9649:44;9646:123;;;9725:28;9749:3;9725:19;9736:7;;9725:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9713:40;;9646:123;9795:13;;;;;;;;;;;9789:19;;:2;:19;;;:44;;;;;9828:4;9812:21;;:4;:21;;;;9789:44;9785:126;;;9866:29;9891:3;9866:20;9877:8;;9866:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9854:41;;9785:126;9927:28;9958:24;9976:4;9958:9;:24::i;:::-;9927:55;;10004:6;;;;;;;;;;;10003:7;:30;;;;;10020:13;;;;;;;;;;;10014:19;;:2;:19;;;10003:30;:45;;;;;10037:11;;;;;;;;;;;10003:45;9999:341;;;10069:62;10086:44;10090:20;10112:17;;10086:3;:44::i;:::-;10069:16;:62::i;:::-;10150:26;10179:21;10150:50;;10244:1;10223:18;:22;10219:106;;;10270:35;10283:21;10270:12;:35::i;:::-;10219:106;10050:290;9999:341;8626:1725;8588:1763;10379:1;10367:9;:13;10363:172;;;10424:39;10453:9;10424;:24;10442:4;10424:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10397:9;:24;10415:4;10397:24;;;;;;;;;;;;;;;:66;;;;10506:4;10483:40;;10492:4;10483:40;;;10513:9;10483:40;;;;;;:::i;:::-;;;;;;;;10363:172;10565:27;10585:6;10565:9;:15;10575:4;10565:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10547:9;:15;10557:4;10547:15;;;;;;;;;;;;;;;:45;;;;10619:40;10637:21;10648:9;10637:6;:10;;:21;;;;:::i;:::-;10619:9;:13;10629:2;10619:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10603:9;:13;10613:2;10603:13;;;;;;;;;;;;;;;:56;;;;10692:2;10677:41;;10686:4;10677:41;;;10696:21;10707:9;10696:6;:10;;:21;;;;:::i;:::-;10677:41;;;;;;:::i;:::-;;;;;;;;8312:2416;8243:2485;;;:::o;602:190::-;688:7;721:1;716;:6;;724:12;708:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;748:9;764:1;760;:5;;;;:::i;:::-;748:17;;783:1;776:8;;;602:190;;;;;:::o;11114:483::-;5737:4;5728:6;;:13;;;;;;;;;;;;;;;;;;11192:21:::1;11230:1;11216:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11192:40;;11261:4;11243;11248:1;11243:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11287:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11277:4;11282:1;11277:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11320:62;11337:4;11352:15;;;;;;;;;;;11370:11;11320:8;:62::i;:::-;11393:15;;;;;;;;;;;:66;;;11474:11;11500:1;11516:4;11543;11563:15;11393:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11181:416;5773:5:::0;5764:6;;:14;;;;;;;;;;;;;;;;;;11114:483;:::o;12124:92::-;12181:10;;;;;;;;;;;:19;;:27;12201:6;12181:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12124:92;:::o;800:246::-;858:7;887:1;882;:6;878:47;;912:1;905:8;;;;878:47;935:9;951:1;947;:5;;;;:::i;:::-;935:17;;980:1;975;971;:5;;;;:::i;:::-;:10;963:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1037:1;1030:8;;;800:246;;;;;:::o;1054:132::-;1112:7;1139:39;1143:1;1146;1139:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1132:46;;1054:132;;;;:::o;10999:107::-;11056:7;11088:1;11084;:5;11083:15;;11097:1;11083:15;;;11093:1;11083:15;11076:22;;10999:107;;;;:::o;271:179::-;329:7;349:9;365:1;361;:5;;;;:::i;:::-;349:17;;390:1;385;:6;;377:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;441:1;434:8;;;271:179;;;;:::o;458:136::-;516:7;543:43;547:1;550;543:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;536:50;;458:136;;;;:::o;1194:189::-;1280:7;1312:1;1308;:5;1315:12;1300:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1339:9;1355:1;1351;:5;;;;:::i;:::-;1339:17;;1374:1;1367:8;;;1194: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:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:329::-;3507:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:119;;;3562:79;;:::i;:::-;3524:119;3682:1;3707:53;3752:7;3743:6;3732:9;3728:22;3707:53;:::i;:::-;3697:63;;3653:117;3448:329;;;;:::o;3783:118::-;3870:24;3888:5;3870:24;:::i;:::-;3865:3;3858:37;3783:118;;:::o;3907:222::-;4000:4;4038:2;4027:9;4023:18;4015:26;;4051:71;4119:1;4108:9;4104:17;4095:6;4051:71;:::i;:::-;3907:222;;;;:::o;4135:619::-;4212:6;4220;4228;4277:2;4265:9;4256:7;4252:23;4248:32;4245:119;;;4283:79;;:::i;:::-;4245:119;4403:1;4428:53;4473:7;4464:6;4453:9;4449:22;4428:53;:::i;:::-;4418:63;;4374:117;4530:2;4556:53;4601:7;4592:6;4581:9;4577:22;4556:53;:::i;:::-;4546:63;;4501:118;4658:2;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;:::i;:::-;4674:63;;4629:118;4135:619;;;;;:::o;4760:86::-;4795:7;4835:4;4828:5;4824:16;4813:27;;4760:86;;;:::o;4852:112::-;4935:22;4951:5;4935:22;:::i;:::-;4930:3;4923:35;4852:112;;:::o;4970:214::-;5059:4;5097:2;5086:9;5082:18;5074:26;;5110:67;5174:1;5163:9;5159:17;5150:6;5110:67;:::i;:::-;4970:214;;;;:::o;5190:329::-;5249:6;5298:2;5286:9;5277:7;5273:23;5269:32;5266:119;;;5304:79;;:::i;:::-;5266:119;5424:1;5449:53;5494:7;5485:6;5474:9;5470:22;5449:53;:::i;:::-;5439:63;;5395:117;5190:329;;;;:::o;5525:118::-;5612:24;5630:5;5612:24;:::i;:::-;5607:3;5600:37;5525:118;;:::o;5649:222::-;5742:4;5780:2;5769:9;5765:18;5757:26;;5793:71;5861:1;5850:9;5846:17;5837:6;5793:71;:::i;:::-;5649:222;;;;:::o;5877:474::-;5945:6;5953;6002:2;5990:9;5981:7;5977:23;5973:32;5970:119;;;6008:79;;:::i;:::-;5970:119;6128:1;6153:53;6198:7;6189:6;6178:9;6174:22;6153:53;:::i;:::-;6143:63;;6099:117;6255:2;6281:53;6326:7;6317:6;6306:9;6302:22;6281:53;:::i;:::-;6271:63;;6226:118;5877:474;;;;;:::o;6357:182::-;6497:34;6493:1;6485:6;6481:14;6474:58;6357:182;:::o;6545:366::-;6687:3;6708:67;6772:2;6767:3;6708:67;:::i;:::-;6701:74;;6784:93;6873:3;6784:93;:::i;:::-;6902:2;6897:3;6893:12;6886:19;;6545:366;;;:::o;6917:419::-;7083:4;7121:2;7110:9;7106:18;7098:26;;7170:9;7164:4;7160:20;7156:1;7145:9;7141:17;7134:47;7198:131;7324:4;7198:131;:::i;:::-;7190:139;;6917:419;;;:::o;7342:240::-;7482:34;7478:1;7470:6;7466:14;7459:58;7551:23;7546:2;7538:6;7534:15;7527:48;7342:240;:::o;7588:366::-;7730:3;7751:67;7815:2;7810:3;7751:67;:::i;:::-;7744:74;;7827:93;7916:3;7827:93;:::i;:::-;7945:2;7940:3;7936:12;7929:19;;7588:366;;;:::o;7960:419::-;8126:4;8164:2;8153:9;8149:18;8141:26;;8213:9;8207:4;8203:20;8199:1;8188:9;8184:17;8177:47;8241:131;8367:4;8241:131;:::i;:::-;8233:139;;7960:419;;;:::o;8385:180::-;8433:77;8430:1;8423:88;8530:4;8527:1;8520:15;8554:4;8551:1;8544:15;8571:102;8613:8;8660:5;8657:1;8653:13;8632:34;;8571:102;;;:::o;8679:848::-;8740:5;8747:4;8771:6;8762:15;;8795:5;8786:14;;8809:712;8830:1;8820:8;8817:15;8809:712;;;8925:4;8920:3;8916:14;8910:4;8907:24;8904:50;;;8934:18;;:::i;:::-;8904:50;8984:1;8974:8;8970:16;8967:451;;;9399:4;9392:5;9388:16;9379:25;;8967:451;9449:4;9443;9439:15;9431:23;;9479:32;9502:8;9479:32;:::i;:::-;9467:44;;8809:712;;;8679:848;;;;;;;:::o;9533:1073::-;9587:5;9778:8;9768:40;;9799:1;9790:10;;9801:5;;9768:40;9827:4;9817:36;;9844:1;9835:10;;9846:5;;9817:36;9913:4;9961:1;9956:27;;;;9997:1;9992:191;;;;9906:277;;9956:27;9974:1;9965:10;;9976:5;;;9992:191;10037:3;10027:8;10024:17;10021:43;;;10044:18;;:::i;:::-;10021:43;10093:8;10090:1;10086:16;10077:25;;10128:3;10121:5;10118:14;10115:40;;;10135:18;;:::i;:::-;10115:40;10168:5;;;9906:277;;10292:2;10282:8;10279:16;10273:3;10267:4;10264:13;10260:36;10242:2;10232:8;10229:16;10224:2;10218:4;10215:12;10211:35;10195:111;10192:246;;;10348:8;10342:4;10338:19;10329:28;;10383:3;10376:5;10373:14;10370:40;;;10390:18;;:::i;:::-;10370:40;10423:5;;10192:246;10463:42;10501:3;10491:8;10485:4;10482:1;10463:42;:::i;:::-;10448:57;;;;10537:4;10532:3;10528:14;10521:5;10518:25;10515:51;;;10546:18;;:::i;:::-;10515:51;10595:4;10588:5;10584:16;10575:25;;9533:1073;;;;;;:::o;10612:281::-;10670:5;10694:23;10712:4;10694:23;:::i;:::-;10686:31;;10738:25;10754:8;10738:25;:::i;:::-;10726:37;;10782:104;10819:66;10809:8;10803:4;10782:104;:::i;:::-;10773:113;;10612:281;;;;:::o;10899:410::-;10939:7;10962:20;10980:1;10962:20;:::i;:::-;10957:25;;10996:20;11014:1;10996:20;:::i;:::-;10991:25;;11051:1;11048;11044:9;11073:30;11091:11;11073:30;:::i;:::-;11062:41;;11252:1;11243:7;11239:15;11236:1;11233:22;11213:1;11206:9;11186:83;11163:139;;11282:18;;:::i;:::-;11163:139;10947:362;10899:410;;;;:::o;11315:173::-;11455:25;11451:1;11443:6;11439:14;11432:49;11315:173;:::o;11494:366::-;11636:3;11657:67;11721:2;11716:3;11657:67;:::i;:::-;11650:74;;11733:93;11822:3;11733:93;:::i;:::-;11851:2;11846:3;11842:12;11835:19;;11494:366;;;:::o;11866:419::-;12032:4;12070:2;12059:9;12055:18;12047:26;;12119:9;12113:4;12109:20;12105:1;12094:9;12090:17;12083:47;12147:131;12273:4;12147:131;:::i;:::-;12139:139;;11866:419;;;:::o;12291:143::-;12348:5;12379:6;12373:13;12364:22;;12395:33;12422:5;12395:33;:::i;:::-;12291:143;;;;:::o;12440:351::-;12510:6;12559:2;12547:9;12538:7;12534:23;12530:32;12527:119;;;12565:79;;:::i;:::-;12527:119;12685:1;12710:64;12766:7;12757:6;12746:9;12742:22;12710:64;:::i;:::-;12700:74;;12656:128;12440:351;;;;:::o;12797:332::-;12918:4;12956:2;12945:9;12941:18;12933:26;;12969:71;13037:1;13026:9;13022:17;13013:6;12969:71;:::i;:::-;13050:72;13118:2;13107:9;13103:18;13094:6;13050:72;:::i;:::-;12797:332;;;;;:::o;13135:85::-;13180:7;13209:5;13198:16;;13135:85;;;:::o;13226:60::-;13254:3;13275:5;13268:12;;13226:60;;;:::o;13292:158::-;13350:9;13383:61;13401:42;13410:32;13436:5;13410:32;:::i;:::-;13401:42;:::i;:::-;13383:61;:::i;:::-;13370:74;;13292:158;;;:::o;13456:147::-;13551:45;13590:5;13551:45;:::i;:::-;13546:3;13539:58;13456:147;;:::o;13609:807::-;13858:4;13896:3;13885:9;13881:19;13873:27;;13910:71;13978:1;13967:9;13963:17;13954:6;13910:71;:::i;:::-;13991:72;14059:2;14048:9;14044:18;14035:6;13991:72;:::i;:::-;14073:80;14149:2;14138:9;14134:18;14125:6;14073:80;:::i;:::-;14163;14239:2;14228:9;14224:18;14215:6;14163:80;:::i;:::-;14253:73;14321:3;14310:9;14306:19;14297:6;14253:73;:::i;:::-;14336;14404:3;14393:9;14389:19;14380:6;14336:73;:::i;:::-;13609:807;;;;;;;;;:::o;14422:143::-;14479:5;14510:6;14504:13;14495:22;;14526:33;14553:5;14526:33;:::i;:::-;14422:143;;;;:::o;14571:663::-;14659:6;14667;14675;14724:2;14712:9;14703:7;14699:23;14695:32;14692:119;;;14730:79;;:::i;:::-;14692:119;14850:1;14875:64;14931:7;14922:6;14911:9;14907:22;14875:64;:::i;:::-;14865:74;;14821:128;14988:2;15014:64;15070:7;15061:6;15050:9;15046:22;15014:64;:::i;:::-;15004:74;;14959:129;15127:2;15153:64;15209:7;15200:6;15189:9;15185:22;15153:64;:::i;:::-;15143:74;;15098:129;14571:663;;;;;:::o;15240:332::-;15361:4;15399:2;15388:9;15384:18;15376:26;;15412:71;15480:1;15469:9;15465:17;15456:6;15412:71;:::i;:::-;15493:72;15561:2;15550:9;15546:18;15537:6;15493:72;:::i;:::-;15240:332;;;;;:::o;15578:116::-;15648:21;15663:5;15648:21;:::i;:::-;15641:5;15638:32;15628:60;;15684:1;15681;15674:12;15628:60;15578:116;:::o;15700:137::-;15754:5;15785:6;15779:13;15770:22;;15801:30;15825:5;15801:30;:::i;:::-;15700:137;;;;:::o;15843:345::-;15910:6;15959:2;15947:9;15938:7;15934:23;15930:32;15927:119;;;15965:79;;:::i;:::-;15927:119;16085:1;16110:61;16163:7;16154:6;16143:9;16139:22;16110:61;:::i;:::-;16100:71;;16056:125;15843:345;;;;:::o;16194:239::-;16334:34;16330:1;16322:6;16318:14;16311:58;16403:22;16398:2;16390:6;16386:15;16379:47;16194:239;:::o;16439:366::-;16581:3;16602:67;16666:2;16661:3;16602:67;:::i;:::-;16595:74;;16678:93;16767:3;16678:93;:::i;:::-;16796:2;16791:3;16787:12;16780:19;;16439:366;;;:::o;16811:419::-;16977:4;17015:2;17004:9;17000:18;16992:26;;17064:9;17058:4;17054:20;17050:1;17039:9;17035:17;17028:47;17092:131;17218:4;17092:131;:::i;:::-;17084:139;;16811:419;;;:::o;17236:223::-;17376:34;17372:1;17364:6;17360:14;17353:58;17445:6;17440:2;17432:6;17428:15;17421:31;17236:223;:::o;17465:366::-;17607:3;17628:67;17692:2;17687:3;17628:67;:::i;:::-;17621:74;;17704:93;17793:3;17704:93;:::i;:::-;17822:2;17817:3;17813:12;17806:19;;17465:366;;;:::o;17837:419::-;18003:4;18041:2;18030:9;18026:18;18018:26;;18090:9;18084:4;18080:20;18076:1;18065:9;18061:17;18054:47;18118:131;18244:4;18118:131;:::i;:::-;18110:139;;17837:419;;;:::o;18262:177::-;18402:29;18398:1;18390:6;18386:14;18379:53;18262:177;:::o;18445:366::-;18587:3;18608:67;18672:2;18667:3;18608:67;:::i;:::-;18601:74;;18684:93;18773:3;18684:93;:::i;:::-;18802:2;18797:3;18793:12;18786:19;;18445:366;;;:::o;18817:419::-;18983:4;19021:2;19010:9;19006:18;18998:26;;19070:9;19064:4;19060:20;19056:1;19045:9;19041:17;19034:47;19098:131;19224:4;19098:131;:::i;:::-;19090:139;;18817:419;;;:::o;19242:223::-;19382:34;19378:1;19370:6;19366:14;19359:58;19451:6;19446:2;19438:6;19434:15;19427:31;19242:223;:::o;19471:366::-;19613:3;19634:67;19698:2;19693:3;19634:67;:::i;:::-;19627:74;;19710:93;19799:3;19710:93;:::i;:::-;19828:2;19823:3;19819:12;19812:19;;19471:366;;;:::o;19843:419::-;20009:4;20047:2;20036:9;20032:18;20024:26;;20096:9;20090:4;20086:20;20082:1;20071:9;20067:17;20060:47;20124:131;20250:4;20124:131;:::i;:::-;20116:139;;19843:419;;;:::o;20268:221::-;20408:34;20404:1;20396:6;20392:14;20385:58;20477:4;20472:2;20464:6;20460:15;20453:29;20268:221;:::o;20495:366::-;20637:3;20658:67;20722:2;20717:3;20658:67;:::i;:::-;20651:74;;20734:93;20823:3;20734:93;:::i;:::-;20852:2;20847:3;20843:12;20836:19;;20495:366;;;:::o;20867:419::-;21033:4;21071:2;21060:9;21056:18;21048:26;;21120:9;21114:4;21110:20;21106:1;21095:9;21091:17;21084:47;21148:131;21274:4;21148:131;:::i;:::-;21140:139;;20867:419;;;:::o;21292:224::-;21432:34;21428:1;21420:6;21416:14;21409:58;21501:7;21496:2;21488:6;21484:15;21477:32;21292:224;:::o;21522:366::-;21664:3;21685:67;21749:2;21744:3;21685:67;:::i;:::-;21678:74;;21761:93;21850:3;21761:93;:::i;:::-;21879:2;21874:3;21870:12;21863:19;;21522:366;;;:::o;21894:419::-;22060:4;22098:2;22087:9;22083:18;22075:26;;22147:9;22141:4;22137:20;22133:1;22122:9;22118:17;22111:47;22175:131;22301:4;22175:131;:::i;:::-;22167:139;;21894:419;;;:::o;22319:222::-;22459:34;22455:1;22447:6;22443:14;22436:58;22528:5;22523:2;22515:6;22511:15;22504:30;22319:222;:::o;22547:366::-;22689:3;22710:67;22774:2;22769:3;22710:67;:::i;:::-;22703:74;;22786:93;22875:3;22786:93;:::i;:::-;22904:2;22899:3;22895:12;22888:19;;22547:366;;;:::o;22919:419::-;23085:4;23123:2;23112:9;23108:18;23100:26;;23172:9;23166:4;23162:20;23158:1;23147:9;23143:17;23136:47;23200:131;23326:4;23200:131;:::i;:::-;23192:139;;22919:419;;;:::o;23344:228::-;23484:34;23480:1;23472:6;23468:14;23461:58;23553:11;23548:2;23540:6;23536:15;23529:36;23344:228;:::o;23578:366::-;23720:3;23741:67;23805:2;23800:3;23741:67;:::i;:::-;23734:74;;23817:93;23906:3;23817:93;:::i;:::-;23935:2;23930:3;23926:12;23919:19;;23578:366;;;:::o;23950:419::-;24116:4;24154:2;24143:9;24139:18;24131:26;;24203:9;24197:4;24193:20;24189:1;24178:9;24174:17;24167:47;24231:131;24357:4;24231:131;:::i;:::-;24223:139;;23950:419;;;:::o;24375:222::-;24515:34;24511:1;24503:6;24499:14;24492:58;24584:5;24579:2;24571:6;24567:15;24560:30;24375:222;:::o;24603:366::-;24745:3;24766:67;24830:2;24825:3;24766:67;:::i;:::-;24759:74;;24842:93;24931:3;24842:93;:::i;:::-;24960:2;24955:3;24951:12;24944:19;;24603:366;;;:::o;24975:419::-;25141:4;25179:2;25168:9;25164:18;25156:26;;25228:9;25222:4;25218:20;25214:1;25203:9;25199:17;25192:47;25256:131;25382:4;25256:131;:::i;:::-;25248:139;;24975:419;;;:::o;25400:174::-;25540:26;25536:1;25528:6;25524:14;25517:50;25400:174;:::o;25580:366::-;25722:3;25743:67;25807:2;25802:3;25743:67;:::i;:::-;25736:74;;25819:93;25908:3;25819:93;:::i;:::-;25937:2;25932:3;25928:12;25921:19;;25580:366;;;:::o;25952:419::-;26118:4;26156:2;26145:9;26141:18;26133:26;;26205:9;26199:4;26195:20;26191:1;26180:9;26176:17;26169:47;26233:131;26359:4;26233:131;:::i;:::-;26225:139;;25952:419;;;:::o;26377:191::-;26417:3;26436:20;26454:1;26436:20;:::i;:::-;26431:25;;26470:20;26488:1;26470:20;:::i;:::-;26465:25;;26513:1;26510;26506:9;26499:16;;26534:3;26531:1;26528:10;26525:36;;;26541:18;;:::i;:::-;26525:36;26377:191;;;;:::o;26574:175::-;26714:27;26710:1;26702:6;26698:14;26691:51;26574:175;:::o;26755:366::-;26897:3;26918:67;26982:2;26977:3;26918:67;:::i;:::-;26911:74;;26994:93;27083:3;26994:93;:::i;:::-;27112:2;27107:3;27103:12;27096:19;;26755:366;;;:::o;27127:419::-;27293:4;27331:2;27320:9;27316:18;27308:26;;27380:9;27374:4;27370:20;27366:1;27355:9;27351:17;27344:47;27408:131;27534:4;27408:131;:::i;:::-;27400:139;;27127:419;;;:::o;27552:194::-;27592:4;27612:20;27630:1;27612:20;:::i;:::-;27607:25;;27646:20;27664:1;27646:20;:::i;:::-;27641:25;;27690:1;27687;27683:9;27675:17;;27714:1;27708:4;27705:11;27702:37;;;27719:18;;:::i;:::-;27702:37;27552:194;;;;:::o;27752:180::-;27800:77;27797:1;27790:88;27897:4;27894:1;27887:15;27921:4;27918:1;27911:15;27938:180;27986:77;27983:1;27976:88;28083:4;28080:1;28073:15;28107:4;28104:1;28097:15;28124:114;28191:6;28225:5;28219:12;28209:22;;28124:114;;;:::o;28244:184::-;28343:11;28377:6;28372:3;28365:19;28417:4;28412:3;28408:14;28393:29;;28244:184;;;;:::o;28434:132::-;28501:4;28524:3;28516:11;;28554:4;28549:3;28545:14;28537:22;;28434:132;;;:::o;28572:108::-;28649:24;28667:5;28649:24;:::i;:::-;28644:3;28637:37;28572:108;;:::o;28686:179::-;28755:10;28776:46;28818:3;28810:6;28776:46;:::i;:::-;28854:4;28849:3;28845:14;28831:28;;28686:179;;;;:::o;28871:113::-;28941:4;28973;28968:3;28964:14;28956:22;;28871:113;;;:::o;29020:732::-;29139:3;29168:54;29216:5;29168:54;:::i;:::-;29238:86;29317:6;29312:3;29238:86;:::i;:::-;29231:93;;29348:56;29398:5;29348:56;:::i;:::-;29427:7;29458:1;29443:284;29468:6;29465:1;29462:13;29443:284;;;29544:6;29538:13;29571:63;29630:3;29615:13;29571:63;:::i;:::-;29564:70;;29657:60;29710:6;29657:60;:::i;:::-;29647:70;;29503:224;29490:1;29487;29483:9;29478:14;;29443:284;;;29447:14;29743:3;29736:10;;29144:608;;;29020:732;;;;:::o;29758:831::-;30021:4;30059:3;30048:9;30044:19;30036:27;;30073:71;30141:1;30130:9;30126:17;30117:6;30073:71;:::i;:::-;30154:80;30230:2;30219:9;30215:18;30206:6;30154:80;:::i;:::-;30281:9;30275:4;30271:20;30266:2;30255:9;30251:18;30244:48;30309:108;30412:4;30403:6;30309:108;:::i;:::-;30301:116;;30427:72;30495:2;30484:9;30480:18;30471:6;30427:72;:::i;:::-;30509:73;30577:3;30566:9;30562:19;30553:6;30509:73;:::i;:::-;29758:831;;;;;;;;:::o;30595:180::-;30643:77;30640:1;30633:88;30740:4;30737:1;30730:15;30764:4;30761:1;30754:15;30781:185;30821:1;30838:20;30856:1;30838:20;:::i;:::-;30833:25;;30872:20;30890:1;30872:20;:::i;:::-;30867:25;;30911:1;30901:35;;30916:18;;:::i;:::-;30901:35;30958:1;30955;30951:9;30946:14;;30781:185;;;;:::o;30972:220::-;31112:34;31108:1;31100:6;31096:14;31089:58;31181:3;31176:2;31168:6;31164:15;31157:28;30972:220;:::o;31198:366::-;31340:3;31361:67;31425:2;31420:3;31361:67;:::i;:::-;31354:74;;31437:93;31526:3;31437:93;:::i;:::-;31555:2;31550:3;31546:12;31539:19;;31198:366;;;:::o;31570:419::-;31736:4;31774:2;31763:9;31759:18;31751:26;;31823:9;31817:4;31813:20;31809:1;31798:9;31794:17;31787:47;31851:131;31977:4;31851:131;:::i;:::-;31843:139;;31570:419;;;:::o;31995:177::-;32135:29;32131:1;32123:6;32119:14;32112:53;31995:177;:::o;32178:366::-;32320:3;32341:67;32405:2;32400:3;32341:67;:::i;:::-;32334:74;;32417:93;32506:3;32417:93;:::i;:::-;32535:2;32530:3;32526:12;32519:19;;32178:366;;;:::o;32550:419::-;32716:4;32754:2;32743:9;32739:18;32731:26;;32803:9;32797:4;32793:20;32789:1;32778:9;32774:17;32767:47;32831:131;32957:4;32831:131;:::i;:::-;32823:139;;32550:419;;;:::o
Swarm Source
ipfs://232737ed81fb6b3e333ff1c5933857071c2c2d830764c7d0502c16667631d8ef
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.