\ddZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)aPython 'bz2_codec' Codec - bz2 compression encoding. This codec de/encodes from bytes to bytes and is therefore usable with bytes.transform() and bytes.untransform(). Adapted by Raymond Hettinger from zlib_codec.py which was written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcX|dksJtj|t|fSNr)bz2compressleninputerrorss $..\python\lib\encodings\bz2_codec.py bz2_encoder s. X     L  U ,,cX|dksJtj|t|fSr)r decompressrr s r bz2_decoders. X     N5 ! !3u:: ..rceZdZddZddZdS)Codecrc"t||SN)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrc$eZdZddZddZdZdS) IncrementalEncoderrcT|dksJ||_tj|_dSr)r r BZ2Compressor compressobjrr s r __init__zIncrementalEncoder.__init__s1!!!! ,..rFc|r6|j|}||jzS|j|Sr)r%rflush)rr finalcs r rzIncrementalEncoder.encode#sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr$r%rs r resetzIncrementalEncoder.reset*s,..rNrF)rrrr'rr.r rr r"r"sK//// 4444/////rr"c$eZdZddZddZdZdS) IncrementalDecoderrcT|dksJ||_tj|_dSr)r rBZ2Decompressor decompressobjr&s r r'zIncrementalDecoder.__init__.s1!!!!  022rFcZ |j|S#t$rYdSwxYw)N)r4rEOFError)rr r*s r rzIncrementalDecoder.decode3s@ %0077 7   22 s  **c6tj|_dSr)rr3r4r-s r r.zIncrementalDecoder.reset9s 022rNrr/)rrrr'rr.r rr r1r1-sK3333  33333rr1ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r:r:<NNNrr:ceZdZeZdS) StreamReaderNr;r rr r@r@?r>rr@c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r1r:r@r rr getregentryrJDs4   --!!    rr) __doc__rHrr rrr"r1r:r@rJr rr rLsH ----////)))))FL))) /////2/// 3 3 3 3 32 3 3 35&-5&-     r