ñÕYf ã@sªdZddlZddlZejZddd„ZGdd„dejƒZGdd „d ejƒZGd d „d ej ƒZ Gd d „d ej ƒZ dd„Z dS)z Python 'utf-32' Codec éNÚstrictcCstj||dƒS)NT)ÚcodecsÚ utf_32_decode)ÚinputÚerrors©rú5/opt/alt/python35/lib64/python3.5/encodings/utf_32.pyÚdecode sr c@sReZdZddd„Zddd„Zdd„Zd d „Zd d „Zd S)ÚIncrementalEncoderrcCs tjj||ƒd|_dS)N)rr Ú__init__Úencoder)Úselfrrrrr szIncrementalEncoder.__init__FcCsm|jdkrVtj||jƒd}tjdkrFtj|_n tj|_|S|j||jƒdS)NrÚlittle)r rÚ utf_32_encoderÚsysÚ byteorderÚutf_32_le_encodeÚutf_32_be_encode)r rÚfinalÚresultrrrÚencodes zIncrementalEncoder.encodecCstjj|ƒd|_dS)N)rr Úresetr )r rrrrszIncrementalEncoder.resetcCs|jdkrdSdS)Nér)r )r rrrÚgetstate szIncrementalEncoder.getstatecCs@|rd|_n*tjdkr0tj|_n tj|_dS)Nr)r rrrrr)r ÚstaterrrÚsetstate's  zIncrementalEncoder.setstateN)Ú__name__Ú __module__Ú __qualname__r rrrrrrrrr s   r c@sOeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd S) ÚIncrementalDecoderrcCs tjj||ƒd|_dS)N)rÚBufferedIncrementalDecoderr Údecoder)r rrrrr 1szIncrementalDecoder.__init__cCsž|jdkrˆtj||d|ƒ\}}}|dkrKtj|_n3|dkrftj|_n|dkr~tdƒ‚||fS|j||j|ƒS)Nrééz%UTF-32 stream does not start with BOMéÿÿÿÿ)r!rÚutf_32_ex_decodeÚutf_32_le_decodeÚutf_32_be_decodeÚ UnicodeErrorr)r rrrÚoutputÚconsumedrrrrÚ_buffer_decode5s!     z!IncrementalDecoder._buffer_decodecCstjj|ƒd|_dS)N)rr rr!)r rrrrBszIncrementalDecoder.resetcCs`tjj|ƒd}|jdkr/|dfSttjdk|jtjkkƒ}||fS)NrrÚbig)rr rr!Úintrrr')r rZaddstaterrrrFs  zIncrementalDecoder.getstatecCs�tjj||ƒ|d}|dkrPtjdkrAtjntj|_n<|dkrƒtjdkrttjntj|_n d|_dS)Nr"rr,)rr rrrr'r&r!)r rrrrrTs   zIncrementalDecoder.setstateN)rrrr r+rrrrrrrr0s   rc@s:eZdZddd„Zdd„Zddd„ZdS) Ú StreamWriterrcCs#d|_tjj|||ƒdS)N)r rr.r )r Ústreamrrrrr ds zStreamWriter.__init__cCstjj|ƒd|_dS)N)rr.rr )r rrrrhszStreamWriter.resetcCsc|jdkrOtj||ƒ}tjdkr?tj|_n tj|_|S|j||ƒSdS)Nr)r rrrrrr)r rrrrrrrls zStreamWriter.encodeN)rrrr rrrrrrr.cs  r.c@s+eZdZdd„Zddd„ZdS)Ú StreamReaderc Cs3tjj|ƒy |`Wntk r.YnXdS)N)rr0rr ÚAttributeError)r rrrrys   zStreamReader.resetrcCsytj||ddƒ\}}}|dkr<tj|_n3|dkrWtj|_n|dkrotdƒ‚||fS)NrFr"r#z%UTF-32 stream does not start with BOMr$)rr%r&r r'r()r rrÚobjectr*rrrrr €s!    zStreamReader.decodeN)rrrrr rrrrr0ws  r0cCs4tjdddtdtdtdtdtdtƒS) NÚnamezutf-32rr ÚincrementalencoderÚincrementaldecoderÚ streamreaderÚ streamwriter)rÚ CodecInforr r rr0r.rrrrÚ getregentry�s r9) Ú__doc__rrrrr r r rr.r0r9rrrrÚs #3