Ë
    f^(h7)  ã                   ó  — U d dl Z d dlZd dlZd dlmZmZmZmZ d dlZd dl	Zd„ Z
d„ Zd„ Zd„ Zdd„Zd„ Zdd	œd
„Zej"                  j$                  e
ej"                  j&                  eej(                  eej"                  j*                  j(                  eej"                  j,                  eej.                  eej0                  eiZeeef   ed<   d„ Z G d„ dej:                  j<                  «      Z G d„ de«      Z  G d„ de «      Z!d„ Z" G d„ dej:                  jF                  «      Z$	 	 ddeej"                  jJ                  edef   f   deee&ejN                  f      deee&ef      dej:                  jP                  fd„Z)y)é    N)ÚAnyÚCallableÚOptionalÚUnionc                 óx   — t        j                  g |j                  ¢| j                  j                  d   ‘­ddiŽS )NéÿÿÿÿÚdeviceÚmeta)ÚtorchÚemptyÚshapeÚweight©ÚselfÚinputs     ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/fx/experimental/meta_tracer.pyÚembedding_overrider      s1   € Ü�;‰;ÐJ˜Ÿ™ÐJ T§[¡[×%6Ñ%6°rÑ%:ÒJÀ6ÑJÐJó    c                 ó   — |S ©N© r   s     r   Únn_layernorm_overrider      s   € Ø€Lr   c                 ó   — | S r   r   )Úxs    r   Útorch_relu_overrider      ó   € Ø€Hr   c                 ó   — |S r   r   )r   r   s     r   Útorch_nn_relu_overrider      r   r   c                 ó   — |rJ d«       ‚| S )Nz<dont support inplace functional.relu for metatensor analysisr   )r   Úinplaces     r   Úfunctional_relu_overrider!      s   € ÙÐVÐVÓVˆ;Ø€Hr   c                 ór   — | j                  d¬«      |j                  d¬«      z   |j                  d¬«      z   S )Nr
   ©r	   )Úto)Ú	conditionr   Úys      r   Útorch_where_overrider'       s5   € ð �<‰<˜vˆ<Ó&¨¯©°V¨Ó)<Ñ<¸q¿t¹tÈ6¸tÓ?RÑRÐRr   )Úoutc                ó   — |�J d«       ‚| S )Nz1Dont support in-place abs for MetaTensor analysisr   )r   r(   s     r   Útorch_abs_overrider*   &   s   € Øˆ;ÐKÐKÓKˆ;Ø€Lr   Úmanual_meta_overridesc                 óF   ‡ — t        j                  ‰ «      ˆ fd„«       }|‰ fS )Nc                  ó  •‡— d Šˆfd„}t         j                  j                  j                  | |«       t         j                  j                  j                  ||«       ‰�‰j                  j                  d‰| |«      S  ‰| i |¤ŽS )Nc                 óT   •— t        | t        j                  j                  «      r| Šy y r   )Ú
isinstancer   ÚfxÚProxy)ÚvÚproxys    €r   Úcheck_has_proxyzAgen_constructor_wrapper.<locals>.wrapper.<locals>.check_has_proxy;   s   ø€ Ü˜!œUŸX™XŸ^™^Ô,à‘ð -r   Úcall_function)r   r0   ÚnodeÚmap_aggregateÚtracerÚcreate_proxy)ÚargsÚkwargsr4   r3   Útargets      @€r   Úwrapperz(gen_constructor_wrapper.<locals>.wrapper7   sp   ù€ àˆô	ô
 	�‰�‰×#Ñ# D¨/Ô:Ü�‰�‰×#Ñ# F¨OÔ<àÐØ—<‘<×,Ñ,¨_¸fÀdÈFÓSÐSá˜4Ð* 6Ñ*Ð*r   )Ú	functoolsÚwraps)r<   r=   s   ` r   Úgen_constructor_wrapperr@   6   s*   ø€ Ü‡_�_�VÓó+ó ð+ð  �Fˆ?Ðr   c                   óV   — e Zd Zd„ Zd	d„Zd„ Zed„ «       Zed„ «       Zed„ «       Z	d„ Z
y)
Ú	MetaProxyc                 ó   — || _         y r   )Ú_tensor_meta)r   Útensor_metas     r   Úinstall_tensor_metazMetaProxy.install_tensor_metaL   s
   € Ø'ˆÕr   Nc                 óÄ   — t        | d«      r+| j                  � | j                  j                  |r|gŽ S g Ž S | j                  j	                  dd|r	| |fi «      S | fi «      S )NrD   Úcall_methodÚsize)ÚhasattrrD   rI   r8   r9   )r   Údims     r   rI   zMetaProxy.sizeO   ss   € Ü�4˜Ô(¨T×->Ñ->Ð-JØ)�4×$Ñ$×)Ñ)±C¨C¨5Ð@Ð@¸RÐ@Ð@Ø�{‰{×'Ñ'Ø˜6±# D¨# ;ÀBó
ð 	
Ø<@¸7ÀBó
ð 	
r   c                 ó¤   — t        | d«      r&| j                  �| j                  j                  «       S | j                  j	                  dd| fi «      S )NrD   rH   rK   )rJ   rD   rK   r8   r9   ©r   s    r   rK   zMetaProxy.dimV   sI   € Ü�4˜Ô(¨T×->Ñ->Ð-JØ×$Ñ$×(Ñ(Ó*Ð*Ø�{‰{×'Ñ'¨°u¸t¸gÀrÓJÐJr   c                 óº   — t        | d«      r"| j                  �| j                  j                  S | j                  j	                  dt
        j                  | dfi «      S )NrD   r5   r   )rJ   rD   r   r8   r9   ÚbuiltinsÚgetattrrM   s    r   r   zMetaProxy.shape[   óS   € ä�4˜Ô(¨T×->Ñ->Ð-JØ×$Ñ$×*Ñ*Ð*Ø�{‰{×'Ñ'ØœX×-Ñ-°°g¨Àó
ð 	
r   c                 óº   — t        | d«      r"| j                  �| j                  j                  S | j                  j	                  dt
        j                  | dfi «      S )NrD   r5   Údtype)rJ   rD   rS   r8   r9   rO   rP   rM   s    r   rS   zMetaProxy.dtypec   rQ   r   c                 ó   — t        | d«      S )Nr	   )ÚMetaDeviceAttributerM   s    r   r	   zMetaProxy.devicek   s   € ô # 4¨Ó2Ð2r   c                 óF   — |dk(  r| j                  |«      S t        | |«      S )NrD   )Ú__getattribute__ÚMetaAttribute)r   Úks     r   Ú__getattr__zMetaProxy.__getattr__q   s*   € Ø�ÒØ×(Ñ(¨Ó+Ð+ô ˜T 1Ó%Ð%r   r   )Ú__name__Ú
__module__Ú__qualname__rF   rI   rK   Úpropertyr   rS   r	   rZ   r   r   r   rB   rB   K   sS   „ ò(ó
òKð
 ñ
ó ð
ð ñ
ó ð
ð ñ3ó ð3ó
&r   rB   c                   ó.   — e Zd Zdefd„Zed„ «       Zd„ Zy)rX   Úattrc                 óP   — || _         || _        |j                  | _        d | _        y r   )Úrootr`   r8   Ú_node)r   rb   r`   s      r   Ú__init__zMetaAttribute.__init__z   s"   € ØˆŒ	ØˆŒ	Ø—k‘kˆŒØˆ�
r   c                 óÀ   — | j                   €G| j                  j                  dt        | j                  | j
                  fi «      j                  | _         | j                   S )Nr5   )rc   r8   r9   rP   rb   r`   r6   rM   s    r   r6   zMetaAttribute.node€   sN   € ð �:‰:ÐØŸ™×1Ñ1Ø¤¨4¯9©9°d·i±iÐ*@À"óç‰dð ŒJð �z‰zÐr   c                 ón   — | j                   j                  d| j                  | j                  f|z   |«      S )NrH   )r8   r9   r`   rb   )r   r:   r;   s      r   Ú__call__zMetaAttribute.__call__Š   s1   € Ø�{‰{×'Ñ'Ø˜4Ÿ9™9 t§y¡y l°TÑ&9¸6ó
ð 	
r   N)r[   r\   r]   Ústrrd   r^   r6   rg   r   r   r   rX   rX   y   s'   „ ð 3ó ð ñó ðó
r   rX   c                   ó   — e Zd Zy)rU   N)r[   r\   r]   r   r   r   rU   rU   �   s   „ Ør   rU   c                 óô   — t        | t        «      ryt        | t        j                  j                  «      rBt        | t
        «      sJ dt        | «      › �«       ‚t        | d«      sJ d«       ‚| j                  S | S )Nr
   zExpected MetaProxy but got rD   z*MetaProxy does not have an associated meta)	r/   rU   r   r0   r1   rB   ÚtyperJ   rD   )r2   s    r   Úproxys_to_metasrl   ”   sh   € Ü�!Ô(Ô)ØÜ�!”U—X‘X—^‘^Ô$Ü˜!œYÔ'ÐPÐ+FÄtÈAÃwÀiÐ)PÓPÐ'Ü�q˜.Ô)ÐWÐ+WÓWÐ)Ø�~‰~ÐØ€Hr   c                   óü   ‡ — e Zd ZU dZeed<   g d¢Z	 	 	 dˆ fd„	Zˆ fd„Zˆ fd„Z	de
j                  j                  defd	„Zde
j                  j                  defˆ fd
„Zd„ Zddeee
j$                  f   fˆ fd„Zˆ xZS )Ú
MetaTracerTÚallow_insert_stateless_mods)ÚarangeÚzerosÚonesÚ	full_likeÚeyec           	      óò  •— t         ‰| �  |||||||«      }|dk(  r.|| j                  v r |j                  | j                  |   «       |S || j                  v r	d|v rd|d<   	 t
        j                  j                  j                  |t        «      }	t
        j                  j                  j                  |t        «      }
|dk(  r t        j                  ||«      } ||	i |
¤Ž}�n|dk(  rt        |	d   |«      } ||	dd  i |
¤Ž}në|dk(  rqt        | d	«      sJ ‚d
| _        	 | j                  j!                  |«      }t#        |«      }|t        v rt        |   |g|	¢­i |
¤Ž}n | j$                  |	i |
¤Ž}d| _        nu|dk(  rnd
| _        	 | j                  }|j'                  d«      }|D ]  }t        ||«      }Œ t)        |t
        j*                  «      sJ ‚|j-                  d¬«      }d| _        n|S t)        |t
        j                  j.                  «      sJ d«       ‚|j                  |«       |S # d| _        w xY w# d| _        w xY w# t0        $ r)}t3        j4                  d|› d|› d|› �«       Y d }~|S d }~ww xY w)NÚplaceholderr	   r
   r5   rH   r   é   Úcall_moduleÚorig_forwardTFÚget_attrú.r#   z!Dont support composite output yetzCould not compute metadata for z target z: )Úsuperr9   Ú	meta_argsrF   Úorig_fnsr   r0   r6   r7   rl   r+   ÚgetrP   rJ   Ú_disable_module_getattrrb   Úget_submodulerk   ry   Úsplitr/   ÚTensorr$   r1   Ú	ExceptionÚwarningsÚwarn)r   Úkindr<   r:   r;   ÚnameÚ	type_exprÚproxy_factory_fnÚrvÚ
args_metasÚkwargs_metasÚmeta_targetÚmeta_outÚmodÚmod_typeÚattr_itrÚatomsÚatomÚeÚ	__class__s                      €r   r9   zMetaTracer.create_proxy£   s•  ø€ ô ‰WÑ!Ø�&˜$ ¨¨iÐ9Ió
ˆð �=Ò  V¨t¯~©~Ñ%=Ø×"Ñ" 4§>¡>°&Ñ#9Ô:ØˆIà�T—]‘]Ñ"ð ˜6Ñ!Ø#)��xÑ ð*	YÜŸ™Ÿ™×4Ñ4°T¼?ÓKˆJÜ Ÿ8™8Ÿ=™=×6Ñ6°v¼ÓOˆLà�Ò&Ü3×7Ñ7¸ÀÓG�Ù&¨
ÐC°lÑC’Ø˜Ò&Ü% j°¡m°VÓ<�Ù&¨
°1°2¨ÐG¸,ÑG‘Ø˜Ò&Ü˜t ^Ô4Ð4Ð4Ø/3�Ô,ð
9ØŸ)™)×1Ñ1°&Ó9�CÜ# C›y�HØÔ#8Ñ8Ü#8¸Ñ#BØð$Ø",ò$Ø0<ñ$™ð $5 4×#4Ñ#4°jÐ#QÀLÑ#Q˜à38�DÕ0Ø˜Ò#Ø/3�Ô,ð9Ø#Ÿy™y�HØ"ŸL™L¨Ó-�EØ %ò ;˜Ü#*¨8°TÓ#:™ð;ä% h´·±Ô=Ð=Ð=Ø'Ÿ{™{°&˜{Ó9�Hà38�DÕ0à�	ô ˜b¤%§(¡(§.¡.Ô1ÐVÐ3VÓVÐ1Ø×"Ñ" 8Ô,ð ˆ	øð+ 49�DÕ0ûð 49�DÕ0ûô ò 	YÜ�M‰MÐ;¸D¸6ÀÈ&ÈÐQSÐTUÐSVÐW×XÐXàˆ	ûð	YúsQ   Á"B;I ÄAH, Å1I ÆAH8 Ç$	I Ç.<I È,	H5È5I È8	IÉI É	I6ÉI1É1I6c                 óD   •— t        | dd«      r|S t        ‰| �  |||«      S )Nr€   F)rP   r|   )r   r`   Úattr_valÚparameter_proxy_cacher–   s       €r   rP   zMetaTracer.getattrì   s)   ø€ Ü�4Ð2°EÔ:ØˆOä‘7‘? 4¨Ð3HÓIÐIr   c                 ó6   •— || _         t        ‰| �	  ||||«      S r   )ry   r|   rx   )r   ÚmÚforwardr:   r;   r–   s        €r   rx   zMetaTracer.call_moduleò   s!   ø€ Ø#ˆÔÜ‰wÑ" 1 g¨t°VÓ<Ð<r   r�   Úreturnc                 ó
  — d}|j                   j                  j                  «       }|› d|› �}t        | j                  |«      r#|› d|› �}|dz  }t        | j                  |«      rŒ#| j                  j                  ||«       |S )zb
        Helper method which tries to insert a module that was not declared as submodule.
        r   Ú_rw   )r–   r[   ÚlowerrJ   rb   Ú
add_module)r   r�   ÚidxÚmod_nameÚpaths        r   Ú_insert_module_as_submodulez&MetaTracer._insert_module_as_submoduleö   sƒ   € ð ˆØ—=‘=×)Ñ)×/Ñ/Ó1ˆØ�˜1˜S˜EÐ"ˆÜ�d—i‘i Ô&Ø�Z˜q  Ð&ˆDØ�1‰HˆCô �d—i‘i Õ&ð 	�	‰	×Ñ˜T 3Ô'Øˆr   c                 ó$  •— 	 t         ‰| �  |«      S # t        $ rt | j                  rft	        t        |j                  «       «      «      dk(  rAt	        t        |j                  «       «      «      dk(  r| j                  |«      }|| _	        |cY S ‚ w xY w)Nr   )
r|   Úpath_of_moduleÚ	NameErrorro   ÚlenÚlistÚ
parametersÚbuffersr¥   Úprev_module)r   r�   r¤   r–   s      €r   r§   zMetaTracer.path_of_module  s�   ø€ ð	Ü‘7Ñ)¨#Ó.Ð.øÜò 		à×0Ò0Üœ˜SŸ^™^Ó-Ó.Ó/°1Ò4Üœ˜SŸ[™[›]Ó+Ó,°Ò1à×7Ñ7¸Ó<�Ø#'�Ô Ø’Øð		ús   ƒ ’A9BÂBc                 ó   — t        || «      S r   )rB   )r   r6   s     r   r3   zMetaTracer.proxy  s   € Ü˜˜tÓ$Ð$r   r}   c           
      óˆ  •— t        |t        «      sJ ‚|| _        | j                  D �ci c]  }|t	        t        t        |«      «      “Œ c}| _        t        «       | _	        | j                  j                  «       D ]4  \  }\  }}t        t        ||«       | j                  j                  |«       Œ6 	 t        ‰
| �9  ||«      }d|i|_        || j                  j                  «       D ]  \  }\  }	}t        t        ||«       Œ S c c}w # | j                  j                  «       D ]  \  }\  }	}t        t        ||«       Œ w xY w)Nr}   )r/   Údictr}   Ú_TORCH_METHODS_TO_PATCHr@   rP   r   Úpatched_torch_methodsÚsetr~   ÚitemsÚsetattrÚaddr|   ÚtraceÚ_tracer_extras)r   rb   r}   Úconcrete_argsr<   rˆ   r=   ÚorigÚgraphrŸ   r–   s             €r   r·   zMetaTracer.trace  s1  ø€ Ü˜)¤TÔ*Ð*Ð*Ø"ˆŒð ×6Ñ6ö&
àð Ô+¬G´E¸6Ó,BÓCÑCò&
ˆÔ"ô ›ˆŒà%)×%?Ñ%?×%EÑ%EÓ%Gò 	$Ñ!ˆD‘/�7˜DÜ”E˜4 Ô)Ø�M‰M×Ñ˜dÕ#ð	$ð	+Ü‘G‘M $¨Ó6ˆEØ$/°Ð#;ˆEÔ Øà#'×#=Ñ#=×#CÑ#CÓ#Eò +‘�‘i�q˜$Üœ˜t TÕ*ñ+ùò&
øð $(×#=Ñ#=×#CÑ#CÓ#Eò +‘�‘i�q˜$Üœ˜t TÕ*ñ+ús   ©!DÂ3D	 Ä	8E)NNNr   )r[   r\   r]   ro   ÚboolÚ__annotations__r±   r9   rP   rx   r   ÚnnÚModulerh   r¥   r§   r3   r°   rƒ   r·   Ú__classcell__)r–   s   @r   rn   rn   ž   s‹   ø… Ø(,Ð Ó,âMÐð ØØõGôRJô=ð¨u¯x©x¯©ð À3ó ð %§(¡(§/¡/ð °cõ ò%ñ+ T¨#¨u¯|©|Ð*;Ñ%<÷ +ñ +r   rn   rb   .r}   r¹   r�   c                 ó"  — t        «       }|j                  | ||«      }t        | t        j                  j
                  «      r| j                  j                  n| j                  }t        j                  j                  |j                  ||«      }|S r   )rn   r·   r/   r   r¾   r¿   r–   r[   r0   ÚGraphModulerb   )rb   r}   r¹   r8   r»   rˆ   Úgms          r   Úsymbolic_tracerÄ   ,  si   € ô
 ‹\€FØ�L‰L˜˜y¨-Ó8€Eä#-¨d´E·H±H·O±OÔ#Dˆ�‰×ÒÈ$Ï-É-ð 	ô 
�‰×	Ñ	˜fŸk™k¨5°$Ó	7€BØ€Ir   )F)NN)*rO   r>   r…   Útypingr   r   r   r   r   Útorch.fxr   r   r   r   r!   r'   r*   r¾   Ú	EmbeddingÚ	LayerNormÚreluÚ
functionalÚReLUÚwhereÚabsr+   r°   r½   r@   r0   r1   rB   rX   rU   rl   ÚTracerrn   r¿   rh   rƒ   rÂ   rÄ   r   r   r   ú<module>rÏ      s…  ðä Û Û ß 1Ó 1ã Û òKòòòóò
Sð &*ô ð 
‡H�H×ÑÐ*Ø	‡H�H×ÑÐ-Ø	‡J�JÐ#Ø	‡H�H×Ñ×ÑÐ6Ø	‡H�H‡M�MÐ)Ø	‡K�KÐ%Ø	‡I�IÐ!ð3Ð �t˜H hÐ.Ñ/ó òô*+&�—‘—‘ô +&ô\
�Iô 
ô.	˜-ô 	òôK+�—‘—‘ô K+ð` 48Ø.2ñØ
�—‘—‘ ¨#¨s¨(Ñ!3Ð3Ñ
4ðà˜˜S %§,¡,Ð.Ñ/Ñ0ðð ˜D  c ™NÑ+ðð ‡X�X×Ñô	r   