Ë
    ÃÓ^j=  ã                   ó  — U d dl Z d dlZd dlmZ d dlmZ d dlZd dlmc m	Z
 d dlmZ d dlmZ ej                  j                   ZdZdZdZg aeej,                  j.                  j0                     ed	<   d
ej,                  j.                  j0                  ddfd„Zdd„Z	 	 ddej,                  j8                  dej,                  j:                  dej<                  dz  dedz  ddf
d„Z dej,                  j:                  dee   dz  de!fd„Z" G d„ dej,                  jF                  «      Z$	 ddej,                  j8                  deej,                  j:                  ge!f   dz  ddfd„Z%	 	 	 d dej,                  j8                  de!dee   dz  deej,                  j:                  ge!f   dz  ddf
d„Z&	 	 	 d dej,                  j8                  de!dee   dz  deej,                  j:                  ge!f   dz  dej,                  j8                  f
d„Z'y)!é    N)ÚCallable)ÚAny)Úmaybe_set_is_frozen_param)Ú
OrderedSetÚMODULE_TYPEÚ_MAIN_MODULEÚ_CONST_MODULEÚ_dont_constant_foldÚopÚreturnc                 ó.   — t         j                  | «       y ©N)r
   Úappend©r   s    úk/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_inductor/constant_folding.pyÚadd_dont_constant_foldr      s   € ä×Ñ˜rÕ"ó    c                  ó,   — t         j                  «        y r   )r
   Úclear© r   r   Úclear_dont_constant_foldr      s   € ä×ÑÕr   ÚgmÚnodeÚconstantÚnamec                 óV  — | j                   }|r|}nBt        | d«      sd| _        | j                  }	 d|› �}t        | |«      sn|dz  }Œ|dz   | _        |j                  |«      5  |�|j	                  d|di «      }n|j	                  d|di «      }|j                  |«       |j                  j                  |j                  «       |j                  |«       |j                  |_	        d d d «       |�+| j                  ||«       t        | ||«       t        |«       y y # 1 sw Y   Œ7xY w)NÚ_frozen_param_countr   Ú_frozen_paramé   Úget_attrr   Úplaceholder)ÚgraphÚhasattrr   Úinserting_beforeÚcreate_nodeÚreplace_all_uses_withÚmetaÚupdateÚ
erase_noder   Úregister_bufferÚsetattrr   )r   r   r   r   ÚgÚqualnameÚiÚnew_input_nodes           r   Úreplace_node_with_constantr0   "   s-  € ð 	�‰€AáØ‰ä�rÐ0Ô1Ø%&ˆBÔ"Ø×"Ñ"ˆàØ& q cÐ*ˆHÜ˜2˜xÔ(ØØ�‰FˆAð	 ð "# Q¡ˆÔà	
×	Ñ	˜DÓ	!ñ 	(ØÐØŸ]™]¨:°xÀÀRÓH‰Nð Ÿ]™]¨=¸(ÀBÈÓKˆNØ×"Ñ" >Ô2Ø×Ñ×"Ñ" 4§9¡9Ô-Ø	�‰�TÔØ"Ÿi™iˆÔ÷	(ð Ðà
×Ñ˜8 XÔ.Ü��H˜hÔ'ä! (Õ+ð ÷	(ð 	(ús   Á%BDÄD(Úlifted_constant_namesc                 óH   — | j                   dk(  xs | j                  |xs dv S )Nr    r   )r   r   )r   r1   s     r   Úis_const_sourcer3   L   s'   € ð �7‰7�jÑ ÒN D§I¡IÐ2GÒ2MÈ2Ð$NÐNr   c                   óÊ  ‡ — e Zd Z	 	 	 ddej                  j
                  dedee   dz  de	ej                  j                  gef   dz  ddf
ˆ fd„Zdefd„Zd	ej                  j                  defˆ fd
„Zd	ej                  j                  j                  defd„Zdeej                  j                  eej                  j                     f   fd„Zej(                  d	ej                  j                  defˆ fd„«       Zdej,                  defd„Zd	ej                  j                  dej,                  ddfd„Zdefˆ fd„Zdeej                  j                  ef   ddfd„Zˆ xZS )ÚConstantFolderNr   Úskip_constructorsr1   Úskip_folding_node_fnr   c                 óô   •— t         ‰| �  |«       i | _        t        j                  «       | _        t        «       | _        || _        | j                  «       | _
        || _        t        «       | _        || _        y r   )ÚsuperÚ__init__Únode_replacementsÚcollectionsÚCounterÚreplaced_usesÚobjectÚunknown_valuer6   Únode_to_last_non_output_useÚuser_to_last_usesr1   Údeferred_valuer7   )Úselfr   r6   r1   r7   Ú	__class__s        €r   r:   zConstantFolder.__init__S   sj   ø€ ô 	‰Ñ˜ÔØ;=ˆÔÜ7B×7JÑ7JÓ7LˆÔÜ#›XˆÔØ'8ˆÔð "&×!AÑ!AÓ!CˆÔØ%:ˆÔ"Ü$›hˆÔØ$8ˆÕ!r   c                  ó   — y)NFr   )rD   s    r   Ú_support_dynamic_shapez%ConstantFolder._support_dynamic_shapeg   s   € àr   r   c                 óÚ  •— | j                   €t        ‰| �	  |«      S | j                  �| j                  |«      r| j                  S t        j                  |j                  i |j                  ¤Ž}|D ]m  }t        |t        j                  j                  «      sŒ(|j                  | j                   xs dvsŒE| j                  |   | j                  usŒa| j                  c S  | j                  S )Nr   )r1   r9   Úrun_noder7   r@   ÚpytreeÚarg_tree_leavesÚargsÚkwargsÚ
isinstanceÚtorchÚfxÚNoder   ÚenvrC   )rD   r   Úflattened_node_inpsÚinprE   s       €r   Ú_deduce_valuezConstantFolder._deduce_valuek   sÌ   ø€ Ø×%Ñ%Ð-Ü‘7Ñ# DÓ)Ð)ð ×$Ñ$Ð0°T×5NÑ5NÈtÔ5TØ×%Ñ%Ð%Ü$×4Ñ4°d·i±iÐOÀ4Ç;Á;ÑOÐØ&ò 	*ˆCä˜3¤§¡§¡Õ.Ø—H‘H T×%?Ñ%?Ò%EÀ2ÒFØ—H‘H˜S‘M¨×)<Ñ)<Ò<à×)Ñ)Ò)ð	*ð ×"Ñ"Ð"r   c                 ó¢  — dt         j                  j                  j                  dt        fd„} ||«      sv|j
                  t         j                  j                  j                  j                  u r`t        |j                  «      dk(  rH |t        t        |j                  «      «      «      r$t        |j                  d   | j                   «      ryt#        t         j                  j$                  dd «      d u}|rÃ|j
                  t         j                  j$                  j&                  j                  t         j                  j$                  j(                  j                  t         j                  j$                  j(                  j*                  t         j                  j$                  j,                  j.                  fv ry|j
                  t0        v ryy)	Nr   r   c                 óÌ  — | j                   t        j                  j                  j                  j
                  u xr© t        | j                  d   t        j                  j                  «      xrv d| j                  d   j                  v xrY | j                  d   j                  d   j                  t        j                  k(  xr  | j                  d   t        j                  k(  S )Nr   Úvalr   )ÚtargetrO   ÚopsÚprimsÚconvert_element_typeÚdefaultrN   rL   rP   rQ   r'   ÚdtypeÚint8Úbfloat16)r   s    r   Úis_woq_int8_patternz5ConstantFolder.is_impure.<locals>.is_woq_int8_pattern}   s¨   € à—‘œuŸy™yŸ™×CÑC×KÑKÐKò 3Ü˜tŸy™y¨™|¬U¯X©X¯]©]Ó;ò3à˜TŸY™Y q™\×.Ñ.Ð.ò3ð —I‘I˜a‘L×%Ñ% eÑ,×2Ñ2´e·j±jÑ@ò3ð —I‘I˜a‘L¤E§N¡NÑ2ðr   r   r   TÚdequantize_per_channelF)rO   rP   r   rQ   ÚboolrY   rZ   ÚatenÚpermuter]   ÚlenÚusersÚnextÚiterr3   rL   r1   ÚgetattrÚquantized_decomposedrb   Údequantize_per_tensorÚtensorr\   Úno_fuser
   )rD   r   ra   Úquant_registereds       r   Ú	is_impurezConstantFolder.is_impure|   sK  € ð	¤e§h¡h§m¡m×&8Ñ&8ð 	¼Tó 	ñ   Ô%à—‘œuŸy™yŸ~™~×5Ñ5×=Ñ=Ñ=Ü˜Ÿ
™
“O qÒ(Ù'¬¬T°$·*±*Ó-=Ó(>Ô?äØ�I‰I�a‰LØ×&Ñ&ô
ð ô ”E—I‘I×2Ñ2Ð4LÈdÓSØðð 	ñ  §¡Ü�I‰I×*Ñ*×AÑA×IÑIÜ�I‰I×*Ñ*×@Ñ@×HÑHÜ�I‰I×*Ñ*×@Ñ@×GÑGÜ�I‰I×*Ñ*×?Ñ?×GÑGð	0
ñ !
ð à�;‰;Ô-Ñ-ØØr   c                 óÄ  ‡‡‡— t        j                  t        «      Št        t        j
                  j                     «       Št        t        t        | j                  j                  j                  «      «      «      }t        | j                  j                  j                  «      D ]·  Š‰j                  dk(  rŒdt        j
                  j                  dd fˆˆˆfd„}t        j                  t        j
                  j                  |‰j                   ‰j"                  f«       t%        ‰j&                  «      dk(  sŒ•|‰j&                  v sŒ¤‰‰   j)                  ‰«       Œ¹ ‰S )NÚoutputrT   r   c                 óZ   •— | ‰v ry ‰j                  | «       ‰‰   j                  | «       y r   )Úaddr   )rT   Úlast_non_output_user   Ú	seen_usess    €€€r   Úadd_usez;ConstantFolder.node_to_last_non_output_use.<locals>.add_use±   s-   ø€ Ø˜)Ñ#Øà—‘˜cÔ"Ø# DÑ)×0Ñ0°Õ5r   r   )r<   ÚdefaultdictÚlistr   rO   rP   rQ   rh   ri   ÚreversedÚmoduler"   ÚnodesrY   rJ   Útree_map_only_rL   rM   rf   rg   r   )rD   Úoutput_noderw   ru   r   rv   s      @@@r   rA   z*ConstantFolder.node_to_last_non_output_use¨   sü   ú€ Ü)×5Ñ5´dÓ;ÐÜœuŸx™xŸ}™}Ñ-Ó/ˆ	Üœ4¤¨¯©×):Ñ):×)@Ñ)@Ó AÓBÓCˆä˜TŸ[™[×.Ñ.×4Ñ4Ó5ò 	7ˆDØ�{‰{˜hÒ&Øð6œUŸX™XŸ]™]ð 6¨t÷ 6ô ×!Ñ!¤%§(¡(§-¡-°¸4¿9¹9ÀdÇkÁkÐ:RÔSô �4—:‘:‹ !Ó#¨°t·z±zÒ(AØ# DÑ)×0Ñ0°Õ6ð!	7ð$ #Ð"r   c                 ó(  •‡ — |j                   dk(  rjdt        j                  j                  dd fˆ fd„}t	        j
                  t        j                  j                  ||j                  «       t        ‰
‰ �!  |«      S ‰ j                  |«      \  }}t	        j                  |i |¤Ž}t        ˆ fd„|D «       «      r‰ j                  S |j                  dk(  r2|j                   t        j                  j                   u r‰ j                  S |j                  dk(  r|j"                  dk(  r‰ j                  S ‰ j$                  r4t'        |‰ j(                  «      st        d„ |D «       «      s‰ j                  S t+        |j                   t        j,                  j.                  «      r<t        j0                  j2                  |j                   j4                  v r‰ j                  S |j                  dk(  r:t+        |j                   t        j,                  j6                  «      r‰ j                  S ‰ j9                  |«      }t+        |t        j:                  j<                  t        j>                  j@                  jB                  f«      r|S |‰ j                  u r‰ j                  S t'        |‰ j(                  «      �sct+        |t        jD                  «      s|‰ jF                  u �r:|‰ jF                  ur|jH                  jJ                  d	k(  r|S ‰ jM                  |«      s|S ‰ jO                  |«      r‰ j                  S ‰ jQ                  ||«       t	        j                  |j                  i |jR                  ¤Ž}|D ]>  }t+        |t        j                  j                  «      sŒ(‰ jT                  |xx   d
z  cc<   Œ@ ‰ jV                  jY                  |g «      D ]D  }	‰ jT                  |	   t[        |	j\                  «      k(  sŒ)‰ j^                  ja                  |	d «       ŒF |S )Nrr   Úargr   c                 ó8   •— ‰j                   ‰j                  | <   y r   )r@   rR   )r€   rD   s    €r   Úset_envz(ConstantFolder.run_node.<locals>.set_envÆ   s   ø€ Ø $× 2Ñ 2�—‘˜’r   c              3   ó€   •K  — | ]5  }t        ‰j                  «      t        |«      u xr ‰j                  |k(  –— Œ7 y ­wr   )Útyper@   )Ú.0Úinput_rD   s     €r   ú	<genexpr>z*ConstantFolder.run_node.<locals>.<genexpr>Ó   s@   øè ø€ ò 
àô �×#Ñ#Ó$¬¨V«Ð4ÒU¸×9KÑ9KÈvÑ9UÓUñ
ùs   ƒ;>Úcall_functionÚ&triton_kernel_wrapper_functional_proxyc              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wr   )rN   rO   ÚTensor)r…   Úes     r   r‡   z*ConstantFolder.run_node.<locals>.<genexpr>í   s   è ø€ ÒN¸œ
 1¤e§l¡l×3ÑNùs   ‚$&r'   r   )1rY   rO   rP   rQ   rJ   r}   rL   r9   rI   Úfetch_args_kwargs_from_envrK   Úanyr@   r   rd   Ú_efficientzerotensorr]   r   r6   r3   r1   rN   Ú_opsÚ
OpOverloadÚTagÚnondeterministic_seededÚtagsÚHigherOrderOperatorrU   Ú_CÚScriptObjectÚ_libraryÚfake_class_registryÚFakeScriptObjectr‹   rC   Údevicer„   Úinsertable_tensor_checkrp   Úadd_node_replacementrM   r>   rB   Úgetrf   rg   r;   Úpop)rD   r   r‚   rL   rM   Úflattened_inputsÚoutrS   ÚnÚ	to_deleterE   s   `         €r   rI   zConstantFolder.run_nodeÁ   sV  ù€ à�;‰;˜(Ò"ð3œUŸX™XŸ]™]ð 3¨tõ 3ô ×!Ñ!¤%§(¡(§-¡-°¸$¿)¹)ÔDÜ‘7Ñ# DÓ)Ð)à×6Ñ6°tÓ<‰ˆˆfÜ!×1Ñ1°4ÐB¸6ÑBÐô
 ó 
à*ô
ô 
ð ×%Ñ%Ð%ð �G‰G�Ò&Ø—‘œt×8Ñ8×@Ñ@Ñ@à×%Ñ%Ð%ð �G‰G�Ò&Ø—	‘	ÐEÒEà×%Ñ%Ð%ð ×"Ò"Ü# D¨$×*DÑ*DÔEÜÑNÐ=MÔNÔNà×%Ñ%Ð%ô �t—{‘{¤E§J¡J×$9Ñ$9Ô:Ü—	‘	×1Ñ1°T·[±[×5EÑ5EÑEà×%Ñ%Ð%à�7‰7�oÒ%¬*Ø�K‰KœŸ™×7Ñ7ô+
ð ×%Ñ%Ð%à× Ñ  Ó&ˆäØä—‘×%Ñ%Ü—‘×2Ñ2×CÑCðô
ð ˆJà�$×$Ñ$Ñ$Ø×%Ñ%Ð%ä˜t T×%?Ñ%?Õ@Ü�sœEŸL™LÔ)¨S°D×4GÑ4GÒ-Gð ˜4×.Ñ.Ñ.Ø—J‘J—O‘O vÒ-à�
à×/Ñ/Øôð �
à�~‰~˜dÔ#Ø×)Ñ)Ð)à×%Ñ% d¨CÔ0ä"(×"8Ñ"8¸$¿)¹)Ð"SÀtÇ{Á{Ñ"SÐà(ò +�Ü! !¤U§X¡X§]¡]Ô3Øà×"Ñ" 1Ó%¨Ñ*Ô%ð	+ð "×3Ñ3×7Ñ7¸¸bÓAò @�	Ø×%Ñ% iÑ0´C¸	¿¹Ó4HÓHØ×*Ñ*×.Ñ.¨y¸$Õ?ð@ð ˆ
r   rm   c                  ó   — y)NTr   )rD   rm   s     r   rœ   z&ConstantFolder.insertable_tensor_check,  s   € Ør   c                 ó"   — || j                   |<   y r   )r;   )rD   r   rm   s      r   r�   z#ConstantFolder.add_node_replacement/  s   € Ø'-ˆ×Ñ˜tÒ$r   c                 óJ   •— i }| j                  |«       t        ‰| �	  |¬«      S )N)Úinitial_env)Úinsert_placerholder_valuesr9   Úrun)rD   rR   rE   s     €r   r©   zConstantFolder.run2  s'   ø€ Ø(*ˆØ×'Ñ'¨Ô,Ü‰w‰{ sˆ{Ó+Ð+r   rR   c                 ó4  — | j                   j                  j                  d¬«      D ]  }| j                  ||<   Œ | j                  €y | j                   j                  j
                  D ].  }|j                  | j                  xs dv sŒ | j                  ||<   Œ0 y )Nr!   r   r   )r{   r"   Ú
find_nodesr@   r1   r|   r   rC   )rD   rR   r¢   s      r   r¨   z)ConstantFolder.insert_placerholder_values7  sŒ   € Ø—‘×"Ñ"×-Ñ-°Ð-Ó?ò 	(ˆAØ×'Ñ'ˆC�ŠFð	(à×%Ñ%Ð-ØØ—‘×"Ñ"×(Ñ(ò 	-ˆAØ�v‰v˜$×4Ñ4Ò:¸Ò;Ø×,Ñ,��A’ñ	-r   )FNN)Ú__name__Ú
__module__Ú__qualname__rO   rP   ÚGraphModulerc   ry   Ústrr   rQ   r:   rG   r   rU   r   rp   ÚdictrA   Útyping_extensionsÚoverriderI   r‹   rœ   r�   r©   r¨   Ú__classcell__)rE   s   @r   r5   r5   R   s‡  ø„ ð #(Ø26ØGKñ9à�H‰H× Ñ ð9ð  ð9ð  $ C™y¨4Ñ/ð	9ð
 '¨¯©¯© ¸Ð'<Ñ=ÀÑDð9ð 
õ9ð(¨ó ð# %§(¡(§-¡-ð #°Cõ #ð"*˜eŸh™hŸm™m×0Ñ0ð *°Tó *ðX#¨T°%·(±(·-±-ÀÀeÇhÁhÇmÁmÑATÐ2TÑ-Uó #ð2 ×Ñðh˜UŸX™XŸ]™]ð h¨sô hó  ðhðT¨e¯l©lð ¸tó ð.¨¯©¯©ð .ÀÇÁð .ÐQUó .ð,�Sõ ,ð
-¨d°5·8±8·=±=À#Ð3EÑ.Fð -È4÷ -r   r5   Úconstraint_fnc                 óê  — t         j                  j                  j                  «       5  t	        | d¬«      }|j                  «        |j                  j                  «       D ]  \  }}|�	 ||«      sŒt        | ||«       Œ g }| j                  j                  d¬«      D ]X  }t        |j                  «      dk(  sŒt        | |j                  «      rt        | |j                  «       |j!                  |«       ŒZ |D ]  }| j                  j#                  |«       Œ | j                  j%                  «        | j                  j'                  «        | j)                  «        d d d «       y # 1 sw Y   y xY w)NT)r6   r    r   r   )rO   ÚutilsÚ_python_dispatchÚ_disable_current_modesr5   r©   r;   Úitemsr0   r"   r«   rf   rg   r#   rY   Údelattrr   r)   Úeliminate_dead_codeÚlintÚ	recompile)r   rµ   Úcfr   r   Úerased_paramss         r   Úconstant_foldrÁ   A  s/  € ô 
�‰×	%Ñ	%×	<Ñ	<Ó	>ñ Ü˜B°$Ô7ˆØ
�‰Œà ×2Ñ2×8Ñ8Ó:ò 	;‰NˆD�(ØÐ(±¸tÔ1DØÜ& r¨4°Õ:ð	;ð
 ˆØ—H‘H×'Ñ'¨:Ð'Ó6ò 	+ˆDÜ�4—:‘:‹ !Ó#Ü˜2˜tŸ{™{Ô+Ü˜B §¡Ô,Ø×$Ñ$ TÕ*ð		+ð "ò 	&ˆDØ�H‰H×Ñ Õ%ð	&ð 	�‰×$Ñ$Ô&Ø
�‰�‰ŒØ
�‰Œ÷+÷ ñ ús   ©BE)Â;B%E)Å)E2r6   r7   c                 óæ  — t         j                  j                  j                  «       5  t	        | |||¬«      }|j                  «        | j                  j                  D ]{  }|�  ||«      rt        |j                  t        <   Œ%t        ||«      s||j                  v s||j                  v rt        |j                  t        <   Œet        |j                  t        <   Œ} 	 d d d «       y # 1 sw Y   y xY w)N)r6   r1   r7   )rO   r·   r¸   r¹   r5   r©   r"   r|   Ú
MODULE_TAGr'   ÚMETA_TAGr3   r;   r>   ÚCONST_MODULE_TAG)r   r6   r1   r7   r¿   r   s         r   Úconstant_graph_tagrÆ   ]  sÉ   € ô 
�‰×	%Ñ	%×	<Ñ	<Ó	>ñ 1ÜØØ/Ø"7Ø!5ô	
ˆð 	�‰Œà—H‘H—N‘Nò 	1ˆDØ#Ð/Ñ4HÈÔ4NÜ&0�—	‘	œ(Ñ#Øä Ð&;Ô<Ø˜2×/Ñ/Ñ/Ø˜2×+Ñ+Ñ+ä&6�—	‘	œ(Ò#ä&0�—	‘	œ(Ò#ñ	1÷1÷ 1ñ 1ús   ©B4C'Ã'C0c                 óê  ‡— t        | |||«       dt        j                  j                  dt        fd„}| j
                  j                  D ],  }|j                  dk(  s|j                  |xs dv sŒ% ||«       Œ. t        j                  j                  «       }i Šg }| j
                  j                  D ]u  }|j                  t           t        k(  rŒ|j                  |ˆfd„«      }|‰|<   |j                  D ]/  }	|	j                  t           t        k(  sŒ|j                  |«        Œu Œw |j!                  t#        |«      «       |j%                  «        t        j                  j'                  | |«      }
|
S )zr
    Construct a GraphModule which corresponds to the part which could be
    constant folded in provided gm.
    r   r   c                 óš   — d}| j                   D ]   }|j                  t           t        k(  sŒd} n |st        | j                  t        <   |S )NFT)rg   r'   rÄ   rÅ   rÃ   )r   Úused_to_foldÚus      r   Úuntagz)run_and_get_constant_graph.<locals>.untag‰  sM   € ØˆØ—‘ò 	ˆAØ�v‰v”hÑÔ#3Ó3Ø#�Ùð	ñ Ü",ˆD�I‰I”hÑØÐr   r    r   c                 ó   •— ‰|    S r   r   )ÚxÚnode_remappings    €r   ú<lambda>z,run_and_get_constant_graph.<locals>.<lambda>¡  s   ø€ °~ÀaÑ7H€ r   )rÆ   rO   rP   rQ   rc   r"   r|   r   r   ÚGraphr'   rÄ   rÃ   Ú	node_copyrg   r   rr   Útupler½   r¯   )r   r6   r1   r7   rË   r   Ú	new_graphÚoutput_nodesÚnew_nodeÚuserÚnew_gmrÎ   s              @r   Úrun_and_get_constant_graphrØ   z  sD  ø€ ô Ø
ÐÐ4Ð6Jôð”E—H‘H—M‘Mð ¤dó ð —‘—‘ò ˆØ�7‰7�jÒ  T§Y¡YÐ3HÒ3NÈBÒ%OÙ�$�Kðô —‘—‘Ó €Ià9;€NØ€LØ—‘—‘ò 
ˆØ�9‰9”XÑ¤*Ò,Øà×&Ñ& tÓ-HÓIˆØ'ˆ�tÑà—J‘Jò 	ˆDØ�y‰yœÑ"¤jÓ0Ø×#Ñ# HÔ-Ùñ	ð
ð ×Ñ”U˜<Ó(Ô)Ø‡N�NÔÜ�X‰X×!Ñ! " iÓ0€Fà€Mr   )r   N)NNr   )TNN)(r<   r²   Úcollections.abcr   Útypingr   rO   Útorch.utils._pytreer·   Ú_pytreerJ   Útorch._inductor.freezing_utilsr   Útorch.utils._ordered_setr   rZ   rd   rÄ   rÃ   rÅ   r
   ry   rP   r   ÚTargetÚ__annotations__r   r   r¯   rQ   r‹   r°   r0   rc   r3   ÚInterpreterr5   rÁ   rÆ   rØ   r   r   r   ú<module>râ      sQ  ðÜ Û Ý $Ý ã ß $Ð $Ý DÝ /ð ‡y�y‡~�~€ð
 €Ø€
Ø"Ð à24Ð �T˜%Ÿ(™(Ÿ-™-×.Ñ.Ñ/Ó 4ð#˜uŸx™xŸ}™}×3Ñ3ð #¸ó #ó
 ð %)Øñ	',Ø�‰×Ñð',à
�(‰(�-‰-ð',ð �l‰l˜TÑ!ð',ð �‰*ð	',ð
 
ó',ðTOØ
�(‰(�-‰-ðOØ04°S±	¸DÑ0@ðOà	óOôl-�U—X‘X×)Ñ)ô l-ðb =AñØ�‰×Ñðà˜UŸX™XŸ]™]˜O¨TÐ1Ñ2°TÑ9ðð 
óð< #Ø.2ØCGñ	1Ø�‰×Ñð1àð1ð   ™9 tÑ+ð1ð # E§H¡H§M¡M ?°DÐ#8Ñ9¸DÑ@ð	1ð
 
ó1ð> #Ø.2ØCGñ	3Ø�‰×Ñð3àð3ð   ™9 tÑ+ð3ð # E§H¡H§M¡M ?°DÐ#8Ñ9¸DÑ@ð	3ð
 ‡X�X×Ñô3r   