






import json
import os
import re
import unittest

from transformers import CodeGenTokenizer, CodeGenTokenizerFast
from transformers.models.codegen.tokenization_codegen import VOCAB_FILES_NAMES
from transformers.testing_utils import require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin




@require_tokenizers
class 							_lowerCAmelCase(			UpperCAmelCase_				,      unittest.TestCase   ):





       """simple docstring"""







       a							:						Tuple										=CodeGenTokenizer
       a							:						Optional[Any]										=CodeGenTokenizerFast
       a							:						Any										=True
       a							:						Dict										={'''add_prefix_space''': True}
       a							:						Tuple										=False





       def      _a       (   self				):
         super().setUp()

         # Adapted from Sennrich et al. 2015 and https://github.com/rsennrich/subword-nmt
         UpperCamelCase_:   Optional[int]        =							[
             'l',
             'o',
             'w',
             'e',
             'r',
             's',
             't',
             'i',
             'd',
             'n',
             '\u0120',
             '\u0120l',
             '\u0120n',
             '\u0120lo',
             '\u0120low',
             'er',
             '\u0120lowest',
             '\u0120newer',
             '\u0120wider',
             '<unk>',
             '<|endoftext|>',
         ]
         UpperCamelCase_:   Dict        =							dict(zip(_lowerCamelCase    ,     range(len(_lowerCamelCase				)				)				)				)
         UpperCamelCase_:   int        =							['#version: 0.2', '\u0120 l', '\u0120l o', '\u0120lo w', 'e r', '']
         UpperCamelCase_:   Optional[int]        =							{'unk_token': '<unk>'}

         UpperCamelCase_:   str        =							os.path.join(self.tmpdirname    ,     VOCAB_FILES_NAMES['vocab_file']				)
         UpperCamelCase_:   Tuple        =							os.path.join(self.tmpdirname    ,     VOCAB_FILES_NAMES['merges_file']				)
         with open(self.vocab_file    ,     'w'    ,     encoding='utf-8'				) as fp:
           fp.write(json.dumps(_lowerCamelCase				) + '\n'				)
         with open(self.merges_file    ,     'w'    ,     encoding='utf-8'				) as fp:
           fp.write('\n'.join(_lowerCamelCase				)				)





       def      _a       (   self    ,     **_lowerCamelCase				):
         kwargs.update(self.special_tokens_map				)
         return CodeGenTokenizer.from_pretrained(self.tmpdirname    ,     **_lowerCamelCase				)





       def      _a       (   self    ,     **_lowerCamelCase				):
         kwargs.update(self.special_tokens_map				)
         return CodeGenTokenizerFast.from_pretrained(self.tmpdirname    ,     **_lowerCamelCase				)





       def      _a       (   self    ,     _lowerCamelCase				):
         UpperCamelCase_:   List[str]        =							'lower newer'
         UpperCamelCase_:   Dict        =							'lower newer'
         return input_text, output_text





       def      _a       (   self				):
         UpperCamelCase_:   Any        =							CodeGenTokenizer(self.vocab_file    ,     self.merges_file    ,     **self.special_tokens_map				)
         UpperCamelCase_:   Dict        =							'lower newer'
         UpperCamelCase_:   int        =							['\u0120low', 'er', '\u0120', 'n', 'e', 'w', 'er']
         UpperCamelCase_:   Optional[int]        =							tokenizer.tokenize(_lowerCamelCase    ,     add_prefix_space=_lowerCamelCase				)
         self.assertListEqual(_lowerCamelCase    ,     _lowerCamelCase				)

         UpperCamelCase_:   Tuple        =							tokens + [tokenizer.unk_token]
         UpperCamelCase_:   List[str]        =							[1_4, 1_5, 1_0, 9, 3, 2, 1_5, 1_9]
         self.assertListEqual(tokenizer.convert_tokens_to_ids(_lowerCamelCase				)    ,     _lowerCamelCase				)





       def      _a       (   self				):
         if not self.test_rust_tokenizer:
           return

         UpperCamelCase_:   Any        =							self.get_tokenizer()
         UpperCamelCase_:   int        =							self.get_rust_tokenizer(add_prefix_space=_lowerCamelCase				)

         UpperCamelCase_:   str        =							'lower newer'

         # Testing tokenization
         UpperCamelCase_:   int        =							tokenizer.tokenize(_lowerCamelCase    ,     add_prefix_space=_lowerCamelCase				)
         UpperCamelCase_:   Optional[Any]        =							rust_tokenizer.tokenize(_lowerCamelCase				)
         self.assertListEqual(_lowerCamelCase    ,     _lowerCamelCase				)

         # Testing conversion to ids without special tokens
         UpperCamelCase_:   str        =							tokenizer.encode(_lowerCamelCase    ,     add_special_tokens=_lowerCamelCase    ,     add_prefix_space=_lowerCamelCase				)
         UpperCamelCase_:   int        =							rust_tokenizer.encode(_lowerCamelCase    ,     add_special_tokens=_lowerCamelCase				)
         self.assertListEqual(_lowerCamelCase    ,     _lowerCamelCase				)

         # Testing conversion to ids with special tokens
         UpperCamelCase_:   Optional[int]        =							self.get_rust_tokenizer(add_prefix_space=_lowerCamelCase				)
         UpperCamelCase_:   int        =							tokenizer.encode(_lowerCamelCase    ,     add_prefix_space=_lowerCamelCase				)
         UpperCamelCase_:   Optional[int]        =							rust_tokenizer.encode(_lowerCamelCase				)
         self.assertListEqual(_lowerCamelCase    ,     _lowerCamelCase				)

         # Testing the unknown token
         UpperCamelCase_:   Optional[Any]        =							tokens + [rust_tokenizer.unk_token]
         UpperCamelCase_:   Optional[Any]        =							[1_4, 1_5, 1_0, 9, 3, 2, 1_5, 1_9]
         self.assertListEqual(rust_tokenizer.convert_tokens_to_ids(_lowerCamelCase				)    ,     _lowerCamelCase				)





       def      _a       (   self    ,     *_lowerCamelCase    ,     **_lowerCamelCase				):
         # It's very difficult to mix/test pretokenization with byte-level
         # And get both CodeGen and Roberta to work at the same time (mostly an issue of adding a space before the string)
         pass





       def      _a       (   self    ,     _lowerCamelCase=1_5				):
         for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
           with self.subTest(f'''{tokenizer.__class__.__name__} ({pretrained_name})'''				):
             UpperCamelCase_:   Optional[Any]        =							self.rust_tokenizer_class.from_pretrained(_lowerCamelCase    ,     **_lowerCamelCase				)

             # Simple input
             UpperCamelCase_:   List[str]        =							'This is a simple input'
             UpperCamelCase_:   Union[str, Any]        =							['This is a simple input 1', 'This is a simple input 2']
             UpperCamelCase_:   Union[str, Any]        =							('This is a simple input', 'This is a pair')
             UpperCamelCase_:   Dict        =							[
                 ('This is a simple input 1', 'This is a simple input 2'),
                 ('This is a simple pair 1', 'This is a simple pair 2'),
             ]

             # Simple input tests
             self.assertRaises(_lowerCamelCase    ,     tokenizer_r.encode    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'				)

             # Simple input
             self.assertRaises(_lowerCamelCase    ,     tokenizer_r.encode_plus    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'				)

             # Simple input
             self.assertRaises(
                 _lowerCamelCase    ,     tokenizer_r.batch_encode_plus    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'    ,     )

             # Pair input
             self.assertRaises(_lowerCamelCase    ,     tokenizer_r.encode    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'				)

             # Pair input
             self.assertRaises(_lowerCamelCase    ,     tokenizer_r.encode_plus    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'				)

             # Pair input
             self.assertRaises(
                 _lowerCamelCase    ,     tokenizer_r.batch_encode_plus    ,     _lowerCamelCase    ,     max_length=_lowerCamelCase    ,     padding='max_length'    ,     )





       def      _a       (   self				):
         UpperCamelCase_:   List[Any]        =							CodeGenTokenizer.from_pretrained(self.tmpdirname    ,     pad_token='<pad>'				)

         # Simple input
         UpperCamelCase_:   str        =							'This is a simple input'
         UpperCamelCase_:   int        =							['This is a simple input looooooooong', 'This is a simple input']
         UpperCamelCase_:   int        =							('This is a simple input', 'This is a pair')
         UpperCamelCase_:   Union[str, Any]        =							[
             ('This is a simple input loooooong', 'This is a simple input'),
             ('This is a simple pair loooooong', 'This is a simple pair'),
         ]

         UpperCamelCase_:   str        =							tokenizer.pad_token_id

         UpperCamelCase_:   Optional[int]        =							tokenizer(_lowerCamelCase    ,     padding='max_length'    ,     max_length=3_0    ,     return_tensors='np'				)
         UpperCamelCase_:   List[str]        =							tokenizer(_lowerCamelCase    ,     padding=_lowerCamelCase    ,     truncate=_lowerCamelCase    ,     return_tensors='np'				)
         UpperCamelCase_:   str        =							tokenizer(*_lowerCamelCase    ,     padding='max_length'    ,     max_length=6_0    ,     return_tensors='np'				)
         UpperCamelCase_:   List[str]        =							tokenizer(_lowerCamelCase    ,     padding=_lowerCamelCase    ,     truncate=_lowerCamelCase    ,     return_tensors='np'				)

         # s
         # test single string max_length padding
         self.assertEqual(out_s['input_ids'].shape[-1]    ,     3_0				)
         self.assertTrue(pad_token_id in out_s['input_ids']				)
         self.assertTrue(0 in out_s['attention_mask']				)

         # s2
         # test automatic padding
         self.assertEqual(out_sa['input_ids'].shape[-1]    ,     3_3				)
         # long slice doesn't have padding
         self.assertFalse(pad_token_id in out_sa['input_ids'][0]				)
         self.assertFalse(0 in out_sa['attention_mask'][0]				)
         # short slice does have padding
         self.assertTrue(pad_token_id in out_sa['input_ids'][1]				)
         self.assertTrue(0 in out_sa['attention_mask'][1]				)

         # p
         # test single pair max_length padding
         self.assertEqual(out_p['input_ids'].shape[-1]    ,     6_0				)
         self.assertTrue(pad_token_id in out_p['input_ids']				)
         self.assertTrue(0 in out_p['attention_mask']				)

         # p2
         # test automatic padding pair
         self.assertEqual(out_pa['input_ids'].shape[-1]    ,     5_2				)
         # long slice pair doesn't have padding
         self.assertFalse(pad_token_id in out_pa['input_ids'][0]				)
         self.assertFalse(0 in out_pa['attention_mask'][0]				)
         # short slice pair does have padding
         self.assertTrue(pad_token_id in out_pa['input_ids'][1]				)
         self.assertTrue(0 in out_pa['attention_mask'][1]				)





       def      _a       (   self				):
         UpperCamelCase_:   List[str]        =							'$$$'
         UpperCamelCase_:   Dict        =							CodeGenTokenizer.from_pretrained(self.tmpdirname    ,     bos_token=_lowerCamelCase    ,     add_bos_token=_lowerCamelCase				)

         UpperCamelCase_:   Union[str, Any]        =							'This is a simple input'
         UpperCamelCase_:   Union[str, Any]        =							['This is a simple input 1', 'This is a simple input 2']

         UpperCamelCase_:   List[Any]        =							tokenizer.bos_token_id

         UpperCamelCase_:   List[Any]        =							tokenizer(_lowerCamelCase				)
         UpperCamelCase_:   Optional[int]        =							tokenizer(_lowerCamelCase				)

         self.assertEqual(out_s.input_ids[0]    ,     _lowerCamelCase				)
         self.assertTrue(all(o[0] == bos_token_id for o in out_sa.input_ids				)				)

         UpperCamelCase_:   Tuple        =							tokenizer.decode(out_s.input_ids				)
         UpperCamelCase_:   Dict        =							tokenizer.batch_decode(out_sa.input_ids				)

         self.assertEqual(decode_s.split()[0]    ,     _lowerCamelCase				)
         self.assertTrue(all(d.split()[0] == bos_token for d in decode_sa				)				)





       @slow
       def      _a       (   self				):
         UpperCamelCase_:   Tuple        =							CodeGenTokenizer.from_pretrained('Salesforce/codegen-350M-mono'				)

         UpperCamelCase_:   int        =							'\nif len_a > len_b:\n    result = a\nelse:\n    result = b\n\n\n\n#'
         UpperCamelCase_:   Optional[int]        =							'\nif len_a > len_b:      result = a\nelse:      result = b'

         UpperCamelCase_:   Optional[Any]        =							tokenizer.encode(_lowerCamelCase				)
         UpperCamelCase_:   int        =							['^#', re.escape('<|endoftext|>'				), '^\'\'\'', '^"""', '\n\n\n']
         UpperCamelCase_:   str        =							tokenizer.decode(_lowerCamelCase    ,     truncate_before_pattern=_lowerCamelCase				)
         self.assertEqual(_lowerCamelCase    ,     _lowerCamelCase				)





       def      _a       (   self				):
         pass







'''simple docstring'''



from ..utils import DummyObject, requires_backends
class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Dict  ,   *UpperCAmelCase      :		List[Any]  ,   **UpperCAmelCase      :		Union[str, Any]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Any  ,   *UpperCAmelCase      :		Dict  ,   **UpperCAmelCase      :		List[str]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Dict  ,   *UpperCAmelCase      :		str  ,   **UpperCAmelCase      :		Any		)	->	Any:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Union[str, Any]  ,   *UpperCAmelCase      :		Optional[Any]  ,   **UpperCAmelCase      :		str		)	->	Optional[int]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Tuple  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		List[Any]		)	->	int:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		List[Any]  ,   *UpperCAmelCase      :		Union[str, Any]  ,   **UpperCAmelCase      :		List[str]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Any  ,   *UpperCAmelCase      :		int  ,   **UpperCAmelCase      :		Optional[Any]		)	->	Any:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		str  ,   *UpperCAmelCase      :		Tuple  ,   **UpperCAmelCase      :		Union[str, Any]		)	->	Optional[int]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[int]  ,   *UpperCAmelCase      :		Dict  ,   **UpperCAmelCase      :		Optional[int]		)	->	List[str]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Union[str, Any]  ,   *UpperCAmelCase      :		Optional[Any]  ,   **UpperCAmelCase      :		int		)	->	Optional[int]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Tuple  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		Optional[int]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		int  ,   *UpperCAmelCase      :		int  ,   **UpperCAmelCase      :		Dict		)	->	Optional[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[int]  ,   *UpperCAmelCase      :		Dict  ,   **UpperCAmelCase      :		Union[str, Any]		)	->	List[str]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		str  ,   *UpperCAmelCase      :		Optional[int]  ,   **UpperCAmelCase      :		List[str]		)	->	str:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Dict  ,   *UpperCAmelCase      :		Union[str, Any]  ,   **UpperCAmelCase      :		List[Any]		)	->	Dict:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Union[str, Any]  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		Union[str, Any]		)	->	str:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[Any]  ,   *UpperCAmelCase      :		Optional[Any]  ,   **UpperCAmelCase      :		Optional[Any]		)	->	str:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[int]  ,   *UpperCAmelCase      :		Union[str, Any]  ,   **UpperCAmelCase      :		Dict		)	->	Dict:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		int  ,   *UpperCAmelCase      :		List[Any]  ,   **UpperCAmelCase      :		Tuple		)	->	Union[str, Any]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Any  ,   *UpperCAmelCase      :		int  ,   **UpperCAmelCase      :		Optional[Any]		)	->	str:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Union[str, Any]  ,   *UpperCAmelCase      :		List[str]  ,   **UpperCAmelCase      :		List[str]		)	->	Optional[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Union[str, Any]  ,   *UpperCAmelCase      :		Union[str, Any]  ,   **UpperCAmelCase      :		List[str]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[Any]  ,   *UpperCAmelCase      :		Optional[Any]  ,   **UpperCAmelCase      :		Any		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Dict  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		Optional[Any]		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[int]  ,   *UpperCAmelCase      :		Optional[int]  ,   **UpperCAmelCase      :		Any		)	->	Any:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Tuple  ,   *UpperCAmelCase      :		List[str]  ,   **UpperCAmelCase      :		Optional[int]		)	->	List[str]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Union[str, Any]  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		int		)	->	Tuple:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[int]  ,   *UpperCAmelCase      :		Union[str, Any]  ,   **UpperCAmelCase      :		Dict		)	->	int:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		List[str]  ,   *UpperCAmelCase      :		Dict  ,   **UpperCAmelCase      :		Dict		)	->	List[Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		str  ,   *UpperCAmelCase      :		Optional[Any]  ,   **UpperCAmelCase      :		str		)	->	int:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[int]  ,   *UpperCAmelCase      :		Any  ,   **UpperCAmelCase      :		Optional[int]		)	->	Optional[int]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[int]  ,   *UpperCAmelCase      :		Dict  ,   **UpperCAmelCase      :		Optional[Any]		)	->	Dict:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		str  ,   *UpperCAmelCase      :		str  ,   **UpperCAmelCase      :		Any		)	->	int:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[int]  ,   *UpperCAmelCase      :		str  ,   **UpperCAmelCase      :		Any		)	->	Optional[int]:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[int]  ,   *UpperCAmelCase      :		Tuple  ,   **UpperCAmelCase      :		Any		)	->	Dict:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Optional[int]  ,   *UpperCAmelCase      :		Optional[int]  ,   **UpperCAmelCase      :		Optional[Any]		)	->	Dict:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)





class UpperCAmelCase_       (     metaclass=__A					):




      """simple docstring"""




      UpperCamelCase_             =      ['''flax''']






      def __init__(			self      :		Optional[Any]  ,   *UpperCAmelCase      :		str  ,   **UpperCAmelCase      :		int		)	->	Tuple:


       '''simple docstring'''

       requires_backends(self  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Dict  ,   *UpperCAmelCase      :		List[Any]  ,   **UpperCAmelCase      :		Optional[int]		)	->	str:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)






      @classmethod
      def 					A__   (			cls      :		Union[str, Any]  ,   *UpperCAmelCase      :		List[Any]  ,   **UpperCAmelCase      :		Union[str, Any]		)	->	Union[str, Any]:


       '''simple docstring'''

       requires_backends(cls  ,   ['''flax''']		)



