+
    œ°³jÌ@  ã                   óþ  € R 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IHtHtHt ^RIHt ^R	IHt ^R
IHtHtHtHt ^RIHtHt ^RIHt ^RIHt ]P>                  ! ] 4      t!]! RR7      ] ! R R]4      4       4       t"]! RR7      ] ! R R]4      4       4       t# ! R R]PH                  4      t%] ! R R]4      4       t&]! RR7       ! R R]&4      4       t']! RR7       ! R R]&]
4      4       t(. ROt)R# ) zPyTorch Llava model.)Ú	dataclassN)Únn)ÚACT2FN)ÚCache)ÚGenerationMixin)ÚBaseModelOutputWithPastÚBaseModelOutputWithPoolingÚModelOutput)ÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚloggingÚtorch_compilable_check)Úcan_return_tupleÚmerge_with_config_defaults)Ú	AutoModel©ÚLlavaConfigzJ
    Base class for Llava outputs, with hidden states and attentions.
    ©Úcustom_introc                   ó4   a € ] tR t^$t o RtRtV 3R ltRtV tR# )ÚLlavaModelOutputWithPasta¯  
past_key_values (`Cache`, *optional*, returned when `use_cache=True` is passed or when `config.use_cache=True`):
    It is a [`~cache_utils.Cache`] instance. For more details, see our [kv cache guide](https://huggingface.co/docs/transformers/en/kv_cache).

    Contains pre-computed hidden-states (key and values in the self-attention blocks) that can be used (see
    `past_key_values` input) to speed up sequential decoding.
image_hidden_states (`torch.FloatTensor`, *optional*):
    A `torch.FloatTensor` of size `(batch_size, num_images, sequence_length, hidden_size)`.
    image_hidden_states of the model produced by the vision encoder and after projecting the last hidden state.
Nc                óH   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   # )é   NÚimage_hidden_states)ÚtorchÚFloatTensor)ÚformatÚ__classdict__s   "€Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/llava/modeling_llava.pyÚ__annotate__Ú%LlavaModelOutputWithPast.__annotate__$   s   ø‡ ‚ ñ$ ×*Ñ*¨TÕ1Ñ8ò% ó    © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r    r   r   $   s   ø‡ € ñ	ð 59Ð÷% ƒ r#   r   zQ
    Base class for Llava causal language model (or autoregressive) outputs.
    c                   óH   a € ] tR t^9t o RtRtRtRtRtRt	Rt
V 3R ltRtV tR# )ÚLlavaCausalLMOutputWithPasta  
loss (`torch.FloatTensor` of shape `(1,)`, *optional*, returned when `labels` is provided):
    Language modeling loss (for next-token prediction).
logits (`torch.FloatTensor` of shape `(batch_size, sequence_length, config.vocab_size)`):
    Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
past_key_values (`Cache`, *optional*, returned when `use_cache=True` is passed or when `config.use_cache=True`):
    It is a [`~cache_utils.Cache`] instance. For more details, see our [kv cache guide](https://huggingface.co/docs/transformers/en/kv_cache).

    Contains pre-computed hidden-states (key and values in the self-attention blocks) that can be used (see
    `past_key_values` input) to speed up sequential decoding.
image_hidden_states (`torch.FloatTensor`, *optional*):
    A `torch.FloatTensor` of size `(batch_size, num_images, sequence_length, hidden_size)`.
    image_hidden_states of the model produced by the vision encoder and after projecting the last hidden state.
Nc                ó:  <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   S[ P                  R,          ;R&   # )r   NÚlossÚlogitsÚpast_key_valuesÚhidden_statesÚ
attentionsr   )r   r   r   Útuple)r   r   s   "€r    r!   Ú(LlavaCausalLMOutputWithPast.__annotate__9   s˜   ø‡ ‚ ñ, ×
Ñ
˜dÕ
"Ñ)ñ- ñ. ×Ñ Õ$Ñ+ñ/ ñ0 ˜T•\Ñ(ñ1 ñ2 ™×*Ñ*Õ+¨dÕ2Ñ9ñ3 ñ4 ‘e×'Ñ'Õ(¨4Õ/Ñ6ñ5 ñ6 ×*Ñ*¨TÕ1Ñ8ò7 r#   r$   )r%   r&   r'   r(   r)   r1   r2   r3   r4   r5   r   r*   r+   r,   r-   s   @r    r/   r/   9   s2   ø‡ € ñð &*€DØ'+€FØ$(€OØ59€MØ26€JØ48Ð÷7 ƒ r#   r/   c                   óD   a a€ ] tR t^Wt oV3R lV 3R lltR tRtVtV ;t# )ÚLlavaMultiModalProjectorc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úconfigr   )r   r   s   "€r    r!   Ú%LlavaMultiModalProjector.__annotate__X   s   ø€ ÷ 
ñ 
™{ñ 
r#   c                ó  <€ \         SV `  4        \        VP                  \        4      '       d   ^M\        VP                  4      p\        P                  ! VP                  P                  V,          VP                  P                  VP                  R7      V n        \        VP                  ,          V n        \        P                  ! VP                  P                  VP                  P                  VP                  R7      V n        R# )é   ©ÚbiasN)ÚsuperÚ__init__Ú
isinstanceÚvision_feature_layerÚintÚlenr   ÚLinearÚvision_configÚhidden_sizeÚtext_configÚmultimodal_projector_biasÚlinear_1r   Úprojector_hidden_actÚactÚlinear_2)Úselfr<   Únum_feature_layersÚ	__class__s   && €r    rC   Ú!LlavaMultiModalProjector.__init__X   s¼   ø€ Ü‰ÑÔä",¨V×-HÑ-HÌ#×"NÒ"N™QÔTWÐX^×XsÑXsÓTtÐÜŸ	š	Ø× Ñ ×,Ñ,Ð/AÕAØ×Ñ×*Ñ*Ø×1Ñ1ô
ˆŒô
 ˜&×5Ñ5Õ6ˆŒÜŸ	š	Ø×Ñ×*Ñ*¨F×,>Ñ,>×,JÑ,JÐQW×QqÑQqô
ˆŽr#   c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# ©N)rM   rO   rP   )rQ   Úimage_featuresr4   s   && r    ÚforwardÚ LlavaMultiModalProjector.forwardf   s2   € ØŸ™ nÓ5ˆØŸ™ Ó/ˆØŸ™ mÓ4ˆØÐr#   )rO   rM   rP   )	r%   r&   r'   r(   rC   rX   r+   r,   Ú__classcell__©rS   r   s   @@r    r9   r9   W   s   ù‡ € ÷
ó 
÷ò r#   r9   c                   óR   a € ] tR t^mt o RtRtRtR.tRtRt	Rt
RtRtV 3R ltRtV tR# )ÚLlavaPreTrainedModelÚmodelTr3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r;   r   )r   r   s   "€r    r!   Ú!LlavaPreTrainedModel.__annotate__m   s   ø‡ ‚ áÑò r#   r$   N)ÚimageÚtext)r%   r&   r'   r(   Úbase_model_prefixÚinput_modalitiesÚsupports_gradient_checkpointingÚ_skip_keys_device_placementÚ_supports_flash_attnÚ_supports_sdpaÚ_can_compile_fullgraphÚ_supports_flex_attnÚ_supports_attention_backendr*   r+   r,   r-   s   @r    r]   r]   m   sF   ø‡ € ð  ÐØ(ÐØ&*Ð#Ø#4Ð"5ÐàÐØ€Nà!ÐØÐØ"&Ð÷ ƒ r#   r]   zu
    The Llava model which consists of a vision backbone and a language model, without a language modeling head.
    c                   ó¼   a a€ ] tR t^}t oV3R lV 3R llt]]]! RR7      RV3R lR ll4       4       4       tV3R lR lt	]]RV3R	 lR
 ll4       4       t
RtVtV ;t# )Ú
LlavaModelc                ó    <€ V ^8„  d   QhRS[ /# r;   r   )r   r   s   "€r    r!   ÚLlavaModel.__annotate__ƒ   s   ø€ ÷ ñ ™{ñ r#   c                óú   <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        V4      V n        \        P                  ! VP                  4      V n	        V P                  4        R # rV   )rB   rC   r   Úfrom_configrI   Úvision_towerr9   Úmulti_modal_projectorrK   Úlanguage_modelÚ	post_init©rQ   r<   rS   s   &&€r    rC   ÚLlavaModel.__init__ƒ   sY   ø€ Ü‰Ñ˜Ô Ü%×1Ò1°&×2FÑ2FÓGˆÔä%=¸fÓ%EˆÔ"Ü'×3Ò3°F×4FÑ4FÓGˆÔØ�‰Ör#   zWObtains image last hidden states from the vision tower and apply multimodal projection.r   c                óÜ   <€ V ^8„  d   QhRS[ P                  RS[S[S[,          ,          S[S[,          ,          R,          RS[R,          RS[R,          RS[S[,          RS[S[	,          /# )r   Úpixel_valuesrE   NÚvision_feature_select_strategyÚoutput_hidden_statesÚkwargsÚreturn)
r   r   rF   ÚlistÚstrÚboolr   r   r6   r   )r   r   s   "€r    r!   ro   �   sw   ø€ ÷ -ñ -á×'Ñ'ð-ñ "¡D©¥I�o±±Sµ	Õ9¸DÕ@ð-ñ ),¨d­
ð	-ñ
 # T�kð-ñ Ñ+Õ,ð-ñ 
Ñ+Õ	+ñ-r#   c                óD  € VP                  4        UUu/ uF  w  rgVf   K  WgbK  	  pppV P                  ! V3RRRR/VB p\        V\        4      '       d%   VP                  V,          p	VR8X  d
   V	R,          p	MWV U
u. uF  q¨P                  V
,          NK  	  pp
VR8X  d   V Uu. uF  qÌR,          NK  	  pp\
        P                  ! VR	R7      p	V P                  V	4      pVP                  R4      eŠ   \
        P                  ! VR,          VP                  R7      V P                  P                  ,          P                  R	R7      P                  4       p\
        P                  ! VP                  ^ 4      V4      pM\!        V4      pWØn        V# u uppi u up
i u upi )
Nr{   TÚreturn_dictÚdefault©ÚdimÚimage_sizes)Údevice)ºNNN:r?   NNéÿÿÿÿ)Úitemsrr   rD   rF   r4   r   Úcatrs   ÚgetÚ	as_tensorr‡   Ú
patch_sizeÚprodÚtolistÚsplitÚsqueezer~   Úpooler_output)rQ   ry   rE   rz   r{   r|   ÚkÚvÚimage_outputsÚselected_image_featureÚ	layer_idxÚhs_poolÚhsrW   Úsplit_sizess   &&&&&,         r    Úget_image_featuresÚLlavaModel.get_image_features‹   s‡  € ð $*§<¡<¤>ÔC¡>™4˜1°Q”$�!’$¡>ˆÑCà×)Ò)Øñ
à!%ð
ð ð
ð ñ	
ˆô Ð*¬C×0Ò0Ø%2×%@Ñ%@ÐAUÕ%VÐ"Ø-°Ô:Ø)?ÀÕ)FÐ&øáOcÓdÑOcÀ)×2Ñ2°9×=Ð=ÑOcˆGÐdà-°Ô:Ù/6Ó7©w¨˜eŸ9˜9©w�Ð7Ü%*§Y¢Y¨w¸BÔ%?Ð"à×3Ñ3Ð4JÓKˆð �:‰:�mÓ$Ò0ä—’ ¨Õ!6¸~×?TÑ?TÔUÐY]×YjÑYj×YuÑYuÕuß‘˜"�“ß‘“ð ô
 #Ÿ[š[¨×)?Ñ)?ÀÓ)BÀKÓP‰Nä! .Ó1ˆNØ&4Ô#àÐùóK Dùò  eùò 8s   ”F¡FÁ?FÂ'Fc                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# )r   Ú	input_idsÚinputs_embedsrW   )r   Ú
LongTensorr   )r   r   s   "€r    r!   ro   ¿   s7   ø€ ÷ "ñ "Ù×)Ñ)ð"Ù:?×:KÑ:Kð"Ù]b×]nÑ]nñ"r#   c           
     óX  € Vfo   W P                  4       ! \        P                  ! RV P                  P                  \        P
                  VP                  R7      4      8H  pVP                  R4      pMWP                  P                  8H  pVP                  4       pVP                  ^ ,          VP                  ^,          ,          pVP                  R4      P                  VP                  4      p\        WRP                  R,          ,          VP                  4       8H  RV RV 24       V# )z×
Obtains multimodal placeholder mask from `input_ids` or `inputs_embeds`, and checks that the placeholder token count is
equal to the length of multimodal features. If the lengths are different, an error is raised.
)Údtyper‡   z6Image features and image tokens do not match, tokens: z, features: r$   r‰   )Úget_input_embeddingsr   Úfullr<   Úimage_token_idÚlongr‡   ÚallÚsumÚshapeÚ	unsqueezeÚtor   Únumel)rQ   rŸ   r    rW   Úspecial_image_maskÚn_image_tokensÚn_image_featuress   &&&&   r    Úget_placeholder_maskÚLlavaModel.get_placeholder_mask¿   s  € ð ÒØ!.×2KÑ2KÔ2MÜ—
’
˜2˜tŸ{™{×9Ñ9ÄÇÁÐTa×ThÑThÔió3ñ "Ðð "4×!7Ñ!7¸Ó!;Ñà!*¯k©k×.HÑ.HÑ!HÐà+×/Ñ/Ó1ˆØ)×/Ñ/°Õ2°^×5IÑ5IÈ!Õ5LÕLÐØ/×9Ñ9¸"Ó=×@Ñ@À×AUÑAUÓVÐÜØ×0Ñ0°Õ4Õ4¸×8LÑ8LÓ8NÑNØDÀ^ÐDTÐT`ÐaqÐ`rÐsô	
ð "Ð!r#   c                ó²  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[S[S[,          ,          S[S[,          ,          R,          R	S[R,          R
S[ P                  R,          RS[S[	,          RS[
S[,          /# )r   rŸ   Nry   Úattention_maskÚposition_idsr3   r    rE   rz   r†   r|   r}   )r   r¡   r   ÚTensorr   rF   r~   r   r   r   r6   r   )r   r   s   "€r    r!   ro   Ù   sá   ø€ ÷ /
ñ /
á×#Ñ# dÕ*ð/
ñ ×'Ñ'¨$Õ.ð/
ñ Ÿ™ tÕ+ð	/
ñ
 ×&Ñ&¨Õ-ð/
ñ  �ð/
ñ ×(Ñ(¨4Õ/ð/
ñ "¡D©¥I�o±±Sµ	Õ9¸DÕ@ð/
ñ ),¨d­
ð/
ñ —\‘\ DÕ(ð/
ñ Ñ+Õ,ð/
ñ 
Ñ)Õ	)ñ/
r#   c
                ó4  € VR J VR J,          '       d   \        R4      hVf   V P                  4       ! V4      pVe�   V P                  VVVV	RR7      P                  p\        P
                  ! V^ R7      P                  VP                  VP                  4      pV P                  WVR7      pVP                  WË4      pV P                  ! RRVRVRVR	V/V
B p\        VP                  VP                  VP                  VP                   Ve   XR
7      # R R
7      # )Nz:You must specify exactly one of input_ids or inputs_embedsT)ry   rE   rz   r†   r‚   r„   )r    rW   r´   rµ   r3   r    )Úlast_hidden_stater3   r4   r5   r   r$   )Ú
ValueErrorr¤   rœ   r“   r   r‹   r¬   r‡   r£   r±   Úmasked_scatterrt   r   r¸   r3   r4   r5   )rQ   rŸ   ry   r´   rµ   r3   r    rE   rz   r†   r|   rW   r®   Úoutputss   &&&&&&&&&&,   r    rX   ÚLlavaModel.forward×   sV  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×5Ñ5Ô7¸	ÓBˆMàÒ#Ø!×4Ñ4Ø)Ø%9Ø/MØ'Ø ð 5ó ÷ ‰mð ô #ŸYšY ~¸1Ô=×@Ñ@À×AUÑAUÐWd×WjÑWjÓkˆNØ!%×!:Ñ!:ØÀ~ð ";ó "Ðð *×8Ñ8Ð9KÓ\ˆMà×%Ò%ñ 
Ø)ð
à%ð
ð ,ð
ð (ð	
ð
 ñ
ˆô (Ø%×7Ñ7Ø#×3Ñ3Ø!×/Ñ/Ø×)Ñ)Ø2>Ò2J ô
ð 	
ð
 QUô
ð 	
r#   )rt   rs   rr   )NNN)	NNNNNNNNN)r%   r&   r'   r(   rC   r   r   r   rœ   r±   rX   r+   r,   rZ   r[   s   @@r    rm   rm   }   sq   ù‡ € ÷ó ð  ØÙØnô÷-ñ -óó ó  ð
-÷^"ð "ð0 Ø÷/
ñ /
ó ó ÷/
ð /
r#   rm   zS
    The LLAVA model which consists of a vision backbone and a language model.
    c                   ó¢   a a€ ] tR tRt oRR/tV3R lV 3R lltV3R lR lt]RV3R lR	 ll4       t]	]RV3R
 lR ll4       4       t
RtVtV ;t# )ÚLlavaForConditionalGenerationi  zlm_head.weightz(model.language_model.embed_tokens.weightc                ó    <€ V ^8„  d   QhRS[ /# r;   r   )r   r   s   "€r    r!   Ú*LlavaForConditionalGeneration.__annotate__  s   ø€ ÷ ñ ™{ñ r#   c                óò   <€ \         SV `  V4       \        V4      V n        \        P
                  ! VP                  P                  VP                  P                  R R7      V n	        V P                  4        R# )Fr@   N)rB   rC   rm   r^   r   rH   rK   rJ   Ú
vocab_sizeÚlm_headru   rv   s   &&€r    rC   Ú&LlavaForConditionalGeneration.__init__  sS   ø€ Ü‰Ñ˜Ô Ü Ó'ˆŒ
Ü—y’y ×!3Ñ!3×!?Ñ!?À×ASÑAS×A^ÑA^ÐejÔkˆŒØ�‰Ör#   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   r}   )r   ÚModule)r   r   s   "€r    r!   rÀ     s   ø€ ÷ ñ ¡r§y¡yñ r#   c                ó   € V P                   # rV   )rÃ   )rQ   s   &r    Úget_output_embeddingsÚ3LlavaForConditionalGeneration.get_output_embeddings  s   € Ø�|‰|Ðr#   c                óÈ   <€ V ^8„  d   QhRS[ P                  RS[S[S[,          ,          S[S[,          ,          R,          RS[R,          RS[S[,          RS[S[,          /# )r   ry   rE   Nrz   r|   r}   )	r   r   rF   r~   r   r   r   r6   r   )r   r   s   "€r    r!   rÀ     si   ø€ ÷ 
ñ 
á×'Ñ'ð
ñ "¡D©¥I�o±±Sµ	Õ9¸DÕ@ð
ñ ),¨d­
ð	
ñ
 Ñ+Õ,ð
ñ 
Ñ+Õ	+ñ
r#   c           	     óF   € V P                   P                  ! RR VRVRV/VB # )ry   rE   rz   r$   )r^   rœ   )rQ   ry   rE   rz   r|   s   &&&&,r    rœ   Ú0LlavaForConditionalGeneration.get_image_features  s@   € ð �z‰z×,Ò,ñ 
Ø%ð
à!5ð
ð ,Jð
ð ñ	
ð 	
r#   c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[S[S[,          ,          S[S[,          ,          R,          R	S[R,          R
S[ P                  R,          RS[S[ P                  ,          RS[ P                  R,          RS[S[	,          RS[
S[,          /# )r   rŸ   Nry   r´   rµ   r3   r    rE   rz   ÚlabelsÚlogits_to_keepr†   r|   r}   )r   r¡   r   r¶   r   rF   r~   r   r   r   r6   r/   )r   r   s   "€r    r!   rÀ   -  s  ø€ ÷ K
ñ K
á×#Ñ# dÕ*ðK
ñ ×'Ñ'¨$Õ.ðK
ñ Ÿ™ tÕ+ð	K
ñ
 ×&Ñ&¨Õ-ðK
ñ  �ðK
ñ ×(Ñ(¨4Õ/ðK
ñ "¡D©¥I�o±±Sµ	Õ9¸DÕ@ðK
ñ ),¨d­
ðK
ñ × Ñ  4Õ'ðK
ñ ™eŸl™lÕ*ðK
ñ —\‘\ DÕ(ðK
ñ Ñ+Õ,ðK
ñ 
Ñ,Õ	,ñK
r#   c                óÆ  € V P                   ! RRVRVRVRVRVRVRVRVR	V/	VB pV^ ,          p\        V
\        4      '       d   \        V
) R
4      MT
pV P	                  VRVR3,          4      pR
pV	e7   V P
                  ! RRVRV	RV P                  P                  P                  /VB p\        VVVP                  VP                  VP                  VP                  R7      # )aA  
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Labels for computing the masked language modeling loss. Indices should either be in `[0, ...,
    config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored
    (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`.

Example:

```python
>>> from PIL import Image
>>> import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, LlavaForConditionalGeneration

>>> model = LlavaForConditionalGeneration.from_pretrained("llava-hf/llava-1.5-7b-hf")
>>> processor = AutoProcessor.from_pretrained("llava-hf/llava-1.5-7b-hf")

>>> prompt = "USER: <image>\nWhat's the content of the image? ASSISTANT:"
>>> url = "https://www.ilankelman.org/stopsigns/australia.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(images=image, text=prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(**inputs, max_new_tokens=15)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"USER:  \nWhat's the content of the image? ASSISTANT: The image features a busy city street with a stop sign prominently displayed"
```rŸ   ry   r´   rµ   r3   r    rE   rz   r†   Nrˆ   r2   rÎ   rÂ   )r1   r2   r3   r4   r5   r   r$   )r^   rD   rF   ÚslicerÃ   Úloss_functionr<   rK   rÂ   r/   r3   r4   r5   r   )rQ   rŸ   ry   r´   rµ   r3   r    rE   rz   rÎ   rÏ   r†   r|   r»   r4   Úslice_indicesr2   r1   s   &&&&&&&&&&&&,     r    rX   Ú%LlavaForConditionalGeneration.forward+  s;  € ð\ —*’*ñ 
Øð
à%ð
ð *ð
ð &ð	
ð
 ,ð
ð (ð
ð "6ð
ð ,Jð
ð $ð
ð ñ
ˆð   �
ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆàˆØÒØ×%Ò%ñ ØðØ&,ðØ9=¿¹×9PÑ9P×9[Ñ9[ðØ_eñˆDô +ØØØ#×3Ñ3Ø!×/Ñ/Ø×)Ñ)Ø '× ;Ñ ;ô
ð 	
r#   )rÃ   r^   )NN)NNNNNNNNNé    N)r%   r&   r'   r(   Ú_tied_weights_keysrC   rÈ   r   rœ   r   rX   r+   r,   rZ   r[   s   @@r    r¾   r¾     sj   ù‡ € ð +Ð,VÐWÐ÷ó ÷ð ð ÷
ñ 
ó ð
ð Ø÷K
ñ K
ó ó ÷K
ð K
r#   r¾   )r¾   r]   rm   )*r)   Údataclassesr   r   r   Úactivationsr   Úcache_utilsr   Ú
generationr   Úmodeling_outputsr   r   r	   Úmodeling_utilsr
   Úprocessing_utilsr   Úutilsr   r   r   r   Úutils.genericr   r   Úautor   Úconfiguration_llavar   Ú
get_loggerr%   Úloggerr   r/   rÆ   r9   r]   rm   r¾   Ú__all__r$   r#   r    Ú<module>rå      s1  ðñ å !ã Ý å !Ý  Ý )ß `Ñ `Ý -Ý &ß XÓ Xß IÝ Ý ,ð 
×	Ò	˜HÓ	%€ñ ðôð
 ô9Ð6ó 9ó óð9ñ ðôð
 ô9 +ó 9ó óð9ô0˜rŸy™yô ð, ô'˜?ó 'ó ð'ñ ðôô
F
Ð%ó F
óð
F
ñR ðôô
h
Ð$8¸/ó h
óð
h
òV R‚r#   