+
    ˜°³jI  ã                  óZ   € ^ RI Ht ^ RIt^ RIHt ]]],          ,          t ! R R4      tR# )é    )ÚannotationsN)ÚIterablec                  ó~   € ] tR t^tRtRRRR/R R lltR tR tR	 R
 lt]	RR R ll4       t
]	RR R ll4       tRtR# )Ú	GlobGroupa0  A set of patterns that candidate strings will be matched against.

A candidate is composed of a list of segments separated by ``separator``, e.g. "foo.bar.baz".

A pattern contains one or more segments. Segments can be:
    - A literal string (e.g. "foo"), which matches exactly.
    - A string containing a wildcard (e.g. "torch*", or "foo*baz*"). The wildcard matches
      any string, including the empty string.
    - A double wildcard ("**"). This matches against zero or more complete segments.

Examples:
    ``torch.**``: matches ``torch`` and all its submodules, e.g. ``torch.nn`` and ``torch.nn.functional``.
    ``torch.*``: matches ``torch.nn`` or ``torch.functional``, but not ``torch.nn.functional``.
    ``torch*.**``: matches ``torch``, ``torchvision``, and all their submodules.

A candidate will match the ``GlobGroup`` if it matches any of the ``include`` patterns and
none of the ``exclude`` patterns.

Args:
    include (str | Iterable[str]): A string or list of strings,
        each representing a pattern to be matched against. A candidate
        will match if it matches *any* include pattern
    exclude (str | Iterable[str]): A string or list of strings,
        each representing a pattern to be matched against. A candidate
        will be excluded from matching if it matches *any* exclude pattern.
    separator (str): A string that delimits segments in candidates and
        patterns. By default this is "." which corresponds to how modules are
        named in Python. Another common value for this is "/", which is
        the Unix path separator.
ÚexcludeÚ	separatorÚ.c               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚincludeÚGlobPatternr   r   Ústr© )Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/package/glob_group.pyÚ__annotate__ÚGlobGroup.__annotate__+   s$   € ÷ #ñ #Ø"ð#Ø0;ð#ØMPñ#ó    c               	ó–   € R V RV R2V n         \        P                  W4      V n        \        P                  W#4      V n        W0n        R# )zGlobGroup(include=z
, exclude=Ú)N)Ú_dbgr   Ú
_glob_listr   r   r   )Úselfr   r   r   s   &&$$r   Ú__init__ÚGlobGroup.__init__+   sC   € ð )¨¨	°¸G¸9ÀAÐFˆŒ	Ü ×+Ñ+¨GÓ?ˆŒÜ ×+Ñ+¨GÓ?ˆŒØ"Žr   c                	ó   € V P                   # ©N©r   ©r   s   &r   Ú__str__ÚGlobGroup.__str__3   ó   € Ø�y‰yÐr   c                	ó   € V P                   # r   r   r   s   &r   Ú__repr__ÚGlobGroup.__repr__6   r"   r   c               ó    € V ^8„  d   QhRRRR/# )r   Ú	candidater   ÚreturnÚboolr   )r   s   "r   r   r   9   s   € ÷ 
ñ 
 ð 
¨ñ 
r   c                	ór  a€ V P                   S,           o\        ;QJ d)    V3R  lV P                   4       F  '       g   K   RM	  RM! V3R  lV P                   4       4      ;'       dO    \        ;QJ d)    V3R lV P                   4       F  '       d   K   R# 	  R# ! V3R lV P                   4       4      # )c              3  óD   <"  € T F  qP                  S4      x € K  	  R # 5ir   ©Ú	fullmatch©Ú.0Úpr'   s   & €r   Ú	<genexpr>Ú$GlobGroup.matches.<locals>.<genexpr>;   s   øé € Ð@±<¨a—;‘;˜y×)Ð)³<ùs   ƒ TFc              3  óN   <"  € T F  qP                  S4      '       * x € K  	  R # 5ir   r,   r.   s   & €r   r1   r2   ;   s"   øé € ð I
Ù0<¨1—‘˜IÓ&×&Ñ&³ùs   ƒ"%)r   Úanyr   Úallr   )r   r'   s   &fr   ÚmatchesÚGlobGroup.matches9   sˆ   ø€ Ø—N‘N YÕ.ˆ	ß‹sÔ@°4·<²<Ó@�s�sŠsÔ@°4·<²<Ó@Ó@÷ 
ð 
ÇSÃSô I
Ø04·²óI
ÇSÄSð 	
ÂSð 	
ÀSô I
Ø04·²óI
ó F
ð 	
r   c               ó    € V ^8„  d   QhRRRR/# )r   Úelemsr   r   r   r   )r   s   "r   r   r   @   s   € ÷ Hñ H˜+ð H°#ñ Hr   c                	ó®   € \        V \        4      '       d   \        P                  W4      .# V  Uu. uF  p\        P                  W!4      NK  	  up# u upi r   )Ú
isinstancer   r   Ú_glob_to_re)r9   r   Úes   && r   r   ÚGlobGroup._glob_list?   sF   € ä�eœS×!Ò!Ü×)Ñ)¨%Ó;Ð<Ð<áAFÓGÁ¸A”I×)Ñ)¨!Ö7ÁÑGÐGùÒGs   ±Ac               ó    € V ^8„  d   QhRRRR/# )r   Úpatternr   r   r   )r   s   "r   r   r   G   s   € ÷ "ñ "˜Sð "¨Sñ "r   c                	ó’   aa€ V3R  loRP                  V3R lV P                  S4       4       4      p\        P                  ! V4      # )c                ó:  <€ R V 9   dE   V R 8X  d3   R\         P                  ! S4      ,           R,           S,           R,           # \        R4      h\         P                  ! S4      RS,           R,           P                  R V P	                  R4       4       4      ,           # )z**Ú(z[^z]+)*z,** can only appear as an entire path segmentz]*c              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir   )ÚreÚescape)r/   Úxs   & r   r1   ÚAGlobGroup._glob_to_re.<locals>.component_to_re.<locals>.<genexpr>Q   s   é € ð MÙ*> Q”B—I’I˜a—L�LÓ*>ùs   ‚#%Ú*)rE   rF   Ú
ValueErrorÚjoinÚsplit)Ú	componentr   s   &€r   Úcomponent_to_reÚ.GlobGroup._glob_to_re.<locals>.component_to_reJ   s‡   ø€ Ø�yÔ Ø Ô$Ø¤§¢¨9Ó!5Õ5¸Õ<¸yÕHÈ6ÕQÐQä$Ð%SÓTÐTä—y’y Ó+¨t°iÕ/?À$Õ/F×.LÑ.Lñ MØ*3¯/©/¸#Ô*>óMó /õ ð r   Ú c              3  ó4   <"  € T F  pS! V4      x € K  	  R # 5ir   r   )r/   ÚcrN   s   & €r   r1   Ú(GlobGroup._glob_to_re.<locals>.<genexpr>U   s   øé € ÐNÑ5M°™¨×+Ð+Ó5Mùs   ƒ)rK   rL   rE   Úcompile)r@   r   ÚresultrN   s   &f @r   r<   ÚGlobGroup._glob_to_reF   s6   ù€ õ		ð —‘ÔN°W·]±]À9Ô5MÓNÓNˆÜ�zŠz˜&Ó!Ð!r   )r   r   r   r   Nr   )r	   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r    r$   r6   Ústaticmethodr   r<   Ú__static_attributes__r   r   r   r   r      sU   † ñð>#Ø>@ð#ØSV÷#òòõ
ð öHó ðHð ö"ó ô"r   r   )Ú
__future__r   rE   Úcollections.abcr   r   r   r   r   r   r   Ú<module>r`      s*   ðå "ã 	Ý $ð �H˜S•MÕ!€÷K"ó K"r   