+
    Bi                     H   ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	 ^ RI
Ht ]! ]4      R,          R,          R,          t] P                  ! R] P                  4      t] P                  ! R	4      tR
R/R ltR tR t]	! 4        ! R R]P(                  4      4       tR tR# )    N)Path)	REPO_ROOTTEST_HOME_DIRrequires_subprocess)skip_if_missingToolsi18nzpygettext.pyz)msgid(.*?)(?:msgid_plural|msgctxt|msgstr)z"((?:\\"|[^"])*)"stdout_onlyTc                    \         P                  ! \        P                  \        R RRV .\         P
                  \         P
                  RR7      pV'       d   VP                  # V# )z--no-locationz-o-T)stdoutstderrtext)
subprocessrunsys
executable	pygettextPIPEr   )pathr
   ress   &$ //usr/lib/python3.14/test/support/i18n_helper.py_generate_po_filer      sJ    
..#..))4d< *
"$C zzJ    c                     . p\         P                  V 4       FT  pR P                  \        P                  V4      4      pVP	                  RR4      pV'       g   KC  VP                  V4       KV  	  \        V4      # ) z\"")msgid_patternfindalljoinmsgid_string_patternreplaceappendsorted)pomsgidsmsgidmsgid_strings   &   r   _extract_msgidsr)      se    F&&r*ww3;;EBC#++E37<MM,'	 +
 &>r   c                 J    \        \        4      R ,          V ,          R,          # )translationdataz
msgids.txt)r   r   )module_names   &r   _get_snapshot_pathr-   %   s    !22[@<OOr   c                   &   a  ] tR t^)t o R tRtV tR# )TestTranslationsBasec                l   \        R 4       \        VP                  RR7      pV P                  VP                  ^ 4       V P                  VP
                  R4       \        VP                  4      p\        VP                  4      pVP                  4       P                  4       pV P                  W54       R# )r	   F)r
   r   N)r   r   __file__assertEqual
returncoder   r)   r   r-   __name__	read_text
splitlinesassertListEqual)selfmoduler   r&   snapshot_pathsnapshots   &&    r   assertMsgidsEqual&TestTranslationsBase.assertMsgidsEqual,   s    
 	UC+R( ,*6??; **,779V.r    N)r4   
__module____qualname____firstlineno__r<   __static_attributes____classdictcell__)__classdict__s   @r   r/   r/   )   s     / /r   r/   c                     \        V P                  4      p\        V4      p\        V P                  4      pVP                  R P                  V4      4       R# )
N)r   r1   r)   r-   r4   
write_textr    )r9   contentsr&   r:   s   &   r   update_translation_snapshotsrI   ;   s?     1HX&F&v7MTYYv./r   )rer   r   unittestpathlibr   test.supportr   r   r   test.test_toolsr   r   compileDOTALLr   r!   r   r)   r-   TestCaser/   rI   r>   r   r   <module>rR      s    	  
   F F + Og%.?	

G99&zz"67 4 P /8,, / /"0r   