






from functools import lru_cache






@lru_cache
def 				lowerCamelCase__				(_UpperCAmelCase):






   if num < 0:
      raise ValueError('Number should not be negative.')

   return 1 if num in (0, 1) else num * factorial(num - 1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()












from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


a_		:						List[Any]             =    {
    'configuration_bigbird_pegasus': [
        'BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'BigBirdPegasusConfig',
        'BigBirdPegasusOnnxConfig',
    ],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				a_		:						Dict             =    [
				    'BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'BigBirdPegasusForCausalLM',
				    'BigBirdPegasusForConditionalGeneration',
				    'BigBirdPegasusForQuestionAnswering',
				    'BigBirdPegasusForSequenceClassification',
				    'BigBirdPegasusModel',
				    'BigBirdPegasusPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_bigbird_pegasus import (
				    BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    BigBirdPegasusConfig,
				    BigBirdPegasusOnnxConfig,
				)

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_bigbird_pegasus import (
								    BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
								    BigBirdPegasusForCausalLM,
								    BigBirdPegasusForConditionalGeneration,
								    BigBirdPegasusForQuestionAnswering,
								    BigBirdPegasusForSequenceClassification,
								    BigBirdPegasusModel,
								    BigBirdPegasusPreTrainedModel,
								)


else:
				import sys

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




