Hacked By AnonymousFox
�
j��f�
� �� � d Z dZdZdZdZddlZ G d� de� � Z G d � d
e� � Z G d� de� � Z G d
� de� � Z
dZd� Z ej
dej � � Zd� ZdS )z"Convert to and from Roman numeralsz&Mark Pilgrim (f8dy@diveintopython.org)z1.4z
8 August 2001ag Copyright (c) 2001 Mark Pilgrim
This program is part of "Dive Into Python", a free Python tutorial for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
This program is free software; you can redistribute it and/or modify
it under the terms of the Python 2.1.1 license, available at
http://www.python.org/2.1.1/license.html
� Nc � � e Zd ZdS )�
RomanErrorN��__name__�
__module__�__qualname__� � �t/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/roman.pyr r � � � � � � � � r
r c � � e Zd ZdS )�OutOfRangeErrorNr r r
r r r r r
r c � � e Zd ZdS )�NotIntegerErrorNr r r
r r r r r
r c � � e Zd ZdS )�InvalidRomanNumeralErrorNr r r
r r r r r
r )
)�Mi� )�CMi� )�Di� )�CDi� )�C�d )�XC�Z )�L�2 )�XL�( )�X�
)�IX� )�V� )�IV� )�I� c �� � d| cxk rdk sn t d� � �t | � � | k rt d� � �d}t D ]\ }}| |k r||z
}| |z } | |k ��|S )z convert integer to Roman numeralr i� z%number out of range (must be 1..4999)zdecimals can not be converted� )r �intr �romanNumeralMap)�n�result�numeral�integers r �toRomanr1 + s� � �
��L�L�L�L�D�L�L�L�L��E�F�F�F�
�1�v�v��{�{��=�>�>�>�
�F�+� � �����7�l�l��g��F�
��L�A� �7�l�l�� �Mr
a8
^ # beginning of string
M{0,4} # thousands - 0 to 4 M's
(CM|CD|D?C{0,3}) # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's),
# or 500-800 (D, followed by 0 to 3 C's)
(XC|XL|L?X{0,3}) # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's),
# or 50-80 (L, followed by 0 to 3 X's)
(IX|IV|V?I{0,3}) # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's),
# or 5-8 (V, followed by 0 to 3 I's)
$ # end of string
c �H � | st d� � �t � | � � st d| z � � �d}d}t D ]X\ }}| ||t |� � z � |k r5||z
}|t |� � z
}| ||t |� � z � |k �5�Y|S )z convert Roman numeral to integerzInput can not be blankzInvalid Roman numeral: %sr )r �romanNumeralPattern�searchr, �len)�sr. �indexr/ r0 s r � fromRomanr8 H s� � �� A�&�'?�@�@�@��%�%�a�(�(� H�&�'B�Q�'F�G�G�G�
�F�
�E�+� "� "������e�C��L�L�(�(�)�W�4�4��g��F��S��\�\�!�E� ��e�C��L�L�(�(�)�W�4�4�� �Mr
)�__doc__�
__author__�__version__�__date__�
__copyright__�re� Exceptionr r r r r, r1 �compile�VERBOSEr3 r8 r r
r �<module>rB s� �� (� (�
5�
����� �
�
� � � � "� !� !� !� !�� !� !� !� '� '� '� '� '�j� '� '� '� '� '� '� '� '�j� '� '� '� 0� 0� 0� 0� 0�z� 0� 0� 0���� � � !�b�j�
"�
��
�
� �� � � � r
Hacked By AnonymousFox1.0, Coded By AnonymousFox