ñÕYf ã @ sª d Z d d l Z d d l Z e j Z d d d „ Z Gd d „ d e j ƒ Z Gd d „ d e j ƒ Z Gd d „ d e j ƒ Z Gd d „ d e j ƒ Z d d „ Z d S)z Python 'utf-32' Codec é NÚstrictc C s t j | | d ƒ S)NT)ÚcodecsÚ utf_32_decode)ÚinputÚerrors© r ú5/opt/alt/python35/lib64/python3.5/encodings/utf_32.pyÚdecode s r c @ sR e Z d Z d d d „ Z d d d „ Z d d „ Z d d „ Z d d „ Z d S)ÚIncrementalEncoderr c C s t j j | | ƒ d | _ d S)N)r r Ú__init__Úencoder)Úselfr r r r r s zIncrementalEncoder.__init__Fc C sm | j d k rV t j | | j ƒ d } t j d k rF t j | _ n t j | _ | S| j | | j ƒ d S)Nr Úlittle)r r Ú utf_32_encoder ÚsysÚ byteorderÚutf_32_le_encodeÚutf_32_be_encode)r r ÚfinalÚresultr r r Úencode s zIncrementalEncoder.encodec C s t j j | ƒ d | _ d S)N)r r Úresetr )r r r r r s zIncrementalEncoder.resetc C s | j d k r d Sd S)Né r )r )r r r r Úgetstate s zIncrementalEncoder.getstatec C s@ | r d | _ n* t j d k r0 t j | _ n t j | _ d S)Nr )r r r r r r )r Ústater r r Úsetstate' s zIncrementalEncoder.setstateN)Ú__name__Ú __module__Ú__qualname__r r r r r r r r r r s r c @ sO e Z d Z d d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d S) ÚIncrementalDecoderr c C s t j j | | ƒ d | _ d S)N)r ÚBufferedIncrementalDecoderr Údecoder)r r r r r r 1 s zIncrementalDecoder.__init__c C sž | j d k rˆ t j | | d | ƒ \ } } } | d k rK t j | _ n3 | d k rf t j | _ n | d k r~ t d ƒ ‚ | | f S| 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 r r r ÚoutputÚconsumedr r r r Ú_buffer_decode5 s ! z!IncrementalDecoder._buffer_decodec C s t j j | ƒ d | _ d S)N)r r r r! )r r r r r B s zIncrementalDecoder.resetc C s` t j j | ƒ d } | j d k r/ | d f St t j d k | j t j k k ƒ } | | f S)Nr r Úbig)r r r r! Úintr r r' )r r Zaddstater r r r F s zIncrementalDecoder.getstatec C s� t j j | | ƒ | d } | d k rP t j d k rA t j n t j | _ n<