
    Rh	                        d Z ddlZ G d dej                        Z G d dej                        Z G d dej                        Z G d	 d
eej
                        Z G d deej                        Zd Z ej                   e	d            Z
e
j                  i dddddddddddddddddd d!d"d#d$d%d&d'd(ddddddddi ddddddddd dd"d!d$d#d&d%d(d'd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8i d9d:d;d<d=d>d?d@dAdBd*d)d,d+d.d-d0d/d2d1d4d3d6d5d8d7d:d9d<d;d>d=d@d?dBdAi       dC ZedDk(  r"ddlZ eej                  ej                          yy)Ez Python Character Mapping Codec for ROT13.

This codec de/encodes from str to str.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                       e Zd ZddZddZy)Codecc                 L    t         j                  |t              t        |      fS Nstr	translate	rot13_maplenselfinputerrorss      '/usr/lib/python3.12/encodings/rot_13.pyencodezCodec.encode       eY/U<<    c                 L    t         j                  |t              t        |      fS r   r   r   s      r   decodezCodec.decode   r   r   N)strict)__name__
__module____qualname__r   r    r   r   r   r      s    ==r   r   c                       e Zd ZddZy)IncrementalEncoderc                 6    t         j                  |t              S r   r   r	   r
   r   r   finals      r   r   zIncrementalEncoder.encode       }}UI..r   NF)r   r   r   r   r   r   r   r   r          /r   r   c                       e Zd ZddZy)IncrementalDecoderc                 6    t         j                  |t              S r   r   r   s      r   r   zIncrementalDecoder.decode   r!   r   Nr"   )r   r   r   r   r   r   r   r%   r%      r#   r   r%   c                       e Zd Zy)StreamWriterNr   r   r   r   r   r   r(   r(          r   r(   c                       e Zd Zy)StreamReaderNr)   r   r   r   r,   r,      r*   r   r,   c            
          t        j                  dt               j                  t               j                  t
        t        t        t        d      S )Nrot-13F)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader_is_text_encoding)	codecs	CodecInfor   r   r   r   r%   r(   r,   r   r   r   getregentryr7   $   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                 j    |j                  t        j                  | j                         d             y )Nr.   )writer5   r   read)infileoutfiles     r   rot13rr   l   s    MM&--x89r   __main__)__doc__r5   r   r   r%   r(   r,   r7   make_identity_dictranger
   updaterr   r   sysstdinstdoutr   r   r   <module>r{      s[   =FLL =/22 //22 /	5,, 		5,, 	

 &F%%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   