






"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


__a							:						List[Any]   							=			{
    'configuration_flava': [
        'FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'FlavaConfig',
        'FlavaImageCodebookConfig',
        'FlavaImageConfig',
        'FlavaMultimodalConfig',
        'FlavaTextConfig',
    ],
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						str   							=			['FlavaFeatureExtractor']
	__a							:						Any   							=			['FlavaImageProcessor']
	__a							:						str   							=			['FlavaProcessor']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						str   							=			[
	    'FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'FlavaForPreTraining',
	    'FlavaImageCodebook',
	    'FlavaImageModel',
	    'FlavaModel',
	    'FlavaMultimodalModel',
	    'FlavaPreTrainedModel',
	    'FlavaTextModel',
	]

if TYPE_CHECKING:
	from .configuration_flava import (
	    FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    FlavaConfig,
	    FlavaImageCodebookConfig,
	    FlavaImageConfig,
	    FlavaMultimodalConfig,
	    FlavaTextConfig,
	)

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .feature_extraction_flava import FlavaFeatureExtractor
		from .image_processing_flava import FlavaImageProcessor
		from .processing_flava import FlavaProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_flava import (
		    FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST,
		    FlavaForPreTraining,
		    FlavaImageCodebook,
		    FlavaImageModel,
		    FlavaModel,
		    FlavaMultimodalModel,
		    FlavaPreTrainedModel,
		    FlavaTextModel,
		)

else:
	import sys

	__a							:						Optional[Any]   							=			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)










"""simple docstring"""







from __future__ import annotations

from collections.abc import Iterator
from typing import Any







class 							_SCREAMING_SNAKE_CASE    :





							"""simple docstring"""





							def __init__( self:  Optional[int]					,		__A:  Any     ):

												'''simple docstring'''

												a__ 							=	data
												a__ 							=	None





							def __str__( self:  str     ):

												'''simple docstring'''

												return F'{self.data}'







class 							_SCREAMING_SNAKE_CASE    :





							"""simple docstring"""





							def __init__( self:  int     ):

												'''simple docstring'''

												a__ 							=	None
												a__ 							=	None




							def __iter__( self:  Tuple     ):

												'''simple docstring'''

												a__ 							=	self.front
												while node:
																	yield node.data
																	a__ 							=	node.next




							def __len__( self:  Union[str, Any]     ):

												'''simple docstring'''

												return len(tuple(iter(self     )     )     )




							def __str__( self:  Any     ):

												'''simple docstring'''

												return " <- ".join(str(__A     ) for item in self     )




							def 			lowercase		( self:  Any     ):

												'''simple docstring'''

												return len(self     ) == 0




							def 			lowercase		( self:  Tuple					,		__A:  Any     ):

												'''simple docstring'''

												a__ 							=	Node(__A     )
												if self.is_empty():
																	a__ 							=	a__ 							=	node
												else:
																	assert isinstance(self.rear					,		__A     )
																	a__ 							=	node
																	a__ 							=	node




							def 			lowercase		( self:  List[Any]     ):

												'''simple docstring'''

												if self.is_empty():
																	raise IndexError('''dequeue from empty queue'''     )
												assert isinstance(self.front					,		__A     )
												a__ 							=	self.front
												a__ 							=	self.front.next
												if self.front is None:
																	a__ 							=	None
												return node.data





							def 			lowercase		( self:  Dict     ):

												'''simple docstring'''

												a__ 							=	a__ 							=	None


if __name__ == "__main__":
	from doctest import testmod

	testmod()


