+
    UV-j  ã                   ó’   € ^ 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 ^RIHt R t ! R R	]P$                  4      tR# )
é    )ÚOptionalN)ÚInputEmbeddingsFeatures©ÚModelConfig)ÚLanguageModel)ÚVisionModelc                 ó$  € V P                   pV P                  R4      p\        P                  ! \        P
                  ! VP                  R4      4      ^ ,          \        P                  R7      pVP                  R4      WE&   VP                  V4      # )é   )Údtypeéÿÿÿÿ)ÚshapeÚreshapeÚmxÚarrayÚnpÚwhereÚuint32)Úinputs_embedsÚmaskÚimage_featuresr   ÚflatÚidxs   &&&   Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/step3p7/step3p7.pyÚ_masked_scatterr      si   € Ø×Ñ€EØ× Ñ  Ó$€DÜ
�(Š(”2—8’8˜DŸL™L¨Ó,Ó-¨aÕ0¼¿	¹	Ô
B€CØ×&Ñ& rÓ*€D�IØ�<‰<˜ÓÐó    c                   ó”   a a€ ] tR t^t oV3R lV 3R llt]R 4       tR tRR ltRV3R lR llt	RR lt
R	 t]R
 4       tRtVtV ;t# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# )é   Úconfigr   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModel.__annotate__   s   ø€ ÷ 	
ñ 	
™{ñ 	
r   c                óH  <€ \         SV `  4        Wn        \        VP                  4      V n        \        VP                  V4      V n        \        P                  ! VP                  P                  ^,          VP                  P                  VP                  R7      V n        R# )é   )ÚbiasN)ÚsuperÚ__init__r    r   Úvision_configÚvision_modelr   Útext_configÚlanguage_modelÚnnÚLinearÚwidthÚhidden_sizeÚprojector_biasÚvit_large_projector)Úselfr    Ú	__class__s   &&€r   r)   ÚModel.__init__   sx   ø€ Ü‰ÑÔØŒÜ'¨×(<Ñ(<Ó=ˆÔÜ+¨F×,>Ñ,>ÀÓGˆÔÜ#%§9¢9Ø× Ñ ×&Ñ&¨Õ*Ø×Ñ×*Ñ*Ø×&Ñ&ô$
ˆÖ r   c                ó.   € V P                   P                  # ©N)r-   Úlayers©r4   s   &r   r9   ÚModel.layers!   s   € à×"Ñ"×)Ñ)Ð)r   c                óB  € VP                   w  r#p\        VR ,          4      pVP                  W%WT4      pV P                  P	                  V4      pV P                  P                  V4      pVP                   w  r'r„V P                  VP                  W'V,          V4      4      # )g      à?)r   Úintr   r+   Úvit_downsampler1Úvit_downsampler2r3   )	r4   r   ÚbÚpÚcÚhwÚxÚhÚws	   &&       r   Ú_process_image_featuresÚModel._process_image_features%   s‰   € Ø ×&Ñ&‰ˆˆaÜ��C•‹[ˆØ×"Ñ" 1¨"Ó0ˆØ×Ñ×.Ñ.¨qÓ1ˆØ×Ñ×.Ñ.¨qÓ1ˆØ—W‘W‰
ˆˆaØ×'Ñ'¨¯	©	°!¸µU¸AÓ(>Ó?Ð?r   c                óü  € Ve%   VP                  RVP                  R,          4      .# Vf   R # VP                  ^8¼  d"   VP                   ! R.VP                  RR  O5!  pV P                  V P	                  V4      4      pR pVed   VP
                  ^ 8”  dS   VP                  ^8¼  d"   VP                   ! R.VP                  RR  O5!  pV P                  V P	                  V4      4      pVf%   VP                  RVP                  R,          4      .# . p^ p	\        V4       F×  w  r«\        V4      p. pV^ 8”  dG   VeC   VP                  WyW›,            P                  RVP                  R,          4      4       W›,          p	VP                  Wj,          P                  RVP                  R,          4      4       TP                  \        V4      ^8”  d   \        P                  ! V^ R7      MV^ ,          4       KÙ  	  V# )N©Úaxisr   éýÿÿÿ)r   r   ÚndimrG   r+   ÚsizeÚ	enumerater=   ÚappendÚlenr   Úconcatenate)r4   Úpixel_valuesÚpatch_pixel_valuesÚnum_patchesÚimage_embedsÚkwargsr   Úpatch_featuresÚmergedÚcursorÚiÚcountÚpartss   &&&&&,       r   Ú_vision_embeddingsÚModel._vision_embeddings.   sÞ  € ð Ò#Ø ×(Ñ(¨¨\×-?Ñ-?ÀÕ-CÓDÐEÐEØÒÙØ×Ñ Ô!Ø'×/Ò/°ÐM°\×5GÑ5GÈÈÐ5LÓMˆLØ×5Ñ5°d×6GÑ6GÈÓ6UÓVˆØˆØÒ)Ð.@×.EÑ.EÈÔ.IØ!×&Ñ&¨!Ô+Ø%7×%?Ò%?Øð&Ø+×1Ñ1°"°#Ð6ó&Ð"ð "×9Ñ9Ø×!Ñ!Ð"4Ó5óˆNð ÒØ"×*Ñ*¨2¨~×/CÑ/CÀBÕ/GÓHÐIÐIØˆØˆÜ! +Ö.‰HˆAÜ˜“JˆEØˆEØ�qŒy˜^Ò7Ø—‘Ø"¨F­NÐ;×CÑCØ˜N×0Ñ0°Õ4óôð
 •�Ø�L‰L˜Õ*×2Ñ2°2°~×7KÑ7KÈBÕ7OÓPÔQØ�M‰M¼3¸u»:È¼>œ"Ÿ.š.¨°QÕ7ÈuÐUVÍxÖXñ /ð ˆr   c                ón   <€ V ^8„  d   QhRS[ S[P                  ,          RS[ S[P                  ,          /# )r   Ú	input_idsrS   )r   r   r   )r!   r"   s   "€r   r#   r$   X   s5   ø€ ÷ Dñ Dá™BŸH™HÕ%ðDñ ™rŸx™xÕ(ñDr   c                ó>  € V P                   ! RR V/VB pV P                  P                  P                  V4      pVf   \	        VR7      # \
        P                  ! V^ R7      pWP                  P                  8H  R,          p\
        P                  ! WuP                  4      pVP                  4       VP                  8w  dH   \        R\        VP                  4       P                  4       4       RVP                  ^ ,           24      h\!        WWV4      p\	        VR7      # )rS   )r   rJ   z5Image features and image tokens do not match: tokens=z, features=© ).N)r^   r-   ÚmodelÚembed_tokensr   r   rR   r    Úimage_token_indexÚbroadcast_tor   ÚsumrN   Ú
ValueErrorr=   Úitemr   )r4   ra   rS   rW   Úvision_embeddingsr   r   Ú
image_masks   &&&,    r   Úget_input_embeddingsÚModel.get_input_embeddingsX   s  € ð !×3Ò3ÑXÀÐXÐQWÑXÐØ×+Ñ+×1Ñ1×>Ñ>¸yÓIˆØÒ$Ü*¸ÔGÐGÜŸšÐ(9ÀÔBˆØ§;¡;×#@Ñ#@Ñ@À)ÕLˆ
Ü—_’_ Z×1DÑ1DÓEˆ
Ø�>‰>Ó˜~×2Ñ2Ô2ÜØGÌÈJÏNÉNÓL\×LaÑLaÓLcÓHdÐGeÐepÐq÷  rFñ  rFð  GHõ  rIð  qJð  Kóð ô (¨À>ÓRˆÜ&°]ÔCÐCr   c                ób   € V P                   ! W3/ VB pV P                  WVP                  R 7      # ))Úcacher   )rm   r-   r   )r4   ra   rS   r   rp   rW   Úfeaturess   &&&&&, r   Ú__call__ÚModel.__call__l   s:   € Ø×,Ò,¨YÑOÈÑOˆØ×"Ñ"Ø°(×2HÑ2Hð #ó 
ð 	
r   c                óX  € / pVP                  4        EFy  w  r4VP                  R 4      '       d   VP                  R R^4      pEMëVP                  R4      '       d‹   VP                  R4      p\	        V4      ^8”  dU   V^,          P                  4       '       d8   \        V^,          4      V P                  P                  P                  8¼  d   K¾  VP                  RR^4      pEMJVP                  R4      '       g   VP                  R4      '       d   VP                  RR^4      pEM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M†VP                  R4      '       gk   VP                  R4      '       gT   VP                  R4      '       g=   VP                  R4      '       g&   VP                  R4      '       g   VR8X  g   VR8X  d   RV 2pRV9   dR   V P                  P                  VP                  RR^4      V/4      pVP                  4        F  w  rxW‚RV 2&   K  	  EKu  WBV&   EK|  	  V P                  P                  V4      # )zmodel.language_model.zlanguage_model.model.zmodel.layers.Ú.zmodel.zmodel.embed_tokens.zmodel.norm.zmodel.vision_model.zvision_model.zmodel.vit_large_projector.zvit_large_projector.zlm_head.zlanguage_model.lm_head.zconv1.zln_pre.zln_post.ztransformer.Úvit_downsamplerÚpositional_embeddingÚclass_embeddingÚ )ÚitemsÚ
startswithÚreplaceÚsplitrQ   Úisdigitr=   r    r,   Únum_hidden_layersr+   Úsanitizer-   )	r4   ÚweightsÚ	sanitizedÚkeyÚvaluer]   ÚsubÚskÚsvs	   &&       r   r€   ÚModel.sanitizer   s1  € Øˆ	Ø!Ÿ-™-Ÿ/‰JˆCØ�~‰~Ð5×6Ò6Ø—k‘kÐ"9Ð;RÐTUÓV’Ø—‘ ×0Ò0ØŸ	™	 #›�ä˜“J ”NØ˜a�×(Ñ(×*Ò*Ü˜E !�H›¨¯©×)@Ñ)@×)RÑ)RÔRáØ—k‘k (Ð,CÀQÓG’Ø—‘Ð 5×6Ò6¸#¿.¹.È×:WÒ:WØ—k‘k (Ð,CÀQÓG’Ø—‘Ð 5×6Ò6Ø—k‘kÐ"7¸È!ÓL‘Ø—‘Ð <×=Ò=Ø—k‘kØ0Ð2HÈ!ó‘ð —‘ 
×+Ò+Ø—k‘k *Ð.GÈÓK‘à—‘˜x×(Ò(Ø—>‘> )×,Ò,Ø—>‘> *×-Ò-Ø—>‘> .×1Ò1Ø—>‘>Ð"3×4Ò4ØÐ0Ô0ØÐ+Ô+à% c UÐ+�Ø #Ô%Ø×'Ñ'×0Ñ0Ø—[‘[ °"°aÓ8¸%Ð@ó�ð "Ÿi™ižk‘F�BØ68 ¨b¨TÐ2Ó3ñ *âØ"�cŒNñO *ðP ×"Ñ"×+Ñ+¨IÓ6Ð6r   c                ó.   € V P                   P                  # r8   )r-   Úquant_predicater:   s   &r   rŠ   ÚModel.quant_predicatež   s   € à×"Ñ"×2Ñ2Ð2r   )r    r-   r+   r3   )NNNN)NN)NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   Úpropertyr9   rG   r^   rm   rr   r€   rŠ   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r5   r"   s   @@r   r   r      s_   ù‡ € ÷	
ó 	
ð ñ*ó ð*ò@ô(÷TDò Dô(
ò*7ðX ñ3ó ÷3ð 3r   r   )Útypingr   Úmlx.coreÚcorer   Úmlx.nnr.   Únumpyr   Úbaser   r    r   Úlanguager   Úvisionr   r   ÚModuler   rc   r   r   Ú<module>r�      s4   ðÝ å Ý Û å *Ý Ý #Ý òôK3ˆB�I‰Iö K3r   