o
    f	                     @   s  d Z ddlZG dd dejZG dd dejZG dd dejZG d	d
 d
eejZG dd deejZdd Zee	dZ
e
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/d0d1d2d3d4d5d6d7d8d9i d:d;d<d=d>d?d@dAdBdCd+d*d-d,d/d.d1d0d3d2d5d4d7d6d9d8d;d:d=d<d?d>dAd@dCdBi dDdE ZedFkrddlZeejej dS dS )Gz Python Character Mapping Codec for ROT13.

This codec de/encodes from str to str.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                   @   s    e Zd ZdddZdddZdS )Codecstrictc                 C      t |tt|fS Nstr	translate	rot13_maplenselfinputerrors r   '/usr/lib/python3.10/encodings/rot_13.pyencode      zCodec.encodec                 C   r   r   r   r   r   r   r   decode   r   zCodec.decodeN)r   )__name__
__module____qualname__r   r   r   r   r   r   r      s    
r   c                   @      e Zd ZdddZdS )IncrementalEncoderFc                 C      t |tS r   r   r   r	   r   r   finalr   r   r   r         zIncrementalEncoder.encodeNF)r   r   r   r   r   r   r   r   r          r   c                   @   r   )IncrementalDecoderFc                 C   r   r   r   r   r   r   r   r      r   zIncrementalDecoder.decodeNr   )r   r   r   r   r   r   r   r   r       r   r    c                   @      e Zd ZdS )StreamWriterNr   r   r   r   r   r   r   r"          r"   c                   @   r!   )StreamReaderNr#   r   r   r   r   r%      r$   r%   c                
   C   s"   t jdt jt jttttd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   r   getregentry$   s   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                 C   s   | t|  d d S )Nr&   )writer-   r   read)infileoutfiler   r   r   rot13l   s   ri   __main__)__doc__r-   r   r   r    r"   r%   r/   make_identity_dictranger	   updateri   r   sysstdinstdoutr   r   r   r   <module>   s   	
 !"#$%&'()*+,-./012349