



from typing import TYPE_CHECKING

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


__lowerCamelCase  				=					{
    """configuration_flaubert""": ["""FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FlaubertConfig""", """FlaubertOnnxConfig"""],
    """tokenization_flaubert""": ["""FlaubertTokenizer"""],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    __lowerCamelCase  				=					[
        """FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
        """FlaubertForMultipleChoice""",
        """FlaubertForQuestionAnswering""",
        """FlaubertForQuestionAnsweringSimple""",
        """FlaubertForSequenceClassification""",
        """FlaubertForTokenClassification""",
        """FlaubertModel""",
        """FlaubertWithLMHeadModel""",
        """FlaubertPreTrainedModel""",
    ]

try:
    if not is_tf_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    __lowerCamelCase  				=					[
        """TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
        """TFFlaubertForMultipleChoice""",
        """TFFlaubertForQuestionAnsweringSimple""",
        """TFFlaubertForSequenceClassification""",
        """TFFlaubertForTokenClassification""",
        """TFFlaubertModel""",
        """TFFlaubertPreTrainedModel""",
        """TFFlaubertWithLMHeadModel""",
    ]


if TYPE_CHECKING:
    from .configuration_flaubert import FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, FlaubertConfig, FlaubertOnnxConfig
    from .tokenization_flaubert import FlaubertTokenizer

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_flaubert import (
            FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
            FlaubertForMultipleChoice,
            FlaubertForQuestionAnswering,
            FlaubertForQuestionAnsweringSimple,
            FlaubertForSequenceClassification,
            FlaubertForTokenClassification,
            FlaubertModel,
            FlaubertPreTrainedModel,
            FlaubertWithLMHeadModel,
        )

    try:
        if not is_tf_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_tf_flaubert import (
            TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
            TFFlaubertForMultipleChoice,
            TFFlaubertForQuestionAnsweringSimple,
            TFFlaubertForSequenceClassification,
            TFFlaubertForTokenClassification,
            TFFlaubertModel,
            TFFlaubertPreTrainedModel,
            TFFlaubertWithLMHeadModel,
        )

else:
    import sys

    __lowerCamelCase  				=					_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




def     UpperCAmelCase__ (							__snake_case						,				__snake_case						,				__snake_case						,				__snake_case						,				__snake_case							)   -> None:
  if target == 0:
    answer.append(path.copy()							)
  else:
    for index in range(__snake_case						,				len(__snake_case							)							):
      if target >= candidates[index]:
        path.append(candidates[index]							)
        backtrack(__snake_case						,				__snake_case						,				__snake_case						,				target - candidates[index]						,				__snake_case							)
        path.pop(len(__snake_case							) - 1							)




def     UpperCAmelCase__ (							__snake_case						,				__snake_case							)   -> list:
  _A           =    []  # type: list[int]
  _A           =    []  # type: list[int]
  backtrack(__snake_case						,				__snake_case						,				__snake_case						,				__snake_case						,				0							)
  return answer




def     UpperCAmelCase__ (							)   -> None:
  print(combination_sum([-8, 2.3, 0]						,				1							)							)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()