§
    u”j6  ã                  ój  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZmZ  ej        e ¦  «        Z! G d„ dej"        ¦  «        Z# G d„ de#¦  «        Z$ G d„ dej%        ¦  «        Z& G d„ de&¦  «        Z'dS )zBase option parser setupé    )ÚannotationsN)Ú	Generator)Úsuppress)ÚAnyÚNoReturn©Úescape)ÚTheme)ÚUNKNOWN_ERROR)ÚConfigurationÚConfigurationError)Ú
PipConsole)Úredact_auth_from_urlÚ	strtoboolc                  ó€   ‡ — e Zd ZdZdddddœZddd	œZd"ˆ fd„Zd#d„Zd#d„Zd$d„Z	d%d„Z
d&d„Zd'd„Zd#ˆ fd„Zd(d!„Zˆ xZS ))ÚPrettyHelpFormatterz4A prettier/less verbose help formatter for optparse.ÚgreenÚcyanz	bold blueÚyellow)zoptparse.shortargszoptparse.longargszoptparse.groupszoptparse.metavarÚ	shortargsÚlongargs)z\s(-{1}[\w]+[\w-]*)z\s(-{2}[\w]+[\w-]*)Úargsr   ÚkwargsÚreturnÚNonec                óŒ   •— d|d<   d|d<   t          j        ¦   «         d         dz
  |d<    t          ¦   «         j        |i |¤Ž d S )Né   Úmax_help_positioné   Úindent_incrementr   é   Úwidth)ÚshutilÚget_terminal_sizeÚsuperÚ__init__)Úselfr   r   Ú	__class__s      €úg/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/cli/parser.pyr&   zPrettyHelpFormatter.__init__)   sW   ø€ à&(ˆÐ"Ñ#Ø%&ˆÐ!Ñ"Ý Ô2Ñ4Ô4°QÔ7¸!Ñ;ˆˆw‰Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)ó    Úoptionúoptparse.OptionÚstrc                ó  — g }|j         r$|                     d|j         d         › d�¦  «         |j        r$|                     d|j        d         › d�¦  «         t          |¦  «        dk    r|                     dd¦  «         |                     ¦   «         ra|j        €J ‚|j        p|j                             ¦   «         }|                     dt          |                     ¦   «         ¦  «        › d	�¦  «         d
 
                    |¦  «        S )z=Return a comma-separated list of option strings and metavars.z[optparse.shortargs]r   z[/]z[optparse.longargs]r   z, Nz [optparse.metavar]<z>[/]Ú )Ú_short_optsÚappendÚ
_long_optsÚlenÚinsertÚtakes_valueÚdestÚmetavarÚlowerr	   Újoin)r'   r+   Úoptsr7   s       r)   Úformat_option_stringsz)PrettyHelpFormatter.format_option_strings0   s	  € àˆàÔð 	KØ�KŠKÐI¨vÔ/AÀ!Ô/DÐIÐIÐIÑJÔJÐJØÔð 	IØ�KŠKÐG¨fÔ.?ÀÔ.BÐGÐGÐGÑHÔHÐHÝˆt‰9Œ9�qŠ=ˆ=Ø�KŠK˜˜4Ñ Ô Ð à×ÒÑÔð 	NØ”;Ð*Ð*Ð*Ø”nÐ;¨¬×(9Ò(9Ñ(;Ô(;ˆGØ�KŠKÐL­v°g·m²m±o´oÑ/FÔ/FÐLÐLÐLÑMÔMÐMà�wŠw�t‰}Œ}Ðr*   c                ó¾  ‡ — g }‰ j         |         }‰ j        ‰ j        z
  dz
  }t          j        dd|¦  «        }t          |¦  «        t          |¦  «        z
  }t          |¦  «        |k    rd‰ j        d|fz  }‰ j        }nd‰ j        d||z   |fz  }d}|                     |¦  «         |j        rz‰                      |¦  «        }t          j
        |‰ j        ¦  «        }	|                     d|d|	d         fz  ¦  «         |                     ˆ fd„|	dd	…         D ¦   «         ¦  «         n!|d
         dk    r|                     d¦  «         d                     |¦  «        S )z$Overridden method with Rich support.r!   z(\[[a-z.]+\])|(\[\/\])r/   ú%*s%s
z	%*s%-*s  r   c                ó*   •— g | ]}d ‰j         d|fz  ‘ŒS )r=   r/   )Úhelp_position)Ú.0Úliner'   s     €r)   ú
<listcomp>z5PrettyHelpFormatter.format_option.<locals>.<listcomp>Y   s8   ø€ ð 7ð 7ð 7Ø#ð %¨Ô(:¸BÀÐ'EÑEð 7ð 7ð 7r*   r   Néÿÿÿÿú
)Úoption_stringsr?   Úcurrent_indentÚreÚsubr3   r1   ÚhelpÚexpand_defaultÚtextwrapÚwrapÚ
help_widthÚextendr9   )
r'   r+   Úresultr:   Ú	opt_widthÚstrippedÚstyle_tag_lengthÚindent_firstÚ	help_textÚ
help_liness
   `         r)   Úformat_optionz!PrettyHelpFormatter.format_optionB   sŽ  ø€ ð ˆØÔ" 6Ô*ˆØÔ&¨Ô)<Ñ<¸qÑ@ˆ	õ ”6Ð3°R¸Ñ>Ô>ˆÝ˜t™9œ9¥s¨8¡}¤}Ñ4ÐÝˆx‰=Œ=˜9Ò$Ð$Ø Ô 3°R¸Ð>Ñ>ˆDØÔ-ˆLˆLà $Ô"5°rØ"+Ð.>Ñ">Àð"Fñ FˆDàˆLØ�Š�dÑÔÐØŒ;ð 	 Ø×+Ò+¨FÑ3Ô3ˆIÝ!œ y°$´/ÑBÔBˆJØ�MŠM˜) |°R¸ÀA¼Ð&GÑGÑHÔHÐHØ�MŠMð 7ð 7ð 7ð 7Ø'1°!°"°"¤~ð7ñ 7ô 7ñ 8ô 8ð 8ð 8à�"ŒX˜ÒÐØ�MŠM˜$ÑÔÐØ�wŠw�v‰ŒÐr*   Úheadingc                ó<   — |dk    rdS dt          |¦  «        z   dz   S )NÚOptionsr/   z[optparse.groups]z:[/]
r   )r'   rW   s     r)   Úformat_headingz"PrettyHelpFormatter.format_heading`   s(   € Ø�iÒÐØ�2Ø"¥V¨G¡_¤_Ñ4°xÑ?Ð?r*   Úusagec                ó|   — |                       t          j        |¦  «        d¦  «        }dt          |¦  «        › d�}|S )zz
        Ensure there is only one newline between usage and the first heading
        if there is no description.
        ú  z
[optparse.groups]Usage:[/] rD   )Úindent_linesrK   Údedentr	   )r'   r[   ÚcontentsÚmsgs       r)   Úformat_usagez PrettyHelpFormatter.format_usagee   s@   € ð
 ×$Ò$¥X¤_°UÑ%;Ô%;¸TÑBÔBˆØB­f°XÑ.>Ô.>ÐBÐBÐBˆØˆ
r*   Údescriptionú
str | Nonec                óô   — |rut          | j        d¦  «        rd}nd}|                     d¦  «        }|                     ¦   «         }|                      t          j        |¦  «        d¦  «        }|› d|› d�}|S dS )NÚmainz[optparse.groups]Commands:[/]z [optparse.groups]Description:[/]rD   r]   r/   )ÚhasattrÚparserÚlstripÚrstripr^   rK   r_   )r'   rc   Úlabels      r)   Úformat_descriptionz&PrettyHelpFormatter.format_descriptionn   s�   € àð 	Ý�t”{ FÑ+Ô+ð ;Ø7��à:�ð &×,Ò,¨TÑ2Ô2ˆKà%×,Ò,Ñ.Ô.ˆKà×+Ò+­H¬O¸KÑ,HÔ,HÈ$ÑOÔOˆKØ"Ð5Ð5 kÐ5Ð5Ð5ˆKØÐà�2r*   Úepilogc                ó(   — |rt          |¦  «        S dS )Nr/   r   )r'   rm   s     r)   Úformat_epilogz!PrettyHelpFormatter.format_epilog�   s   € àð 	Ý˜&‘>”>Ð!à�2r*   c                óÖ   •— t          t          ¦   «                              |¦  «        ¦  «        }| j                             ¦   «         D ]\  }}t          j        |d|› d�|¦  «        }Œ |S )z@Overridden HelpFormatter.expand_default() which colorizes flags.z
[optparse.z] \1[/])r	   r%   rJ   Ú
highlightsÚitemsrG   rH   )r'   r+   rI   ÚregexÚstyler(   s        €r)   rJ   z"PrettyHelpFormatter.expand_defaultˆ   sk   ø€ å•e‘g”g×,Ò,¨VÑ4Ô4Ñ5Ô5ˆØ œO×1Ò1Ñ3Ô3ð 	Eð 	E‰LˆE�5Ý”6˜%Ð!=¨uÐ!=Ð!=Ð!=¸tÑDÔDˆDˆDØˆr*   ÚtextÚindentc                óp   ‡— ˆfd„|                      d¦  «        D ¦   «         }d                     |¦  «        S )Nc                ó   •— g | ]}‰|z   ‘ŒS © ry   )r@   rA   rv   s     €r)   rB   z4PrettyHelpFormatter.indent_lines.<locals>.<listcomp>�   s   ø€ Ð@Ð@Ð@ t�V˜d‘]Ð@Ð@Ð@r*   rD   )Úsplitr9   )r'   ru   rv   Ú	new_liness     ` r)   r^   z PrettyHelpFormatter.indent_lines�   s:   ø€ Ø@Ð@Ð@Ð@¨t¯zªz¸$Ñ/?Ô/?Ð@Ñ@Ô@ˆ	Ø�yŠy˜Ñ#Ô#Ð#r*   )r   r   r   r   r   r   ©r+   r,   r   r-   )rW   r-   r   r-   )r[   r-   r   r-   )rc   rd   r   r-   )rm   rd   r   r-   )ru   r-   rv   r-   r   r-   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústylesrq   r&   r;   rV   rZ   rb   rl   ro   rJ   r^   Ú__classcell__©r(   s   @r)   r   r      s  ø€ € € € € Ø>Ð>ð &Ø#Ø&Ø$ð	ð €Fð !,Ø *ðð €Jð
*ð *ð *ð *ð *ð *ðð ð ð ð$ð ð ð ð<@ð @ð @ð @ð
ð ð ð ðð ð ð ð&ð ð ð ðð ð ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $r*   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚUpdatingDefaultsHelpFormatterzÚCustom help formatter for use in ConfigOptionParser.

    This is updates the defaults before expanding them, allowing
    them to show up correctly in the help listing.

    Also redact auth from url type options
    r+   r,   r   r-   c                óþ  •— d }| j         �mt          | j         t          ¦  «        sJ ‚| j                              | j         j        ¦  «         |j        €J ‚| j         j                             |j        ¦  «        }t          ¦   «                              |¦  «        }|rb|j	        dk    rWt          |t          ¦  «        r|g}t          |t          ¦  «        sg }|D ]%}|                     |t          |¦  «        ¦  «        }Œ&|S )NÚURL)rh   Ú
isinstanceÚConfigOptionParserÚ_update_defaultsÚdefaultsr6   Úgetr%   rJ   r7   r-   ÚlistÚreplacer   )r'   r+   Údefault_valuesrT   Úvalr(   s        €r)   rJ   z,UpdatingDefaultsHelpFormatter.expand_default�   s  ø€ ØˆØŒ;Ð"Ý˜dœkÕ+=Ñ>Ô>Ð>Ð>Ð>ØŒK×(Ò(¨¬Ô)=Ñ>Ô>Ð>Ø”;Ð*Ð*Ð*Ø!œ[Ô1×5Ò5°f´kÑBÔBˆNÝ‘G”G×*Ò*¨6Ñ2Ô2ˆ	àð 		N˜fœn°Ò5Ð5Ý˜.­#Ñ.Ô.ð 2Ø"0Ð!1�õ ˜n­dÑ3Ô3ð $Ø!#�à%ð Nð N�Ø%×-Ò-¨cÕ3GÈÑ3LÔ3LÑMÔM�	�	àÐr*   r|   )r}   r~   r   r€   rJ   r‚   rƒ   s   @r)   r…   r…   ”   sG   ø€ € € € € ðð ðð ð ð ð ð ð ð ð ð r*   r…   c                  ó.   — e Zd Zdd„Zedd
„¦   «         ZdS )ÚCustomOptionParserÚidxÚintr   r   r   r   úoptparse.OptionGroupc                óˆ   —  | j         |i |¤Ž}| j                             ¦   «          | j                             ||¦  «         |S )z*Insert an OptionGroup at a given position.)Úadd_option_groupÚoption_groupsÚpopr4   )r'   r“   r   r   Úgroups        r)   Úinsert_option_groupz&CustomOptionParser.insert_option_groupµ   sN   € ð &�Ô% tÐ6¨vÐ6Ð6ˆàÔ×ÒÑ Ô Ð ØÔ×!Ò! # uÑ-Ô-Ð-àˆr*   úlist[optparse.Option]c                ól   — | j         dd…         }| j        D ]}|                     |j         ¦  «         Œ|S )z<Get a list of all options, including those in option groups.N)Úoption_listr˜   rN   )r'   ÚresÚis      r)   Úoption_list_allz"CustomOptionParser.option_list_allÀ   sC   € ð Ô˜q˜q˜qÔ!ˆØÔ#ð 	&ð 	&ˆAØ�JŠJ�q”}Ñ%Ô%Ð%Ð%àˆ
r*   N)r“   r”   r   r   r   r   r   r•   )r   rœ   )r}   r~   r   r›   Úpropertyr¡   ry   r*   r)   r’   r’   ´   sH   € € € € € ð	ð 	ð 	ð 	ð ðð ð ñ „Xðð ð r*   r’   c                  ó\   ‡ — e Zd ZdZddœd ˆ fd„Zd!d„Zd"d„Zd#d„Zd$d„Zd%d„Z	d&d'd„Z
ˆ xZS )(r‰   zsCustom option parser which updates its defaults by checking the
    configuration files and environmental variablesF)Úisolatedr   r   Únamer-   r¤   Úboolr   r   r   c               ó‚   •— || _         t          |¦  «        | _        | j         sJ ‚ t          ¦   «         j        |i |¤Ž d S ©N)r¥   r   Úconfigr%   r&   )r'   r¥   r¤   r   r   r(   s        €r)   r&   zConfigOptionParser.__init__Î   sK   ø€ ð ˆŒ	Ý# HÑ-Ô-ˆŒàŒyÐÐÐØ�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r*   r+   r,   Úkeyr�   c                ó¶   — 	 |                      ||¦  «        S # t          j        $ r1}t          d|› �¦  «         t	          j        d¦  «         Y d }~d S d }~ww xY w)Nz(An error occurred during configuration: é   )Úcheck_valueÚoptparseÚOptionValueErrorÚprintÚsysÚexit)r'   r+   rª   r�   Úexcs        r)   Úcheck_defaultz ConfigOptionParser.check_defaultÛ   so   € ð	Ø×%Ò% c¨3Ñ/Ô/Ð/øÝÔ(ð 	ð 	ð 	ÝÐB¸SÐBÐBÑCÔCÐCÝŒH�Q‰KŒKˆKˆKˆKˆKˆKˆKˆKøøøøð	øøøs   ‚ ˜A§&AÁAú&Generator[tuple[str, Any], None, None]c              #  ó<  ‡	K  — d| j         dg}d„ |D ¦   «         Š	| j                             ¦   «         D ]G\  }}|                     ¦   «         D ]-\  }}|                     dd¦  «        \  }}||v r|‰	|         |<   Œ.ŒHˆ	fd„|D ¦   «         }|D ]}||         E d {V —† Œd S )NÚglobalz:env:c                ó   — i | ]}|i “ŒS ry   ry   )r@   r¥   s     r)   ú
<dictcomp>zGConfigOptionParser._get_ordered_configuration_items.<locals>.<dictcomp>ë   s'   € ð 9
ð 9
ð 9
ØˆD�"ð9
ð 9
ð 9
r*   ú.r   c                óZ   •— i | ]'}|d „ ‰|                               ¦   «         D ¦   «         “Œ(S )c                ó    — g | ]\  }}|¯||f‘ŒS ry   ry   )r@   ÚkÚvs      r)   rB   zRConfigOptionParser._get_ordered_configuration_items.<locals>.<dictcomp>.<listcomp>ù   s%   € ÐLÐLÐL™d˜a È!ÐL�A�q�6ÐLÐLÐLr*   )rr   )r@   r¥   Úsection_items_dicts     €r)   r¹   zGConfigOptionParser._get_ordered_configuration_items.<locals>.<dictcomp>ø   sL   ø€ ð 
ð 
ð 
àð ÐLÐLÐ&8¸Ô&>×&DÒ&DÑ&FÔ&FÐLÑLÔLð
ð 
ð 
r*   )r¥   r©   rr   rz   )
r'   Úoverride_orderÚ_ÚvalueÚsection_keyr�   Úsectionrª   Úsection_itemsr¿   s
            @r)   Ú _get_ordered_configuration_itemsz3ConfigOptionParser._get_ordered_configuration_itemsâ   s  øè è € ð # D¤I¨wÐ7ˆð
9
ð 9
Ø!/ð9
ñ 9
ô 9
Ðð œ×)Ò)Ñ+Ô+ð 	;ð 	;‰HˆAˆuØ$)§K¢K¡M¤Mð ;ð ;Ñ �˜Sà*×0Ò0°°aÑ8Ô8‘�˜Ø˜nÐ,Ð,Ø7:Ð& wÔ/°Ñ4øð	;ð
ð 
ð 
ð 
à&ð
ñ 
ô 
ˆð &ð 	.ð 	.ˆGØ$ WÔ-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð	.ð 	.r*   r‹   údict[str, Any]c                óÊ  ‡ ‡‡— t          j        ‰ j        ¦  «        ‰ _        t	          ¦   «         }‰                      ¦   «         D �]ù\  Š}‰                      d‰z   ¦  «        Š‰€Œ!‰j        €J ‚‰j        dv r>	 t          |¦  «        }�nª# t          $ r ‰                      |› d‰› d�¦  «         Y �n‚w xY w‰j        dk    r­t          t          ¦  «        5  t          |¦  «        }ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  t          |¦  «        }ddd¦  «         n# 1 swxY w Y   t          |t          ¦  «        r|dk     r‰                      |› d‰› d�¦  «         nÆ‰j        d	k    r%|                     ¦   «         }ˆˆˆ fd
„|D ¦   «         }n–‰j        dk    rt‰j        €J ‚|                     ‰j        ¦  «         ‰                     ¦   «         }‰                     ||¦  «        }‰j        pd}‰j        pi } ‰j        ‰||‰ g|¢R i |¤Ž n‰                      ‰‰|¦  «        }||‰j        <   �Œû|D ]Št/          ‰ j        ‰¦  «        |‰<   Œd‰ _        |S )z¢Updates the given defaults with values from the config files and
        the environ. Does a little special handling for certain types of
        options (lists).z--N)Ú
store_trueÚstore_falsez is not a valid value for zO option, please specify a boolean value like yes/no, true/false or 1/0 instead.Úcountr   z† option, please instead specify either a non-negative integer or a boolean value like yes/no or false/true which is equivalent to 1/0.r1   c                ó>   •— g | ]}‰                      ‰‰|¦  «        ‘ŒS ry   )r´   )r@   r¾   rª   r+   r'   s     €€€r)   rB   z7ConfigOptionParser._update_defaults.<locals>.<listcomp>-  s+   ø€ ÐGÐGÐG¸a�t×)Ò)¨&°#°qÑ9Ô9ÐGÐGÐGr*   Úcallbackry   )r®   ÚValuesr‹   ÚvaluesÚsetrÆ   Ú
get_optionr6   Úactionr   Ú
ValueErrorÚerrorr   r”   rˆ   rz   rÍ   ÚaddÚget_opt_stringÚconvert_valueÚcallback_argsÚcallback_kwargsr´   Úgetattr)	r'   r‹   Ú	late_evalr�   Úopt_strr   r   rª   r+   s	   `      @@r)   rŠ   z#ConfigOptionParser._update_defaults  sQ  øøø€ õ ”o d¤mÑ4Ô4ˆŒÝ‘E”Eˆ	à×=Ò=Ñ?Ô?ð 0	(ñ 0	(‰HˆC�à—_’_ T¨C¡ZÑ0Ô0ˆFð
 ˆ~Øà”;Ð*Ð*Ð*àŒ}Ð =Ð=Ð=ðÝ# C™.œ.�C‘CøÝ!ð ð ð Ø—J’JØð 5ð 5¸#ð 5ð 5ð 5ñô ð ð ñ ðøøøð ” 'Ò)Ð)Ý�jÑ)Ô)ð )ð )Ý# C™.œ.�Cð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å�jÑ)Ô)ð #ð #Ý˜c™(œ(�Cð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å! #¥sÑ+Ô+ð ¨s°Qªw¨wØ—J’JØð 6ð 6¸#ð 6ð 6ð 6ñô ð øð ” (Ò*Ð*Ø—i’i‘k”k�ØGÐGÐGÐGÐGÐGÀ3ÐGÑGÔG��Ø” *Ò,Ð,Ø”Ð2Ð2Ð2Ø—’˜fœkÑ*Ô*Ð*Ø ×/Ò/Ñ1Ô1�Ø×*Ò*¨7°CÑ8Ô8�àÔ+Ð1¨r�ØÔ/Ð5°2�Ø�” ¨°°dÐL¸TÐLÐLÐLÀVÐLÐLÐLÐLà×(Ò(¨°°cÑ:Ô:�à$'ˆH�V”[Ñ!Ñ!àð 	6ð 	6ˆCÝ# D¤K°Ñ5Ô5ˆH�S‰MˆMØˆŒØˆs6   Á8B	Â	%B2Â1B2ÃC0Ã0C4	Ã7C4	ÄD+Ä+D/	Ä2D/	úoptparse.Valuesc                óx  — | j         st          j        | j        ¦  «        S 	 | j                             ¦   «          n?# t          $ r2}|                      t          t          |¦  «        ¦  «         Y d}~nd}~ww xY w|  
                    | j                             ¦   «         ¦  «        }|                      ¦   «         D ]l}|j        €J ‚|                     |j        ¦  «        }t          |t          ¦  «        r2|                     ¦   «         }|                     ||¦  «        ||j        <   Œmt          j        |¦  «        S )z‹Overriding to make updating the defaults after instantiation of
        the option parser possible, _update_defaults() does the dirty work.N)Úprocess_default_valuesr®   rÎ   r‹   r©   Úloadr   r²   r   r-   rŠ   ÚcopyÚ_get_all_optionsr6   rŒ   rˆ   rÖ   r­   )r'   Úerrr‹   r+   ÚdefaultrÜ   s         r)   Úget_default_valuesz%ConfigOptionParser.get_default_valuesA  s7  € ð Ô*ð 	2å”? 4¤=Ñ1Ô1Ð1ð	/ØŒK×ÒÑÔÐÐøÝ!ð 	/ð 	/ð 	/Ø�IŠI•m¥S¨¡X¤XÑ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.øøøøð	/øøøð ×(Ò(¨¬×);Ò);Ñ)=Ô)=Ñ>Ô>ˆØ×+Ò+Ñ-Ô-ð 	Mð 	MˆFØ”;Ð*Ð*Ð*Ø—l’l 6¤;Ñ/Ô/ˆGÝ˜'¥3Ñ'Ô'ð MØ ×/Ò/Ñ1Ô1�Ø(.×(:Ò(:¸7ÀGÑ(LÔ(L�˜œÑ%øÝŒ˜xÑ(Ô(Ð(s   ¢< ¼
A8Á(A3Á3A8ra   r   c                ó€   — |                       t          j        ¦  «         |                      t          |› d�¦  «         d S )NrD   )Úprint_usager±   Ústderrr²   r   )r'   ra   s     r)   rÔ   zConfigOptionParser.errorW  s8   € Ø×Ò�œÑ$Ô$Ð$Ø�	Š	•- C   Ñ,Ô,Ð,Ð,Ð,r*   NÚfilec                ó~  — dt           j        v pIt          t          t          j                             dd¦  «        pd¦  «        ¦  «        pdt          j        v }t          t          t          j
        ¦  «        ||¬¦  «        }|                     |                      ¦   «                              ¦   «         d¬¦  «         d S )Nz
--no-colorÚPIP_NO_COLORÚnoÚNO_COLOR)ÚthemeÚno_colorré   F)Ú	highlight)r±   Úargvr¦   r   ÚosÚenvironrŒ   r   r
   r   r�   r°   Úformat_helprj   )r'   ré   rï   Úconsoles       r)   Ú
print_helpzConfigOptionParser.print_help[  s®   € ð �CœHÐ$ð (Ý•I�bœjŸnšn¨^¸TÑBÔBÐJÀdÑKÔKÑLÔLð(à�RœZÐ'ð 	õ
 ÝÕ+Ô2Ñ3Ô3¸hÈTð
ñ 
ô 
ˆð 	�Š�d×&Ò&Ñ(Ô(×/Ò/Ñ1Ô1¸UˆÑCÔCÐCÐCÐCr*   )
r   r   r¥   r-   r¤   r¦   r   r   r   r   )r+   r,   rª   r-   r�   r   r   r   )r   rµ   )r‹   rÇ   r   rÇ   )r   rÝ   )ra   r-   r   r   r¨   )ré   r   r   r   )r}   r~   r   r€   r&   r´   rÆ   rŠ   rå   rÔ   rö   r‚   rƒ   s   @r)   r‰   r‰   Ê   sÝ   ø€ € € € € ð7ð 7ð ð	*ð *ð *ð *ð *ð *ð *ð *ðð ð ð ð.ð .ð .ð .ð>>ð >ð >ð >ð@)ð )ð )ð )ð,-ð -ð -ð -ðDð Dð Dð Dð Dð Dð Dð Dð Dr*   r‰   )(r€   Ú
__future__r   Úloggingr®   rò   rG   r#   r±   rK   Úcollections.abcr   Ú
contextlibr   Útypingr   r   Úpip._vendor.rich.markupr	   Úpip._vendor.rich.themer
   Úpip._internal.cli.status_codesr   Úpip._internal.configurationr   r   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú	getLoggerr}   ÚloggerÚIndentedHelpFormatterr   r…   ÚOptionParserr’   r‰   ry   r*   r)   ú<module>r     sú  ðØ Ð à "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à *Ð *Ð *Ð *Ð *Ð *Ø (Ð (Ð (Ð (Ð (Ð (à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ Dà	ˆÔ	˜8Ñ	$Ô	$€ðv$ð v$ð v$ð v$ð v$˜(Ô8ñ v$ô v$ð v$ðrð ð ð ð Ð$7ñ ô ð ð@ð ð ð ð ˜Ô.ñ ô ð ð,\Dð \Dð \Dð \Dð \DÐ+ñ \Dô \Dð \Dð \Dð \Dr*   