def singleton(cls):
	instance = [None]

	def wrapper(*args, **kwargs):
		if instance[0] is None:
			instance[0] = cls(*args, **kwargs)
		return instance[0]

	return wrapper

def get_vibesurf_version() -> str:
	import vibe_surf
	return str(vibe_surf.__version__)