+
    –°³jü]  ã                   ó  a € R7 t<0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHtHtHt ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^RIHt ]'       d   ^RIHt . R8Ot]! R
R7       ! R R	]4      4       t/ t] ^ k R R lt]! 4       ]]P>                  &    ! R R4      t R]PB                  R]PD                  R]PF                  R]PH                  R]PJ                  PL                  R]PN                  R]PP                  R] ! 4       R])! R4      R]PT                  R]PV                  ! R4      R]	/t,]-! ]4       F  t.]/! ]].4      ],].&   K  	  R R lt0R R  lt1/ t2] ^k R! R" lt3]! R
R7      R# R$ l4       t4]R% R& l4       t5]R9R' R( ll4       t5]! R
R7      R:R) R* ll4       t5]! R
R7      R+ R, l4       t6]! R
R7      R- R. l4       t7]! R
R7      R;R/ R0 ll4       t8]! R
R7      R;R1 R2 ll4       t9]! R
R7      R<R3 R4 ll4       t:R5 R6 lt;R# )=é    N)ÚCallable)ÚAnyÚcastÚLiteralÚ
NamedTupleÚoverloadÚTYPE_CHECKING)Úboolean_dispatched)Ú
OpOverloadÚOpOverloadPacket)Ú
_fast_bind)Úcompatibility)ÚArgumentÚArgsKwargsPairF)Úis_backward_compatiblec                   ó0   a € ] tR t^ t o RtV 3R ltRtV tR# )r   z4
Simple named tuple for wrapping args/kwargs pairs.
c                ó\   <€ V ^8„  d   Qh/ S[ S[R3,          ;R&   S[S[S[3,          ;R&   # )é   .ÚargsÚkwargs)Útupler   ÚdictÚstr)ÚformatÚ__classdict__s   "€ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/fx/operator_schemas.pyÚ__annotate__ÚArgsKwargsPair.__annotate__    s/   ø‡ ‚ ñ ‘�S��/Ññ ñ ‘‘c��NÑò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r       s   ø‡ € ñ÷ ƒ r   c                óN   € V ^8„  d   QhR\         \        P                  ,          /# )r   Úreturn)ÚlistÚinspectÚ	Signature)r   s   "r   r   r   -   s   € ÷ ñ œ$œw×0Ñ0Õ1ñ r   c                  ó¶   € . p R  R lpV P                  \        P                  ! V4      4       R R lpV P                  \        P                  ! V4      4       V # )c                ó<   € V ^8„  d   QhR\         P                  RR/# )r   Úselfr+   N)ÚtorchÚTensor)r   s   "r   r   Ú&_nonzero_schemas.<locals>.__annotate__0   s   € ÷ ñ ”e—l‘lð  tñ r   c                 ó   € R # ©Nr    )r1   s   &r   ÚnonzeroÚ!_nonzero_schemas.<locals>.nonzero0   ó   € Ùr   c                óH   € V ^8„  d   QhR\         P                  R\        RR/# )r   r1   Úas_tupler+   N)r2   r3   Úbool)r   s   "r   r   r4   5   s%   € ÷ ñ ”e—l‘lð ´ð ¸$ñ r   c                ó   € R # r6   r    )r1   r;   s   &$r   r7   r8   5   r9   r   )Úappendr-   Ú	signature)Ú
signaturesr7   s     r   Ú_nonzero_schemasrA   -   sM   € Ø€Jõð ×Ñ”g×'Ò'¨Ó0Ô1õð ×Ñ”g×'Ò'¨Ó0Ô1àÐr   c                   ó2   a € ] tR t^@t o V 3R lR ltRtV tR# )Ú_FakeGlobalNamespacec                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   Únamer+   )r   ÚtypesÚ
ModuleType)r   r   s   "€r   r   Ú!_FakeGlobalNamespace.__annotate__A   s%   ø€ ÷ @ñ @¡ð @©×(8Ñ(8ñ @r   c                ó2   € VR 8X  d   \         # \        R4      h)r2   z!Expected a torch namespace lookup)r2   ÚRuntimeError)r1   rE   s   &&r   Ú__getattr__Ú _FakeGlobalNamespace.__getattr__A   s   € Ø�7Œ?ÜˆLÜÐ>Ó?Ð?r   r    N)r!   r"   r#   r$   rK   r'   r(   r)   s   @r   rC   rC   @   s   ø‡ € ÷@ö @r   rC   r3   ÚDeviceÚLayoutÚnumberÚFutureÚAnyEnumTypeÚQSchemeÚ	__torch__ÚNoneTypeÚStorageÚtÚPyObjectc                ó(   € V ^8„  d   QhRRR\         /# )r   Úts_typeztorch._C.JitTyper+   ©r   )r   s   "r   r   r   Y   s   € ÷ <ñ <Ð.@ð <ÄSñ <r   c                ó6   € \        V P                  \        4      # )z×
Convert a TorchScript type to a Python type (including subtypes) via
eval'ing the annotation_str. _type_eval_globals sets up expressions
like "List" and "Future" to map to actual types (typing.List and jit.Future)
)ÚevalÚannotation_strÚ_type_eval_globals)rY   s   &r   Ú _torchscript_type_to_python_typer_   Y   s   € ô �×&Ñ&Ô(:Ó;Ð;r   c                ól   € V ^8„  d   QhR\         P                  P                  R\        P                  /# ©r   Ú	ts_schemar+   ©r2   Ú_CÚFunctionSchemar-   r.   )r   s   "r   r   r   b   s0   € ÷ 6Hñ 6HÜ�x‰x×&Ñ&ð6Hä×Ññ6Hr   c           
      ó&  € ^ RI Hp . pV P                   EFd  p\        VP                  4      pVP                  4       '       d   VP                  MVP                  pVP                  R8w  d   VP                  MRpVP                  '       d   VP                  MVP                  pVR8X  dµ   WqP                  8w  d   \        RV 24      hVP                  p\        V4       F{  w  r‰V	P                  VP                  8w  d&   \        RV	P                   RV	P                   24      hV! V	P                  VP                  V	P                   V	P"                  R7      W(&   K}  	  VP%                  V! WgWTR7      4       EKg  	  V P&                   U
u. uF  p
\        V
P                  4      NK  	  pp
\)        V4      ^ 8X  d   R	pM8\)        V4      ^8X  d   V^ ,          pM\*        P-                  \+        V4      4      p\         P.                  ! W,R
7      # u up
i )r   )Ú	Parameterr1   ÚinputÚfromz$Expected POSITIONAL_OR_KEYWORD, got z)Expected POSITIONAL_OR_KEYWORD for param z, got )rE   ÚkindÚdefaultÚ
annotationN)Úreturn_annotation)r-   rg   Ú	argumentsr_   ÚtypeÚhas_default_valueÚdefault_valueÚemptyrE   Ú
kwarg_onlyÚKEYWORD_ONLYÚPOSITIONAL_OR_KEYWORDÚAssertionErrorÚPOSITIONAL_ONLYÚ	enumeraterj   rk   rl   r>   ÚreturnsÚlenr   Ú__class_getitem__r.   )rb   rg   Ú
parametersÚargÚarg_typerk   rE   rj   ÚidxÚpÚretÚreturn_typesÚreturn_types   &            r   Ú%_torchscript_schema_to_signature_implr„   b   sÕ  € õ "à"$€JØ×"Õ"ˆÜ3°C·H±HÓ=ˆØ'*×'<Ñ'<×'>Ò'>�#×#Ò#ÀIÇOÁOˆð Ÿ8™8 vÔ-ˆs�xŠx°7ˆð �~�~ˆ~ð ×"Ò"à×0Ñ0ð 	ð �6Œ>Ø×6Ñ6Ô6Ü$Ð'KÈDÈ6Ð%RÓSÐSð ×,Ñ,ˆDô $ JÖ/‘�Ø—6‘6˜Y×<Ñ<Ô<Ü(ØCÀAÇFÁFÀ8È6ÐRS×RXÑRXÐQYÐZóð ñ #,ØŸ™Ø"×2Ñ2ØŸI™IØ Ÿ|™|ô	#�
“ñ 0ð 	×ÑÙ˜4°GÔQ÷	
ñG #ðN ?H×>OÒ>OóÙ>O°sÔ(¨¯©Ö2Ñ>Oð ð ô ˆ<Ó˜AÔØ‰Ü	ˆ\Ó	˜aÔ	Ø" 1•o‰ä×-Ñ-¬e°LÓ.AÓBˆä×Ò˜ZÔGÐGùòs   ÆHc                ól   € V ^8„  d   QhR\         P                  P                  R\        P                  /# ra   rc   )r   s   "r   r   r   ž   s,   € ÷ ñ Ü�x‰x×&Ñ&ðä×Ññr   c                 ó”   € V P                   V P                  3p\        P                  V4      pVe   V# \	        V 4      pV\        V&   V# r6   )rE   Úoverload_nameÚ_SCHEMA_TO_SIGNATURE_CACHEÚgetr„   )rb   Ú	cache_keyÚ	cache_valÚress   &   r   Ú _torchscript_schema_to_signaturer�   ž   sN   € ð —‘ 	× 7Ñ 7Ð7€IÜ*×.Ñ.¨yÓ9€IØÒØÐä
/°	Ó
:€CØ,/Ô˜yÑ)Ø€Jr   c                ó‚   € V ^8„  d   QhR\         R\        3,          R\        R,          R\        \        R3,          RR/# )	r   Útarget.r   r   r   r+   N)r   .)r   r   r   r   r   )r   s   "r   r   r   ­   sG   € ÷ &ñ &Ü�Sœ#�XÕð&ä
�Õ
 ð&ô ”�j�Õ!ð&ð 
ñ	&r   c                 óZ  € \        V R R7      w  r4V'       d‚   V'       dx   . p\        W44       F'  w  rg \        V.VO5/ VB  VP                  Wg34       K)  	  R R lp\        V4      ^ 8X  d   R# \        V4      ^8X  d   V^ ,          w  ršV! V
4       R# R# R# R#   \         d     K|  i ; i)T)Úreturn_schemasc                óP   € V ^8„  d   QhR\         P                  P                  RR/# )r   Úschemar+   N)r2   rd   re   )r   s   "r   r   Ú1check_for_mutable_operation.<locals>.__annotate__Á   s$   € ÷ 	ñ 	¤U§X¡X×%<Ñ%<ð 	Àñ 	r   c                 óH   € V P                   '       d   \        R V  R24      hR# )z!Tried to trace mutable operation z|. FX only supports functional code, so operations that mutate operands in-place (e.g. via `out` arguments) are not supportedN)Ú
is_mutablerJ   )r“   s   &r   Úthrow_if_mutableÚ5check_for_mutable_operation.<locals>.throw_if_mutableÁ   s2   € Ø× × Ð Ü"Ø7¸°xð @(ð )óð ñ !r   N)Úget_signature_for_torch_opÚzipr   r>   Ú	TypeErrorrz   )r�   r   r   r@   ÚschemasÚmatched_schemasÚcandidate_signaturer“   r—   Ú_Úschema_to_checks   &&&        r   Úcheck_for_mutable_operationr¡   ¬   s¶   € ô 5°VÈDÔQÑ€Jç—gØSUˆô
 ,/¨zÖ+CÑ'ÐðÜÐ.Ð@°Ò@¸Ò@Ø×&Ñ&Ð(;Ð'DÖEñ ,Dõ	ô ˆÓ 1Ô$áÜ�Ó! QÔ&à!0°Õ!3ÑˆAÙ˜_Ö-ñ ñ? �zøô ô Úðús   ³!BÂB*Â)B*c          	      ó
  € V ^8„  d   QhR\         R\        3,          R\        R,          R\        \        \
        P                  ,          R,          \        \        P                  P                  ,          R,          3,          /# )r   Úop.r‘   Tr+   N)
r   r   r   r   r,   r-   r.   r2   rd   re   )r   s   "r   r   r   ×   sd   € ÷ Vñ VÜ�”c�ÕðVÜ,3°D­MðVä
Œ4”×!Ñ!Õ" TÕ)¬4´·±×0GÑ0GÕ+HÈ4Õ+OÐOÕPñVr   c                 ó   € R # r6   r    ©r£   r‘   s   &&r   r™   r™   Ö   s	   € ñ SVr   c                óœ   € V ^8„  d   QhR\         R\        3,          R\        R,          R\        \        P
                  ,          R,          /# )r   r£   .r‘   Fr+   N)r   r   r   r,   r-   r.   )r   s   "r   r   r   Ý   sA   € ÷ )ñ )Ü�”c�Õð)Ü,3°E­Nð)ä	Œ'×
Ñ
Õ˜tÕ#ñ)r   c                 ó   € R # r6   r    r¥   s   &&r   r™   r™   Ü   s   € ñ &)r   c          
      óJ  € V ^8„  d   QhR\         R\        3,          R\        R\        \        P
                  ,          \        \        \        P
                  ,          R,          \        \        P                  P                  ,          R,          3,          ,          R,          /# )r   r£   .r‘   r+   N)
r   r   r<   r,   r-   r.   r   r2   rd   re   )r   s   "r   r   r   ã   s~   € ÷ %Cñ %CÜ�”c�Õð%CÜ,0ð%Cô 	Œ×	Ñ	ÕÜŒD”×"Ñ"Õ# dÕ*¬D´·±×1HÑ1HÕ,IÈDÕ,PÐPÕQõRà
õñ%Cr   c                ó0  € \        V \        4      '       d   V P                  .pMÂ\        V \        4      '       d*   V P	                  4        Uu. uF  q3P                  NK  	  ppMƒ\
        P                  V 4      pV'       d   V'       d   VR3# R# \        P                  P                  P                  V 4      pVf   V'       d   R# R# \        P                  P                  V4      pV Uu. uF  p\        V4      NK  	  ppV'       d   Wr3# T# u upi u upi )aW  
Given an operator on the `torch` namespace, return a list of `inspect.Signature`
objects corresponding to the overloads of that op. May return `None` if a signature
could not be retrieved.

Args:
    op (Callable): An operator on the `torch` namespace to look up a signature for

Returns:
    Optional[List[inspect.Signature]]: A list of signatures for the overloads of this
        operator, or None if the operator signatures could not be retrieved. If
        return_schemas=True, returns a tuple containing the optional Python signatures
        and the optional TorchScript Function signature
N)NN)Ú
isinstancer   Ú_schemar   Úop_overloadsÚ_manual_overridesr‰   r2   ÚjitÚ	_builtinsÚ_find_builtinrd   Ú_jit_get_schemas_for_operatorr�   )r£   r‘   rœ   r   ÚoverrideÚaten_fnr“   r@   s   &&      r   r™   r™   â   sè   € ô, �"”j×!Ò!Ø—:‘:�,‰Ü	�BÔ(×	)Ò	)Ø46·O±OÔ4EÓFÑ4E¨×#Ô#Ñ4EˆÐFˆä$×(Ñ(¨Ó,ˆßß'5�H˜dÐ#Ð?¸4Ð?ä—)‘)×%Ñ%×3Ñ3°BÓ7ˆàŠ?ß#1�<Ð;°tÐ;Ü—(‘(×8Ñ8¸ÓAˆáIPÓQÉ¸vÔ2°6Ö:É€JÐQß$2ˆJÐ ÐB¸
ÐBùò Gùò Rs   ÁDÃ+Dc                ó0   € V ^8„  d   QhR\         R\         /# ©r   Úxr+   )Úobject)r   s   "r   r   r     s   € ÷ )ñ )œð )¤6ñ )r   c                ó²  €  \        V \        \        34      '       dŽ   \        V \        4      '       d   R R lpMR R lp\        V 4      ^ 8X  d   V! \        4      # V ^ ,          pV  F7  p\        W24      '       d   K  \        W#4      '       d   TpK+  V! \        4      u # 	  V! V4      #  V #   \         d    \        P                  ! RT  24        T # i ; i)a¯  
Produces a type hint for the given argument.

The :func:`create_type_hint` looks for a type hint compatible with the input argument `x`.

If `x` is a `list` or `tuple`, it looks for an object in the list whose type is a superclass
of the rest, and uses that as `base_type` for the `List` or `Tuple` to be returned.
If no such object is found, it defaults to `List[Any]`.

If `x` is neither a `list` nor a `tuple`, it returns `x`.
c                ó0   € V ^8„  d   QhR\         R\         /# rµ   rZ   )r   s   "r   r   Ú&create_type_hint.<locals>.__annotate__  s   € ÷ #ñ #¤ð #¬ñ #r   c                 ó   € \         V ,          # r6   )r,   ©r¶   s   &r   Úret_typeÚ"create_type_hint.<locals>.ret_type  s   € Ü �7�Nr   c                ó0   € V ^8„  d   QhR\         R\         /# rµ   rZ   )r   s   "r   r   rº   "  s   € ÷ )ñ )¤ð )¬ñ )r   c                 ó    € \         V R 3,          # ©.)r   r¼   s   &r   r½   r¾   "  s   € Ü   C �=Ð(r   z@We were not able to successfully create type hint from the type )	rª   r,   r   rz   r   Ú
issubclassÚ	ExceptionÚwarningsÚwarn)r¶   r½   Ú	base_typerV   s   &   r   Úcreate_type_hintrÇ     sÈ   € ð
Ü�aœ$¤˜×'Ò'ä˜!œT×"Ò"ö#õ
)ô �1‹v˜Œ{Ù¤“}Ð$Ø˜!�ˆIÛ�Ü˜a×+Ò+ÙÜ 	×-Ò-Ø !’Iá#¤C›=Ò(ñ ñ ˜IÓ&Ð&ð- (ð8 €Høô ô 
ä�ŠØNÈqÈcÐRõ	
ð €Hð
ús   ‚AB. ÁAB. Â!	B. Â.$CÃCc                ó<   € V ^8„  d   QhR\         R\         R\        /# )r   Úsignature_typeÚargument_typer+   )r   r<   )r   s   "r   r   r   9  s!   € ÷ /ñ /¤ð /´Sð /¼Tñ /r   c                 óº  aa€ \        V R V 4      pV SJ d   R# V\        P                  J dX   V S8w  dQ   \        P                  ! V 4      p\        ;QJ d    V3R lV 4       F  '       g   K   R# 	  R# ! V3R lV 4       4      # \        V R R4      \
        J d¹   \        P                  ! V 4      ^ ,          oS\        J d   S\        J d   R# \        P                  ! S4      '       g   \        P                  ! RV  R24       R# \        SR R4      \
        J d(   \        \        P                  ! S4      ^ ,          S4      # R V3R llpV! S4      # V \        J d   S\        P                  J d   R# V \        P                  J d   S\        \         09   d   R# \        P                  ! S4      '       d)   \        P                  ! V 4      '       d   \        SV 4      # R# )	Ú
__origin__Tc              3   ó<   <"  € T F  p\        VS4      x € K  	  R # 5ir6   )Útype_matches)Ú.0ÚcrÊ   s   & €r   Ú	<genexpr>Útype_matches.<locals>.<genexpr>C  s   øé € ÐI¹=°a”<  =×1Ð1»=ùs   ƒFNz.Does not support nested parametric types, got z. Please file a bug.c                ó0   € V ^8„  d   QhR\         R\        /# )r   rV   r+   )r·   r<   )r   s   "r   r   Ú"type_matches.<locals>.__annotate__T  s   € ÷ 	Yñ 	Y¤Fð 	Y¬tñ 	Yr   c                 óö   <€ \         P                  ! V 4      \        Jd   R # \         P                  ! V 4      pVR8X  d   R# \        ;QJ d    V3R lV 4       F  '       d   K   R # 	  R# ! V3R lV 4       4      # )FTc              3   óZ   <"  € T F   q\         J ;'       g    \        VS4      x € K"  	  R # 5ir6   )ÚEllipsisrÂ   )rÏ   rÐ   Úsig_el_types   & €r   rÑ   Ú=type_matches.<locals>.is_homogeneous_tuple.<locals>.<genexpr>Z  s%   øé € ÐXÉiÈœX˜×DÐD¬*°Q¸Ó*DÔDËiùs   ƒ+–+)r    )ÚtypingÚ
get_originr   Úget_argsÚall)rV   Ú	containedrØ   s   & €r   Úis_homogeneous_tupleÚ*type_matches.<locals>.is_homogeneous_tupleT  s[   ø€ Ü× Ò  Ó#¬5Ó0ÙÜŸš¨Ó*ˆIØ˜EÔ!Ùß“3ÔXÉiÓX—3”3ÐX’3ÐX�3ÔXÉiÓXÓXÐXr   )ÚgetattrrÚ   ÚUnionrÜ   Úanyr,   Úintr-   ÚisclassrÄ   rÅ   rÂ   r2   ÚdtypeÚnumbersÚNumberÚfloat)rÉ   rÊ   Úsig_origin_typeÚsig_containedrß   rØ   s   &f   @r   rÎ   rÎ   8  sr  ù€ ä˜n¨l¸NÓK€Oà˜Ó&Ùð œ&Ÿ,™,Ó&¨>¸]Ô+JÜŸš¨Ó7ˆß‹sÔI¹=ÓI�sŒsÐIŠsÐIˆsÔI¹=ÓIÓIÐIäˆ~˜|¨TÓ2´dÓ:Ü—o’o nÓ5°aÕ8ˆð œCÓ K´3Ó$6Ùä�Š˜{×+Ò+Ü�MŠMØ@ÀÐ@PÐPdÐeôñ Ü�= ,°Ó5¼Ó=ÜœfŸošo¨mÓ<¸QÕ?ÀÓMÐM÷	Yð 	Yñ $ MÓ2Ð2ð œÓ ´%·+±+Ó!=ÙàœŸ™Ó'¨M¼cÄ5¸\Ô,IÙÜ‡‚�}×%Ò%¬'¯/ª/¸.×*IÒ*IÜ˜-¨Ó8Ð8ár   c                ó$  € V ^8„  d   QhR\         R\        3,          R\        \        R3,          R\        \        \        3,          R,          R\        \        ,          R,          R\        \        \        3,          R,          R\
        R	\        /# ©
r   r�   .r   r   NÚ	arg_typesÚkwarg_typesÚnormalize_to_only_use_kwargsr+   ©r   r   r   r   r   r<   r   )r   s   "r   r   r   l  s‚   € ÷ ñ Ü�Sœ#�XÕðä
”�S��/ðô ””c��N˜TÕ!ðô ”S�z˜DÕ ð	ô
 ”cœ3�h• $Õ&ðô #'ðô ñr   c                óP   € \        WW#WE4      pVf   \        RV  RV RV 24      hV# )zV
Wrapper around normalize_function that never returns None, but
loudly errors instead
zFailed to normalize function z with args z and kwargs )Únormalize_functionrJ   )r�   r   r   rî   rï   rð   rŒ   s   &&&&&& r   Ú_normalize_function_or_errorrô   k  sH   € ô Ø�f¨ó€Cð ‚{ÜØ+¨F¨8°;¸t¸fÀLÐQWÐPXÐYó
ð 	
ð ˆ
r   c                ó2  € V ^8„  d   QhR\         R\        3,          R\        \        R3,          R\        \        \        3,          R,          R\        \        ,          R,          R\        \        \        3,          R,          R\
        R	\        R,          /# rí   rñ   )r   s   "r   r   r   „  s�   € ÷ Hñ HÜ�Sœ#�XÕðHä
”�S��/ðHô ””c��N˜TÕ!ðHô ”S�z˜DÕ ð	Hô
 ”cœ3�h• $Õ&ðHô #'ðHô �dÕñHr   c                óÀ  € Vf   / pRp\        V \        P                  4      '       g;   \        V \        \        34      '       g   \        V R4      '       d   V P                  p \        V \        P                  4      '       Eg   \        V \        \        34      '       gô   T pV \        9   d‡   \        V \        4      '       d   \        R4      h\        V ,          pVR,          VR,          r©\        P                  ! V	4      P                  \        P                  ! V
4      P                  8w  d   R# T	p\        V4      '       g   \        R\        V4       24      h\        P                  ! \        P                  ! V4      4      p\!        W±W%4      pV# \        V 4      '       g   \        R\        V 4       24      h\#        V 4      p. pV'       Edh   V F$  p \%        V.VO5/ VB  VP'                  V4       K&  	  \+        V4      ^ 8X  d    V# \+        V4      ^8X  d   \!        V^ ,          WV4      pV# Vf   VeÀ   V'       d   TM\-        \.        \0        ,          R4      pV'       d   TM/ pV F…  pRp \%        V.VO5/ VB pVP2                  P5                  4        F9  w  ppVP                  V,          pT;'       d    \7        VP8                  V4      pK;  	  V'       g   Kv  \!        VVVV4      p V# 	   V# R
P;                  R V 4       4      p\=        R\>        P@                  ! V 4       RV 24      hV#   \(         d     EKv  i ; i  \(         d    R	p L�i ; i)a´  
Returns normalized arguments to PyTorch functions. This means that
`args/kwargs` will be matched up to the functional's
signature and return exclusively kwargs in positional order if
`normalize_to_only_use_kwargs` is True.
Also populates default values. Does not support positional-only
parameters or varargs parameters (``*args``, ``**kwargs``). Does not support modules.

May require `arg_types` and `kwarg_types` in order to disambiguate overloads.

Args:
    target (Callable): Function that we are normalizing
    args (Tuple[Any]): Tuple of args to the function
    kwargs (Optional[Dict[str, Any]]): Dict of kwargs to the function
    arg_types (Optional[Tuple[Any]]): Tuple of arg types for the args
    kwarg_types (Optional[Dict[str, Any]]): Dict of arg types for the kwargs
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Returns normalized_args_and_kwargs, or `None` if not successful.
NÚ_opz"target should not be a string hereÚif_trueÚif_falsez*target_for_analysis must be callable, got ztarget must be callable, got TFÚ
c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir6   )r   )rÏ   r“   s   & r   rÑ   Ú%normalize_function.<locals>.<genexpr>  s   é € ð 1Ù2A¨œ˜FŸ˜³/ùs   ‚z Tried to normalize arguments to zy but the schema match was ambiguous! Please provide argument types to the normalize_arguments() call. Available schemas:
r    )!rª   rF   ÚBuiltinFunctionTyper   r   Úhasattrr÷   r
   r   rv   r-   r?   r|   Úcallablero   ÚunwrapÚ&_args_kwargs_to_normalized_args_kwargsr™   r   r>   r›   rz   r   r   r   rn   ÚitemsrÎ   rl   ÚjoinrJ   r2   Útypename)r�   r   r   rî   rï   rð   Únew_args_and_kwargsÚtarget_for_analysisÚ
dispatchedrø   rù   ÚsigÚtorch_op_schemasr�   rž   Úsig_matchesÚbound_typesÚarg_namer~   ÚparamÚschema_printoutss   &&&&&&               r   ró   ró   ƒ  s|  € ð> ‚~ØˆØÐä�vœu×8Ñ8×9Ò9Ü˜FÔ%5´zÐ$B×CÒCÜ�F˜E×"Ò"ð —‘ˆô �fœe×7Ñ7×8Ó8Ü�6Ô,¬jÐ9×:Ò:à$ÐØÔ'Ô'ô
 ˜&¤#×&Ò&Ü$Ð%IÓJÐJÜ+¨FÕ3ˆJØ *¨9Õ 5°zÀ*Õ7M�Xä×!Ò! 'Ó*×5Ñ5Ü×$Ò$ XÓ.×9Ñ9ô:ñ Ø")ÐäÐ+×,Ò,Ü Ø<¼TÐBUÓ=VÐ<WÐXóð ô ×Ò¤§¢Ð/BÓ CÓDˆÜDØ�vó
ÐðD Ðô} ˜×ÒÜ Ð#@ÄÀfÃÀÐ!OÓPÐPÜ5°fÓ=ÐØ35ˆßÐó (8Ð#ðÜÐ2ÐD°TÒD¸VÒDØ#×*Ñ*Ð+>Ö?ñ (8ô �?Ó# qÔ(àðZ ÐôY �_Ó%¨Ô*ä&LØ# AÕ&¨Ð6Ró'Ð#ðT ÐðM Ò(¨KÒ,Cß-6¡	¼DÄÄsÅÈRÓ<P�Iß1<¡+À"�KÛ/?Ð+Ø&*˜ð
0Ü*4Ø 3ð+Ø6?ò+ØCNñ+˜Kð 7B×6KÑ6K×6QÑ6QÖ6SÑ 2 ¨(Ø(;×(FÑ(FÀxÕ(P Ø.9÷ /"ð /"¼lØ$)×$4Ñ$4°hó?"¢ñ 7T÷ '™;ä FØ$7Ø$(Ø$*Ø$@ó	!"ð 0ð "ð ÐòG 0@ðF Ðð (,§y¡yñ 1Ù2Aó1ó (Ð$ô 'Ø:¼5¿>º>È&Ó;QÐ:Rð SOàO_ÐN`ðbóð ð Ðøôe !ô Ûðûô4  )ô 0Ø*/šKð0ús+   Ç L:É5A
MË MÌ:M
Í	M
ÍMÍMc                óÜ   € V ^8„  d   QhR\         P                  P                  R\        R\        \
        ,          R\        \        \
        3,          R,          R\        R\        R,          /# )r   Úrootr�   r   r   Nrð   r+   )	r2   ÚnnÚModuler   r   r   r   r<   r   )r   s   "r   r   r     sb   € ÷ +ñ +Ü
�(‰(�/‰/ð+äð+ô ”�*ð+ô ””c��N˜TÕ!ð	+ô
 #'ð+ô �dÕñ+r   c                ó¸  €  V P                  V4      p\        TP                  R4      '       d‰   TP                  P
                  p\        \        P                  TR4      TP                  8X  dI   \        P                  ! \        P                  ! TP                  4      4      pTf   / p\        Y‚Y44      p	T	# R#   \         d   p\        RT R24      ThRp?ii ; i)aô  
Returns normalized arguments to PyTorch modules. This means that
`args/kwargs` will be matched up to the functional's
signature and return exclusively kwargs in positional order if
`normalize_to_only_use_kwargs` is True.
Also populates default values. Does not support positional-only
parameters or varargs parameters (``*args``, ``**kwargs``).

Args:
    root (nn.Module): root module upon which we query modules
    target (Callable): Function that we are normalizing
    args (Tuple[Any]): Tuple of args to the function
    kwargs (Optional[Dict[str, Any]]): Dict of kwargs to the function
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Returns normalized_args_and_kwargs, or `None` if not successful.
z$Tried to normalize node with target z# but root did not have that target!Nr!   )Úget_submoduleÚAttributeErrorrJ   rþ   Ú	__class__r!   rá   r2   r  r-   r?   r   Úforwardr  )
r  r�   r   r   rð   ÚsubmodÚeÚ	classnamer  r  s
   &&&&&     r   Únormalize_moduler    sÏ   € ð6Ø×#Ñ# FÓ+ˆô ˆv×Ñ ×,Ò,Ø×$Ñ$×-Ñ-ˆ	Ü”5—8‘8˜Y¨Ó-°×1AÑ1AÔAÜ×#Ò#¤G§N¢N°6·>±>Ó$BÓCˆCØŠ~Ø�Ü"HØ˜6ó#Ðð 'Ð&Ùøô ô ÜØ2°6°(ð ; ð !ó
ð ð	ûðús   ‚B9 Â9CÃCÃCc                ó²   € V ^8„  d   QhR\         P                  R\        \        R3,          R\        \
        \        3,          R\        R\        R,          /# )r   r  r   .r   rð   r+   N)r-   r.   r   r   r   r   r<   r   )r   s   "r   r   r   >  sU   € ÷ 17ñ 17Ü	×	Ñ	ð17ä
”�S��/ð17ô ””c��Nð17ô #'ð	17ô
 �dÕñ17r   c                óò  a	€ \         P                  P                  \         P                  P                  0o	\        ;QJ d7    V	3R lV P
                  P                  4        4       F  '       g   K   RM,	  RM(! V	3R lV P
                  P                  4        4       4      '       d-   \        V P
                  P                  4       4      . RO8w  d   R# \        V .VO5/ VB pVP                  4        / p. p\        V P
                  4       FV  w  rxV'       g5   V\        V4      8  d%   VP                  VP                  V,          4       KA  VP                  V,          WX&   KX  	  \        \!        V4      V4      # )aU  
Given a call target, args, and kwargs, return the arguments normalized into
an ArgsKwargsPair, or None if the type signature is not supported by
this normalization.

Args:

    sig (inspect.Signature): Signature object for the target
    args (Tuple): Arguments that appear at the callsite for `target`
    kwargs (Dict): Keyword arguments that appear at the callsite for `target`
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Optional[ArgsKwargsPair]: Normalized args and kwargs for `target`, or `None` if
        this target is not supported.
c              3   ó@   <"  € T F  qP                   S9  x € K  	  R # 5ir6   )rj   )rÏ   r€   Úsupported_parameter_typess   & €r   rÑ   Ú9_args_kwargs_to_normalized_args_kwargs.<locals>.<genexpr>\  s   øé € Ð
TÑ<S°q�6‰6Ð2Ö2Ó<Sùs   ƒTFN)rh   ri   ÚtoÚ	generator)r-   rg   ru   rt   rã   r|   Úvaluesr,   Úkeysr   Úapply_defaultsrx   rz   r>   rn   r   r   )
r  r   r   rð   Ú
bound_argsÚ
new_kwargsÚnew_argsÚir  r  s
   &&&&     @r   r  r  >  s  ø€ ô6 	×Ñ×/Ñ/Ü×Ñ×&Ñ&ð!Ð÷ ƒsÔ
T¸C¿N¹N×<QÑ<QÔ<SÓ
T‡s‡s‚sÔ
T¸C¿N¹N×<QÑ<QÔ<SÓ
T×TÒTô
 �—‘×#Ñ#Ó%Ó&Ò*NÔNÙä˜CÐ1 $Ò1¨&Ñ1€JØ×ÑÔà!#€JØ€HÜ˜cŸn™nÖ-‰ˆß+°´C¸³I´Ø�O‰O˜J×0Ñ0°Õ7Ö8à *× 4Ñ 4°UÕ ;ˆJÓñ	 .ô œ% ›/¨:Ó6Ð6r   c                ó&  € V ^8„  d   Qh/ ^ \         9   d=   \        \        R\        3,          \        \
        P                  ,          3,          ;R&   ^\         9   d6   \        \        \        \        3,          \
        P                  3,          ;R&   # )r   .r­   rˆ   )	Ú__conditional_annotations__r   r   r   r,   r-   r.   r   r   )r   s   "r   r   r      sf   € ‡�÷R JÒ I”4œ ¤c Õ*¬D´×1BÑ1BÕ,CÐCÕDÑ IñS ÷t JÒ IœD¤¤s¬C x¥´'×2CÑ2CÐ!CÕDÑ Iòu r   )r   r¡   r™   rÇ   rÎ   ró   r  rÁ   )F)NNNF)NF)=r+  Úenumr-   rç   rF   rÚ   rÄ   Úcollections.abcr   r   r   r   r   r   r	   r2   Útorch._jit_internalr
   Ú
torch._opsr   r   Útorch.utils._inspectr   Ú_compatibilityr   Únoder   Ú__all__r   r­   rA   r7   rC   r3   ÚdeviceÚlayoutrè   r®   rP   ÚEnumÚqschemero   ÚUntypedStorageÚTypeVarr^   ÚdirÚkrá   r_   r„   rˆ   r�   r¡   r™   rÇ   rÎ   rô   ró   r  r  r   )r+  s   @r   Ú<module>r<     s:  øðß €Û Û Û Û Û Ý $ß J× Jã Ý 2ß 3Ý +å )÷ Ýò€ñ  eÔ,ô�Zó ó -ðð HJÐ Ó Iõñ  $4Ó#5Ð �%—-‘-Ñ  ÷@ñ @ð ˆe�l‰lØˆe�l‰lØˆe�l‰lØˆg�n‰nØˆe�i‰i×ÑØ�4—9‘9Øˆu�}‰}ØÑ%Ó'Ø‘�T“
Øˆu×#Ñ#Øˆ�Š˜Ó	Ø�ðÐ ñ 
ˆVŽ€AÙ# F¨AÓ.Ð�qÓñ 
õ<õ6Hðr HJÐ Ó Iõñ  eÔ,ô&ó -ð&ðR 
ôVó 
ðVð
 
ö)ó 
ð)ñ
  eÔ,ö%Có -ð%CñP  eÔ,ô)ó -ð)ñX  eÔ,ô/ó -ð/ñd  eÔ,öó -ðñ.  eÔ,öHó -ðHñV  eÔ,ö+ó -ð+÷\17r   