


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__a   				=      {
    '''configuration_prophetnet''': ['''PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ProphetNetConfig'''],
    '''tokenization_prophetnet''': ['''ProphetNetTokenizer'''],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a   				=      [
      '''PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''ProphetNetDecoder''',
      '''ProphetNetEncoder''',
      '''ProphetNetForCausalLM''',
      '''ProphetNetForConditionalGeneration''',
      '''ProphetNetModel''',
      '''ProphetNetPreTrainedModel''',
  ]


if TYPE_CHECKING:
  from .configuration_prophetnet import PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP, ProphetNetConfig
  from .tokenization_prophetnet import ProphetNetTokenizer

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_prophetnet import (
        PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        ProphetNetDecoder,
        ProphetNetEncoder,
        ProphetNetForCausalLM,
        ProphetNetForConditionalGeneration,
        ProphetNetModel,
        ProphetNetPreTrainedModel,
    )

else:
  import sys

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




from __future__ import annotations




def 			__lowercase	(						_UpperCamelCase     )    ->list[int]:







      """simple docstring"""

      assert (
          isinstance(_UpperCamelCase,    _UpperCamelCase     ) and mask > 0
      ), f"""mask needs to be positive integer, your input {mask}"""
      lowercase			:   Optional[int]					   =		[]
      lowercase			:   Optional[int]					   =		mask

      while submask:
            all_submasks.append(_UpperCamelCase     )
            lowercase			:   Dict					   =		(submask - 1) & mask

      return all_submasks


if __name__ == "__main__":
  import doctest

  doctest.testmod()

