




from typing import TYPE_CHECKING

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


__SCREAMING_SNAKE_CASE      :				List[str]				      ={
    '''configuration_gpt2''': ['''GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPT2Config''', '''GPT2OnnxConfig'''],
    '''tokenization_gpt2''': ['''GPT2Tokenizer'''],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __SCREAMING_SNAKE_CASE      :				List[str]				      =['''GPT2TokenizerFast''']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __SCREAMING_SNAKE_CASE      :				Union[str, Any]				      =[
          '''GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''GPT2DoubleHeadsModel''',
          '''GPT2ForQuestionAnswering''',
          '''GPT2ForSequenceClassification''',
          '''GPT2ForTokenClassification''',
          '''GPT2LMHeadModel''',
          '''GPT2Model''',
          '''GPT2PreTrainedModel''',
          '''load_tf_weights_in_gpt2''',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __SCREAMING_SNAKE_CASE      :				Optional[int]				      =[
          '''TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''TFGPT2DoubleHeadsModel''',
          '''TFGPT2ForSequenceClassification''',
          '''TFGPT2LMHeadModel''',
          '''TFGPT2MainLayer''',
          '''TFGPT2Model''',
          '''TFGPT2PreTrainedModel''',
      ]

try:
      if not is_keras_nlp_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __SCREAMING_SNAKE_CASE      :				int				      =['''TFGPT2Tokenizer''']

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __SCREAMING_SNAKE_CASE      :				Optional[int]				      =['''FlaxGPT2LMHeadModel''', '''FlaxGPT2Model''', '''FlaxGPT2PreTrainedModel''']

if TYPE_CHECKING:
      from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
      from .tokenization_gpta import GPTaTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_gpta_fast import GPTaTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_gpta import (
                GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
                GPTaDoubleHeadsModel,
                GPTaForQuestionAnswering,
                GPTaForSequenceClassification,
                GPTaForTokenClassification,
                GPTaLMHeadModel,
                GPTaModel,
                GPTaPreTrainedModel,
                load_tf_weights_in_gpta,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_gpta import (
                TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFGPTaDoubleHeadsModel,
                TFGPTaForSequenceClassification,
                TFGPTaLMHeadModel,
                TFGPTaMainLayer,
                TFGPTaModel,
                TFGPTaPreTrainedModel,
            )

      try:
            if not is_keras_nlp_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_gpta_tf import TFGPTaTokenizer

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel

else:
      import sys

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





def      lowerCAmelCase_     (					lowerCamelCase:    Optional[int]  )   ->     Union[str, Any]:


      '''simple docstring'''




      lowerCamelCase__ 					=			[7_01, 3_01, 1_32, 57, 23, 10, 4, 1]
      for gap in gaps:
            for i in range(lowerCamelCase       ,			len(lowerCamelCase  )  ):
                  lowerCamelCase__ 					=			collection[i]
                  lowerCamelCase__ 					=			i
                  while j >= gap and collection[j - gap] > insert_value:
                        lowerCamelCase__ 					=			collection[j - gap]
                        j -= gap
                  if j != i:
                        lowerCamelCase__ 					=			insert_value
      return collection


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

      testmod()
      __SCREAMING_SNAKE_CASE      :				List[Any]				      =input("""Enter numbers separated by a comma:\n""").strip()
      __SCREAMING_SNAKE_CASE      :				Dict				      =[int(item) for item in user_input.split(""",""")]
      print(shell_sort(unsorted))