ó
    Eñi".  ã                   óZ  • S r SSKrSSKrSSKrSSKJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  \\\\4u  rrrr\R.                  r\" S S	 5       5      r\" S
 S 5       5      r\R8                  " S5      r \(       a  SSKrO\e  \R@                  " SS9  S(S jr" " S S5      r# " S S5      r$ " S S5      r% " S S\%5      r& " S S\%5      r' " S S\%5      r(S r)S r*S r+S r,S  r-S! r.S" r/S# r0S$ r1S% r2S& r3S' r4g! \! a    \R@                  " 5          N‚f = f! \ a    Sr N�f = f))z*
General helpers required for `tqdm.std`.
é    N)ÚpartialÚpartialmethodÚwraps)Ú	signature©Úeast_asian_width)Úwarn©Úproxyc              #   óL   #   • U  H  n[         R                  U5      v •  M     g 7f©N©ÚCUR_OSÚ
startswith©Ú.0Úis     ÚG/home/mande/repo/quber/.venv/lib/python3.13/site-packages/tqdm/utils.pyÚ	<genexpr>r      s    é € Ð?Ò+> aŒV×Ñ˜q×!Ð!Ò+>ùó   ‚"$)Úwin32Úcygwinc              #   óL   #   • U  H  n[         R                  U5      v •  M     g 7fr   r   r   s     r   r   r      s    é € ÐQÒ+P aŒV×Ñ˜q×!Ð!Ò+Pùr   )ÚaixÚlinuxÚdarwinÚfreebsdz\x1b\[[;\d]*[A-Za-z]F)Ústripc                 ó&  ^^^• Tc  0 m[        U 5      n[        R                  R                  5        VVs0 s H0  u  pEUR	                  U 5      (       d  M  XCS R                  5       U_M2     snnmU(       a  [        O[        mUUU4S jnU$ s  snnf )a�  
Override parameter defaults via `os.environ[prefix + param_name]`.
Maps UPPER_CASE env vars map to lower_case param names.
camelCase isn't supported (because Windows ignores case).

Precedence (highest first):

- call (`foo(a=3)`)
- environ (`FOO_A=2`)
- signature (`def foo(a=1)`)

Parameters
----------
prefix  : str
    Env var prefix, e.g. "FOO_"
types  : dict, optional
    Fallback mappings `{'param_name': type, ...}` if types cannot be
    inferred from function signature.
    Consider using `types=collections.defaultdict(lambda: ast.literal_eval)`.
is_method  : bool, optional
    Whether to use `functools.partialmethod`. If (default: False) use `functools.partial`.

Examples
--------
```
$ cat foo.py
from tqdm.utils import envwrap
@envwrap("FOO_")
def test(a=1, b=2, c=3):
    print(f"received: a={a}, b={b}, c={c}")

$ FOO_A=42 FOO_C=1337 python -c 'import foo; foo.test(c=99)'
received: a=42, b=2, c=99
```
Nc                 ó   >• [        U 5      R                  nTR                  5        VVs0 s H  u  p#X!;   d  M  X#_M     nnnU H—  nX   nUR                  UR                  La9  [        UR                  SUR                  45       H  n U" XB   5      XB'     MU     MY  UR                  b!  [        UR                  5      " XB   5      XB'   M‡   T	U   " XB   5      XB'   M™     T" U 40 UD6$ s  snnf ! [         a     Mu  f = f! [         a     MÈ  f = f)NÚ__args__)
r   Ú
parametersÚitemsÚ
annotationÚemptyÚgetattrÚ	ExceptionÚdefaultÚtypeÚKeyError)
ÚfuncÚparamsÚkÚvÚ	overridesÚparamÚtypÚenv_overridesÚpartÚtypess
          €€€r   ÚwrapÚenvwrap.<locals>.wrapL   s  ø€ Ü˜4“×+Ñ+ˆà&3×&9Ñ&9Ô&;ÔKÒ&;™d˜a¸q¹{“T�Q’TÑ&;ˆ	ÑKãˆAØ‘IˆEØ×Ñ u§{¡{Ò2Ü" 5×#3Ñ#3°ZÀ%×BRÑBRÐATÖU�CðÙ'*¨9©<Ó'8˜	™ò ó Vð —‘Ñ*Ü# E§M¡MÔ2°9±<Ó@�	“ðØ#(¨¢8¨I©LÓ#9�I“Lñ ñ" �DÑ&˜IÑ&Ð&ùó' Løô %ó Úðûô  ó Úðús.   ªC(¹C(Â
C.ÃC?Ã.
C<Ã;C<Ã?
DÄD)ÚlenÚosÚenvironr#   r   Úlowerr   r   )	Úprefixr4   Ú	is_methodr   r-   r.   r5   r2   r3   s	    `     @@r   Úenvwrapr=   "   sw   ú€ ðH �}ØˆÜˆF‹€AÜ24·*±*×2BÑ2BÔ2DÔ]Ò2D©$¨!ÈÏÉÐU[×H\Ó%�Q�r�U—[‘[“] AÒ%Ñ2DÒ]€MÞ%�=¬7€D÷'ð. €Kùó5 ^s   µBÁBc                   ó(   • \ rS rSrSrSS jrS rSrg)ÚFormatReplaceéf   z>
>>> a = FormatReplace('something')
>>> f"{a:5d}"
'something'
c                 ó   • Xl         SU l        g ©Nr   )ÚreplaceÚformat_called)ÚselfrC   s     r   Ú__init__ÚFormatReplace.__init__l   s   € ØŒØˆÕó    c                 óD   • U =R                   S-  sl         U R                  $ )Né   ©rD   rC   )rE   Ú_s     r   Ú
__format__ÚFormatReplace.__format__p   s   € Ø×Ò˜aÑÕØ�|‰|ÐrH   rK   N)Ú )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rF   rM   Ú__static_attributes__© rH   r   r?   r?   f   s   † ñô
õrH   r?   c                   ó<   • \ rS rSrSrS rS rS rS rS r	S r
S	rg
)Ú
Comparableéu   z1Assumes child has self._comparable attr/@propertyc                 ó4   • U R                   UR                   :  $ r   ©Ú_comparable©rE   Úothers     r   Ú__lt__ÚComparable.__lt__w   s   € Ø×Ñ %×"3Ñ"3Ñ3Ð3rH   c                 ó    • X:  =(       d    X:H  $ r   rV   r]   s     r   Ú__le__ÚComparable.__le__z   s   € Ø‘×0 $¡-Ð0rH   c                 ó4   • U R                   UR                   :H  $ r   r[   r]   s     r   Ú__eq__ÚComparable.__eq__}   s   € Ø×Ñ 5×#4Ñ#4Ñ4Ð4rH   c                 ó   • X:X  + $ r   rV   r]   s     r   Ú__ne__ÚComparable.__ne__€   ó   € ØÒ Ð rH   c                 ó   • X::  + $ r   rV   r]   s     r   Ú__gt__ÚComparable.__gt__ƒ   rj   rH   c                 ó   • X:  + $ r   rV   r]   s     r   Ú__ge__ÚComparable.__ge__†   s   € ØÒÐrH   rV   N)rP   rQ   rR   rS   rT   r_   rb   re   rh   rl   ro   rU   rV   rH   r   rX   rX   u   s#   † Ù;ò4ò1ò5ò!ò!õ rH   rX   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚObjectWrapperéŠ   c                 ó.   • [        U R                  U5      $ r   )r&   Ú_wrapped©rE   Únames     r   Ú__getattr__ÚObjectWrapper.__getattr__‹   s   € Ü�t—}‘} dÓ+Ð+rH   c                 ó.   • [        U R                  X5      $ r   )Úsetattrru   ©rE   rw   Úvalues      r   Ú__setattr__ÚObjectWrapper.__setattr__Ž   s   € Ü�t—}‘} dÓ2Ð2rH   c                 ód   •  [         R                  X5      $ ! [         a    [        X5      s $ f = f)z7Actual `self.getattr` rather than self._wrapped.getattr)Úobjectrx   ÚAttributeErrorr&   rv   s     r   Úwrapper_getattrÚObjectWrapper.wrapper_getattr‘   s2   € ð	'Ü×%Ñ% dÓ1Ð1øÜó 	'Ü˜4Ó&Ò&ð	'ús   ‚ —/®/c                 ó.   • [         R                  XU5      $ )z7Actual `self.setattr` rather than self._wrapped.setattr)r�   r~   r|   s      r   Úwrapper_setattrÚObjectWrapper.wrapper_setattr˜   s   € ä×!Ñ! $¨eÓ4Ð4rH   c                 ó(   • U R                  SU5        g)z$
Thin wrapper around a given object
ru   N)r†   )rE   Úwrappeds     r   rF   ÚObjectWrapper.__init__œ   s   € ð 	×Ñ˜Z¨Õ1rH   rV   N)
rP   rQ   rR   rS   rx   r~   rƒ   r†   rF   rU   rV   rH   r   rr   rr   Š   s   † ò,ò3ò'ò5õ2rH   rr   c                   ó8   ^ • \ rS rSrSrU 4S jrS rS rSrU =r	$ )ÚSimpleTextIOWrapperé£   z�
Change only `.write()` of the wrapped object by encoding the passed
value and passing the result to the wrapped object's `.write()` method.
c                 óH   >• [         TU ]  U5        U R                  SU5        g )NÚencoding)ÚsuperrF   r†   )rE   r‰   r�   Ú	__class__s      €r   rF   ÚSimpleTextIOWrapper.__init__©   s    ø€ Ü‰Ñ˜Ô!Ø×Ñ˜Z¨Õ2rH   c                 ót   • U R                   R                  UR                  U R                  S5      5      5      $ )z@
Encode `s` and pass to the wrapped object's `.write()` method.
r�   )ru   ÚwriteÚencoderƒ   )rE   Úss     r   r”   ÚSimpleTextIOWrapper.write­   s-   € ð �}‰}×"Ñ" 1§8¡8¨D×,@Ñ,@ÀÓ,LÓ#MÓNÐNrH   c                 ó6   • U R                   [        USU5      :H  $ ©Nru   ©ru   r&   r]   s     r   re   ÚSimpleTextIOWrapper.__eq__³   ó   € Ø�}‰}¤¨¨z¸5Ó AÑAÐArH   rV   )
rP   rQ   rR   rS   rT   rF   r”   re   rU   Ú__classcell__©r‘   s   @r   rŒ   rŒ   £   s   ø† ñõ
3òO÷Bð BrH   rŒ   c                   óB   ^ • \ rS rSrSr\S 5       rU 4S jrS rSr	U =r
$ )ÚDisableOnWriteErroré·   zG
Disable the given `tqdm_instance` upon `write()` or `flush()` errors.
c                 ó.   ^ ^• [        T 5      m UU 4S jnU$ )zF
Quietly set `tqdm_instance.miniters=inf` if `func` raises `errno=5`.
c                  ó>  >•  T" U 0 UD6$ ! [          a@  nUR                  S:w  a  e  [        S5      Tl         S nAg ! [         a      S nAg f = fS nAf[
         a?  nS[        U5      ;  a  e  [        S5      Tl         S nAg ! [         a      S nAg f = fS nAff = f)Né   ÚinfÚclosed)ÚOSErrorÚerrnoÚfloatÚminitersÚReferenceErrorÚ
ValueErrorÚstr)ÚargsÚkwargsÚer+   Útqdm_instances      €€r   ÚinnerÚ7DisableOnWriteError.disable_on_exception.<locals>.innerÂ   s˜   ø€ ðÙ˜TÐ, VÑ,Ð,øÜó Ø—7‘7˜a“<ØðÜ-2°5«\�M×*Ñ*øÜ%ó Ýðþäó Ø¤3 q£6Ó)ØðÜ-2°5«\�M×*Ñ*øÜ%ó ÝðþðúsY   ƒ ‹
B•A§<¼
AÁAÁAÁAÁBÁBÁ.BÂ
BÂBÂBÂBÂBr
   )r±   r+   r²   s   `` r   Údisable_on_exceptionÚ(DisableOnWriteError.disable_on_exception»   s   ù€ ô
 ˜mÓ,ˆö	ð" ˆrH   c                 ó  >• [         TU ]  U5        [        US5      (       a+  U R                  SU R	                  X!R
                  5      5        [        US5      (       a,  U R                  SU R	                  X!R                  5      5        g g )Nr”   Úflush)r�   rF   Úhasattrr†   r´   r”   r·   )rE   r‰   r±   r‘   s      €r   rF   ÚDisableOnWriteError.__init__Õ   su   ø€ Ü‰Ñ˜Ô!Ü�7˜G×$Ñ$Ø× Ñ Ø˜×2Ñ2°=Ç-Á-ÓPôRä�7˜G×$Ñ$Ø× Ñ Ø˜×2Ñ2°=Ç-Á-ÓPõRð %rH   c                 ó6   • U R                   [        USU5      :H  $ r™   rš   r]   s     r   re   ÚDisableOnWriteError.__eq__Þ   rœ   rH   rV   )rP   rQ   rR   rS   rT   Ústaticmethodr´   rF   re   rU   r�   rž   s   @r   r    r    ·   s.   ø† ñð ñó ðõ2R÷Bð BrH   r    c                   ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )ÚCallbackIOWrapperéâ   c                 ó
  >^^• [         TU ]  U5        [        X#5      mUS:X  a(  [        T5      UU4S j5       nU R	                  SU5        gUS:X  a(  [        T5      UU4S j5       nU R	                  SU5        g[        S5      e)zc
Wrap a given `file`-like object's `read()` or `write()` to report
lengths to the given `callback`
r”   c                 óB   >• T" U /UQ70 UD6nT" [        U 5      5        U$ r   ©r7   )Údatar®   r¯   ÚresÚcallbackr+   s       €€r   r”   Ú)CallbackIOWrapper.__init__.<locals>.writeë   s(   ø€ á˜4Ð1 $Ò1¨&Ñ1�Ùœ˜T›Ô#Ø�
rH   Úreadc                  ó:   >• T" U 0 UD6nT" [        U5      5        U$ r   rÂ   )r®   r¯   rÃ   rÅ   r+   s      €€r   rÇ   Ú(CallbackIOWrapper.__init__.<locals>.readò   s#   ø€ á˜TÐ, VÑ,�Ùœ˜T›Ô#Ø�rH   z Can only wrap read/write methodsN)r�   rF   r&   r   r†   r*   )rE   rÅ   ÚstreamÚmethodr”   rÇ   r+   r‘   s    `    @€r   rF   ÚCallbackIOWrapper.__init__ã   sˆ   ú€ ô
 	‰Ñ˜Ô Ü�vÓ&ˆØ�WÓÜ�4‹[õó ðð × Ñ  ¨%Õ0Ø�vÓÜ�4‹[õó ðð × Ñ  ¨Õ.äÐ=Ó>Ð>rH   rV   )rÇ   )rP   rQ   rR   rS   rF   rU   r�   rž   s   @r   r¾   r¾   â   s   ø† ÷?õ ?rH   r¾   c                 óØ   •  SR                  U 5        g! [         a     g[         a@     U R                  5       R	                  S5      =(       d    SU :H  s $ ! [         a      gf = ff = f)Nu   â–ˆâ–‰TFzutf-ÚU8)r•   ÚUnicodeEncodeErrorr'   r:   r   )r�   s    r   Ú_is_utfrÐ   ü   so   € ð
Ø×Ñ˜hÔ'ð øô ó ÙÜó ð	Ø—>‘>Ó#×.Ñ.¨vÓ6×L¸4À8Ñ;KÒLøÜó 	Úð	úðús1   ‚ ”
A) 	A)ª*AÁA)Á
A%Á!A)Á$A%Á%A)c                 óN   •  [        U R                  5      $ ! [         a     gf = f©NF)rÐ   r�   r‚   )Úfps    r   Ú_supports_unicoderÔ   
  s(   € ðÜ�r—{‘{Ó#Ð#øÜó Ùðús   ‚ —
$£$c                 óx   • [        U [        5      (       a  U  H  n[        U5      S:”  d  M    g   g[        U 5      $ )Néÿ   FT)Ú
isinstancer­   ÚordrÔ   )r–   Úcs     r   Ú	_is_asciirÚ     s7   € Ü�!”S×ÑÛˆAÜ�1‹v˜�|Ùñ ð Ü˜QÓÐrH   c                  ó`   • Sn [         (       a  [        n U c  [        n [        (       a  [        n U $ )zm
Return a function which returns console dimensions (width, height).
Supported: linux, osx, windows, cygwin.
N)ÚIS_WINÚ_screen_shape_windowsÚ_screen_shape_tputÚIS_NIXÚ_screen_shape_linux)Ú_screen_shapes    r   Ú_screen_shape_wrapperrâ     s.   € ð
 €Mß‚vÜ-ˆØÑ Ü.ˆMß‚vÜ+ˆØÐrH   c                 óZ  •  SS K nSSKJnJn  SSKJnJn  SnX:X  a  SnOX:X  a  SnUR                  R                  U5      nU" S5      nUR                  R                  Xx5      n	U	(       a/  UR                  SUR                  5      u  p«pÍpïnnnnnUU-
  UU-
  4$  g	! [         a     g	f = f)
Nr   )Úcreate_string_bufferÚwindll)ÚstdinÚstdoutiôÿÿÿiöÿÿÿiõÿÿÿé   ÚhhhhHhhhhhh©NN)ÚstructÚctypesrä   rå   Úsysræ   rç   Úkernel32ÚGetStdHandleÚGetConsoleScreenBufferInfoÚunpackÚrawr'   )rÓ   rë   rä   rå   ræ   rç   Ú	io_handleÚhÚcsbirÄ   Ú_bufxÚ_bufyÚ_curxÚ_curyÚ_wattrÚleftÚtopÚrightÚbottomÚ_maxxÚ_maxys                        r   rÝ   rÝ   )  sº   € ðÛß7ß%àˆ	Ø‹;Ø‰IØ‹\ØˆIà�O‰O×(Ñ(¨Ó3ˆÙ# BÓ'ˆØ�o‰o×8Ñ8¸ÓAˆÞà#Ÿ]™]¨=¸$¿(¹(ÓCñˆU˜5¨°s¸EÀ6Ø�EØ˜4‘< ¨#¡Ð-Ð-ð ð øô ó ØØðús   ‚BB Â
B*Â)B*c                  ó°   •  SSK nSSKJn  S Vs/ s H)  n[        U" UR	                  SU-   5      5      5      S-
  PM+     sn$ s  snf ! [
         a     gf = f)zcygwin xterm (windows)r   N)Ú
check_call)ÚcolsÚlinesztput rJ   rê   )ÚshlexÚ
subprocessr  ÚintÚsplitr'   )rL   r  r  r   s       r   rÞ   rÞ   A  sc   € ðÛÝ)á*ó,Ú*�Aô ‘J˜uŸ{™{¨7°Q©;Ó7Ó8Ó9¸AÔ=Ù*ñ,ð 	,ùò ,øäó ØØðús"   ‚A �0AÁ A ÁA Á
AÁAc                 ó6  •  SSK J n  SSKJn  SSKJn   U" SU" XS5      5      S S u  pEXT4$ ! [
         aQ     S Vs/ s H"  n[        [        R                  U   5      S	-
  PM$     Os  snf sns $ ! [        [        4 a      g
f = ff = f! [         a     g
f = f)Nr   )Úarray)Úioctl)Ú
TIOCGWINSZrô   z        é   )ÚCOLUMNSÚLINESrJ   rê   )r
  Úfcntlr  Útermiosr  r'   r  r8   r9   r*   r¬   ÚImportError)rÓ   r
  r  r  Úrowsr  r   s          r   rà   rà   M  s    € ð"ÝÝÝ&ð	"Ù˜s¡E¨"¸(Ó$CÓDÀRÀaÐH‰JˆDØ�:ÐøÜó 	"ð"Ù8LÓMÒ8L°1œœBŸJ™J q™MÓ*¨QÔ.Ò8LùÔMÒMøÜœjÐ)ó "Ú!ð"úð	"ûô ó ÙðúsH   ‚B •- ­
B¸A0¼)A&Á%A0Á-BÁ0BÂ BÂBÂBÂ
BÂBc                  ór   ^• [        S[        SS9  [        5       mT(       d  g[        T5      U4S j5       n U $ )zX
Return a function which returns console width.
Supported: linux, osx, windows, cygwin.
zQUse `_screen_shape_wrapper()(file)[0]` instead of `_environ_cols_wrapper()(file)`r  )Ú
stacklevelNc                 ó   >• T" U 5      S   $ rB   rV   )rÓ   Úshapes    €r   r²   Ú$_environ_cols_wrapper.<locals>.innerk  s   ø€ á�R‹y˜‰|ÐrH   )r	   ÚDeprecationWarningrâ   r   )r²   r  s    @r   Ú_environ_cols_wrapperr  `  sC   ø€ ô
 	ð 
,Ü-?ÈAòOä!Ó#€EÞØä
ˆ5ƒ\ôó ðð €LrH   c                  ó@   • [         R                  S:X  a	  [        c  S$ S$ )NÚntrO   z[A)r8   rw   ÚcoloramarV   rH   r   Ú_term_move_upr  r  s   € Ü—'‘'˜T“/¬Ñ(8ˆ2ÐG¸xÐGrH   c                 ó8   • [        S [        U 5       5       5      $ )Nc              3   óH   #   • U  H  n[        U5      S ;   a  SOSv •  M     g7f)ÚFWr  rJ   Nr   )r   Úchs     r   r   Ú_text_width.<locals>.<genexpr>w  s"   é € ÐIÂ&¸BÔ$ RÓ(¨DÓ0‰q°aÔ7Â&ùs   ‚ ")Úsumr­   )r–   s    r   Ú_text_widthr%  v  s   € ÜÑIÄ#ÀaÄ&ÓIÓIÐIrH   c                 ó@   • [        [        R                  SU 5      5      $ )zd
Returns the real on-screen length of a string which may contain
ANSI control codes and wide chars.
rO   )r%  ÚRE_ANSIÚsub)rÃ   s    r   Údisp_lenr)  z  s   € ô
 ”w—{‘{ 2 tÓ,Ó-Ð-rH   c                 óT  • [        U 5      [        U 5      :X  a  U SU $ [        [        R	                  U 5      5      n[        U 5      U:”  a  U SS n [        U 5      U:”  a  M  U(       a@  [        [        R	                  U 5      5      (       a  U R                  S5      (       a  U $ U S-   $ U $ )z:
Trim a string which may contain ANSI control characters.
Néÿÿÿÿz[0m)r7   r)  Úboolr'  ÚsearchÚendswith)rÃ   ÚlengthÚansi_presents      r   Ú	disp_trimr1  ‚  s‘   € ô ˆ4ƒy”H˜T“NÓ"Ø�G�Vˆ}ÐäœŸ™ tÓ,Ó-€LÜ
�4‹.˜6Ó
!Ø�C�Rˆyˆô �4‹.˜6Õ
!æœœWŸ^™^¨DÓ1×2Ñ2à—}‘} Y×/Ñ/ˆtÐE°T¸IÑ5EÐEØ€KrH   rÒ   )5rT   r8   Úrerí   Ú	functoolsr   r   r   Úinspectr   Úunicodedatar   Úwarningsr	   Úweakrefr   ÚrangeÚchrr­   Ú_rangeÚ_unichÚ_unicodeÚ_basestringÚplatformr   ÚanyrÜ   rß   Úcompiler'  r  r  ÚinitÚ	TypeErrorr=   r?   rX   rr   rŒ   r    r¾   rÐ   rÔ   rÚ   râ   rÝ   rÞ   rà   r  r  r%  r)  r1  rV   rH   r   Ú<module>rC     s[  ðñó 
Û 	Û 
ß 3Ñ 3Ý å (Ý Ý à(-¨s°C¸Ð(<Ñ %€ˆ�˜+Ø	�‰€Ù	Ñ?Ñ+>Ó?Ó	?€Ù	ÑQÑ+PÓQÓ	Q€Ø
�*Š*Ð,Ó
-€ðÞÜàÐð 	ðØ�Š˜EÒ"ô
A÷Hñ ÷ ñ  ÷*2ñ 2ô2B˜-ô Bô((B˜-ô (BôV?˜ô ?ò4òò òòò0	ò"ò&ò$HòJò.óøðI ó Ø�ŠŽðûð ó Ø‚Hðús$   Á9D Â	D ÄDÄDÄD*Ä)D*