

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


a_         =      {
    'auto_factory': ['get_values'],
    'configuration_auto': ['ALL_PRETRAINED_CONFIG_ARCHIVE_MAP', 'CONFIG_MAPPING', 'MODEL_NAMES_MAPPING', 'AutoConfig'],
    'feature_extraction_auto': ['FEATURE_EXTRACTOR_MAPPING', 'AutoFeatureExtractor'],
    'image_processing_auto': ['IMAGE_PROCESSOR_MAPPING', 'AutoImageProcessor'],
    'processing_auto': ['PROCESSOR_MAPPING', 'AutoProcessor'],
    'tokenization_auto': ['TOKENIZER_MAPPING', 'AutoTokenizer'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				a_         =      [
				    'MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_AUDIO_XVECTOR_MAPPING',
				    'MODEL_FOR_BACKBONE_MAPPING',
				    'MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING',
				    'MODEL_FOR_CAUSAL_LM_MAPPING',
				    'MODEL_FOR_CTC_MAPPING',
				    'MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING',
				    'MODEL_FOR_DEPTH_ESTIMATION_MAPPING',
				    'MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_IMAGE_SEGMENTATION_MAPPING',
				    'MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING',
				    'MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING',
				    'MODEL_FOR_MASKED_LM_MAPPING',
				    'MODEL_FOR_MASK_GENERATION_MAPPING',
				    'MODEL_FOR_MULTIPLE_CHOICE_MAPPING',
				    'MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING',
				    'MODEL_FOR_OBJECT_DETECTION_MAPPING',
				    'MODEL_FOR_PRETRAINING_MAPPING',
				    'MODEL_FOR_QUESTION_ANSWERING_MAPPING',
				    'MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING',
				    'MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING',
				    'MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING',
				    'MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING',
				    'MODEL_FOR_TEXT_ENCODING_MAPPING',
				    'MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING',
				    'MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_VISION_2_SEQ_MAPPING',
				    'MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING',
				    'MODEL_MAPPING',
				    'MODEL_WITH_LM_HEAD_MAPPING',
				    'MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING',
				    'MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING',
				    'AutoModel',
				    'AutoBackbone',
				    'AutoModelForAudioClassification',
				    'AutoModelForAudioFrameClassification',
				    'AutoModelForAudioXVector',
				    'AutoModelForCausalLM',
				    'AutoModelForCTC',
				    'AutoModelForDepthEstimation',
				    'AutoModelForImageClassification',
				    'AutoModelForImageSegmentation',
				    'AutoModelForInstanceSegmentation',
				    'AutoModelForMaskGeneration',
				    'AutoModelForTextEncoding',
				    'AutoModelForMaskedImageModeling',
				    'AutoModelForMaskedLM',
				    'AutoModelForMultipleChoice',
				    'AutoModelForNextSentencePrediction',
				    'AutoModelForObjectDetection',
				    'AutoModelForPreTraining',
				    'AutoModelForQuestionAnswering',
				    'AutoModelForSemanticSegmentation',
				    'AutoModelForSeq2SeqLM',
				    'AutoModelForSequenceClassification',
				    'AutoModelForSpeechSeq2Seq',
				    'AutoModelForTableQuestionAnswering',
				    'AutoModelForTokenClassification',
				    'AutoModelForUniversalSegmentation',
				    'AutoModelForVideoClassification',
				    'AutoModelForVision2Seq',
				    'AutoModelForVisualQuestionAnswering',
				    'AutoModelForDocumentQuestionAnswering',
				    'AutoModelWithLMHead',
				    'AutoModelForZeroShotImageClassification',
				    'AutoModelForZeroShotObjectDetection',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				a_         =      [
				    'TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING',
				    'TF_MODEL_FOR_CAUSAL_LM_MAPPING',
				    'TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING',
				    'TF_MODEL_FOR_MASK_GENERATION_MAPPING',
				    'TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING',
				    'TF_MODEL_FOR_MASKED_LM_MAPPING',
				    'TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING',
				    'TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING',
				    'TF_MODEL_FOR_PRETRAINING_MAPPING',
				    'TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING',
				    'TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING',
				    'TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING',
				    'TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING',
				    'TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING',
				    'TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING',
				    'TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING',
				    'TF_MODEL_FOR_TEXT_ENCODING_MAPPING',
				    'TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING',
				    'TF_MODEL_FOR_VISION_2_SEQ_MAPPING',
				    'TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING',
				    'TF_MODEL_MAPPING',
				    'TF_MODEL_WITH_LM_HEAD_MAPPING',
				    'TFAutoModel',
				    'TFAutoModelForAudioClassification',
				    'TFAutoModelForCausalLM',
				    'TFAutoModelForImageClassification',
				    'TFAutoModelForMaskedImageModeling',
				    'TFAutoModelForMaskedLM',
				    'TFAutoModelForMaskGeneration',
				    'TFAutoModelForMultipleChoice',
				    'TFAutoModelForNextSentencePrediction',
				    'TFAutoModelForPreTraining',
				    'TFAutoModelForDocumentQuestionAnswering',
				    'TFAutoModelForQuestionAnswering',
				    'TFAutoModelForSemanticSegmentation',
				    'TFAutoModelForSeq2SeqLM',
				    'TFAutoModelForSequenceClassification',
				    'TFAutoModelForSpeechSeq2Seq',
				    'TFAutoModelForTableQuestionAnswering',
				    'TFAutoModelForTextEncoding',
				    'TFAutoModelForTokenClassification',
				    'TFAutoModelForVision2Seq',
				    'TFAutoModelForZeroShotImageClassification',
				    'TFAutoModelWithLMHead',
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				a_         =      [
				    'FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING',
				    'FLAX_MODEL_FOR_CAUSAL_LM_MAPPING',
				    'FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING',
				    'FLAX_MODEL_FOR_MASKED_LM_MAPPING',
				    'FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING',
				    'FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING',
				    'FLAX_MODEL_FOR_PRETRAINING_MAPPING',
				    'FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING',
				    'FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING',
				    'FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING',
				    'FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING',
				    'FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING',
				    'FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING',
				    'FLAX_MODEL_MAPPING',
				    'FlaxAutoModel',
				    'FlaxAutoModelForCausalLM',
				    'FlaxAutoModelForImageClassification',
				    'FlaxAutoModelForMaskedLM',
				    'FlaxAutoModelForMultipleChoice',
				    'FlaxAutoModelForNextSentencePrediction',
				    'FlaxAutoModelForPreTraining',
				    'FlaxAutoModelForQuestionAnswering',
				    'FlaxAutoModelForSeq2SeqLM',
				    'FlaxAutoModelForSequenceClassification',
				    'FlaxAutoModelForSpeechSeq2Seq',
				    'FlaxAutoModelForTokenClassification',
				    'FlaxAutoModelForVision2Seq',
				]


if TYPE_CHECKING:
				from .auto_factory import get_values
				from .configuration_auto import ALL_PRETRAINED_CONFIG_ARCHIVE_MAP, CONFIG_MAPPING, MODEL_NAMES_MAPPING, AutoConfig
				from .feature_extraction_auto import FEATURE_EXTRACTOR_MAPPING, AutoFeatureExtractor
				from .image_processing_auto import IMAGE_PROCESSOR_MAPPING, AutoImageProcessor
				from .processing_auto import PROCESSOR_MAPPING, AutoProcessor
				from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_auto import (
								    MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
								    MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
								    MODEL_FOR_AUDIO_XVECTOR_MAPPING,
								    MODEL_FOR_BACKBONE_MAPPING,
								    MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
								    MODEL_FOR_CAUSAL_LM_MAPPING,
								    MODEL_FOR_CTC_MAPPING,
								    MODEL_FOR_DEPTH_ESTIMATION_MAPPING,
								    MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
								    MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
								    MODEL_FOR_IMAGE_SEGMENTATION_MAPPING,
								    MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING,
								    MODEL_FOR_MASK_GENERATION_MAPPING,
								    MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
								    MODEL_FOR_MASKED_LM_MAPPING,
								    MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
								    MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
								    MODEL_FOR_OBJECT_DETECTION_MAPPING,
								    MODEL_FOR_PRETRAINING_MAPPING,
								    MODEL_FOR_QUESTION_ANSWERING_MAPPING,
								    MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
								    MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
								    MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
								    MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
								    MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
								    MODEL_FOR_TEXT_ENCODING_MAPPING,
								    MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
								    MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING,
								    MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING,
								    MODEL_FOR_VISION_2_SEQ_MAPPING,
								    MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING,
								    MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
								    MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING,
								    MODEL_MAPPING,
								    MODEL_WITH_LM_HEAD_MAPPING,
								    AutoBackbone,
								    AutoModel,
								    AutoModelForAudioClassification,
								    AutoModelForAudioFrameClassification,
								    AutoModelForAudioXVector,
								    AutoModelForCausalLM,
								    AutoModelForCTC,
								    AutoModelForDepthEstimation,
								    AutoModelForDocumentQuestionAnswering,
								    AutoModelForImageClassification,
								    AutoModelForImageSegmentation,
								    AutoModelForInstanceSegmentation,
								    AutoModelForMaskedImageModeling,
								    AutoModelForMaskedLM,
								    AutoModelForMaskGeneration,
								    AutoModelForMultipleChoice,
								    AutoModelForNextSentencePrediction,
								    AutoModelForObjectDetection,
								    AutoModelForPreTraining,
								    AutoModelForQuestionAnswering,
								    AutoModelForSemanticSegmentation,
								    AutoModelForSeqaSeqLM,
								    AutoModelForSequenceClassification,
								    AutoModelForSpeechSeqaSeq,
								    AutoModelForTableQuestionAnswering,
								    AutoModelForTextEncoding,
								    AutoModelForTokenClassification,
								    AutoModelForUniversalSegmentation,
								    AutoModelForVideoClassification,
								    AutoModelForVisionaSeq,
								    AutoModelForVisualQuestionAnswering,
								    AutoModelForZeroShotImageClassification,
								    AutoModelForZeroShotObjectDetection,
								    AutoModelWithLMHead,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_auto import (
								    TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
								    TF_MODEL_FOR_CAUSAL_LM_MAPPING,
								    TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
								    TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
								    TF_MODEL_FOR_MASK_GENERATION_MAPPING,
								    TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
								    TF_MODEL_FOR_MASKED_LM_MAPPING,
								    TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
								    TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
								    TF_MODEL_FOR_PRETRAINING_MAPPING,
								    TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
								    TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
								    TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
								    TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
								    TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
								    TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
								    TF_MODEL_FOR_TEXT_ENCODING_MAPPING,
								    TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
								    TF_MODEL_FOR_VISION_2_SEQ_MAPPING,
								    TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
								    TF_MODEL_MAPPING,
								    TF_MODEL_WITH_LM_HEAD_MAPPING,
								    TFAutoModel,
								    TFAutoModelForAudioClassification,
								    TFAutoModelForCausalLM,
								    TFAutoModelForDocumentQuestionAnswering,
								    TFAutoModelForImageClassification,
								    TFAutoModelForMaskedImageModeling,
								    TFAutoModelForMaskedLM,
								    TFAutoModelForMaskGeneration,
								    TFAutoModelForMultipleChoice,
								    TFAutoModelForNextSentencePrediction,
								    TFAutoModelForPreTraining,
								    TFAutoModelForQuestionAnswering,
								    TFAutoModelForSemanticSegmentation,
								    TFAutoModelForSeqaSeqLM,
								    TFAutoModelForSequenceClassification,
								    TFAutoModelForSpeechSeqaSeq,
								    TFAutoModelForTableQuestionAnswering,
								    TFAutoModelForTextEncoding,
								    TFAutoModelForTokenClassification,
								    TFAutoModelForVisionaSeq,
								    TFAutoModelForZeroShotImageClassification,
								    TFAutoModelWithLMHead,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_auto import (
								    FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
								    FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
								    FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
								    FLAX_MODEL_FOR_MASKED_LM_MAPPING,
								    FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
								    FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
								    FLAX_MODEL_FOR_PRETRAINING_MAPPING,
								    FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
								    FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
								    FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
								    FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
								    FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
								    FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING,
								    FLAX_MODEL_MAPPING,
								    FlaxAutoModel,
								    FlaxAutoModelForCausalLM,
								    FlaxAutoModelForImageClassification,
								    FlaxAutoModelForMaskedLM,
								    FlaxAutoModelForMultipleChoice,
								    FlaxAutoModelForNextSentencePrediction,
								    FlaxAutoModelForPreTraining,
								    FlaxAutoModelForQuestionAnswering,
								    FlaxAutoModelForSeqaSeqLM,
								    FlaxAutoModelForSequenceClassification,
								    FlaxAutoModelForSpeechSeqaSeq,
								    FlaxAutoModelForTokenClassification,
								    FlaxAutoModelForVisionaSeq,
								)

else:
				import sys

				a_         =      _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


import re

def 	lowerCamelCase__	(   _a):
	def docstring_decorator(_a):
		SCREAMING_SNAKE_CASE				: List[Any]			       =    fn.__doc__
		SCREAMING_SNAKE_CASE				: List[str]			       =    func_doc.split("\n")
		SCREAMING_SNAKE_CASE				: Dict			       =    0
		while i < len(_a) and re.search(r"^\s*Examples?:\s*$"							,     lines[i]) is None:
			i += 1
		if i < len(_a):
			SCREAMING_SNAKE_CASE				: Tuple			       =    example_docstring
			SCREAMING_SNAKE_CASE				: List[Any]			       =    "\n".join(_a)
		else:
			raise ValueError(
			    f"The function {fn} should have an empty 'Examples:' in its docstring as placeholder, "
			    f"current docstring is:\n{func_doc}")
		SCREAMING_SNAKE_CASE				: Optional[int]			       =    func_doc
		return fn

	return docstring_decorator