+
    œ°³jmÊ  ã                   óÐ  € ^ RI 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HtHtHt ^RIHt ^RIHtHtHt ^R	IHtHtHtHt ^R
IHt ^RIH t  ^RI!H"t"H#t#H$t$H%t%H&t&H't' ^RI(H)t)H*t* ^RI+H,t, ^RI-H.t.H/t/H0t0H1t1 ^RI2H3t3 ^RI4H5t5H6t6 ^RI7H8t8 ^RI9H:t:H;t;H<t<H=t=H>t>H?t? ]1P€                  ! ]A4      tB]/! RR7      ]	 ! R R]84      4       4       tC]/! RR7      ]	 ! R R]4      4       4       tD ! R R]=4      tE ! R R];4      tF ! R R]>4      tG ! R  R!]:4      tH ! R" R#]:4      tI ! R$ R%] 4      tJ ! R& R'] 4      tK ! R( R)]P˜                  4      tM ! R* R+]P˜                  4      tN]/ ! R, R-]<4      4       tOR. R/ ltP ! R0 R1]O4      tQ ! R2 R3]O4      tR]/ ! R4 R5]O4      4       tS]/ ! R6 R7]O4      4       tT ! R8 R9]O]4      tU]/ ! R: R;]O4      4       tV]/ ! R< R=]O4      4       tW. R>OtXR# )?é    N)ÚCallable)ÚAny)Ústrict)Úinitialization)ÚCacheÚDynamicCacheÚEncoderDecoderCacheÚStaticCache)ÚPreTrainedConfig)ÚGenerationConfigÚGenerationMixinÚGenerationMode)Úcreate_bidirectional_maskÚ(create_bidirectional_sliding_window_maskÚcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚFlashAttentionKwargs)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚ)BaseModelOutputWithPastAndCrossAttentionsÚSeq2SeqLMOutputÚSeq2SeqModelOutputÚSequenceClassifierOutputÚTokenClassifierOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚlogging)Úmerge_with_config_defaults)ÚOutputRecorderÚcapture_outputs)ÚGemma2Config)ÚGemma2AttentionÚ	Gemma2MLPÚGemma2PreTrainedModelÚGemma2RMSNormÚGemma2RotaryEmbeddingÚeager_attention_forwardzgoogle/t5_gemma_module-7b)Ú
checkpointc                   óB   a € ] tR t^Ct o RtRt]! 4       tV 3R ltRt	V t
R# )ÚT5GemmaModuleConfiga  
query_pre_attn_scalar (`float`, *optional*, defaults to 256):
    scaling factor used on the attention scores
final_logit_softcapping (`float`, *optional*, defaults to 30.0):
    scaling factor when applying tanh softcapping on the logits.
attn_logit_softcapping (`float`, *optional*, defaults to 50.0):
    scaling factor when applying tanh softcapping on the attention scores.

```python
>>> from transformers import T5GemmaModuleModel, T5GemmaModuleConfig
>>> # Initializing a T5GemmaModule t5_gemma_module-7b style configuration
>>> configuration = T5GemmaModuleConfig()
>>> # Initializing a model from the t5_gemma_module-7b style configuration
>>> model = T5GemmaModuleModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```Fc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )é   Ú
is_decoder)Úbool)ÚformatÚ__classdict__s   "€Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/t5gemma/modular_t5gemma.pyÚ__annotate__Ú T5GemmaModuleConfig.__annotate__C   s   ø‡ ‚ ñ* Ñò+ ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r1   ÚAttributeErrorÚuse_bidirectional_attentionÚ__annotate_func__Ú__static_attributes__Ú__classdictcell__©r4   s   @r5   r.   r.   C   s!   ø‡ € ñð$ €JÙ"0Ó"2Ð÷- ƒ r8   r.   c                   óx   a a€ ] tR t^\t oRtRtR.tR]R]/tRt	Rt
RtRtRtRtRtR	tV 3R
 ltV3R ltRtVtV ;t# )ÚT5GemmaConfiga   
encoder (`Union[T5GemmaModuleConfig, dict]`, optional, *optional*):
    Configuration for the encoder.
decoder (`Union[T5GemmaModuleConfig, dict]`, optional, *optional*):
    Configuration for the decoder.

Example:

```python
>>> from transformers import T5GemmaConfig, T5GemmaModel
>>> t5gemma_config = T5GemmaConfig.from_pretrained("google/t5gemma-2b-2b-prefixlm-it")
>>> model = T5GemmaModel(t5gemma_config)
```Út5gemmaÚpast_key_valuesÚencoderÚdecoderNTç        i è c                ó¸  <€ \        V P                  \        4      '       d   \        R/ V P                  B V n        MV P                  f   \        4       V n        \        V P                  \        4      '       d   \        R/ V P                  B V n        MV P                  f   \        4       V n        RV P                  n        V P                  V P                  n        V P                  V P                  n        RV P                  n        RV P                  n        V P                  V P                  n        V P                  V P                  n        V P                  P                  V P                  n
        VP                  RV P                  P                  4      V n        R F#  pW!9  g   K  \        V P                  V4      W&   K%  	  \        SV `<  ! R/ VB  R # )NFTÚinitializer_ranger9   )Úbos_token_idÚpad_token_idÚeos_token_id)Ú
isinstancerI   Údictr.   rJ   r1   Údropout_rateÚattention_dropoutÚ	use_cacheÚhidden_sizeÚcross_attention_hidden_sizeÚpoprM   ÚgetattrÚsuperÚ__post_init__)ÚselfÚkwargsÚspecial_token_keyÚ	__class__s   &, €r5   r[   ÚT5GemmaConfig.__post_init__z   sK  ø€ Ü�d—l‘l¤D×)Ò)Ü.Ñ>°·±Ñ>ˆD�LØ�\‰\Ò!Ü.Ó0ˆDŒLä�d—l‘l¤D×)Ò)Ü.Ñ>°·±Ñ>ˆD�LØ�\‰\Ò!Ü.Ó0ˆDŒLà"'ˆ�‰ÔØ$(×$5Ñ$5ˆ�‰Ô!Ø)-×)?Ñ)?ˆ�‰Ô&à"&ˆ�‰ÔØ!%ˆ�‰ÔØ$(×$5Ñ$5ˆ�‰Ô!Ø)-×)?Ñ)?ˆ�‰Ô&Ø37·<±<×3KÑ3Kˆ�‰Ô0à!'§¡Ð,?ÀÇÁ×A_ÑA_Ó!`ˆÔã!QÐØ Ö.Ü,3°D·L±LÐBSÓ,T�Ó)ñ "Rô 	‰ÒÑ' Ô'r8   c                ó  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ,          R,          ;R&   S[ S[S[S[3,          ,          R,          ;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[;R&   S[;R	&   # )
r0   NrI   rJ   Úis_encoder_decoderrS   Úclassifier_dropout_raterT   Útie_word_embeddingsÚ
vocab_size)r.   rR   r   r2   ÚintÚfloat)r3   r4   s   "€r5   r6   ÚT5GemmaConfig.__annotate__\   s�   ø‡ ‚ ñ* !¡4©©S¨¥>Õ1°DÕ8Ñ?ñ+ ñ, !¡4©©S¨¥>Õ1°DÕ8Ñ?ñ- ñ. Ñ#ñ/ ñ0 ™•+Ñ#ñ1 ñ2 !¡5�[Ñ.ñ3 ñ4 ™s•{Ñ(ñ5 ñ6 Ñ$ñ7 ñ8 Ñò9 r8   )rJ   rI   rM   )r:   r;   r<   r=   r>   Ú
model_typeÚkeys_to_ignore_at_inferencer.   Úsub_configsrI   rJ   rb   rS   rc   rT   rd   re   r[   rA   rB   rC   Ú__classcell__©r_   r4   s   @@r5   rF   rF   \   sb   ù‡ € ñð €JØ#4Ð"5ÐØÐ1°9Ð>QÐR€Kà;?€GØ;?€GØ#ÐØ #€LØ+.ÐØ%(ÐØ $ÐØ€Jõ(÷= … r8   rF   c                   ó   € ] tR t^˜tRtR# )ÚT5GemmaRMSNormr9   N©r:   r;   r<   r=   rB   r9   r8   r5   ro   ro   ˜   ó   † Ûr8   ro   c                   ó8   a a€ ] tR t^œt oV 3R ltR tRtVtV ;t# )Ú
T5GemmaMLPc                óp   <€ \         SV `  V4       \        P                  ! VP                  4      V n        R # ©N)rZ   Ú__init__ÚnnÚDropoutrS   Údropout©r\   Úconfigr_   s   &&€r5   rv   ÚT5GemmaMLP.__init__�   s&   ø€ Ü‰Ñ˜Ô Ü—z’z &×"5Ñ"5Ó6ˆŽr8   c                ó¶   € V P                  V P                  V4      4      V P                  V4      ,          pV P                  V4      pV P	                  V4      pV# ru   )Úact_fnÚ	gate_projÚup_projry   Ú	down_proj)r\   ÚxÚhidden_statesr�   s   &&  r5   ÚforwardÚT5GemmaMLP.forward¡   sH   € ØŸ™ D§N¡N°1Ó$5Ó6¸¿¹Àa»ÕHˆØŸ™ ]Ó3ˆØ—N‘N =Ó1ˆ	ØÐr8   )ry   ©	r:   r;   r<   r=   rv   r„   rB   rC   rl   rm   s   @@r5   rs   rs   œ   s   ù‡ € õ7÷ò r8   rs   c                   ó   € ] tR t^¨tRtR# )ÚT5GemmaRotaryEmbeddingr9   Nrp   r9   r8   r5   rˆ   rˆ   ¨   rq   r8   rˆ   c                   ó>   a a€ ] tR t^¬t oV3R lV 3R lltRtVtV ;t# )ÚT5GemmaSelfAttentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r0   r{   Ú	layer_idx©r.   rf   )r3   r4   s   "€r5   r6   Ú!T5GemmaSelfAttention.__annotate__­   s   ø€ ÷ +ñ +Ñ2ð +¹sñ +r8   c                óH   <€ \         SV `  W4       VP                  V n        R # ru   )rZ   rv   r1   Ú	is_causal©r\   r{   r�   r_   s   &&&€r5   rv   ÚT5GemmaSelfAttention.__init__­   s   ø€ Ü‰Ñ˜Ô+à×*Ñ*ˆŽr8   )r‘   )r:   r;   r<   r=   rv   rB   rC   rl   rm   s   @@r5   rŠ   rŠ   ¬   s   ù‡ € ÷+÷ +ó +r8   rŠ   c                   óT   a a€ ] tR t^³t 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# )ÚT5GemmaCrossAttentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# rŒ   rŽ   )r3   r4   s   "€r5   r6   Ú"T5GemmaCrossAttention.__annotate__´   s   ø€ ÷ 
ñ 
Ñ2ð 
¹sñ 
r8   c                ó¢  <€ \         SV `  W4       V =V =R V n        VP
                  f   \        R4      h\        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        R# )FNzBCross-attention needs cross_attention_hidden_size to be specified.©Úbias)rZ   rv   Úsliding_windowÚ
layer_typer‘   rW   Ú
ValueErrorrw   ÚLinearÚnum_key_value_headsÚhead_dimÚattention_biasÚk_projÚv_projr’   s   &&&€r5   rv   ÚT5GemmaCrossAttention.__init__´   s¢   ø€ Ü‰Ñ˜Ô+ØÐØˆOØˆŒà×-Ñ-Ò5ÜÐaÓbÐbä—i’iØ×.Ñ.°×0JÑ0JÈTÏ]É]Õ0ZÐag×avÑavô
ˆŒô —i’iØ×.Ñ.°×0JÑ0JÈTÏ]É]Õ0ZÐag×avÑavô
ˆŽr8   c                ó6  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  R,          S[S[ P                  ,          R,          3,          /# )r0   rƒ   Úattention_maskNÚencoder_hidden_statesrH   r]   Úreturn)ÚtorchÚTensorr   r   r   Útuple)r3   r4   s   "€r5   r6   r—   Ä   sŽ   ø€ ÷ 3)ñ 3)á—|‘|ð3)ñ Ÿ™ tÕ+ð3)ñ  %Ÿ|™|¨dÕ2ð	3)ñ
  �ð3)ñ Ñ-Õ.ð3)ñ 
‰u�|‰|™UŸ\™\¨DÕ0±%¹¿¹Õ2EÈÕ2LÐLÕ	Mñ3)r8   c                óÀ  € Vf   \        R4      hVP                  R R p. VORNV P                  N5pV P                  V4      P	                  V4      P                  ^^4      pVe2   VP                  P                  V P                  4      p	VP                  p
Ve	   X	'       g¿   VP                  R R p. VORNV P                  N5pV P                  V4      P	                  V4      P                  ^^4      pV P                  V4      P	                  V4      P                  ^^4      pVe8   X
P                  WÞV P                  4      w  rÞRVP                  V P                  &   MNX
P                  V P                  ,          P                  pV
P                  V P                  ,          P                  p\         P"                  ! V P$                  P&                  \(        4      pT! V VVVV3RV P*                  '       d   V P,                  MRRV P.                  RR RV P0                  /VB w  ppVP2                  ! . VORN5!  P5                  4       pV P7                  V4      pVV3# )	Nz5Encoder hidden state is required for cross attention.Try   rK   Úscalingr›   Úsoftcapéÿÿÿÿ)r�   Úshaper    Úq_projÚviewÚ	transposeÚ
is_updatedÚgetr�   Úcross_attention_cacher¢   r£   ÚupdateÚlayersÚkeysÚvaluesr   Úget_interfacer{   Ú_attn_implementationr+   ÚtrainingrT   r­   Úattn_logit_softcappingÚreshapeÚ
contiguousÚo_proj)r\   rƒ   r¦   r§   rH   r]   Úinput_shapeÚhidden_shapeÚquery_statesr´   Úcurr_past_key_valuesÚencoder_input_shapeÚencoder_hidden_shapeÚ
key_statesÚvalue_statesÚattention_interfaceÚattn_outputÚattn_weightss   &&&&&,            r5   r„   ÚT5GemmaCrossAttention.forwardÄ   sP  € ð !Ò(ÜÐTÓUÐUà#×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆØ—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆàÒ&Ø(×3Ñ3×7Ñ7¸¿¹ÓGˆJØ#2×#HÑ#HÐ àÒ"¯*Ø"7×"=Ñ"=¸c¸rÐ"BÐØ#LÐ%8Ð#L¸"Ð#L¸d¿m¹mÑ#LÐ ØŸ™Ð%:Ó;×@Ñ@ÐAUÓV×`Ñ`ÐabÐdeÓfˆJØŸ;™;Ð'<Ó=×BÑBÐCWÓX×bÑbÐcdÐfgÓhˆLàÒ*Ø+?×+FÑ+FÀzÐae×aoÑaoÓ+pÑ(�
Ø=A�×*Ñ*¨4¯>©>Ñ:øà-×4Ñ4°T·^±^ÕD×IÑIˆJØ/×6Ñ6°t·~±~ÕF×MÑMˆLä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ%
ð /3¯m¯m¨m�D×*Ò*Àð%
ð —L‘Lð%
ð  ð%
ð ×/Ñ/ð%
ð ñ%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØ˜LÐ(Ð(r8   )r‘   r¢   r£   ru   r†   rm   s   @@r5   r•   r•   ³   s   ù‡ € ÷
ó 
÷ 3)÷ 3)ò 3)r8   r•   c                   óX   a a€ ] tR t^út oRt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	# )ÚT5GemmaEncoderLayerzEncoder sub-layer.c                ó    <€ V ^8„  d   QhRS[ /# ©r0   r�   ©rf   )r3   r4   s   "€r5   r6   Ú T5GemmaEncoderLayer.__annotate__ý   s   ø€ ÷ 7ñ 7©#ñ 7r8   c                óL  <€ \         SV `  4        VP                  V n        Wn        W n        VP
                  V,          V n        \        VVR 7      V n        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        \        V4      V n        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        \"        P$                  ! VP&                  4      V n        R# ©)r{   r�   ©ÚepsN)rZ   rv   rV   r{   r�   Úlayer_typesÚattention_typerŠ   Ú	self_attnro   Úrms_norm_epsÚpre_self_attn_layernormÚpost_self_attn_layernormrs   ÚmlpÚpre_feedforward_layernormÚpost_feedforward_layernormrw   rx   rS   ry   r’   s   &&&€r5   rv   ÚT5GemmaEncoderLayer.__init__ý   sÝ   ø€ Ü‰ÑÔØ!×-Ñ-ˆÔØŒØ"ŒØ$×0Ñ0°Õ;ˆÔä-ØØô
ˆŒô (6°f×6HÑ6HÈf×NaÑNaÔ'bˆÔ$Ü(6°v×7IÑ7IÈv×ObÑObÔ(cˆÔ%ä˜fÓ%ˆŒÜ)7¸×8JÑ8JÐPV×PcÑPcÔ)dˆÔ&Ü*8¸×9KÑ9KÐQW×QdÑQdÔ*eˆÔ'ä—z’z &×"5Ñ"5Ó6ˆŽr8   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          R,          RS[ P                  R,          RS[ P                  R,          RS[S[ P                  3,          /# )r0   rƒ   Úposition_embeddingsNr¦   Úposition_idsr¨   )r©   rª   r«   Ú
LongTensorÚFloatTensor)r3   r4   s   "€r5   r6   rÓ     sz   ø€ ÷ ñ á—|‘|ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ÿ™ tÕ+ð	ñ
 ×&Ñ&¨Õ-ðñ 
‰u× Ñ Ð!Õ	"ñr8   c                óP  € TpV P                  V4      pV P                  ! RR VRVRVRVRR/VB w  rV P                  V4      pW`P                  V4      ,           pTpV P	                  V4      pV P                  V4      pV P                  V4      pW`P                  V4      ,           pV# )rƒ   rã   r¦   rä   rH   Nr9   )rÜ   rÚ   rÝ   ry   rß   rÞ   rà   )r\   rƒ   rã   r¦   rä   r]   ÚresidualÚ_s   &&&&&,  r5   r„   ÚT5GemmaEncoderLayer.forward  sÏ   € ð !ˆØ×4Ñ4°]ÓCˆØŸ>š>ñ 
Ø'ð
à 3ð
ð *ð
ð &ð	
ð
 !ð
ð ñ
Ñˆð ×5Ñ5°mÓDˆØ §<¡<°Ó#>Õ>ˆà ˆØ×6Ñ6°}ÓEˆØŸ™ Ó/ˆØ×7Ñ7¸ÓFˆØ §<¡<°Ó#>Õ>ˆØÐr8   )rÙ   r{   ry   rV   r�   rÞ   rà   rÝ   rß   rÜ   rÚ   )NNN©
r:   r;   r<   r=   r>   rv   r„   rB   rC   rl   rm   s   @@r5   rÏ   rÏ   ú   s!   ù‡ € Ù÷7ó 7÷(÷ ò r8   rÏ   c                   óX   a a€ ] tR tRt oRt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	# )	ÚT5GemmaDecoderLayeri.  z2Decoder sub-layer: an extra cross-attention layer.c                ó    <€ V ^8„  d   QhRS[ /# rÑ   rÒ   )r3   r4   s   "€r5   r6   Ú T5GemmaDecoderLayer.__annotate__1  s   ø€ ÷ eñ e©#ñ er8   c                ó  <€ \         SV `  4        VP                  V n        Wn        W n        VP
                  V,          V n        \        VVR 7      V n        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        \        V4      V n        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        \"        P$                  ! VP&                  4      V n        \+        WR 7      V n        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        R# rÕ   )rZ   rv   rV   r{   r�   rØ   rÙ   rŠ   rÚ   ro   rÛ   rÜ   rÝ   rs   rÞ   rß   rà   rw   rx   rS   ry   r•   Ú
cross_attnÚpre_cross_attn_layernormÚpost_cross_attn_layernormr’   s   &&&€r5   rv   ÚT5GemmaDecoderLayer.__init__1  s   ø€ Ü‰ÑÔØ!×-Ñ-ˆÔØŒØ"ŒØ$×0Ñ0°Õ;ˆÔä-ØØô
ˆŒô (6°f×6HÑ6HÈf×NaÑNaÔ'bˆÔ$Ü(6°v×7IÑ7IÈv×ObÑObÔ(cˆÔ%ä˜fÓ%ˆŒÜ)7¸×8JÑ8JÐPV×PcÑPcÔ)dˆÔ&Ü*8¸×9KÑ9KÐQW×QdÑQdÔ*eˆÔ'ä—z’z &×"5Ñ"5Ó6ˆŒÜ/°vÔSˆŒÜ(6°v×7IÑ7IÈv×ObÑObÔ(cˆÔ%Ü)7¸×8JÑ8JÐPV×PcÑPcÔ)dˆÖ&r8   c                óh  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[ P                  R,          R	S[ P                  R,          R
S[ P                  /	# )r0   rƒ   rã   Nr¦   rä   rH   rU   r§   Úencoder_attention_maskr¨   )r©   rª   r«   rå   r	   r2   ræ   )r3   r4   s   "€r5   r6   rï   H  sµ   ø€ ÷ ,ñ ,á—|‘|ð,ñ #¡5§<¡<±·±Ð#=Õ>ÀÕEð,ñ Ÿ™ tÕ+ð	,ñ
 ×&Ñ&¨Õ-ð,ñ -¨tÕ3ð,ñ ˜$•;ð,ñ  %Ÿ|™|¨dÕ2ð,ñ !&§¡¨tÕ 3ð,ñ 
×	Ñ	ñ,r8   c	                ó&  € Tp
V P                  V4      pV P                  ! RR TRTRTRTRVe   VP                  MRRV/V	B w  rV P                  V4      pW P	                  V4      ,           pTp
V P                  V4      pV P                  ! RR VRVRVRVRV/V	B w  rV P                  V4      pW P	                  V4      ,           pTp
V P                  V4      pV P                  V4      pV P                  V4      pW P	                  V4      ,           pV# )	rƒ   rã   r¦   rä   rH   NrU   r§   r9   )rÜ   rÚ   Úself_attention_cacherÝ   ry   rò   rñ   ró   rß   rÞ   rà   )r\   rƒ   rã   r¦   rä   rH   rU   r§   rö   r]   rè   ré   s   &&&&&&&&&,  r5   r„   ÚT5GemmaDecoderLayer.forwardH  sj  € ð !ˆØ×4Ñ4°]ÓCˆØŸ>š>ñ 
Ø'ð
à 3ð
ð *ð
ð &ð	
ð
 ETÒD_˜O×@Ò@Ðeið
ð  ð
ð ñ
Ñˆð ×5Ñ5°mÓDˆØ §<¡<°Ó#>Õ>ˆà ˆØ×5Ñ5°mÓDˆØŸ?š?ñ 
Ø'ð
à"7ð
ð 2ð
ð ,ð	
ð
  ð
ð ñ
Ñˆð ×6Ñ6°}ÓEˆØ §<¡<°Ó#>Õ>ˆà ˆØ×6Ñ6°}ÓEˆØŸ™ Ó/ˆØ×7Ñ7¸ÓFˆØ §<¡<°Ó#>Õ>ˆØÐr8   )rÙ   r{   rñ   ry   rV   r�   rÞ   ró   rà   rÝ   rò   rß   rÜ   rÚ   )NNNNFNNrë   rm   s   @@r5   rí   rí   .  s#   ù‡ € Ù<÷eó e÷.,÷ ,ò ,r8   rí   c                   óX   a a€ ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	ÚT5GemmaClassificationHeadiw  z-Head for sentence-level classification tasks.c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r0   rV   Ú
num_labelsrc   )rf   rg   )r3   r4   s   "€r5   r6   Ú&T5GemmaClassificationHead.__annotate__z  s#   ø€ ÷ ;ñ ;¡Cð ;±Sð ;ÑSXñ ;r8   c                ó’   <€ \         SV `  4        \        P                  ! VR 7      V n        \        P
                  ! W4      V n        R# ))ÚpN)rZ   rv   rw   rx   ry   rž   Úout_proj)r\   rV   rý   rc   r_   s   &&&&€r5   rv   Ú"T5GemmaClassificationHead.__init__z  s/   ø€ Ü‰ÑÔÜ—z’zÐ$;Ô<ˆŒÜŸ	š	 +Ó:ˆŽr8   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# ©r0   rƒ   r¨   ©r©   rª   )r3   r4   s   "€r5   r6   rþ     s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r8   c                óJ   € V P                  V4      pV P                  V4      pV# ru   ©ry   r  )r\   rƒ   s   &&r5   r„   Ú!T5GemmaClassificationHead.forward  s$   € ØŸ™ ]Ó3ˆØŸ™ mÓ4ˆØÐr8   r  )rK   rë   rm   s   @@r5   rû   rû   w  s!   ù‡ € Ù7÷;õ ;÷
÷ ð r8   rû   c                   óX   a a€ ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	ÚT5GemmaLMHeadi…  z.Head for language modeling (generation) tasks.c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r0   rV   re   rš   )rf   r2   )r3   r4   s   "€r5   r6   ÚT5GemmaLMHead.__annotate__ˆ  s'   ø€ ÷ Fñ F¡Cð F±Sð FÁñ Fr8   c                ó^   <€ \         SV `  4        \        P                  ! WVR 7      V n        R# )r™   N)rZ   rv   rw   rž   r  )r\   rV   re   rš   r_   s   &&&&€r5   rv   ÚT5GemmaLMHead.__init__ˆ  s    ø€ Ü‰ÑÔÜŸ	š	 +ÀÔEˆŽr8   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r  r  )r3   r4   s   "€r5   r6   r  Œ  s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r8   c                ó(   € V P                  V4      pV# ru   ©r  )r\   rƒ   Úlogitss   && r5   r„   ÚT5GemmaLMHead.forwardŒ  s   € Ø—‘˜}Ó-ˆØˆr8   r  )Frë   rm   s   @@r5   r
  r
  …  s#   ù‡ € Ù8÷Fõ F÷÷ ð r8   r
  c                   ót   a € ] tR tRt o RtRtRR.tRt]P                  ! 4       R 4       t
R tV 3R	 ltR
tV tR# )ÚT5GemmaPreTrainedModeli‘  ÚmodelTrÏ   rí   Nc                ó¼  € \         P                  ! W4       V P                  P                  p\	        V\
        4      '       dÆ   VP                  P                  P                  ^ ,          R,          p\        P                  ! VP                  P                  RW#,          R7       \        VP                  R4      '       dG   VP                  P                  e-   \        P                  ! VP                  P                  4       R# R# R# \	        V\        4      '       d‚   V P                  P                  '       gd   VP                  P                  P                  ^ ,          R,          p\        P                  ! VP                  P                  RW#,          R7       R# R# RVP                   P"                  9   d#   \        P                  ! VP                  4       R# R# )r   rK   )ÚmeanÚstdrš   NÚRMSNormg      à¿)r   Ú_init_weightsr{   rM   rQ   rû   r  Úweightr°   ÚinitÚnormal_Úhasattrrš   Úzeros_r
  rd   r_   r:   )r\   Úmoduler  Úscales   &&  r5   r  Ú$T5GemmaPreTrainedModel._init_weightsš  s1  € ô 	×%Ò% dÔ3Ø�k‰k×+Ñ+ˆÜ�fÔ7×8Ò8Ø—O‘O×*Ñ*×0Ñ0°Õ3°tÕ;ˆEÜ�LŠL˜Ÿ™×/Ñ/°c¸s½{ÕKÜ�v—‘¨×/Ò/°F·O±O×4HÑ4HÒ4TÜ—’˜FŸO™O×0Ñ0Ö1ñ 5UÑ/ä˜¤×.Ò.Ø—;‘;×2×2Ð2ØŸ™×.Ñ.×4Ñ4°QÕ7¸4Õ?�Ü—’˜VŸ_™_×3Ñ3¸#À3Å;×Oñ 3ð ˜&×*Ñ*×3Ñ3Ô3Ü�KŠK˜Ÿ™Ö&ñ 4r8   c                óf  € V P                   P                  P                  pV P                   P                  P                  pVf   \	        R4      hVP                  VP                  4      pVRRR13,          P                  4       VR&   W$R&   Vf   \	        R4      hVP                  VR8H  V4       V# )	zÚ
Shifts input_ids to the right, prepends the decoder_start_token_id, and handles
pad_token_id replacement for labels that were -100.
This is a common preparation step for decoder inputs in sequence-to-sequence models.
Nz:self.model.config.decoder.bos_token_id has to be defined. .z9self.model.config.decoder.pad_token_id has to be defined.r¯   ).:é   NN).r   iœÿÿÿ)	r{   rJ   rN   rO   r�   Ú	new_zerosr°   ÚcloneÚmasked_fill_)r\   Ú	input_idsÚdecoder_start_token_idrO   Úshifted_input_idss   &&   r5   Ú_shift_rightÚ#T5GemmaPreTrainedModel._shift_right¬  s±   € ð "&§¡×!4Ñ!4×!AÑ!AÐØ—{‘{×*Ñ*×7Ñ7ˆà!Ò)ÜÐYÓZÐZð &×/Ñ/°	·±Ó@ÐØ%.¨s°C°R°C¨xÕ%8×%>Ñ%>Ó%@Ð˜'Ñ"Ø$:˜&Ñ!àÒÜÐXÓYÐYð 	×&Ñ&Ð'8¸DÑ'@À,ÔOà Ð r8   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r0   r{   ©rF   )r3   r4   s   "€r5   r6   Ú#T5GemmaPreTrainedModel.__annotate__‘  s   ø‡ ‚ áÑò r8   r9   )r:   r;   r<   r=   Úbase_model_prefixÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_can_record_outputsr©   Úno_gradr  r,  rA   rB   rC   rD   s   @r5   r  r  ‘  sI   ø‡ € ð  ÐØ&*Ð#Ø.Ð0EÐFÐàÐà
‡]‚]ƒ_ñ'ó ð'ò"!÷7 ƒ r8   r  c                ó    € V ^8„  d   QhR\         P                  R,          R\         P                  R\        R,          R\         P                  /# )r0   Ú	token_idsNrƒ   rO   r¨   )r©   rå   rª   rf   )r3   s   "r5   r6   r6   Ç  sG   € ÷ ñ Ü×Ñ $Õ&ðä—<‘<ðô ˜•*ðô ‡\�\ñ	r8   c                ó2  € V e>   Vf   \        R4      hW8g  P                  VP                  \        P                  4      pV# \        P
                  ! VP                  ^ ,          VP                  ^,          3VP                  \        P                  R7      pV# )z%Construct the default attention mask.z3`pad_token_id` is required for padding information.©ÚdeviceÚdtype)r�   Útor;  r©   ÚlongÚonesr°   )r8  rƒ   rO   r¦   s   &&& r5   Úmake_default_2d_attention_maskr@  Ç  sŠ   € ð ÒØÒÜÐRÓSÐSØ#Ñ3×7Ñ7¸×8LÑ8LÌeÏjÉjÓYˆð
 Ðô ŸšØ× Ñ  Õ# ]×%8Ñ%8¸Õ%;Ð<À]×EYÑEYÔaf×akÑakô
ˆð Ðr8   c                   óh   a a€ ] tR tRt oR]R]/tV 3R lt]]	RV3R lR ll4       4       t
RtVtV ;t# )	ÚT5GemmaEncoderiØ  Ú
attentionsrƒ   c           	     ó^  <€ \         SV `  V4       VP                  V n        VP                  V n        \
        P                  ! VP                  VP                  V P                  4      V n        \        VP                  VP                  R 7      V n        RV n        \
        P                  ! \        VP                  4       Uu. uF  p\!        W4      NK  	  up4      V n        \
        P$                  ! VP&                  4      V n        \+        VR7      V n        V P/                  4        R# u upi ©rÖ   F©r{   N)rZ   rv   rO   Úpadding_idxre   rw   Ú	EmbeddingrV   Úembed_tokensro   rÛ   ÚnormÚgradient_checkpointingÚ
ModuleListÚrangeÚnum_hidden_layersrÏ   r¸   rx   rS   ry   rˆ   Ú
rotary_embÚ	post_initr’   s   && €r5   rv   ÚT5GemmaEncoder.__init__Þ  óà   ø€ Ü‰Ñ˜Ô Ø!×.Ñ.ˆÔØ ×+Ñ+ˆŒäŸLšL¨×):Ñ):¸F×<NÑ<NÐPT×P`ÑP`ÓaˆÔÜ" 6×#5Ñ#5¸6×;NÑ;NÔOˆŒ	Ø&+ˆÔ#ä—m’mÜEJÈ6×KcÑKcÔEdÓeÑEd¸	Ô  Ö3ÑEdÑeó
ˆŒô —z’z &×"5Ñ"5Ó6ˆŒÜ0¸Ô?ˆŒð 	�‰Öùò fó   ÃD*c                óæ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# ©r0   r)  Nr¦   rä   Úinputs_embedsr]   r¨   )r©   rå   rª   ræ   r   r   r«   r   )r3   r4   s   "€r5   r6   ÚT5GemmaEncoder.__annotate__ò  s|   ø€ ÷ 6
ñ 6
á×#Ñ# dÕ*ð6
ñ Ÿ™ tÕ+ð6
ñ ×&Ñ&¨Õ-ð	6
ñ
 ×(Ñ(¨4Õ/ð6
ñ Ñ+Õ,ð6
ñ 
‘Õ	 ñ6
r8   c                óÚ  € VR J VR J,          '       d   \        R4      hVP                  RR 4       Vf   V P                  V4      pVfE   \        P                  ! VP
                  ^,          VP                  R7      pVP                  ^ 4      pVf!   \        WV P                  P                  4      p\        T;p\        4      '       g+   RV P                  RVRV/pR\        R/ VB R\        R/ VB /pTp\        P                  ! V P                  P                   R	,          VP"                  R
7      p	W‰,          pV P%                  V4      pV P'                  Wƒ4      p
\)        V P*                  R V P                  P,                   4       F2  w  r¼V! VV
W`P                  P.                  V,          ,          V3/ VB pK4  	  V P1                  V4      pV P%                  V4      p\3        VR7      # )Nú:You must specify exactly one of input_ids or inputs_embedsrH   ©r;  r{   rV  r¦   Úfull_attentionÚsliding_attentionç      à?©r<  )Úlast_hidden_stater9   )r�   rX   rI  r©   Úaranger°   r;  Ú	unsqueezer@  r{   rO   rQ   rR   r   r   ÚtensorrV   r<  ry   rO  Ú	enumerater¸   rN  rØ   rJ  r   )r\   r)  r¦   rä   rV  r]   Úself_attn_mask_mappingÚmask_kwargsrƒ   Ú
normalizerrã   ÚiÚlayer_modules   &&&&&,       r5   r„   ÚT5GemmaEncoder.forwardð  sÏ  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZð 	�
‰
Ð$ dÔ+àÒ Ø ×-Ñ-¨iÓ8ˆMàÒÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\ˆLØ'×1Ñ1°!Ó4ˆLàÒ!Ü;¸IÐVZ×VaÑVa×VnÑVnÓoˆNä°NÐBÐ0ÄD×IÒIà˜$Ÿ+™+Ø Ø  .ðˆKð !Ô";Ñ"J¸kÑ"JØ#Ô%MÑ%\ÐP[Ñ%\ð&Ð"ð
 &ˆÜ—\’\ $§+¡+×"9Ñ"9¸3Õ">Àm×FYÑFYÔZˆ
Ø%Õ2ˆØŸ™ ]Ó3ˆà"Ÿo™o¨mÓJÐä(¨¯©Ð5T°t·{±{×7TÑ7TÐ)UÖV‰OˆAÙ(ØØ#Ø&§{¡{×'>Ñ'>¸qÕ'AÕBØñ	ð
 ñŠMñ  Wð Ÿ	™	 -Ó0ˆØŸ™ ]Ó3ˆÜØ+ô
ð 	
r8   ©ry   rI  rK  r¸   rJ  rG  rO  re   ©NNNN)r:   r;   r<   r=   rŠ   rÏ   r5  rv   r"   r$   r„   rB   rC   rl   rm   s   @@r5   rB  rB  Ø  sD   ù‡ € àÐ*ØÐ,ðÐõ
ð$  Ø÷6
ñ 6
ó ó  ÷6
ð 6
r8   rB  c                   óŒ   a a€ ] tR tRt oR]! ]^R7      R]! ]^R7      R]/tV 3R lt	]
]R
V3R lR ll4       4       tR	tVtV ;t# )ÚT5GemmaDecoderi+  rC  )ÚindexÚcross_attentionsrƒ   c           	     ó^  <€ \         SV `  V4       VP                  V n        VP                  V n        \
        P                  ! VP                  VP                  V P                  4      V n        \        VP                  VP                  R 7      V n        RV n        \
        P                  ! \        VP                  4       Uu. uF  p\!        W4      NK  	  up4      V n        \
        P$                  ! VP&                  4      V n        \+        VR7      V n        V P/                  4        R# u upi rE  )rZ   rv   rO   rG  re   rw   rH  rV   rI  ro   rÛ   rJ  rK  rL  rM  rN  rí   r¸   rx   rS   ry   rˆ   rO  rP  r’   s   && €r5   rv   ÚT5GemmaDecoder.__init__2  rR  rS  c                ó^  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[ P                  R,          R	S[ P                  R,          R
S[S[,          RS[S[	,          /
# )r0   r)  Nr¦   rä   rH   rV  rU   r§   rö   r]   r¨   )
r©   rå   rª   r	   ræ   r2   r   r   r«   r   )r3   r4   s   "€r5   r6   ÚT5GemmaDecoder.__annotate__F  sÌ   ø€ ÷ P
ñ P
á×#Ñ# dÕ*ðP
ñ Ÿ™ tÕ+ðP
ñ ×&Ñ&¨Õ-ð	P
ñ
 -¨tÕ3ðP
ñ ×(Ñ(¨4Õ/ðP
ñ ˜$•;ðP
ñ  %Ÿ|™|¨dÕ2ðP
ñ !&§¡¨tÕ 3ðP
ñ Ñ+Õ,ðP
ñ 
Ñ:Õ	:ñP
r8   c	                óJ  € VR J VR J,          '       d   \        R4      hVf   \        R4      hVf   V P                  V4      pV P                  '       g5   V'       d-   Vf)   \        \	        V P
                  R7      \	        4       4      pVfb   Ve   VP                  4       M^ p
\        P                  ! VP                  ^,          VP                  R7      V
,           pVP                  ^ 4      pVf%   Vf!   \        WV P
                  P                  4      p\        T;p\        4      '       g?   RV P
                  RTRTRVe   VP                   MR R	V/pR
\#        R/ VB R\%        R/ VB /p\        T;p\        4      '       g   R
\'        V P
                  VVVR7      /pTp\        P(                  ! V P
                  P*                  R,          VP,                  R7      pWï,          pV P/                  V4      pV P1                  Wã4      p\3        V P4                  R V P
                  P6                   4       F>  w  ppV! VVW°P
                  P8                  V,          ,          VVVVVR
,          3/ V	B pK@  	  V P;                  V4      pV P/                  V4      p\=        VVR7      # )NrY  z0`encoder_hidden_states` must be given in decoderrF  rZ  r{   rV  r¦   rH   rä   r[  r\  )r{   rV  r¦   r§   r]  r^  )r_  rH   r9   )r�   rI  r½   r	   r   r{   Úget_seq_lengthr©   r`  r°   r;  ra  r@  rO   rQ   rR   rø   r   r   r   rb  rV   r<  ry   rO  rc  r¸   rN  rØ   rJ  r   )r\   r)  r¦   rä   rH   rV  rU   r§   rö   r]   Úpast_seen_tokensrd  re  Úcross_attn_mask_mappingrƒ   rf  rã   rg  rh  s   &&&&&&&&&,         r5   r„   ÚT5GemmaDecoder.forwardD  s„  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZØ Ò(ÜÐOÓPÐPàÒ Ø ×-Ñ-¨iÓ8ˆMà�}�}ˆ}§¨Ò/Fô 2´,ÀdÇkÁkÔ2RÔT`ÓTbÓcˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLàÒ! oÒ&=Ü;¸IÐVZ×VaÑVa×VnÑVnÓoˆNä°NÐBÐ0ÄD×IÒIà˜$Ÿ+™+Ø Ø  .Ø!È?ÒKf ?×#GÒ#GÐlpØ ðˆKð !Ô"4Ñ"C°{Ñ"CØ#Ô%FÑ%UÈÑ%Uð&Ð"ô
 Ð5KÐKÐ1ÌT×RÒRà Ô";ØŸ;™;Ø"/Ø#9Ø*?ô	#ð'Ð#ð &ˆÜ—\’\ $§+¡+×"9Ñ"9¸3Õ">Àm×FYÑFYÔZˆ
Ø%Õ2ˆØŸ™ ]Ó3ˆà"Ÿo™o¨mÓJÐä(¨¯©Ð5T°t·{±{×7TÑ7TÐ)UÖV‰OˆAˆ|Ù(ØØ#Ø&§{¡{×'>Ñ'>¸qÕ'AÕBØØØØ%Ø'Ð(8Õ9ñ
ð ñ
ŠMñ  Wð Ÿ	™	 -Ó0ˆØŸ™ ]Ó3ˆÜ8Ø+Ø+ô
ð 	
r8   rj  )NNNNNNNN)r:   r;   r<   r=   r#   rŠ   r•   rí   r5  rv   r"   r$   r„   rB   rC   rl   rm   s   @@r5   rm  rm  +  s\   ù‡ € à‘nÐ%9ÀÔCØ™NÐ+@ÈÔJØÐ,ðÐõð$  Ø÷P
ñ P
ó ó  ÷P
ð P
r8   rm  c                   ót   a a€ ] tR tRt oV3R lV 3R lltR tR t]]R	V3R lR ll4       4       t	Rt
VtV ;t# )
ÚT5GemmaModeli™  c                ó    <€ V ^8„  d   QhRS[ /# r/  r0  )r3   r4   s   "€r5   r6   ÚT5GemmaModel.__annotate__›  ó   ø€ ÷ 	ñ 	™}ñ 	r8   c                óè   <€ \         SV `  V4       VP                  '       g   \        R 4      h\	        VP
                  4      V n        \        VP                  4      V n        V P                  4        R# )zVT5GemmaModel only support encoder-decoder modeling. Use `T5GemmaEncoderModel` instead.N)	rZ   rv   rb   r�   rB  rI   rm  rJ   rP  rz   s   &&€r5   rv   ÚT5GemmaModel.__init__›  sR   ø€ Ü‰Ñ˜Ô à×(×(Ð(ÜÐuÓvÐvä% f§n¡nÓ5ˆŒÜ% f§n¡nÓ5ˆŒà�‰Ör8   c                ó6   € V P                   P                  4       # ru   ©rI   Úget_input_embeddings©r\   s   &r5   r‚  Ú!T5GemmaModel.get_input_embeddings¦  ó   € Ø�|‰|×0Ñ0Ó2Ð2r8   c                ó8   € V P                   P                  V4      # ru   ©rI   Úset_input_embeddings©r\   Únew_embeddingss   &&r5   rˆ  Ú!T5GemmaModel.set_input_embeddings©  ó   € Ø�|‰|×0Ñ0°Ó@Ð@r8   c                ó²  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          R	S[R,          R
S[ P                  R,          RS[ P                  R,          RS[R,          RS[S[	,          RS[
/# )r0   r)  Nr¦   rä   Údecoder_input_idsÚdecoder_attention_maskÚdecoder_position_idsÚencoder_outputsrH   rV  Údecoder_inputs_embedsrU   r]   r¨   )r©   rå   ræ   Ú
BoolTensorr   r	   rª   r2   r   r   r   )r3   r4   s   "€r5   r6   r|  ®  sõ   ø€ ÷ 6
ñ 6
á×#Ñ# dÕ*ð6
ñ ×)Ñ)¨DÕ0ð6
ñ ×&Ñ&¨Õ-ð	6
ñ
 !×+Ñ+¨dÕ2ð6
ñ !&× 0Ñ 0°4Õ 7ð6
ñ $×.Ñ.°Õ5ð6
ñ )¨4Õ/ð6
ñ -¨tÕ3ð6
ñ —|‘| dÕ*ð6
ñ  %Ÿ|™|¨dÕ2ð6
ñ ˜$•;ð6
ñ Ñ+Õ,ð6
ñ 
ñ6
r8   c                óª  € Vf   V P                   ! RRVRVRVRV	/VB pVP                  pV P                  ! RRVRVRVRV
RVRVRVRV/VB p\        VP                  VP                  VP                  R	R
4      '       d   VP                  MVP                  3VP                  VP                  VP                  VP                  VP                  R7      # )a8  
decoder_position_ids (`torch.LongTensor` of shape `(batch_size, decoder_sequence_length)`, *optional*):
    Indices of positions of each decoder input sequence tokens in the position embeddings. Selected in the range `[0,
    config.decoder.n_positions - 1]`. [What are position IDs?](../glossary#position-ids)
r)  r¦   rä   rV  rH   r§   rö   rU   Úoutput_hidden_statesF)r_  rH   Údecoder_hidden_statesÚdecoder_attentionsro  Úencoder_last_hidden_stater§   Úencoder_attentionsr9   )	rI   r_  rJ   r   rH   rµ   rƒ   rC  ro  )r\   r)  r¦   rä   rŽ  r�  r�  r‘  rH   rV  r’  rU   r]   r§   Údecoder_outputss   &&&&&&&&&&&&,  r5   r„   ÚT5GemmaModel.forward¬  s/  € ð, Ò"Ø"Ÿlšlñ Ø#ðà-ðð *ðð ,ð	ð
 ñˆOð !0× AÑ AÐàŸ,š,ñ 

Ø'ð

à1ð

ð .ð

ð 0ð	

ð
 ,ð

ð #8ð

ð $2ð

ð  ð

ð ñ

ˆô "Ø-×?Ñ?Ø+×;Ñ;à�z‰zÐ0°%×8Ò8ð #2×"?Ò"?à!×3Ñ3Ð5Ø.×9Ñ9Ø,×=Ñ=Ø&5×&GÑ&GØ"1×"?Ñ"?Ø.×9Ñ9ô
ð 	
r8   )rJ   rI   )NNNNNNNNNNN©r:   r;   r<   r=   rv   r‚  rˆ  r    r   r„   rB   rC   rl   rm   s   @@r5   rz  rz  ™  s@   ù‡ € ÷	ó 	ò3òAð Ø÷6
ñ 6
ó ó ÷6
ð 6
r8   rz  c                   ót   a a€ ] tR tRt oV3R lV 3R lltR tR t]]R	V3R lR ll4       4       t	Rt
VtV ;t# )
ÚT5GemmaEncoderModeliç  c                ó    <€ V ^8„  d   QhRS[ /# r/  r0  )r3   r4   s   "€r5   r6   Ú T5GemmaEncoderModel.__annotate__é  s   ø€ ÷ ñ ™}ñ r8   c                ó´   <€ \         SV `  V4       VP                  '       d   \        R 4      h\	        VP
                  4      V n        V P                  4        R# )zQT5GemmaEncoderModel only supports encoder-only model. Use `T5GemmaModel` instead.N)rZ   rv   rb   r�   rB  rI   rP  rz   s   &&€r5   rv   ÚT5GemmaEncoderModel.__init__é  sB   ø€ Ü‰Ñ˜Ô à×$×$Ð$ÜÐpÓqÐqä% f§n¡nÓ5ˆŒØ�‰Ör8   c                ó6   € V P                   P                  4       # ru   r�  rƒ  s   &r5   r‚  Ú(T5GemmaEncoderModel.get_input_embeddingsò  r…  r8   c                ó8   € V P                   P                  V4      # ru   r‡  r‰  s   &&r5   rˆ  Ú(T5GemmaEncoderModel.set_input_embeddingsõ  rŒ  r8   c                óÖ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# rU  )r©   rå   ræ   rª   r   r   r   )r3   r4   s   "€r5   r6   r   ú  sw   ø€ ÷ ñ á×#Ñ# dÕ*ðñ ×)Ñ)¨DÕ0ðñ ×&Ñ&¨Õ-ð	ñ
 —|‘| dÕ*ðñ Ñ+Õ,ðñ 
ñr8   c                ó:   € V P                   ! RR VRVRVRV/VB pV# )r)  r¦   rä   rV  r9   ©rI   )r\   r)  r¦   rä   rV  r]   r‘  s   &&&&&, r5   r„   ÚT5GemmaEncoderModel.forwardø  sH   € ð Ÿ,š,ñ 
Øð
à)ð
ð &ð
ð (ð	
ð
 ñ
ˆð Ðr8   r©  rk  rœ  rm   s   @@r5   rž  rž  ç  s@   ù‡ € ÷ó ò3òAð Ø÷ñ ó ó ÷ð r8   rž  c                   ó¾   a a€ ] tR tRt oRR/tRR/tRR.R.3/tV3R lV 3R	 lltR
 tR t	]
]RV3R lR ll4       4       tV3R lR ltV3R lV 3R lltRtVtV ;t# )ÚT5GemmaForConditionalGenerationi  zlm_head.out_proj.weightz!model.decoder.embed_tokens.weightzlm_head.out_projÚcolwise_gather_outputrƒ   r  c                ó    <€ V ^8„  d   QhRS[ /# r/  r0  )r3   r4   s   "€r5   r6   Ú,T5GemmaForConditionalGeneration.__annotate__  r}  r8   c                ó  <€ R Vn         \        SV `	  V4       \        V4      V n        VP
                  P                  V n        \        VP
                  P                  V P                  4      V n	        RV n
        V P                  4        R# )TÚForMaskedLMN)rb   rZ   rv   rz  r  rJ   re   r
  rV   Úlm_headÚ	loss_typerP  rz   s   &&€r5   rv   Ú(T5GemmaForConditionalGeneration.__init__  sb   ø€ Ø$(ˆÔ!Ü‰Ñ˜Ô ä! &Ó)ˆŒ
Ø Ÿ.™.×3Ñ3ˆŒÜ$ V§^¡^×%?Ñ%?ÀÇÁÓQˆŒØ&ˆŒà�‰Ör8   c                ó@  € WP                   n        V P                  P                  '       dr   VP                  V P
                  P                  P                  n        VP                  P                  ^ ,          V P
                  P                  P                  n	        R# R# )r   N)
r²  r  r{   rd   r  r  rJ   rI  r°   Únum_embeddingsr‰  s   &&r5   Úset_output_embeddingsÚ5T5GemmaForConditionalGeneration.set_output_embeddings  sk   € Ø .�‰Ôð �;‰;×*×*Ð*Ø5C×5JÑ5JˆD�J‰J×Ñ×+Ñ+Ô2Ø=K×=RÑ=R×=XÑ=XÐYZÕ=[ˆD�J‰J×Ñ×+Ñ+Ö:ñ +r8   c                ó.   € V P                   P                  # ru   )r²  r  rƒ  s   &r5   Úget_output_embeddingsÚ5T5GemmaForConditionalGeneration.get_output_embeddings%  s   € Ø�|‰|×$Ñ$Ð$r8   c                ó8  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          R	S[R,          R
S[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[S[ P                  ,          RS[	S[
,          RS[S[ P                  ,          S[,          /# )r0   r)  Nr¦   rä   rŽ  r�  r�  r‘  rH   rV  r’  ÚlabelsrU   Úlogits_to_keepr]   r¨   )r©   rå   ræ   r“  r   r	   r2   rf   rª   r   r   r«   r   )r3   r4   s   "€r5   r6   r¯  *  sB  ø€ ÷ G
ñ G
á×#Ñ# dÕ*ðG
ñ ×)Ñ)¨DÕ0ðG
ñ ×&Ñ&¨Õ-ð	G
ñ
 !×+Ñ+¨dÕ2ðG
ñ !&× 0Ñ 0°4Õ 7ðG
ñ $×.Ñ.°Õ5ðG
ñ )¨4Õ/ðG
ñ -¨tÕ3ðG
ñ ×(Ñ(¨4Õ/ðG
ñ  %×0Ñ0°4Õ7ðG
ñ × Ñ  4Õ'ðG
ñ ˜$•;ðG
ñ ™eŸl™lÕ*ðG
ñ Ñ+Õ,ðG
ñ  
‰u× Ñ Õ	!¡OÕ	3ñ!G
r8   c                óè  € Ve   Vf   V
f   V P                  V4      pV P                  ! RRVRVRVRVRVRVRVR	VR
V	RV
RV/VB pVP                  p\        V\        4      '       d   \        V) R4      MTpV P                  VRVR3,          4      pV P                  4       P                  pVP                  e=   VVP                  ,          p\        P                  ! V4      pVVP                  ,          pRpVe   V P                  ! VW°P                  3/ VB p\        VVVP                  VP                   VP"                  VP$                  VP&                  VP(                  VP*                  R7	      # )a¼  
decoder_position_ids (`torch.LongTensor` of shape `(batch_size, decoder_sequence_length)`, *optional*):
    Indices of positions of each decoder input sequence tokens in the position embeddings. Selected in the range `[0,
    config.decoder.n_positions - 1]`. [What are position IDs?](../glossary#position-ids)
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]`.
Nr)  r¦   rä   rŽ  r�  r�  r‘  rH   rV  r’  rU   :NNN)	Úlossr  rH   r–  r—  ro  r˜  r§   r™  r9   )r,  r  r_  rQ   rf   Úslicer²  Úget_decoderr{   Úfinal_logit_softcappingr©   ÚtanhÚloss_functionre   r   rH   r–  r—  ro  r˜  r§   r™  )r\   r)  r¦   rä   rŽ  r�  r�  r‘  rH   rV  r’  r½  rU   r¾  r]   rš  rƒ   Úslice_indicesr  Údecoder_configrÀ  s   &&&&&&&&&&&&&&,      r5   r„   Ú'T5GemmaForConditionalGeneration.forward(  s´  € ð: ÒÐ"3Ò";Ð@UÒ@]à $× 1Ñ 1°&Ó 9Ðà.2¯jªjñ /
Øð/
à)ð/
ð &ð/
ð 0ð	/
ð
 $:ð/
ð "6ð/
ð ,ð/
ð ,ð/
ð (ð/
ð #8ð/
ð  ð/
ð ñ/
ˆð (×9Ñ9ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆØ×)Ñ)Ó+×2Ñ2ˆØ×1Ñ1Ò=Ø˜n×DÑDÕDˆFÜ—Z’Z Ó'ˆFØ˜n×DÑDÕDˆFàˆØÒà×%Ò% f¨f·o±oÑPÈÑPˆDäØØØ+×;Ñ;Ø"1×"GÑ"GØ.×AÑAØ,×=Ñ=Ø&5×&OÑ&OØ"1×"GÑ"GØ.×AÑAô

ð 
	
r8   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r0   r½  r  )r3   r4   s   "€r5   r6   r¯  s  s   ø€ ÷ )ñ )¹E¿L¹Lñ )r8   c                ó$   € V P                  V4      # ru   )r,  )r\   r½  s   &&r5   Ú%prepare_decoder_input_ids_from_labelsÚET5GemmaForConditionalGeneration.prepare_decoder_input_ids_from_labelss  s   € Ø× Ñ  Ó(Ð(r8   c                ó>   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[RS[/# )r0   Úgeneration_configÚmodel_kwargsÚgeneration_modeÚ
batch_sizeÚmax_cache_lengthr¨   )r   rR   r   rf   r2   )r3   r4   s   "€r5   r6   r¯  v  sO   ø€ ÷ I:ñ I:á+ðI:ñ ðI:ñ (ð	I:ñ
 ðI:ñ ðI:ñ 
ñI:r8   c                ó  <€ \         SV `  VVVVV4       VP                  RJ d   R# VP                  pVf   RpMRVP                  9   p\        P
                  ! V P                  P                  RR7      4      pRVn        R.VP                  ,          Vn
        RVRV/p	VP                  R	4      p
V
e±   \        V
\        4      '       g   \        R
4      h\        V
P                   4      ^ 8”  d$   V
P                   P                  ^ 4      '       d   R# \#        V
P$                  4      pV\&        8X  d%   VR,          ^ ,          P(                  ^,          V	R&   V! R/ V	B V
n        M>\        \+        R/ RV P                  P                  RR7      RV/B \+        4       4      VR	&   \-        V R4      '       dL   V P.                  e<   \        V P.                  \        4      '       g   \        R4      hVR	,          V n        R# R# R# )a  Override cache preparation to force full attention on the cross-attention cache.

The decoder config may declare sliding-window layers, but cross-attention must always use full attention.
The default `_prepare_cache_for_generation` would otherwise build a sliding cross-attention cache.
FNÚ	offloadedT)rJ   r[  r{   Ú
offloadingrH   z`The `past_key_values` in `model_kwargs` must be of type `EncoderDecoderCache` for T5Gemma model.r‘  Úmax_cache_lenÚ_cachezKThe internal cache must be of type `EncoderDecoderCache` for T5Gemma model.r9   )rZ   Ú_prepare_cache_for_generationrU   Úcache_implementationÚcopyÚdeepcopyr{   Úget_text_configr›   rN  rØ   rµ   rQ   r	   r�   Úlenr´   Útyper¶   r
   r°   r   r  r×  )r\   rÎ  rÏ  rÐ  rÑ  rÒ  rÙ  Úoffload_cacheÚcross_attn_configÚcross_attn_cache_kwargsrH   Úcross_attn_clsr_   s   &&&&&&      €r5   rØ  Ú=T5GemmaForConditionalGeneration._prepare_cache_for_generationv  sú  ø€ ô 	‰Ñ-ØØØØØô	
ð ×&Ñ&¨%Ó/Ùà0×EÑEÐØÒ'Ø!‰Mà'Ð+<×+QÑ+QÑQˆMô !ŸMšM¨$¯+©+×*EÑ*EÈdÐ*EÓ*SÓTÐØ+/ÐÔ(Ø)9Ð(:Ð=N×=`Ñ=`Õ(`ÐÔ%ð Ð'Ø˜-ð#
Ðð
 '×*Ñ*Ð+<Ó=ˆØÒ&Ü˜oÔ/B×CÒCÜ Øvóð ô
 �?×-Ñ-Ó.°Ô2°×7QÑ7Q×7UÑ7UÐVW×7XÒ7XÙä! /×"GÑ"GÓHˆNØ¤Ô,Ø;GÐHYÕ;ZÐ[\Õ;]×;cÑ;cÐdeÕ;fÐ'¨Ñ8á4BÑ4]ÐE\Ñ4]ˆOÕ1ô /BÜñ à  $§+¡+×"=Ñ"=ÀdÐ"=Ó"KØ$ mðñô “ó/ˆLÐ*Ñ+ô �4˜×"Ò" t§{¡{Ò'>Ü˜dŸk™kÔ+>×?Ò?Ü Ð!nÓoÐoà&Ð'8Õ9ˆDŽKñ	 (?Ñ"r8   )r×  r²  r³  r  re   )NNNNNNNNNNNNr   )r:   r;   r<   r=   Ú_tied_weights_keysÚ_tp_planÚ_pp_planrv   r·  rº  r    r   r„   rË  rØ  rB   rC   rl   rm   s   @@r5   r¬  r¬    s†   ù‡ € Ø3Ð5XÐYÐØ"Ð$;Ð<€HØ" oÐ%6¸¸
Ð$CÐD€H÷	ó 	ò\ò%ð Ø÷G
ñ G
ó ó ðG
÷R)ð )÷I:÷ I:ó I:r8   r¬  c                   óx   a a€ ] tR tRt oR	V3R lV 3R llltR tR t]]R
V3R lR ll4       4       t	Rt
VtV ;t# )Ú T5GemmaForSequenceClassificationiÂ  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# ©r0   r{   rb   N©rF   r2   )r3   r4   s   "€r5   r6   Ú-T5GemmaForSequenceClassification.__annotate__Ä  s   ø€ ÷ ñ ™}ð Á$ÈÅ+ñ r8   c                ó®  <€ Ve   W!n         \        SV `	  V4       VP                  V n        VP                   '       d   \	        V4      V n        M\        V4      V n        VP                  P                  pVP                   '       d   VP                  P                  p\        VRR4      p\        W0P                  V4      V n        V P                  4        R# )z”
is_encoder_decoder (`Optional`, *optional*):
    Whether use encoder_decoder for sequence classification. When set to False, only encoder is used.
Nrc   çš™™™™™¹?©rb   rZ   rv   rý   rz  r  rž  rI   rV   rJ   rY   rû   ÚscorerP  ©r\   r{   rb   rV   Úclassifier_dropoutr_   s   &&&  €r5   rv   Ú)T5GemmaForSequenceClassification.__init__Ä  s¦   ø€ ð
 Ò)Ø(:Ô%Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒà×$×$Ð$Ü% fÓ-ˆD�Jä,¨VÓ4ˆDŒJà—n‘n×0Ñ0ˆØ×$×$Ð$Ø Ÿ.™.×4Ñ4ˆKä$ VÐ-FÈÓLÐÜ.¨{¿O¹OÐM_Ó`ˆŒ
Ø�‰Ör8   c                ó6   € V P                   P                  4       # ru   ©r  r‚  rƒ  s   &r5   r‚  Ú5T5GemmaForSequenceClassification.get_input_embeddingsÛ  ó   € Ø�z‰z×.Ñ.Ó0Ð0r8   c                ó<   € V P                   P                  V4       R # ru   ©r  rˆ  ©r\   Úvalues   &&r5   rˆ  Ú5T5GemmaForSequenceClassification.set_input_embeddingsÞ  ó   € Ø�
‰
×'Ñ'¨Ö.r8   c                ó²  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          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[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# ©r0   r)  Nr¦   rä   rŽ  r�  r�  r‘  rV  r’  r½  r]   r¨   )r©   rå   rª   r   ræ   r   r   r   )r3   r4   s   "€r5   r6   rì  ã  sû   ø€ ÷ i
ñ i
á×#Ñ# dÕ*ði
ñ Ÿ™ tÕ+ði
ñ ×&Ñ&¨Õ-ð	i
ñ
 !×+Ñ+¨dÕ2ði
ñ !&§¡¨tÕ 3ði
ñ $×.Ñ.°Õ5ði
ñ )¨4Õ/ði
ñ ×(Ñ(¨4Õ/ði
ñ  %×0Ñ0°4Õ7ði
ñ × Ñ  4Õ'ði
ñ Ñ+Õ,ði
ñ 
"ñi
r8   c                ód  € V P                   P                  '       d,   Vf(   Ve$   \        RV P                  P                   R24      hV P                   P                  '       d)   Vf%   V	f!   Vf   \        R4      hV P                  V4      pV P                   P                  '       dK   V P                  ! V3RVRVRVRVR	VR
VRVRV	RR/	VB pVP                  pVP                  pVP                  pM=V P                  ! V3RVRVRV/VB pVP                  pVP                  pVP                  pV P                  V4      pVe   VP                  ^ ,          pMVP                  ^ ,          pV P                   P                  f   V^8w  d   \        R4      hV P                   P                  f   RpEM"Veñ   WP                   P                  8g  P!                  VP"                  \$        P&                  4      p\$        P(                  ! VP                  R,          VP"                  \$        P&                  R7      pVV,          P+                  R4      pV P                   P                  '       d:   V^,          p\$        P,                  ! VVP                  R,          ^,
          R7      pM.Rp\.        P1                  V P                  P                   R24       V\$        P(                  ! VVP"                  R7      V3,          pRpV
e    V P3                  VV
VV P                   R7      p\5        VVVVR7      # )áœ  
decoder_position_ids (`torch.LongTensor` of shape `(batch_size, decoder_sequence_length)`, *optional*):
    Indices of positions of each decoder input sequence tokens in the position embeddings. Selected in the range `[0,
    config.decoder.n_positions - 1]`. [What are position IDs?](../glossary#position-ids)
labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):
    Labels for computing the sequence classification/regression loss. Indices should be in `[0, ...,
    config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If
    `config.num_labels > 1` a classification loss is computed (Cross-Entropy).
Nú8Passing input embeddings is currently not supported for ú in encoder-decoder mode.ú°If no `decoder_input_ids` or `decoder_inputs_embeds` are passed, `input_ids` cannot be `None`. Please pass either `input_ids` or `decoder_input_ids` or `decoder_inputs_embeds`.r¦   rä   rŽ  r�  r�  r‘  rV  r’  rU   Fz=Cannot handle batch sizes > 1 if no padding token is defined.r:  )ÚmaxzŠ will not detect padding tokens in `inputs_embeds`. Results may be unexpected if using padding tokens in conjunction with `inputs_embeds.`rZ  )r  r½  Úpooled_logitsr{   ©rÀ  r  rƒ   rC  r¯   )r{   rb   ÚNotImplementedErrorr_   r:   r�   r,  r  r_  r–  r—  rƒ   rC  rð  r°   rO   r=  r;  r©   Úint32r`  ÚargmaxÚclampÚloggerÚwarning_oncerÅ  r   )r\   r)  r¦   rä   rŽ  r�  r�  r‘  rV  r’  r½  r]   Úoutputsr_  rƒ   rC  r  rÑ  Úlast_non_pad_tokenÚnon_pad_maskÚtoken_indicesr  rÀ  s   &&&&&&&&&&&,           r5   r„   Ú(T5GemmaForSequenceClassification.forwardá  s=  € ð2 �;‰;×)×)Ð)¨yÒ/@À]ÒE^Ü%ØJÈ4Ï>É>×KbÑKbÐJcÐc|Ð}óð ð
 �;‰;×)×)Ð)Ð/@Ò/HÐMbÒMjØÒ Ü ðUóð ð
 !%× 1Ñ 1°)Ó <Ðà�;‰;×)×)Ð)Ø*.¯*ª*Øñ+à-ð+ð *ð+ð #4ð	+ð
 (>ð+ð &:ð+ð !0ð+ð ,ð+ð '<ð+ð  ð+ð ñ+ˆGð !(× 9Ñ 9ÐØ#×9Ñ9ˆMØ ×3Ñ3‰Jà'+§z¢zØñ(à-ð(ð *ð(ð ,ð	(ð
 ñ(ˆGð !(× 9Ñ 9ÐØ#×1Ñ1ˆMØ ×+Ñ+ˆJà—‘Ð-Ó.ˆàÒ Ø"Ÿ™¨Õ+‰Jà&×,Ñ,¨QÕ/ˆJà�;‰;×#Ñ#Ò+°
¸a´ÜÐ\Ó]Ð]Ø�;‰;×#Ñ#Ò+Ø!#ÒØÒ"à%¯©×)AÑ)AÑA×EÑEÀfÇmÁmÔUZ×U`ÑU`ÓaˆLÜ!ŸLšL¨¯©¸Õ)<ÀVÇ]Á]ÔZ_×ZeÑZeÔfˆMØ"/°,Õ">×!FÑ!FÀrÓ!JÐà�{‰{×-×-Ð-Ø" aÕ'Ð"Ü%*§[¢[Ð1CÐIZ×I`ÑI`ÐacÕIdÐghÕIhÔ%iÐ"øà!#ÐÜ×ÑØ—>‘>×*Ñ*Ð+ð ,Zð Zôð
 œuŸ|š|¨J¸v¿}¹}ÔMÐOaÐaÕbˆàˆØÒØ×%Ñ%¨V¸FÐR_Ðhl×hsÑhsÐ%ÓtˆDä'ØØ Ø'Ø!ô	
ð 	
r8   ©r  rý   rð  ru   ©
NNNNNNNNNNrœ  rm   s   @@r5   rè  rè  Â  sC   ù‡ € ÷õ ò.1ò/ð Ø÷i
ñ i
ó ó ÷i
ð i
r8   rè  c                   óx   a a€ ] tR tRt oR	V3R lV 3R llltR tR t]]R
V3R lR ll4       4       t	Rt
VtV ;t# )ÚT5GemmaForTokenClassificationiO  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# rê  rë  )r3   r4   s   "€r5   r6   Ú*T5GemmaForTokenClassification.__annotate__Q  s   ø€ ÷ ñ ™}ð Á$ÈÅ+ñ r8   c                ó®  <€ Ve   W!n         \        SV `	  V4       VP                  V n        VP                   '       d   \	        V4      V n        M\        V4      V n        VP                  P                  pVP                   '       d   VP                  P                  p\        VRR4      p\        W0P                  V4      V n        V P                  4        R# )z‘
is_encoder_decoder (`Optional`, *optional*):
    Whether use encoder_decoder for token classification. When set to False, only encoder is used.
Nrc   rî  rï  rñ  s   &&&  €r5   rv   Ú&T5GemmaForTokenClassification.__init__Q  s¦   ø€ ð
 Ò)Ø(:Ô%Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒà×$×$Ð$Ü% fÓ-ˆD�Jä,¨VÓ4ˆDŒJà—n‘n×0Ñ0ˆØ×$×$Ð$Ø Ÿ.™.×4Ñ4ˆKä$ VÐ-FÈÓLÐÜ.¨{¿O¹OÐM_Ó`ˆŒ
à�‰Ör8   c                ó6   € V P                   P                  4       # ru   rõ  rƒ  s   &r5   r‚  Ú2T5GemmaForTokenClassification.get_input_embeddingsi  r÷  r8   c                ó<   € V P                   P                  V4       R # ru   rù  rú  s   &&r5   rˆ  Ú2T5GemmaForTokenClassification.set_input_embeddingsl  rý  r8   c                ó²  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          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[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# rÿ  )r©   rå   rª   r   ræ   r   r   r   )r3   r4   s   "€r5   r6   r  q  sû   ø€ ÷ N
ñ N
á×#Ñ# dÕ*ðN
ñ Ÿ™ tÕ+ðN
ñ ×&Ñ&¨Õ-ð	N
ñ
 !×+Ñ+¨dÕ2ðN
ñ !&§¡¨tÕ 3ðN
ñ $×.Ñ.°Õ5ðN
ñ )¨4Õ/ðN
ñ ×(Ñ(¨4Õ/ðN
ñ  %×0Ñ0°4Õ7ðN
ñ × Ñ  4Õ'ðN
ñ Ñ+Õ,ðN
ñ 
ñN
r8   c                óâ  € V P                   P                  '       d,   Vf(   Ve$   \        RV P                  P                   R24      hV P                   P                  '       d)   Vf%   V	f!   Vf   \        R4      hV P                  V4      pV P                   P                  '       dK   V P                  ! V3RVRVRVRVR	VR
VRVRV	RR/	VB pVP                  pVP                  pVP                  pM=V P                  ! V3RVRVRV/VB pVP                  pVP                  pVP                  pV P                  V4      pRpV
e   V P                  VW P                   4      p\        VVVVR7      # )r  Nr  r  r  r¦   rä   rŽ  r�  r�  r‘  rV  r’  rU   Fr  )r{   rb   r  r_   r:   r�   r,  r  r_  r–  r—  rƒ   rC  rð  rÅ  r   )r\   r)  r¦   rä   rŽ  r�  r�  r‘  rV  r’  r½  r]   r  r_  rƒ   rC  r  rÀ  s   &&&&&&&&&&&,      r5   r„   Ú%T5GemmaForTokenClassification.forwardo  sØ  € ð4 �;‰;×)×)Ð)¨yÒ/@À]ÒE^Ü%ØJÈ4Ï>É>×KbÑKbÐJcÐc|Ð}óð ð �;‰;×)×)Ð)Ð/@Ò/HÐMbÒMjØÒ Ü ðUóð ð
 !%× 1Ñ 1°)Ó <Ðà�;‰;×)×)Ð)Ø*.¯*ª*Øñ+à-ð+ð *ð+ð #4ð	+ð
 (>ð+ð &:ð+ð !0ð+ð ,ð+ð '<ð+ð  ð+ð ñ+ˆGð !(× 9Ñ 9ÐØ#×9Ñ9ˆMØ ×3Ñ3‰Jà'+§z¢zØñ(à-ð(ð *ð(ð ,ð	(ð
 ñ(ˆGð !(× 9Ñ 9ÐØ#×1Ñ1ˆMØ ×+Ñ+ˆJà—‘Ð-Ó.ˆàˆØÒØ×%Ñ% f¨f·k±kÓBˆDä$ØØØ'Ø!ô	
ð 	
r8   r  ru   r  rœ  rm   s   @@r5   r  r  O  sC   ù‡ € ÷õ ò01ò/ð Ø÷N
ñ N
ó ó ÷N
ð N
r8   r  )rF   r.   r¬  rz  rž  r  rè  r  )YrÚ  Úcollections.abcr   Útypingr   r©   Útorch.nnrw   Úhuggingface_hub.dataclassesr   Ú r   r  Úcache_utilsr   r   r	   r
   Úconfiguration_utilsr   Ú
generationr   r   r   Úmasking_utilsr   r   r   r   Úmodeling_flash_attention_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r   r   r   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r    r!   Úutils.genericr"   Úutils.output_capturingr#   r$   Úgemma2.configuration_gemma2r%   Úgemma2.modeling_gemma2r&   r'   r(   r)   r*   r+   Ú
get_loggerr:   r  r.   rF   ro   rs   rˆ   rŠ   r•   rÏ   rí   ÚModulerû   r
  r  r@  rB  rm  rz  rž  r¬  rè  r  Ú__all__r9   r8   r5   Ú<module>r8     s,  ðó Ý $Ý ã Ý Ý .å &ß PÓ PÝ 3ß KÑ K÷ó õ CÝ 9÷÷ ÷ GÝ &÷ó õ 8ß EÝ 6÷÷ ð 
×	Ò	˜HÓ	%€ñ Ð6Ô7Øô3˜,ó 3ó ó 8ð3ñ. Ð6Ô7Øô7(Ð$ó 7(ó ó 8ð7(ôt	�]ô 	ô	�ô 	ô	Ð2ô 	ô+˜?ô +ôD)˜Oô D)ôN1Ð4ô 1ôhFÐ4ô FôR §	¡	ô ô	�B—I‘Iô 	ð ô2!Ð2ó 2!ó ð2!õjô"P
Ð+ô P
ôfk
Ð+ô k
ð\ ôJ
Ð)ó J
ó ðJ
ðZ ô!Ð0ó !ó ð!ôHs:Ð&<¸oô s:ðl ôI
Ð'=ó I
ó ðI
ðX ôo
Ð$:ó o
ó ðo
òd	‚r8   