+
    TV-j�  ã                   ón  € ^ RI t ^ RIHt ^ RIHt ^ RIHt ^RIH	t	 ^RI
HtHtHt ] ! R R]4      4       t ! R R]P                  4      t ! R	 R
]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      tR# )é    N)Ú	dataclass)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   ó4   a € ] tR t^t o RtRtV 3R ltRtV tR# )Ú	ModelArgsFc                ó¶   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   # )é   Ú
model_typeÚ
vocab_sizeÚhidden_sizeÚnum_attention_headsÚnum_hidden_layersÚnum_key_value_headsÚintermediate_sizeÚ
rope_thetaÚuse_qkv_biasÚpartial_rotary_factorÚlayer_norm_epsÚuse_parallel_residualÚqk_layernorm)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€Úg/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/stablelm.pyÚ__annotate__ÚModelArgs.__annotate__   sª   ø‡ ‚ á�Oñ ñ �Oñ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ !Ñ ñ ñ Ññ ñ  Ñ'ñ ñ Ñò ó    © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s   ø‡ € ð #(ÐØ€L÷ ƒ r"   r	   c                   ó8   a a€ ] tR t^t oV 3R ltR tRtVtV ;t# )ÚLayerNormPerHeadc           	     ó¦   <€ \         SV `  4        \        V4       Uu. uF  p\        P                  ! WR R7      NK  	  upV n        W0n        R# u upi )F)ÚepsÚbiasN)ÚsuperÚ__init__ÚrangeÚnnÚ	LayerNormÚnormsr.   )ÚselfÚhead_dimÚ	num_headsr.   Ú_Ú	__class__s   &&&& €r   r1   ÚLayerNormPerHead.__init__    sF   ø€ Ü‰ÑÔäAFÀyÔAQó
ÙAQ¸AŒB�LŠL˜°×7ÑAQñ
ˆŒ
ð Žùò
s   �!Ac                óä   € \         P                  ! V P                   Uu. uF  q"P                  NK  	  up4      pV\         P                  P                  VR R V P                  4      ,          # u upi ©N)ÚmxÚstackr5   ÚweightÚfastÚ
layer_normr.   )r6   ÚxÚnÚws   &&  r   Ú__call__ÚLayerNormPerHead.__call__'   sN   € Ü�HŠH¨¯
ª
Ó3©
 1—h”h©
Ñ3Ó4ˆØ”2—7‘7×%Ñ% a¨¨t°T·X±XÓ>Õ>Ð>ùò 4s   ŸA-)r.   r5   ©	r$   r%   r&   r'   r1   rF   r)   r*   Ú__classcell__©r:   r   s   @@r   r,   r,      s   ù‡ € õ÷?ò ?r"   r,   c                   óH   a a€ ] tR t^,t oV3R lV 3R lltRR ltRtVtV ;t# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úconfig©r	   )r   r   s   "€r   r    ÚAttention.__annotate__-   s   ø€ ÷ .ñ .™yñ .r"   c                ó°  <€ \         SV `  4        VP                  V n        VP                  V n        V P                  V P                  ,          V n        VP                  V n        VP                  V n        VP                  V n        V P
                  V P                  ,          V P                  8w  d'   \        R V P                   RV P                   R24      h\        P                  ! V P                  V P                  V P
                  ,          VP                  R7      V n        \        P                  ! V P                  V P                  V P
                  ,          VP                  R7      V n        \        P                  ! V P                  V P                  V P
                  ,          VP                  R7      V n        \        P                  ! V P                  V P
                  ,          V P                  RR7      V n        \        P"                  ! \%        V P                  V P
                  ,          4      RV P                  R7      V n        VP(                  V n        V P(                  '       de   \+        V P
                  V P                  VP,                  R7      V n        \+        V P
                  V P                  VP,                  R7      V n        R# R# )z?hidden_size must be divisible by num_heads (got `hidden_size`: z and `num_heads`: z).©r/   F)ÚtraditionalÚbase©r.   N)r0   r1   r   r   r8   r7   r   r   r   Ú
ValueErrorr3   ÚLinearr   Úq_projÚk_projÚv_projÚo_projÚRoPEr   Úroper   r,   r   Úq_layernormÚk_layernorm©r6   rO   r:   s   &&€r   r1   ÚAttention.__init__-   s  ø€ Ü‰ÑÔà!×-Ñ-ˆÔØ×3Ñ3ˆŒØ×(Ñ(¨D¯N©NÕ:ˆŒØ#)×#=Ñ#=ˆÔ Ø ×+Ñ+ˆŒØ%+×%AÑ%AˆÔ"à�M‰M˜DŸN™NÕ*¨t×/?Ñ/?Ô?ÜØQÐRV×RbÑRbÐQcØ$ T§^¡^Ð$4°Bð8óð ô
 —i’iØ×Ñ˜dŸn™n¨t¯}©}Õ<À6×CVÑCVô
ˆŒô —i’iØ×ÑØ×$Ñ$ t§}¡}Õ4Ø×$Ñ$ô
ˆŒô
 —i’iØ×ÑØ×$Ñ$ t§}¡}Õ4Ø×$Ñ$ô
ˆŒô
 —i’iØ�N‰N˜TŸ]™]Õ*¨D×,<Ñ,<À5ô
ˆŒô —G’GÜ�×*Ñ*¨T¯]©]Õ:Ó;ØØ—‘ô
ˆŒ	ð #×/Ñ/ˆÔØ××ÐÜ/Ø—‘˜tŸ~™~°6×3HÑ3Hô ˆDÔô  0Ø—‘˜t×7Ñ7¸V×=RÑ=Rô ˆDÖñ	 r"   c           	     ó‚  € V P                  V4      V P                  V4      V P                  V4      repVP                  w  rxp	VP	                  WxV P
                  R4      pVP	                  WxV P                  R4      pV P                  '       d#   V P                  V4      pV P                  V4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pVP	                  WxV P                  R4      P                  ^ ^^^4      pVeM   V P                  WCP                  R7      pV P                  WSP                  R7      pVP                  WV4      w  rVM"V P                  V4      pV P                  V4      pVP                  \        P                   4      pVP                  \        P                   4      p\"        P$                  ! ^VP                  R,          ,          4      p
\'        WEWcW¢R7      P                  VP(                  4      pVP                  ^ ^^^4      P	                  WxR4      pV P+                  V4      # )é   )Úoffset)ÚcacheÚscaleÚmaskéÿÿÿÿ)rY   rZ   r[   ÚshapeÚreshaper8   r   r   r_   r`   Ú	transposer^   re   Úupdate_and_fetchÚastyper>   Úfloat32ÚmathÚsqrtr   Údtyper\   )r6   rC   rh   rf   ÚqueriesÚkeysÚvaluesÚBÚLÚDrg   Úoutputs   &&&&        r   rF   ÚAttention.__call__]   sÛ  € Ø $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —-‘-‰ˆˆaà—/‘/ !¨¯©¸Ó;ˆØ�|‰|˜A $×":Ñ":¸BÓ?ˆØ××ÐØ×&Ñ& wÓ/ˆGØ×#Ñ# DÓ)ˆDØ×#Ñ# A q¨!¨QÓ/ˆØ�~‰~˜a  A qÓ)ˆØ—‘  d×&>Ñ&>ÀÓC×MÑMØˆq�!�Qó
ˆð
 ÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDà—.‘.¤§¡Ó,ˆØ�{‰{œ2Ÿ:™:Ó&ˆô —	’	˜!˜gŸm™m¨BÕ/Õ/Ó0ˆÜ-Ø˜6°eô
ç
‰&�—‘Ó
ð 	ð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r"   )r7   r   r`   rZ   r8   r   r\   r   r_   rY   r   r^   r   r[   )NNrH   rJ   s   @@r   rL   rL   ,   s   ù‡ € ÷.ó .÷`##ô ##r"   rL   c                   óD   a a€ ] tR t^ƒt oV 3R ltV3R lR ltRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        \        P                  ! WR R7      V n        R# ©FrS   N)r0   r1   r3   rX   Ú	gate_projÚ	down_projÚup_proj)r6   ÚdimÚ
hidden_dimr:   s   &&&€r   r1   ÚMLP.__init__„   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr"   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Úreturn©r>   Úarray)r   r   s   "€r   r    ÚMLP.__annotate__Š   s   ø€ ÷ Jñ J™RŸX™Xñ Jr"   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # r=   )r€   r   r   r�   )r6   rC   s   &&r   rF   ÚMLP.__call__Š   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr"   )r€   r   r�   rH   rJ   s   @@r   r|   r|   ƒ   s   ù‡ € õ>÷J÷ Jð Jr"   r|   c                   óD   a a€ ] tR t^Žt oV3R lV 3R lltR tRtVtV ;t# )ÚDecoderLayerc                ó    <€ V ^8„  d   QhRS[ /# rN   rP   )r   r   s   "€r   r    ÚDecoderLayer.__annotate__�   s   ø€ ÷ ñ ™yñ r"   c                óž  <€ \         SV `  4        \        VR 7      V n        \	        VP
                  VP                  4      V n        \        P                  ! VP
                  VP                  R7      V n        VP                  V n        V P                  '       g4   \        P                  ! VP
                  VP                  R7      V n        R# R# ))rO   rV   N)r0   r1   rL   Ú	self_attnr|   r   r   Úmlpr3   r4   r   Úinput_layernormr   Úpost_attention_layernormra   s   &&€r   r1   ÚDecoderLayer.__init__�   s›   ø€ Ü‰ÑÔÜ"¨&Ô1ˆŒÜ�v×)Ñ)¨6×+CÑ+CÓDˆŒÜ!Ÿ|š|Ø×ÑØ×%Ñ%ô 
ˆÔð &,×%AÑ%AˆÔ"Ø×)×)Ð)Ü,.¯LªLØ×"Ñ"Ø×)Ñ)ô-ˆDÖ)ñ *r"   c                ó  € V P                  V4      pV P                  WBV4      pV P                  '       d!   W,           V P                  V4      ,           pV# W,           pV P                  V P	                  V4      4      pWE,           pV# r=   )r“   r‘   r   r’   r”   )r6   rC   rh   rf   ÚhÚrÚouts   &&&&   r   rF   ÚDecoderLayer.__call__ž   sw   € Ø× Ñ  Ó#ˆØ�N‰N˜1 EÓ*ˆà×%×%Ð%Ø•%˜$Ÿ(™( 1›+Õ%ˆCð
 ˆ
ð •ˆAØ—‘˜×6Ñ6°qÓ9Ó:ˆAØ•%ˆCØˆ
r"   )r“   r’   r”   r‘   r   rH   rJ   s   @@r   r�   r�   Ž   s   ù‡ € ÷ó ÷
ò 
r"   r�   c                   óD   a a€ ] tR t^«t oV3R lV 3R lltR tRtVtV ;t# )ÚStableLMc                ó    <€ V ^8„  d   QhRS[ /# rN   rP   )r   r   s   "€r   r    ÚStableLM.__annotate__¬   s   ø€ ÷ Pñ P™yñ Pr"   c                óV  <€ \         SV `  4        \        P                  ! VP                  VP
                  4      V n        \        VP                  4       Uu. uF  p\        V4      NK  	  upV n
        \        P                  ! VP
                  VP                  R 7      V n        R# u upi )rV   N)r0   r1   r3   Ú	Embeddingr   r   Úembed_tokensr2   r   r�   Úlayersr4   r   Únorm)r6   rO   Úir:   s   && €r   r1   ÚStableLM.__init__¬   sy   ø€ Ü‰ÑÔÜŸLšL¨×):Ñ):¸F×<NÑ<NÓOˆÔÜ5:¸6×;SÑ;SÔ5TÓUÑ5T°”| FÖ+Ñ5TÑUˆŒÜ—L’L ×!3Ñ!3¸×9NÑ9NÔOˆŽ	ùò Vs   ÁB&c                óþ   € V P                  V4      pVf   R .\        V P                  4      ,          p\        W^ ,          4      p\	        V P                  V4       F  w  rEV! WVR7      pK  	  V P                  V4      # )N)rf   )r¡   Úlenr¢   r   Úzipr£   )r6   rC   rf   rh   ÚlayerÚcs   &&&   r   rF   ÚStableLM.__call__²   sm   € Ø×Ñ˜aÓ ˆØŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a QÔ'ŠAñ 0ð �y‰y˜‹|Ðr"   )r¡   r¢   r£   rH   rJ   s   @@r   rœ   rœ   «   s   ù‡ € ÷Pó P÷
ò 
r"   rœ   c                   ód   a a€ ] tR t^¿t oV3R lV 3R lltRV3R lR llt]R 4       tRtVt	V ;t
# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# rN   rP   )r   r   s   "€r   r    ÚModel.__annotate__À   s   ø€ ÷ ñ ™yñ r"   c                óÖ   <€ \         SV `  4        VP                  V n        \        V4      V n        \
        P                  ! VP                  VP                  R R7      V n	        Wn
        R# r~   )r0   r1   r   rœ   Úmodelr3   rX   r   r   Úlm_headÚargsra   s   &&€r   r1   ÚModel.__init__À   sL   ø€ Ü‰ÑÔØ ×+Ñ+ˆŒÜ˜fÓ%ˆŒ
Ü—y’y ×!3Ñ!3°V×5FÑ5FÈUÔSˆŒØŽ	r"   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   rC   r†   r‡   )r   r   s   "€r   r    r¯   Ç   s'   ø€ ÷ ñ á�8‰8ðñ 
�‰ñ	r"   c                óF   € V P                  W4      pV P                  V4      # r=   )r±   r²   )r6   rC   rf   Úys   &&& r   rF   ÚModel.__call__Ç   s    € ð
 �J‰J�qÓ ˆØ�|‰|˜A‹Ðr"   c                ó.   € V P                   P                  # r=   )r±   r¢   )r6   s   &r   r¢   ÚModel.layersÏ   s   € à�z‰z× Ñ Ð r"   )r³   r²   r±   r   r=   )r$   r%   r&   r'   r1   rF   Úpropertyr¢   r)   r*   rI   rJ   s   @@r   r­   r­   ¿   s2   ù‡ € ÷ó ÷ò ð ñ!ó ÷!ð !r"   r­   )rp   Údataclassesr   Úmlx.coreÚcorer>   Úmlx.nnr3   Úactivationsr   rU   r   r   r   r	   ÚModuler,   rL   r|   r�   rœ   r­   r#   r"   r   Ú<module>rÂ      sœ   ðó Ý !å Ý å ß TÑ Tð ô�ó ó ðô ?�r—y‘yô ?ôT#�—	‘	ô T#ônJˆ"�)‰)ô Jô�2—9‘9ô ô:ˆr�y‰yô ô(!ˆB�I‰Iö !r"   