
    Y j                         S SK r S SKJr  S SKJr  S SKJrJr  S\4S jr	SS.S\S\\   S	\S-  4S
 jjr
SS.S\S\S-  4S jjrg)    N)Iterable)wraps)	Parameter	signatureversionc                    ^  U 4S jnU$ )a*  Decorator for methods that issues warnings for positional arguments.
Using the keyword-only argument syntax in pep 3102, arguments after the
* will issue a warning when passed as a positional argument.

Args:
    version (`str`):
        The version when positional arguments will result in error.
c                 h  >^ ^^^ [        T 5      m/ m/ mTR                  R                  5        Hg  u  pUR                  [        R
                  :X  a  TR                  U5        M6  UR                  [        R                  :X  d  MV  TR                  U5        Mi     [        T 5      UU UUU4S j5       nU$ )Nc            	        > [        U 5      [        T5      -
  nUS::  a  T" U 0 UD6$ [        TS U X* S  5       VVs/ s H)  u  p4[        U[        5      (       a  U SU S3OU SU 3PM+     nnnSR	                  U5      n[
        R                  " STR                   SU ST
 S	3[        5        UR                  [        T	R                  U 5      5        T" S
0 UD6$ s  snnf )Nr   z=''=, z+Deprecated positional argument(s) used in 'z': pass z as keyword args. From version z? passing these as positional arguments will result in an error, )lenzip
isinstancestrjoinwarningswarn__name__FutureWarningupdate
parameters)argskwargs
extra_argsnameargargs_msgall_argsfkwonly_argssigr   s         s/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/huggingface_hub/utils/_deprecation.pyinner_fU_deprecate_positional_args.<locals>._inner_deprecate_positional_args.<locals>.inner_f   s   TS]2JQ$)&)) "%[*%=tKL?Q!R!RID &0S%9%94&3%q!$qN!R   yy*HMM=ajj\ J:<WI FDD 	 MM#cnnd34;v;s   0C)	r   r   itemskindr   POSITIONAL_OR_KEYWORDappendKEYWORD_ONLYr   )r!   r   paramr%   r    r"   r#   r   s   `   @@@r$    _inner_deprecate_positional_argsD_deprecate_positional_args.<locals>._inner_deprecate_positional_args   s    l>>//1KDzzY<<<%y555""4(	 2 
q	 	 
	&     r   )r   r-   s   ` r$   _deprecate_positional_argsr0      s    @ ,+r/   )custom_messagedeprecated_argsr1   c                    ^ ^^ UUU 4S jnU$ )a  Decorator to issue warnings when using deprecated arguments.

TODO: could be useful to be able to set a custom error message.

Args:
    version (`str`):
        The version when deprecated arguments will result in error.
    deprecated_args (`list[str]`):
        List of the arguments to be deprecated.
    custom_message (`str`, *optional*):
        Warning message that is raised. If not passed, a default warning message
        will be created.
c                 R   >^ ^ [        T 5      m[        T 5      UUU UU4S j5       nU$ )Nc                  "  > / n[        U TR                  R                  5       5       H2  u  p4UR                  T	;   d  M  UR	                  UR                  5        M4     UR                  5        H=  u  pVUT	;   d  M  UTR                  U   R                  :w  d  M,  UR	                  U5        M?     [        U5      S:  aK  ST
R                   SSR                  U5       ST S3nTb  UST-   -  n[        R                  " U[        5        T
" U 0 UD6$ )Nr   z Deprecated argument(s) used in 'z': r   z&. Will not be supported from version ''.z

)r   r   valuesr   r*   r'   defaultr   r   r   r   r   r   )r   r   used_deprecated_args_	parameter
kwarg_namekwarg_valuemessager1   r2   r!   r#   r   s           r$   r%   O_deprecate_arguments.<locals>._inner_deprecate_positional_args.<locals>.inner_fK   s
    $&  #D#..*?*?*A B>>_4(//	? !C ,2<<>'
 /1#s~~j'A'I'II(//
; ,: '(1,6qzzl C		"678 9!!(	- 
 "-v66Gg}5d%f%%r/   )r   r   )r!   r%   r#   r1   r2   r   s   ` @r$   r-   >_deprecate_arguments.<locals>._inner_deprecate_positional_argsH   s.    l	q	& 	& 
	&6 r/   r   )r   r2   r1   r-   s   ``` r$   _deprecate_argumentsrA   4   s    (B ,+r/   )r>   r>   c                    ^ ^ UU 4S jnU$ )a'  Decorator to issue warnings when using a deprecated method.

Args:
    version (`str`):
        The version when deprecated arguments will result in error.
    message (`str`, *optional*):
        Warning message that is raised. If not passed, a default warning message
        will be created.
c                    >^ ^ T R                   mTS:X  a  T R                  R                  S5      S   m[        T 5      U UUU4S j5       nU$ )N__init__.r   c                     > ST STR                    ST S3nTb  UST-   -  n[        R                  " U[        5        T" U 0 UD6$ )Nr   z	' (from 'z3') is deprecated and will be removed from version 'r6    )
__module__r   r   r   )r   r   warning_messager!   r>   r   r   s      r$   r%   C_deprecate_method.<locals>._inner_deprecate_method.<locals>.inner_f|   s^     D61<<.0cdkcllno  "3=0MM/=9d%f%%r/   )r   __qualname__splitr   )r!   r%   r   r>   r   s   ` @r$   _inner_deprecate_method2_deprecate_method.<locals>._inner_deprecate_methodw   sJ    zz:>>'',Q/D	q	& 
	& r/   r   )r   r>   rM   s   `` r$   _deprecate_methodrO   l   s    " #"r/   )r   collections.abcr   	functoolsr   inspectr   r   r   r0   rA   rO   r   r/   r$   <module>rS      sj     $  (*,3 *,b "&	5,5, c]5, $J	5,p >B ## #d
 #r/   