U
    &c`D                     @   s@  d Z zddlZW n ek
r$   Y n"X ejd ejd dej_ddlZddlm	Z	m
Z
mZmZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ dd	lmZ dd
lmZmZ ddlmZm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZD ddlEmFZF ddlGmHZHmIZI ddlJmKZKmLZL ddlMmNZNmOZO ddlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa ddlbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZo ddlpmqZq dd lrmsZs dd!ltmuZumvZvmwZwmxZxmyZymzZzm{Z{ dd"l|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZ dd#lmZ dd$lmZmZ dd%lmZmZ dd&lmZmZmZmZ dd'lmZmZmZ dd(lmZ dd)lmZ dd*lmZmZ dd+lmZmZ dd,lmZ dd-lmZmZ dd.lmZmZ dd/lmZ dd0lmZmZ dd1lmZ dd2lmZmZmZ dd3lmZ dd4lmZ dd5lmZ dd6lmZmZ dd7lmZ dd8lmZ dd9lmZ eeʡZe] rDdd:lPmZmZ eo 	rdd;lmZmZmZmZmZ dd<lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd=lmZmZmZmZmZmZmZmZmZmZmZmZ dd>lmZmZmZmZmZmZ dd?lmZmZmZmZmZmZ dd@lm Z mZmZmZmZmZ ddAlmZmZm	Z	m
Z
 ddBlmZmZmZmZmZmZmZmZmZmZ ddClmZmZmZmZmZmZmZmZ ddDlm Z m!Z!m"Z"m#Z# ddEl$m%Z% ddFl&m'Z' ddGl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ ddHl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddIl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? ddJl@mAZA ddKlBmCZCmDZDmEZEmFZFmGZG ddLlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ ddMlRmSZSmTZTmUZUmVZVmWZWmXZX ddNlYmZZZm[Z[m\Z\ ddOl]m^Z^m_Z_m`Z`maZambZbmcZc ddPldmeZemfZfmgZgmhZhmiZimjZjmkZk ddQllmmZmmnZnmoZompZpmqZq ddRlrmsZsmtZtmuZumvZvmwZwmxZx ddSlymzZzm{Z{m|Z|mZ ddTl}m~Z~mZmZ ddUlmZmZmZmZ en r ddVlmZmZmZmZmZ ddWlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddXlmZmZmZmZmZmZmZmZmZmZmZmZ ddYlmZmZmZmZmZmZ ddZlmZmZmZmZmZmZ dd[lmZmZmZmZmZmZ dd\lmZmZmZmZmZmÐZÐmĐZĐmŐZ dd]lƐmǐZǐmȐZȐmɐZɐmʐZʐmːZːm̐Z̐m͐Z dd^lΐmϐZϐmАZАmѐZѐmҐZҐmӐZ dd_lԐmՐZՐm֐Z֐mאZאmؐZؐmِZِmڐZڐmېZېmܐZ dd`lݐmސZސmߐZߐmZmZmZ ddalmZmZmZmZ ddblmZmZmZmZmZmZmZmZ ddclmZmZmZmZ dddlmZmZmZmZmZmZmZmZmZ ddel mZmZmZmZ ddflmZmZmZm	Z	m
Z
mZ ddglmZmZmZmZ ddhlmZ en s<eo s<eːdi dS )jz2.9.1    NinfoF   )	FrameMemoryMemoryStateMemorySummaryMemoryTraceUsedMemoryStatebytes_to_human_readablestart_memory_tracingstop_memory_tracing)$ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAPAlbertConfig)!ALL_PRETRAINED_CONFIG_ARCHIVE_MAPCONFIG_MAPPING
AutoConfig)
BartConfig)"BERT_PRETRAINED_CONFIG_ARCHIVE_MAP
BertConfig)'CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAPCamembertConfig)"CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP
CTRLConfig)(DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAPDistilBertConfig)%ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAPElectraConfig)EncoderDecoderConfig)&FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAPFlaubertConfig)"GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP
GPT2Config)MarianConfig)
MMBTConfig)(OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAPOpenAIGPTConfig)&REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAPReformerConfig)%ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAPRobertaConfig) T5_PRETRAINED_CONFIG_ARCHIVE_MAPT5Config)(TRANSFO_XL_PRETRAINED_CONFIG_ARCHIVE_MAPTransfoXLConfig)PretrainedConfig)!XLM_PRETRAINED_CONFIG_ARCHIVE_MAP	XLMConfig))XLM_ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAPXLMRobertaConfig)#XLNET_PRETRAINED_CONFIG_ARCHIVE_MAPXLNetConfig)DataProcessorInputExampleInputFeatures%SingleSentenceClassificationProcessorSquadExampleSquadFeaturesSquadV1ProcessorSquadV2Processor!glue_convert_examples_to_featuresglue_output_modesglue_processorsglue_tasks_num_labelsis_sklearn_available"squad_convert_examples_to_featuresxnli_output_modesxnli_processorsxnli_tasks_num_labels)CONFIG_NAMEMODEL_CARD_NAMEPYTORCH_PRETRAINED_BERT_CACHEPYTORCH_TRANSFORMERS_CACHETF2_WEIGHTS_NAMETF_WEIGHTS_NAMETRANSFORMERS_CACHEWEIGHTS_NAMEadd_end_docstringsadd_start_docstringscached_pathis_tf_availableis_torch_available)HfArgumentParser)	ModelCard)(convert_tf_weight_name_to_pt_weight_name$load_pytorch_checkpoint_in_tf2_modelload_pytorch_model_in_tf2_model!load_pytorch_weights_in_tf2_model$load_tf2_checkpoint_in_pytorch_modelload_tf2_model_in_pytorch_model!load_tf2_weights_in_pytorch_model)CsvPipelineDataFormatFeatureExtractionPipelineFillMaskPipelineJsonPipelineDataFormatNerPipelinePipedPipelineDataFormatPipelinePipelineDataFormatQuestionAnsweringPipelineSummarizationPipelineTextClassificationPipelineTextGenerationPipelineTokenClassificationPipelineTranslationPipelinepipeline)AlbertTokenizer)TOKENIZER_MAPPINGAutoTokenizer)BartTokenizerMBartTokenizer)BasicTokenizerBertTokenizerBertTokenizerFastWordpieceTokenizer)BertJapaneseTokenizerCharacterTokenizerMecabTokenizer)CamembertTokenizer)CTRLTokenizer)DistilBertTokenizerDistilBertTokenizerFast)ElectraTokenizerElectraTokenizerFast)FlaubertTokenizer)GPT2TokenizerGPT2TokenizerFast)OpenAIGPTTokenizerOpenAIGPTTokenizerFast)ReformerTokenizer)RobertaTokenizerRobertaTokenizerFast)T5Tokenizer)TransfoXLCorpusTransfoXLTokenizerTransfoXLTokenizerFast)PreTrainedTokenizer)XLMTokenizer)XLMRobertaTokenizer)SPIECE_UNDERLINEXLNetTokenizer)EvalPrediction)TrainingArguments)TFTrainingArguments)glue_compute_metricsxnli_compute_metrics)PreTrainedModelprune_layerConv1Dtop_k_top_p_filteringapply_chunking_to_forward)	AutoModelAutoModelForPreTraining"AutoModelForSequenceClassificationAutoModelForQuestionAnsweringAutoModelWithLMHeadAutoModelForTokenClassificationAutoModelForMultipleChoice ALL_PRETRAINED_MODEL_ARCHIVE_MAPMODEL_MAPPINGMODEL_FOR_PRETRAINING_MAPPINGMODEL_WITH_LM_HEAD_MAPPING)MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING$MODEL_FOR_QUESTION_ANSWERING_MAPPING&MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING!MODEL_FOR_MULTIPLE_CHOICE_MAPPING)BertPreTrainedModel	BertModelBertForPreTrainingBertForMaskedLMBertForNextSentencePredictionBertForSequenceClassificationBertForMultipleChoiceBertForTokenClassificationBertForQuestionAnsweringload_tf_weights_in_bert!BERT_PRETRAINED_MODEL_ARCHIVE_MAP	BertLayer)OpenAIGPTPreTrainedModelOpenAIGPTModelOpenAIGPTLMHeadModelOpenAIGPTDoubleHeadsModelload_tf_weights_in_openai_gpt'OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_MAP)TransfoXLPreTrainedModelTransfoXLModelTransfoXLLMHeadModelAdaptiveEmbeddingload_tf_weights_in_transfo_xl'TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_MAP)GPT2PreTrainedModel	GPT2ModelGPT2LMHeadModelGPT2DoubleHeadsModelload_tf_weights_in_gpt2!GPT2_PRETRAINED_MODEL_ARCHIVE_MAP)CTRLPreTrainedModel	CTRLModelCTRLLMHeadModel!CTRL_PRETRAINED_MODEL_ARCHIVE_MAP)
XLNetPreTrainedModel
XLNetModelXLNetLMHeadModelXLNetForSequenceClassificationXLNetForTokenClassificationXLNetForMultipleChoiceXLNetForQuestionAnsweringSimpleXLNetForQuestionAnsweringload_tf_weights_in_xlnet"XLNET_PRETRAINED_MODEL_ARCHIVE_MAP)XLMPreTrainedModelXLMModelXLMWithLMHeadModelXLMForSequenceClassificationXLMForTokenClassificationXLMForQuestionAnsweringXLMForQuestionAnsweringSimple XLM_PRETRAINED_MODEL_ARCHIVE_MAP)BartForSequenceClassification	BartModelBartForConditionalGeneration!BART_PRETRAINED_MODEL_ARCHIVE_MAP)MarianMTModel)MarianTokenizer)RobertaForMaskedLMRobertaModel RobertaForSequenceClassificationRobertaForMultipleChoiceRobertaForTokenClassificationRobertaForQuestionAnswering$ROBERTA_PRETRAINED_MODEL_ARCHIVE_MAP)DistilBertPreTrainedModelDistilBertForMaskedLMDistilBertModel#DistilBertForSequenceClassificationDistilBertForQuestionAnswering DistilBertForTokenClassification'DISTILBERT_PRETRAINED_MODEL_ARCHIVE_MAP)CamembertForMaskedLMCamembertModel"CamembertForSequenceClassificationCamembertForMultipleChoiceCamembertForTokenClassificationCamembertForQuestionAnswering&CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_MAP)EncoderDecoderModel)T5PreTrainedModelT5ModelT5ForConditionalGenerationload_tf_weights_in_t5T5_PRETRAINED_MODEL_ARCHIVE_MAP)	AlbertPreTrainedModelAlbertModelAlbertForPreTrainingAlbertForMaskedLMAlbertForSequenceClassificationAlbertForQuestionAnsweringAlbertForTokenClassificationload_tf_weights_in_albert#ALBERT_PRETRAINED_MODEL_ARCHIVE_MAP)XLMRobertaForMaskedLMXLMRobertaModelXLMRobertaForMultipleChoice#XLMRobertaForSequenceClassification XLMRobertaForTokenClassification(XLM_ROBERTA_PRETRAINED_MODEL_ARCHIVE_MAP)ModalEmbeddings	MMBTModelMMBTForClassification)FlaubertModelFlaubertWithLMHeadModel!FlaubertForSequenceClassificationFlaubertForQuestionAnswering"FlaubertForQuestionAnsweringSimple%FLAUBERT_PRETRAINED_MODEL_ARCHIVE_MAP)ElectraForPreTrainingElectraForMaskedLMElectraForTokenClassificationElectraPreTrainedModelElectraModelload_tf_weights_in_electra$ELECTRA_PRETRAINED_MODEL_ARCHIVE_MAP)ReformerAttentionReformerLayerReformerModelReformerModelWithLMHead%REFORMER_PRETRAINED_MODEL_ARCHIVE_MAP)AdamWget_constant_schedule!get_constant_schedule_with_warmupget_cosine_schedule_with_warmup2get_cosine_with_hard_restarts_schedule_with_warmupget_linear_schedule_with_warmup)Trainerset_seedtorch_distributed_zero_firstr   )DefaultDataCollatorDataCollatorDataCollatorForLanguageModeling)GlueDatasetTextDatasetLineByLineTextDatasetGlueDataTrainingArguments)TFPreTrainedModelTFSharedEmbeddingsTFSequenceSummary
shape_listtf_top_k_top_p_filtering)TFAutoModelTFAutoModelForPreTrainingTFAutoModelForMultipleChoice$TFAutoModelForSequenceClassificationTFAutoModelForQuestionAnsweringTFAutoModelWithLMHead!TFAutoModelForTokenClassification#TF_ALL_PRETRAINED_MODEL_ARCHIVE_MAPTF_MODEL_MAPPING TF_MODEL_FOR_PRETRAINING_MAPPINGTF_MODEL_WITH_LM_HEAD_MAPPING,TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING'TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING)TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING)TFBertPreTrainedModelTFBertMainLayerTFBertEmbeddingsTFBertModelTFBertForPreTrainingTFBertForMaskedLMTFBertForNextSentencePredictionTFBertForSequenceClassificationTFBertForMultipleChoiceTFBertForTokenClassificationTFBertForQuestionAnswering$TF_BERT_PRETRAINED_MODEL_ARCHIVE_MAP)TFGPT2PreTrainedModelTFGPT2MainLayerTFGPT2ModelTFGPT2LMHeadModelTFGPT2DoubleHeadsModel$TF_GPT2_PRETRAINED_MODEL_ARCHIVE_MAP)TFOpenAIGPTPreTrainedModelTFOpenAIGPTMainLayerTFOpenAIGPTModelTFOpenAIGPTLMHeadModelTFOpenAIGPTDoubleHeadsModel*TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_MAP)TFTransfoXLPreTrainedModelTFTransfoXLMainLayerTFTransfoXLModelTFTransfoXLLMHeadModel*TF_TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_MAPTFAdaptiveEmbedding)TFXLNetPreTrainedModelTFXLNetMainLayerTFXLNetModelTFXLNetLMHeadModel TFXLNetForSequenceClassificationTFXLNetForTokenClassification!TFXLNetForQuestionAnsweringSimple%TF_XLNET_PRETRAINED_MODEL_ARCHIVE_MAP)TFXLMPreTrainedModelTFXLMMainLayer
TFXLMModelTFXLMWithLMHeadModelTFXLMForSequenceClassificationTFXLMForQuestionAnsweringSimple#TF_XLM_PRETRAINED_MODEL_ARCHIVE_MAP)TFXLMRobertaForMaskedLMTFXLMRobertaModel%TFXLMRobertaForSequenceClassification"TFXLMRobertaForTokenClassification+TF_XLM_ROBERTA_PRETRAINED_MODEL_ARCHIVE_MAP)TFRobertaPreTrainedModelTFRobertaMainLayerTFRobertaModelTFRobertaForMaskedLM"TFRobertaForSequenceClassificationTFRobertaForTokenClassificationTFRobertaForQuestionAnswering'TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_MAP)TFCamembertModelTFCamembertForMaskedLM$TFCamembertForSequenceClassification!TFCamembertForTokenClassification)TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_MAP)TFFlaubertModelTFFlaubertWithLMHeadModel#TFFlaubertForSequenceClassification(TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_MAP)TFDistilBertPreTrainedModelTFDistilBertMainLayerTFDistilBertModelTFDistilBertForMaskedLM%TFDistilBertForSequenceClassification"TFDistilBertForTokenClassification TFDistilBertForQuestionAnswering*TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_MAP)TFCTRLPreTrainedModelTFCTRLModelTFCTRLLMHeadModel$TF_CTRL_PRETRAINED_MODEL_ARCHIVE_MAP)	TFAlbertPreTrainedModelTFAlbertMainLayerTFAlbertModelTFAlbertForPreTrainingTFAlbertForMaskedLMTFAlbertForMultipleChoice!TFAlbertForSequenceClassificationTFAlbertForQuestionAnswering&TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_MAP)TFT5PreTrainedModel	TFT5ModelTFT5ForConditionalGeneration"TF_T5_PRETRAINED_MODEL_ARCHIVE_MAP)TFElectraPreTrainedModelTFElectraModelTFElectraForPreTrainingTFElectraForMaskedLMTFElectraForTokenClassification'TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_MAP)WarmUpcreate_optimizerAdamWeightDecayGradientAccumulator)	TFTrainerzNeither PyTorch nor TensorFlow >= 2.0 have been found.Models won't be available and only tokenizers, configurationand file/data utilities can be used.(  __version__Zabsl.loggingZabslImportErrorloggingset_verbosityZset_stderrthresholdZ_warn_preinit_stderrZbenchmark_utilsr   r   r   r   r   r	   r
   r   r   Zconfiguration_albertr   r   Zconfiguration_autor   r   r   Zconfiguration_bartr   Zconfiguration_bertr   r   Zconfiguration_camembertr   r   Zconfiguration_ctrlr   r   Zconfiguration_distilbertr   r   Zconfiguration_electrar   r   Zconfiguration_encoder_decoderr   Zconfiguration_flaubertr   r   Zconfiguration_gpt2r    r!   Zconfiguration_marianr"   Zconfiguration_mmbtr#   Zconfiguration_openair$   r%   Zconfiguration_reformerr&   r'   Zconfiguration_robertar(   r)   Zconfiguration_t5r*   r+   Zconfiguration_transfo_xlr,   r-   Zconfiguration_utilsr.   Zconfiguration_xlmr/   r0   Zconfiguration_xlm_robertar1   r2   Zconfiguration_xlnetr3   r4   datar5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   Z
file_utilsrF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   Zhf_argparserrS   Z	modelcardrT   Zmodeling_tf_pytorch_utilsrU   rV   rW   rX   rY   rZ   r[   Z	pipelinesr\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   Ztokenization_albertrk   Ztokenization_autorl   rm   Ztokenization_bartrn   ro   Ztokenization_bertrp   rq   rr   rs   Ztokenization_bert_japanesert   ru   rv   Ztokenization_camembertrw   Ztokenization_ctrlrx   Ztokenization_distilbertry   rz   Ztokenization_electrar{   r|   Ztokenization_flaubertr}   Ztokenization_gpt2r~   r   Ztokenization_openair   r   Ztokenization_reformerr   Ztokenization_robertar   r   Ztokenization_t5r   Ztokenization_transfo_xlr   r   r   Ztokenization_utilsr   Ztokenization_xlmr   Ztokenization_xlm_robertar   Ztokenization_xlnetr   r   Ztrainer_utilsr   Ztraining_argsr   Ztraining_args_tfr   	getLogger__name__loggerr   r   Zmodeling_utilsr   r   r   r   r   Zmodeling_autor   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zmodeling_bertr   r   r   r   r   r   r   r   r   r   r   r   Zmodeling_openair   r   r   r   r   r   Zmodeling_transfo_xlr   r   r   r   r   r   Zmodeling_gpt2r   r   r   r   r   r   Zmodeling_ctrlr   r   r   r   Zmodeling_xlnetr   r   r   r   r   r   r   r   r   r   Zmodeling_xlmr   r   r   r   r   r   r   r   Zmodeling_bartr   r   r   r   Zmodeling_marianr   Ztokenization_marianr   Zmodeling_robertar   r   r   r   r   r   r   Zmodeling_distilbertr   r   r   r   r   r   r   Zmodeling_camembertr   r   r   r   r   r   r   Zmodeling_encoder_decoderr   Zmodeling_t5r   r   r   r   r   Zmodeling_albertr   r   r   r   r   r  r  r  r  Zmodeling_xlm_robertar  r  r  r  r	  r
  Zmodeling_mmbtr  r  r  Zmodeling_flaubertr  r  r  r  r  r  Zmodeling_electrar  r  r  r  r  r  r  Zmodeling_reformerr  r  r  r  r  optimizationr   r!  r"  r#  r$  r%  Ztrainerr&  r'  r(  Zdata.data_collatorr)  r*  r+  Zdata.datasetsr,  r-  r.  r/  Zmodeling_tf_utilsr0  r1  r2  r3  r4  Zmodeling_tf_autor5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  Zmodeling_tf_bertrC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  Zmodeling_tf_gpt2rO  rP  rQ  rR  rS  rT  Zmodeling_tf_openairU  rV  rW  rX  rY  rZ  Zmodeling_tf_transfo_xlr[  r\  r]  r^  r_  r`  Zmodeling_tf_xlnetra  rb  rc  rd  re  rf  rg  rh  Zmodeling_tf_xlmri  rj  rk  rl  rm  rn  ro  Zmodeling_tf_xlm_robertarp  rq  rr  rs  rt  Zmodeling_tf_robertaru  rv  rw  rx  ry  rz  r{  r|  Zmodeling_tf_camembertr}  r~  r  r  r  Zmodeling_tf_flaubertr  r  r  r  Zmodeling_tf_distilbertr  r  r  r  r  r  r  r  Zmodeling_tf_ctrlr  r  r  r  Zmodeling_tf_albertr  r  r  r  r  r  r  r  r  Zmodeling_tf_t5r  r  r  r  Zmodeling_tf_electrar  r  r  r  r  r  Zoptimization_tfr  r  r  r  Z
trainer_tfr  warning r  r  9/tmp/pip-unpacked-wheel-ymerj3tt/transformers/__init__.py<module>   s   ,L<$D
D8  8*ZJ
*B	B	B	2R:":	B
2	:
&"*2zj:	:	:	JB
2J2*J*R*:
*