"""simple docstring"""
import os
import sys
from contextlib import contextmanager


# Windows only
if os.name == "nt":
					import ctypes
					import msvcrt  # noqa



					class   lowerCAmelCase_    (			ctypes.Structure					):



									"""simple docstring"""
									# _fields is a specific attr expected by ctypes
									_lowerCAmelCase     :    int			  =						[("""size""", ctypes.c_int), ("""visible""", ctypes.c_byte)]





def    lowerCAmelCase__    (			)					->				Any:





						"""simple docstring"""






						if os.name == "nt":
												snake_case								=			CursorInfo()
												snake_case								=			ctypes.windll.kernelaa.GetStdHandle(-1_1					)
												ctypes.windll.kernelaa.GetConsoleCursorInfo(_UpperCamelCase ,			ctypes.byref(_UpperCamelCase					)					)
												snake_case								=			False
												ctypes.windll.kernelaa.SetConsoleCursorInfo(_UpperCamelCase ,			ctypes.byref(_UpperCamelCase					)					)
						elif os.name == "posix":
												sys.stdout.write('\033[?25l'					)
												sys.stdout.flush()





def    lowerCAmelCase__    (			)					->				Optional[Any]:





						"""simple docstring"""






						if os.name == "nt":
												snake_case								=			CursorInfo()
												snake_case								=			ctypes.windll.kernelaa.GetStdHandle(-1_1					)
												ctypes.windll.kernelaa.GetConsoleCursorInfo(_UpperCamelCase ,			ctypes.byref(_UpperCamelCase					)					)
												snake_case								=			True
												ctypes.windll.kernelaa.SetConsoleCursorInfo(_UpperCamelCase ,			ctypes.byref(_UpperCamelCase					)					)
						elif os.name == "posix":
												sys.stdout.write('\033[?25h'					)
												sys.stdout.flush()





@contextmanager
def    lowerCAmelCase__    (			)					->				Any:





						"""simple docstring"""






						try:
												hide_cursor()
												yield
						finally:
												show_cursor()



"""simple docstring"""
from ...utils import (
    OptionalDependencyNotAvailable,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
else:
					from .camera import create_pan_cameras
					from .pipeline_shap_e import ShapEPipeline
					from .pipeline_shap_e_img2img import ShapEImgaImgPipeline
					from .renderer import (
					    BoundingBoxVolume,
					    ImportanceRaySampler,
					    MLPNeRFModelOutput,
					    MLPNeRSTFModel,
					    ShapEParamsProjModel,
					    ShapERenderer,
					    StratifiedRaySampler,
					    VoidNeRFModel,
					)


