o
    >cj                  
   @   sB  	 d dl Z d dlZzd dlT W n ey! Z zede dZ[ww g dZdZd ZZ	d Z
ZdZd	Zejd
kr@e	 ZZeZne ZZeZe	ZeZeZeZG dd deZG dd dZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd dZ G dd dZ!dBd"d#Z"dCd$d%Z#d&d' Z$d(d) Z%d*d+ Z&d,d- Z'd.d/ Z(d0d1 Z)dDd2d3Z*dDd4d5Z+d6d7 Z,d8d9 Z-ze.d Z/e.d:Z0e.d;Z1e.d<Z2e.d=Z3e.d>Z4W n e5y   dZ/dZ0dZ1dZ2dZ3dZ4Y nw d Z6e6rd dl7Z7e8d?kre#ej9d@dAe_9e#ej:dAd@e_:dS dS )E    N)*z%Failed to load the builtin codecs: %s),registerlookupopenEncodedFileBOMBOM_BEBOM_LEBOM32_BEBOM32_LEBOM64_BEBOM64_LEBOM_UTF8	BOM_UTF16BOM_UTF16_LEBOM_UTF16_BE	BOM_UTF32BOM_UTF32_LEBOM_UTF32_BE	CodecInfoCodecIncrementalEncoderIncrementalDecoderStreamReaderStreamWriterStreamReaderWriterStreamRecoder
getencoder
getdecodergetincrementalencodergetincrementaldecoder	getreader	getwriterencodedecode
iterencode
iterdecodestrict_errorsignore_errorsreplace_errorsxmlcharrefreplace_errorsbackslashreplace_errorsnamereplace_errorsZregister_errorlookup_errors   ﻿s   s   s     s     littlec                   @   s.   e Zd Z	 dZ		dddddZdd ZdS )	r   TN)_is_text_encodingc          
      C   sP   t | ||||f}	||	_||	_||	_||	_||	_||	_||	_|d ur&||	_	|	S N)
tuple__new__namer#   r$   incrementalencoderincrementaldecoderstreamwriterstreamreaderr/   )
clsr#   r$   r7   r6   r4   r5   r3   r/   self r:   Z/Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/pyncpp/python/source/Lib/codecs.pyr2   ^   s   zCodecInfo.__new__c                 C   s   d| j j| j j| jt| f S )Nz%<%s.%s object for encoding %s at %#x>)	__class__
__module____qualname__r3   idr9   r:   r:   r;   __repr__m   s
   
zCodecInfo.__repr__)NNNNN)__name__r=   r>   r/   r2   rA   r:   r:   r:   r;   r   S   s    r   c                   @   s"   e Zd Z	 dddZdddZdS )r   strictc                 C      	 t r0   NotImplementedErrorr9   inputerrorsr:   r:   r;   r#      s   zCodec.encodec                 C   rD   r0   rE   rG   r:   r:   r;   r$      s   zCodec.decodeNrC   )rB   r=   r>   r#   r$   r:   r:   r:   r;   r   r   s    
r   c                   @   :   e Zd Z	 dddZdddZdd Zd	d
 Zdd ZdS )r   rC   c                 C   s   	 || _ d| _d S N )rI   bufferr9   rI   r:   r:   r;   __init__   s   
zIncrementalEncoder.__init__Fc                 C   rD   r0   rE   r9   rH   finalr:   r:   r;   r#         zIncrementalEncoder.encodec                 C      d S r0   r:   r@   r:   r:   r;   reset      zIncrementalEncoder.resetc                 C      	 dS Nr   r:   r@   r:   r:   r;   getstate   rS   zIncrementalEncoder.getstatec                 C   rT   r0   r:   r9   Zstater:   r:   r;   setstate   rV   zIncrementalEncoder.setstateNrJ   F)rB   r=   r>   rP   r#   rU   rY   r[   r:   r:   r:   r;   r      s    

r   c                   @   B   e Zd Z	 dddZdd ZdddZd	d
 Zdd Zdd ZdS )BufferedIncrementalEncoderrC   c                 C      t | | d| _d S rL   )r   rP   rN   rO   r:   r:   r;   rP         
z#BufferedIncrementalEncoder.__init__c                 C      t r0   rE   r9   rH   rI   rR   r:   r:   r;   _buffer_encode      z)BufferedIncrementalEncoder._buffer_encodeFc                 C   0   | j | }| || j|\}}||d  | _ |S r0   )rN   rc   rI   r9   rH   rR   dataresultconsumedr:   r:   r;   r#         
z!BufferedIncrementalEncoder.encodec                 C      t |  d| _d S rL   )r   rU   rN   r@   r:   r:   r;   rU         

z BufferedIncrementalEncoder.resetc                 C   s
   | j pdS rX   rN   r@   r:   r:   r;   rY      s   
z#BufferedIncrementalEncoder.getstatec                 C   s   |pd| _ d S rL   rm   rZ   r:   r:   r;   r[         z#BufferedIncrementalEncoder.setstateNrJ   r\   )	rB   r=   r>   rP   rc   r#   rU   rY   r[   r:   r:   r:   r;   r^      s    

r^   c                   @   rK   )r   rC   c                 C   s   	 || _ d S r0   )rI   rO   r:   r:   r;   rP     s   
zIncrementalDecoder.__init__Fc                 C   rD   r0   rE   rQ   r:   r:   r;   r$     rS   zIncrementalDecoder.decodec                 C   rT   r0   r:   r@   r:   r:   r;   rU     rV   zIncrementalDecoder.resetc                 C   rW   )N)    r   r:   r@   r:   r:   r;   rY     s   zIncrementalDecoder.getstatec                 C   rT   r0   r:   rZ   r:   r:   r;   r[   '  rV   zIncrementalDecoder.setstateNrJ   r\   )rB   r=   r>   rP   r$   rU   rY   r[   r:   r:   r:   r;   r      s    


r   c                   @   r]   )BufferedIncrementalDecoderrC   c                 C   r_   Nro   )r   rP   rN   rO   r:   r:   r;   rP   5  r`   z#BufferedIncrementalDecoder.__init__c                 C   ra   r0   rE   rb   r:   r:   r;   _buffer_decode:  rd   z)BufferedIncrementalDecoder._buffer_decodeFc                 C   re   r0   )rN   rr   rI   rf   r:   r:   r;   r$   ?  rj   z!BufferedIncrementalDecoder.decodec                 C   rk   rq   )r   rU   rN   r@   r:   r:   r;   rU   G  rl   z BufferedIncrementalDecoder.resetc                 C   s
   | j dfS rX   rm   r@   r:   r:   r;   rY   K  s   
z#BufferedIncrementalDecoder.getstatec                 C   s   |d | _ d S rX   rm   rZ   r:   r:   r;   r[   O  s   z#BufferedIncrementalDecoder.setstateNrJ   r\   )	rB   r=   r>   rP   rr   r$   rU   rY   r[   r:   r:   r:   r;   rp   /  s    

rp   c                   @   sT   e Zd ZdddZdd Zdd Zdd	 ZdddZefddZ	dd Z
dd ZdS )r   rC   c                 C   s   	 || _ || _d S r0   )streamrI   r9   rs   rI   r:   r:   r;   rP   \  s   
zStreamWriter.__init__c                 C   s$   	 |  || j\}}| j| d S r0   )r#   rI   rs   write)r9   objectrg   ri   r:   r:   r;   ru   u  s   zStreamWriter.writec                 C   s   	 |  d| d S rL   )ru   joinr9   listr:   r:   r;   
writelines|  s   zStreamWriter.writelinesc                 C   s   	 d S r0   r:   r@   r:   r:   r;   rU     s   zStreamWriter.resetr   c                 C   s2   | j || |dkr|dkr|   d S d S d S rX   rs   seekrU   r9   offsetZwhencer:   r:   r;   r|     s   zStreamWriter.seekc                 C      	 || j |S r0   rs   r9   r3   getattrr:   r:   r;   __getattr__     zStreamWriter.__getattr__c                 C      | S r0   r:   r@   r:   r:   r;   	__enter__  rV   zStreamWriter.__enter__c                 C      | j   d S r0   rs   closer9   typevalueZtbr:   r:   r;   __exit__  rn   zStreamWriter.__exit__NrJ   r   )rB   r=   r>   rP   ru   rz   rU   r|   r   r   r   r   r:   r:   r:   r;   r   Z  s    


r   c                   @   s   e Zd ZeZdddZdddZd dd	Zd!ddZd!ddZ	dd Z
d"ddZdd Zdd ZefddZdd Zdd Zd
S )#r   rC   c                 C   s0   	 || _ || _d| _|  | _| j| _d | _d S rq   )rs   rI   
bytebuffercharbuffertype_empty_charbuffer
charbuffer
linebufferrt   r:   r:   r;   rP     s   

zStreamReader.__init__c                 C   ra   r0   rE   rG   r:   r:   r;   r$     rV   zStreamReader.decodeFc              
   C   sN  	 | j r| j| j | _d | _ |dk r|}	 |dkr"t| j|kr"ng|dk r,| j }n| j|}| j| }|s:nOz| || j	\}}W n1 t
yv } z%|rk| |d |j | j	\}}|jdd}	t|	dkrj n W Y d }~nd }~ww ||d  | _|  j|7  _|snq|dk r| j}
| j| _|
S | jd | }
| j|d  | _|
S )Nr   Tkeepends   )r   r   rw   r   lenrs   readr   r$   rI   UnicodeDecodeErrorstart
splitlines)r9   sizechars	firstlineZnewdatarg   ZnewcharsZdecodedbytesexclinesrh   r:   r:   r;   r     sT   

 zStreamReader.readNTc           	      C   s  	 | j r)| j d }| j d= t| j dkr| j d | _d | _ |s'|jddd }|S |p,d}| j}	 | j|dd}|rWt|trD|dsNt|t	rW|d	rW|| jddd
7 }||7 }|jdd}|rt|dkr|d }|d= t|dkr|d  | j7  < || _ d | _n|d | j | _|s|jddd }	 |S |d }|d jddd }||kr| j
|dd  | j | _|r|}	 |S |}	 |S |r|d ur|r|s|jddd }	 |S |dk r|d9 }q1)Nr   r   Fr   H   T)r      )r   r   r   i@     )r   r   r   r   r   r   
isinstancestrendswithbytesrw   )	r9   r   r   lineZreadsizerg   r   Zline0withendZline0withoutendr:   r:   r;   readline  sr   	
zStreamReader.readlinec                 C   s   	 |   }||S r0   )r   r   )r9   sizehintr   rg   r:   r:   r;   	readlines^  s   

zStreamReader.readlinesc                 C   s   	 d| _ | j| _d | _d S rq   )r   r   r   r   r@   r:   r:   r;   rU   m  s   
zStreamReader.resetr   c                 C   s   	 | j || |   d S r0   r{   r}   r:   r:   r;   r|   z  s   zStreamReader.seekc                 C   s   	 |   }|r	|S tr0   )r   StopIteration)r9   r   r:   r:   r;   __next__  s
   zStreamReader.__next__c                 C   r   r0   r:   r@   r:   r:   r;   __iter__  rV   zStreamReader.__iter__c                 C   r   r0   r   r   r:   r:   r;   r     r   zStreamReader.__getattr__c                 C   r   r0   r:   r@   r:   r:   r;   r     rV   zStreamReader.__enter__c                 C   r   r0   r   r   r:   r:   r;   r     rn   zStreamReader.__exit__rJ   )r   r   F)NTr   )rB   r=   r>   r   r   rP   r$   r   r   r   rU   r|   r   r   r   r   r   r   r:   r:   r:   r;   r     s    



P
K

r   c                   @   s   e Zd Z	 dZd ddZd!ddZd"d	d
Zd"ddZdd Zdd Z	dd Z
dd Zdd Zd#ddZefddZdd Zdd ZdS )$r   unknownrC   c                 C   s*   	 || _ |||| _|||| _|| _d S r0   )rs   readerwriterrI   )r9   rs   ReaderWriterrI   r:   r:   r;   rP     s
   
zStreamReaderWriter.__init__r   c                 C      | j |S r0   )r   r   r9   r   r:   r:   r;   r        zStreamReaderWriter.readNc                 C   r   r0   )r   r   r   r:   r:   r;   r     r   zStreamReaderWriter.readlinec                 C   r   r0   )r   r   )r9   r   r:   r:   r;   r     r   zStreamReaderWriter.readlinesc                 C   s   	 t | jS r0   )nextr   r@   r:   r:   r;   r     s   
zStreamReaderWriter.__next__c                 C   r   r0   r:   r@   r:   r:   r;   r     rV   zStreamReaderWriter.__iter__c                 C   r   r0   )r   ru   )r9   rg   r:   r:   r;   ru     r   zStreamReaderWriter.writec                 C   r   r0   )r   rz   rx   r:   r:   r;   rz     r   zStreamReaderWriter.writelinesc                 C      | j   | j  d S r0   r   rU   r   r@   r:   r:   r;   rU        
zStreamReaderWriter.resetr   c                 C   s>   | j || | j  |dkr|dkr| j  d S d S d S rX   )rs   r|   r   rU   r   r}   r:   r:   r;   r|     s
   
zStreamReaderWriter.seekc                 C   r   r0   r   r   r:   r:   r;   r     r   zStreamReaderWriter.__getattr__c                 C   r   r0   r:   r@   r:   r:   r;   r     rV   zStreamReaderWriter.__enter__c                 C   r   r0   r   r   r:   r:   r;   r     rn   zStreamReaderWriter.__exit__rJ   r   r0   r   )rB   r=   r>   encodingrP   r   r   r   r   r   ru   rz   rU   r|   r   r   r   r   r:   r:   r:   r;   r     s"    	





	r   c                   @   s   e Zd Z	 dZdZ	d ddZd!ddZd"d	d
Zd"ddZdd Z	dd Z
dd Zdd Zdd Zd#ddZefddZdd Zdd ZdS )$r   r   rC   c                 C   s6   	 || _ || _|| _|||| _|||| _|| _d S r0   )rs   r#   r$   r   r   rI   )r9   rs   r#   r$   r   r   rI   r:   r:   r;   rP     s   
zStreamRecoder.__init__r   c                 C   s"   | j |}| || j\}}|S r0   )r   r   r#   rI   r9   r   rg   bytesencodedr:   r:   r;   r   #  s   zStreamRecoder.readNc                 C   s6   |d u r
| j  }n| j |}| || j\}}|S r0   )r   r   r#   rI   r   r:   r:   r;   r   )  s
   zStreamRecoder.readlinec                 C   s(   | j  }| || j\}}|jddS )NTr   )r   r   r#   rI   r   )r9   r   rg   r   r:   r:   r;   r   2     
zStreamRecoder.readlinesc                 C   s"   	 t | j}| || j\}}|S r0   )r   r   r#   rI   )r9   rg   r   r:   r:   r;   r   8  s   
zStreamRecoder.__next__c                 C   r   r0   r:   r@   r:   r:   r;   r   ?  rV   zStreamRecoder.__iter__c                 C   s   |  || j\}}| j|S r0   )r$   rI   r   ru   )r9   rg   bytesdecodedr:   r:   r;   ru   B  s   zStreamRecoder.writec                 C   s(   d |}| || j\}}| j|S rq   )rw   r$   rI   r   ru   )r9   ry   rg   r   r:   r:   r;   rz   G  r   zStreamRecoder.writelinesc                 C   r   r0   r   r@   r:   r:   r;   rU   M  r   zStreamRecoder.resetr   c                 C   s    | j || | j|| d S r0   )r   r|   r   r}   r:   r:   r;   r|   R  s   zStreamRecoder.seekc                 C   r   r0   r   r   r:   r:   r;   r   X  r   zStreamRecoder.__getattr__c                 C   r   r0   r:   r@   r:   r:   r;   r   _  rV   zStreamRecoder.__enter__c                 C   r   r0   r   r   r:   r:   r;   r   b  rn   zStreamRecoder.__exit__rJ   r   r0   r   )rB   r=   r>   data_encodingfile_encodingrP   r   r   r   r   r   ru   rz   rU   r|   r   r   r   r   r:   r:   r:   r;   r     s&    



	

r   rrC   r   c                 C   sl   	 |d urd|vr|d }t | ||}|d u r|S zt|}t||j|j|}||_|W S    |   )Nb)builtinsr   r   r   r7   r6   r   r   )filenamemoder   rI   Z	bufferingfileZinfoZsrwr:   r:   r;   r   g  s   r   c                 C   sH   	 |d u r|}t |}t |}t| |j|j|j|j|}||_||_|S r0   )r   r   r#   r$   r7   r6   r   r   )r   r   r   rI   Z	data_infoZ	file_infoZsrr:   r:   r;   r     s   
r   c                 C      	 t | jS r0   )r   r#   r   r:   r:   r;   r        
r   c                 C   r   r0   )r   r$   r   r:   r:   r;   r     r   r   c                 C       	 t | j}|d u rt| |S r0   )r   r4   LookupError)r   encoderr:   r:   r;   r     
   
r   c                 C   r   r0   )r   r5   r   )r   decoderr:   r:   r;   r      r   r    c                 C   r   r0   )r   r7   r   r:   r:   r;   r!     r   r!   c                 C   r   r0   )r   r6   r   r:   r:   r;   r"     r   r"   c                 k   T    	 t ||fi |}| D ]}||}|r|V  q|dd}|r(|V  d S d S )NrM   T)r   r#   )iteratorr   rI   kwargsr   rH   outputr:   r:   r;   r%        

r%   c                 k   r   )Nro   T)r    r$   )r   r   rI   r   r   rH   r   r:   r:   r;   r&     r   r&   c                 C   s   	 dd | D S )Nc                 S   s   i | ]}||qS r:   r:   ).0ir:   r:   r;   
<dictcomp>0  s    z&make_identity_dict.<locals>.<dictcomp>r:   )Zrngr:   r:   r;   make_identity_dict(  s   r   c                 C   s6   	 i }|   D ]\}}||vr|||< qd ||< q|S r0   )items)Zdecoding_mapmkvr:   r:   r;   make_encoding_map2  s   

r   ignorereplacexmlcharrefreplacebackslashreplacenamereplace__main__zlatin-1zutf-8)r   NrC   r   )NrC   rJ   );r   sysZ_codecsImportErrorZwhySystemError__all__r   r	   r   r   r   r   r   	byteorderr   r   r   r   r
   r   r   r1   r   r   rv   r   r^   r   rp   r   r   r   r   r   r   r   r   r   r    r!   r"   r%   r&   r   r   r-   r'   r(   r)   r*   r+   r,   r   Z_false	encodingsrB   ZstdoutZstdinr:   r:   r:   r;   <module>   s    	
B("1+I zW
t
1&







