+
    UV-j?T  ã                   ó,  € ^ RI Ht ^ RIHt ^ RIHt ^ RIt^RI	H
t
 ^RI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R	 R
 lltR tR tR tR t ! R R]P:                  4      t ! R R]P:                  4      t ! R R]P:                  4      t R# )é    )ÚOptionalN)ÚInputEmbeddingsFeatures)ÚLanguageModel)Ú
AudioModelÚAudioProjectorÚcheck_conv1d_weight_shape©ÚModelConfig)ÚMiniCPMOProcessor)ÚVisionModelÚcheck_array_shapec                óN   € V ^8„  d   QhR\         \        P                  ,          /# )é   Údtype)r   ÚmxÚDtype)Úformats   "Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/minicpmo/minicpmo.pyÚ__annotate__r      s   € ÷ ñ œx¬¯©Õ1ñ ó    c                 óä  € V f   R # \        V \        P                  4      '       d   T pM \        V R4      '       dB   \        P                  ! V P	                  4       P                  4       P                  4       4      pMM\        V R4      '       d&   \        P                  ! V P                  4       4      pM\        P                  ! V 4      pVe#   VP                  V8w  d   VP                  V4      pV# ©NÚdetachÚnumpy)	Ú
isinstancer   ÚarrayÚhasattrr   Úcpur   r   Úastype)Úvaluer   Úouts   && r   Ú_to_mx_arrayr"      s¥   € Ø‚}ÙÜ�%œŸ™×"Ò"Ø‰Ü	�˜×	!Ò	!Ü�hŠh�u—|‘|“~×)Ñ)Ó+×1Ñ1Ó3Ó4‰Ü	�˜×	 Ò	 Ü�hŠh�u—{‘{“}Ó%‰ä�hŠh�u‹oˆØÒ˜SŸY™Y¨%Ô/Ø�j‰j˜ÓˆØ€Jr   c                 óf  € V f   R # \        V \        P                  4      '       d   \        P                  ! V 4      # \	        V R4      '       d-   V P                  4       P                  4       P                  4       # \	        V R4      '       d   V P                  4       # \        P                  ! V 4      # r   )r   r   r   Únpr   r   r   r   )r    s   &r   Ú	_to_numpyr%      s{   € Ø‚}ÙÜ�%œŸ™×"Ò"Ü�xŠx˜‹ÐÜˆu�h×ÒØ�|‰|‹~×!Ñ!Ó#×)Ñ)Ó+Ð+Üˆu�g×ÒØ�{‰{‹}ÐÜ�8Š8�E‹?Ðr   c                 ó`  € \        V \        4      '       d   Y r2MV ^ ,          V ^,          r2\        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      p\        P
                  ! WT4      p\        P                  ! V^ R7      p\        W4      # )r   ©r   ©Úaxis)r   Úintr$   ÚarangeÚfloat32ÚmeshgridÚstackÚ!get_2d_sincos_pos_embed_from_grid)Ú
image_sizeÚ	embed_dimÚgrid_h_sizeÚgrid_w_sizeÚgrid_hÚgrid_wÚgrids   &&     r   Úget_2d_sincos_pos_embedr7   +   st   € Ü�*œc×"Ò"Ø#-‘[à#-¨a¥=°*¸Qµ-�[ä�YŠY�{¬"¯*©*Ô5€FÜ�YŠY�{¬"¯*©*Ô5€FÜ�;Š;�vÓ&€DÜ�8Š8�D˜qÔ!€DÜ,¨YÓ=Ð=r   c                 ó¼   € V ^,          ^ 8X  g   Q h\        V ^,          V^ ,          4      p\        V ^,          V^,          4      p\        P                  ! W#.RR7      # )r   r(   éÿÿÿÿ)Ú!get_1d_sincos_pos_embed_from_gridr$   Úconcatenate)r1   r6   Úemb_hÚemb_ws   &&  r   r/   r/   8   sO   € Ø�q�=˜AÔÐÐÜ-¨i¸1­n¸dÀ1½gÓF€EÜ-¨i¸1­n¸dÀ1½gÓF€EÜ�>Š>˜5˜.¨rÔ2Ð2r   c                 ór  € V ^,          ^ 8X  g   Q h\         P                  ! V ^,          \         P                  R7      pW R,          ,          pRRV,          ,          p\         P                  ! RW4      p\         P                  ! V4      p\         P
                  ! V4      p\         P                  ! WE.RR7      # )r   r'   g       @g      ð?i'  z	hw,d->hwdr(   r9   )r$   r+   r,   ÚeinsumÚsinÚcosr;   )r1   ÚposÚomegar!   Úemb_sinÚemb_coss   &&    r   r:   r:   ?   s„   € Ø�q�=˜AÔÐÐÜ�IŠI�i 1•n¬B¯J©JÔ7€EØ	˜�_Õ€EØ�%˜•,Õ€Eä
�)Š)�K Ó
,€CÜ�fŠf�S‹k€GÜ�fŠf�S‹k€GÜ�>Š>˜7Ð,°2Ô6Ð6r   c                   óT   a a€ ] tR t^Kt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚCrossAttentionc                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   ÚdimÚ	num_heads)r*   )r   Ú__classdict__s   "€r   r   ÚCrossAttention.__annotate__L   s   ø€ ÷ 	7ñ 	7™Cð 	7©Cñ 	7r   c                ób  <€ \         SV `  4        W n        W,          V n        V P                  R,          V n        \
        P                  ! WRR7      V n        \
        P                  ! WRR7      V n        \
        P                  ! WRR7      V n	        \
        P                  ! WRR7      V n
        R# )g      à?T©ÚbiasNç      à¿)ÚsuperÚ__init__rJ   Úhead_dimÚscaleÚnnÚLinearÚq_projÚk_projÚv_projÚout_proj)ÚselfrI   rJ   Ú	__class__s   &&&€r   rR   ÚCrossAttention.__init__L   su   ø€ Ü‰ÑÔØ"ŒØÕ(ˆŒØ—]‘] DÕ(ˆŒ
ä—i’i ¨tÔ4ˆŒÜ—i’i ¨tÔ4ˆŒÜ—i’i ¨tÔ4ˆŒÜŸ	š	 #°Ô6ˆŽr   c          	      ó’   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  RS[S[ P                  ,          /# )r   ÚqueriesÚkeysÚvaluesÚkey_padding_mask)r   r   r   )r   rK   s   "€r   r   rL   W   sH   ø€ ÷ ""ñ ""á—‘ð""ñ �h‰hð""ñ —‘ð	""ñ
 #¡2§8¡8Õ,ñ""r   c           	     óŠ  € VP                   w  rVpVP                   w  r‰pV P                  V4      P                  WVV P                  V P                  4      p
V P                  V4      P                  WYV P                  V P                  4      pV P                  V4      P                  WYV P                  V P                  4      pV
P                  ^ ^^^4      p
VP                  ^ ^^^4      pVP                  ^ ^^^4      pRpVe`   \        P                  ! VR,          \        P                  ! RV
P                  R7      \        P                  ! RV
P                  R7      4      p\        P                  P                  V
VVV P                  VR7      pVP                  ^ ^^^4      P                  WVV4      pV P                  V4      # )r   Nr'   g        )rT   Úmask)ºNNNNNre   g    eÍÍÁ)ÚshaperW   ÚreshaperJ   rS   rX   rY   Ú	transposer   Úwherer   r   ÚfastÚscaled_dot_product_attentionrT   rZ   )r[   r_   r`   ra   rb   ÚbszÚq_lenrI   Ú_Úkv_lenÚqÚkÚvrd   r!   s   &&&&&          r   Ú__call__ÚCrossAttention.__call__W   so  € ð "Ÿ-™-‰ˆ�CØ—z‘z‰ˆ�1à�K‰K˜Ó ×(Ñ(¨°T·^±^ÀTÇ]Á]ÓSˆØ�K‰K˜Ó×%Ñ% c°4·>±>À4Ç=Á=ÓQˆØ�K‰K˜Ó×'Ñ'¨°T·^±^ÀTÇ]Á]ÓSˆà�K‰K˜˜1˜a Ó#ˆØ�K‰K˜˜1˜a Ó#ˆØ�K‰K˜˜1˜a Ó#ˆàˆØÒ'Ü—8’8Ø Ð!1Õ2Ü—’˜ Q§W¡WÔ-Ü—’˜ A§G¡GÔ,óˆDô �g‰g×2Ñ2ØØØØ—*‘*Øð 3ó 
ˆð �m‰m˜A˜q ! QÓ'×/Ñ/°¸CÓ@ˆØ�}‰}˜SÓ!Ð!r   )rS   rX   rJ   rZ   rW   rT   rY   ©N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rR   rs   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r\   rK   s   @@r   rG   rG   K   s   ù‡ € ÷	7ó 	7÷""÷ ""ò ""r   rG   c                   ó`   a a€ ] tR t^|t oRV3R lV 3R llltR tR tV3R lR ltRtVt	V ;t
# )	Ú	Resamplerc          	      óB   <€ V ^8„  d   QhRS[ RS[ RS[ RS[S[ ,          /# )r   Únum_queriesr1   rJ   Úkv_dim)r*   r   )r   rK   s   "€r   r   ÚResampler.__annotate__}   s7   ø€ ÷ .ñ .áð.ñ ð.ñ ð	.ñ
 ™•ñ.r   c                ó’  <€ \         SV `  4        Wn        W n        W0n        WPn        \        P                  ! V P                  V34      V n        Ve%   WB8w  d   \        P                  ! WBRR7      V n        M\        P                  ! 4       V n        \        W#4      V n        \        P                  ! VRR7      V n        \        P                  ! VRR7      V n        \        P                  ! VRR7      V n        \        P&                  P)                  W"3R7      VR,          ,          V n        V P-                  V P
                  4       R # )NFrN   g�íµ ÷Æ°>)Úeps)rf   rP   )rQ   rR   r�   r1   rJ   Úmax_sizer   ÚzerosÚqueryrU   rV   Úkv_projÚIdentityrG   ÚattnÚ	LayerNormÚln_qÚln_kvÚln_postÚrandomÚnormalÚprojÚ_set_2d_pos_cache)r[   r�   r1   rJ   r‚   r†   r\   s   &&&&&&€r   rR   ÚResampler.__init__}   sä   ø€ ô 	‰ÑÔØ&ÔØ"ŒØ"ŒØ Œä—X’X˜t×/Ñ/°Ð;Ó<ˆŒ
àÒ &Ô"5ÜŸ9š9 V¸UÔCˆD�LäŸ;š;›=ˆDŒLä" 9Ó8ˆŒ	Ü—L’L °Ô5ˆŒ	Ü—\’\ )°Ô6ˆŒ
Ü—|’| I°4Ô8ˆŒÜ—I‘I×$Ñ$¨IÐ+AÐ$ÓBÀiÐQUÅoÕVˆŒ	à×Ñ˜tŸ}™}Ö-r   c                óx   € \        WP                  4      pVP                  \        P                  4      V n        R # ru   )r7   r1   r   r$   r,   Ú	pos_embed)r[   r†   r–   s   && r   r“   ÚResampler._set_2d_pos_cacheš   s&   € Ü+¨H·n±nÓEˆ	à"×)Ñ)¬"¯*©*Ó5ˆŽr   c                óæ  € \        \        P                  ! VR,          4      P                  4       4      p\        \        P                  ! VR,          4      P                  4       4      pW P                  ^ ,          8”  g   W0P                  ^,          8”  d[   \        W P                  ^ ,          4      \        W0P                  ^,          4      3V n        V P                  V P                  4       R# R# )re   N©re   r   ©re   é   )r*   r   ÚmaxÚitemr†   r“   )r[   Ú	tgt_sizesÚmax_hÚmax_ws   &&  r   Ú_adjust_pos_cacheÚResampler._adjust_pos_cacheŸ   s    € Ü”B—F’F˜9 T�?Ó+×0Ñ0Ó2Ó3ˆÜ”B—F’F˜9 T�?Ó+×0Ñ0Ó2Ó3ˆØ—=‘= Õ#Ô# u¯}©}¸QÕ/?Ô'?Ü  ¯©°aÕ(8Ó9¼3¸uÇmÁmÐTUÕFVÓ;WÐXˆDŒMØ×"Ñ" 4§=¡=Ö1ñ (@r   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   Úxrž   ©r   r   )r   rK   s   "€r   r   rƒ   ¦   s#   ø€ ÷ -ñ -™"Ÿ(™(ð -©r¯x©xñ -r   c                óè  € VP                   ^ ,          VP                   ^ ,          8X  g   Q hVP                   ^ ,          pVP                  pVR,          VR,          ,          P                  \        P                  4      p\        \        P                  ! V4      P                  4       4      pV P                  V4       \        P                  ! W63\        P                  R7      p. p\        V4       EF   p	\        W)^ 3,          P                  4       4      \        W)^3,          P                  4       4      rº\        P                  ! V P                  RV
1RV1R3,          4      P                  W«,          R	4      P                  V4      p\        WY,          P                  4       4      pWÖ8  dS   \        P                  ! Wm,
          VP                   R	,          3VR7      p\        P                   ! WÎ.^ R7      pRWyVR13&   VP#                  V4       EK#  	  \        P$                  ! V^ R7      pV P'                  V4      pV P)                  V4      pV P+                  V P,                  4      p\        P.                  ! VR
,          W0P0                  V P2                  34      pV P5                  VW,           V\        P                  ! V4      R7      pV P7                  V4      pVV P8                  ,          pV# )r   re   r'   Nr(   T)rb   r™   rš   r9   )Nre   re   )rf   r   r   r   Úint32r*   rœ   r�   r¡   r$   r‡   Úbool_Úranger   r–   rg   r;   Úappendr.   r‰   rŽ   r�   rˆ   Úbroadcast_tor�   r1   r‹   r�   r’   )r[   r¤   rž   Ú
batch_sizer   Ú
patch_lensÚmax_patch_lenrb   Ú
pos_embedsÚiÚtgt_hÚtgt_wrB   Úcur_lenÚpadrp   r!   s   &&&              r   rs   ÚResampler.__call__¦   s<  € Ø�w‰w�q�z˜YŸ_™_¨QÕ/Ô/Ð/Ð/à—W‘W˜Q•Zˆ
Ø—‘ˆØ •o¨	°$­Õ7×?Ñ?ÄÇÁÓIˆ
ÜœBŸFšF :Ó.×3Ñ3Ó5Ó6ˆà×Ñ˜yÔ)äŸ8š8 ZÐ$?ÄrÇxÁxÔPÐØˆ
Ü�z×"ˆAÜ˜y¨A¨�×3Ñ3Ó5Ó6¼¸IÈÀd½O×<PÑ<PÓ<RÓ8S�5ä—’˜Ÿ™¨¨¨°°°¸Ð(9Õ:Ó;ß‘˜�¨Ó+ß‘˜“ð ô ˜*�-×,Ñ,Ó.Ó/ˆGØÔ&Ü—h’h Õ 7¸¿¹À2½ÐGÈuÔU�Ü—n’n c Z°aÔ8�Ø04Ð  G¡H Ñ-Ø×Ñ˜c×"ñ #ô —X’X˜j¨qÔ1ˆ
à�L‰L˜‹OˆØ�J‰J�q‹Mˆà�I‰I�d—j‘jÓ!ˆÜ�OŠOØˆj�M˜J×(8Ñ(8¸$¿.¹.ÐIó
ˆð �i‰iØØ�NØÜŸXšXÐ&6Ó7ð	 ó 
ˆð �l‰l˜3ÓˆØ�D—I‘I�oˆØˆ
r   )r‹   r1   r‰   rŽ   r�   r�   r†   rJ   r�   r–   r’   rˆ   )N)éF   r¶   )rv   rw   rx   ry   rR   r“   r¡   rs   rz   r{   r|   r}   s   @@r   r   r   |   s(   ù‡ € ÷.õ .ò:6ò
2÷-÷ -ð -r   r   c                   óž   a a€ ] tR t^Öt oV3R lV 3R llt]R 4       tV3R lR ltR tR t	RV3R lR	 llt
RV3R
 lR lltR tRtVtV ;t# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# )r   Úconfigr	   )r   rK   s   "€r   r   ÚModel.__annotate__×   s   ø€ ÷ /ñ /™{ñ /r   c           	     óœ  <€ \         SV `  4        Wn        \        VP                  V4      V n        \        VP                  4      V n        \        VP                  VP                  P                  \        ^VP                  P                  ^€,          4      VP                  P                  R7      V n        VP                  '       dw   VP                  ei   \!        VP                  4      V n        \%        VP                  P&                  ^,          4      p\)        VVP                  P                  R7      V n        R# RV n        RV n        R# )r›   )r�   r1   rJ   r‚   N)Úin_dimÚout_dim)rQ   rR   rº   r   Útext_configÚlanguage_modelr   Úvision_configÚvision_towerr   Ú	query_numÚhidden_sizerœ   Ú	resamplerÚ
init_audioÚaudio_configr   Úaudio_towerr*   Úencoder_ffn_dimr   Úaudio_projection_layer)r[   rº   Úaudio_output_dimr\   s   && €r   rR   ÚModel.__init__×   s  ø€ Ü‰ÑÔØŒä+¨F×,>Ñ,>ÀÓGˆÔÜ'¨×(<Ñ(<Ó=ˆÔÜ"Ø×(Ñ(Ø×(Ñ(×4Ñ4Ü˜!˜V×/Ñ/×;Ñ;¸sÕBÓCØ×'Ñ'×3Ñ3ô	
ˆŒð ××Ð ×!4Ñ!4Ò!@Ü)¨&×*=Ñ*=Ó>ˆDÔÜ" 6×#6Ñ#6×#FÑ#FÈ!Õ#KÓLÐÜ*8Ø'Ø×*Ñ*×6Ñ6ô+ˆDÖ'ð
  $ˆDÔØ*.ˆDÖ'r   c                óB   € V P                   P                  P                  # ru   )rÀ   ÚmodelÚlayers)r[   s   &r   rÏ   ÚModel.layersî   s   € à×"Ñ"×(Ñ(×/Ñ/Ð/r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Ú	input_idsr¥   )r   rK   s   "€r   r   r»   ò   s   ø€ ÷ Uñ U©R¯X©Xñ Ur   c                óP  € VP                   w  r#\        P                  ! V\        P                  R 7      P	                  ^^R4      p\        P
                  ! V^W#34      pW@P                  n        \        P                  ! V^3\        P                  R 7      V P                  n	        R# )r'   Nr9   )
rf   r   r+   r§   rg   r«   rÀ   Ú_position_idsr‡   Ú_rope_deltas)r[   rÒ   r¬   Úseq_lenÚposition_idss   &&   r   Ú_set_position_stateÚModel._set_position_stateò   ss   € Ø'Ÿo™oÑˆ
Ü—y’y ´·±Ô9×AÑAÀ!ÀQÈÓKˆÜ—’ |°a¸Ð5MÓNˆØ,8×ÑÔ)Ü+-¯8ª8°ZÀ°OÌ2Ï8É8Ô+Tˆ×ÑÖ(r   c                ó  € V P                   P                  P                  P                  P                  pVf   . # \        V4      p. p\        V4       EF§  pV\        V4      8  d	   W,          M. pVe	   W&,          M. p\        V4      pVe   \        V4      ^ 8X  d(   \        P                  ! R\        P                  R7      pM&\        P                  ! V\        P                  R7      p. p	\        V4       EF²  w  r«\        W³R7      pVf   K  VP                  ^8w  d   K+  VP                  ^ ,          ^8X  d   VP!                  ^^^ 4      p\"        P$                  ! V^ R7      pV
\        V4      8  d
   WŠ,          pMi\'        \)        VP                  ^,          V P*                  P,                  ,          4      ^4      p\        P.                  ! ^V.\        P                  R7      p\"        P.                  ! V\"        P                  R7      R,          p\)        VR,          VR,          ,          P1                  4       4      p\"        P2                  ! ^^V3\"        P4                  R7      pV P                  VVVR7      pV P7                  VV4      pV	P9                  V^ ,          4       EKµ  	  \        V	4      ^ 8”  d+   VP9                  \"        P:                  ! V	^ R7      4       EK–  VP9                  . 4       EKª  	  V# )Nr'   r(   )Úpatch_attention_maskrž   )r   r   )Nre   )r   r   )r   r›   )rÂ   Ú
embeddingsÚpatch_embeddingÚweightr   Úlenr©   r%   r$   r‡   r§   ÚasarrayÚ	enumerater"   Úndimrf   rh   r   Úexpand_dimsrœ   r*   rº   Ú
patch_sizer   r�   Úonesr¨   rÅ   rª   r.   )r[   Úpixel_valuesrž   r   r¬   Úvision_hidden_statesÚ	batch_idxÚbatch_pixelsÚ	batch_tgtÚsample_embeddingsÚ	image_idxÚ
cur_pixelsÚcur_tgtrÖ   Ú	patch_lenrÛ   Úhiddens   &&&              r   Úget_vision_embeddingÚModel.get_vision_embeddingù   sc  € ð
 ×!Ñ!×,Ñ,×<Ñ<×CÑC×IÑIˆàÒØˆIä˜Ó&ˆ
Ø!Ðä˜z×*ˆIà+4´s¸<Ó7HÔ+H�Ö'Èbð ð 1:Ò0E˜	Ö,È2ˆIÜ! )Ó,ˆIØÒ ¤C¨	£N°aÔ$7ÜŸHšH V´2·8±8Ô<‘	äŸJšJ y¼¿¹ÔA�	à "ÐÜ)2°<×)@Ñ%�	Ü)¨*ÔB�
ØÒ%ÙØ—?‘? aÔ'Ùð ×#Ñ# AÕ&¨!Ô+Ø!+×!5Ñ!5°a¸¸AÓ!>�JÜŸ^š^¨J¸QÔ?�
àœs 9›~Ô-Ø'Õ2‘Gä!¤# j×&6Ñ&6°qÕ&9¸T¿[¹[×=SÑ=SÕ&SÓ"TÐVWÓX�GÜ Ÿhšh¨¨7 |¼2¿8¹8ÔD�GäŸ(š( 7´"·(±(Ô;¸GÕD�Ü ¨¥°¸µÕ!>× DÑ DÓ FÓG�	Ü')§w¢w°°1°iÐ/@ÌÏÉÔ'QÐ$à×*Ñ*ØØ)=Ø%ð +ó �ð
 Ÿ™¨°Ó8�Ø!×(Ñ(¨°­×3ñ9 *Aô< Ð$Ó%¨Ô)Ø$×+Ñ+¬B¯HªHÐ5FÈQÔ,O×Pà$×+Ñ+¨B×/ñ[ +ð^ $Ð#r   c           	     ó  € V P                   e   V P                  f   . # Vf   . # \        V4      pVe   VP                  ^ 8X  d   . # \	        V\
        4      '       g@   \        V4      pVf   . # \        \        P                  ! V4      P                  4       4      .p. pV F,  pVf   K	  V F  pVP                  \        V4      4       K  	  K.  	  \        V4      ^ 8X  d%   \        \        V4      4       Uu. uF  p. NK  	  up# \        P                  ! V\        P                   R7      pV P                  WR7      pV P                  V4      p	\#        \        V P$                  P&                  4      ^4      p
\#        V	P(                  ^,          V
,
          V
,          ^,           ^ 4      p. p\        V4       FE  pWÚ,          pWê,           pVP                  \        P*                  ! V	RWï1R3,          ^R7      4       KG  	  \        V4      ^ 8X  d%   \        \        V4      4       Uu. uF  p. NK  	  up# \        P,                  ! V^R7      pV^,
          ^,          ^,           pVV
,
          V
,          ^,           p\        P.                  ! V^4      p\        V4      p. p^ pV FW  p. pV F;  p\        VV,          4      pVP                  VVR V1R3,          4       V^,          pK=  	  VP                  V4       KY  	  V# u upi u upi )Nr'   )Úfeature_lengthsre   r(   )rÈ   rÊ   r"   Úsizer   Úlistr%   r$   rà   Útolistrª   r*   rß   r©   r   r   r§   rœ   rº   Úaudio_pool_steprf   Úmeanr.   Úmaximum)r[   Úaudio_featuresÚaudio_feature_lensÚ	flat_lensÚsample_lensrr   rn   Úflat_lens_mxÚaudio_statesÚaudio_embedsÚ	pool_stepÚpooled_countÚpooledr°   ÚstartÚendÚfeature_lens_after_cnnÚfeature_lens_after_poolÚoutputsÚidxÚsample_embedsr³   s   &&&                   r   Úget_audio_embeddingÚModel.get_audio_embedding7  sÀ  € Ø×ÑÒ# t×'BÑ'BÒ'JØˆIØÒ!ØˆIä% nÓ5ˆØÒ! ^×%8Ñ%8¸AÔ%=ØˆIäÐ,¬d×3Ò3Ü!*Ð+=Ó!>ÐØ!Ò)Ø�	Ü"&¤r§z¢zÐ2DÓ'E×'LÑ'LÓ'NÓ"OÐ!PÐàˆ	Û-ˆKØÒ"ÙÛ �Ø× Ñ ¤ Q£Ö(ó !ñ .ô ˆy‹>˜QÔÜ %¤cÐ*<Ó&=Ô >Ó?Ñ >˜1“BÑ >Ñ?Ð?ä—x’x 	´·±Ô:ˆØ×'Ñ'¨Ð'ÓUˆØ×2Ñ2°<Ó@ˆô œ˜DŸK™K×7Ñ7Ó8¸!Ó<ˆ	Ü˜L×.Ñ.¨qÕ1°IÕ=À)ÕKÈaÕOÐQRÓSˆØˆÜ�|Ö$ˆAØ•MˆEØÕ#ˆCØ�M‰Mœ"Ÿ'š' ,¨q°%°)¸Q¨Õ"?ÀaÔHÖIñ %ô
 ˆv‹;˜!ÔÜ %¤cÐ*<Ó&=Ô >Ó?Ñ >˜1“BÑ >Ñ?Ð?Ü—’˜& qÔ)ˆà#/°!Õ#3¸Õ"9¸QÕ!>Ðà# iÕ/°IÕ=Øõ#Ðô #%§*¢*Ð-DÀaÓ"HÐÜ"+Ð,CÓ"DÐàˆØˆÛ-ˆKØˆMÛ �ÜÐ5°cÕ:Ó;�Ø×$Ñ$ V¨C°°'°¸1Ð,<Õ%=Ô>Ø�q•’ñ !ð �N‰N˜=Ö)ñ .ð ˆùòG @ùò  @s   Ã6K=È$Lc                óZ   <€ V ^8„  d   QhRS[ S[P                  ,          RS[ S[,          /# )r   rÒ   ræ   )r   r   r   rö   )r   rK   s   "€r   r   r»   t  s4   ø€ ÷ nDñ nDá™BŸH™HÕ%ðnDñ ™t•nñnDr   c           
     óØ
  € V P                   P                  P                  V4      pV P                  V4       VP	                  R R4      pVP	                  RR4      pVP	                  RR4      pVe   TpMVe   V P                  W%4      pMRpVP	                  RR4      p	VP	                  RR4      p
VP	                  RR4      pV	e   V P                  Wš4      M. p. p\        VP                  ^ ,          4       EFL  pWN,          pVEe   VEe   WŽ,          p\        V\        P                  4      '       Edß   VP                  ^ 8”  EdÍ   \        V\        4      '       d	   Wn,          MWn,          p\        V4      pVEe—   VP                  ^ 8”  Ed…   \        P                   ! V\        P"                  R7      P%                  R
^4      p. pV FE  w  ppVV8”  g   K  VP'                  \        P(                  ! VV\        P"                  R7      4       KG  	  \+        V4      ^ 8”  dò   \        P,                  ! V^ R7      pVP%                  R
VP                  R
,          4      P/                  VP0                  4      p\3        VP                  ^ ,          \+        V4      4      pV^ 8”  dq   \        P                  ! VRV \        P4                  R7      pVRV p\        P6                  ! VV^ R7      pVP8                  V,          P;                  VV,
          4      p\        V\        4      '       Ed   V\+        V4      8  Ed÷   VEeò   WÎ,          p\        V\        4      '       d	   W¾,          MW¾,          p\        V4      pVEe´   \+        V4      ^ 8”  Ed£   \        P                   ! V\        P"                  R7      P%                  R
^4      p\=        V4       EF\  w  pw  ppV\+        V4      8¼  g   VV8:  d   K#  VV,          p\        V\        P                  4      '       g   \?        VVP0                  R7      pMVP/                  VP0                  4      pVe   VP                  ^ 8X  d   K–  \        P(                  ! VV\        P"                  R7      p\3        VP                  ^ ,          \+        V4      4      pV^ 8:  d   Kì  \        P                  ! VRV \        P4                  R7      pVRV p\        P6                  ! VV^ R7      pVP8                  V,          P;                  VV,
          4      pEK_  	  VP'                  V4       EKO  	  \        P@                  ! V^ R7      p\C        VR	7      # )rž   NÚimage_boundÚcached_image_featuresrû   rü   Úaudio_boundsr'   r(   )Úinputs_embedsr9   )"rÀ   rÎ   Úembed_tokensrØ   Úgetrñ   r  r©   rf   r   r   r   rõ   rö   r%   r$   rà   r§   rg   rª   r+   rß   r;   r   r   ÚminÚuint32ÚtakeÚatÚaddrá   r"   r.   r   )r[   rÒ   ræ   Úkwargsr  rž   r  Úcachedrç   rû   rü   r  Úaudio_hidden_statesÚupdatedrè   Ú
cur_embedsÚ	cur_vs_hsÚ
cur_boundsÚindicesr  r  ÚfeaturesÚusableÚ
indices_mxÚcurrentÚcur_audio_embedsÚcur_audio_boundsÚseg_idxÚseg_featuress   &&&,                         r   Úget_input_embeddingsÚModel.get_input_embeddingst  s„  € ð ×+Ñ+×1Ñ1×>Ñ>¸yÓIˆØ× Ñ  Ô+à—J‘J˜{¨DÓ1ˆ	Ø—j‘j °Ó5ˆØ—‘Ð3°TÓ:ˆØÒØ#)Ñ ØÒ%Ø#'×#<Ñ#<¸\Ó#UÑ à#'Ð àŸ™Ð$4°dÓ;ˆØ#ŸZ™ZÐ(<¸dÓCÐØ—z‘z .°$Ó7ˆð Ò)ð ×$Ñ$ ^ÔHàð 	ð ˆÜ˜}×2Ñ2°1Õ5×6ˆIØ&Õ1ˆJð $Ó/°KÓ4KØ0Õ;�	Ü˜i¬¯©×2Ó2°y·~±~ÈÕ7Iô & k´4×8Ò8ð $Ö.à(Õ3ð ô
 "+¨:Ó!6�JØ!Ó-°*·/±/ÀAÕ2EÜ%'§Z¢Z°
Ä"Ç(Á(Ô%K×%SÑ%SØ ó&˜
ð #%˜Û*4™J˜E 3Ø" Už{Ø '§¡¬r¯yªy¸ÀÌ2Ï8É8Ô/TÖ Uñ +5ô ˜w›<¨!Ô+Ü&(§n¢n°WÀ1Ô&E˜GØ'0×'8Ñ'8Ø " I§O¡O°BÕ$7ó(ç$™f Z×%5Ñ%5Ó6ð %ô &)¨¯©¸Õ):¼CÀ»LÓ%I˜FØ%¨œzÜ-/¯XªX°g¸g¸vÐ6FÌbÏiÉiÔ-X 
Ø+3°G°VÐ+< Ü*,¯'ª'°*¸jÈqÔ*Q Ø-7¯]©]¸:Õ-F×-JÑ-JØ$,¨wÕ$6ó." 
ô Ð.´×5Ó5Ø¤Ð$7Ó 8Õ8Ø Ó,à#6Õ#AÐ ô " ,´×5Ò5ð !Ö+à%Õ0ð !ô
 $-Ð-=Ó#>Ð Ø#Ó/´CÐ8HÓ4IÈAÕ4MÜ')§z¢zØ(´·±ô(ç‘g˜b !“nð %ô 2;Ð;K×1LÑ-˜¡ %¨Ø"¤cÐ*:Ó&;Ô;¸sÀe¼|Ù$à'7¸Õ'@˜Ü)¨,¼¿¹×AÒAÜ+7Ø ,°J×4DÑ4Dô,™Lð ,8×+>Ñ+>¸z×?OÑ?OÓ+P˜LØ'Ò/°<×3DÑ3DÈÔ3IÙ$ä"$§)¢)¨E°3¼b¿h¹hÔ"G˜Ü!$ \×%7Ñ%7¸Õ%:¼CÀ»LÓ!I˜Ø! Qœ;Ù$Ü%'§X¢X¨g°g°vÐ.>ÄbÇiÁiÔ%P˜
Ø'3°G°VÐ'<˜Ü"$§'¢'¨*°jÀqÔ"I˜Ø%/§]¡]°:Õ%>×%BÑ%BØ(¨7Õ2ó&›
ñ+ 2Mð2 �N‰N˜:×&ñ] 7ô` Ÿš ¨qÔ1ˆÜ&°]ÔCÐCr   c                ót   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[S[ P                  ,          /# )r   rÒ   ræ   rd   )r   r   r   rö   )r   rK   s   "€r   r   r»   ä  s:   ø€ ÷ 
ñ 
á—8‘8ð
ñ ™t•nð
ñ ‘r—x‘xÕ ñ	
r   c                ól   € V P                   ! RR VRV/VB pV P                  VVP                  VVR7      # )rÒ   ræ   )r  rd   Úcache© )r+  rÀ   r  )r[   rÒ   ræ   rd   r/  r  Úinput_embeddings_featuress   &&&&&, r   rs   ÚModel.__call__ä  s[   € ð %)×$=Ò$=ñ %
Øð%
à%ð%
ð ñ%
Ð!ð
 ×"Ñ"ØØ3×AÑAØØð	 #ó 
ð 	
r   c                ó–  € / pR pR pVP                  4        EF�  w  rVVP                  R4      '       d   K  VP                  R4      '       d   VP                  RR^4      pMˆVP                  R4      '       d   VP                  RR^4      pM]VP                  R4      '       d   VP                  RR^4      pM2VP                  R4      '       d   MVP                  R4      '       d   MKÒ  VR	8X  d   TpKÝ  VR
8X  d   TpKè  RV9   d   Kñ  VP                  R4      '       d&   \	        V4      '       g   VP                  ^ ^^^4      pVP                  R4      '       g   VP                  R4      '       d?   \        VP                  4      ^8X  d%   \        V4      '       g   VP                  ^ ^^4      pWbV&   EK   	  Ve)   \        P                  ! V^^ R7      w  rxp	WrR&   W‚R&   W’R&   Ve)   \        P                  ! V^^ R7      w  r«pW¢R&   W²R&   WÂR&   V P                  P                  P                  '       d   VP                  RR 4       V# )Nzllm.zlanguage_model.zvpm.zvision_tower.zapm.zaudio_tower.zaudio_projection_layer.z
resampler.zresampler.attn.in_proj_weightzresampler.attn.in_proj_biasr×   z!embeddings.patch_embedding.weightzaudio_tower.conv1.weightzaudio_tower.conv2.weightr(   zresampler.attn.q_proj.weightzresampler.attn.k_proj.weightzresampler.attn.v_proj.weightzresampler.attn.q_proj.biaszresampler.attn.k_proj.biaszresampler.attn.v_proj.biaszlanguage_model.lm_head.weight)ztts.zaudio_avg_pooler.)ÚitemsÚ
startswithÚreplaceÚendswithr   rh   rß   rf   r   r   Úsplitrº   r¿   Útie_word_embeddingsÚpop)r[   ÚweightsÚsanitized_weightsÚin_proj_weightÚin_proj_biasÚkeyr    Úq_wÚk_wÚv_wÚq_bÚk_bÚv_bs   &&           r   ÚsanitizeÚModel.sanitizeø  s  € ØÐØˆØˆà!Ÿ-™-Ÿ/‰JˆCØ�~‰~Ð;×<Ò<Ùà�~‰~˜f×%Ò%Ø—k‘k &Ð*;¸QÓ?‘Ø—‘ ×'Ò'Ø—k‘k &¨/¸1Ó=‘Ø—‘ ×'Ò'Ø—k‘k &¨.¸!Ó<‘Ø—‘Ð 9×:Ò:ØØ—‘ ×-Ò-ØáàÐ5Ô5Ø!&�ÙØÐ3Ô3Ø$�Ùà Ô$ÙØ�|‰|Ø3÷ò ä'¨×.Ò.ØŸ™¨¨1¨a°Ó3�ð —L‘LÐ!;×<Ò<Ø—|‘|Ð$>×?Ò?ä˜Ÿ™Ó$¨Ô)Ü1°%×8Ò8àŸ™¨¨1¨aÓ0�à%*˜cÔ"ñQ *ðT Ò%ÜŸHšH ^°Q¸QÔ?‰MˆC�cØ@CÐ<Ñ=Ø@CÐ<Ñ=Ø@CÐ<Ñ=ØÒ#ÜŸHšH \°1¸1Ô=‰MˆC�cØ>AÐ:Ñ;Ø>AÐ:Ñ;Ø>AÐ:Ñ;à�;‰;×"Ñ"×6×6Ð6Ø×!Ñ!Ð"AÀ4ÔHà Ð r   )rÊ   rÈ   rº   rÀ   rÅ   rÂ   )NN)NNN)rv   rw   rx   ry   rR   ÚpropertyrÏ   rØ   rñ   r  r+  rs   rF  rz   r{   r|   r}   s   @@r   r¸   r¸   Ö   s^   ù‡ € ÷/ó /ð. ñ0ó ð0÷Uð Uò<$ò|;÷znDò nD÷`
ò 
÷(=!ò =!r   r¸   ru   )!Útypingr   Úmlx.coreÚcorer   Úmlx.nnrU   r   r$   Úbaser   Úqwen3_vl.languager   Úaudior   r   r   rº   r
   Úprocessing_minicpmor   Úvisionr   r   r"   r%   r7   r/   r:   ÚModulerG   r   r¸   r0  r   r   Ú<module>rS     su   ðÝ å Ý Û å *Ý -ß HÑ HÝ Ý 2ß 2÷ò 	ò
>ò3ò	7ô."�R—Y‘Yô ."ôbW�—	‘	ô Wôt_!ˆB�I‰Iö _!r   