
    F\h	                        S r SSKr " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S	 S
\\R
                  5      r " S S\\R                  5      rS r\R                  " \	" S5      5      r
\
R                  0 SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_S'S(_SS_SS_SS_SS_0 SS_SS_SS_SS_S S_S"S!_S$S#_S&S%_S(S'_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_E0 S9S:_S;S<_S=S>_S?S@_SASB_S*S)_S,S+_S.S-_S0S/_S2S1_S4S3_S6S5_S8S7_S:S9_S<S;_S>S=_S@S?_ESBSA0E5        SC r\SD:X  a"  SSKr\" \R                  \R                   5        gg)EzPython Character Mapping Codec for ROT13.

This codec de/encodes from str to str.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                   (    \ rS rSrSS jrSS jrSrg)Codec   c                 L    [         R                  U[        5      [        U5      4$ Nstr	translate	rot13_maplenselfinputerrorss      '/usr/lib/python3.13/encodings/rot_13.pyencodeCodec.encode       eY/U<<    c                 L    [         R                  U[        5      [        U5      4$ r   r   r   s      r   decodeCodec.decode   r   r    N)strict)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r   r   r   r   r      s    ==r   r   c                       \ rS rSrSS jrSrg)IncrementalEncoder   c                 6    [         R                  U[        5      $ r   r	   r
   r   r   r   finals      r   r   IncrementalEncoder.encode       }}UI..r   r   NF)r   r   r   r   r   r   r   r   r   r!   r!          /r   r!   c                       \ rS rSrSS jrSrg)IncrementalDecoder   c                 6    [         R                  U[        5      $ r   r$   r%   s      r   r   IncrementalDecoder.decode   r(   r   r   Nr)   )r   r   r   r   r   r   r   r   r   r,   r,      r*   r   r,   c                       \ rS rSrSrg)StreamWriter   r   Nr   r   r   r   r   r   r   r   r1   r1          r   r1   c                       \ rS rSrSrg)StreamReader   r   Nr3   r   r   r   r6   r6      r4   r   r6   c                      [         R                  " S[        5       R                  [        5       R                  [
        [        [        [        SS9$ )Nrot-13F)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader_is_text_encoding)	codecs	CodecInfor   r   r   r!   r,   r1   r6   r   r   r   getregentryrB   $   s9    w~~w~~--!!	 	r      A   N   B   O   C   P   D   Q   E   R   F   S   G   T   H   U   I   V   J   W   K   X   L   Y   M   Z   a   n   b   o   c   p   d   q   e   r   f   s   g   t   h   u   i   v   j   w   k   x   l   y   m   z   c                 l    UR                  [        R                  " U R                  5       S5      5        g )Nr9   )writer@   r   read)infileoutfiles     r   rot13r}   l   s    MM&--x89r   __main__)__doc__r@   r   r!   r,   r1   r6   rB   make_identity_dictranger   updater}   r   sysstdinstdoutr   r   r   <module>r      sY   =FLL =/22 //22 /	5,, 		5,, 	

 %%eCj1	 	   5	65	65 
65 
6	5
 
65 
65 
65 
65 
65 
65 
65 
65 
65 
65 
65  
6!5" 
6#5$ 
6%5& 
6'5( 
6)5* 
6+5, 
6-5. 
6/50 
6152 
6354 
6556 
6758 
695: 
6;5< 
6=5> 
6?5@ 
6A5B 
6C5D 
6E5F 
6G5H 
6I5J 
6K5L 
6M5N 
6O5P 
6Q5R 
6S5T 
6U5V 
6W5X 
6Y5Z 
6[5\ 
6]5^ 
6_5` 
6a5b 
6c5d 
6e5f 
6g5h 
6i5 5r: z	#))SZZ  r   