





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


_A :   str  			=  {'configuration_fnet': ['FNET_PRETRAINED_CONFIG_ARCHIVE_MAP', 'FNetConfig']}

try:
       if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _A :   Optional[int]  			=  ['FNetTokenizer']

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _A :   Optional[Any]  			=  ['FNetTokenizerFast']

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _A :   List[str]  			=  [
           'FNET_PRETRAINED_MODEL_ARCHIVE_LIST',
           'FNetForMaskedLM',
           'FNetForMultipleChoice',
           'FNetForNextSentencePrediction',
           'FNetForPreTraining',
           'FNetForQuestionAnswering',
           'FNetForSequenceClassification',
           'FNetForTokenClassification',
           'FNetLayer',
           'FNetModel',
           'FNetPreTrainedModel',
       ]


if TYPE_CHECKING:
       from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

       try:
              if not is_sentencepiece_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_fnet import FNetTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_fnet_fast import FNetTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_fnet import (
                  FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
                  FNetForMaskedLM,
                  FNetForMultipleChoice,
                  FNetForNextSentencePrediction,
                  FNetForPreTraining,
                  FNetForQuestionAnswering,
                  FNetForSequenceClassification,
                  FNetForTokenClassification,
                  FNetLayer,
                  FNetModel,
                  FNetPreTrainedModel,
              )


else:
       import sys

       _A :   Optional[int]  			=  _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)










def 	_a						(   UpperCAmelCase					)    ->    int:







   """simple docstring"""
   if not isinstance(UpperCAmelCase      ,  UpperCAmelCase					) or number < 0:
      raise ValueError('''Input must be a non-negative integer'''					)

   lowerCamelCase__       :						List[str]        =							0
   while number:
      # This way we arrive at next set bit (next 1) instead of looping
      # through each bit and checking for 1s hence the
      # loop won't run 32 times it will only run the number of `1` times
      number &= number - 1
      count += 1
   return count


if __name__ == "__main__":
       import doctest

       doctest.testmod()



