'''simple docstring'''




import argparse
import json

import numpy
import torch

from transformers.models.xlm.tokenization_xlm import VOCAB_FILES_NAMES
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()






def __lowerCAmelCase					(				UpperCamelCase__							,    UpperCamelCase__							)      ->       Union[str, Any]:
    # Load checkpoint
    __lowerCamelCase            =    torch.load(UpperCamelCase__							,    map_location='''cpu'''							)

    __lowerCamelCase            =    chkpt['''model''']

    # We have the base model one level deeper than the original XLM repository
    __lowerCamelCase            =    {}
    for k, v in state_dict.items():
        if "pred_layer" in k:
            __lowerCamelCase            =    v
        else:
            __lowerCamelCase            =    v

    __lowerCamelCase            =    chkpt['''params''']
    __lowerCamelCase            =    {n: v for n, v in config.items() if not isinstance(UpperCamelCase__							,    (torch.FloatTensor, numpy.ndarray)							)}

    __lowerCamelCase            =    chkpt['''dico_word2id''']
    __lowerCamelCase            =    {s + '''</w>''' if s.find('''@@'''							) == -1 and i > 13 else s.replace('''@@'''							,    ''''''							): i for s, i in vocab.items()}

    # Save pytorch-model
    __lowerCamelCase            =    pytorch_dump_folder_path + '''/''' + WEIGHTS_NAME
    __lowerCamelCase            =    pytorch_dump_folder_path + '''/''' + CONFIG_NAME
    __lowerCamelCase            =    pytorch_dump_folder_path + '''/''' + VOCAB_FILES_NAMES['''vocab_file''']

    print(f"""Save PyTorch model to {pytorch_weights_dump_path}"""							)
    torch.save(UpperCamelCase__							,    UpperCamelCase__							)

    print(f"""Save configuration file to {pytorch_config_dump_path}"""							)
    with open(UpperCamelCase__							,    '''w'''							,    encoding='''utf-8'''							) as f:
        f.write(json.dumps(UpperCamelCase__							,    indent=2							) + '''\n'''							)

    print(f"""Save vocab file to {pytorch_config_dump_path}"""							)
    with open(UpperCamelCase__							,    '''w'''							,    encoding='''utf-8'''							) as f:
        f.write(json.dumps(UpperCamelCase__							,    indent=2							) + '''\n'''							)


if __name__ == "__main__":
  __UpperCAmelCase					=argparse.ArgumentParser()
  # Required parameters
  parser.add_argument(
      "--xlm_checkpoint_path", default=None, type=str, required=True, help="Path the official PyTorch dump."
  )
  parser.add_argument(
      "--pytorch_dump_folder_path", default=None, type=str, required=True, help="Path to the output PyTorch model."
  )
  __UpperCAmelCase					=parser.parse_args()
  convert_xlm_checkpoint_to_pytorch(args.xlm_checkpoint_path, args.pytorch_dump_folder_path)

'''simple docstring'''




def __lowerCAmelCase					(				)      ->       Optional[Any]:
    __lowerCamelCase            =    0
    for i in range(1							,    10_01							):
        total += i**i
    return str(UpperCamelCase__							)[-10:]


if __name__ == "__main__":
  print(solution())
