+
    ÒÜ³j	  ã                   ó€   € ^RI Ht ^ RIHtHt  ! R R]4      t^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt  ! R	 R
4      tR# )é   )ÚBaseAWQForCausalLM)ÚMptBlockÚMptForCausalLMc                   ó´   a € ] tR t^t o RtRt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t	]V 3R	 lR
 l4       t
]V 3R lR l4       tRtV tR# )ÚMptAWQForCausalLMÚMPTBlockÚmax_seq_lenc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úmodel©r   )ÚformatÚ__classdict__s   "€ÚO/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/mpt.pyÚ__annotate__ÚMptAWQForCausalLM.__annotate__
   s   ø€ ÷ !ñ !™>ñ !ó    c                ó<   € \        V 4      pVP                  4        R # ©N)ÚMptFuserÚfuse_transformer)r   Úfusers   & r   Úfuse_layersÚMptAWQForCausalLM.fuse_layers	   s   € ä˜“ˆØ×ÑÖ r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r      s   ø€ ÷ (ñ (¡ñ (r   c                ó.   € V P                   P                  # r   )ÚtransformerÚblocks)r   s   &r   Úget_model_layersÚ"MptAWQForCausalLM.get_model_layers   s   € à× Ñ ×'Ñ'Ð'r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úmodule©ÚOldMptBlock)r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
¡Kñ 
r   c                ó„   € \        R RV P                  P                  V P                  P                  P                  R7      # )Tzffn.act)Úis_scalableÚ
scale_nameÚscale_layerÚscale_shape)ÚdictÚffnÚactÚup_projÚout_features)r$   s   &r   Úget_act_for_scalingÚ%MptAWQForCausalLM.get_act_for_scaling   s3   € äØØ ØŸ
™
Ÿ™ØŸ
™
×*Ñ*×7Ñ7ô	
ð 	
r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r   Údevice)r   Ústr)r   r   s   "€r   r   r      s   ø€ ÷ Kñ K™.ð K±#ñ Kr   c                óÖ   € V P                   P                  P                  V4      V P                   n        V P                   P                  P                  V4      V P                   n        R # r   )r   ÚwteÚtoÚemb_drop)r   r4   s   &&r   Ú
move_embedÚMptAWQForCausalLM.move_embed   sL   € à %× 1Ñ 1× 5Ñ 5× 8Ñ 8¸Ó @ˆ×ÑÔØ%*×%6Ñ%6×%?Ñ%?×%BÑ%BÀ6Ó%Jˆ×ÑÖ"r   c                ó    <€ V ^8„  d   QhRS[ /# r#   r%   )r   r   s   "€r   r   r   !   s   ø€ ÷ -ñ -¡{ñ -r   c           
     óÀ  € . pVP                  R 4      e   VP                  R 4       VP                  \        V P                  V P
                  P                  .VR,          V P
                  VR7      4       VP                  \        V P
                  P                  V P
                  P                  .VR,          R7      4       VP                  \        V P                  V P                  P                  .VR,          V P                  R7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       V# )Úoutput_attentionsz	attn.Wqkv)Úprev_opÚlayersÚinpÚmodule2inspectÚkwargszattn.out_proj)r?   r@   rA   zffn.up_proj)r?   r@   rA   rB   zffn.down_proj)ÚgetÚpopÚappendr,   Únorm_1ÚattnÚWqkvÚout_projÚnorm_2r-   r/   r.   Ú	down_proj)r$   Ú
input_featÚmodule_kwargsr@   s   &&& r   Úget_layers_for_scalingÚ(MptAWQForCausalLM.get_layers_for_scaling    s  € àˆà×ÑÐ0Ó1Ò=Ø×ÑÐ1Ô2ð 	�‰ÜØŸ™ØŸ™×(Ñ(Ð)Ø˜{Õ+Ø%Ÿ{™{Ø$ôô	
ð 	�‰ÜØŸ™×(Ñ(ØŸ™×,Ñ,Ð-Ø˜Õ/ôô	
ð 	�‰ÜØŸ™ØŸ
™
×*Ñ*Ð+Ø˜}Õ-Ø%Ÿz™zô	ô	
ð 	�‰ÜØŸ
™
Ÿ™ØŸ
™
×,Ñ,Ð-Ø˜Õ/ôô	
ð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚstaticmethodr   r    r1   r:   rO   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      ss   ø‡ € Ø€JØ#€Oà÷!ó ð!ð ÷(ó ð(ð ÷
ó ð
ð ÷Kó ðKð ÷-ó ö-r   r   )ÚListÚTuple)Úset_module_name)r   )ÚMPTModelc                   ó8   a € ] tR t^Wt o V 3R lR ltR tRtV tR# )r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚMptFuser.__annotate__X   s   ø€ ÷ 
ñ 
™nñ 
r   c                óÜ   € Wn         V P                   P                  4        UUu. uF3  w  r#R VP                  P                  P	                  4       9   g   K0  W#3NK5  	  uppV n        R# u uppi )ÚmptblockN)r   Únamed_modulesÚ	__class__rR   ÚlowerÚ
mpt_blocks)Úselfr   Únamer$   s   &&  r   Ú__init__ÚMptFuser.__init__X   s]   € ØŒ
ð !%§
¡
× 8Ñ 8Ô :ô:
á :‘�Ø˜V×-Ñ-×6Ñ6×<Ñ<Ó>Ñ>ô ˆT‹NÙ :ò:
ˆŽùó :
s   ¤-A(ÁA(c                ó¸  € . pV P                   P                  P                   Fý  pVP                  \	        V P                   P
                  P                  V P                   P
                  P                  VP                  P                  VP                  P                  VP                  VP                  VP                  \        \        VP!                  4       P#                  4       4      4      P$                  V P                   P
                  P&                  4	      4       Kÿ  	  \)        V P                   P
                  P*                  VV P                   P                  P,                  V P                   P                  P.                  4      V P                   n        \1        V P                   P                  R V P                   P                  P                  4       R# )r   N)r   r   r   rF   r   ÚconfigÚd_modelÚn_headsrH   rI   rJ   r-   rG   rK   ÚnextÚiterÚ
state_dictÚvaluesr4   r	   r_   Ú
vocab_sizer7   Únorm_fÚsetattr)ri   r   r$   s   &  r   r   ÚMptFuser.fuse_transformera   s;  € Øˆð —j‘j×,Ñ,×3Ô3ˆFØ�M‰MÜØ—J‘J×%Ñ%×-Ñ-Ø—J‘J×%Ñ%×-Ñ-Ø—K‘K×$Ñ$Ø—K‘K×(Ñ(Ø—J‘JØ—M‘MØ—M‘MÜœ˜f×/Ñ/Ó1×8Ñ8Ó:Ó;Ó<×CÑCØ—J‘J×%Ñ%×1Ñ1ó
öñ 4ô "*Ø�J‰J×Ñ×(Ñ(ØØ�J‰J×"Ñ"×&Ñ&Ø�J‰J×"Ñ"×)Ñ)ó	"
ˆ�
‰
Ôô 	�—
‘
×&Ñ&¨°$·*±*×2HÑ2H×2OÑ2OÖPr   )r   rh   N)rR   rS   rT   rU   rk   r   rY   rZ   r[   s   @r   r   r   W   s   ø‡ € ÷
ð 
÷Qð Qr   r   N)Úbaser   Ú$transformers.models.mpt.modeling_mptr   r&   r   r   Útypingr\   r]   Úawq.utils.utilsr^   Úawq.modules.fused.blockr   Úawq.modules.fused.modelr_   r   rQ   r   r   Ú<module>r      s5   ðÝ $ß XôIÐ*ô I÷X Ý +Ý ,Ý ,÷$Qó $Qr   