





"""simple docstring"""


a__					:     List[str]							=				(1, 1_5_3, 3_7_0, 3_7_1, 1_6_3_4, 2_4_6_7_8_0_5_1, 1_1_5_1_3_2_2_1_9_0_1_8_7_6_3_9_9_2_5_6_5_0_9_5_5_9_7_9_7_3_9_7_1_5_2_2_4_0_1)
a__					:     Any							=				(-1_5_3, -1, 0, 1.2, 2_0_0, """A""", [], {}, None)





def 							a__			(  _UpperCAmelCase	)    ->  bool:

 '''simple docstring'''






 if not isinstance(_UpperCAmelCase	,     _UpperCAmelCase	) or n < 1:
  return False

 # Initialization of sum and number of digits.
 snake_case__    							=				0
 snake_case__    							=				0
 snake_case__    							=				n
 # Calculation of digits of the number
 while temp > 0:
  number_of_digits += 1
  temp //= 1_0
 # Dividing number into separate digits and find Armstrong number
 snake_case__    							=				n
 while temp > 0:
  snake_case__    							=				temp % 1_0
  total += rem**number_of_digits
  temp //= 1_0
 return n == total





def 							a__			(  _UpperCAmelCase	)    ->  bool:

 '''simple docstring'''






 if not isinstance(_UpperCAmelCase	,     _UpperCAmelCase	) or n < 1:
  return False

 # Init a "histogram" of the digits
 snake_case__    							=				[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 snake_case__    							=				0
 snake_case__    							=				0
 snake_case__    							=				n
 while temp > 0:
  snake_case__							,   snake_case__    							=				divmod(_UpperCAmelCase	,     1_0	)
  digit_histogram[rem] += 1
  digit_total += 1

 for cnt, i in zip(_UpperCAmelCase	,     range(len(_UpperCAmelCase	)	)	):
  total += cnt * i**digit_total

 return n == total





def 							a__			(  _UpperCAmelCase	)    ->  bool:

 '''simple docstring'''






 if not isinstance(_UpperCAmelCase	,     _UpperCAmelCase	) or n < 1:
  return False
 snake_case__    							=				len(str(_UpperCAmelCase	)	)  # the power that all digits will be raised to
 # check if sum of each digit multiplied expo times is equal to number
 return n == sum(int(_UpperCAmelCase	) ** expo for i in str(_UpperCAmelCase	)	)





def 							a__			(  )    ->  Any:

 '''simple docstring'''






 snake_case__    							=				int(input("Enter an integer to see if it is an Armstrong number: "	).strip()	)
 print(f"{num} is {'' if armstrong_number(_UpperCAmelCase	) else 'not '}an Armstrong number."	)
 print(f"{num} is {'' if narcissistic_number(_UpperCAmelCase	) else 'not '}an Armstrong number."	)
 print(f"{num} is {'' if pluperfect_number(_UpperCAmelCase	) else 'not '}an Armstrong number."	)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   main()








"""simple docstring"""


import json
import os
import random
import shutil
import tempfile
import unittest

import numpy as np
import pytest

from transformers import BertTokenizer, BertTokenizerFast
from transformers.models.bert.tokenization_bert import VOCAB_FILES_NAMES
from transformers.testing_utils import require_vision
from transformers.utils import IMAGE_PROCESSOR_NAME, is_vision_available


if is_vision_available():
   from PIL import Image

   from transformers import FlavaImageProcessor, FlavaProcessor
   from transformers.models.flava.image_processing_flava import (
       FLAVA_CODEBOOK_MEAN,
       FLAVA_CODEBOOK_STD,
       FLAVA_IMAGE_MEAN,
       FLAVA_IMAGE_STD,
   )



@require_vision
class      lowercase_				(     unittest.TestCase							):

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				tempfile.mkdtemp()

        # fmt: off
        snake_case__    							=				["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]", "want", "##want", "##ed", "wa", "un", "runn", "##ing", ",", "low", "lowest"]
        # fmt: on
        snake_case__    							=				os.path.join(self.tmpdirname   ,					VOCAB_FILES_NAMES["vocab_file"]     )

        with open(self.vocab_file   ,					"w"   ,					encoding="utf-8"     ) as fp:
         fp.write("".join([x + "\n" for x in vocab_tokens]     )     )

        snake_case__    							=				{
            "image_mean": FLAVA_IMAGE_MEAN,
            "image_std": FLAVA_IMAGE_STD,
            "do_normalize": True,
            "do_resize": True,
            "size": 224,
            "do_center_crop": True,
            "crop_size": 224,
            "input_size_patches": 14,
            "total_mask_patches": 75,
            "mask_group_max_patches": None,
            "mask_group_min_patches": 16,
            "mask_group_min_aspect_ratio": 0.3,
            "mask_group_max_aspect_ratio": None,
            "codebook_do_resize": True,
            "codebook_size": 112,
            "codebook_do_center_crop": True,
            "codebook_crop_size": 112,
            "codebook_do_map_pixels": True,
            "codebook_do_normalize": True,
            "codebook_image_mean": FLAVA_CODEBOOK_MEAN,
            "codebook_image_std": FLAVA_CODEBOOK_STD,
        }

        snake_case__    							=				os.path.join(self.tmpdirname   ,					__SCREAMING_SNAKE_CASE     )
        with open(self.image_processor_file   ,					"w"   ,					encoding="utf-8"     ) as fp:
         json.dump(__SCREAMING_SNAKE_CASE   ,					__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self   ,					**__SCREAMING_SNAKE_CASE     ):






        '''simple docstring'''

        return BertTokenizer.from_pretrained(self.tmpdirname   ,					**__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self   ,					**__SCREAMING_SNAKE_CASE     ):






        '''simple docstring'''

        return BertTokenizerFast.from_pretrained(self.tmpdirname   ,					**__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self   ,					**__SCREAMING_SNAKE_CASE     ):






        '''simple docstring'''

        return FlavaImageProcessor.from_pretrained(self.tmpdirname   ,					**__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        shutil.rmtree(self.tmpdirname     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				[np.random.randint(255   ,					size=(3, 30, 400)   ,					dtype=np.uinta     )]

        snake_case__    							=				[Image.fromarray(np.moveaxis(__SCREAMING_SNAKE_CASE   ,					0   ,					-1     )     ) for x in image_inputs]

        return image_inputs

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_tokenizer()
        snake_case__    							=				self.get_rust_tokenizer()
        snake_case__    							=				self.get_image_processor()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )
        processor_slow.save_pretrained(self.tmpdirname     )
        snake_case__    							=				FlavaProcessor.from_pretrained(self.tmpdirname   ,					use_fast=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )
        processor_fast.save_pretrained(self.tmpdirname     )
        snake_case__    							=				FlavaProcessor.from_pretrained(self.tmpdirname     )

        self.assertEqual(processor_slow.tokenizer.get_vocab()   ,					tokenizer_slow.get_vocab()     )
        self.assertEqual(processor_fast.tokenizer.get_vocab()   ,					tokenizer_fast.get_vocab()     )
        self.assertEqual(tokenizer_slow.get_vocab()   ,					tokenizer_fast.get_vocab()     )
        self.assertIsInstance(processor_slow.tokenizer   ,					__SCREAMING_SNAKE_CASE     )
        self.assertIsInstance(processor_fast.tokenizer   ,					__SCREAMING_SNAKE_CASE     )

        self.assertEqual(processor_slow.image_processor.to_json_string()   ,					image_processor.to_json_string()     )
        self.assertEqual(processor_fast.image_processor.to_json_string()   ,					image_processor.to_json_string()     )
        self.assertIsInstance(processor_slow.image_processor   ,					__SCREAMING_SNAKE_CASE     )
        self.assertIsInstance(processor_fast.image_processor   ,					__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				FlavaProcessor(tokenizer=self.get_tokenizer()   ,					image_processor=self.get_image_processor()     )
        processor.save_pretrained(self.tmpdirname     )

        snake_case__    							=				self.get_tokenizer(bos_token="(BOS)"   ,					eos_token="(EOS)"     )
        snake_case__    							=				self.get_image_processor(do_normalize=__SCREAMING_SNAKE_CASE   ,					padding_value=1.0     )

        snake_case__    							=				FlavaProcessor.from_pretrained(
            self.tmpdirname   ,					bos_token="(BOS)"   ,					eos_token="(EOS)"   ,					do_normalize=__SCREAMING_SNAKE_CASE   ,					padding_value=1.0     )

        self.assertEqual(processor.tokenizer.get_vocab()   ,					tokenizer_add_kwargs.get_vocab()     )
        self.assertIsInstance(processor.tokenizer   ,					__SCREAMING_SNAKE_CASE     )

        self.assertEqual(processor.image_processor.to_json_string()   ,					image_processor_add_kwargs.to_json_string()     )
        self.assertIsInstance(processor.image_processor   ,					__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_image_processor()
        snake_case__    							=				self.get_tokenizer()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				self.prepare_image_inputs()

        snake_case__    							=				image_processor(__SCREAMING_SNAKE_CASE   ,					return_tensors="np"     )
        snake_case__    							=				processor(images=__SCREAMING_SNAKE_CASE   ,					return_tensors="np"     )

        for key in input_feat_extract.keys():
         self.assertAlmostEqual(input_feat_extract[key].sum()   ,					input_processor[key].sum()   ,					delta=1e-2     )

        # With rest of the args
        random.seed(1234     )
        snake_case__    							=				image_processor(
            __SCREAMING_SNAKE_CASE   ,					return_image_mask=__SCREAMING_SNAKE_CASE   ,					return_codebook_pixels=__SCREAMING_SNAKE_CASE   ,					return_tensors="np"     )
        random.seed(1234     )
        snake_case__    							=				processor(
            images=__SCREAMING_SNAKE_CASE   ,					return_image_mask=__SCREAMING_SNAKE_CASE   ,					return_codebook_pixels=__SCREAMING_SNAKE_CASE   ,					return_tensors="np"     )

        for key in input_feat_extract.keys():
         self.assertAlmostEqual(input_feat_extract[key].sum()   ,					input_processor[key].sum()   ,					delta=1e-2     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_image_processor()
        snake_case__    							=				self.get_tokenizer()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				"lower newer"

        snake_case__    							=				processor(text=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				tokenizer(__SCREAMING_SNAKE_CASE     )

        for key in encoded_tok.keys():
         self.assertListEqual(encoded_tok[key]   ,					encoded_processor[key]     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_image_processor()
        snake_case__    							=				self.get_tokenizer()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				"lower newer"
        snake_case__    							=				self.prepare_image_inputs()

        snake_case__    							=				processor(text=__SCREAMING_SNAKE_CASE   ,					images=__SCREAMING_SNAKE_CASE     )

        self.assertListEqual(list(inputs.keys()     )   ,					["input_ids", "token_type_ids", "attention_mask", "pixel_values"]     )

        # add extra args
        snake_case__    							=				processor(text=__SCREAMING_SNAKE_CASE   ,					images=__SCREAMING_SNAKE_CASE   ,					return_codebook_pixels=__SCREAMING_SNAKE_CASE   ,					return_image_mask=__SCREAMING_SNAKE_CASE     )

        self.assertListEqual(
            list(inputs.keys()     )   ,					[
                "input_ids",
                "token_type_ids",
                "attention_mask",
                "pixel_values",
                "codebook_pixel_values",
                "bool_masked_pos",
            ]   ,					)

        # test if it raises when no input is passed
        with pytest.raises(__SCREAMING_SNAKE_CASE     ):
         processor()

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_image_processor()
        snake_case__    							=				self.get_tokenizer()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				[[1, 4, 5, 8, 1, 0, 8], [3, 4, 3, 1, 1, 8, 9]]

        snake_case__    							=				processor.batch_decode(__SCREAMING_SNAKE_CASE     )
        snake_case__    							=				tokenizer.batch_decode(__SCREAMING_SNAKE_CASE     )

        self.assertListEqual(__SCREAMING_SNAKE_CASE   ,					__SCREAMING_SNAKE_CASE     )

       def 		_SCREAMING_SNAKE_CASE(			self     ):






        '''simple docstring'''

        snake_case__    							=				self.get_image_processor()
        snake_case__    							=				self.get_tokenizer()

        snake_case__    							=				FlavaProcessor(tokenizer=__SCREAMING_SNAKE_CASE   ,					image_processor=__SCREAMING_SNAKE_CASE     )

        snake_case__    							=				"lower newer"
        snake_case__    							=				self.prepare_image_inputs()

        snake_case__    							=				processor(text=__SCREAMING_SNAKE_CASE   ,					images=__SCREAMING_SNAKE_CASE     )

        self.assertListEqual(list(inputs.keys()     )   ,					processor.model_input_names     )

