§
    }Štjäj  ã                   óö  — d Z ddlZddlZddl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mZmZmZmZ ddlZded	efd
„Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zdeded	ej        fd„Zdeej                 d	eegef         fd„Zdeegef         dz  dedz  d	eee         dz  gee         dz  f         fd„Zdede dedz  ded	eegef         dz  f
d„Z!ded	e"ee f         fd„Z#ded	e"eedz  f         fd„Z$ded	e fd„Z%ded e d	efd!„Z&d"eegef         d#eegef         dz  d	eej'        ej(        egef         fd$„Z)dedededz  d%ed	e"ej(        eegef         dz  f         f
d&„Z*d'ed(ef         d	e"eej(                 e+eeegef         f         edz  f         fd)„Z,d'ed(ef         d*e+eeegef         f         d+edz  d	ed(ef         fd,„Z-d-ed	e"eef         fd.„Z.d/ej(        d0ej'        d	efd1„Z/d/d2d0ej'        d3e ded	ef
d4„Z0d5d6d	efd7„Z1d/d2d0ej'        d8ed	efd9„Z2 G d:„ d;ej        ¦  «        Z3 G d<„ d=ej        ¦  «        Z4d>ej5        d0ej'        d?ej6        d	dfd@„Z7 G dA„ dBej5        ¦  «        Z8ddddddCdDdEdEdEddFœd'ed(ef         dedz  dGeej5                 dz  dHedz  dIedz  dJedz  dKedLe dMe dNe dOe dPe+eef         dz  d	ej5        fdQ„Z9 G dR„ dSej:        ¦  «        Z;dS )Ta  Minimal declaration layer over Click 8.x for the ``hf`` CLI.

This module vendors *only* the slice of Typer the CLI actually uses: turning
annotated function signatures (``Annotated[T, Option(...)]`` / ``Argument(...)``)
into Click parameters, and rendering argument/option help the way Typer did.
It exists so the CLI depends on Click's stable public API instead of Typer's
now-internal vendored Click (``typer._click``), which Typer reserves the right
to refactor at any release.

Deliberately *not* implemented (add a case here only when a command needs it):
rich rendering, shell-completion install commands, prompts/confirmation options,
env-var options, ``File``/``UUID`` params, ``count`` options, ``default_factory``.
Click's own machinery already handles exceptions, aborts, exits, and native
``_HF_COMPLETE`` shell completion, so none of Typer's ``main()`` overrides are
reproduced here.

The interesting logic mirrors four Typer functions, kept faithful so ``--help``
output stays byte-identical:
- :func:`_get_click_type`          <- ``typer.main.get_click_type``
- :func:`_build_click_param`       <- ``typer.main.get_click_param``
- :func:`_make_handler`            <- ``typer.main.get_callback``
- :class:`HfArgument` / :class:`HfOption` help records <- ``typer.core.Typer*``
é    N)ÚCallableÚSequence)Údatetime)ÚPath)Ú	UnionType)Ú	AnnotatedÚAnyÚLiteralÚUnionÚget_argsÚ
get_originÚnameÚreturnc                 óR   — |                       ¦   «                              dd¦  «        S )zWNormalize a Python identifier to a CLI name (``force_download`` -> ``force-download``).Ú_ú-)ÚlowerÚreplace)r   s    ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/cli/_framework.pyÚget_command_namer   2   s    € à�:Š:‰<Œ<×Ò  SÑ)Ô)Ð)ó    c                   óˆ   — e Zd ZdZddddddddœdededz  deez  d	ed
ededef         dz  dedz  de	j
        dz  ddfd„ZdS )ÚParameterInfou,  Base marker holding the (tiny) set of Click knobs the CLI actually sets.

    ``callback`` is a Typer-style value parser ``fn(value) -> parsed`` â€” it does NOT
    receive Click's ``(ctx, param, value)``. It consumes the enum/list convertors, so
    ``value`` is already converted when it runs.
    NTF©ÚhelpÚshow_defaultÚhiddenÚis_eagerÚcallbackÚminÚ
click_typeÚparam_declsr   r   r   r   r   .r    r!   r   c                ó�   — t          |¦  «        | _        || _        || _        || _        || _        || _        || _        || _        d S ©N)	Úlistr"   r   r   r   r   r   r    r!   )	Úselfr   r   r   r   r   r    r!   r"   s	            r   Ú__init__zParameterInfo.__init__F   sJ   € õ   Ñ,Ô,ˆÔØˆŒ	Ø(ˆÔØˆŒØ ˆŒØ ˆŒØˆŒØ$ˆŒˆˆr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚboolr   r	   ÚintÚclickÚ	ParamTyper'   © r   r   r   r   >   sÌ   € € € € € ðð ð  Ø#'ØØØ.2ØØ-1ð%ð %ð %àð%ð �D‰jð%ð ˜S‘jð	%ð
 ð%ð ð%ð ˜3 ˜8Ô$ tÑ+ð%ð �4‰Zð%ð ”O dÑ*ð%ð 
ð%ð %ð %ð %ð %ð %r   r   c                   ó   — e Zd ZdZdS )ÚOptionzKDeclare a CLI option, e.g. ``Annotated[str | None, Option("--revision")]``.N©r(   r)   r*   r+   r1   r   r   r3   r3   [   s   € € € € € ØUÐUÐUÐUr   r3   c                   ó   — e Zd ZdZdS )ÚArgumentzGDeclare a positional CLI argument, e.g. ``Annotated[str, Argument()]``.Nr4   r1   r   r   r6   r6   _   s   € € € € € ØQÐQÐQÐQr   r6   Ú
annotationÚinfoc                 óp  — |j         �|j         S | t          u rt          j        S | t          u rt          j        S | t          u r-|j        �t          j        |j        ¬¦  «        nt          j	        S | t          u r-|j        �t          j        |j        ¬¦  «        nt          j        S | t          u rt          j        t          ¬¦  «        S | t          u rt          j        ¦   «         S t!          | t"          ¦  «        rkt%          | t&          j        ¦  «        rQd„ | D ¦   «         }t+          d„ |D ¦   «         ¦  «        st-          d| j        ›d�¦  «        ‚t          j        |¦  «        S t3          | ¦  «        t4          u r+t          j        d„ t7          | ¦  «        D ¦   «         ¦  «        S t-          d	| ›d
�¦  «        ‚)z>Map a (already unwrapped) annotation to a Click ``ParamType``.N)r    )Ú	path_typec                 ó   — g | ]	}|j         ‘Œ
S r1   )Úvalue)Ú.0Úitems     r   ú
<listcomp>z#_get_click_type.<locals>.<listcomp>y   s   € Ð4Ð4Ð4 �$”*Ð4Ð4Ð4r   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r$   )Ú
isinstancer,   ©r=   r<   s     r   ú	<genexpr>z"_get_click_type.<locals>.<genexpr>z   s,   è è € Ð>Ð>¨e•:˜e¥SÑ)Ô)Ð>Ð>Ð>Ð>Ð>Ð>r   zUnsupported enum z&: only str-valued enums are supported.c                 ó,   — g | ]}t          |¦  «        ‘ŒS r1   )r,   rB   s     r   r?   z#_get_click_type.<locals>.<listcomp>€   s   € ÐJÐJÐJ¨E�S ™ZœZÐJÐJÐJr   zUnsupported CLI annotation z/. Add a case in `_framework._get_click_type()`.)r!   r,   r/   ÚSTRINGr-   ÚBOOLr.   r    ÚIntRangeÚINTÚfloatÚ
FloatRangeÚFLOATr   r   ÚDateTimerA   ÚtypeÚ
issubclassÚenumÚEnumÚallÚ	TypeErrorr(   ÚChoicer   r
   r   )r7   r8   Úvaluess      r   Ú_get_click_typerU   h   s§  € à„Ð"ØŒÐØ•SÐÐÝŒ|ÐØ•TÐÐÝŒzÐØ•SÐÐØ/3¬xÐ/C�uŒ~ $¤(Ð+Ñ+Ô+Ð+ÍÌÐRØ•UÐÐØ15´Ð1E�uÔ D¤HÐ-Ñ-Ô-Ð-Í5Ì;ÐVØ•TÐÐÝŒz¥DÐ)Ñ)Ô)Ð)Ø•XÐÐÝŒ~ÑÔÐÝ�*�dÑ#Ô#ð $­
°:½t¼yÑ(IÔ(Ið $Ø4Ð4¨Ð4Ñ4Ô4ˆÝÐ>Ð>°vÐ>Ñ>Ô>Ñ>Ô>ð 	oõ Ðm°
Ô0CÐmÐmÐmÑnÔnÐnÝŒ|˜FÑ#Ô#Ð#Ý�*ÑÔ¥Ð(Ð(ÝŒ|ÐJÐJµX¸jÑ5IÔ5IÐJÑJÔJÑKÔKÐKÝ
Ðo°*ÐoÐoÐoÑ
pÔ
pÐpr   Ú	enum_typec                 óH   ‡— d„ | D ¦   «         Šdt           dt           fˆfd„}|S )zGMap a parsed choice string back to its ``Enum`` member (mirrors Typer).c                 ó8   — i | ]}t          |j        ¦  «        |“ŒS r1   )r,   r<   )r=   Úmembers     r   ú
<dictcomp>z#_enum_convertor.<locals>.<dictcomp>†   s$   € ÐCÐCÐC¨v•�V”\Ñ"Ô" FÐCÐCÐCr   r<   r   c                 óP   •— | �"‰                      t          | ¦  «        ¦  «        S d S r$   )Úgetr,   )r<   Ú	value_maps    €r   Ú	convertorz"_enum_convertor.<locals>.convertorˆ   s&   ø€ ØÐØ—=’=¥ U¡¤Ñ,Ô,Ð,Øˆtr   )r	   )rV   r^   r]   s     @r   Ú_enum_convertorr_   „   sJ   ø€ àCÐC¸ÐCÑCÔC€Ið�ð ¥ð ð ð ð ð ð ð
 Ðr   ÚinnerÚdefault_valuec                 ól   ‡ ‡— dt           t                   dz  dt          t                   dz  fˆˆ fd„}|S )zUTurn Click's tuple (from ``multiple=True``) into a list, applying ``inner`` per item.r<   Nr   c                 óR   •— | �‰€t          | ¦  «        dk    rd S ˆfd„| D ¦   «         S )Nr   c                 ó.   •— g | ]}‰r ‰|¦  «        n|‘ŒS r1   r1   )r=   r>   r`   s     €r   r?   z6_list_convertor.<locals>.convertor.<locals>.<listcomp>˜   s*   ø€ ÐAÐAÐA°4˜uÐ.���d‘”�¨$ÐAÐAÐAr   )Úlen)r<   ra   r`   s    €€r   r^   z"_list_convertor.<locals>.convertor•   s:   ø€ Øˆ=˜]Ð2µs¸5±z´zÀQ²°Ø�4ØAÐAÐAÐA¸5ÐAÑAÔAÐAr   )r   r	   r%   )r`   ra   r^   s   `` r   Ú_list_convertorrf   �   sX   øø€ ð
B�¥#œ¨Ñ-ð Bµ$µs´)¸dÑ2Bð Bð Bð Bð Bð Bð Bð Bð
 Ðr   Úis_listc                 ó¸   — d}|j         €>t          | t          ¦  «        r)t          | t          j        ¦  «        rt          | ¦  «        }|rt          ||¦  «        S |S )zÐBuild the value convertor for a param (``None`` when no coercion is needed).

    An explicit ``click_type`` (e.g. ``SoftChoice``) owns its own conversion, so no
    enum convertor is added on top of it.
    N)r!   rA   rM   rN   rO   rP   r_   rf   )r7   rg   ra   r8   r`   s        r   Ú_make_convertorri   �   s]   € ð €EØ„Ð¥:¨j½$Ñ#?Ô#?ÐÅJÈzÕ[_Ô[dÑDeÔDeÐÝ 
Ñ+Ô+ˆØð 5Ý˜u mÑ4Ô4Ð4Ø€Lr   c                 óB  — t          | ¦  «        }|t          t          fv rVd„ t          | ¦  «        D ¦   «         }t	          |¦  «        dk    rt          d| ›d�¦  «        ‚|d         } t          | ¦  «        }|t          t          fv rt          | ¦  «        d         dfS | dfS )zVStrip ``T | None`` / ``Optional[T]`` and ``list[T]``; return ``(base_type, is_list)``.c                 ó4   — g | ]}|t          d ¦  «        u¯|‘ŒS r$   )rM   )r=   Úargs     r   r?   z-_unwrap_optional_and_list.<locals>.<listcomp>±   s(   € ÐQÐQÐQ˜C¸3ÅdÈ4ÁjÄjÐ;PÐ;P�CÐ;PÐ;PÐ;Pr   é   zUnsupported union annotation z!; only ``T | None`` is supported.r   TF)r   r   r   r   re   rR   r%   r   )r7   ÚoriginÚnon_nones      r   Ú_unwrap_optional_and_listrp   ­   s®   € å˜
Ñ#Ô#€FØ•%�Ð#Ð#Ð#ØQÐQ¥8¨JÑ#7Ô#7ÐQÑQÔQˆÝˆx‰=Œ=˜AÒÐÝÐk¸JÐkÐkÐkÑlÔlÐlØ˜a”[ˆ
Ý˜JÑ'Ô'ˆØ•$�Ð!Ð!Ð!Ý˜
Ñ#Ô# AÔ&¨Ð,Ð,Ø�uÐÐr   c                 ó  — t          | ¦  «        t          u rrt          | ¦  «        }t          d„ |dd…         D ¦   «         d¦  «        }|€5t          d„ |dd…         D ¦   «         d¦  «        x}rt	          |d¬¦  «        }|d         |fS | dfS )z[Split ``Annotated[T, Option(...)]`` into ``(T, marker)``; ``(annotation, None)`` otherwise.c              3   óD   K  — | ]}t          |t          ¦  «        ¯|V — Œd S r$   )rA   r   ©r=   Úmetas     r   rC   z#_split_annotated.<locals>.<genexpr>¿   s1   è è € ÐTÐT µJ¸tÅ]Ñ4SÔ4SÐT�tÐTÐTÐTÐTÐTÐTr   rm   Nc              3   ó8   K  — | ]}t          |¦  «        ¯|V — Œd S r$   )Ú_is_typer_markerrs   s     r   rC   z#_split_annotated.<locals>.<genexpr>À   s1   è è € Ð4iÐ4i¸dÕRbÐcgÑRhÔRhÐ4i°TÐ4iÐ4iÐ4iÐ4iÐ4iÐ4ir   T©Úfrom_annotatedr   )r   r   r   ÚnextÚ_from_typer_marker)r7   ÚargsÚmarkerÚtyper_markers       r   Ú_split_annotatedr~   »   s¤   € å�*ÑÔ¥Ð*Ð*Ý˜
Ñ#Ô#ˆÝÐTÐT¨¨Q¨R¨R¬ÐTÑTÔTÐVZÑ[Ô[ˆØˆ>­tÐ4iÐ4iÀdÈ1È2È2ÄhÐ4iÑ4iÔ4iÐkoÑ/pÔ/pÐp˜|ˆ>Ý'¨ÀTÐJÑJÔJˆFØ�AŒw˜ˆÐØ�tÐÐr   Úobjc                 ó�   — t          | ¦  «        j                             d¦  «        d         dk    ot          | ¦  «        j        dv S )Nú.r   Útyper)Ú
OptionInfoÚArgumentInfo)rM   r)   Ú	partitionr(   )r   s    r   rv   rv   Ò   s=   € Ý�‰9Œ9Ô×)Ò)¨#Ñ.Ô.¨qÔ1°WÒ<ÐuÅÀcÁÄÔASÐWuÐAuÐur   rt   rx   c                óØ  — t          t          | dd¦  «        pd¦  «        }t          | ¦  «        j        dk    r5t          | dd¦  «        }|rt	          |t
          ¦  «        r|g|¢}t          }nt          } ||t          | dd¦  «        t          | dd	¦  «        t          | d
d¦  «        t          | dd¦  «        t          | dd¦  «        t          | dd¦  «        t          | dd¦  «        dœŽS )zKTranslate a ``typer.models.OptionInfo`` / ``ArgumentInfo`` into our marker.r"   Nr1   rƒ   Údefault.r   r   Tr   Fr   r   r    r!   r   )r%   ÚgetattrrM   r(   rA   r,   r3   r6   )rt   rx   r"   r‡   Úclss        r   rz   rz   Ö   sþ   € å•w˜t ]°DÑ9Ô9Ð?¸RÑ@Ô@€KÝˆD�z„zÔ˜lÒ*Ð*õ ˜$ 	¨3Ñ/Ô/ˆØð 	2�j¨µ#Ñ6Ô6ð 	2Ø"Ð1 [Ð1ˆKÝ#)ˆˆåˆØˆ3Ø	Ý�T˜6 4Ñ(Ô(Ý˜T >°4Ñ8Ô8Ý�t˜X uÑ-Ô-Ý˜˜z¨5Ñ1Ô1Ý˜˜z¨4Ñ0Ô0Ý�D˜% Ñ&Ô&Ý˜4 ¨tÑ4Ô4ð	ð 	ð 	ð 	r   Úuser_callbackr^   c                 ód   ‡ ‡— dt           j        dt           j        dt          dt          fˆˆ fd„}|S )zSAdapt a Typer-style value parser ``fn(value) -> parsed`` to a Click param callback.ÚctxÚparamr<   r   c                 ó4   •—  ‰‰r ‰|¦  «        n|¦  «        S r$   r1   )rŒ   r�   r<   r^   rŠ   s      €€r   Úclick_callbackz,_wrap_param_callback.<locals>.click_callbackø   s'   ø€ Øˆ}°ÐE˜Y˜Y uÑ-Ô-Ð-ÀÑFÔFÐFr   )r/   ÚContextÚ	Parameterr	   )rŠ   r^   r�   s   `` r   Ú_wrap_param_callbackr’   ó   s[   øø€ ð
G�EœMð Gµ%´/ð GÍ#ð GÕRUð Gð Gð Gð Gð Gð Gð Gð Ðr   Úsignature_defaultc                 ó<  — |t           j        j        u }|rdn|}t          |t          j        ¦  «        r|j        }|€|rt          ¦   «         nt          ¦   «         }t          |¦  «        \  }}t          ||||¦  «        }|j        �t          |j        |¦  «        }	d}
nd}	|}
t          |t          ¦  «        rDt          | gt          ||¦  «        |||rdnd|j        |	|j        |j        |j        ¬¦
  «
        }||
fS |t&          u }| g}|j        r|                     |j        ¦  «         n1t-          | ¦  «        }|                     |rd|› d|› �nd|› �¦  «         t1          ||rdnt          ||¦  «        |||||j        |	|j        |j        |j        ¬¦  «        }||
fS )zXBuild a Click ``Parameter`` (and its post-parse value convertor) for one function param.Néÿÿÿÿrm   )	rM   Úrequiredr‡   Únargsr   r   r   r   r   z--z/--no-)
rM   r–   r‡   Úis_flagÚmultipler   r   r   r   r   )Úinspectr‘   ÚemptyrA   rO   rP   r<   r6   r3   rp   ri   r   r’   Ú
HfArgumentrU   r   r   r   r   r-   r"   Úextendr   ÚappendÚHfOption)r   r7   r8   r“   r–   ra   Ú	base_typerg   r^   Úparam_callbackÚhandler_convertorÚargumentr˜   ÚdeclsÚkebabÚoptions                   r   Ú_build_click_paramr§   þ   sõ  € ð !¥GÔ$5Ô$;Ð;€HØ$Ð;�D�DÐ*;€MÝ�-¥¤Ñ+Ô+ð ,Ø%Ô+ˆØ€|à%Ð3�x‰zŒzˆz­6©8¬8ˆå2°:Ñ>Ô>Ñ€IˆwÝ 	¨7°MÀ4ÑHÔH€Ið „}Ð Ý4HÈÌÐXaÑ4bÔ4bˆØ9=ÐÐàˆØ%Ðå�$�Ñ!Ô!ð +ÝØˆFÝ  ¨DÑ1Ô1ØØ!ØÐ&�"�" QØ”]Ø#Ø”ØÔ*Ø”;ð
ñ 
ô 
ˆð Ð*Ð*Ð*ð �4Ð€GØˆF€EØÔð MØ�Š�TÔ%Ñ&Ô&Ð&Ð&å  Ñ&Ô&ˆØ�Š°'ÐKÐ.˜%Ð.Ð. uÐ.Ð.Ð.¸|ÀE¸|¸|ÑLÔLÐLÝØàÐBˆTˆT¥/°)¸TÑ"BÔ"BØØØØØ”ØØŒYØÔ&ØŒ{ðñ ô €Fð Ð$Ð$Ð$r   Úfunc.c                 óÌ  — g }i }d}t          j        | ¦  «        j                             ¦   «         D �]-\  }}|j        t           j        j        ur|j        nt          }t          |¦  «        \  }}t          |t          ¦  «        rLt          |t          j        ¦  «        s/|j                             d¦  «        d         dk    r|j        dk    r|}ŒŸ|j        }	t%          |	¦  «        r;|€t'          |	d¬¦  «        }t)          |	dd	¦  «        }
|
d	u rt           j        j        n|
}	t+          ||||	¦  «        \  }}|�|j        �
|||j        <   |                     |¦  «         �Œ/|||fS )
zLIntrospect ``func`` and return ``(params, convertors, context_param_name)``.Nr�   r   r‚   r�   Frw   r‡   .)rš   Ú	signatureÚ
parametersÚitemsr7   r‘   r›   r,   r~   rA   rM   rN   r/   r�   r)   r…   r(   r‡   rv   rz   rˆ   r§   r   rž   )r¨   ÚparamsÚ
convertorsÚcontext_param_namer   Ú	sig_paramr7   r    r8   r“   Úmarker_defaultÚclick_paramr^   s                r   Ú_build_paramsr³   ?  s�  € ð %'€FØ24€JØ%)ÐÝ"Ô,¨TÑ2Ô2Ô=×CÒCÑEÔEð #ñ #‰ˆˆið .7Ô-AÍÔIZÔI`Ð-`Ð-`�YÔ)Ð)Õfiˆ
Ý*¨:Ñ6Ô6‰ˆ	�4Ý�i¥Ñ&Ô&ð 	Ý�y¥%¤-Ñ0Ô0ð	ð Ô$×.Ò.¨sÑ3Ô3°AÔ6¸'ÒAÐAÀiÔFXÐ\eÒFeÐFeà!%ÐØØ%Ô-ÐÝÐ-Ñ.Ô.ð 	eàˆ|Ý)Ð*;ÈEÐRÑRÔR�Ý$Ð%6¸	À3ÑGÔGˆNØ;IÈSÐ;PÐ;P¥Ô 1Ô 7Ð 7ÐVdÐÝ!3°D¸)ÀTÐK\Ñ!]Ô!]Ñˆ�YØÐ  [Ô%5Ð%AØ+4ˆJ�{Ô'Ñ(Ø�Š�kÑ"Ô"Ð"Ñ"Ø�:Ð1Ð1Ð1r   r®   r¯   c                 ób   ‡ ‡‡— dt           dt           fˆˆˆ fd„}t          j        |‰ ¦  «         |S )zZWrap ``func`` so Click's kwargs map back to it, applying convertors and injecting the ctx.Úkwargsr   c                  ó„   •— ˆfd„|                       ¦   «         D ¦   «         }‰�t          j        ¦   «         |‰<    ‰di |¤ŽS )Nc                 óF   •— i | ]\  }}||‰v r ‰|         |¦  «        n|“ŒS r1   r1   )r=   Úkeyr<   r®   s      €r   rZ   z2_make_handler.<locals>.handler.<locals>.<dictcomp>j  s?   ø€ ÐvÐvÐvÑYcÐY\Ð^c�s°s¸jÐ7HÐ7H˜_˜Z¨œ_¨UÑ3Ô3Ð3ÈeÐvÐvÐvr   r1   )r¬   r/   Úget_current_context)rµ   Úcall_kwargsr¯   r®   r¨   s     €€€r   Úhandlerz_make_handler.<locals>.handleri  sY   ø€ ØvÐvÐvÐvÐgm×gsÒgsÑguÔguÐvÑvÔvˆØÐ)Ý.3Ô.GÑ.IÔ.IˆKÐ*Ñ+ØˆtÐ"Ð"�kÐ"Ð"Ð"r   )r	   Ú	functoolsÚupdate_wrapper)r¨   r®   r¯   r»   s   ``` r   Ú_make_handlerr¾   b  sU   øøø€ ð#�#ð #¥#ð #ð #ð #ð #ð #ð #ð #ð #õ Ô˜W dÑ+Ô+Ð+Ø€Nr   Úoptc                 ó¢   — | dd…         }|                      ¦   «         rd| fS | dd…         |k    r| dd…         | dd…         fS || dd…         fS )zPSplit an option string into ``(prefix, name)`` (Click's ``split_opt``, inlined).Nrm   Ú é   )Úisalnum)r¿   Úfirsts     r   Ú
_split_optrÅ   z  sh   € à���ŒG€EØ‡}‚}�„ð Ø�3ˆwˆØ
ˆ1ˆQˆ3„x�5ÒÐØ�2�A�2Œw˜˜A˜B˜BœÐÐØ�#�a�b�b”'ˆ>Ðr   r�   rŒ   c                 ót   — |j         }d|_         	 |                      |d¬¦  «        ||_         S # ||_         w xY w)NTF)Úcall)Úresilient_parsingÚget_default)r�   rŒ   Ú	resilients      r   Ú_extract_default_help_strrË   „  sL   € àÔ%€IØ €CÔð*Ø× Ò  ¨5Ð Ñ1Ô1à )ˆÔÐø 	ˆÔÐ)Ð)Ð)Ð)s   �. ®	7zHfArgument | HfOptionÚshow_default_is_strc                 óŠ  ‡ ‡‡— ‰rd‰ j         › d�S t          |t          t          f¦  «        r#d                     ˆˆ ˆfd„|D ¦   «         ¦  «        S t          |t
          j        ¦  «        rt          |j        ¦  «        S t          j
        |¦  «        rdS t          ‰ t          ¦  «        rf‰ j        r_‰ j        rX|r6‰ j        r t          ‰ j        d         ¦  «        d         nt          |¦  «        S t          ‰ j        d         ¦  «        d         S t          ‰ t          ¦  «        r‰ j        r‰ j        s|sdS t          |¦  «        S )	Nú(ú)z, c              3   ó<   •K  — | ]}t          ‰‰‰|¦  «        V — Œd S r$   )Ú_default_string)r=   r>   rŒ   r�   rÌ   s     €€€r   rC   z"_default_string.<locals>.<genexpr>”  s3   øè è € ÐjÐjÐTX�¨°Ð5HÈ$ÑOÔOÐjÐjÐjÐjÐjÐjr   z	(dynamic)r   rm   rÁ   )r   rA   r%   ÚtupleÚjoinrO   rP   r,   r<   rš   Ú
isfunctionrŸ   Úis_bool_flagÚsecondary_optsÚoptsrÅ   )r�   rŒ   rÌ   ra   s   ``` r   rÑ   rÑ   Ž  s]  øøø€ ð ð )Ø(�5Ô%Ð(Ð(Ð(Ð(Ý�-¥$­ Ñ/Ô/ð kØ�yŠyÐjÐjÐjÐjÐjÐjÐ\iÐjÑjÔjÑjÔjÐjÝ�-¥¤Ñ+Ô+ð (Ý�=Ô&Ñ'Ô'Ð'ÝÔ˜-Ñ(Ô(ð Øˆ{Ý�%�Ñ"Ô"ð 6 uÔ'9ð 6¸eÔ>Rð 6àð 	VØ38´:ÐU•:˜eœj¨œmÑ,Ô,¨QÔ/Ð/Å3À}ÑCUÔCUÐUÝ˜%Ô.¨qÔ1Ñ2Ô2°1Ô5Ð5Ý�%�Ñ"Ô"ð  uÔ'9ð À%ÔBVð Ð_lð ØˆrÝˆ}ÑÔÐr   Ú
param_typez!click.IntRange | click.FloatRangec                 óÈ   — | j         €d| j        rdnd› | j        › �S | j        €d| j        rdnd› | j         › �S | j        rdnd}| j        rdnd}| j         › |› d|› | j        › �S )zîHuman-readable range hint like ``x>=1`` or ``1<=x<10``.

    Reproduces click's private ``_NumberRangeBase._describe_range()`` using the public
    ``IntRange``/``FloatRange`` attributes, so the framework stays on Click's public API.
    NÚxú<z<=ú>z>=)r    Úmax_openÚmaxÚmin_open)rØ   ÚleftÚrights      r   Ú_describe_number_rangerâ   £  sš   € ð „~ÐØI˜*Ô-Ð7�3�3°4ÐI¸¼ÐIÐIÐIØ„~ÐØI˜*Ô-Ð7�3�3°4ÐI¸¼ÐIÐIÐIØÔ%Ð/ˆ3ˆ3¨4€DØÔ&Ð0ˆCˆC¨D€EØŒnÐ<˜dÐ<Ð< UÐ<¨J¬NÐ<Ð<Ð<r   Ú	base_helpc                 ó4  — g }t          | |¦  «        }t          | j        t          ¦  «        }|s|�:| j        s|j        r,t	          | |||¦  «        }|r|                     d|› �¦  «         t          | t          ¦  «        rVt          | j        t          j	        t          j
        f¦  «        r+t          | j        ¦  «        }|r|                     |¦  «         | j        r|                     d¦  «         |r$dd                     |¦  «        › d�}|r|› d|› �n|S |S )zWAppend the ``[default: ...; required]`` suffix to a help string (shared by arg/option).Nz	default: r–   ú[ú; ú]z  )rË   rA   r   r,   rÑ   rž   rŸ   rM   r/   rG   rJ   râ   r–   rÓ   )	r�   rŒ   rã   Úextrara   rÌ   Údefault_stringÚ	range_strÚsuffixs	            r   Ú_build_help_extrarì   ²  s;  € à€EÝ-¨e°SÑ9Ô9€MÝ$ UÔ%7½Ñ=Ô=ÐØð 7˜}Ð8¸eÔ>PÐ8ÐTWÔTdÐ8Ý(¨°Ð5HÈ-ÑXÔXˆØð 	7Ø�LŠLÐ5 ^Ð5Ð5Ñ6Ô6Ð6å�%�Ñ"Ô"ð $¥z°%´*½u¼~ÍuÔO_Ð>`Ñ'aÔ'að $Ý*¨5¬:Ñ6Ô6ˆ	Øð 	$Ø�LŠL˜Ñ#Ô#Ð#Ø„~ð !Ø�Š�ZÑ Ô Ð Øð AØ(�T—Y’Y˜uÑ%Ô%Ð(Ð(Ð(ˆØ+4Ð@�)Ð'Ð'˜vÐ'Ð'Ð'¸&Ð@ØÐr   c                   ó¨   ‡ — e Zd ZdZddddœdee         dedz  deez  d	ed
eddfˆ fd„Zde	j
        defd„Zde	j
        deeef         dz  fd„Zˆ xZS )rœ   zPPositional argument that renders help text and a metavar (Click's does neither).NTF)r   r   r   r"   r   r   r   Úattrsr   c                óf   •— || _         || _        || _         t          ¦   «         j        |fi |¤Ž d S r$   )r   r   r   Úsuperr'   )r&   r"   r   r   r   rî   Ú	__class__s         €r   r'   zHfArgument.__init__Ë  s@   ø€ ð ˆŒ	Ø(ˆÔØˆŒØ�‰ŒÔ˜Ð.Ð.¨Ð.Ð.Ð.Ð.Ð.r   rŒ   c                 ó&  — | j         �+| j         }| j        s|                     d¦  «        sd|› d�}|S | j        pd                     ¦   «         }| j        sd|› d�}| j                             | |¬¦  «        }|r|d|› �z  }| j        dk    r|dz  }|S )Nrå   rç   rÁ   ©rŒ   ú:rm   z...)Úmetavarr–   Ú
startswithr   ÚupperrM   Úget_metavarr—   )r&   rŒ   ÚvarÚtype_vars       r   Úmake_metavarzHfArgument.make_metavarÙ  s¹   € ØŒ<Ð#Ø”,ˆCØ”=ð !¨¯ª¸Ñ)<Ô)<ð !Ø ˜#�j�j�j�ØˆJØŒyˆ˜B×%Ò%Ñ'Ô'ˆØŒ}ð 	Ø�c�*�*�*ˆCØ”9×(Ò(¨°3Ð(Ñ7Ô7ˆØð 	"Ø�>�x�>�>Ñ!ˆCØŒ:˜Š?ˆ?Ø�5‰LˆCØˆ
r   c                 óp   — | j         rd S |                      |¬¦  «        t          | || j        pd¦  «        fS )Nró   rÁ   )r   rû   rì   r   ©r&   rŒ   s     r   Úget_help_recordzHfArgument.get_help_recordé  sA   € ØŒ;ð 	Ø�4Ø× Ò  SÐ Ñ)Ô)Õ+<¸TÀ3ÈÌ	ÈÐUWÑ+XÔ+XÐXÐXr   )r(   r)   r*   r+   r   r,   r-   r	   r'   r/   r�   rû   rÒ   rþ   Ú__classcell__)rñ   s   @r   rœ   rœ   È  sý   ø€ € € € € ØZÐZð  Ø#'Øð/ð /ð /à˜c”]ð/ð �D‰jð	/ð
 ˜S‘jð/ð ð/ð ð/ð 
ð/ð /ð /ð /ð /ð /ð ¤ð °#ð ð ð ð ð Y 5¤=ð Y°U¸3À¸8´_ÀtÑ5Kð Yð Yð Yð Yð Yð Yð Yð Yr   rœ   c                   óT   — e Zd ZU dZeez  ed<   dej        de	eef         dz  fd„Z
dS )rŸ   zJOption whose help record ports Typer's default/metavar rendering verbatim.r   rŒ   r   Nc                 ó<  ‡ ‡‡— ‰ j         rd S dŠdt          t                   dt          fˆˆˆ fd„} |‰ j        ¦  «        g}‰ j        r#|                      |‰ j        ¦  «        ¦  «         t          ‰ ‰‰ j        pd¦  «        }‰rdnd                     |¦  «        |fS )NFr×   r   c                 ó¨   •— t           j                             | ¦  «        \  }}|rdŠ‰j        s#‰j        s|d‰                     ‰¬¦  «        › �z  }|S )NTú ró   )r/   Ú
formattingÚjoin_optionsr˜   Úcountrû   )r×   ÚrvÚany_slashesÚany_prefix_is_slashrŒ   r&   s      €€€r   Ú_write_optsz-HfOption.get_help_record.<locals>._write_optsú  sg   ø€ å#Ô.×;Ò;¸DÑAÔA‰OˆB�Øð +Ø&*Ð#Ø”<ð 7¨¬
ð 7ØÐ6˜$×+Ò+°Ð+Ñ4Ô4Ð6Ð6Ñ6�ØˆIr   rÁ   ræ   z / )	r   r   r,   r×   rÖ   rž   rì   r   rÓ   )r&   rŒ   r
  r  Ú	help_textr	  s   ``   @r   rþ   zHfOption.get_help_recordô  sÍ   øøø€ ØŒ;ð 	Ø�4à#Ðð	�h¥sœmð 	µð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ˆk˜$œ)Ñ$Ô$Ð%ˆØÔð 	8Ø�IŠI�k�k $Ô"5Ñ6Ô6Ñ7Ô7Ð7å% d¨C°´°¸bÑAÔAˆ	Ø+Ð6��°×<Ò<¸RÑ@Ô@À)ÐKÐKr   )r(   r)   r*   r+   r-   r,   Ú__annotations__r/   r�   rÒ   rþ   r1   r   r   rŸ   rŸ   ï  se   € € € € € € ØTÐTà˜‘*ÐÐÑðL 5¤=ð L°U¸3À¸8´_ÀtÑ5Kð Lð Lð Lð Lð Lð Lr   rŸ   ÚcommandÚ	formatterc                 ó  — g }g }|                       |¦  «        D ][}|                     |¦  «        }|€Œ|j        dk    r|                     |¦  «         Œ;|j        dk    r|                     |¦  «         Œ\|rB|                     d¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   |rE|                     d¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS dS )zLRender params split into "Arguments" and "Options" sections (mirrors Typer).Nr£   r¦   Ú	ArgumentsÚOptions)Ú
get_paramsrþ   Úparam_type_namerž   ÚsectionÚwrite_dl)r  rŒ   r  r{   r×   r�   Úrecords          r   Ú_format_paramsr    s«  € à"$€DØ"$€DØ×#Ò# CÑ(Ô(ð  ð  ˆØ×&Ò& sÑ+Ô+ˆØˆ>ØØÔ  JÒ.Ð.Ø�KŠK˜ÑÔÐÐØÔ" hÒ.Ð.Ø�KŠK˜ÑÔÐøØð %Ø×Ò˜{Ñ+Ô+ð 	%ð 	%Ø×Ò˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%àð %Ø×Ò˜yÑ)Ô)ð 	%ð 	%Ø×Ò˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð%ð %s$   ÂB/Â/B3Â6B3ÃC4Ã4C8Ã;C8c                   ó:   — e Zd ZdZdej        dej        ddfd„ZdS )Ú	HfCommandzJLeaf command that renders arguments and options in separate help sections.rŒ   r  r   Nc                 ó(   — t          | ||¦  «         d S r$   )r  ©r&   rŒ   r  s      r   Úformat_optionszHfCommand.format_options'  s   € Ý�t˜S )Ñ,Ô,Ð,Ð,Ð,r   )r(   r)   r*   r+   r/   r�   ÚHelpFormatterr  r1   r   r   r  r  $  sI   € € € € € ØTÐTð- %¤-ð -¸EÔ<Oð -ÐTXð -ð -ð -ð -ð -ð -r   r  z	[OPTIONS]TF)r   r‰   r   ÚepilogÚ
short_helpÚoptions_metavarÚadd_help_optionÚno_args_is_helpr   Ú
deprecatedÚcontext_settingsr‰   r   r  r  r   r!  r"  r   r#  r$  c                ó
  — t          | ¦  «        \  }}}t          | ||¦  «        }|rt          j        |¦  «        nt          j        | ¦  «        } |pt
          |�|nt          | j        ¦  «        |||||||||	|
|pi ¬¦  «        S )z}Build a Click ``Command`` from a function with ``Annotated`` params.

    Replaces ``typer.main.get_command_from_info``.
    N)r   r   r­   r   r  r  r   r!  r"  r   r#  r$  )r³   r¾   rš   ÚcleandocÚgetdocr  r   r(   )r¨   r   r‰   r   r  r  r   r!  r"  r   r#  r$  r­   r®   r¯   r»   Úcommand_helps                    r   Úbuild_commandr)  +  sª   € õ& .;¸4Ñ-@Ô-@Ñ*€FˆJÐ*Ý˜D *Ð.@ÑAÔA€GØ-1ÐK•7Ô# DÑ)Ô)Ð)µw´~ÀdÑ7KÔ7K€LØˆCÐ•9ØÐ%ˆTˆTÕ+;¸D¼MÑ+JÔ+JØØØØØØ'Ø'Ø'ØØØ)Ð/¨Rðñ ô ð r   c                   ól  — e Zd ZU dZeZeej                 e	d<   dej
        dej        ddfd„Zdej
        dee         fd„Z	 ddd	œd
edz  deej                 dz  dedeedef         gedef         f         fd„Zddœdej        d
ededdfd„Zddœdedeedef         gedef         f         fd„ZdS )ÚHfGroupa  Command group with the decorator API the CLI relies on (``command``/``callback``/``add_group``).

    Subclasses (see ``HFCliTyperGroup``) layer on styling, aliases, topics and error
    enrichment; this base only wires functions to Click via :func:`build_command`.
    Úcommand_classrŒ   r  r   Nc                 óT   — t          | ||¦  «         |                      ||¦  «         d S r$   )r  Úformat_commandsr  s      r   r  zHfGroup.format_options[  s0   € Ý�t˜S )Ñ,Ô,Ð,Ø×Ò˜S )Ñ,Ô,Ð,Ð,Ð,r   c                 ó*   — t          | j        ¦  «        S r$   )r%   Úcommandsrý   s     r   Úlist_commandszHfGroup.list_commands_  s   € å�D”MÑ"Ô"Ð"r   )r‰   r   r‰   rµ   .c                óp   ‡ ‡‡‡— dt           dt          f         dt           dt          f         fˆˆˆˆ fd„}|S )Nr¨   .r   c                 ól   •— t          | f‰‰p‰j        dœ‰¤Ž}‰                     ||j        ¦  «         | S )N)r   r‰   )r)  r,  Úadd_commandr   )r¨   r  r‰   rµ   r   r&   s     €€€€r   Ú	decoratorz"HfGroup.command.<locals>.decoratorf  sE   ø€ Ý# DÐ]¨t¸Ð9RÀÔ@RÐ]Ð]ÐV\Ð]Ð]ˆGØ×Ò˜W g¤lÑ3Ô3Ð3ØˆKr   ©r   r	   )r&   r   r‰   rµ   r5  s   ```` r   r  zHfGroup.commandc  s[   øøøø€ ð	�H S­# XÔ.ð 	µ8¸CÅ¸HÔ3Eð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð
 Ðr   F)r   Úgroupr   c                óN   — ||_         ||_        |                      ||¦  «         dS )z[Register a subgroup under ``name`` (which may carry pipe aliases, e.g. ``"repos | repo"``).N)r   r   r4  )r&   r7  r   r   s       r   Ú	add_groupzHfGroup.add_groupm  s,   € àˆŒ
ØˆŒØ×Ò˜ Ñ%Ô%Ð%Ð%Ð%r   )Úinvoke_without_commandr:  c                óh   ‡ ‡— dt           dt          f         dt           dt          f         fˆˆ fd„}|S )z¢Register the function invoked for this group (named ``group_callback`` because Click
        already uses the ``callback`` attribute for the group's own handler).r¨   .r   c                 óò   •— t          | ¦  «        \  }}}t          | ||¦  «        ‰_        g ‰j        ¢|¢‰_        ‰‰_        ‰rd‰_        ‰j        €%| j        rt          j	        | j        ¦  «        ‰_        | S )Nz[COMMAND] [ARGS]...)
r³   r¾   r   r­   r:  Úsubcommand_metavarr   r+   rš   r&  )r¨   r­   r®   r¯   r:  r&   s       €€r   r5  z)HfGroup.group_callback.<locals>.decoratory  s€   ø€ Ý5BÀ4Ñ5HÔ5HÑ2ˆF�JÐ 2Ý)¨$°
Ð<NÑOÔOˆDŒMØ1˜DœKÐ1¨&Ð1ˆDŒKØ*@ˆDÔ'Ø%ð @à*?�Ô'ØŒyÐ  T¤\Ð Ý#Ô,¨T¬\Ñ:Ô:�”	ØˆKr   r6  )r&   r:  r5  s   `` r   Úgroup_callbackzHfGroup.group_callbacks  sO   øø€ ð
	�H S­# XÔ.ð 
	µ8¸CÅ¸HÔ3Eð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð Ðr   r$   )r(   r)   r*   r+   r  r,  rM   r/   ÚCommandr  r�   r  r  r%   r,   r1  r	   r   r  ÚGroupr-   r9  r>  r1   r   r   r+  r+  Q  s   € € € € € € ðð ð *3€M�4˜œÔ&Ð2Ð2Ñ2ð- %¤-ð -¸EÔ<Oð -ÐTXð -ð -ð -ð -ð# ¤ð #°4¸´9ð #ð #ð #ð #ð
 "&ðØLPðð ð Ø˜$‘JðØ/3°E´MÔ/BÀTÑ/IðØ\_ðà	�8˜C ˜HÔ%Ð&¨°°c°Ô(:Ð:Ô	;ðð ð ð ð JOð &ð &ð &˜uœ{ð &°Sð &À$ð &ÐSWð &ð &ð &ð &ð 16ðð ð Ø)-ðà	�8˜C ˜HÔ%Ð&¨°°c°Ô(:Ð:Ô	;ðð ð ð ð ð r   r+  )<r+   rO   r¼   rš   Úcollections.abcr   r   r   Úpathlibr   Útypesr   Útypingr   r	   r
   r   r   r   r/   r,   r   r   r3   r6   r0   rU   rM   rP   r_   r%   rf   r-   ri   rÒ   rp   r~   rv   rz   r�   r‘   r’   r§   Údictr³   r¾   rÅ   rË   rÑ   râ   rì   rœ   rŸ   r?  r  r  r  r)  r@  r+  r1   r   r   ú<module>rF     sƒ  ððð ð0 €€€Ø Ð Ð Ð Ø €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà €€€ð*˜3ð * 3ð *ð *ð *ð *ð%ð %ð %ð %ð %ñ %ô %ð %ð:Vð Vð Vð Vð Vˆ]ñ Vô Vð VðRð Rð Rð Rð Rˆ}ñ Rô Rð Rðq ð q¨=ð q¸U¼_ð qð qð qð qð8	˜t D¤Iœð 	°8¸S¸EÀ3¸JÔ3Gð 	ð 	ð 	ð 	ð
Ø�S�E˜3�JÔ $Ñ&ð
Ø7:¸T±zð
àˆx˜Œ}˜tÑ#Ð$ d¨3¤i°$Ñ&6Ð6Ô7ð
ð 
ð 
ð 
ðØðØ"ðØ36¸±:ðØERðàˆsˆe�SˆjÔ˜DÑ ðð ð ð ð ¨#ð °%¸¸T¸	Ô2Bð ð ð ð ð ð ¨¨s°MÀDÑ4HÐ/HÔ)Ið ð ð ð ð.v˜#ð v $ð vð vð vð vð˜Sð °Tð ¸mð ð ð ð ð:Ø˜S˜E 3˜JÔ'ðØ4<¸c¸UÀC¸ZÔ4HÈ4Ñ4OðàˆuŒ}˜eœo¨sÐ3°SÐ8Ô9ðð ð ð ð>%Ø
ð>%Øð>%Ø&3°dÑ&:ð>%ØORð>%à
ˆ5Œ?˜H c U¨C ZÔ0°4Ñ7Ð7Ô8ð>%ð >%ð >%ð >%ðB 2Ø
�3˜�8Ô
ð 2à
ˆ4�”Ô  $ s¨H°c°U¸C°ZÔ,@Ð'@Ô"AÀ3ÈÁ:ÐMÔNð 2ð  2ð  2ð  2ðFØ
�3˜�8Ô
ðà�S˜( C 5¨# :Ô.Ð.Ô/ðð ˜d™
ðð ˆc�3ˆhÔð	ð ð ð ð0�Cð ˜E # s (œOð ð ð ð ð* U¤_ð *¸5¼=ð *ÈSð *ð *ð *ð *ðØ"ðØ).¬ðØMQðØbeðàðð ð ð ð*=Ð'Jð =Èsð =ð =ð =ð =ðÐ4ð ¸5¼=ð ÐUXð Ð]`ð ð ð ð ð,$Yð $Yð $Yð $Yð $Y�”ñ $Yô $Yð $YðNLð Lð Lð Lð LˆuŒ|ñ Lô Lð LðB%˜EœMð %°´ð %È%ÔJ]ð %Ðbfð %ð %ð %ð %ð(-ð -ð -ð -ð -�”ñ -ô -ð -ð Ø&*ØØØ!Ø&Ø Ø!ØØØ.2ð#ð #ð #Ø
�3˜�8Ô
ð#ð �‰*ð#ð 
ˆeŒmÔ	˜tÑ	#ð	#ð
 �‰*ð#ð �$‰Jð#ð �d‘
ð#ð ð#ð ð#ð ð#ð ð#ð ð#ð ˜3 ˜8”n tÑ+ð#ð „]ð#ð #ð #ð #ðL4ð 4ð 4ð 4ð 4ˆeŒkñ 4ô 4ð 4ð 4ð 4r   