AlkantarClanX12

Your IP : 3.145.95.233


Current Path : /proc/self/root/opt/alt/python311/lib64/python3.11/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python311/lib64/python3.11/__pycache__/configparser.cpython-311.opt-2.pyc

�

c��fl����	ddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZgd�Ze
ZdZdZGd�de��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��Ze��ZGd�d��ZGd�d e��Z Gd!�d"e��Z!Gd#�d$e��Z"Gd%�d&e��Z#Gd'�d(e#��Z$Gd)�d*e$��Z%Gd+�d,e��Z&Gd-�d.e��Z'dS)/�)�MutableMapping)�ChainMapN)�NoSectionError�DuplicateOptionError�DuplicateSectionError�
NoOptionError�InterpolationError�InterpolationDepthError�InterpolationMissingOptionError�InterpolationSyntaxError�ParsingError�MissingSectionHeaderError�ConfigParser�SafeConfigParser�RawConfigParser�
Interpolation�BasicInterpolation�ExtendedInterpolation�LegacyInterpolation�SectionProxy�ConverterMapping�DEFAULTSECT�MAX_INTERPOLATION_DEPTH�DEFAULT�
c�"�eZdZ	dd�Zd�ZeZdS)�Error�c�J�||_t�||��dS�N)�message�	Exception�__init__)�self�msgs  �3/opt/alt/python311/lib64/python3.11/configparser.pyr#zError.__init__�s%��������4��%�%�%�%�%�c��|jSr )r!�r$s r&�__repr__zError.__repr__�s
���|�r'N)r)�__name__�
__module__�__qualname__r#r*�__str__�r'r&rr�s;������1�&�&�&�&�����G�G�Gr'rc��eZdZ	d�ZdS)rc�`�t�|d|����||_|f|_dS)NzNo section: )rr#�section�args�r$r2s  r&r#zNoSectionError.__init__�s1��
���t�t���:�;�;�;�����K��	�	�	r'N�r+r,r-r#r/r'r&rr�s&������<� � � � � r'rc��eZdZ	dd�ZdS)rNc���t|��dg}|�hdt|��g}|�(|�d�|����|�d��|�|��|}n|�dd��t
�|d�|����||_||_	||_
|||f|_dS)N� already exists�While reading from � [line {0:2d}]z
: section rzSection r)�repr�append�format�extend�insertrr#�joinr2�source�linenor3)r$r2rArBr%r!s      r&r#zDuplicateSectionError.__init__�s����G�}�}�/�0����,�d�6�l�l�;�G��!����/�6�6�v�>�>�?�?�?��N�N�<�(�(�(��N�N�3�����C�C��J�J�q�*�%�%�%�
���t�R�W�W�S�\�\�*�*�*�����������f�f�-��	�	�	r'�NNr5r/r'r&rr�s-�������.�.�.�.�.�.r'rc��eZdZ	dd�ZdS)rNc���t|��dt|��dg}|�hdt|��g}|�(|�d�|����|�d��|�|��|}n|�dd��t
�|d�|����||_||_	||_
||_||||f|_dS)	Nz in section r8r9r:z	: option rzOption r)
r;r<r=r>r?rr#r@r2�optionrArBr3)r$r2rFrArBr%r!s       r&r#zDuplicateOptionError.__init__�s����F�|�|�^�T�'�]�]� �"����,�d�6�l�l�;�G��!����/�6�6�v�>�>�?�?�?��N�N�;�'�'�'��N�N�3�����C�C��J�J�q�)�$�$�$�
���t�R�W�W�S�\�\�*�*�*��������������f�f�f�5��	�	�	r'rCr5r/r'r&rr�s-�������6�6�6�6�6�6r'rc��eZdZ	d�ZdS)rc�v�t�|d|�d|����||_||_||f|_dS)Nz
No option z
 in section: �rr#rFr2r3)r$rFr2s   r&r#zNoOptionError.__init__�sJ��
���t�t������)�	*�	*�	*��������W�%��	�	�	r'Nr5r/r'r&rr�s&������+�&�&�&�&�&r'rc��eZdZ	d�ZdS)r	c�l�t�||��||_||_|||f|_dSr rI)r$rFr2r%s    r&r#zInterpolationError.__init__s6��
���t�S�!�!�!��������W�c�*��	�	�	r'Nr5r/r'r&r	r	�s&������:�+�+�+�+�+r'r	c��eZdZ	d�ZdS)rc��d�||||��}t�||||��||_||||f|_dS)Nz�Bad value substitution: option {!r} in section {!r} contains an interpolation key {!r} which is not a valid option name. Raw value: {!r})r=r	r#�	referencer3)r$rFr2�rawvalrNr%s      r&r#z(InterpolationMissingOptionError.__init__sV��!�!'�����F�!K�!K�	�	�#�#�D�&�'�3�?�?�?�"����W�f�i�8��	�	�	r'Nr5r/r'r&rr	s&������K�9�9�9�9�9r'rc��eZdZdS)rN)r+r,r-r/r'r&rrs�������r'rc��eZdZ	d�ZdS)r
c��d�||t|��}t�||||��|||f|_dS)Nz�Recursion limit exceeded in value substitution: option {!r} in section {!r} contains an interpolation key which cannot be substituted in {} steps. Raw value: {!r})r=rr	r#r3)r$rFr2rOr%s     r&r#z InterpolationDepthError.__init__ sU����&���*A��!�!�	�
	�#�#�D�&�'�3�?�?�?��W�f�-��	�	�	r'Nr5r/r'r&r
r
s&������:�.�.�.�.�.r'r
c�T�eZdZ	dd�Zed���Zejd���Zd�ZdS)r
Nc���|r|rtd���|s|std���|r|}t�|d|z��||_g|_|f|_dS)Nz:Cannot specify both `filename' and `source'. Use `source'.z%Required argument `source' not given.z"Source contains parsing errors: %r)�
ValueErrorrr#rA�errorsr3)r$rA�filenames   r&r#zParsingError.__init__-s����	��	��-�.�.�
.��	�&�	��D�E�E�E�
�	��F�
���t�A�F�J�K�K�K��������J��	�	�	r'c�J�	tjdtd���|jS�NzNThe 'filename' attribute will be removed in Python 3.12. Use 'source' instead.���
stacklevel��warnings�warn�DeprecationWarningrAr)s r&rWzParsingError.filename<s2��'��
�
$��1�	
�	
�	
�	
�
�{�r'c�N�	tjdtd���||_dSrYr]�r$�values  r&rWzParsingError.filenameFs5��(��
�
$��1�	
�	
�	
�	
�
����r'c�h�|j�||f��|xjd||fzz
c_dS)Nz
	[line %2d]: %s)rVr<r!)r$rB�lines   r&r<zParsingError.appendPs:������F�D�>�*�*�*����,���~�=�=����r'rC)r+r,r-r#�propertyrW�setterr<r/r'r&r
r
*sr������H�
�
�
�
�����X���_����_��>�>�>�>�>r'r
c��eZdZ	d�ZdS)rc��t�|d|||fz��||_||_||_|||f|_dS)Nz7File contains no section headers.
file: %r, line: %d
%r)rr#rArBrer3)r$rWrBres    r&r#z"MissingSectionHeaderError.__init__XsV��
����G�
�v�t�$�
%�	&�	&�	&���������	��v�t�,��	�	�	r'Nr5r/r'r&rrUs&������J�-�-�-�-�-r'rc�(�eZdZ	d�Zd�Zd�Zd�ZdS)rc��|Sr r/)r$�parserr2rFrc�defaultss      r&�
before_getzInterpolation.before_getl����r'c��|Sr r/�r$rlr2rFrcs     r&�
before_setzInterpolation.before_setoror'c��|Sr r/rqs     r&�before_readzInterpolation.before_readrror'c��|Sr r/rqs     r&�before_writezInterpolation.before_writeuror'N)r+r,r-rnrrrtrvr/r'r&rrisS������L��������������r'rc�B�eZdZ	ejd��Zd�Zd�Zd�ZdS)rz
%\(([^)]+)\)sc	�f�g}|�||||||d��d�|��S�N�r��_interpolate_somer@�r$rlr2rFrcrm�Ls       r&rnzBasicInterpolation.before_get��7�������v�v�q�%��(�A�N�N�N��w�w�q�z�z�r'c��|�dd��}|j�d|��}d|vr'td||�d��fz���|S)Nz%%r�%�1invalid interpolation syntax in %r at position %d��replace�_KEYCRE�subrU�find�r$rlr2rFrc�	tmp_values      r&rrzBasicInterpolation.before_set��p���M�M�$��+�+�	��L�$�$�R��3�3�	��)����+�.3�Y�^�^�C�5H�5H�-I�J�K�K�
K��r'c
��|�||d|���}|tkrt|||���|�r�|�d��}	|	dkr|�|��dS|	dkr'|�|d|	���||	d�}|dd�}
|
dkr |�d��|dd�}n�|
dkr�|j�|��}|�t||d|z���|�|�	d����}||�
��d�}	||}
n!#t$rt||||��d�wxYwd|
vr|�
||||
|||dz��n*|�|
��nt||d	|�����|���dSdS)
NT��raw�fallbackr�rrzrZ�(�'bad interpolation variable reference %rz+'%' must be followed by '%' or '(', found: )�getrr
r�r<r��matchr�optionxform�group�end�KeyErrorrr|)r$rlrF�accum�restr2�map�depthrO�p�c�m�var�vs              r&r|z$BasicInterpolation._interpolate_some�s/�����G�V����E�E���*�*�*�)�&�'�6�B�B�B��"	+��	�	�#���A��1�u�u����T�"�"�"����1�u�u����T�"�1�"�X�&�&�&��A�B�B�x���Q�q�S�	�A��C�x�x����S�!�!�!��A�B�B�x����c����L�&�&�t�,�,���9�2�6�7�A�D�H�J�J�J��(�(�������4�4���A�E�E�G�G�H�H�~��@��C��A�A���@�@�@�9�����6�6�;?�@�@�����!�8�8��*�*�6�6�5�!�+2�C����D�D�D�D��L�L��O�O�O�O�.��G�G�#'�4�*�+�+�+�?�"	+�"	+�"	+�"	+�"	+s�E�E*N�	r+r,r-�re�compiler�rnrrr|r/r'r&rrys[������I��b�j�)�*�*�G����
���'+�'+�'+�'+�'+r'rc�B�eZdZ	ejd��Zd�Zd�Zd�ZdS)rz
\$\{([^}]+)\}c	�f�g}|�||||||d��d�|��Sryr{r}s       r&rnz ExtendedInterpolation.before_get�rr'c��|�dd��}|j�d|��}d|vr'td||�d��fz���|S)Nz$$r�$r�r�r�s      r&rrz ExtendedInterpolation.before_set�r�r'c
�6�|�||d|���}|tkrt|||���|�r`|�d��}	|	dkr|�|��dS|	dkr'|�|d|	���||	d�}|dd�}
|
dkr!|�d��|dd�}�n�|
dk�r�|j�|��}|�t||d|z���|�d���	d	��}||�
��d�}|}
|}	t|��dkr$|�|d��}||}nct|��dkr<|d}
|�|d��}|�|
|d�
��}nt||d|�����nA#tttf$r't!|||d	�|����d�wxYwd|vrA|�|||||
t'|�|
d�
����|dz��n*|�|��nt||d|�����|��^dSdS)
NTr�r�rrzrZ�{r��:)r�zMore than one ':' found: z+'$' must be followed by '$' or '{', found: )r�rr
r�r<r�r�rr��splitr��lenr�r�rrrr@r|�dict�items)r$rlrFr�r�r2r�r�rOr�r�r��path�sect�optr�s                r&r|z'ExtendedInterpolation._interpolate_some�s������G�V����E�E���*�*�*�)�&�'�6�B�B�B��/	+��	�	�#���A��1�u�u����T�"�"�"����1�u�u����T�"�1�"�X�&�&�&��A�B�B�x���Q�q�S�	�A��C�x�x����S�!�!�!��A�B�B�x����c����L�&�&�t�,�,���9�2�6�7�A�D�H�J�J�J��w�w�q�z�z�'�'��,�,���A�E�E�G�G�H�H�~������K��4�y�y�A�~�~�$�0�0��a��9�9����H����T���a���#�A�w��$�0�0��a��9�9��"�J�J�t�S�d�J�;�;���6�"�G�G�=A�T�C�E�E�E���!�.�-�@�K�K�K�9�������$���A�A�FJ�K�K�����!�8�8��*�*�6�3��q�$�+/����T�t��0L�0L�+M�+M�+0�1�9�6�6�6�6��L�L��O�O�O�O�.��G�G�#'�4�*�+�+�+�Y�/	+�/	+�/	+�/	+�/	+s
�	BG$�$>H"Nr�r/r'r&rr�sZ������>��b�j�)�*�*�G����
���4+�4+�4+�4+�4+r'rc�b��eZdZ	ejd��Z�fd�Zd�Zd�Ze	d���Z
�xZS)rz%\(([^)]*)\)s|.c�r��t��j|i|��tjdtd���dS)Nz�LegacyInterpolation has been deprecated since Python 3.2 and will be removed from the configparser module in Python 3.13. Use BasicInterpolation or ExtendedInterpolation instead.rZr[��superr#r^r_r`�r$r3�kwargs�	__class__s   �r&r#zLegacyInterpolation.__init__sO��������$�)�&�)�)�)��
�
G�
�1�		
�	
�	
�	
�	
�	
r'c�@�|}t}|r{|dz}|rqd|vrmtj|j|���}|j�||��}	||z}n1#t$r#}	t||||	jd��d�d}	~	wwxYwn|�{|rd|vrt|||���|S)Nrzz%()rlr)
r�	functools�partial�_interpolation_replacer�r�r�rr3r
)
r$rlr2rFrc�varsrOr�r��es
          r&rnzLegacyInterpolation.before_gets�����'���	��Q�J�E��

�����#�+�D�,G�39�;�;�;����(�(��%�8�8��F�!�D�L�E�E���F�F�F�9��������<�<�AE�F�����F������	��	C�T�U�]�]�)�&�'�6�B�B�B��s�A�
B�A<�<Bc��|Sr r/rqs     r&rrzLegacyInterpolation.before_set.ror'c��|�d��}|�|���Sd|�|��zS)Nrzz%%(%s)s)r�r�)r�rl�ss   r&r�z*LegacyInterpolation._interpolation_replace1s=���K�K��N�N���9��;�;�=�=� ��v�1�1�!�4�4�4�4r')r+r,r-r�r�r�r#rnrr�staticmethodr��
__classcell__�r�s@r&rrs��������@��b�j�+�,�,�G�
�
�
�
�
����(����5�5��\�5�5�5�5�5r'rc
���eZdZ	dZdZdZe��Zej	eej
��Zej	e�d���ej
��Z
ej	e�d���ej
��Zej	d��Zddddddddd	�Zd
edfddd
ddeeed
�d�Zd�Zd�Zd�Zd�Zd�Zd;d�Zd;d�Zd<d�Zd=d�Zd;d�Zdd
ed�d�Zd�Z dd
ed�d�Z!dd
ed�d�Z"dd
ed�d �Z#dd
ed�d!�Z$edd
f�fd"�	Z%d#�Z&d$�Z'd%�Z(d;d&�Z)d>d'�Z*d(�Z+d)�Z,d*�Z-d+�Z.d,�Z/d-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7d7d7d8�d9�Z:e;d:���Z<�xZ=S)?rz�
        \[                                 # [
        (?P<header>.+)                     # very permissive!
        \]                                 # ]
        a�
        (?P<option>.*?)                    # very permissive!
        \s*(?P<vi>{delim})\s*              # any number of space/tab,
                                           # followed by any of the
                                           # allowed delimiters,
                                           # followed by any space/tab
        (?P<value>.*)$                     # everything up to eol
        a�
        (?P<option>.*?)                    # very permissive!
        \s*(?:                             # any number of space/tab,
        (?P<vi>{delim})\s*                 # optionally followed by
                                           # any of the allowed
                                           # delimiters, followed by any
                                           # space/tab
        (?P<value>.*))?$                   # everything up to eol
        z=|:��delimz\STF)�1�yes�true�on�0�no�false�offN��=r�)�#�;)�
delimiters�comment_prefixes�inline_comment_prefixes�strict�empty_lines_in_values�default_section�
interpolation�
convertersc��||_|���|_|���|_t|��|_|���|_t
||	��|j|	<t|��|_|dkr|r|j	n|j
|_n�d�d�|D����}|r>tj|j�|���tj��|_n=tj|j�|���tj��|_t|pd��|_t|pd��|_||_||_||_|	|_|
|_|jt4ur|j|_|j�t9��|_t;|jt8��s$t=dt?|j�������|t4ur|j� |��|r|�!|��dSdS)Nr��|c3�>K�|]}tj|��V��dSr )r��escape)�.0�ds  r&�	<genexpr>z+RawConfigParser.__init__.<locals>.<genexpr>ts*����:�:�!���1���:�:�:�:�:�:r'r�r/zSinterpolation= must be None or an instance of Interpolation; got an object of type )"�_dict�	_sections�	_defaultsr�_converters�_proxiesr�tuple�_delimiters�	OPTCRE_NV�OPTCRE�_optcrer@r�r��_OPT_NV_TMPLr=�VERBOSE�	_OPT_TMPL�_comment_prefixes�_inline_comment_prefixes�_strict�_allow_no_value�_empty_lines_in_valuesr��_interpolation�_UNSET�_DEFAULT_INTERPOLATIONr�
isinstance�	TypeError�type�update�_read_defaults)
r$rm�	dict_type�allow_no_valuer�r�r�r�r�r�r�r�r�s
             r&r#zRawConfigParser.__init__cs.����
���������������+�D�1�1����
�
����
�)5�d�O�)L�)L��
�o�&� ��,�,�����#�#�-;�L�4�>�>���D�L�L����:�:�z�:�:�:�:�:�A��
6�!�z�$�*;�*B�*B��*B�*K�*K�*,�*� 6� 6���� "�z�$�.�*?�*?�a�*?�*H�*H�*,�*� 6� 6���!&�'7�'=�2�!>�!>���(-�.E�.K��(L�(L��%����-���&;��#�,���+�����&�(�(�"&�"=�D����&�"/�/�/�D���$�-�}�=�=�	��F�*.�t�/B�*C�*C�F�F���
��V�#�#���#�#�J�/�/�/��	*�����)�)�)�)�)�	*�	*r'c��|jSr )r�r)s r&rmzRawConfigParser.defaults�s
���~�r'c�P�	t|j�����Sr )�listr��keysr)s r&�sectionszRawConfigParser.sections�s!��A��D�N�'�'�)�)�*�*�*r'c���	||jkrtd|z���||jvrt|���|���|j|<t||��|j|<dS)NzInvalid section name: %r)r�rUr�rr�rr�r4s  r&�add_sectionzRawConfigParser.add_section�sv��	�
�d�*�*�*��7�'�A�B�B�B��d�n�$�$�'��0�0�0�"&�*�*�,�,���w��!-�d�G�!<�!<��
�g���r'c��	||jvSr )r�r4s  r&�has_sectionzRawConfigParser.has_section�s��	��$�.�(�(r'c��		|j|���}n#t$rt|��d�wxYw|�|j��t
|�����Sr )r��copyr�rr�r�rr)r$r2�optss   r&�optionszRawConfigParser.options�sy��G�	4��>�'�*�/�/�1�1�D�D���	4�	4�	4� ��)�)�t�3�	4�������D�N�#�#�#��D�I�I�K�K� � � s�#�>c��	t|tttjf��r|g}tj|��}g}|D]�}	t||���5}|�||��ddd��n#1swxYwYn#t$rY�OwxYwt|tj��rtj
|��}|�|����|S)N)�encoding)r��str�bytes�os�PathLike�io�
text_encoding�open�_read�OSError�fspathr<)r$�	filenamesr�read_okrW�fps      r&�readzRawConfigParser.read�s+��
	��i�#�u�b�k�!:�;�;�	$�"��I��#�H�-�-����!�	%�	%�H�
��(�X�6�6�6�-�"��J�J�r�8�,�,�,�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-����
�
�
���
�����(�B�K�0�0�
/��9�X�.�.���N�N�8�$�$�$�$��s6�B�A;�/B�;A?	�?B�A?	�B�
B�Bc�n�	|�	|j}n#t$rd}YnwxYw|�||��dS)Nz<???>)�name�AttributeErrorr)r$�frAs   r&�	read_filezRawConfigParser.read_file�sZ��	��>�
!������!�
!�
!�
!� ����
!�����
�
�1�f�����s�
���<string>c�\�	tj|��}|�||��dSr )r�StringIOr)r$�stringrA�sfiles    r&�read_stringzRawConfigParser.read_string�s.��5���F�#�#�����u�f�%�%�%�%�%r'�<dict>c�F�	t��}|���D]�\}}t|��}	|�|��n##tt
f$r|jr||vr�YnwxYw|�|��|���D]�\}}|�t|����}|�t|��}|jr||f|vrt|||���|�||f��|�|||������dSr )
�setr�r
rrrUr��addr�r)r$�
dictionaryrA�elements_addedr2r�keyrcs        r&�	read_dictzRawConfigParser.read_dict�sW��	�����'�-�-�/�/�	.�	.�M�G�T��'�l�l�G�
�� � ��)�)�)�)��)�:�6�
�
�
��<��G�~�$=�$=����
����
���w�'�'�'�"�j�j�l�l�
.�
.�
��U��&�&�s�3�x�x�0�0���$���J�J�E��<�E�W�c�N�n�$D�$D�.�w��V�D�D�D��"�"�G�S�>�2�2�2�����#�u�-�-�-�-�
.�	.�	.s�A�A/�.A/c�n�	tjdtd���|�||���dS)NzMThis method will be removed in Python 3.12. Use 'parser.read_file()' instead.rZr[)rA)r^r_r`r)r$rrWs   r&�readfpzRawConfigParser.readfpsF��0��
�
0��1�	
�	
�	
�	
�
	
���r�(��+�+�+�+�+r'�r�r�r�c�H�		|�||��}n#t$r|tur�|cYSwxYw|�|��}	||}n+#t$r|turt||���|cYSwxYw|s|�|S|j�|||||��Sr )�
_unify_valuesrr�r�r�rr�rn)r$r2rFr�r�r�r�rcs        r&r�zRawConfigParser.get
s���
	�	 ��"�"�7�D�1�1�A�A���	 �	 �	 ��6�!�!������		 ����
�!�!�&�)�)��	 ��f�I�E�E���	 �	 �	 ��6�!�!�#�F�G�4�4�4�����		 �����	5�%�-��L��&�1�1�$����23�5�5�
5s��3�3�A�%A=�<A=c�2�||j||fi|����Sr )r�)r$r2�convrFr�s     r&�_getzRawConfigParser._get2s(���t�H�D�H�W�f�7�7��7�7�8�8�8r'c�p�	|j|||f||d�|��S#ttf$r|tur�|cYSwxYw)N)r�r�)r5rrr�)r$r2rFr4r�r�r�r�s        r&�	_get_convzRawConfigParser._get_conv5sp��	��4�9�W�d�F�'��$�'�'�%�'�'�
'���
�.�	�	�	��6�!�!���O�O�O�	���s��5�5c�4�|j||tf|||d�|��S�Nr0)r7�int�r$r2rFr�r�r�r�s       r&�getintzRawConfigParser.getint@s7���t�~�g�v�s�;��$�'/�;�;�39�;�;�	;r'c�4�|j||tf|||d�|��Sr9)r7�floatr;s       r&�getfloatzRawConfigParser.getfloatEs7���t�~�g�v�u�;�#�D�'/�;�;�39�;�;�	;r'c�4�|j|||jf|||d�|��Sr9)r7�_convert_to_booleanr;s       r&�
getbooleanzRawConfigParser.getbooleanJs@���t�~�g�v�t�/G�O�"%�D�8�O�O�GM�O�O�	Or'c�������	�tur t�����S�j����	���j���n*#t$r��jkrt����YnwxYwt������}|r2|���D]\}}|���|��<����fd��|r�fd���fd�|D��S)Nc�L���j���|�|���Sr )r�rn)rFr�r2r$s ���r&�<lambda>z'RawConfigParser.items.<locals>.<lambda>gs)���d�&9�&D�&D�T��V�Q�v�Y��'+�'+�r'c����|Sr r/)rFr�s �r&rEz'RawConfigParser.items.<locals>.<lambda>js���!�F�)�r'c�*��g|]}|�|��f��Sr/r/)r�rF�value_getters  �r&�
<listcomp>z)RawConfigParser.items.<locals>.<listcomp>ks(���G�G�G�6����f�-�-�.�G�G�Gr')
r�r�r�r�rr�r�r�r�rrrr�)
r$r2r�r��	orig_keysr,rcr�rHr�s
``     @@�r&r�zRawConfigParser.itemsOsA�������		��f����7�7�=�=�?�?�"��N���!�!��	.�
�H�H�T�^�G�,�-�-�-�-���	.�	.�	.��$�.�.�.�$�W�-�-�-�/�.�	.����������N�N�	��	1�"�j�j�l�l�
1�
1�
��U�+0��$�"�"�3�'�'�(�(�+�+�+�+�+�+���	4�3�3�3�3�L�G�G�G�G�Y�G�G�G�Gs�
 A+�+$B�Bc�`�	|���D]}||}||=||fcSt�r )rr��r$r,rcs   r&�popitemzRawConfigParser.popitemmsE��	��=�=�?�?�	�	�C���I�E��S�	���:�����r'c�*�|���Sr )�lower)r$�	optionstrs  r&r�zRawConfigParser.optionxformzs����� � � r'c���	|r||jkr|�|��}||jvS||jvrdS|�|��}||j|vp||jvS)NF)r�r�r�r�)r$r2rFs   r&�
has_optionzRawConfigParser.has_option}s���	N��	1�'�T�%9�9�9��%�%�f�-�-�F��T�^�+�+�
�D�N�
*�
*��5��%�%�f�-�-�F��d�n�W�5�5�0����/�
1r'c��	|r|j�||||��}|r||jkr|j}n-	|j|}n#t
$rt
|��d�wxYw|||�|��<dSr )r�rrr�r�r�r�rr�)r$r2rFrc�sectdicts     r&r(zRawConfigParser.set�s�����	:��'�2�2�4��&�38�:�:�E��	8�'�T�%9�9�9��~�H�H�
8��>�'�2�����
8�
8�
8�$�W�-�-�4�7�
8����-2���!�!�&�)�)�*�*�*s�
A�A c�\�	|r!d�|jd��}n
|jd}|jr4|�||j|j���|��|jD]7}|�|||j|���|���8dS)Nz {} r)r=r�r��_write_sectionr�r�r�)r$r�space_around_delimitersr�r2s     r&�writezRawConfigParser.write�s���	�#�	$��
�
�d�.�q�1�2�2�A�A�� ��#�A��>�	?�����D�$8�$(�N�$8�$8�$:�$:�A�
?�
?�
?��~�	D�	D�G�����G� $��w� 7� =� =� ?� ?��
D�
D�
D�
D�	D�	Dr'c��	|�d�|����|D]}\}}|j�||||��}|�|js'|t|���dd��z}nd}|�d�||�����~|�d��dS)Nz[{}]
�
z
	rz{}{}
)rXr=r�rvr�r
r�)r$r�section_name�
section_items�	delimiterr,rcs       r&rVzRawConfigParser._write_section�s���;�
�������.�.�/�/�/�'�	2�	2�J�C���'�4�4�T�<��5:�<�<�E�� ��(<� �!�C��J�J�$6�$6�t�V�$D�$D�D������H�H�X�_�_�S�%�0�0�1�1�1�1�
��������r'c���	|r||jkr|j}n-	|j|}n#t$rt	|��d�wxYw|�|��}||v}|r||=|Sr )r�r�r�r�rr�)r$r2rFrT�existeds     r&�
remove_optionzRawConfigParser.remove_option�s�����	8�'�T�%9�9�9��~�H�H�
8��>�'�2�����
8�
8�
8�$�W�-�-�4�7�
8�����!�!�&�)�)���H�$���	!��� ��s	�
&�Ac�>�	||jv}|r|j|=|j|=|Sr )r�r�)r$r2r_s   r&�remove_sectionzRawConfigParser.remove_section�s2��$��T�^�+���	'���w�'��
�g�&��r'c�z�||jkr$|�|��st|���|j|Sr )r�rr�r��r$r,s  r&�__getitem__zRawConfigParser.__getitem__�s<���$�&�&�&�t�/?�/?��/D�/D�&��3�-�-���}�S�!�!r'c���||vr|||urdS||jkr|j���n(||jvr|j|���|�||i��dSr )r�r��clearr�r-rLs   r&�__setitem__zRawConfigParser.__setitem__�s����$�;�;�4��9��-�-��F��$�&�&�&��N� � �"�"�"�"�
�D�N�
"�
"��N�3��%�%�'�'�'�����U�|�$�$�$�$�$r'c��||jkrtd���|�|��st|���|�|��dS)Nz"Cannot remove the default section.)r�rUrr�rbrds  r&�__delitem__zRawConfigParser.__delitem__�s[���$�&�&�&��A�B�B�B�����$�$�	 ��3�-�-�����C� � � � � r'c�B�||jkp|�|��Sr )r�rrds  r&�__contains__zRawConfigParser.__contains__�s#���d�*�*�C�d�.>�.>�s�.C�.C�Cr'c�0�t|j��dzS)Nrz)r�r�r)s r&�__len__zRawConfigParser.__len__�s���4�>�"�"�Q�&�&r'c�f�tj|jf|j�����Sr )�	itertools�chainr�r�rr)s r&�__iter__zRawConfigParser.__iter__�s(����� 4�6���8K�8K�8M�8M�N�N�Nr'c��	t��}d}d}d}d}d}d}		t|d���D�]�\}}
tj}d�|jD��}|tjkr�|r�i}
|���D]c\}}|
�||dz��}|dkr�%||
|<|dks#|dkr-|
|dz
���rt||��}�d|
}|tjkr|��|j	D]-}|
�
���|��rd}n�.|tjkrd}|
d|��
��}|s?|jr*|�'|�%|r#||�||�
d��ntj}��g|j�|
��}|r|���nd}|�%|r#||kr||�
|�����|}|j�|��}|r�|�d��}||jvr?|jr||vrt-|||���|j|}|�|��n^||jkr|j}nK|���}||j|<t7||��|j|<|�|��d}���|�t;|||
���|j�|��}|r�|�dd	d
��\}}}|s|�|	|||
��}	|� |�!����}|jr||f|vrtE||||���|�||f��|�|�
��}|g||<��|d||<���|�|	|||
��}	���	|�#��n#|�#��wxYw|	r|	�dS)Nrrz)�startc��i|]}|d��S)���r/)r�r�s  r&�
<dictcomp>z)RawConfigParser._read.<locals>.<dictcomp>s��"P�"P�"P�Q�1�b�"P�"P�"Pr'rvr�headerrF�virc)$r(�	enumerate�sys�maxsizer�r�r��isspace�minr��strip�
startswithr�r<�NONSPACECRE�searchrt�SECTCREr�r�r�r�rr)r�r�r�rr�rr��
_handle_errorr��rstripr�_join_multiline_values)r$r�fpnamer+�cursect�sectname�optnamerB�indent_levelr�re�
comment_start�inline_prefixes�
next_prefixes�prefix�indexrc�first_nonspace�cur_indent_level�mory�optvals                      r&rzRawConfigParser._read�s���	� ����������������_	*� )�"�A� 6� 6� 6�\
L�\
L���� #��
�"P�"P�$�2O�"P�"P�"P��#�s�{�2�2��2�$&�M�)8�)>�)>�)@�)@�F�F�
��� $�	�	�&�%��'� :� :�� �B�;�;�$�05�
�f�-� �A�:�:�%�!�)�)��U�1�W�
�8M�8M�8O�8O�)�,/�
�u�,E�,E�M��&3�O�$�s�{�2�2��2�#�4���F��z�z�|�|�.�.�v�6�6��()�
����!�C�K�/�/�$(�M��^�m�^�,�2�2�4�4�����2�
3�*�1�#�/�#�0�#�G�,�8�#�G�,�3�3�B�7�7�7��(+�{���!%�!1�!8�!8��!>�!>��=K�#R�>�#7�#7�#9�#9�#9�QR� ��'�G�'�$�|�3�3��G�$�+�+�E�2�2�2�2�$4�L���+�+�E�2�2�B��.L�#%�8�8�H�#5�#5��#�t�~�5�5�#�|�D��N�0J�0J�&;�H�f�<B�'D�'D�!D�&*�n�X�&>�G�*�.�.�x�8�8�8�8�%��)=�=�=�&*�n�G�G�&*�j�j�l�l�G�7>�D�N�8�4�6B�4��6R�6R�D�M�(�3�*�.�.�x�8�8�8�"&��� ��7����M�M�M�"�\�/�/��6�6���L�24�(�(�8�T�7�2S�2S�/�G�R��#*�P�$(�$6�$6�q�&�&�$�$O�$O��&*�&6�&6�w�~�~�7G�7G�&H�&H�G� $��K�!)�7� 3�~� E� E�&:�8�W�;A�6�'K�'K�!K�*�.�.��'�/B�C�C�C� &�1�)/������4:�8��� 0� 0�48��� 0� 0�!%� 2� 2�1�f�f�d� K� K�A�A�y\
L�|
�'�'�)�)�)�)��D�'�'�)�)�)�)�����	��G�	�	s�N.O!�!O7c�x�|j|jf}tj|f|j�����}|D]{\}}|���D]a\}}t
|t��r'd�|���	��}|j
�||||��||<�b�|dS)NrZ)r�r�rprqr�r�r�rr@r�r�rt)r$rm�all_sectionsr2r
r�vals       r&r�z&RawConfigParser._join_multiline_valuesps����'���7�� ���{�'+�~�';�';�'=�'=�?�?�� ,�	K�	K��G�W�$�]�]�_�_�
K�
K�	��c��c�4�(�(�2��)�)�C�.�.�/�/�1�1�C� $� 3� ?� ?��@G�@D�c�!K�!K���
�
�
K�	K�	Kr'c�v�	|���D]"\}}||j|�|��<�#dSr )r�r�r�)r$rmr,rcs    r&r�zRawConfigParser._read_defaults|sK��	+�"�.�.�*�*�	:�	:�J�C��49�D�N�4�+�+�C�0�0�1�1�	:�	:r'c�n�|st|��}|�|t|����|Sr )r
r<r;)r$�excr�rBres     r&r�zRawConfigParser._handle_error�s6���	'��v�&�&�C��
�
�6�4��:�:�&�&�&��
r'c�6�	i}	|j|}n+#t$r||jkrt|��d�YnwxYwi}|rC|���D].\}}|�t|��}|||�|��<�/t|||j��Sr )	r�r�r�rr�r
r��	_ChainMapr�)r$r2r��sectiondict�vardictr,rcs       r&r2zRawConfigParser._unify_values�s���	���	8��.��1�K�K���	8�	8�	8��$�.�.�.�$�W�-�-�4�7�/�.�	8�������	7�"�j�j�l�l�
7�
7�
��U��$���J�J�E�16���(�(��-�-�.�.���+�t�~�>�>�>s�
�%;�;c��	|���|jvrtd|z���|j|���S)NzNot a boolean: %s)rO�BOOLEAN_STATESrUrbs  r&rAz#RawConfigParser._convert_to_boolean�sG��	��;�;�=�=�� 3�3�3��0�5�8�9�9�9��"�5�;�;�=�=�1�1r'r)r2rFrcc��	t|t��std���t|t��std���|jr|r&t|t��std���dSdS)Nzsection names must be stringszoption keys must be stringszoption values must be strings)r�r
r�r�)r$r2rFrcs    r&�_validate_value_typesz%RawConfigParser._validate_value_types�s���	��'�3�'�'�	=��;�<�<�<��&�#�&�&�	;��9�:�:�:��#�	A�u�	A��e�S�)�)�
A�� ?�@�@�@�
A�
A�	A�	Ar'c��|jSr )r�r)s r&r�zRawConfigParser.converters�s����r'r )r )r&)T)>r+r,r-�
_SECT_TMPLr�r�rr�r�r�r�r�r=r�r�r�r��
_default_dictrr�r#rmrrrr
rrr%r-r/r�r5r7r<r?rBr�rMr�rRr(rXrVr`rbrerhrjrlrnrrrr�r�r�r2rAr�rfr�r�r�s@r&rr:s?�������6��J�
�I��L�+�]�_�_���b�j��R�Z�0�0�G�
�R�Z�	�(�(�u�(�5�5�r�z�
B�
B�F���
�<�.�.�U�.�;�;�R�Z�H�H�I��"�*�U�#�#�K���d�$� ���e�M�M�N�!%�
� %�+*�5?�",�d��D�!,�%�&�+*�+*�+*�+*�+*�Z���+�+�+�
=�=�=�)�)�)�!�!�!�����6
�
�
�
�&�&�&�&�
.�.�.�.�>,�,�,�,�+0�d�V�#5�#5�#5�#5�#5�J9�9�9�7<�$�!������.3���;�;�;�;�;�
05�4� �;�;�;�;�;�
27�T�"�O�O�O�O�O�
#��D�H�H�H�H�H�H�<���!�!�!�1�1�1�3�3�3�3�D�D�D�D�(���
�
�
����"�"�"�
%�%�%�!�!�!�D�D�D�'�'�'�O�O�O�z�z�z�x
K�
K�
K�:�:�:����?�?�?�(2�2�2�02�"�B�A�A�A�A�A�*� � ��X� � � � � r'rc�F��eZdZ	e��Zd�fd�	Z�fd�Zd�Z�xZS)rNc�~��	|�||���t���|||��dS�N)rFrc)r�r�r()r$r2rFrcr�s    �r&r(zConfigParser.set�sA���	.��"�"�&��"�>�>�>�
�����G�V�U�+�+�+�+�+r'c�x��	|�|���t���|��dS)N)r2)r�r�r)r$r2r�s  �r&rzConfigParser.add_section�s?���	�	
�"�"�7�"�3�3�3�
�����G�$�$�$�$�$r'c��		|j}t��|_|�|j|i��||_dS#||_wxYwr )r�rr-r�)r$rm�hold_interpolations   r&r�zConfigParser._read_defaults�s^��	�
	5�!%�!4��"/�/�/�D���N�N�D�0�(�;�<�<�<�"4�D�����"4�D��4�4�4�4s�6A�	Ar )	r+r,r-rr�r(rr�r�r�s@r&rr�sw�������2�/�/�1�1��,�,�,�,�,�,�%�%�%�%�%�5�5�5�5�5�5�5r'rc� ��eZdZ	�fd�Z�xZS)rc�r��t��j|i|��tjdtd���dS)Nz�The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in Python 3.12. Use ConfigParser directly instead.rZr[r�r�s   �r&r#zSafeConfigParser.__init__�sN��������$�)�&�)�)�)��
�
2�
�1�		
�	
�	
�	
�	
�	
r')r+r,r-r#r�r�s@r&rr�s;�������B�
�
�
�
�
�
�
�
�
r'rc��eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zed
���Z
ed���Zdd
ddd�d�ZdS)rc��	||_||_|jD]A}d|z}tj|jt
||�����}t|||���BdS)Nr���_impl)�_parser�_namer�r�r�r��getattr�setattr)r$rlrr4r,�getters      r&r#zSectionProxy.__init__�sn��N������
��%�	'�	'�D��$�,�C��&�t�x�w�v�s�7K�7K�L�L�L�F��D�#�v�&�&�&�&�	'�	'r'c�6�d�|j��S)Nz
<Section: {}>)r=r�r)s r&r*zSectionProxy.__repr__�s���%�%�d�j�1�1�1r'c��|j�|j|��st|���|j�|j|��Sr )r�rRr�r�r�rds  r&rezSectionProxy.__getitem__�sD���|�&�&�t�z�3�7�7�	 ��3�-�-���|����
�C�0�0�0r'c�|�|j�||���|j�|j||��Sr�)r�r�r(r�rLs   r&rhzSectionProxy.__setitem__�s9����*�*�#�U�*�C�C�C��|����
�C��7�7�7r'c��|j�|j|��r |j�|j|��st	|���dSr )r�rRr�r`r�rds  r&rjzSectionProxy.__delitem__sP����'�'��
�C�8�8�	 ���*�*�4�:�s�;�;�	 ��3�-�-��	 �	 r'c�B�|j�|j|��Sr )r�rRr�rds  r&rlzSectionProxy.__contains__s���|�&�&�t�z�3�7�7�7r'c�D�t|�����Sr )r��_optionsr)s r&rnzSectionProxy.__len__
s���4�=�=�?�?�#�#�#r'c�N�|������Sr )r�rrr)s r&rrzSectionProxy.__iter__
s���}�}���'�'�)�)�)r'c��|j|jjkr|j�|j��S|j���Sr )r�r�r�r
rmr)s r&r�zSectionProxy._optionss@���:���5�5�5��<�'�'��
�3�3�3��<�(�(�*�*�*r'c��|jSr )r�r)s r&rlzSectionProxy.parsers���|�r'c��|jSr )r�r)s r&rzSectionProxy.names���z�r'NF)r�r�r�c�F�	|s|jj}||j|f|||d�|��Sr9)r�r�r�)r$rFr�r�r�r�r�s       r&r�zSectionProxy.get sN��	��	%��L�$�E��u�T�Z��2�S�t�&�2�2�*0�2�2�	2r'r )r+r,r-r#r*rerhrjrlrnrrr�rfrlrr�r/r'r&rr�s�������5�'�'�'�2�2�2�1�1�1�
8�8�8� � � �
8�8�8�$�$�$�*�*�*�+�+�+�����X������X��
2��D��
2�
2�
2�
2�
2�
2�
2r'rc�T�eZdZ	ejd��Zd�Zd�Zd�Zd�Z	d�Z
d�ZdS)	rz^get(?P<name>.+)$c��||_i|_t|j��D]^}|j�|��}|r"tt
|j|����s�Ad|j|�d��<�_dS)Nr)r��_data�dir�	GETTERCREr��callabler�r�)r$rlr�r�s    r&r#zConverterMapping.__init__:s��������
��$�,�'�'�	/�	/�F���$�$�V�,�,�A��
�H�W�T�\�6�%B�%B�C�C�
��*.�D�J�q�w�w�v���'�'�		/�	/r'c��|j|Sr )r�rds  r&rezConverterMapping.__getitem__Cs���z�#��r'c	���	d|z}n>#t$r1td�|t|�������wxYw|dkrtd���||j|<tj|jj|���}||_	t|j||��|j���D].}tj|j|���}t|||���/dS)Nr�zIncompatible key: {} (type: {})z)Incompatible key: cannot use "" as a name)r4r�)
r�rUr=r�r�r�r�r�r7�	converterr��valuesr�)r$r,rc�k�func�proxyr�s       r&rhzConverterMapping.__setitem__Fs��	8����A�A���	8�	8�	8�� � &��s�D��I�I� 6� 6�8�8�
8�	8����
��:�:��H�I�I�I���
�3��� ���!7�e�D�D�D��������a��&�&�&��\�(�(�*�*�	&�	&�E��&�u�y��=�=�=�F��E�1�f�%�%�%�%�	&�	&s	��;Ac��	d|pdz}n#t$rt|���wxYw|j|=tj|jf|j�����D]#}	t||���#t$rY� wxYwdS)Nr�)	r�r�r�rprqr�r��delattrr)r$r,r��insts    r&rjzConverterMapping.__delitem__Vs���	 �����%�A�A���	 �	 �	 ��3�-�-��	 �����J�s�O��O�T�\�O�T�\�5H�5H�5J�5J�K�K�	�	�D�
���a� � � � ��!�
�
�
���
����	�	s�
�$�$A5�5
B�Bc�*�t|j��Sr )�iterr�r)s r&rrzConverterMapping.__iter__ds���D�J���r'c�*�t|j��Sr )r�r�r)s r&rnzConverterMapping.__len__gs���4�:���r'N)r+r,r-r�r�r�r#rerhrjrrrnr/r'r&rr0s����������
�/�0�0�I�/�/�/����&�&�&� ��� � � �����r'r)(�collections.abcr�collectionsrr�r�rrprr�r{r^�__all__r�r�rrr"rrrrrr	rrr
r
r�objectr�rrrrrrrrrr/r'r&�<module>r�s!��K�Z+�*�*�*�*�*�-�-�-�-�-�-�����	�	�	�	�����	�	�	�	�	�	�	�	�
�
�
�
�����5�5�5���
�����

�
�
�
�
�I�
�
�
� � � � � �U� � � �.�.�.�.�.�E�.�.�.�46�6�6�6�6�5�6�6�6�6&�&�&�&�&�E�&�&�&�+�+�+�+�+��+�+�+�	9�	9�	9�	9�	9�&8�	9�	9�	9������1����
.�
.�
.�
.�
.�0�
.�
.�
.�(>�(>�(>�(>�(>�5�(>�(>�(>�V-�-�-�-�-��-�-�-�"
�����
�
�
�
�
�
�
�
� E+�E+�E+�E+�E+��E+�E+�E+�PG+�G+�G+�G+�G+�M�G+�G+�G+�T,5�,5�,5�,5�,5�-�,5�,5�,5�^@
 �@
 �@
 �@
 �@
 �n�@
 �@
 �@
 �F5�5�5�5�5�?�5�5�5�@

�

�

�

�

�|�

�

�

�C2�C2�C2�C2�C2�>�C2�C2�C2�L8�8�8�8�8�~�8�8�8�8�8r'