+
    œ°³jn£  ã                   ó4  € R t ^ 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 ^RIHt ^R	I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! ^RI"H#t# ^RI$H%t%H&t& ^RI'H(t( ^RI)H*t* ^RI+H,t, ^RI-H.t.H/t/ ^RI0H1t1H2t2H3t3H4t4 ^RI5H6t6H7t7H8t8 ]!Pr                  ! ]:4      t;]! RR7      ] ! R R]4      4       4       t< ! R R]Pz                  4      t> ! R R]Pz                  4      t? ! R R],4      t@ ! R R ].4      tA ! R! R"]Pz                  4      tB ! R# R$]4      tC] ! R% R&]4      4       tD]! R'R7       ! R( R)]D4      4       tE] ! R* R+]4      4       tF] ! R, R-]F4      4       tG ! R. R/]P�                  4      tI]! R0R7       ! R1 R2]D]4      4       tJ ! R3 R4]Pz                  4      tK ! R5 R6]Pz                  4      tL] ! R7 R8]4      4       tM]! R9R7       ! R: R;]D]74      4       tN ! R< R=]L4      tO]! R>R7       ! R? R@]8]N4      4       tP. RAOtQR# )BzPyTorch Parakeet model.N)ÚCallable)Ú	dataclass)Únn)Úinitialization)ÚACT2FN)ÚCompileConfigÚGenerationMixinÚGenerationMode)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚBaseModelOutputWithPoolingÚCausalLMOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚModelOutputÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚlogging)Údeprecate_kwarg)Úmaybe_autocastÚmerge_with_config_defaults)Úcapture_outputs)Ú	AutoModel)Ú%FastSpeech2ConformerConvolutionModule)ÚLlamaAttentionÚeager_attention_forward)ÚParakeetCTCConfigÚParakeetEncoderConfigÚParakeetRNNTConfigÚParakeetTDTConfig)ÚParakeetRNNTDecoderCacheÚParakeetRNNTGenerationMixinÚParakeetTDTGenerationMixinz¨
    Extends [~modeling_outputs.BaseModelOutputWithPooling] to include the output attention mask since sequence length
    is not preserved in the model's forward.
    )Úcustom_introc                   ó4   a € ] tR t^6t o RtRtV 3R ltRtV tR# )ÚParakeetEncoderModelOutputa~  
attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to avoid performing attention on padding token indices after sequence compression. Returned because the
    sequence length may differ from the input sequence length. Mask values selected in `[0, 1]`:

    - 1 for tokens that are **not masked**,
    - 0 for tokens that are **masked**.
Nc                óH   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   # )é   NÚattention_mask©ÚtorchÚTensor)ÚformatÚ__classdict__s   "€Ún/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/parakeet/modular_parakeet.pyÚ__annotate__Ú'ParakeetEncoderModelOutput.__annotate__6   s   ø‡ ‚ ñ" —L‘L 4Õ'Ñ.ò# ó    © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r/   s   @r0   r'   r'   6   s   ø‡ € ñð +/€N÷# ƒ r3   r'   c                   óÐ   a a€ ] tR t^Jt o]! RRR7      RV3R lV 3R lll4       t]]! RRR7      RV3R lR ll4       4       t]P                  ! 4       V3R lR	 l4       t
R
tVtV ;t# )Ú$ParakeetEncoderRelPositionalEncodingÚdevicez5.18)Úversionc                ó    <€ V ^8„  d   QhRS[ /# ©r)   Úconfig©r   )r.   r/   s   "€r0   r1   Ú1ParakeetEncoderRelPositionalEncoding.__annotate__L   s   ø€ ÷ >ñ >Ñ4ñ >r3   c                ó®   <€ \         SV `  4        VP                  V n        Wn        V P	                  W4      p\
        P                  ! VR R7      V n        R# )F)Ú
persistentN)ÚsuperÚ__init__Úmax_position_embeddingsrD   Ú.compute_default_relative_positional_parametersr   ÚBufferÚinv_freq)ÚselfrD   r@   rN   Ú	__class__s   &&& €r0   rJ   Ú-ParakeetEncoderRelPositionalEncoding.__init__K   sC   ø€ ä‰ÑÔØ'-×'EÑ'EˆÔ$ØŒØ×FÑFÀvÓVˆÜŸ	š	 (°uÔ=ˆŽr3   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r)   rD   Úreturn)r   r,   r-   )r.   r/   s   "€r0   r1   rF   U   s#   ø€ ÷ #ñ #Ñ?Tð #Ñfk×frÑfrñ #r3   c           	     óÊ   € R pRV\         P                  ! ^ V P                  ^\         P                  R7      V P                  ,          ,          ,          pVP	                  V4      # )g     ˆÃ@ç      ð?©Údtype)r,   ÚarangeÚhidden_sizeÚfloatÚto)rD   r@   ÚbaserN   s   &&  r0   rL   ÚSParakeetEncoderRelPositionalEncoding.compute_default_relative_positional_parametersS   sO   € ð ˆØ˜$¤5§<¢<°°6×3EÑ3EÀqÔPU×P[ÑP[Ô#\Ð_e×_qÑ_qÕ#qÕrÕsˆØ�{‰{˜6Ó"Ð"r3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r)   Úhidden_statesr+   )r.   r/   s   "€r0   r1   rF   [   s   ø€ ÷ 7ñ 7¡U§\¡\ñ 7r3   c                óÚ  € VP                   ^,          p\        P                  ! V^,
          V) R	VP                  R7      pV P                  R
,          P                  4       P                  VP                   ^ ,          R	^4      P                  VP                  4      pVR,          P                  4       p\        VP                  P                  \        4      '       d2   VP                  P                  R8w  d   VP                  P                  MRp\        VRR7      ;_uu_ 4        VP                  4       VP                  4       ,          P                  ^^4      pVP                  4       pVP                  4       p	\        P                  ! W‰.R	R7      p
V
P                   ! . V
P                   RR OR	N5!  p
RRR4       X
P                  VP"                  R7      #   + '       g   i     L,; i)é   ©r@   NÚmpsÚcpuF)Údevice_typeÚenabled©ÚdimrV   éÿÿÿÿ)NºNNNN)NNrk   éþÿÿÿ)Úshaper,   rX   r@   rN   rZ   Úexpandr[   Ú
isinstanceÚtypeÚstrr   Ú	transposeÚsinÚcosÚstackÚreshaperW   )rO   r`   Ú
seq_lengthÚposition_idsÚinv_freq_expandedÚposition_ids_expandedrf   Úfreqsrs   rt   Ú	pos_embeds   &&         r0   ÚforwardÚ,ParakeetEncoderRelPositionalEncoding.forwardZ   s‡  € à"×(Ñ(¨Õ+ˆ
Ü—|’| J°¥N°Z°KÀÈM×L`ÑL`Ôaˆà�M‰M˜-Õ(×.Ñ.Ó0×7Ñ7¸×8KÑ8KÈAÕ8NÐPRÐTUÓV×YÑYÐZg×ZnÑZnÓoð 	ð !-¨]Õ ;× AÑ AÓ CÐô ˜-×.Ñ.×3Ñ3´S×9Ò9¸m×>RÑ>R×>WÑ>WÐ[`Ô>`ð × Ñ ×%Ò%àð 	ô
 ¨¸U×CÖCØ&×,Ñ,Ó.Ð1F×1LÑ1LÓ1NÕN×YÑYÐZ[Ð]^Ó_ˆEØ—)‘)“+ˆCØ—)‘)“+ˆCäŸš S J°BÔ7ˆIØ!×)Ò)ÐD¨9¯?©?¸3¸BÐ+?ÐDÀÓDˆI÷ Dð �|‰| -×"5Ñ"5ˆ|Ó6Ð6÷ D×Cús   Ä%BGÇG*	)rD   rN   rK   ©N)r5   r6   r7   r8   r   rJ   ÚstaticmethodrL   r,   Úno_gradr}   r;   r<   Ú__classcell__©rP   r/   s   @@r0   r?   r?   J   sj   ù‡ € Ù�X vÔ.÷>ô >ó /ð>ð Ù�X vÔ.÷#ñ #ó /ó ð#ð
 ‡]‚]ƒ_÷7ó ÷7ð 7r3   r?   c                   óD   a a€ ] tR t^st oV3R lV 3R lltR tRtVtV ;t# )ÚParakeetEncoderFeedForwardc                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú'ParakeetEncoderFeedForward.__annotate__t   s   ø€ ÷ <ñ <Ñ4ñ <r3   c                ón  <€ \         SV `  4        \        P                  ! VP                  VP
                  VP                  R 7      V n        \        VP                  ,          V n
        \        P                  ! VP
                  VP                  VP                  R 7      V n        VP                  V n        R# )©ÚbiasN)rI   rJ   r   ÚLinearrY   Úintermediate_sizeÚattention_biasÚlinear1r   Ú
hidden_actÚ
activationÚlinear2Úactivation_dropout©rO   rD   rP   s   &&€r0   rJ   Ú#ParakeetEncoderFeedForward.__init__t   s|   ø€ Ü‰ÑÔÜ—y’y ×!3Ñ!3°V×5MÑ5MÐTZ×TiÑTiÔjˆŒÜ  ×!2Ñ!2Õ3ˆŒÜ—y’y ×!9Ñ!9¸6×;MÑ;MÐTZ×TiÑTiÔjˆŒØ"(×";Ñ";ˆÖr3   c                óÒ   € V P                  V P                  V4      4      p\        P                  P	                  WP
                  V P                  R 7      pV P                  V4      pV# )©ÚpÚtraining)r�   rŽ   r   Ú
functionalÚdropoutr’   r˜   r‘   )rO   r`   s   &&r0   r}   Ú"ParakeetEncoderFeedForward.forward{   sS   € ØŸ™¨¯©°]Ó(CÓDˆÜŸ™×-Ñ-¨m×?VÑ?VÐae×anÑanÐ-ÓoˆØŸ™ ]Ó3ˆØÐr3   )r�   r’   rŽ   r‘   ©	r5   r6   r7   r8   rJ   r}   r;   r<   r‚   rƒ   s   @@r0   r…   r…   s   s   ù‡ € ÷<ó <÷ò r3   r…   c                   óB   a a€ ] tR t^‚t oRV3R lV 3R llltRtVtV ;t# )Ú ParakeetEncoderConvolutionModulec                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú-ParakeetEncoderConvolutionModule.__annotate__ƒ   s   ø€ ÷ 0ñ 0Ñ4ñ 0r3   c                ó&   <€ \         SV `  W4       R # r   )rI   rJ   )rO   rD   Úmodule_configrP   s   &&&€r0   rJ   Ú)ParakeetEncoderConvolutionModule.__init__ƒ   s   ø€ Ü‰Ñ˜Ö/r3   r4   r   )r5   r6   r7   r8   rJ   r;   r<   r‚   rƒ   s   @@r0   rž   rž   ‚   s   ù‡ € ÷0÷ 0õ 0r3   rž   c                   ó^   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RtVt	V ;t
# )	ÚParakeetEncoderAttentionztMulti-head attention with relative positional encoding. See section 3.3 of https://huggingface.co/papers/1901.02860.c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r)   rD   Ú	layer_idx©r   Úint)r.   r/   s   "€r0   r1   Ú%ParakeetEncoderAttention.__annotate__Š   s    ø€ ÷ [ñ [Ñ4ð [Áñ [r3   c                óÌ  <€ \         SV `  WR 7       RV n        \        P                  ! VP
                  VP                  V P                  ,          RR7      V n        \        P                  ! \        P                  ! VP                  V P                  4      4      V n        \        P                  ! \        P                  ! VP                  V P                  4      4      V n        R# ))r§   Fr‰   N)rI   rJ   Ú	is_causalr   r‹   rY   Únum_attention_headsÚhead_dimÚrelative_k_projÚ	Parameterr,   ÚzerosÚbias_uÚbias_v©rO   rD   r§   rP   s   &&&€r0   rJ   Ú!ParakeetEncoderAttention.__init__Š   s’   ø€ Ü‰Ñ˜ÐÔ5ØˆŒä!Ÿyšy¨×);Ñ);¸V×=WÑ=WÐZ^×ZgÑZgÕ=gÐnsÔtˆÔä—l’l¤5§;¢;¨v×/IÑ/IÈ4Ï=É=Ó#YÓZˆŒä—l’l¤5§;¢;¨v×/IÑ/IÈ4Ï=É=Ó#YÓZˆŽr3   c                óÞ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[ P                  S[ P                  3,          /# )r)   r`   Úposition_embeddingsNr*   ÚkwargsrS   )r,   r-   r   r   Útuple)r.   r/   s   "€r0   r1   rª   ”   sk   ø€ ÷ 7)ñ 7)á—|‘|ð7)ñ #Ÿ\™\¨DÕ0ð7)ñ Ÿ™ tÕ+ð	7)ñ
 Ñ+Õ,ð7)ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ7)r3   c                ó2  € VP                   R R
 pVw  rgWgR
V P                  3pV P                  V4      P                  V4      P	                  ^^4      p	V P                  V4      P                  V4      P	                  ^^4      p
V P                  V4      P                  V4      P	                  ^^4      p\        P                  ! V P                  P                  \        4      pW�P                  P                  ^V P                  P                  ^V P                  4      ,           pW�P                  P                  ^V P                  P                  ^V P                  4      ,           pV P                  V4      pVP                  VR
V P                  P                  V P                  4      pWïP!                  ^ ^^^4      ,          pV P#                  V4      pVRR V13,          pVV P$                  ,          pVe*   VP'                  VP)                  4       \+        R4      4      pT! V 3RTRT
RTRTRV P,                  '       g   RMV P.                  R	V P$                  /VB w  ppVP0                  ! . VOR
N5!  P3                  4       pV P5                  V4      pVV3# )N.z-infÚqueryÚkeyÚvaluer*   rš   ç        Úscalingrj   )rm   r®   Úq_projÚviewrr   Úk_projÚv_projr   Úget_interfacerD   Ú_attn_implementationr   r²   r­   r³   r¯   ÚpermuteÚ
_rel_shiftr¿   Úmasked_fill_Úlogical_notrZ   r˜   Úattention_dropoutrv   Ú
contiguousÚo_proj)rO   r`   r·   r*   r¸   Úinput_shapeÚ
batch_sizerw   Úhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚattention_interfaceÚquery_states_with_bias_uÚquery_states_with_bias_vÚrelative_key_statesÚ	matrix_bdÚattn_outputÚattn_weightss   &&&&,              r0   r}   Ú ParakeetEncoderAttention.forward”   s‚  € ð $×)Ñ)¨#¨2Ð.ˆØ!,Ñˆ
Ø"°°D·M±MÐBˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðð $0·+±+×2BÑ2BØˆt�{‰{×.Ñ.°°4·=±=ó3
õ $
Ð ð $0·+±+×2BÑ2BØˆt�{‰{×.Ñ.°°4·=±=ó3
õ $
Ð ð #×2Ñ2Ð3FÓGÐØ1×6Ñ6°zÀ2ÀtÇ{Á{×GfÑGfÐhl×huÑhuÓvÐð -×/JÑ/JÈ1ÈaÐQRÐTUÓ/VÕVˆ	Ø—O‘O IÓ.ˆ	Ø˜c ; J ;Ð.Õ/ˆ	Ø §¡Õ,ˆ	àÒ%ð "×.Ñ.¨~×/IÑ/IÓ/KÌUÐSYË]Ó[ˆIñ %8Øñ	%
à*ð	%
ð ð	%
ð ð		%
ð
 %ð	%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØ˜LÐ(Ð(r3   c                ó¾   € VP                   w  r#rE\        P                  P                  VRR7      pVP	                  W#RV4      pVR,          P	                  W#WE4      pV# )ztRelative position shift for Shaw et al. style attention. See appendix B of https://huggingface.co/papers/1901.02860.)Úpad)rb   é    rj   )rk   rk   :rb   NN)rm   r   r™   rÜ   rÁ   )rO   Úattention_scoresrÎ   Ú	num_headsÚquery_lengthÚposition_lengths   &&    r0   rÇ   Ú#ParakeetEncoderAttention._rel_shiftÍ   sa   € à?O×?UÑ?UÑ<ˆ
˜|ÜŸ=™=×,Ñ,Ð-=À6Ð,ÓJÐØ+×0Ñ0°ÈÈLÓYÐØ+¨HÕ5×:Ñ:¸:ÐR^ÓpÐØÐr3   )r²   r³   r¬   r¯   r   )r5   r6   r7   r8   r9   rJ   r}   rÇ   r;   r<   r‚   rƒ   s   @@r0   r¥   r¥   ‡   s)   ù‡ € Ù~÷[ó [÷7)ò 7)÷r ò  r3   r¥   c                   óf   a a€ ] tR t^Öt oV3R lV 3R lltV3R lR ltRV3R lR lltRtVtV ;t	# )	Ú ParakeetEncoderSubsamplingConv2Dc                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú-ParakeetEncoderSubsamplingConv2D.__annotate__×   s   ø€ ÷ !nñ !nÑ4ñ !nr3   c                óJ  <€ \         SV `  4        VP                  V n        VP                  V n        VP                  V n        V P                  ^,
          ^,          V n        \        \        P                  ! VP                  4      4      V n        \        P                  ! 4       V n        V P                   P#                  \        P$                  ! ^V P                  V P                  V P
                  V P                  R7      4       V P                   P#                  \        P&                  ! 4       4       \)        V P                  ^,
          4       Fè  pV P                   P#                  \        P$                  ! V P                  V P                  V P                  V P
                  V P                  V P                  R7      4       V P                   P#                  \        P$                  ! V P                  V P                  ^R7      4       V P                   P#                  \        P&                  ! 4       4       Kê  	  VP*                  V P
                  V P                  ,          ,          p\        P,                  ! VP                  V,          VP.                  RR7      V n        R# )rb   )Úkernel_sizeÚstrideÚpadding)rè   ré   rê   Úgroups©rè   Tr‰   N)rI   rJ   Úsubsampling_conv_kernel_sizerè   Úsubsampling_conv_strideré   Úsubsampling_conv_channelsÚchannelsrê   r©   ÚmathÚlog2Úsubsampling_factorÚ
num_layersr   Ú
ModuleListÚlayersÚappendÚConv2dÚReLUÚrangeÚnum_mel_binsr‹   rY   Úlinear)rO   rD   ÚiÚ
out_lengthrP   s   &&  €r0   rJ   Ú)ParakeetEncoderSubsamplingConv2D.__init__×   sµ  ø€ Ü‰ÑÔà!×>Ñ>ˆÔØ×4Ñ4ˆŒØ×8Ñ8ˆŒØ×(Ñ(¨1Õ,°Õ2ˆŒÜœdŸiši¨×(AÑ(AÓBÓCˆŒô —m’m“oˆŒØ�‰×ÑÜ�IŠI�a˜Ÿ™°D×4DÑ4DÈTÏ[É[Ðbf×bnÑbnÔoô	
ð 	�‰×Ñœ2Ÿ7š7›9Ô%Ü�t—‘¨Õ*Ö+ˆAà�K‰K×ÑÜ—	’	Ø—M‘MØ—M‘MØ $× 0Ñ 0ØŸ;™;Ø ŸL™LØŸ=™=ôô	ð �K‰K×ÑœrŸyšy¨¯©¸¿¹ÐSTÔUÔVà�K‰K×ÑœrŸwšw›yÖ)ñ ,ð" ×(Ñ(¨T¯[©[¸$¿/¹/Õ-IÕJˆ
Ü—i’i × @Ñ @À:Õ MÈv×OaÑOaÐhlÔmˆŽr3   c                óN   <€ V ^8„  d   QhRS[ P                  RS[P                  /# )r)   Úinput_lengthsÚ
conv_layer)r,   r-   r   rø   )r.   r/   s   "€r0   r1   ræ   ú   s#   ø€ ÷ 	ñ 	±·±ð 	É"Ï)É)ñ 	r3   c                ó  € \        VR 4      '       dx   VP                  R8w  dg   VP                  pVP                  ^ ,          pVP                  ^ ,          pW^ ,          ,           V^,          ,           V,
          V,          ^,           pV# V# )ré   )rb   rb   )Úhasattrré   rê   rè   )rO   r  r  rê   rè   ré   Úoutput_lengthss   &&&    r0   Ú_get_output_lengthÚ3ParakeetEncoderSubsamplingConv2D._get_output_lengthú   sy   € Ü�:˜x×(Ò(¨Z×->Ñ->À&Ô-HØ ×(Ñ(ˆGØ$×0Ñ0°Õ3ˆKØ×&Ñ& qÕ)ˆFà+°a­jÕ8¸7À1½:ÕEÈÕSÐX^Õ^ÐabÕbˆNØ!Ð!àÐr3   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r)   Úinput_featuresr*   r+   )r.   r/   s   "€r0   r1   ræ     s#   ø€ ÷ ñ ¡e§l¡lð ÁEÇLÁLñ r3   c                óD  € VP                  ^4      pVe   VP                  R4      MRpV P                   F‘  pV! V4      p\        V\        P
                  4      '       g   K-  Vf   K3  V P                  WE4      pVP                  ^,          p\        P                  ! WbP                  R7      VR,          8  pW7R,          ,          pK“  	  VP                  ^^4      P                  VP                  ^ ,          VP                  ^,          R4      pV P                  V4      pV# )rb   Nrc   rj   ©rk   N)rk   Nrk   N)Ú	unsqueezeÚsumrö   ro   r   rø   r  rm   r,   rX   r@   rr   rv   rü   )rO   r	  r*   r`   Úcurrent_lengthsÚlayerÚcurrent_seq_lengthÚchannel_masks   &&&     r0   r}   Ú(ParakeetEncoderSubsamplingConv2D.forward  s   € Ø&×0Ñ0°Ó3ˆØ4BÒ4N˜.×,Ñ,¨RÔ0ÐTXˆà—[”[ˆEÙ! -Ó0ˆMô ˜%¤§¡×+Ô+°Ô0JØ"&×"9Ñ"9¸/Ó"Q�Ø%2×%8Ñ%8¸Õ%;Ð"ä—L’LÐ!3×<QÑ<QÔRÐUdÐelÕUmÑmð ð Ð.>Õ!?Õ?’ñ !ð &×/Ñ/°°1Ó5×=Ñ=¸m×>QÑ>QÐRSÕ>TÐVc×ViÑViÐjkÕVlÐnpÓqˆØŸ™ MÓ2ˆàÐr3   )rð   rè   rö   rü   rô   rê   ré   r   )
r5   r6   r7   r8   rJ   r  r}   r;   r<   r‚   rƒ   s   @@r0   rä   rä   Ö   s+   ù‡ € ÷!nó !n÷F	ð 	÷÷ ò r3   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# )	ÚParakeetEncoderBlocki  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r)   rD   r§   Nr¨   )r.   r/   s   "€r0   r1   Ú!ParakeetEncoderBlock.__annotate__  s    ø€ ÷ 9ñ 9Ñ4ð 9ÁÀtÅñ 9r3   c                ó$  <€ \         SV `  4        R V n        \        V4      V n        \        W4      V n        \        V4      V n        \        V4      V n	        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        R# )FN)rI   rJ   Úgradient_checkpointingr…   Úfeed_forward1r¥   Ú	self_attnrž   ÚconvÚfeed_forward2r   Ú	LayerNormrY   Únorm_feed_forward1Únorm_self_attÚ	norm_convÚnorm_feed_forward2Únorm_outr´   s   &&&€r0   rJ   ÚParakeetEncoderBlock.__init__  s¹   ø€ Ü‰ÑÔØ&+ˆÔ#ä7¸Ó?ˆÔÜ1°&ÓDˆŒÜ4°VÓ<ˆŒ	Ü7¸Ó?ˆÔä"$§,¢,¨v×/AÑ/AÓ"BˆÔÜŸ\š\¨&×*<Ñ*<Ó=ˆÔÜŸš f×&8Ñ&8Ó9ˆŒÜ"$§,¢,¨v×/AÑ/AÓ"BˆÔÜŸš V×%7Ñ%7Ó8ˆŽr3   c          
      ó´   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[ P                  /# )r)   r`   r*   Nr·   r¸   rS   )r,   r-   r   r   )r.   r/   s   "€r0   r1   r  +  s]   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ #Ÿ\™\¨DÕ0ð	ñ
 Ñ+Õ,ðñ 
�‰ñr3   c           	     ó¦  € TpV P                  V P                  V4      4      pVR V,          ,           pV P                  V4      pV P                  ! RRVRVRV/VB w  rxW,           pV P	                  V P                  V4      VR7      p	W,           pV P                  V P                  V4      4      p
VR V
,          ,           pV P                  V4      pV# )g      à?r`   r*   r·   )r*   r4   )	r  r  r  r  r  r   r  r!  r"  )rO   r`   r*   r·   r¸   ÚresidualÚnormalized_hidden_statesrØ   Ú_Úconv_outputÚ
ff2_outputs   &&&&,      r0   r}   ÚParakeetEncoderBlock.forward+  sã   € ð !ˆØ×*Ñ*¨4×+BÑ+BÀ=Ó+QÓRˆØ  3¨Õ#6Õ6ˆà#'×#5Ñ#5°mÓ#DÐ ØŸšñ 
Ø2ð
à)ð
ð !4ð
ð ñ	
‰ˆð &Õ3ˆà—i‘i §¡¨}Ó =Èn�iÓ]ˆØ%Õ3ˆà×'Ñ'¨×(?Ñ(?ÀÓ(NÓOˆ
Ø%¨¨jÕ(8Õ8ˆàŸ™ mÓ4ˆàÐr3   )
r  r  r  r  r   r  r!  r"  r  r  r   ©NNrœ   rƒ   s   @@r0   r  r    s   ù‡ € ÷9õ 9÷÷ ò r3   r  c                   óÈ   a a€ ] tR tRt oRtRtRtRtR.tRt	Rt
RtRtRtRtR]R	]/t]P&                  ! 4       V 3R
 l4       tV3R lR ltRV3R lR lltV3R ltRtVtV ;t# )ÚParakeetPreTrainedModeliJ  Úmodelr	  ÚaudioTr  Fr`   Ú
attentionsc                ó¸  <€ \         SV `  V4       \        V P                  R R4      p\	        V\
        4      '       dI   \        P                  ! VP                  RVR7       \        P                  ! VP                  RVR7       R# \	        V\        4      '       d?   VP                  VP                  4      p\        P                  ! VP                  V4       R# R# )Úinitializer_rangeg{®Gáz”?r¾   )ÚmeanÚstdN)rI   Ú_init_weightsÚgetattrrD   ro   r¥   ÚinitÚnormal_r²   r³   r?   rL   Úcopy_rN   )rO   Úmoduler5  Úbuffer_valuerP   s   &&  €r0   r6  Ú%ParakeetPreTrainedModel._init_weights`  s–   ø€ ä‰Ñ˜fÔ%Ü�d—k‘kÐ#6¸Ó=ˆä�fÔ6×7Ò7Ü�LŠL˜Ÿ™¨S°cÕ:Ü�LŠL˜Ÿ™¨S°c×:Ü˜Ô D×EÒEØ!×PÑPÐQW×Q^ÑQ^Ó_ˆLÜ�JŠJ�v—‘¨Ö5ñ Fr3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r)   r  r+   )r.   r/   s   "€r0   r1   Ú$ParakeetPreTrainedModel.__annotate__l  s   ø€ ÷ +ñ +¹E¿L¹Lñ +r3   c                ó  € \        V P                  R V P                  4      pVP                  pVP                  p\	        \
        P                  ! VP                  4      4      pV^,
          ^,          ^,          pWc,
          pTp\        V4       F\  p	\        P                  ! VP                  \        P                  R7      V,           V4      R,           p\        P                  ! V4      pK^  	  VP                  \        P                  R7      # )Úencoder_configrV   rU   )r7  rD   rí   rî   r©   rñ   rò   ró   rú   r,   Údivr[   rZ   Úfloor)
rO   r  rA  rè   ré   rô   Úall_paddingsÚadd_padÚlengthsr(  s
   &&        r0   Ú_get_subsampling_output_lengthÚ6ParakeetPreTrainedModel._get_subsampling_output_lengthl  sÆ   € Ü  §¡Ð.>ÀÇÁÓLˆà$×AÑAˆØ×7Ñ7ˆÜœŸš >×#DÑ#DÓEÓFˆ
à# a�¨AÕ-°Õ1ˆØÕ,ˆØˆä�zÖ"ˆAÜ—i’i §
¡
´·± 
Ó =ÀÕ GÈÓPÐSVÕVˆGÜ—k’k 'Ó*ŠGñ #ð �z‰z¤§	¡	ˆzÓ*Ð*r3   c                óH   <€ V ^8„  d   QhRS[ P                  RS[R,          /# )r)   r*   Útarget_lengthN)r,   r-   r©   )r.   r/   s   "€r0   r1   r?  }  s&   ø€ ÷ 	ñ 	¹¿¹ð 	ÑVYÐ\`ÕV`ñ 	r3   c                óÈ   € V P                  VP                  R4      4      pVe   TMVP                  4       p\        P                  ! WAP
                  R7      VR,          8  pV# )zæ
Convert the input attention mask to its subsampled form. `target_length` sets the desired output length, useful
when the attention mask length differs from `sum(-1).max()` (i.e., when the longest sequence in the batch is padded)
rc   rj   r  )rG  r  Úmaxr,   rX   r@   )rO   r*   rJ  r  Ú
max_lengths   &&&  r0   Ú_get_output_attention_maskÚ2ParakeetPreTrainedModel._get_output_attention_mask}  s[   € ð
 ×<Ñ<¸^×=OÑ=OÐPRÓ=SÓTˆà&3Ò&?‘]À^×EWÑEWÓEYˆ
ÜŸš j×9NÑ9NÔOÐR`ÐahÕRiÑiˆØÐr3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   ©r   )r.   r/   s   "€r0   r1   r?  J  s   ø‡ ‚ áÑò r3   r4   r   )r5   r6   r7   r8   Úbase_model_prefixÚmain_input_nameÚinput_modalitiesÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_supports_flat_attention_maskÚ_supports_sdpaÚ_supports_flex_attnÚ_supports_flash_attnÚ_can_compile_fullgraphÚ_supports_attention_backendr  r¥   Ú_can_record_outputsr,   r�   r6  rG  rN  r:   r;   r<   r‚   rƒ   s   @@r0   r.  r.  J  s–   ù‡ € ð  ÐØ&€OØÐØ&*Ð#Ø/Ð0ÐØ$(Ð!Ø€NØÐð !Ðà!ÐØ"&ÐàÐ-ØÐ.ðÐð
 ‡]‚]ƒ_ô	6ó ð	6÷+ð +÷"	ò 	÷g … r3   r.  z{
    The Parakeet Encoder model, based on the [Fast Conformer architecture](https://huggingface.co/papers/2305.05084).
    c                   ó‚   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4       4       4       t	V3R lt
RtVtV ;t# )
ÚParakeetEncoderi‰  Úencoderc                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   ÚParakeetEncoder.__annotate__’  s   ø€ ÷ ñ Ñ4ñ r3   c           	     ó  <€ \         SV `  V4       Wn        R V n        VP                  V n        VP
                  V n        VP                  V n        VP                  '       d!   \        P                  ! VP                  4      MRV n        \        V4      V n        \        V4      V n        \         P"                  ! \%        VP&                  4       Uu. uF  p\)        W4      NK  	  up4      V n        V P-                  4        R# u upi )FrU   N)rI   rJ   rD   r  rš   Údropout_positionsÚ	layerdropÚscale_inputrñ   ÚsqrtrY   Úinput_scalerä   Úsubsamplingr?   Úencode_positionsr   rõ   rú   Únum_hidden_layersr  rö   Ú	post_initr´   s   && €r0   rJ   ÚParakeetEncoder.__init__’  sÉ   ø€ Ü‰Ñ˜Ô ØŒØ&+ˆÔ#à—~‘~ˆŒØ!'×!9Ñ!9ˆÔØ×)Ñ)ˆŒà<B×<N×<NÐ<Nœ4Ÿ9š9 V×%7Ñ%7Ô8ÐTWˆÔÜ;¸FÓCˆÔÜ DÀVÓ LˆÔä—m’mÜFKÈF×LdÑLdÔFeÓfÑFe¸Ô! &Ö4ÑFeÑfó
ˆŒð 	�‰Öùò gs   ÃDc          
      ó~   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[RS[S[,          RS[/# )r)   r	  r*   NÚoutput_attention_maskr¸   rS   )r,   r-   Úboolr   r   r   )r.   r/   s   "€r0   r1   rb  ¨  sW   ø€ ÷ B
ñ B
áŸ™ðB
ñ Ÿ™ tÕ+ðB
ñ  $ð	B
ñ
 Ñ+Õ,ðB
ñ 
ñB
r3   c                óp  € V P                  W4      pWPP                  ,          pV P                  V4      p\        P                  P                  WPP
                  V P                  R7      p\        P                  P                  W`P                  V P                  R7      pRpVe€   V P                  W%P                  ^,          R7      pVP                  ^4      P                  R	VP                  ^,          R	4      pW"P                  ^^4      ,          pVP                  ^4      pV P                   FV  pRp	V P                  '       d)   \        P                  ! . 4      p
W P                   8  d   Rp	V	'       d   KI  V! V3RVRV/VB pKX  	  \#        TVe   V'       d   VP%                  4       R7      # RR7      # )
a  
output_attention_mask (`bool`, *optional*, defaults to `True`):
    Whether to return the output attention mask. Only effective when `attention_mask` is provided.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetEncoder
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> encoder = ParakeetEncoder.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> encoder_outputs = encoder(**inputs)

>>> print(encoder_outputs.last_hidden_state.shape)
```
r–   N©rJ  FTr*   r·   )Úlast_hidden_stater*   rj   )ri  rh  rj  r   r™   rš   r˜   rd  rN  rm   r  rn   rr   rö   r,   Úrandre  r'   r©   )rO   r	  r*   ro  r¸   r`   r·   Úoutput_maskÚencoder_layerÚto_dropÚdropout_probabilitys   &&&&,      r0   r}   ÚParakeetEncoder.forward¥  s–  € ðD ×(Ñ(¨ÓHˆØ%×(8Ñ(8Õ8ˆØ"×3Ñ3°MÓBÐäŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆÜ Ÿm™m×3Ñ3Ø×#9Ñ#9ÀDÇMÁMð 4ó 
Ðð ˆØÒ%Ø×9Ñ9¸.×XkÑXkÐlmÕXnÐ9ÓoˆKØ(×2Ñ2°1Ó5×<Ñ<¸RÀ×ATÑATÐUVÕAWÐY[Ó\ˆNØ+×.FÑ.FÀqÈ!Ó.LÕLˆNØ+×5Ñ5°aÓ8ˆNà!Ÿ[œ[ˆMàˆGØ�}�}ˆ}Ü&+§j¢j°£nÐ#Ø&¯©Ô7Ø"�Gç‘7Ù -Ø!ñ!à#1ð!ð )<ð!ð ñ	!’ñ )ô  *Ø+Ø0>Ò0J×Od˜;Ÿ?™?Ó,ô
ð 	
àjnô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rE   )r.   r/   s   "€r0   r1   rb  ‰  s   ø‡ ‚ ñ "Ñ!ò r3   )	rD   rš   rd  rj  r  rh  re  rö   ri  )NT)r5   r6   r7   r8   rR  rJ   r   r   r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   r_  r_  ‰  sJ   ù‡ € ð "Ð÷ó ð& ØØ÷B
ñ B
ó ó  ó ðB
÷? … r3   r_  c                   ó<   a € ] tR tRt o RtRtRtRtV 3R ltRt	V t
R# )ÚParakeetCTCGenerateOutputií  a:  
Outputs of Parakeet CTC model generation.

Args:
    sequences (`torch.LongTensor` of shape `(batch_size, sequence_length)`):
        The generated sequences. The second dimension (sequence_length) is either equal to `max_length` or shorter
        if all batches finished early due to the `eos_token_id`.
    logits (`tuple(torch.FloatTensor)` *optional*, returned when `output_logits=True`):
        Unprocessed prediction scores of the language modeling head (scores for each vocabulary token before SoftMax)
        at each generation step. Tuple of `torch.FloatTensor` with up to `max_new_tokens` elements (one element for
        each generated token), with each tensor of shape `(batch_size, config.vocab_size)`.
    attentions (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `output_attentions=True`):
        Tuple (one element for each generated token) of tuples (one element for each layer of the decoder) of
        `torch.FloatTensor` of shape `(batch_size, num_heads, generated_length, sequence_length)`.
    hidden_states (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `output_hidden_states=True`):
        Tuple (one element for each generated token) of tuples (one element for each layer of the decoder) of
        `torch.FloatTensor` of shape `(batch_size, generated_length, hidden_size)`.
Nc                ó  <€ V ^8„  d   Qh/ S[ P                  ;R&   S[S[ P                  ,          R,          ;R&   S[S[S[ P                  ,          ,          R,          ;R&   S[S[S[ P                  ,          ,          R,          ;R&   # )r)   Ú	sequencesNÚlogitsr1  r`   )r,   Ú
LongTensorr¹   ÚFloatTensor)r.   r/   s   "€r0   r1   Ú&ParakeetCTCGenerateOutput.__annotate__í  sy   ø‡ ‚ ñ* ×ÑÑñ+ ñ, ‘%×#Ñ#Õ$ tÕ+Ñ2ñ- ñ. ‘e™E×-Ñ-Õ.Õ/°$Õ6Ñ=ñ/ ñ0 ™™u×0Ñ0Õ1Õ2°TÕ9Ñ@ò1 r3   r4   )r5   r6   r7   r8   r9   r  r1  r`   r:   r;   r<   r=   s   @r0   r|  r|  í  s"   ø‡ € ñð( /3€FØ9=€JØ<@€M÷1 ƒ r3   r|  c                   ó6   a a€ ] tR tRt oRtV 3R ltRtVtV ;t# )ÚParakeetGenerateOutputi  zX
Deprecated alias for ParakeetCTCGenerateOutput. Use ParakeetCTCGenerateOutput instead.
c                óR   <€ \         SV `  ! V/ VB  \        P                  R 4       R# )z€`ParakeetGenerateOutput` is deprecated and removed starting from version 5.11.0; please use `ParakeetCTCGenerateOutput` instead.N)rI   rJ   ÚloggerÚwarning_once)rO   Úargsr¸   rP   s   &*,€r0   rJ   ÚParakeetGenerateOutput.__init__  s)   ø€ Ü‰Ò˜$Ð) &Ò)Ü×Ñð Oö	
r3   r4   ©	r5   r6   r7   r8   r9   rJ   r;   r<   r‚   rƒ   s   @@r0   r„  r„    s   ù‡ € ñ÷
õ 
r3   r„  c                   ó>   a a€ ] tR tRt oV3R lV 3R lltRtVtV ;t# )ÚParakeetEncoderCTCHeadi  c                ó4   <€ V ^8„  d   QhRS[ P                  /# r_   r+   )r.   r/   s   "€r0   r1   Ú#ParakeetEncoderCTCHead.__annotate__  s   ø€ ÷ Nñ N¡U§\¡\ñ Nr3   c                ób   <€ \         SV `  VP                  ^^4      4      P                  ^^4      # )rb   )rI   r}   rr   )rO   r`   rP   s   &&€r0   r}   ÚParakeetEncoderCTCHead.forward  s,   ø€ Ü‰w‰˜}×6Ñ6°q¸!Ó<Ó=×GÑGÈÈ1ÓMÐMr3   r4   )r5   r6   r7   r8   r}   r;   r<   r‚   rƒ   s   @@r0   rŒ  rŒ    s   ù‡ € ÷N÷ Nó Nr3   rŒ  zS
    Parakeet Encoder with a Connectionist Temporal Classification (CTC) head.
    c                   ó²   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]P                  ! 4       RV3R lR ll4       t
V3R ltR	tVtV ;t# )ÚParakeetForCTCi  c                ó    <€ V ^8„  d   QhRS[ /# rC   rQ  )r.   r/   s   "€r0   r1   ÚParakeetForCTC.__annotate__"  s   ø€ ÷ ñ Ñ0ñ r3   c                óò   <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        VP                  P                  VP                  ^R7      V n	        V P                  4        R# )rb   rì   N)rI   rJ   r   Úfrom_configrA  r`  rŒ  rY   Ú
vocab_sizeÚctc_headrl  r“   s   &&€r0   rJ   ÚParakeetForCTC.__init__"  sV   ø€ Ü‰Ñ˜Ô Ü ×,Ò,¨V×-BÑ-BÓCˆŒä.¨v×/DÑ/D×/PÑ/PÐRX×RcÑRcÐqrÔsˆŒà�‰Ör3   c          
      ó    <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# )r)   r	  r*   NÚlabelsr¸   rS   )r,   r-   r   r   r   )r.   r/   s   "€r0   r1   r”  ,  s`   ø€ ÷ B
ñ B
áŸ™ðB
ñ Ÿ™ tÕ+ðB
ñ —‘˜tÕ#ð	B
ñ
 Ñ+Õ,ðB
ñ 
ñB
r3   c                ór  € Ve   VP                  RR4       V P                  ! RRVRV/VB pVP                  pV P                  V4      pRpVEe3   VP                  P                  R4      p	W0P                  P                  8g  p
V
P                  R4      pVP                  V
4      p\        P                  P                  VR\        P                  R7      P                  ^ ^4      p\        P                  P                   P#                  RR7      ;_uu_ 4        \        P                  P%                  VVV	VV P                  P                  V P                  P&                  V P                  P(                  R	7      pRRR4       \+        VVVP,                  VP.                  R
7      #   + '       g   i     L3; i)aV  
Example:

```python
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> outputs = model(**inputs)

>>> print(outputs.loss)
```Nro  Tr	  r*   )ri   rW   F)rg   )ÚblankÚ	reductionÚzero_infinity)Úlossr  r`   r1  r4   rj   )Ú
setdefaultr`  rs  r˜  r*   r  rD   Úpad_token_idÚmasked_selectr   r™   Úlog_softmaxr,   Úfloat32rr   ÚbackendsÚcudnnÚflagsÚctc_lossÚctc_loss_reductionÚctc_zero_infinityr   r`   r1  )rO   r	  r*   r›  r¸   Úencoder_outputsr`   r  r   Úencoder_lengthsÚlabels_maskÚtarget_lengthsÚflattened_targetsÚ	log_probss   &&&&,         r0   r}   ÚParakeetForCTC.forward*  s�  € ð: ÒØ×ÑÐ5°tÔ<ØŸ,š,ñ 
Ø)ð
à)ð
ð ñ
ˆð (×9Ñ9ˆØ—‘˜}Ó-ˆàˆØÓØ-×<Ñ<×@Ñ@ÀÓDˆOð !§K¡K×$<Ñ$<Ñ<ˆKØ(Ÿ_™_¨RÓ0ˆNØ &× 4Ñ 4°[Ó AÐô Ÿ™×1Ñ1°&¸bÌÏÉÐ1ÓV×`Ñ`ÐabÐdeÓfˆIä—‘×%Ñ%×+Ñ+°EÐ+×:Õ:Ü—}‘}×-Ñ-ØØ%Ø#Ø"ØŸ+™+×2Ñ2Ø"Ÿk™k×<Ñ<Ø"&§+¡+×"?Ñ"?ð .ó �÷ ;ô ØØØ)×7Ñ7Ø&×1Ñ1ô	
ð 	
÷ ;×:ús   ÄA#F&Æ&F6	c                ó¶   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[RS[R,          RS[S[,          RS[S[ P                  ,          /# )r)   r	  r*   NÚreturn_dict_in_generateÚcompile_configr¸   rS   )r,   r-   rp  r   r   r   r|  r€  )r.   r/   s   "€r0   r1   r”  q  sj   ø€ ÷ 9ñ 9áŸ™ð9ñ Ÿ™ tÕ+ð9ñ "&ð	9ñ
 &¨Õ,ð9ñ Ñ+Õ,ð9ñ 
#¡U×%5Ñ%5Õ	5ñ9r3   c                óŒ  € Ve   V P                  V4      MV P                  pRVR&   V! RRVRV/VB pVP                  P                  R	R7      pVe=   V P	                  W(P
                  ^,          R7      pV P                  P                  W‚( &   V'       d.   \        VVP                  VP                  VP                  R7      # V# )
aT  
compile_config ([`~generation.CompileConfig`], *optional*):
    If provided, `torch.compile` will be applied to the forward calls in the decoding loop.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> predicted_ids = model.generate(**inputs)
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

>>> print(transcription)
```
TÚreturn_dictr	  r*   rh   rr  )r~  r  r1  r`   r4   rj   )Úget_compiled_callÚ__call__r  ÚargmaxrN  rm   rD   r¢  r|  r1  r`   )	rO   r	  r*   r´  rµ  r¸   Úmodel_forwardÚoutputsr~  s	   &&&&&,   r0   ÚgenerateÚParakeetForCTC.generatep  sÛ   € ðB CQÒB\˜×.Ñ.¨~Ô>Ðbf×boÑboˆà $ˆˆ}ÑÙ"/ñ #
Ø)ð#
à)ð#
ð ñ#
ˆð —N‘N×)Ñ)¨bÐ)Ó1ˆ	ð Ò%Ø!×<Ñ<¸^×[jÑ[jÐklÕ[mÐ<ÓnˆNØ)-¯©×)AÑ)AˆI�oÑ&ç"Ü,Ø#Ø—~‘~Ø"×-Ñ-Ø%×3Ñ3ô	ð ð Ðr3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rQ  )r.   r/   s   "€r0   r1   r”    ó   ø‡ ‚ ñ Ñò r3   )r˜  r`  r,  )NFN)r5   r6   r7   r8   rJ   r   r   r}   r,   r�   r½  r:   r;   r<   r‚   rƒ   s   @@r0   r’  r’    s[   ù‡ € ÷ó ð Ø÷B
ñ B
ó ó ðB
ðH ‡]‚]ƒ_÷9ñ 9ó ð9÷o … r3   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	# )	ÚParakeetRNNTDecoderi­  z'LSTM-based prediction network For RNN-Tc                ó    <€ V ^8„  d   QhRS[ /# rC   ©r    )r.   r/   s   "€r0   r1   Ú ParakeetRNNTDecoder.__annotate__°  s   ø€ ÷ 
cñ 
cÑ1ñ 
cr3   c                ó€  <€ \         SV `  4        VP                  V n        \        P                  ! VP
                  VP                  4      V n        \        P                  ! VP                  VP                  VP                  R R7      V n
        \        P                  ! VP                  VP                  4      V n        R# )T)Ú
input_sizerY   rô   Úbatch_firstN)rI   rJ   Úblank_token_idr   Ú	Embeddingr—  Údecoder_hidden_sizeÚ	embeddingÚLSTMÚnum_decoder_layersÚlstmr‹   Údecoder_projectorr“   s   &&€r0   rJ   ÚParakeetRNNTDecoder.__init__°  s‰   ø€ Ü‰ÑÔØ$×3Ñ3ˆÔÜŸš f×&7Ñ&7¸×9SÑ9SÓTˆŒÜ—G’GØ×1Ñ1Ø×2Ñ2Ø×0Ñ0Øô	
ˆŒ	ô "$§¢¨6×+EÑ+EÀv×GaÑGaÓ!bˆÖr3   c                ób   <€ V ^8„  d   QhRS[ P                  RS[R,          RS[ P                  /# )r)   Ú	input_idsÚcacheNrS   )r,   r€  r"   r-   )r.   r/   s   "€r0   r1   rÅ  ¼  s8   ø€ ÷ ñ á×#Ñ#ðñ (¨$Õ.ðñ 
�‰ñ	r3   c                óú  € VeK   VR,          V P                   8H  pVP                  '       d#   VP                  4       '       d   VP                  # V P	                  V4      pVe?   VP                  pV'       g   VP                  V4       VP                  VP                  3pMR pV P                  WF4      w  pw  r‰V P                  V4      p
Ve-   X'       d   X( MR pVP                  W¨W›R7       VP                  # V
# )N)Úmask)rk   rj   )rÉ  Úis_initializedÚallrÔ  rÌ  Úlazy_initializationÚhidden_stateÚ
cell_staterÏ  rÐ  Úupdate)rO   rÓ  rÔ  Ú
blank_maskÚ
embeddingsÚwas_initializedÚhidden_cell_statesÚlstm_outputrÚ  rÛ  Údecoder_outputrÖ  s   &&&         r0   r}   ÚParakeetRNNTDecoder.forward¼  sç   € ð
 ÒØ" 5Õ)¨T×-@Ñ-@Ñ@ˆJà×#×#Ð#¨
¯©×(8Ò(8Ø—{‘{Ð"à—^‘^ IÓ.ˆ
ð ÒØ#×2Ñ2ˆOß"Ø×)Ñ)¨*Ô5Ø"'×"4Ñ"4°e×6FÑ6FÐ!GÑà!%Ðà26·)±)¸JÓ2[Ñ/ˆÑ/�lØ×/Ñ/°Ó<ˆàÒß"1�J‘;°tˆDØ�L‰L˜°zˆLÔMØ—;‘;ÐàÐr3   )rÉ  rÐ  rÌ  rÏ  r   ©
r5   r6   r7   r8   r9   rJ   r}   r;   r<   r‚   rƒ   s   @@r0   rÂ  rÂ  ­  s#   ù‡ € Ù1÷
có 
c÷÷ ò r3   rÂ  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	# )ÚParakeetRNNTJointNetworkiÝ  zPJoint network that combines encoder and decoder outputs to predict token logits.c                ó    <€ V ^8„  d   QhRS[ /# rC   rÄ  )r.   r/   s   "€r0   r1   Ú%ParakeetRNNTJointNetwork.__annotate__à  s   ø€ ÷ ,ñ ,Ñ1ñ ,r3   c                óÞ   <€ \         SV `  4        \        VP                  ,          V n        \
        P                  ! VP                  VP                  4      V n	        VP                  V n        R # r   )
rI   rJ   r   r�   r�   r   r‹   rË  r—  Úheadr“   s   &&€r0   rJ   Ú!ParakeetRNNTJointNetwork.__init__à  sK   ø€ Ü‰ÑÔÜ  ×!2Ñ!2Õ3ˆŒÜ—I’I˜f×8Ñ8¸&×:KÑ:KÓLˆŒ	Ø ×+Ñ+ˆŽr3   c                ó’   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  S[ P                  3,          /# )r)   Údecoder_hidden_statesÚencoder_hidden_statesrS   )r,   r-   r¹   )r.   r/   s   "€r0   r1   rè  æ  sC   ø€ ÷ 'ñ 'á$Ÿ|™|ð'ñ  %Ÿ|™|ð'ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ	'r3   c                óR   € V P                  W!,           4      pV P                  V4      # r   )r�   rê  )rO   rí  rî  Újoint_outputs   &&& r0   r}   Ú ParakeetRNNTJointNetwork.forwardæ  s%   € ð
 —‘Ð'<Õ'TÓUˆØ�y‰y˜Ó&Ð&r3   )r�   rê  r—  rä  rƒ   s   @@r0   ræ  ræ  Ý  s!   ù‡ € ÙZ÷,ó ,÷'÷ 'ð 'r3   ræ  c                   ó<   a € ] tR tRt o RtRtRtRtV 3R ltRt	V t
R# )ÚParakeetRNNTOutputiï  aÏ  
Output of the Parakeet RNN-T forward pass.

Args:
    loss (`torch.FloatTensor`, *optional*):
        RNN-T loss, returned when `labels` are provided.
    logits (`torch.FloatTensor`):
        Joint token logits. Shape is `(batch, T, U+1, vocab)` for training
        or `(batch, 1, 1, vocab)` for single-step inference.
    decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
        Decoder LSTM cache containing hidden state, cell state, and last output.
Nc                ó�   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[R,          ;R&   # )r)   Nr   r  Údecoder_cache)r,   r�  r"   )r.   r/   s   "€r0   r1   ÚParakeetRNNTOutput.__annotate__ï  sG   ø‡ ‚ ñ ×
Ñ
˜dÕ
"Ñ)ñ ñ  ×Ñ Õ$Ñ+ñ! ñ" ,¨dÕ2Ñ9ò# r3   r4   )r5   r6   r7   r8   r9   r   r  rõ  r:   r;   r<   r=   s   @r0   ró  ró  ï  s"   ø‡ € ñð &*€DØ'+€FØ59€M÷# ƒ r3   ró  z?
    Parakeet Encoder with an RNN-T (RNN Transducer) head.
    c                   ó´   a a€ ] tR tRt oR.t]P                  .tV3R lV 3R llt]	RV3R lR ll4       t
]]	RV3R lR ll4       4       tV3R	 ltR
tVtV ;t# )ÚParakeetForRNNTi  rÂ  c                ó    <€ V ^8„  d   QhRS[ /# rC   rÄ  )r.   r/   s   "€r0   r1   ÚParakeetForRNNT.__annotate__  s   ø€ ÷ ñ Ñ1ñ r3   c                óf  <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        P                  ! VP                  P                  VP                  4      V n
        \        V4      V n        \        V4      V n        VP                  V n        V P!                  4        R # r   )rI   rJ   r   r–  rA  r`  r   r‹   rY   rË  Úencoder_projectorrÂ  Údecoderræ  ÚjointÚmax_symbols_per_steprl  r“   s   &&€r0   rJ   ÚParakeetForRNNT.__init__  s}   ø€ Ü‰Ñ˜Ô Ü ×,Ò,¨V×-BÑ-BÓCˆŒÜ!#§¢¨6×+@Ñ+@×+LÑ+LÈf×NhÑNhÓ!iˆÔÜ*¨6Ó2ˆŒÜ-¨fÓ5ˆŒ
Ø$*×$?Ñ$?ˆÔ!à�‰Ör3   c                óx   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          RS[/# )r)   r	  r*   Nr¸   rS   )r,   r-   r   r   r'   )r.   r/   s   "€r0   r1   rú    sF   ø€ ÷ ñ áŸ™ðñ Ÿ™ tÕ+ðñ Ñ+Õ,ð	ñ
 
$ñr3   c                ór   € V P                   ! RR VRV/VB pV P                  VP                  4      Vn        V# )r	  r*   r4   )r`  rü  rs  Úpooler_output)rO   r	  r*   r¸   r¬  s   &&&, r0   Úget_audio_featuresÚ"ParakeetForRNNT.get_audio_features  sM   € ð Ÿ,š,ñ 
Ø)ð
à)ð
ð ñ
ˆð
 )-×(>Ñ(>¸×?`Ñ?`Ó(aˆÔ%ØÐr3   c                óF  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[S[ P                  ,          ,          R,          RS[ P                  R,          R	S[S[	,          R
S[
/	# ©r)   r	  Nr*   Údecoder_input_idsrõ  Úuse_decoder_cacher¬  r›  r¸   rS   ©r,   r-   r€  r"   rp  r'   r¹   r�  r   r   ró  )r.   r/   s   "€r0   r1   rú  (  s»   ø€ ÷ N
ñ N
áŸ™ tÕ+ðN
ñ Ÿ™ tÕ+ðN
ñ !×+Ñ+¨dÕ2ð	N
ñ
 0°$Õ6ðN
ñ   $�;ðN
ñ 4±e¹E×<MÑ<MÕ6NÕNÐQUÕUðN
ñ —‘˜tÕ#ðN
ñ Ñ+Õ,ðN
ñ 
ñN
r3   c                ó´  € Vf   V P                   ! RRVRV/VB pV'       d   Vf   \        V P                  4      pV P                  W4R7      p	V P	                  VP
                  R,          V	R,          R7      P                  ^4      p
RpVe“   VP                  P                  R4      pV P                  ! RRV
RR\        VP                  4       4      13,          RVR	VR
WpP                  P                  8g  P                  R4      RV P                  P                  /VB p\        VV
VP                  VP
                  VP                  VP                   VR7      # )aw  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, 1)`, *optional*):
    Decoder input token ids for single-step inference.
decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
    Decoder LSTM cache. When provided and initialized, the cached `decoder_output` is reused
    (e.g. during blank-skipping) instead of running the decoder. When `input_ids` is provided,
    the decoder runs and the cache is updated in-place.
use_decoder_cache (`bool`, *optional*):
    Whether to use a decoder cache. When `True` and `decoder_cache` is `None`, a new cache
    is created automatically during the forward pass.
encoder_outputs (`tuple(torch.FloatTensor)`, *optional*):
    Pre-computed encoder outputs (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask).
    Can be a tuple or `ParakeetEncoderModelOutput`.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForRNNT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-rnnt-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForRNNT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)
```
Nr	  r*   ©rÔ  rk   ©rî  rí  r  r›  Úlogit_lengthsÚlabel_lengthsrÉ  ©r   r  rs  r  r`   r1  rõ  r4   ©rk   rk   Nrk   ©rk   Nrk   rk   rj   )r  r"   rD   rý  rþ  r  Úsqueezer*   r  Úloss_functionr©   rL  rÉ  ró  rs  r`   r1  )rO   r	  r*   r  rõ  r	  r¬  r›  r¸   rí  r  r   r  s   &&&&&&&&,    r0   r}   ÚParakeetForRNNT.forward&  s}  € ðX Ò"Ø"×5Ò5ñ Ø-ðà-ðð ñˆO÷  Ò!6Ü4°T·[±[ÓAˆMà $§¡Ð-> Ó TÐØ—‘Ø"1×"?Ñ"?ÀÕ"NØ"7¸Õ"Fð ó 
÷ ‰'�!‹*ð 	ð
 ˆØÒØ+×:Ñ:×>Ñ>¸rÓBˆMØ×%Ò%ñ Ø˜aÐ!;¤3 }×'8Ñ'8Ó':Ó#;Ð!;Ð;Õ<ðàðð ,ðð  &¯©×)CÑ)CÑC×HÑHÈÓLð	ð
  $Ÿ{™{×9Ñ9ðð ñˆDô "ØØØ-×?Ñ?Ø)×7Ñ7Ø)×7Ñ7Ø&×1Ñ1Ø'ô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rÄ  )r.   r/   s   "€r0   r1   rú    s   ø‡ ‚ ñ Ñò r3   )rý  r`  rü  rþ  rÿ  r   ©NNNNNNN)r5   r6   r7   r8   rV  r	   ÚGREEDY_SEARCHÚ_supported_generation_modesrJ   r   r  r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   rø  rø    sn   ù‡ € ð /Ð/ÐØ#1×#?Ñ#?Ð"@Ð÷ó ð ÷ñ ó ðð Ø÷N
ñ N
ó ó ðN
÷K … r3   rø  c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )ÚParakeetTDTJointNetworkiy  zþExtends the RNN-T joint network with a duration head.

The only difference from [`ParakeetRNNTJointNetwork`] is the output width of `head`: it grows from
`vocab_size` to `vocab_size + len(durations)` so the network jointly predicts tokens and durations.
c                ó    <€ V ^8„  d   QhRS[ /# rC   ©r!   )r.   r/   s   "€r0   r1   Ú$ParakeetTDTJointNetwork.__annotate__€  s   ø€ ÷ eñ eÑ0ñ er3   c                óº   <€ \         SV `  V4       \        P                  ! VP                  VP
                  \        VP                  4      ,           4      V n        R # r   )	rI   rJ   r   r‹   rË  r—  ÚlenÚ	durationsrê  r“   s   &&€r0   rJ   Ú ParakeetTDTJointNetwork.__init__€  s?   ø€ Ü‰Ñ˜Ô Ü—I’I˜f×8Ñ8¸&×:KÑ:KÌcÐRX×RbÑRbÓNcÕ:cÓdˆŽ	r3   )rê  rŠ  rƒ   s   @@r0   r  r  y  s   ù‡ € ñ÷e÷ eó er3   r  zG
    Parakeet Encoder with a TDT (Token Duration Transducer) head.
    c                   ót   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V3R ltRt	Vt
V ;t# )	ÚParakeetForTDTi…  c                ó    <€ V ^8„  d   QhRS[ /# rC   r  )r.   r/   s   "€r0   r1   ÚParakeetForTDT.__annotate__�  s   ø€ ÷ ñ Ñ0ñ r3   c                óf   <€ \         SV `  V4       \        V4      V n        V P	                  4        R # r   )rI   rJ   r  rþ  rl  r“   s   &&€r0   rJ   ÚParakeetForTDT.__init__�  s&   ø€ Ü‰Ñ˜Ô Ü,¨VÓ4ˆŒ
à�‰Ör3   c                óF  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[S[ P                  ,          ,          R,          RS[ P                  R,          R	S[S[	,          R
S[
/	# r  r
  )r.   r/   s   "€r0   r1   r&  •  s»   ø€ ÷ O
ñ O
áŸ™ tÕ+ðO
ñ Ÿ™ tÕ+ðO
ñ !×+Ñ+¨dÕ2ð	O
ñ
 0°$Õ6ðO
ñ   $�;ðO
ñ 4±e¹E×<MÑ<MÕ6NÕNÐQUÕUðO
ñ —‘˜tÕ#ðO
ñ Ñ+Õ,ðO
ñ 
ñO
r3   c                ó  € Vf   V P                   ! RRVRV/VB pV'       d   Vf   \        V P                  4      pV P                  W4R7      p	V P	                  VP
                  R,          V	R,          R7      P                  ^4      p
RpVeÅ   V P                  ! RRV
RRV P                  P                  13,          RV
RV P                  P                  R13,          R	VR
VP                  P                  R4      RWpP                  P                  8g  P                  R4      RV P                  P                  RV P                  P                  /VB p\        VV
VP                  VP
                  VP                   VP"                  VR7      # )aw  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, 1)`, *optional*):
    Decoder input token ids for single-step inference.
decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
    Decoder LSTM cache. When provided and initialized, the cached `decoder_output` is reused
    (e.g. during blank-skipping) instead of running the decoder. When `input_ids` is provided,
    the decoder runs and the cache is updated in-place.
use_decoder_cache (`bool`, *optional*):
    Whether to use a decoder cache. When `True` and `decoder_cache` is `None`, a new cache
    is created automatically during the forward pass.
encoder_outputs (`tuple(torch.FloatTensor)`, *optional*):
    Pre-computed encoder outputs (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask).
    Can be a tuple or `ParakeetEncoderModelOutput`.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForTDT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-tdt-0.6b-v3"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForTDT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)
```
Nr	  r*   r  r  Útoken_logits.Úduration_logitsr›  r  r  rÉ  r!  r  r4   r  r  rj   )r  r"   rD   rý  rþ  r  r  r  r—  r*   r  r¢  rÉ  r!  ró  rs  r`   r1  )rO   r	  r*   r  rõ  r	  r¬  r›  r¸   rí  r  r   s   &&&&&&&&,   r0   r}   ÚParakeetForTDT.forward“  s©  € ðX Ò"Ø"×5Ò5ñ Ø-ðà-ðð ñˆO÷  Ò!6Ü4°T·[±[ÓAˆMà $§¡Ð-> Ó TÐØ—‘Ø"1×"?Ñ"?ÀÕ"NØ"7¸Õ"Fð ó 
÷ ‰'�!‹*ð 	ð
 ˆØÒØ×%Ò%ñ 	Ø# CÐ)A¨4¯;©;×+AÑ+AÐ)AÐ$AÕBð	à & s¨D¯K©K×,BÑ,BÑ,DÐ'DÕ Eð	ð ð	ð .×<Ñ<×@Ñ@ÀÓDð		ð
  &¯©×)AÑ)AÑA×FÑFÀrÓJð	ð  $Ÿ{™{×9Ñ9ð	ð Ÿ+™+×/Ñ/ð	ð ñ	ˆDô "ØØØ-×?Ñ?Ø)×7Ñ7Ø)×7Ñ7Ø&×1Ñ1Ø'ô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   r  )r.   r/   s   "€r0   r1   r&  …  rÀ  r3   )rþ  r  )r5   r6   r7   r8   rJ   r   r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   r$  r$  …  s:   ù‡ € ÷ó ð Ø÷O
ñ O
ó ó ðO
÷! … r3   r$  )r’  rø  r$  r_  r.  )Rr9   rñ   Úcollections.abcr   Údataclassesr   r,   r   Ú r   r8  Úactivationsr   Ú
generationr   r   r	   Úmodeling_layersr
   Úmodeling_outputsr   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   r   r   Úutils.deprecationr   Úutils.genericr   r   Úutils.output_capturingr   Úautor   Ú4fastspeech2_conformer.modeling_fastspeech2_conformerr   Úllama.modeling_llamar   r   Úconfiguration_parakeetr   r   r    r!   Úgeneration_parakeetr"   r#   r$   Ú
get_loggerr5   r†  r'   ÚModuler?   r…   rž   r¥   rä   r  r.  r_  r|  r„  ÚConv1drŒ  r’  rÂ  ræ  ró  rø  r  r$  Ú__all__r4   r3   r0   Ú<module>rE     sm  ðñ ã Ý $Ý !ã Ý å &Ý !ß HÑ HÝ 9ß [Ñ [ß FÝ &÷õ õ 1ß GÝ 5Ý Ý hß Jß sÓ s÷ñ ð 
×	Ò	˜HÓ	%€ñ ðôð ô
/Ð!;ó 
/ó óð
/ô&7¨2¯9©9ô &7ôR §¡ô ô0Ð'Lô 0ô
L ˜~ô L ô^B r§y¡yô BôJ,Ð5ô ,ð^ ô;˜oó ;ó ð;ñ| ðôô
\
Ð-ó \
óð
\
ð~ ôA ó Aó ðAð4 ô	
Ð6ó 	
ó ð	
ôN˜RŸY™Yô Nñ
 ðôô
KÐ,¨oó Kóð
Kô\-˜"Ÿ)™)ô -ô`'˜rŸy™yô 'ð$ ô:Ð3ó :ó ð:ñ& ðôô
n
Ð-Ð/Jó n
óð
n
ôb	eÐ6ô 	eñ ðôô
Z
Ð/°ó Z
óð
Z
òz p‚r3   