+
    œ°³j¾  ã                   óR  € ^ RI t ^ RIHt ^ RI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 ^RIHt ^R	I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)H*t*H+t+H,t,H-t- ^RI.H/t/ ^RI0H1t1H2t2 ^RI3H4t4 ],Pj                  ! ]64      t7 ! R R]Pp                  4      t9]) ! R R]$4      4       t: ! R R]Pp                  4      t;R7R R llt< ! R R]Pz                  4      t> ! R R]4      t? ! R R ]:4      t@ ! R! R"]4      tA ! R# R$]:4      tBR% R& ltC]) ! R' R(]:4      4       tD])! R)R*7       ! R+ R,]:]4      4       tE ! R- R.]Pz                  4      tF])! R/R*7       ! R0 R1]:4      4       tG ! R2 R3]:4      tH])! R4R*7       ! R5 R6]:]4      4       tI. R8OtJR# )9é    N)ÚCallable)Únn)ÚBCEWithLogitsLossÚCrossEntropyLossÚMSELoss)Úinitialization)ÚACT2FN)ÚCacheÚDynamicCacheÚEncoderDecoderCache)ÚGenerationMixin)Úcreate_bidirectional_maskÚcreate_causal_mask)ÚFlashAttentionKwargs)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚ)BaseModelOutputWithPastAndCrossAttentionsÚ!CausalLMOutputWithCrossAttentionsÚSeq2SeqLMOutputÚSeq2SeqModelOutputÚSeq2SeqSequenceClassifierOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚis_torchdynamo_compilingÚloggingÚtorch_compilable_check)Úmerge_with_config_defaults)ÚOutputRecorderÚcapture_outputs©ÚPLBartConfigc                   ó^   a a€ ] tR t^=t oRtRV3R lV 3R llltV3R lV 3R lltRtVtV ;t	# )ÚPLBartScaledWordEmbeddingzT
This module overrides nn.Embeddings' forward by multiplying with embeddings scale.
c          	      ó@   <€ V ^8„  d   QhRS[ RS[ RS[ RS[R,          /# )é   Únum_embeddingsÚembedding_dimÚpadding_idxÚembed_scaleN©ÚintÚfloat)ÚformatÚ__classdict__s   "€Úk/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/plbart/modeling_plbart.pyÚ__annotate__Ú&PLBartScaledWordEmbedding.__annotate__B   s0   ø€ ÷ 'ñ '¡sð '¹3ð 'ÉSð 'Ñ_dÐgkÕ_kñ 'ó    c                ó4   <€ \         SV `  WV4       W@n        R # ©N)ÚsuperÚ__init__r-   )Úselfr*   r+   r,   r-   Ú	__class__s   &&&&&€r3   r:   Ú"PLBartScaledWordEmbedding.__init__B   s   ø€ Ü‰Ñ˜¸ÔDØ&Ör6   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r)   Ú	input_ids©ÚtorchÚTensor)r1   r2   s   "€r3   r4   r5   F   s   ø€ ÷ =ñ =¡§¡ñ =r6   c                óD   <€ \         SV `  V4      V P                  ,          # r8   )r9   Úforwardr-   )r;   r?   r<   s   &&€r3   rD   Ú!PLBartScaledWordEmbedding.forwardF   s   ø€ Ü‰w‰˜yÓ)¨D×,<Ñ,<Õ<Ð<r6   ©r-   )ç      ð?©
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r:   rD   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r<   r2   s   @@r3   r'   r'   =   s#   ù‡ € ñ÷'õ '÷=÷ =ó =r6   r'   c                   óZ   a a€ ] tR t^Jt oRtRtRR.tRtRtRt	V 3R lt
V3R ltRtVtV ;t# )ÚPLBartPreTrainedModelÚmodelTÚPLBartDecoderLayerÚPLBartEncoderLayerc                ó–   <€ \         SV `  V4       \        V\        4      '       d#   \        P
                  ! VP                  4       R # R # r8   )r9   Ú_init_weightsÚ
isinstanceÚPLBartForConditionalGenerationÚinitÚzeros_Úfinal_logits_bias)r;   Úmoduler<   s   &&€r3   rX   Ú#PLBartPreTrainedModel._init_weightsT   s5   ø€ Ü‰Ñ˜fÔ%Ü�fÔ<×=Ò=Ü�KŠK˜×0Ñ0Ö1ñ >r6   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r)   Úconfigr$   )r1   r2   s   "€r3   r4   Ú"PLBartPreTrainedModel.__annotate__J   s   ø‡ ‚ áÑò r6   © )rI   rJ   rK   rL   Úbase_model_prefixÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnrX   Ú__annotate_func__rN   rO   rP   rQ   s   @@r3   rS   rS   J   s<   ù‡ € ð  ÐØ&*Ð#Ø-Ð/CÐDÐØÐØ€NØÐõ2÷ … r6   rS   c                   ó^   a a€ ] tR t^Zt oRtV3R lV 3R lltRV3R lV 3R llltRtVtV ;t	# )Ú PLBartLearnedPositionalEmbeddingzF
This module learns positional embeddings up to a fixed maximum size.
c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r)   r*   r+   ©r/   )r1   r2   s   "€r3   r4   Ú-PLBartLearnedPositionalEmbedding.__annotate___   s   ø€ ÷ Fñ F¡sð F¹3ñ Fr6   c                óV   <€ ^V n         \        SV `	  WP                   ,           V4       R# )r)   N)Úoffsetr9   r:   )r;   r*   r+   r<   s   &&&€r3   r:   Ú)PLBartLearnedPositionalEmbedding.__init___   s"   ø€ ð ˆŒÜ‰Ñ˜¯+©+Õ5°}ÖEr6   c                ób   <€ V ^8„  d   QhRS[ P                  RS[RS[ P                  R,          /# )r)   r?   Úpast_key_values_lengthÚposition_idsN©rA   rB   r/   )r1   r2   s   "€r3   r4   rp   e   s5   ø€ ÷ ;ñ ;ÙŸ™ð;Ù?Bð;ÙV[×VbÑVbÐeiÕViñ;r6   c                ó<  <€ Vfi   VP                   R,          w  rE\        P                  ! W"V,           \        P                  V P                  P
                  R7      P                  VR4      pMVP                  ^ 4      p\        SV `%  W0P                  ,           4      # )z3`input_ids' shape is expected to be [bsz x seqlen].:Nr)   N)ÚdtypeÚdeviceéÿÿÿÿ)ÚshaperA   ÚarangeÚlongÚweightrz   ÚexpandÚ	unsqueezer9   rD   rr   )r;   r?   ru   rv   ÚbszÚseq_lenr<   s   &&&&  €r3   rD   Ú(PLBartLearnedPositionalEmbedding.forwarde   s   ø€ ð
 ÒØ$Ÿ?™?¨2Õ.‰LˆCÜ Ÿ<š<Ø&ÀÕ(HÔPU×PZÑPZÐcg×cnÑcn×cuÑcuôç‰f�S˜"‹oñ ð (×1Ñ1°!Ó4ˆLä‰w‰˜|¯k©kÕ9Ó:Ð:r6   )rr   )r   NrH   rQ   s   @@r3   rm   rm   Z   s%   ù‡ € ñ÷Fó F÷;÷ ;õ ;r6   rm   c                ó  € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R,          R\        R	\
        \        ,          /# )
r)   r^   ÚqueryÚkeyÚvalueÚattention_maskNÚscalingÚdropoutÚkwargs)r   ÚModulerA   rB   r0   r   r   )r1   s   "r3   r4   r4   u   s{   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô �T�\ð%ô ð%ô Ô'Õ(ñ%r6   c                 ó¶  € Vf   VP                  R4      R,          p\        P                  ! WP                  ^^4      4      V,          pVe	   W„,           p\        P
                  P                  VRR7      p\        P
                  P                  W†V P                  R7      p\        P                  ! Wƒ4      p	V	P                  ^^4      P                  4       p	W˜3# )N©Údim©ÚpÚtrainingr{   ç      à¿)
ÚsizerA   ÚmatmulÚ	transposer   Ú
functionalÚsoftmaxr‹   r“   Ú
contiguous)
r^   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   Úattn_weightsÚattn_outputs
   &&&&&&&,  r3   Úeager_attention_forwardr�   u   s±   € ð ‚Ø—*‘*˜R“. DÕ(ˆô —<’< §}¡}°Q¸Ó':Ó;¸gÕE€LàÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2Ð(Ó>€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€Lä—,’,˜|Ó3€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r6   c                   ó\   a a€ ] tR t^‘t oRtRV3R lV 3R llltRV3R lR lltRtVtV ;t	# )	ÚPLBartAttentionz=Multi-headed attention from 'Attention Is All You Need' paperc                óf   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[RS[RS[R,          R	S[ R,          /# )
r)   Ú	embed_dimÚ	num_headsr‹   Ú
is_decoderÚbiasÚ	is_causalrb   NÚ	layer_idx)r/   r0   Úboolr%   )r1   r2   s   "€r3   r4   ÚPLBartAttention.__annotate__”   sn   ø€ ÷ %Cñ %Cáð%Cñ ð%Cñ ð	%Cñ
 ð%Cñ ð%Cñ ð%Cñ ˜tÕ#ð%Cñ ˜•:ñ%Cr6   c	                ó¬  <€ \         S	V `  4        Wn        W n        W0n        W,          V n        Wpn        V P
                  V,          V P                  8w  d   \        R V P                   RV R24      hV P
                  R,          V n        W@n	        W`n
        W€n        Vf@   V P                  '       d.   \        P                  RV P                  P                   R24       \         P"                  ! WVR7      V n        \         P"                  ! WVR7      V n        \         P"                  ! WVR7      V n        \         P"                  ! WVR7      V n        R# )z;embed_dim must be divisible by num_heads (got `embed_dim`: z and `num_heads`: z).NzInstantiating a decoder z¸ without passing `layer_idx` is not recommended and will lead to errors during the forward call, if caching is used. Please make sure to provide a `layer_idx` when creating this class.©r¤   r”   )r9   r:   r¡   r¢   r‹   Úhead_dimrb   Ú
ValueErrorrŠ   r£   r¥   r¦   ÚloggerÚwarning_oncer<   rI   r   ÚLinearÚk_projÚv_projÚq_projÚout_proj)
r;   r¡   r¢   r‹   r£   r¤   r¥   rb   r¦   r<   s
   &&&&&&&&&€r3   r:   ÚPLBartAttention.__init__”   s  ø€ ô 	‰ÑÔØ"ŒØ"ŒØŒØ!Õ.ˆŒØŒà�M‰M˜IÕ%¨$¯.©.Ô8ÜØMÈdÏnÉnÐM]Ø$ Y K¨rð3óð ð —}‘} dÕ*ˆŒØ$ŒØ"ŒØ"ŒØÒ §§ Ü×ÑØ*¨4¯>©>×+BÑ+BÐ*Cð D,ð ,ôô —i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜŸ	š	 )¸TÔBˆŽr6   c                ó   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[R,          RS[ P                  R,          RS[S[,          RS[S[ P                  S[ P                  R,          3,          /# )r)   Úhidden_statesÚkey_value_statesNÚpast_key_valuesr‰   rŒ   Úreturn)rA   rB   r
   r   r   Útuple)r1   r2   s   "€r3   r4   r¨   »   s†   ø€ ÷ H)ñ H)á—|‘|ðH)ñ  Ÿ,™,¨Õ-ðH)ñ  �ð	H)ñ
 Ÿ™ tÕ+ðH)ñ Ñ-Õ.ðH)ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñH)r6   c                óV  € VRJpVP                   RR p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      p	Rp
Ve`   \        V\        4      '       dH   VP                  P                  V P                  4      p
V'       d   VP                  pMVP                  pMTpV'       d   TMTpV'       d\   VeX   V
'       dP   XP                  V P                  ,          P                  pVP                  V P                  ,          P                  pMÝV P                  V4      pV P!                  V4      p. VP                   RR ORNV P                  N5pVP                  V4      P	                  ^^4      pVP                  V4      P	                  ^^4      pVeV   XP#                  WÞV P                  4      w  rÞV'       d0   \        V\        4      '       d   RVP                  V P                  &   \$        P&                  ! V P(                  P*                  \,        4      pT! V V	VVV3RV P.                  '       g   RMV P0                  RV P2                  /VB w  ppVP4                  ! . VORN5!  P7                  4       pV P9                  V4      pVV3# )z#Input shape: Batch x Time x ChannelNFTr‹   ç        rŠ   r{   )r|   r«   r²   Úviewr—   rY   r   Ú
is_updatedÚgetr¦   Úcross_attention_cacheÚself_attention_cacheÚlayersÚkeysÚvaluesr°   r±   Úupdater   Úget_interfacerb   Ú_attn_implementationr�   r“   r‹   rŠ   Úreshaperš   r³   )r;   r¶   r·   r¸   r‰   rŒ   Úis_cross_attentionÚinput_shapeÚhidden_shapeÚquery_statesr¾   Úcurr_past_key_valuesÚcurrent_statesÚ
key_statesÚvalue_statesÚkv_shapeÚattention_interfacerœ   r›   s   &&&&&,             r3   rD   ÚPLBartAttention.forward»   sl  € ð .°TÐ9Ðð $×)Ñ)¨#¨2Ð.ˆà8˜Ð8 bÐ8¨$¯-©-Ñ8ˆð —{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆàˆ
ØÒ&Ü˜/Ô+>×?Ò?Ø,×7Ñ7×;Ñ;¸D¿N¹NÓK�
ß%à+:×+PÑ+PÑ(à+:×+OÑ+OÑ(à'6Ð$ç-?Ñ)À]ˆß /Ò"=Ç*à-×4Ñ4°T·^±^ÕD×IÑIˆJØ/×6Ñ6°t·~±~ÕF×MÑM‰LàŸ™ ^Ó4ˆJØŸ;™; ~Ó6ˆLØF˜×-Ñ-¨c¨rÐ2ÐF°BÐF¸¿¹ÑFˆHØ#Ÿ™¨Ó2×<Ñ<¸QÀÓBˆJØ'×,Ñ,¨XÓ6×@Ñ@ÀÀAÓFˆLàÒ*Ø+?×+FÑ+FÀzÐae×aoÑaoÓ+pÑ(�
ç%¬*°_ÔFY×*ZÒ*ZØAE�O×.Ñ.¨t¯~©~Ñ>ä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð  $Ÿ}Ÿ}˜}‘C°$·,±,ð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—m‘m KÓ0ˆà˜LÐ(Ð(r6   )rb   r‹   r¡   r«   r¥   r£   r°   r¦   r¢   r³   r²   rŠ   r±   )r¼   FTFNN©NNNrH   rQ   s   @@r3   rŸ   rŸ   ‘   s'   ù‡ € ÙG÷%Cõ %C÷NH)÷ H)ò H)r6   rŸ   c                   óT   a a€ ] tR tRt o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# )rV   i  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# ©r)   rb   r¦   N©r%   r/   )r1   r2   s   "€r3   r4   ÚPLBartEncoderLayer.__annotate__  s   ø€ ÷ =ñ =™|ð =¹¸d½
ñ =r6   c                ó|  <€ \         SV `  4        VP                  V n        \	        V P                  VP
                  VP                  VVR 7      V n        \        P                  ! V P                  4      V n
        VP                  V n        \        VP                  ,          V n        VP                  V n        \        P                   ! V P                  VP"                  4      V n        \        P                   ! VP"                  V P                  4      V n        \        P                  ! V P                  4      V n        R# ))r¡   r¢   r‹   rb   r¦   N)r9   r:   Úd_modelr¡   rŸ   Úencoder_attention_headsÚattention_dropoutÚ	self_attnr   Ú	LayerNormÚself_attn_layer_normr‹   r	   Úactivation_functionÚactivation_fnÚactivation_dropoutr¯   Úencoder_ffn_dimÚfc1Úfc2Úfinal_layer_norm©r;   rb   r¦   r<   s   &&&€r3   r:   ÚPLBartEncoderLayer.__init__  sÔ   ø€ Ü‰ÑÔØŸ™ˆŒä(Ø—n‘nØ×4Ñ4Ø×,Ñ,ØØô
ˆŒô %'§L¢L°·±Ó$@ˆÔ!Ø—~‘~ˆŒÜ# F×$>Ñ$>Õ?ˆÔØ"(×";Ñ";ˆÔÜ—9’9˜TŸ^™^¨V×-CÑ-CÓDˆŒÜ—9’9˜V×3Ñ3°T·^±^ÓDˆŒÜ "§¢¨T¯^©^Ó <ˆÖr6   c                ó~   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[,          RS[ P                  /# )r)   r¶   r‰   rŒ   r¹   )rA   ÚFloatTensorr   r   rB   )r1   r2   s   "€r3   r4   rÙ     sI   ø€ ÷ ñ á×(Ñ(ðñ ×)Ñ)ðñ Ñ+Õ,ð	ñ
 
�‰ñr6   c                óf  € TpV P                   ! V3R V/VB w  r\        P                  P                  WP                  V P                  R7      pWA,           pV P                  V4      pTpV P                  V P                  V4      4      p\        P                  P                  WP                  V P                  R7      pV P                  V4      p\        P                  P                  WP                  V P                  R7      pWA,           pV P                  V4      pVP                  \        P                  8X  du   \        P                  ! V4      P                  4       '       gK   \        P                   ! VP                  4      P"                  R,
          p\        P$                  ! W) VR7      pV# )r‰   r‘   iè  )ÚminÚmax)rÞ   r   r˜   r‹   r“   rà   râ   rå   rã   ræ   rç   ry   rA   Úfloat16ÚisfiniteÚallÚfinforî   Úclamp)r;   r¶   r‰   rŒ   ÚresidualÚ_Úclamp_values   &&&,   r3   rD   ÚPLBartEncoderLayer.forward  s[  € ð !ˆØŸ>š>Øñ
à)ð
ð ñ
Ñˆô
 Ÿ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆØ Õ0ˆØ×1Ñ1°-Ó@ˆà ˆØ×*Ñ*¨4¯8©8°MÓ+BÓCˆÜŸ™×-Ñ-¨m×?VÑ?VÐae×anÑanÐ-ÓoˆØŸ™ Ó/ˆÜŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆØ Õ0ˆØ×-Ñ-¨mÓ<ˆà×Ñ¤%§-¡-Ô/¼¿ºÀ}Ó8U×8YÑ8Y×8[Ò8[ÜŸ+š+ m×&9Ñ&9Ó:×>Ñ>ÀÕEˆKÜ!ŸKšK¨¸<È[ÔYˆMàÐr6   )	rã   râ   r‹   r¡   rå   ræ   rç   rÞ   rà   r8   ©	rI   rJ   rK   rL   r:   rD   rN   rO   rP   rQ   s   @@r3   rV   rV     s   ù‡ € ÷=õ =÷&÷ ð r6   rV   c                   ó‚   a a€ ] tR tRt oRtR]R]/tV3R lV 3R llt]	]
]R
V3R lR ll4       4       4       tR	tVtV ;t# )ÚPLBartEncoderi9  zÌ
Transformer encoder consisting of *config.encoder_layers* self attention layers. Each layer is a
[`PLBartEncoderLayer`].

Args:
    config: PLBartConfig
    embed_tokens (nn.Embedding): output embedding
r¶   Ú
attentionsc                ó    <€ V ^8„  d   QhRS[ /# ra   r$   )r1   r2   s   "€r3   r4   ÚPLBartEncoder.__annotate__H  s   ø€ ÷ ñ ™|ñ r6   c           
     óœ  <€ \         SV `  V4       VP                  V n        VP                  V n        VP
                  pVP                  V n        VP                  V n	        VP                  '       d   \        P                  ! V4      MR p\        VP                  W P                  VR7      V n        \!        VP                  V4      V n        \$        P&                  ! \)        VP*                  4       Uu. uF  p\-        WR7      NK  	  up4      V n        \$        P0                  ! V4      V n        RV n        V P7                  4        R# u upi ©rG   rF   )r¦   FN)r9   r:   r‹   Úencoder_layerdropÚ	layerdroprÛ   Úpad_token_idr,   Úmax_position_embeddingsÚmax_source_positionsÚscale_embeddingÚmathÚsqrtr'   Ú
vocab_sizeÚembed_tokensrm   Úembed_positionsr   Ú
ModuleListÚrangeÚencoder_layersrV   rÂ   rß   Úlayernorm_embeddingÚgradient_checkpointingÚ	post_init)r;   rb   r¡   r-   Úir<   s   &&   €r3   r:   ÚPLBartEncoder.__init__H  s  ø€ Ü‰Ñ˜Ô à—~‘~ˆŒØ×1Ñ1ˆŒà—N‘Nˆ	Ø!×.Ñ.ˆÔØ$*×$BÑ$BˆÔ!Ø.4×.D×.DÐ.D”d—i’i 	Ô*È#ˆä5Ø×Ñ˜y×*:Ñ*:Èô
ˆÔô  @Ø×*Ñ*Øó 
ˆÔô —m’mÔV[Ð\b×\qÑ\qÔVrÓ$sÑVrÐQRÔ%7¸×%LÑVrÑ$sÓtˆŒÜ#%§<¢<°	Ó#:ˆÔ à&+ˆÔ#à�‰Öùò %ts   Ã4E	c          
      ó®   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# )r)   r?   Nr‰   Úinputs_embedsrŒ   r¹   )rA   Ú
LongTensorrB   rë   r   r   r   )r1   r2   s   "€r3   r4   rý   e  sb   ø€ ÷ *
ñ *
á×#Ñ# dÕ*ð*
ñ Ÿ™ tÕ+ð*
ñ ×(Ñ(¨4Õ/ð	*
ñ
 Ñ+Õ,ð*
ñ 
ñ*
r6   c                óŽ  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV P                  VR,          4      pVP                  VP                  4      pW5,           pV P                  V4      p\        P                  P                  W`P                  V P                  R7      p\        V P                  VVR7      p\        V P                  4       FU  w  rxRp	V P                  '       d)   \        P                  ! . 4      p
W P                   8  d   Rp	V	'       d   KK  V! VV3/ VB pKW  	  \#        VR7      # )Nz:You must specify exactly one of input_ids or inputs_embedsr‘   )rb   r  r‰   FT)Úlast_hidden_state)ºNNNr  r{   )r¬   r	  r
  Útorz   r  r   r˜   r‹   r“   r   rb   Ú	enumeraterÂ   rA   Úrandr  r   )r;   r?   r‰   r  rŒ   Ú	embed_posr¶   ÚidxÚencoder_layerÚto_dropÚdropout_probabilitys   &&&&,      r3   rD   ÚPLBartEncoder.forwardb  s+  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMà×(Ñ(¨°xÕ)@ÓAˆ	Ø—L‘L ×!5Ñ!5Ó6ˆ	à%Õ1ˆØ×0Ñ0°Ó?ˆÜŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-Ódˆä2Ø—;‘;Ø'Ø)ô
ˆô
 #,¨D¯K©KÖ"8ÑˆCàˆGØ�}�}ˆ}Ü&+§j¢j°£nÐ#Ø&¯©Ô7Ø"�Gç‘7Ù -Ø!Ø"ñ!ð ñ!’ñ #9ô Ø+ô
ð 	
r6   )	r‹   r
  r	  r  r  r  rÂ   r  r,   rÔ   )rI   rJ   rK   rL   rM   rV   rŸ   Ú_can_record_outputsr:   r!   r#   r   rD   rN   rO   rP   rQ   s   @@r3   rú   rú   9  sW   ù‡ € ñð 	Ð+Ø�oðÐ÷
ó ð4  ØØ÷*
ñ *
ó ó ó  ÷*
ð *
r6   rú   c                   óX   a a€ ] tR tRt oRV3R lV 3R llltRV3R lR lltRtVtV ;t# )	rU   i’  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# r×   rØ   )r1   r2   s   "€r3   r4   ÚPLBartDecoderLayer.__annotate__“  s   ø€ ÷ =ñ =™|ð =¹¸d½
ñ =r6   c           
     ó2  <€ \         SV `  4        VP                  V n        \	        V P                  VP
                  VP                  R R VVR7      V n        VP                  V n        \        VP                  ,          V n        VP                  V n        \        P                  ! V P                  4      V n        \	        V P                  VP
                  VP                  R VVR7      V n        \        P                  ! V P                  4      V n        \        P$                  ! V P                  VP&                  4      V n        \        P$                  ! VP&                  V P                  4      V n        \        P                  ! V P                  4      V n        R# )T)r¡   r¢   r‹   r£   r¥   rb   r¦   )r‹   r£   rb   r¦   N)r9   r:   rÛ   r¡   rŸ   Údecoder_attention_headsrÝ   rÞ   r‹   r	   rá   râ   rã   r   rß   rà   Úencoder_attnÚencoder_attn_layer_normr¯   Údecoder_ffn_dimrå   ræ   rç   rè   s   &&&€r3   r:   ÚPLBartDecoderLayer.__init__“  s   ø€ Ü‰ÑÔØŸ™ˆŒä(Ø—n‘nØ×4Ñ4Ø×,Ñ,ØØØØô
ˆŒð —~‘~ˆŒÜ# F×$>Ñ$>Õ?ˆÔØ"(×";Ñ";ˆÔä$&§L¢L°·±Ó$@ˆÔ!Ü+Ø�N‰NØ×*Ñ*Ø×,Ñ,ØØØô
ˆÔô (*§|¢|°D·N±NÓ'CˆÔ$Ü—9’9˜TŸ^™^¨V×-CÑ-CÓDˆŒÜ—9’9˜V×3Ñ3°T·^±^ÓDˆŒÜ "§¢¨T¯^©^Ó <ˆÖr6   c                ó  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[,          R	S[ P                  /# )
r)   r¶   r‰   NÚencoder_hidden_statesÚencoder_attention_maskr¸   Ú	use_cacherŒ   r¹   )rA   rB   r
   r§   r   r   )r1   r2   s   "€r3   r4   r%  ²  sŒ   ø€ ÷ /ñ /á—|‘|ð/ñ Ÿ™ tÕ+ð/ñ  %Ÿ|™|¨dÕ2ð	/ñ
 !&§¡¨tÕ 3ð/ñ  �ð/ñ ˜$•;ð/ñ Ñ+Õ,ð/ñ 
�‰ñ/r6   c           	     ó"  € TpV P                   ! V3R VRV/VB w  r\        P                  P                  WP                  V P                  R7      pW�,           pV P                  V4      pVel   TpV P                  ! V3RVRVR V/VB w  r\        P                  P                  WP                  V P                  R7      pW�,           pV P                  V4      pTpV P                  V P                  V4      4      p\        P                  P                  WP                  V P                  R7      pV P                  V4      p\        P                  P                  WP                  V P                  R7      pW�,           pV P                  V4      pV# )r¸   r‰   r‘   r·   )rÞ   r   r˜   r‹   r“   rà   r(  r)  râ   rå   rã   ræ   rç   )
r;   r¶   r‰   r-  r.  r¸   r/  rŒ   rô   rõ   s
   &&&&&&&,  r3   rD   ÚPLBartDecoderLayer.forward²  s–  € ð !ˆð  Ÿ>š>Øñ
à+ð
ð *ð
ð ñ	
Ñˆô Ÿ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆØ Õ0ˆØ×1Ñ1°-Ó@ˆð !Ò,Ø$ˆHà#×0Ò0Øñ à!6ð ð  6ð ð !0ð	 ð
 ñ ÑˆMô ŸM™M×1Ñ1°-Ç<Á<ÐZ^×ZgÑZgÐ1ÓhˆMØ$Õ4ˆMØ ×8Ñ8¸ÓGˆMð !ˆØ×*Ñ*¨4¯8©8°MÓ+BÓCˆÜŸ™×-Ñ-¨m×?VÑ?VÐae×anÑanÐ-ÓoˆØŸ™ Ó/ˆÜŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆØ Õ0ˆØ×-Ñ-¨mÓ<ˆàÐr6   )rã   râ   r‹   r¡   r(  r)  rå   ræ   rç   rÞ   rà   r8   )NNNNTrø   rQ   s   @@r3   rU   rU   ’  s   ù‡ € ÷=õ =÷>/÷ /ò /r6   rU   c                   óª   a a€ ] tR tRt oRtR]R]! ]^RR7      R]! ]^RR7      /tV3R	 lV 3R
 llt	]
]]RV3R lR ll4       4       4       tRtVtV ;t# )ÚPLBartDecoderiä  z¼
Transformer decoder consisting of *config.decoder_layers* layers. Each layer is a [`PLBartDecoderLayer`]

Args:
    config: PLBartConfig
    embed_tokens (nn.Embedding): output embedding
r¶   rû   rÞ   )ÚindexÚ
layer_nameÚcross_attentionsr(  c                ó    <€ V ^8„  d   QhRS[ /# ra   r$   )r1   r2   s   "€r3   r4   ÚPLBartDecoder.__annotate__ó  s   ø€ ÷ ñ ™|ñ r6   c           
     óÖ  <€ \         SV `  V4       VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  '       d!   \        P                  ! VP                  4      MR p\        VP                  VP                  V P                  VR7      V n        \!        VP                  VP                  4      V n        \$        P&                  ! \)        VP*                  4       Uu. uF  p\-        WR7      NK  	  up4      V n        \$        P0                  ! VP                  4      V n        RV n        V P7                  4        R# u upi rÿ   )r9   r:   r‹   Údecoder_layerdropr  r  r,   r  Úmax_target_positionsr  r  r  rÛ   r'   r  r	  rm   r
  r   r  r  Údecoder_layersrU   rÂ   rß   r  r  r  )r;   rb   r-   r  r<   s   &&  €r3   r:   ÚPLBartDecoder.__init__ó  s  ø€ Ü‰Ñ˜Ô Ø—~‘~ˆŒØ×1Ñ1ˆŒØ!×.Ñ.ˆÔØ$*×$BÑ$BˆÔ!Ø39×3I×3IÐ3I”d—i’i §¡Ô/Èsˆä5Ø×Ñ˜vŸ~™~¨t×/?Ñ/?È[ô
ˆÔô  @Ø×*Ñ*Ø�N‰Nó 
ˆÔô —m’mÔV[Ð\b×\qÑ\qÔVrÓ$sÑVrÐQRÔ%7¸×%LÑVrÑ$sÓtˆŒä#%§<¢<°·±Ó#?ˆÔ à&+ˆÔ#à�‰Öùò %ts   ÄE&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[R,          R	S[S[,          R
S[/	# )r)   r?   Nr‰   r-  r.  r¸   r  r/  rŒ   r¹   )	rA   r  rB   rë   r
   r§   r   r   r   )r1   r2   s   "€r3   r4   r8    s³   ø€ ÷ R
ñ R
á×#Ñ# dÕ*ðR
ñ Ÿ™ tÕ+ðR
ñ  %×0Ñ0°4Õ7ð	R
ñ
 !&× 0Ñ 0°4Õ 7ðR
ñ  �ðR
ñ ×(Ñ(¨4Õ/ðR
ñ ˜$•;ðR
ñ Ñ+Õ,ðR
ñ 
3ñR
r6   c           
     ó  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       do   Vfk   Vf   V P                  P                  '       d5   \	        \        V P                  R7      \        V P                  R7      4      M\        V P                  R7      pVP                  4       R R w  ršVe   VP                  4       M^ p\        P                  ! W¦P                  R7      V,           pVf;   \        4       '       g+   Wº,           p\        P                  ! W�VP                  R7      p\        V\        4      '       d   VP                  MTp\        V P                  VVVR7      p\!        V P                  VVVR7      pV P#                  WVR7      pVP%                  VP                  4      pWo,           pV P'                  V4      p\(        P*                  P-                  VV P,                  V P.                  R7      p\1        V P2                  4       FR  w  ppV P.                  '       d*   \        P4                  ! . 4      pVV P6                  8  d   KA  V! VVV3RVR	VR
V/VB pKT  	  \9        VVR7      # )NzJYou must specify exactly one of decoder_input_ids or decoder_inputs_embeds)rb   ©rz   )rb   r  r‰   r¸   )rb   r  r‰   r-  )rv   r‘   r.  r¸   r/  )r  r¸   r{   )r¬   r	  rb   Úis_encoder_decoderr   r   r•   Úget_seq_lengthrA   r}   rz   r   ÚonesrY   rÁ   r   r   r
  r  r  r   r˜   r‹   r“   r  rÂ   r  r  r   )r;   r?   r‰   r-  r.  r¸   r  r/  rŒ   Ú
batch_sizeÚ
seq_lengthru   rv   Úmask_seq_lengthÚself_attn_cacheÚ	positionsr¶   r  Údecoder_layerr   s   &&&&&&&&,           r3   rD   ÚPLBartDecoder.forward  sZ  € ð ˜Ð -°tÐ";×<Ô<ÜÐiÓjÐjàÒ Ø ×-Ñ-¨iÓ8ˆM÷ ˜Ò0ð )Ò4¸¿¹×8V×8VÐ8Vô $¤L¸¿¹Ô$DÄlÐZ^×ZeÑZeÔFfÔgä!¨¯©Ô5ð ð "/×!3Ñ!3Ó!5°c°rÐ!:Ñˆ
ØETÒE` ×!?Ñ!?Ô!AÐfgÐÜ—|’| J×7KÑ7KÔLÐOeÕeˆàÒ!Ô*B×*DÒ*Dà4ÕAˆOÜ"ŸZšZ¨
ÈM×L`ÑL`ÔaˆNô ˜/Ô+>×?Ò?ð ×0Ò0à ð 	ô ,Ø—;‘;Ø'Ø)Ø+ô	
ˆô ";Ø—;‘;Ø'Ø1Ø"7ô	"
Ðð ×(Ñ(¨ÐYeÐ(Ófˆ	Ø—L‘L ×!5Ñ!5Ó6ˆ	à%Õ1ˆØ×0Ñ0°Ó?ˆäŸ™×-Ñ-¨m¸t¿|¹|ÐVZ×VcÑVcÐ-Ódˆä"+¨D¯K©KÖ"8ÑˆC�à�}�}ˆ}Ü&+§j¢j°£nÐ#Ø&¨¯©Ô7Ùá)ØØØ%ñð (>ð	ð
 !0ðð $ðð ñŠMñ #9ô" 9Ø+Ø+ô
ð 	
r6   )	r‹   r
  r	  r  r  r  rÂ   r;  r,   )NNNNNNN)rI   rJ   rK   rL   rM   rU   r"   rŸ   r"  r:   r!   r#   r   rD   rN   rO   rP   rQ   s   @@r3   r3  r3  ä  ss   ù‡ € ñð 	Ð+Ø‘n _¸AÈ+ÔVØ™N¨?À!ÐP^Ô_ðÐ÷ó ð0  ØØ÷R
ñ R
ó ó ó  ÷R
ð R
r6   r3  c                óD   € V ^8„  d   QhR\         P                  R\        /# )r)   r?   r  rw   )r1   s   "r3   r4   r4   c  s   € ÷ ñ ¤%§,¡,ð ¼cñ r6   c                ó`  € V P                  4       pVf   \        R4      hVP                  VR8H  V4       VP                  V4      P	                  ^R7      ^,
          P                  R4      pVP                  ^V4      P                  4       pVRRR13,          P                  4       VR&   WBR&   V# )	zÃ
Shift input ids one token to the right, and wrap the last non pad token (the <LID> token) Note that PLBart does not
have a single `decoder_start_token_id` in contrast to other Bart-like models.
Nz1self.model.config.pad_token_id has to be defined.r�   r  iœÿÿÿr{   )r  :é   NN)r  r   )Úcloner¬   Úmasked_fill_ÚneÚsumr�   ÚgatherÚsqueeze)r?   r  Úprev_output_tokensÚindex_of_eosÚdecoder_start_tokenss   &&   r3   Úshift_tokens_rightrW  c  s³   € ð
 #Ÿ™Ó*ÐàÒÜÐLÓMÐMà×#Ñ#Ð$6¸$Ñ$>ÀÔMà&×)Ñ)¨,Ó7×;Ñ;ÀÐ;ÓBÀQÕF×QÑQÐRTÓU€LØ-×4Ñ4°Q¸ÓE×MÑMÓOÐØ 2°1°c°r°c°6Õ :× @Ñ @Ó BÐ�uÑØ3�tÑàÐr6   c                   óŠ   a a€ ] tR tRt oRRRR/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       4       tRtVtV ;t# )ÚPLBartModeliw  zencoder.embed_tokens.weightzshared.weightzdecoder.embed_tokens.weightc                ó    <€ V ^8„  d   QhRS[ /# ra   r$   )r1   r2   s   "€r3   r4   ÚPLBartModel.__annotate__~  s   ø€ ÷ 
ñ 
™|ñ 
r6   c                óT  <€ \         SV `  V4       VP                  VP                  r2VP                  '       d!   \
        P                  ! VP                  4      MR p\        W1P                  W$R7      V n	        \        V4      V n        \        V4      V n        V P                  4        R# )rG   rF   N)r9   r:   r  r  r  r  r  rÛ   r'   Úsharedrú   Úencoderr3  Údecoderr  )r;   rb   r,   r  r-   r<   s   &&   €r3   r:   ÚPLBartModel.__init__~  sv   ø€ Ü‰Ñ˜Ô à"(×"5Ñ"5°v×7HÑ7H�ZØ39×3I×3IÐ3I”d—i’i §¡Ô/ÈsˆÜ/°
¿N¹NÈKÔqˆŒä$ VÓ,ˆŒÜ$ VÓ,ˆŒà�‰Ör6   c                ó   € V P                   # r8   )r]  ©r;   s   &r3   Úget_input_embeddingsÚ PLBartModel.get_input_embeddingsŠ  s   € Ø�{‰{Ðr6   c                ó~   € Wn         V P                   V P                  n        V P                   V P                  n        R # r8   )r]  r^  r	  r_  ©r;   rˆ   s   &&r3   Úset_input_embeddingsÚ PLBartModel.set_input_embeddings�  s'   € ØŒØ$(§K¡Kˆ�‰Ô!Ø$(§K¡Kˆ�‰Ö!r6   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[ P                  ,          R,          RS[R,          RS[ P                  R,          R	S[ P                  R,          R
S[R,          RS[S[,          RS[	S[ P                  ,          S[
,          /# )r)   r?   Nr‰   Údecoder_input_idsÚdecoder_attention_maskÚencoder_outputsr¸   r  Údecoder_inputs_embedsr/  rŒ   r¹   )rA   r  rB   Úlistrë   r
   r§   r   r   rº   r   )r1   r2   s   "€r3   r4   r[  •  só   ø€ ÷ J
ñ J
á×#Ñ# dÕ*ðJ
ñ ×(Ñ(¨4Õ/ðJ
ñ !×+Ñ+¨dÕ2ð	J
ñ
 !&§¡¨tÕ 3ðJ
ñ ™e×/Ñ/Õ0°4Õ7ðJ
ñ  �ðJ
ñ ×(Ñ(¨4Õ/ðJ
ñ  %×0Ñ0°4Õ7ðJ
ñ ˜$•;ðJ
ñ Ñ+Õ,ðJ
ñ 
‰u�|‰|Õ	Ñ1Õ	1ñJ
r6   c
                óX  € Vf$   Vf    \        WP                  P                  4      pVf   V P                  ! RRVRVRV/V
B pM]\	        V\
        4      '       gH   \        V^ ,          \        V4      ^8”  d
   V^,          MR\        V4      ^8”  d
   V^,          MRR7      pV P                  ! RRVRVRV^ ,          RVRVRVR	V	/V
B p\        VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  R
7      # )a÷  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, target_sequence_length)`, *optional*):
    Indices of decoder input sequence tokens in the vocabulary.

    Indices can be obtained using [`AutoTokenizer`] or [`PLBartMultiTokenizer`] depending on the checkpoint.
    See [`PreTrainedTokenizer.encode`] and [`PreTrainedTokenizer.__call__`] for details.

    [What are decoder input IDs?](../glossary#decoder-input-ids)

    PLBart uses a specific language id token as the starting token for `decoder_input_ids` generation that
    varies according to source and target language, *e.g.* 50003 for *en_XX*, and 50001 for *java*. If
    `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see
    `past_key_values`).

    For translation and summarization training, `decoder_input_ids` should be provided. If no
    `decoder_input_ids` is provided, the model will create this tensor by shifting the `input_ids` to the right
    for denoising pre-training following the paper.
decoder_attention_mask (:
    obj:*torch.LongTensor* of shape `(batch_size, target_sequence_length)`, *optional*):
    Default behavior:
    generate a tensor that ignores pad tokens in `decoder_input_ids`. Causal mask will also be used by default.
Nr?   r‰   r  )r  r¶   rû   r-  r.  r¸   r/  )r  r¸   Údecoder_hidden_statesÚdecoder_attentionsr6  Úencoder_last_hidden_stater-  Úencoder_attentionsrd   )rW  rb   r  r^  rY   r   Úlenr_  r   r  r¸   r¶   rû   r6  )r;   r?   r‰   rj  rk  rl  r¸   r  rm  r/  rŒ   Údecoder_outputss   &&&&&&&&&&, r3   rD   ÚPLBartModel.forward’  sd  € ðP Ò$Ð)>Ò)FÜ 2°9¿k¹k×>VÑ>VÓ WÐàÒ"Ø/3¯|ª|ñ 0Ø#ð0à-ð0ð ,ð0ð ñ	0‰Oô ˜O¬_×=Ò=Ü-Ø"1°!Õ"4Ü47¸Ó4HÈ1Ô4L˜o¨aÖ0ÐRVÜ14°_Ó1EÈÔ1I˜?¨1Ö-ÈtôˆOð Ÿ,š,ñ 	
Ø'ð	
à1ð	
ð #2°!Õ"4ð	
ð $2ð		
ð
 ,ð	
ð 0ð	
ð  ð	
ð ñ	
ˆô "Ø-×?Ñ?Ø+×;Ñ;Ø"1×"?Ñ"?Ø.×9Ñ9Ø,×=Ñ=Ø&5×&GÑ&GØ"1×"?Ñ"?Ø.×9Ñ9ô	
ð 		
r6   )r_  r^  r]  ©	NNNNNNNNN)rI   rJ   rK   rL   Ú_tied_weights_keysr:   rc  rg  r!   r#   r   rD   rN   rO   rP   rQ   s   @@r3   rY  rY  w  s_   ù‡ € ð 	& Ø% ðÐ÷

ó 
òò0ð
  ØØ÷J
ñ J
ó ó ó  ÷J
ð J
r6   rY  zv
    The PLBART Model with a language modeling head. Can be used for code-to-text, text-to-code and code-to-code.
    )Úcustom_introc                   óÄ   a a€ ] tR tRt oRtR.tRR/tV3R lV 3R lltRV3R lV 3R	 llltV3R
 lR lt	]
]]RV3R lR ll4       4       4       tV3R lR ltRtVtV ;t# )rZ   iâ  rT   r]   úlm_head.weightzmodel.shared.weightc                ó    <€ V ^8„  d   QhRS[ /# ra   r$   )r1   r2   s   "€r3   r4   Ú+PLBartForConditionalGeneration.__annotate__î  s   ø€ ÷ ñ ™|ñ r6   c                ó�  <€ \         SV `  V4       \        V4      V n        \        P
                  ! \        P                  ! ^V P                  P                  P                  34      4      V n
        \        P                  ! VP                  V P                  P                  P                  RR7      V n        V P                  4        R# )rM  Frª   N)r9   r:   rY  rT   r   ÚBufferrA   Úzerosr]  r*   r]   r¯   rÛ   Úlm_headr  ©r;   rb   r<   s   &&€r3   r:   Ú'PLBartForConditionalGeneration.__init__î  s~   ø€ Ü‰Ñ˜Ô Ü  Ó(ˆŒ
Ü!#§¢¬5¯;ª;¸¸4¿:¹:×;LÑ;L×;[Ñ;[Ð7\Ó+]Ó!^ˆÔÜ—y’y §¡°·±×1BÑ1B×1QÑ1QÐX]Ô^ˆŒà�‰Ör6   c                óT   <€ V ^8„  d   QhRS[ RS[ R,          RS[RS[P                  /# )r)   Únew_num_tokensÚpad_to_multiple_ofNÚmean_resizingr¹   )r/   r§   r   Ú	Embedding)r1   r2   s   "€r3   r4   r}  ö  s5   ø€ ÷ ñ Ù!ðÙ7:¸TµzðÙY]ðá	�‰ñr6   c                ó€   <€ \         SV `  WV4      pV P                  VP                  P                  ^ ,          4       V# )r   )r9   Úresize_token_embeddingsÚ_resize_final_logits_biasr   r|   )r;   r…  r†  r‡  Únew_embeddingsr<   s   &&&& €r3   rŠ  Ú6PLBartForConditionalGeneration.resize_token_embeddingsö  s<   ø€ ô ™Ñ8¸Ð]jÓkˆØ×&Ñ& ~×'<Ñ'<×'BÑ'BÀ1Õ'EÔFØÐr6   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r)   r…  r¹   Nro   )r1   r2   s   "€r3   r4   r}  ý  s   ø€ ÷ 5ñ 5¹ð 5Àñ 5r6   c                ób  € V P                   P                  R,          pW8:  d   V P                   RRV13,          pMX\        P                  ! ^W,
          3V P                   P                  R7      p\        P
                  ! V P                   V.^R7      p\        P                  ! V4      V n         R# )rM  r  Nr@  r�   r{   )r]   r|   rA   r€  rz   Úcatr   r  )r;   r…  Úold_num_tokensÚnew_biasÚ
extra_biass   &&   r3   r‹  Ú8PLBartForConditionalGeneration._resize_final_logits_biasý  sˆ   € Ø×/Ñ/×5Ñ5°bÕ9ˆØÔ+Ø×-Ñ-¨a°°.°Ð.@ÕA‰HäŸš a¨Õ)HÐ%IÐRV×RhÑRh×RoÑRoÔpˆJÜ—y’y $×"8Ñ"8¸*Ð!EÈ1ÔMˆHÜ!#§¢¨8Ó!4ˆÖr6   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[ P                  ,          R,          RS[R,          RS[ P                  R,          R	S[ P                  R,          R
S[ P                  R,          RS[R,          RS[S[,          RS[	S[ P                  ,          S[
,          /# )r)   r?   Nr‰   rj  rk  rl  r¸   r  rm  Úlabelsr/  rŒ   r¹   )rA   r  rB   rn  rë   r
   r§   r   r   rº   r   )r1   r2   s   "€r3   r4   r}  	  s  ø€ ÷ _
ñ _
á×#Ñ# dÕ*ð_
ñ ×(Ñ(¨4Õ/ð_
ñ !×+Ñ+¨dÕ2ð	_
ñ
 !&§¡¨tÕ 3ð_
ñ ™e×/Ñ/Õ0°4Õ7ð_
ñ  �ð_
ñ ×(Ñ(¨4Õ/ð_
ñ  %×0Ñ0°4Õ7ð_
ñ —‘˜tÕ#ð_
ñ ˜$•;ð_
ñ Ñ+Õ,ð_
ñ 
‰u�|‰|Õ	™Õ	.ñ_
r6   c                óv  € V	e(   Vf$   Vf    \        W�P                  P                  4      pV P                  ! V3RVRVRVRVRVRVRVR	V
/VB pV P	                  VP
                  4      pWÐP                  P                  VP                  4      ,           pRpV	eG   \        4       pV! VP                  RV P                  P                  4      V	P                  R4      4      p\        VVVP                  VP                  VP                  VP                   VP"                  VP$                  VP&                  R
7	      # )a€	  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, target_sequence_length)`, *optional*):
    Indices of decoder input sequence tokens in the vocabulary.

    Indices can be obtained using [`AutoTokenizer`] or [`PLBartMultiTokenizer`] depending on the checkpoint.
    See [`PreTrainedTokenizer.encode`] and [`PreTrainedTokenizer.__call__`] for details.

    [What are decoder input IDs?](../glossary#decoder-input-ids)

    PLBart uses a specific language id token as the starting token for `decoder_input_ids` generation that
    varies according to source and target language, *e.g.* 50003 for *en_XX*, and 50001 for *java*. If
    `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see
    `past_key_values`).

    For translation and summarization training, `decoder_input_ids` should be provided. If no
    `decoder_input_ids` is provided, the model will create this tensor by shifting the `input_ids` to the right
    for denoising pre-training following the paper.
decoder_attention_mask (:
    obj:*torch.LongTensor* of shape `(batch_size, target_sequence_length)`, *optional*):
    Default behavior:
    generate a tensor that ignores pad tokens in `decoder_input_ids`. Causal mask will also be used by default.
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 Mask-filling:

```python
>>> from transformers import AutoTokenizer, PLBartForConditionalGeneration

>>> model = PLBartForConditionalGeneration.from_pretrained("uclanlp/plbart-base")
>>> tokenizer = AutoTokenizer.from_pretrained("uclanlp/plbart-base")

>>> # en_XX is the language symbol id <LID> for English
>>> TXT = "<s> Is 0 the <mask> Fibonacci number ? </s> en_XX"
>>> input_ids = tokenizer([TXT], add_special_tokens=False, return_tensors="pt").input_ids

>>> logits = model(input_ids).logits
>>> masked_index = (input_ids[0] == tokenizer.mask_token_id).nonzero().item()
>>> probs = logits[0, masked_index].softmax(dim=0)
>>> values, predictions = probs.topk(5)

>>> tokenizer.decode(predictions).split()
['first', 'same', 'highest', 'result', 'number']
```
Nr‰   rj  rl  rk  r¸   r  rm  r/  ©	ÚlossÚlogitsr¸   rp  rq  r6  rr  r-  rs  r{   )rW  rb   r  rT   r�  r  r]   r  rz   r   r½   r  r   r¸   rp  rq  r6  rr  r-  rs  )r;   r?   r‰   rj  rk  rl  r¸   r  rm  r–  r/  rŒ   ÚoutputsÚ	lm_logitsÚmasked_lm_lossÚloss_fcts   &&&&&&&&&&&,    r3   rD   Ú&PLBartForConditionalGeneration.forward  s]  € ð@ ÒØ Ò(Ð-BÒ-JÜ$6°v¿{¹{×?WÑ?WÓ$XÐ!à&*§j¢jØñ'
à)ð'
ð 0ð'
ð ,ð	'
ð
 $:ð'
ð ,ð'
ð (ð'
ð #8ð'
ð  ð'
ð ñ'
ˆð —L‘L ×!:Ñ!:Ó;ˆ	Ø× 6Ñ 6× 9Ñ 9¸)×:JÑ:JÓ KÕKˆ	àˆØÒÜ'Ó)ˆHÙ% i§n¡n°R¸¿¹×9OÑ9OÓ&PÐRX×R]ÑR]Ð^`ÓRaÓbˆNäØØØ#×3Ñ3Ø")×"?Ñ"?Ø&×9Ñ9Ø$×5Ñ5Ø&-×&GÑ&GØ")×"?Ñ"?Ø&×9Ñ9ô

ð 
	
r6   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r)   r–  r@   )r1   r2   s   "€r3   r4   r}  j  s   ø€ ÷ Dñ D¹E¿L¹Lñ Dr6   c                ó@   € \        WP                  P                  4      # r8   )rW  rb   r  )r;   r–  s   &&r3   Ú%prepare_decoder_input_ids_from_labelsÚDPLBartForConditionalGeneration.prepare_decoder_input_ids_from_labelsj  s   € Ü! &¯+©+×*BÑ*BÓCÐCr6   )r]   r�  rT   )NT)
NNNNNNNNNN)rI   rJ   rK   rL   re   Ú_keys_to_ignore_on_load_missingrx  r:   rŠ  r‹  r!   r#   r   rD   r¢  rN   rO   rP   rQ   s   @@r3   rZ   rZ   â  s�   ù‡ € ð  ÐØ':Ð&;Ð#àÐ/ðÐ÷ó ÷õ ÷5ð 5ð  ØØ÷_
ñ _
ó ó ó  ð_
÷BD÷ Dð Dr6   rZ   c                   óT   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚPLBartClassificationHeadin  z-Head for sentence-level classification tasks.c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[/# )r)   Ú	input_dimÚ	inner_dimÚnum_classesÚpooler_dropoutr.   )r1   r2   s   "€r3   r4   Ú%PLBartClassificationHead.__annotate__q  s3   ø€ ÷ 
:ñ 
:áð
:ñ ð
:ñ ð	
:ñ
 ñ
:r6   c                óÈ   <€ \         SV `  4        \        P                  ! W4      V n        \        P
                  ! VR 7      V n        \        P                  ! W#4      V n        R# ))r’   N)r9   r:   r   r¯   ÚdenseÚDropoutr‹   r³   )r;   r¨  r©  rª  r«  r<   s   &&&&&€r3   r:   Ú!PLBartClassificationHead.__init__q  s@   ø€ ô 	‰ÑÔÜ—Y’Y˜yÓ4ˆŒ
Ü—z’z NÔ3ˆŒÜŸ	š	 )Ó9ˆŽr6   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r)   r¶   r¹   r@   )r1   r2   s   "€r3   r4   r¬  }  s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r6   c                óº   € V P                  V4      pV P                  V4      p\        P                  ! V4      pV P                  V4      pV P	                  V4      pV# r8   )r‹   r®  rA   Útanhr³   )r;   r¶   s   &&r3   rD   Ú PLBartClassificationHead.forward}  sN   € ØŸ™ ]Ó3ˆØŸ
™
 =Ó1ˆÜŸ
š
 =Ó1ˆØŸ™ ]Ó3ˆØŸ™ mÓ4ˆØÐr6   )r®  r‹   r³   rH   rQ   s   @@r3   r¦  r¦  n  s!   ù‡ € Ù7÷
:ó 
:÷÷ ð r6   r¦  z‡
    PLBart model with a sequence classification/head on top (a linear layer on top of the pooled output) e.g.
    for GLUE tasks.
    c                   óh   a a€ ] tR tRt oV3R lV 3R llt]]RV3R lR ll4       4       tRtVt	V ;t
# )ÚPLBartForSequenceClassificationi†  c                ó    <€ V ^8„  d   QhRS[ /# ra   r$   )r1   r2   s   "€r3   r4   Ú,PLBartForSequenceClassification.__annotate__�  s   ø€ ÷ ñ ™|ñ r6   c                óà   <€ \         SV `  ! V3/ VB  \        V4      V n        \	        VP
                  VP
                  VP                  VP                  4      V n        V P                  4        R # r8   )
r9   r:   rY  rT   r¦  rÛ   Ú
num_labelsÚclassifier_dropoutÚclassification_headr  )r;   rb   rŒ   r<   s   &&,€r3   r:   Ú(PLBartForSequenceClassification.__init__�  sZ   ø€ Ü‰Ò˜Ñ* 6Ò*Ü  Ó(ˆŒ
Ü#;Ø�N‰NØ�N‰NØ×ÑØ×%Ñ%ó	$
ˆÔ ð 	�‰Ör6   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[ P                  ,          R,          RS[ P                  R,          RS[ P                  R,          R	S[ P                  R,          R
S[R,          RS[S[,          RS[S[	,          /# )r)   r?   Nr‰   rj  rk  rl  r  rm  r–  r/  rŒ   r¹   )
rA   r  rB   rn  rë   r§   r   r   rº   r   )r1   r2   s   "€r3   r4   r¸  œ  sñ   ø€ ÷ k
ñ k
á×#Ñ# dÕ*ðk
ñ Ÿ™ tÕ+ðk
ñ !×+Ñ+¨dÕ2ð	k
ñ
 !&× 0Ñ 0°4Õ 7ðk
ñ ™e×/Ñ/Õ0°4Õ7ðk
ñ ×(Ñ(¨4Õ/ðk
ñ  %×0Ñ0°4Õ7ðk
ñ × Ñ  4Õ'ðk
ñ ˜$•;ðk
ñ Ñ+Õ,ðk
ñ 
Ñ0Õ	0ñk
r6   c
                óB  € Ve   Rp	Vf'   Ve#   \        RV P                  P                   24      hV P                  ! V3RVRVRVRVRVR	VR
V	/V
B pV^ ,          pVP	                  V P
                  P                  4      P                  VP                  4      p\        \        P                  ! VP                  ^4      4      P                  4       ^8H  R4       WÍR3,          p\        VP                  ^ ,          VP                  ^ ,          ,          ^8¬  R4       VP                  VP!                  ^ 4      RVP!                  R4      4      R,          pV P#                  V4      pRpVEeÝ   VP                  VP                  4      pV P
                  P$                  fª   V P
                  P&                  ^8X  d   RV P
                  n        M|V P
                  P&                  ^8”  dQ   VP(                  \        P*                  8X  g    VP(                  \        P,                  8X  d   RV P
                  n        MRV P
                  n        V P
                  P$                  R8X  dV   \/        4       pV P
                  P&                  ^8X  d'   V! VP1                  4       VP1                  4       4      pMšV! VV4      pM�V P
                  P$                  R8X  dH   \3        4       pV! VP                  RV P
                  P&                  4      VP                  R4      4      pM.V P
                  P$                  R8X  d   \5        4       pV! VV4      p\7        VVVP8                  VP:                  VP<                  VP>                  VP@                  VPB                  VPD                  R7	      # )a	  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, target_sequence_length)`, *optional*):
    Indices of decoder input sequence tokens in the vocabulary.

    Indices can be obtained using [`AutoTokenizer`] or [`PLBartMultiTokenizer`] depending on the checkpoint.
    See [`PreTrainedTokenizer.encode`] and [`PreTrainedTokenizer.__call__`] for details.

    [What are decoder input IDs?](../glossary#decoder-input-ids)

    PLBart uses a specific language id token as the starting token for `decoder_input_ids` generation that
    varies according to source and target language, *e.g.* 50003 for *en_XX*, and 50001 for *java*. If
    `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see
    `past_key_values`).

    For translation and summarization training, `decoder_input_ids` should be provided. If no
    `decoder_input_ids` is provided, the model will create this tensor by shifting the `input_ids` to the right
    for denoising pre-training following the paper.
decoder_attention_mask (:
    obj:*torch.LongTensor* of shape `(batch_size, target_sequence_length)`, *optional*):
    Default behavior:
    generate a tensor that ignores pad tokens in `decoder_input_ids`. Causal mask will also be used by default.
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 classification loss is computed (Cross-Entropy).
NFz8Passing input embeddings is currently not supported for r‰   rj  rk  rl  r  rm  r/  z7All examples must have the same number of <eos> tokens.r  z3Each example must contain at least one <eos> token.Ú
regressionÚsingle_label_classificationÚmulti_label_classificationr˜  r{   )r  r{   r  )#ÚNotImplementedErrorr<   rI   rT   Úeqrb   Úeos_token_idr  rz   r    rA   Úunique_consecutiverQ  Únumelr|   r½   r•   r¼  Úproblem_typerº  ry   r~   r/   r   rS  r   r   r   r¸   rp  rq  r6  rr  r-  rs  )r;   r?   r‰   rj  rk  rl  r  rm  r–  r/  rŒ   r›  r¶   Úeos_maskÚselectedÚsentence_representationrš  r™  rž  s   &&&&&&&&&&,        r3   rD   Ú'PLBartForSequenceClassification.forwardš  s&  € ðP ÒØˆIàÒ Ò!:Ü%ØJÈ4Ï>É>×KbÑKbÐJcÐdóð ð '+§j¢jØñ
'
à)ð
'
ð 0ð
'
ð $:ð	
'
ð
 ,ð
'
ð (ð
'
ð #8ð
'
ð  ð
'
ð ñ
'
ˆð   �
ˆà—<‘< §¡× 8Ñ 8Ó9×<Ñ<¸]×=QÑ=QÓRˆäÜ×$Ò$ X§\¡\°!£_Ó5×;Ñ;Ó=ÀÑBØEô	
ð !¨1 Õ-ˆÜØ�N‰N˜1Õ ×!4Ñ!4°QÕ!7Õ7¸1Ñ<ØAô	
ð #+§-¡-°×0BÑ0BÀ1Ó0EÀrÈ=×K]ÑK]Ð^`ÓKaÓ"bÐckÕ"lÐØ×)Ñ)Ð*AÓBˆàˆØÓØ—Y‘Y˜vŸ}™}Ó-ˆFØ�{‰{×'Ñ'Ò/Ø—;‘;×)Ñ)¨QÔ.Ø/;�D—K‘KÕ,Ø—[‘[×+Ñ+¨aÔ/°V·\±\ÄUÇZÁZÔ5OÐSY×S_ÑS_Ôch×clÑclÔSlØ/L�D—K‘KÕ,à/K�D—K‘KÔ,à�{‰{×'Ñ'¨<Ô7Ü"›9�Ø—;‘;×)Ñ)¨QÔ.Ù# F§N¡NÓ$4°f·n±nÓ6FÓG‘Dá# F¨FÓ3‘DØ—‘×)Ñ)Ð-JÔJÜ+Ó-�Ù §¡¨B°·±×0FÑ0FÓ GÈÏÉÐUWËÓY‘Ø—‘×)Ñ)Ð-IÔIÜ,Ó.�Ù ¨Ó/�ä.ØØØ#×3Ñ3Ø")×"?Ñ"?Ø&×9Ñ9Ø$×5Ñ5Ø&-×&GÑ&GØ")×"?Ñ"?Ø&×9Ñ9ô

ð 
	
r6   )r¼  rT   rw  )rI   rJ   rK   rL   r:   r   r   rD   rN   rO   rP   rQ   s   @@r3   r¶  r¶  †  s9   ù‡ € ÷ó ð Ø÷k
ñ k
ó ó ÷k
ð k
r6   r¶  c                   ó<   a a€ ] tR tRt oRtV 3R ltR tRtVtV ;t	# )ÚPLBartDecoderWrapperi
  z±
This wrapper class is a helper class to correctly load pretrained checkpoints when the causal language model is
used in combination with the [`EncoderDecoderModel`] framework.
c                óf   <€ \         SV `  V4       \        V4      V n        V P	                  4        R # r8   )r9   r:   r3  r_  r  r‚  s   &&€r3   r:   ÚPLBartDecoderWrapper.__init__  s&   ø€ Ü‰Ñ˜Ô Ü$ VÓ,ˆŒØ�‰Ör6   c                ó&   € V P                   ! V/ VB # r8   ©r_  )r;   ÚargsrŒ   s   &*,r3   rD   ÚPLBartDecoderWrapper.forward  s   € Ø�|Š|˜TÐ, VÑ,Ð,r6   rÒ  rH   rQ   s   @@r3   rÎ  rÎ  
  s   ù‡ € ñõ
÷
-ò -r6   rÎ  zw
    PLBART decoder with a language modeling head on top (linear layer with weights tied to the input embeddings).
    c                   óp   a a€ ] tR tRt oRR/tV 3R ltR tR t]]	R
V3R lR ll4       4       t
R	tVtV ;t# )ÚPLBartForCausalLMi  r{  z!model.decoder.embed_tokens.weightc                óæ   <€ R Vn         RVn        \        SV `  V4       \	        V4      V n        \        P                  ! VP                  VP                  RR7      V n
        V P                  4        R# )TFrª   N)r£   rA  r9   r:   rÎ  rT   r   r¯   Úhidden_sizer  r�  r  r‚  s   &&€r3   r:   ÚPLBartForCausalLM.__init__#  sX   ø€ Ø ˆÔØ$)ˆÔ!Ü‰Ñ˜Ô Ü)¨&Ó1ˆŒ
ä—y’y ×!3Ñ!3°V×5FÑ5FÈUÔSˆŒð 	�‰Ör6   c                óB   € V P                   P                  P                  # r8   ©rT   r_  r	  rb  s   &r3   rc  Ú&PLBartForCausalLM.get_input_embeddings.  s   € Ø�z‰z×!Ñ!×.Ñ.Ð.r6   c                ó:   € WP                   P                  n        R # r8   rÛ  rf  s   &&r3   rg  Ú&PLBartForCausalLM.set_input_embeddings1  s   € Ø*/�
‰
×ÑÖ'r6   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[ P                  R,          R	S[R,          R
S[S[ P                  ,          RS[S[,          RS[	S[
,          /# )r)   r?   Nr‰   r-  r.  r¸   r  r–  r/  Úlogits_to_keeprŒ   r¹   )rA   r  rB   rë   r
   r§   r/   r   r   rº   r   )r1   r2   s   "€r3   r4   ÚPLBartForCausalLM.__annotate__6  sã   ø€ ÷ A
ñ A
á×#Ñ# dÕ*ðA
ñ Ÿ™ tÕ+ðA
ñ  %×0Ñ0°4Õ7ð	A
ñ
 !&× 1Ñ 1°DÕ 8ðA
ñ  �ðA
ñ ×(Ñ(¨4Õ/ðA
ñ × Ñ  4Õ'ðA
ñ ˜$•;ðA
ñ ™eŸl™lÕ*ðA
ñ Ñ+Õ,ðA
ñ 
Ñ2Õ	2ñA
r6   c
                ó(  € V P                   P                  ! R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eb   VP                  VP                  4      p\        4       pV! VP                  RV P                  P                  4      VP                  R4      4      p\        VVVP                  VP                  VP                  VP                   R
7      # )a¾  
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 transformers import AutoTokenizer, PLBartForCausalLM

>>> tokenizer = AutoTokenizer.from_pretrained("uclanlp/plbart-base")
>>> model = PLBartForCausalLM.from_pretrained("uclanlp/plbart-base")
>>> assert model.config.is_decoder, f"{model.__class__} has to be configured as a decoder."
>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> outputs = model(**inputs)

>>> logits = outputs.logits
>>> expected_shape = [1, inputs.input_ids.shape[-1], model.config.vocab_size]
>>> list(logits.shape) == expected_shape
True
```r?   r‰   r-  r.  r¸   r  r/  Nr  )r™  rš  r¸   r¶   rû   r6  rd   r{   )rT   r_  rY   r/   Úslicer�  r  rz   r   r½   rb   r  r   r¸   r¶   rû   r6  )r;   r?   r‰   r-  r.  r¸   r  r–  r/  rà  rŒ   r›  r¶   Úslice_indicesrš  r™  rž  s   &&&&&&&&&&,      r3   rD   ÚPLBartForCausalLM.forward4  s/  € ðL >B¿Z¹Z×=OÒ=Oñ 	>
Øð	>
à)ð	>
ð #8ð	>
ð $:ð		>
ð
 ,ð	>
ð (ð	>
ð  ð	>
ð ñ	>
ˆð   �
ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆàˆØÒØ—Y‘Y˜vŸ}™}Ó-ˆFÜ'Ó)ˆHÙ˜FŸK™K¨¨D¯K©K×,BÑ,BÓCÀVÇ[Á[ÐQSÃ_ÓUˆDä0ØØØ#×3Ñ3Ø!×/Ñ/Ø×)Ñ)Ø$×5Ñ5ô
ð 	
r6   )r�  rT   )	NNNNNNNNr   )rI   rJ   rK   rL   rx  r:   rc  rg  r   r   rD   rN   rO   rP   rQ   s   @@r3   rÖ  rÖ    sN   ù‡ € ð 	Ð=ðÐõ	ò/ò0ð Ø÷A
ñ A
ó ó ÷A
ð A
r6   rÖ  )Nr¼   )rÖ  rZ   r¶  rY  rS   )Kr  Úcollections.abcr   rA   r   Útorch.nnr   r   r   Ú r   r[   Úactivationsr	   Úcache_utilsr
   r   r   Ú
generationr   Úmasking_utilsr   r   Úmodeling_flash_attention_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r   r   r   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   r   r   r    Úutils.genericr!   Úutils.output_capturingr"   r#   Úconfiguration_plbartr%   Ú
get_loggerrI   r­   rˆ  r'   rS   rm   r�   r�   rŸ   rV   rú   rU   r3  rW  rY  rZ   r¦  r¶  rÎ  rÖ  Ú__all__rd   r6   r3   Ú<module>rø     sÊ  ðó* Ý $ã Ý ß AÑ Aå &Ý !ß CÑ CÝ )ß JÝ BÝ 9÷÷ ÷ GÝ &÷÷ õ 8ß EÝ .ð 
×	Ò	˜HÓ	%€ô
= §¡ô 
=ð ô2˜Oó 2ó ð2ô; r§|¡|ô ;÷6%ô8r)�b—i‘iô r)ôj0Ð3ô 0ôfV
Ð)ô V
ôrOÐ3ô Oôd|
Ð)ô |
õ~ð( ôg
Ð'ó g
ó ðg
ñT ðôô
DDÐ%:¸Oó DDóð
DDôN˜rŸy™yô ñ0 ðôô{
Ð&;ó {
óð{
ô|-Ð0ô -ñ ðôô
Y
Ð-¨ó Y
óð
Y
òx‚r6   