+
    UV-j  ã                  ó  a€ 0 t $ ^ RIHt ^ RIt^ RIHt ^ RIHt ]! RRR7       ! R R4      4       tR	^R
^R^RR/t	R	^R
^R^ RR/t
RRRR/tRRRR/tR]! RR0RR]	]R7      R]! RR1RR]
]RR7      R]! RR2RR]	]R7      R]! RR3R R!]
]R7      R"]! R"R4R#R$]
]RRR%7      /tR&]R'&   ]P                  4        U Uu/ uF%  q P                    F  qP#                  4       V bK  	  K'  	  upp tR5R( R) lltR* R+ ltR, R- ltR. R/ ltR# u upp i )6é    )ÚannotationsN)Ú	dataclass)ÚPathT)ÚfrozenÚslotsc                  ó~   € ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R&   R]R	&   R
tR]R&   RtR]R&   RtR]R&   RtR# )ÚFlux2VariantÚstrÚnameútuple[str, ...]ÚaliasesÚrepo_idÚlocal_dir_namezdict[str, int]Útransformer_overridesÚtext_encoder_overridesTÚboolÚsupports_generationFÚsupports_editÚuses_reference_kv_cache© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   r   r   Ú__static_attributes__r   ó    Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/flux2/config.pyr	   r	      sD   ‡ à
ƒIØÓØƒLØÓØ)Ó)Ø*Ó*Ø $Ð˜Ó$Ø€M�4ÓØ$)Ð˜T×)r   r	   Ú
num_layersÚnum_single_layersÚnum_attention_headsÚjoint_attention_dimi   i 0  Úhidden_sizeé 
  Úintermediate_sizei &  é   úflux2-klein-4bú!black-forest-labs/FLUX.2-klein-4BzFLUX.2-klein-4B)r   r   r   r   r   r   úflux2-klein-9bú!black-forest-labs/FLUX.2-klein-9BzFLUX.2-klein-9B)r   r   r   r   r   r   r   úflux2-klein-base-4bú&black-forest-labs/FLUX.2-klein-base-4BzFLUX.2-klein-base-4Búflux2-klein-base-9bú&black-forest-labs/FLUX.2-klein-base-9BzFLUX.2-klein-base-9Búflux2-klein-9b-kvú$black-forest-labs/FLUX.2-klein-9b-kvzFLUX.2-klein-9b-kv)r   r   r   r   r   r   r   r   zdict[str, Flux2Variant]ÚVARIANTSc               ó    € V ^8„  d   QhRRRR/# )é   r   zstr | Flux2VariantÚreturnr	   r   )Úformats   "r   Ú__annotate__r6   �   s   € ÷ 
ñ 
Ð(ð 
Àñ 
r   c                ó0  € \        V \        4      '       d   V # V P                  4       P                  4       P	                  R 4      p \
        V,          #   \         d7   pRP                  \        \
        4      4      p\        RT : RT 24      ThRp?ii ; i)Ú/z, zUnknown Flux2 variant z. Supported: N)
Ú
isinstancer	   ÚstripÚlowerÚrstripÚ_ALIASESÚKeyErrorÚjoinÚsortedÚ
ValueError)r   ÚkeyÚexcÚ	supporteds   &   r   Úget_variantrE   �   s…   € Ü�$œ×%Ò%ØˆØ
�*‰*‹,×
Ñ
Ó
×
%Ñ
% cÓ
*€CðÜ˜�}ÐøÜô Ø—I‘Iœf¤XÓ.Ó/ˆ	ÜØ$ T¡H¨M¸)¸ÐEó
àð	ûðús   ÁA ÁBÁ1BÂBc               ó    € V ^8„  d   QhRRRR/# )r3   Ú
model_pathz
str | Pathr4   r	   r   )r5   s   "r   r6   r6   Ž   s   € ÷ $ñ $¨
ð $°|ñ $r   c                óì  € \        V 4      P                  4       p\        V4      P                  4       pR V9   g   VR,          P	                  4       '       d   \
        R,          # RV9   d   RV9   d   \
        R,          # RV9   d   RV9   d   \
        R,          # RV9   d   \
        R,          # RV9   d   \
        R	,          # VR
,          R,          pVP	                  4       '       d}   \        P                  ! VP                  4       4      pVP                  R4      pVP                  R4      pV^8X  g   V^ 8X  d   \
        R,          # V^8X  g   V^8X  d   \
        R	,          # VR,          R,          pVP	                  4       '       d^   \        P                  ! VP                  4       4      pVP                  R4      pVR8X  d   \
        R,          # VR8X  d   \
        R	,          # \        RV R24      h)Úkvzflux-2-klein-9b-kv.safetensorsr/   ÚbaseÚ9br-   Ú4br+   r)   r'   Útransformerzconfig.jsonr   r!   Útext_encoderr#   r&   r$   z5Could not infer Flux2 variant from local model path: zC. Use a recognized model id or a path containing 4B/9B in its name.)r   Ú
expanduserr
   r;   Úexistsr1   ÚjsonÚloadsÚ	read_textÚgetrA   )	rG   Úrootr   Útransformer_configÚconfigr   r!   Útext_configr#   s	   &        r   Úvariant_from_local_pathrY   Ž   s»  € Ü�
Ó×&Ñ&Ó(€DÜˆt‹9�?‰?Ó€DØˆt„|˜Ð?Õ?×GÑG×IÒIÜÐ+Õ,Ð,Ø�„~˜$ $œ,ÜÐ-Õ.Ð.Ø�„~˜$ $œ,ÜÐ-Õ.Ð.Øˆt„|ÜÐ(Õ)Ð)Øˆt„|ÜÐ(Õ)Ð)à Õ-°Õ=ÐØ× Ñ ×"Ò"Ü—’Ð.×8Ñ8Ó:Ó;ˆØ—Z‘Z Ó-ˆ
Ø$Ÿj™jÐ)>Ó?ÐØ˜Œ?Ð1°RÔ7ÜÐ,Õ-Ð-Ø˜Œ?Ð1°RÔ7ÜÐ,Õ-Ð-à˜Õ'¨-Õ7€KØ×Ñ×ÒÜ—’˜K×1Ñ1Ó3Ó4ˆØ—j‘j Ó/ˆØ˜$ÔÜÐ,Õ-Ð-Ø˜$ÔÜÐ,Õ-Ð-ä
Ø
?À¸vð FLð 	Lóð r   c               ó   € V ^8„  d   QhRR/# )r3   r4   r   r   )r5   s   "r   r6   r6   µ   s   € ÷ ñ �ñ r   c                 ó    € \        \        4      # )N)Útupler1   r   r   r   Úlist_variantsr]   µ   s   € Ü”‹?Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r3   ÚwidthÚintÚheightr4   ÚNoner   )r5   s   "r   r6   r6   ¹   s&   € ÷ Oñ O #ð O¨sð O°tñ Or   c                ó¢   € R V 3RV33 FB  w  r#VR8  g   VR8”  d   \        V RV 24      hV^,          '       g   K4  \        V RV 24      h	  R# )r_   ra   é   i   z must be in [256, 2048], got z must be a multiple of 16, got N)rA   )r_   ra   ÚlabelÚvalues   $$  r   Úvalidate_dimensionsrg   ¹   sa   € Ø! 5Ð)¨H°fÐ+=Ó>‰ˆØ�3Œ;˜% $œ,Ü ˜wÐ&CÀEÀ7ÐKÓLÐLØ�2�:Ž:Ü ˜wÐ&EÀeÀWÐMÓNÐNó	 ?r   )r'   zflux2-klein-4Bzflux2-kleinzklein-4bzklein-4Br(   )r)   zflux2-klein-9Bzklein-9bzklein-9Br*   )r+   zflux2-klein-base-4Bzflux2-base-4bzflux2-base-4Bzklein-base-4bzklein-base-4Br,   )r-   zflux2-klein-base-9Bzflux2-base-9bzflux2-base-9Bzklein-base-9bzklein-base-9Br.   )r/   zflux2-klein-9B-kvzklein-9b-kvzklein-9B-kvr0   )r'   )Ú__conditional_annotations__Ú
__future__r   rQ   Údataclassesr   Úpathlibr   r	   ÚFLUX2_KLEIN_4B_TRANSFORMERÚFLUX2_KLEIN_9B_TRANSFORMERÚFLUX2_KLEIN_4B_TEXT_ENCODERÚFLUX2_KLEIN_9B_TEXT_ENCODERr1   r   Úvaluesr   r;   r=   rE   rY   r]   rg   )ÚvariantÚaliasrh   s   00@r   Ú<module>rs      s±  øðß "Ð "ã Ý !Ý ñ �$˜dÔ#÷	*ð 	*ó $ð	*ð �!Ø˜Ø˜2Ø˜4ð	Ð ð �!Ø˜Ø˜2Ø˜5ð	Ð ð �4Ø˜ðÐ ð
 �4Ø˜ðÐ ð ‘lØð
ð 4Ø(Ø8Ø:ôð ‘lØð
ð 4Ø(Ø8Ø:Øôð ™<Ø"ð
ð 9Ø-Ø8Ø:ôð  ™<Ø"ð
ð 9Ø-Ø8Ø:ôð  ™Ø ð
ð 7Ø+Ø8Ø:ØØ $ôðO%€Ð
!ó Oðd +3¯/©/Ô*;ôÙ*;˜wÏÌÀ‡K�KƒM�7ÒÉ�MÑ*;ò€÷

õ$õN÷Oùó{s   Â5+D 