



'''simple docstring'''


from __future__ import annotations

import unittest

from transformers import is_tf_available
from transformers.testing_utils import require_sentencepiece, require_tf, require_tokenizers, slow


if is_tf_available():
		import numpy as np
		import tensorflow as tf

		from transformers import TFCamembertModel







@require_tf
@require_sentencepiece
@require_tokenizers
class 	UpperCAmelCase	(		unittest.TestCase):


	'''simple docstring'''




	@slow
	def       lowercase_  (   self) ->      Optional[Any]:



						"""simple docstring"""







						a_       		=TFCamembertModel.from_pretrained("jplu/tf-camembert-base")

						a_       		=tf.convert_to_tensor(
						    [[5, 1_2_1, 1_1, 6_6_0, 1_6, 7_3_0, 2_5_5_4_3, 1_1_0, 8_3, 6]]							,  dtype=tf.intaa							,  )  # J'aime le camembert !"

						a_       		=model(_lowercase)["""last_hidden_state"""]
						a_       		=tf.TensorShape((1, 1_0, 7_6_8))
						self.assertEqual(output.shape							,  _lowercase)
						# compare the actual values for a slice.
						a_       		=tf.convert_to_tensor(
						    [[[-0.0_2_5_4, 0.0_2_3_5, 0.1_0_2_7], [0.0_6_0_6, -0.1_8_1_1, -0.0_4_1_8], [-0.1_5_6_1, -0.1_1_2_7, 0.2_6_8_7]]]							,  dtype=tf.floataa							,  )
						# camembert = torch.hub.load('pytorch/fairseq', 'camembert.v0')
						# camembert.eval()
						# expected_slice = roberta.model.forward(input_ids)[0][:, :3, :3].detach()

						self.assertTrue(np.allclose(output[:, :3, :3].numpy()							,  expected_slice.numpy()							,  atol=1e-4))







'''simple docstring'''


from __future__ import annotations






def  UpperCAmelCase_       (		lowercase__       ):


     '''simple docstring'''







     a_       		=str(lowercase__       )
     return len(lowercase__       ) == 9 and set(lowercase__       ) == set("123456789"       )






def  UpperCAmelCase_       (		):


     '''simple docstring'''







     for base_num in range(9_9_9_9       ,	4_9_9_9       ,	-1       ):
          a_       		=1_0_0_0_0_2 * base_num
          if is_9_pandigital(lowercase__       ):
               return candidate

     for base_num in range(3_3_3       ,	9_9       ,	-1       ):
          a_       		=1_0_0_2_0_0_3 * base_num
          if is_9_pandigital(lowercase__       ):
               return candidate

     return None


if __name__ == "__main__":
  print(F"""{solution() = }""")


