+
    –°³jä  ã                   óÖ   € ^ RI t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	H
t
Ht ^ RIHtHt ^ RIHtHtHt ^ RIHt ^R	IHt ^R
IHtHt ^RIHtHt ^RIHt RR.tRR R llt R R lt!R# )é    N)ÚCallable)ÚAny)ÚBackendConfigÚget_native_backend_config)Úget_fuser_method_mappingÚ)get_fusion_pattern_to_extra_inputs_getterÚ&get_fusion_pattern_to_root_node_getter)ÚNodePatternÚPattern)ÚGraphModuleÚmap_argÚNode)ÚGraph)ÚFuseCustomConfig)Ú'_get_fusion_pattern_to_fuse_handler_clsÚFuseHandler)Ú	_is_matchÚMatchAllNode)Ú_sorted_patterns_dictÚfuser   c                óà   € V ^8„  d   QhR\         R\        R\        \        \        \
        3,          ,          R,          R\        \        \        \
        3,          ,          R,          R\         /# )é   ÚmodelÚis_qatÚfuse_custom_configNÚbackend_configÚreturn)r   Úboolr   ÚdictÚstrr   r   )Úformats   "Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/ao/quantization/fx/fuse.pyÚ__annotate__r#   !   se   € ÷ hñ hÜðhäðhô )¬4´´S°­>Õ9¸DÕ@ðhô "¤D¬¬c¨¥NÕ2°TÕ9ð	hô
 ñhó    c                 ób  a€ Vf   \        4       p\        V\        4      '       d4   \        P                  ! R\
        ^R7       \         P                  ! V4      p\        V\        4      '       d4   \        P                  ! R\
        ^R7       \        P                  ! V4      p\        V P                  4       4      pVf   \        4       p\        \        V4      4      p\        V4      p\        V4      p\        V4      p\        W P                   V4      p	\#        4       p
/ oV3R lpR pV P                   P$                   Fá  pV	P'                  VP(                  R4      w  pppppVe   VP'                  VR 4      pMR pWíJ dq   Vf   \+        R4      hVP'                  Wü4      pV! V4      pVP'                  VR 4      p. pVe	   V! V4      pVP-                  VVV
VVVVVV4	      SVP(                  &   K³  Ve   V\.        J g   KÃ  V
P1                  WÛ4      SVP(                  &   Kã  	  \3        W
4      p V # )Nz‘Passing a fuse_custom_config_dict to fuse is deprecated and will not be supported in a future version. Please pass in a FuseCustomConfig instead.)Ú
stacklevelz�Passing a backend_config_dict to prepare is deprecated and will not be supported in a future version. Please pass in a BackendConfig instead.c                 ó$   <€ \        V V3R  l4      # )c                 ó*   <€ SV P                   ,          # ©N)Úname)ÚnodeÚenvs   &€r"   Ú<lambda>Ú(fuse.<locals>.load_arg.<locals>.<lambda>T   s   ø€  s¨4¯9©9¦~r$   )r   )Úar,   s   &€r"   Úload_argÚfuse.<locals>.load_argS   s   ø€ Ü�qÔ5Ó6Ð6r$   c                 ód   € \        V R,          \        4      '       g   V R,          p K(  V R,          # )é   éÿÿÿÿ)Ú
isinstancer   )Únode_patterns   &r"   Údefault_root_node_getterÚ&fuse.<locals>.default_root_node_getterV   s)   € Ü˜\¨"Õ-¬t×4Ò4Ø'¨Õ+ŠLØ˜BÕÐr$   z:fuse handler object must not be None for matched root node)NNNNN)r   r5   r   ÚwarningsÚwarnÚFutureWarningÚ	from_dictr   Únamed_modulesr   r   r   r   r	   r   Ú_find_matchesÚgraphr   ÚnodesÚgetr*   ÚAssertionErrorr   r   Ú	node_copyr   )r   r   r   r   r=   Ú"fusion_pattern_to_fuse_handler_clsÚfuser_method_mappingÚ"fusion_pattern_to_root_node_getterÚ%fusion_pattern_to_extra_inputs_getterÚfusion_pairsÚfused_graphr0   r7   r+   Úmaybe_last_nodeÚpatternÚmatched_node_patternÚobjÚnode_to_subpatternÚnode_subpatternÚroot_node_getterÚ	root_nodeÚextra_inputs_getterÚextra_inputsr,   s   &&&&                    @r"   r   r   !   sJ  ø€ ð Ò!Ü-Ó/ÐäÐ$¤d×+Ò+Ü�ŠðNäØõ		
ô .×7Ò7Ð8JÓKÐä�.¤$×'Ò'Ü�ŠðKäØõ		
ô '×0Ò0°Ó@ˆä˜×,Ñ,Ó.Ó/€MàÒÜ2Ó4ˆä)>Ü/°Ó?ó*Ð&ô 4°NÓCÐÜ)OØó*Ð&ô -VØó-Ð)ô
 ! ¯©Ð5WÓX€Lô “'€KØ€Cõ7ò ð
 —‘×!Ô!ˆð ×Ñ˜TŸY™YÐ(FÓGñ	
ØØØ ØØð Ò)Ø0×4Ñ4°T¸4Ó@‰Oà"ˆOØÓ"ØŠ{Ü$ØPóð ð  B×EÑEØó Ðñ )Ð)=Ó>ˆIØ"G×"KÑ"KØ˜ó#Ðð ˆLØ"Ò.Ù2Ð3GÓH�ð !ŸX™XØØØØØØ$Ø"Ø$Øó
ˆC�—	‘	‹Nð Ò$¨¼<Õ(GØ(×2Ñ2°4ÓBˆC�—	‘	‹NñU "ôZ ˜Ó+€EØ€Lr$   c                óî   € V ^8„  d   QhR\         R\        R\        \        \        3,          R\        \
        \        \        \        \        \        \        \        \        3,          3,          3,          /# )r   Úrootr?   Úpattern_to_fuse_handler_clsr   )r   r   r   r   r   r    Útupler   r
   r   r   )r!   s   "r"   r#   r#   Œ   s\   € ÷ 7ñ 7Ü
ð7äð7ô "&¤g¬xÐ&7Õ!8ð7ô 
Œ#Œu”Tœ7¤K´¼dÄ4ÌÀ9½oÐMÕNÐ
NÕOñ	7r$   c                 ó8  a	a
€ \        V P                  4       4      p/ o
/ pV	V
3R  lo	\        VP                  4       FZ  pVP                  S
9  g   K  VP                  4        F0  w  rg. p\        W5V4      '       g   K  S	! VVWVV! V4      3VV4        KX  	  K\  	  S
# )c                 ót  <€ \        V \        4      '       dT   V vrV. pS! WQW'V4       \        WaP                  4       F  w  r‰S! W‰W'V4       K  	  VP	                  \        V4      4       R # VP
                  S9  d=   VP	                  V4       V \        Jd    WV&   Vw  r pV
V VVV3SVP
                  &   R # R # R # r)   )r5   rW   ÚzipÚargsÚappendr*   r   )rK   r+   ÚmatchrL   rN   Úsr[   Úcurrent_node_patternÚ
subpatternÚargrQ   ÚhandlerÚapply_matchÚ	match_maps   &&&&&       €€r"   rc   Ú"_find_matches.<locals>.apply_matchš   sÆ   ø€ Ü�gœu×%Ò%ØˆHˆAØ/1Ð Ù˜ Ð>PÔQÜ#& t¯Y©YÖ#7‘�
ÙØ UÐBTöñ $8ð !×'Ñ'¬Ð.BÓ(CÖDð �y‰y 	Ô)Ø$×+Ñ+¨DÔ1ð ¤,Ó.Ø/6 tÑ,Ø27Ñ/�I¨à!ØØ,ØØ*ð,�I˜dŸi™iÓ(ñ /ñ	 *r$   )r   r=   Úreversedr@   r*   Úitemsr   )rU   r?   rV   ÚmodulesrN   r+   rK   Úfuse_handler_clsrL   rc   rd   s   &&&      @@r"   r>   r>   Œ   s©   ù€ ô
 �4×%Ñ%Ó'Ó(€Gð 	ð ð +-Ðöô6 ˜Ÿ™Ö%ˆØ�9‰9˜IÖ%Ø-H×-NÑ-NÖ-PÑ)�Ø35Ð$Ü˜W¨G×4Ô4ÙØØØÑ(8¸Ó(>Ð?Ø,Ø*ôò ó .Qñ &ð Ðr$   )NN)"r9   Úcollections.abcr   Útypingr   Ú$torch.ao.quantization.backend_configr   r   Ú*torch.ao.quantization.backend_config.utilsr   r   r	   Útorch.ao.quantization.utilsr
   r   Útorch.fxr   r   r   Útorch.fx.graphr   Úcustom_configr   Úfuse_handlerr   r   Úmatch_utilsr   r   Úpattern_utilsr   Ú__all__r   r>   © r$   r"   Ú<module>rw      sT   ðã Ý $Ý ÷÷ñ ÷
 =ß /Ñ /Ý  å +ß Nß 0Ý 0ð ð ð	€÷h÷V7r$   