grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfùkã@sxddlZddlZddlZddlZddlZddlZddlmZej dkrTddl m Z ndZ ddl Z ddl mZmZmZmZdddhZeedƒr¤e ej¡e ej¡d ZeZeed ƒp¼ejjZd6dd„Zdd„Zz e jZWnek �rôeZYnXGdd„dƒZ Gdd„dƒZ!z e j"Z"Wn(ek �rDGdd„de#e$ƒZ"YnXGdd„dej%d�Z&e j& 'e&¡Gdd„de&ƒZ(e j( 'e(¡ddl)m*Z*e( 'e*¡Gdd„de&ƒZ+e j+ 'e+¡Gd d!„d!e+ƒZ,Gd"d#„d#e+ƒZ-Gd$d%„d%e,ƒZ.Gd&d'„d'e,ƒZ/Gd(d)„d)e+ƒZ0Gd*d+„d+e/e.ƒZ1Gd,d-„d-e(ƒZ*Gd.d/„d/e&ƒZ2e j2 'e2¡Gd0d1„d1ej3ƒZ4Gd2d3„d3e2ƒZ5Gd4d5„d5e5ƒZ6dS)7éN)Ú allocate_lock>Úwin32Úcygwin)Úsetmode)Ú__all__ÚSEEK_SETÚSEEK_CURÚSEEK_ENDééÚ SEEK_HOLEi ZgettotalrefcountÚréÿÿÿÿTc Cs¦t|tƒst |¡}t|tttfƒs0td|ƒ‚t|tƒsFtd|ƒ‚t|tƒs\td|ƒ‚|dk rzt|tƒsztd|ƒ‚|dk r˜t|tƒs˜td|ƒ‚t|ƒ}|tdƒs¼t|ƒt|ƒkrÈt d|ƒ‚d|k} d|k} d |k} d |k} d |k} d |k}d |k}d|k�rD| �s"| �s"| �s"| �r*t dƒ‚ddl }|  dt d¡d} |�rX|�rXt dƒ‚| | | | dk�rvt dƒ‚| �s–| �s–| �s–| �s–t dƒ‚|�r®|dk �r®t dƒ‚|�rÆ|dk �rÆt dƒ‚|�rÞ|dk �rÞt dƒ‚|�r|dk�rddl }|  dt d¡t|| �rd�pd| �r"d�p$d| �r2d �p4d| �rBd �pDd| �rRd �pTd||d�}|}�z$d}|dk�sŠ|dk�r’| ¡�r’d}d}|dk�rÞt}zt | ¡¡j}Wnttfk �rÎYnX|dk�rÞ|}|dk�rðt d ƒ‚|dk�r|�r|WSt d!ƒ‚| �r t||ƒ}n<| �s2| �s2| �r>t||ƒ}n| �rPt||ƒ}n t d"|ƒ‚|}|�rl|WSt|||||ƒ}|}||_|WS| ¡‚YnXdS)#Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %rúinvalid encoding: %rúinvalid errors: %rzaxrwb+tUÚxr ÚwÚaú+ÚtÚbÚUz4mode U cannot be combined with 'x', 'w', 'a', or '+'rz'U' mode is deprecatedr Tz'can't have text and binary mode at oncer z)can't have read/write/append mode at oncez/must have exactly one of read/write/append modez-binary mode doesn't take an encoding argumentz+binary mode doesn't take an errors argumentz+binary mode doesn't take a newline argumentzaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be usedÚ)ÚopenerFrzinvalid buffering sizezcan't have unbuffered text I/Ozunknown mode: %r)Ú isinstanceÚintÚosÚfspathÚstrÚbytesÚ TypeErrorÚsetÚlenÚ ValueErrorÚwarningsÚwarnÚDeprecationWarningÚRuntimeWarningÚFileIOÚisattyÚDEFAULT_BUFFER_SIZEÚfstatÚfilenoÚ st_blksizeÚOSErrorÚAttributeErrorÚBufferedRandomÚBufferedWriterÚBufferedReaderÚ TextIOWrapperÚmodeÚclose)Úfiler4Ú bufferingÚencodingÚerrorsÚnewlineÚclosefdrZmodesZcreatingZreadingZwritingZ appendingZupdatingÚtextZbinaryr$ÚrawÚresultÚline_bufferingZbsÚbuffer©rAú*/opt/alt/python38/lib64/python3.8/_pyio.pyÚopen)sÆ{           ÿ þÿþýüú        rCcCs ddl}| dtd¡t|dƒS)Nrz(_pyio.open_code() may not be using hooksr Úrb)r$r%r'rC)Úpathr$rArArBÚ_open_code_with_warnings ÿrFc@seZdZddd„ZdS)Ú DocDescriptorNcCs dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) )rCÚ__doc__)ÚselfÚobjÚtyprArArBÚ__get__sþÿzDocDescriptor.__get__)N)Ú__name__Ú __module__Ú __qualname__rLrArArArBrGsrGc@seZdZeƒZdd„ZdS)Ú OpenWrappercOs t||ŽS©N)rC)ÚclsÚargsÚkwargsrArArBÚ__new__,szOpenWrapper.__new__N)rMrNrOrGrHrUrArArArBrP"srPc@s eZdZdS)ÚUnsupportedOperationN)rMrNrOrArArArBrV5srVc@säeZdZdd„Zd5dd„Zdd„Zd6d d „Zd d „Zd Zdd„Z dd„Z dd„Z d7dd„Z dd„Z d8dd„Zdd„Zd9dd„Zedd„ƒZd:d d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd;d+d,„Zd-d.„Zd/d0„Zdˆ d¡}|sdS| d¡dp&t|ƒ}ˆdkr:t|ˆƒ}|S)Nr ó r)r{Úfindr"Úmin)Z readaheadÚn©rIÚsizerArBÚ nreadaheads  z#IOBase.readline..nreadaheadcSsdS©Nr rArArArArBr‚ srú is not an integerrr|) ÚhasattrÚ __index__r/r Ú bytearrayr"ÚreadÚendswithr)rIr�r‚Ú size_indexÚresrrAr€rBÚreadline s&     zIOBase.readlinecCs | ¡|SrQrfrarArArBÚ__iter__5szIOBase.__iter__cCs| ¡}|st‚|SrQ)rŒÚ StopIteration©rIÚlinerArArBÚ__next__9szIOBase.__next__cCsP|dks|dkrt|ƒSd}g}|D]&}| |¡|t|ƒ7}||kr$qLq$|S©Nr)ÚlistÚappendr")rIZhintrÚlinesr�rArArBÚ readlines?s  zIOBase.readlinescCs | ¡|D]}| |¡q dSrQ)rgÚwrite)rIr•r�rArArBÚ writelinesQszIOBase.writelines)r)N)N)N)N)N)r)N)rMrNrOrZr[rbrdrhrir5rlrnrqrrrsrtruÚpropertyrjrgryrzr,r)rŒr�r‘r–r˜rArArArBrW9s4#         * rW)Ú metaclassc@s.eZdZd dd„Zdd„Zdd„Zdd „Zd S) Ú RawIOBasercCsP|dkr d}|dkr| ¡St| ¡ƒ}| |¡}|dkr>dS||d…=t|ƒS)Nrr)Úreadallr‡r†Úreadintor)rIr�rrrArArBrˆls   zRawIOBase.readcCs4tƒ}| t¡}|sq ||7}q|r,t|ƒS|SdSrQ)r‡rˆr*r)rIr‹ÚdatarArArBrœ}s  zRawIOBase.readallcCs| d¡dS)Nr�r\©rIrrArArBr�‹szRawIOBase.readintocCs| d¡dS©Nr—r\rŸrArArBr—“szRawIOBase.writeN)r)rMrNrOrˆrœr�r—rArArArBr›^s r›)r(c@sHeZdZddd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚBufferedIOBasercCs| d¡dS©Nrˆr\r€rArArBrˆ±szBufferedIOBase.readcCs| d¡dS)NÚread1r\r€rArArBr£ÅszBufferedIOBase.read1cCs|j|dd�S)NF©r£©Ú _readintorŸrArArBr�Ës zBufferedIOBase.readintocCs|j|dd�S)NTr¤r¥rŸrArArBÚ readinto1Ùs zBufferedIOBase.readinto1cCsVt|tƒst|ƒ}| d¡}|r0| t|ƒ¡}n| t|ƒ¡}t|ƒ}||d|…<|S©NÚB)rÚ memoryviewÚcastr£r"rˆ)rIrr£ržrrArArBr¦äs   zBufferedIOBase._readintocCs| d¡dSr r\rŸrArArBr—ós zBufferedIOBase.writecCs| d¡dS©NÚdetachr\rarArArBr­þszBufferedIOBase.detachN)r)r) rMrNrOrˆr£r�r§r¦r—r­rArArArBr¡ s    r¡c@s eZdZdd„Zd#dd„Zdd„Zd$d d „Zd d „Zd d„Zdd„Z dd„Z e dd„ƒZ e dd„ƒZ e dd„ƒZe dd„ƒZdd„Zdd„Zdd „Zd!d"„ZdS)%Ú_BufferedIOMixincCs ||_dSrQ©Ú_raw©rIr=rArArBÚ__init__sz_BufferedIOMixin.__init__rcCs"|j ||¡}|dkrtdƒ‚|S)Nrz#seek() returned an invalid position)r=r[r.)rIr^r_Z new_positionrArArBr[sz_BufferedIOMixin.seekcCs|j ¡}|dkrtdƒ‚|S)Nrz#tell() returned an invalid position)r=rbr.rerArArBrbs z_BufferedIOMixin.tellNcCs$| ¡|dkr| ¡}|j |¡SrQ)rhrbr=rdrerArArBrd$sz_BufferedIOMixin.truncatecCs|jrtdƒ‚|j ¡dS)Núflush on closed file)rjr#r=rhrarArArBrh2sz_BufferedIOMixin.flushcCs.|jdk r*|js*z | ¡W5|j ¡XdSrQ)r=rjr5rhrarArArBr57s z_BufferedIOMixin.closecCs*|jdkrtdƒ‚| ¡|j}d|_|S)Nzraw stream already detached)r=r#rhr°r±rArArBr­?s  z_BufferedIOMixin.detachcCs |j ¡SrQ)r=rnrarArArBrnIsz_BufferedIOMixin.seekablecCs|jSrQr¯rarArArBr=Lsz_BufferedIOMixin.rawcCs|jjSrQ)r=rjrarArArBrjPsz_BufferedIOMixin.closedcCs|jjSrQ)r=rYrarArArBrYTsz_BufferedIOMixin.namecCs|jjSrQ)r=r4rarArArBr4Xsz_BufferedIOMixin.modecCstd|jj›d�ƒ‚dS©Nzcannot pickle z object©r rXrMrarArArBÚ __getstate__\sz_BufferedIOMixin.__getstate__cCsN|jj}|jj}z |j}Wn tk r:d ||¡YSXd |||¡SdS)Nz<{}.{}>z<{}.{} name={!r}>)rXrNrOrYr/Úformat)rIÚmodnameZclsnamerYrArArBÚ__repr___s z_BufferedIOMixin.__repr__cCs |j ¡SrQ)r=r,rarArArBr,ksz_BufferedIOMixin.filenocCs |j ¡SrQ)r=r)rarArArBr)nsz_BufferedIOMixin.isatty)r)N)rMrNrOr²r[rbrdrhr5r­rnr™r=rjrYr4r¶r¹r,r)rArArArBr® s(         r®cs’eZdZdZd dd„Zdd„Zdd„Zdd „Z‡fd d „Zd!d d„Z d"dd„Z dd„Z d#dd„Z dd„Z d$dd„Zdd„Zdd„Zdd„Z‡ZS)%ÚBytesIONcCs&tƒ}|dk r||7}||_d|_dSr’)r‡Ú_bufferÚ_pos)rIZ initial_bytesÚbufrArArBr²zs zBytesIO.__init__cCs|jrtdƒ‚|j ¡S)Nz__getstate__ on closed file)rjr#Ú__dict__ÚcopyrarArArBr¶�szBytesIO.__getstate__cCs|jrtdƒ‚t|jƒS)Nzgetvalue on closed file)rjr#rr»rarArArBÚgetvalue†szBytesIO.getvaluecCs|jrtdƒ‚t|jƒS)Nzgetbuffer on closed file)rjr#rªr»rarArArBÚ getbuffer�szBytesIO.getbuffercs"|jdk r|j ¡tƒ ¡dSrQ)r»ÚclearÚsuperr5ra©rXrArBr5”s  z BytesIO.closercCsª|jrtdƒ‚|dkrd}n4z |j}Wn"tk rHt|›d�ƒ‚YnX|ƒ}|dkrbt|jƒ}t|jƒ|jkrvdStt|jƒ|j|ƒ}|j|j|…}||_t |ƒS)Núread from closed filerr„ró) rjr#r†r/r r"r»r¼r~r)rIr�rŠZnewposrrArArBrˆ™s"  z BytesIO.readcCs | |¡SrQ)rˆr€rArArBr£®sz BytesIO.read1c Csž|jrtdƒ‚t|tƒr tdƒ‚t|ƒ� }|j}W5QRX|dkrFdS|j}|t|j ƒkrzd|t|j ƒ}|j |7_ ||j |||…<|j|7_|S)Núwrite to closed fileú can't write str to binary streamró) rjr#rrr rªÚnbytesr¼r"r»)rIrZviewrr^ZpaddingrArArBr—³s  z BytesIO.writercCs²|jrtdƒ‚z |j}Wn"tk r:t|›d�ƒ‚YnX|ƒ}|dkrh|dkr`td|fƒ‚||_nD|dkr„td|j|ƒ|_n(|dkr¤tdt|jƒ|ƒ|_ntdƒ‚|jS)Nzseek on closed filer„rúnegative seek position %rr r zunsupported whence value) rjr#r†r/r r¼Úmaxr"r»)rIr^r_Ú pos_indexrArArBr[Æs" z BytesIO.seekcCs|jrtdƒ‚|jS)Nútell on closed file)rjr#r¼rarArArBrbÛsz BytesIO.tellcCsx|jrtdƒ‚|dkr|j}nJz |j}Wn"tk rJt|›d�ƒ‚YnX|ƒ}|dkrhtd|fƒ‚|j|d…=|S)Nztruncate on closed filer„rznegative truncate position %r)rjr#r¼r†r/r r»)rIr^rÍrArArBrdàs  zBytesIO.truncatecCs|jrtdƒ‚dS©NrwTrxrarArArBrrñszBytesIO.readablecCs|jrtdƒ‚dSrÏrxrarArArBrtöszBytesIO.writablecCs|jrtdƒ‚dSrÏrxrarArArBrnûszBytesIO.seekable)N)r)r)r)N)rMrNrOr»r²r¶rÀrÁr5rˆr£r—r[rbrdrrrtrnÚ __classcell__rArArÄrBrºrs      rºc@steZdZefdd„Zdd„Zdd„Zddd „Zdd d „Zdd d„Z ddd„Z ddd„Z dd„Z dd„Z ddd„ZdS) r2cCsF| ¡stdƒ‚t ||¡|dkr,tdƒ‚||_| ¡tƒ|_dS)Nz "raw" argument must be readable.rúinvalid buffer size) rrr.r®r²r#Ú buffer_sizeÚ_reset_read_bufÚLockÚ _read_lock©rIr=rÒrArArBr² s zBufferedReader.__init__cCs |j ¡SrQ)r=rrrarArArBrrszBufferedReader.readablecCsd|_d|_dS)NrÆr)Ú _read_bufÚ _read_posrarArArBrÓszBufferedReader._reset_read_bufNc Cs@|dk r|dkrtdƒ‚|j�| |¡W5QR£SQRXdS)Nrzinvalid number of bytes to read)r#rÕÚ_read_unlockedr€rArArBrˆ szBufferedReader.readc Cs†d}d}|j}|j}|dks$|dkrº| ¡t|jdƒrj|j ¡}|dkrZ||d…pXdS||d…|S||d…g}d}|j ¡}||kr”|}q¬|t|ƒ7}| |¡q|d  |¡p¸|St|ƒ|} || krì|j|7_||||…S||d…g}t |j |ƒ} | |k�rH|j | ¡}||k�r.|}�qH| t|ƒ7} | |¡�qt || ƒ}d  |¡} | |d…|_d|_| �r‚| d|…S|S)NrÆ)rÆNrrœr) r×rØrÓr…r=rœrˆr"r”ÚjoinrÌrÒr~) rIrZ nodata_valZ empty_valuesr½r^ÚchunkZchunksZ current_sizeÚavailZwantedÚoutrArArBrÙ-sL             zBufferedReader._read_unlockedrc Cs(|j�| |¡W5QR£SQRXdSrQ)rÕÚ_peek_unlockedr€rArArBr{aszBufferedReader.peekcCsrt||jƒ}t|jƒ|j}||ks,|dkrb|j|}|j |¡}|rb|j|jd…||_d|_|j|jd…Sr’)r~rÒr"r×rØr=rˆ)rIrZwantZhaveZto_readZcurrentrArArBrÞks   zBufferedReader._peek_unlockedrc Cs^|dkr|j}|dkrdS|j�4| d¡| t|t|jƒ|jƒ¡W5QR£SQRXdS)NrrÆr )rÒrÕrÞrÙr~r"r×rØr€rArArBr£vs ÿzBufferedReader.read1c Cs t|tƒst|ƒ}|jdkr dS| d¡}d}|j�Ì|t|ƒkrütt|jƒ|jt|ƒƒ}|r¦|j|j|j|…||||…<|j|7_||7}|t|ƒkr¦qüt|ƒ||j krÜ|j   ||d…¡}|sÒqü||7}n|rä|sð|  d¡sðqü|r6|r6qüq6W5QRX|S)Nrr©r ) rrªrÊr«rÕr"r~r×rØrÒr=r�rÞ)rIr½r£ÚwrittenrÜrrArArBr¦ˆs6    ÿ   zBufferedReader._readintocCst |¡t|jƒ|jSrQ)r®rbr"r×rØrarArArBrb¶szBufferedReader.tellc Csd|tkrtdƒ‚|j�D|dkr4|t|jƒ|j8}t |||¡}| ¡|W5QR£SQRXdS)Núinvalid whence valuer ) Úvalid_seek_flagsr#rÕr"r×rØr®r[rÓr]rArArBr[¹szBufferedReader.seek)N)N)r)r)r)r)rMrNrOr*r²rrrÓrˆrÙr{rÞr£r¦rbr[rArArArBr2s  4 .r2c@s\eZdZefdd„Zdd„Zdd„Zddd „Zd d „Zd d „Z dd„Z ddd„Z dd„Z dS)r1cCsF| ¡stdƒ‚t ||¡|dkr,tdƒ‚||_tƒ|_tƒ|_ dS)Nz "raw" argument must be writable.rrÑ) rtr.r®r²r#rÒr‡Ú _write_bufrÔÚ _write_lockrÖrArArBr²Ìs zBufferedWriter.__init__cCs |j ¡SrQ)r=rtrarArArBrt×szBufferedWriter.writablec Cst|tƒrtdƒ‚|j�æ|jr(tdƒ‚t|jƒ|jkr@|  ¡t|jƒ}|j  |¡t|jƒ|}t|jƒ|jkrîz |  ¡Wnlt k rì}zNt|jƒ|jkrÜt|jƒ|j}||8}|jd|j…|_t |j |j |ƒ‚W5d}~XYnX|W5QR£SQRXdS)NrÈrÇ)rrr rãrjr#r"rârÒÚ_flush_unlockedÚextendÚBlockingIOErrorÚerrnoÚstrerror)rIrZbeforerßÚeZoveragerArArBr—Ús(    "zBufferedWriter.writeNc CsD|j�4| ¡|dkr"|j ¡}|j |¡W5QR£SQRXdSrQ)rãrär=rbrdrerArArBrdös  zBufferedWriter.truncatec Cs|j�| ¡W5QRXdSrQ)rãrärarArArBrhýszBufferedWriter.flushcCsŠ|jrtdƒ‚|jr†z|j |j¡}Wntk rBtdƒ‚YnX|dkrZttjddƒ‚|t |jƒksp|dkrxt dƒ‚|jd|…=qdS)Nr³zHself.raw should implement RawIOBase: it should not raise BlockingIOErrorz)write could not complete without blockingrz*write() returned incorrect number of bytes) rjr#râr=r—ræÚ RuntimeErrorrçZEAGAINr"r.©rIrrArArBräs þzBufferedWriter._flush_unlockedcCst |¡t|jƒSrQ)r®rbr"rârarArArBrbszBufferedWriter.tellrc CsD|tkrtdƒ‚|j�$| ¡t |||¡W5QR£SQRXdS)Nrà)rár#rãrär®r[r]rArArBr[s zBufferedWriter.seekcCs`|j�$|jdks|jr&W5QR£dSW5QRXz | ¡W5|j�|j ¡W5QRXXdSrQ)rãr=rjr5rhrarArArBr5s zBufferedWriter.close)N)r) rMrNrOr*r²rtr—rdrhrärbr[r5rArArArBr1Ãs   r1c@s‚eZdZefdd„Zddd„Zdd„Zdd „Zdd d „Zd d d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZdS)!ÚBufferedRWPaircCs<| ¡stdƒ‚| ¡s tdƒ‚t||ƒ|_t||ƒ|_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rrr.rtr2Úreaderr1Úwriter)rIrírîrÒrArArBr²<s  zBufferedRWPair.__init__rcCs|dkr d}|j |¡S©Nr)rírˆr€rArArBrˆJszBufferedRWPair.readcCs |j |¡SrQ)rír�rŸrArArBr�OszBufferedRWPair.readintocCs |j |¡SrQ)rîr—rŸrArArBr—RszBufferedRWPair.writercCs |j |¡SrQ)rír{r€rArArBr{UszBufferedRWPair.peekcCs |j |¡SrQ)rír£r€rArArBr£XszBufferedRWPair.read1cCs |j |¡SrQ)rír§rŸrArArBr§[szBufferedRWPair.readinto1cCs |j ¡SrQ)rírrrarArArBrr^szBufferedRWPair.readablecCs |j ¡SrQ)rîrtrarArArBrtaszBufferedRWPair.writablecCs |j ¡SrQ)rîrhrarArArBrhdszBufferedRWPair.flushcCs z|j ¡W5|j ¡XdSrQ)rír5rîrarArArBr5gszBufferedRWPair.closecCs|j ¡p|j ¡SrQ)rír)rîrarArArBr)mszBufferedRWPair.isattycCs|jjSrQ)rîrjrarArArBrjpszBufferedRWPair.closedN)r)r)r)rMrNrOr*r²rˆr�r—r{r£r§rrrtrhr5r)r™rjrArArArBrì,s    rìc@sjeZdZefdd„Zddd„Zdd„Zdd d „Zdd d „Zd d„Z ddd„Z ddd„Z dd„Z dd„Z dS)r0cCs(| ¡t |||¡t |||¡dSrQ)rqr2r²r1rÖrArArBr²~szBufferedRandom.__init__rc Cs†|tkrtdƒ‚| ¡|jrJ|j� |j |jt|jƒd¡W5QRX|j ||¡}|j�|  ¡W5QRX|dkr‚t dƒ‚|S)Nràr rz seek() returned invalid position) rár#rhr×rÕr=r[rØr"rÓr.r]rArArBr[ƒs$zBufferedRandom.seekcCs|jrt |¡St |¡SdSrQ)râr1rbr2rarArArBrb”s zBufferedRandom.tellNcCs|dkr| ¡}t ||¡SrQ)rbr1rdrerArArBrdšszBufferedRandom.truncatecCs |dkr d}| ¡t ||¡Srï)rhr2rˆr€rArArBrˆ szBufferedRandom.readcCs| ¡t ||¡SrQ)rhr2r�rŸrArArBr�¦szBufferedRandom.readintocCs| ¡t ||¡SrQ)rhr2r{r€rArArBr{ªszBufferedRandom.peekrcCs| ¡t ||¡SrQ)rhr2r£r€rArArBr£®szBufferedRandom.read1cCs| ¡t ||¡SrQ)rhr2r§rŸrArArBr§²szBufferedRandom.readinto1c CsF|jr:|j�(|j |jt|jƒd¡| ¡W5QRXt ||¡Srƒ) r×rÕr=r[rØr"rÓr1r—rŸrArArBr—¶s zBufferedRandom.write)r)N)N)r)r)rMrNrOr*r²r[rbrdrˆr�r{r£r§r—rArArArBr0us      r0csìeZdZdZdZdZdZdZdZdZ d0dd„Z dd „Z d d „Z d d „Z dd„Zd1dd„Zd2dd„Zdd„Zdd„Zdd„Zefdd„Zdd„Zd3dd„Z‡fd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zed,d-„ƒZed.d/„ƒZ ‡Z!S)4r(rFNTr c CsB|jdkr*z|jrt |j¡W5d|_Xt|tƒrêsz"FileIO.__init__..r rzKMust have exactly one of create/read/write/append mode and at most one plusrTr rrÚO_BINARYZ O_NOINHERITÚ O_CLOEXECz'Cannot use closefd=False with file namei¶zexpected integer from openerzNegative file descriptorFr-)-Ú_fdÚ_closefdrr5rÚfloatr rr#rr!ÚsumÚcountÚ_createdÚ _writableÚO_EXCLÚO_CREATÚ _readableÚO_TRUNCÚ _appendingÚO_APPENDÚO_RDWRÚO_RDONLYÚO_WRONLYÚgetattrrCr.Úset_inheritabler+ÚstatÚS_ISDIRÚst_modeÚIsADirectoryErrorrçZEISDIRrèr/Ú_blksizer*Ú_setmoderórYÚlseekr ZESPIPE) rIr6r4r;rÚfdÚflagsZnoinherit_flagZowned_fdZfdfstatrérArArBr²Ès®     $        ÿ        ÿ    zFileIO.__init__cCsB|jdkr>|jr>|js>ddl}|jd|ftd|d�| ¡dS)Nrzunclosed file %rr )Ú stacklevelÚsource)rõrörjr$r%ÚResourceWarningr5)rIr$rArArBrlAsÿzFileIO.__del__cCstd|jj›d�ƒ‚dSr´rµrarArArBr¶HszFileIO.__getstate__cCspd|jj|jjf}|jr"d|Sz |j}Wn*tk rVd||j|j|jfYSXd|||j|jfSdS)Nz%s.%sz <%s [closed]>z<%s fd=%d mode=%r closefd=%r>z<%s name=%r mode=%r closefd=%r>) rXrNrOrjrYr/rõr4rö)rIÚ class_namerYrArArBr¹Ksÿ ÿ ÿzFileIO.__repr__cCs|jstdƒ‚dS)NzFile not open for reading)rþrVrarArArBrsYszFileIO._checkReadablecCs|jstdƒ‚dS)NzFile not open for writing)rûrVrorArArBru]szFileIO._checkWritablecCsT| ¡| ¡|dks |dkr(| ¡Szt |j|¡WStk rNYdSXdSr’)rgrsrœrrˆrõrær€rArArBrˆasz FileIO.readcCsÞ| ¡| ¡t}z6t |jdt¡}t |j¡j}||krH||d}Wnt k r^YnXt ƒ}t |ƒ|krˆt |ƒ}|t |tƒ7}|t |ƒ}zt  |j|¡}Wntk rÄ|r¾YqÖYdSX|sÌqÖ||7}qft|ƒSr`)rgrsr*rr rõrr+Úst_sizer.r‡r"rÌrˆrær)rIÚbufsizer^Úendr>rrÛrArArBrœqs2   zFileIO.readallcCs4t|ƒ d¡}| t|ƒ¡}t|ƒ}||d|…<|Sr¨)rªr«rˆr")rIrÚmržrrArArBr�”s  zFileIO.readintocCs<| ¡| ¡zt |j|¡WStk r6YdSXdSrQ)rgrurr—rõrærŸrArArBr—œs z FileIO.writecCs*t|tƒrtdƒ‚| ¡t |j||¡S)Nzan integer is required)rr÷r rgrr rõr]rArArBr[ªs z FileIO.seekcCs| ¡t |jdt¡Sr’)rgrr rõrrarArArBrbºsz FileIO.tellcCs2| ¡| ¡|dkr | ¡}t |j|¡|SrQ)rgrurbrÚ ftruncaterõr€rArArBrdÁs zFileIO.truncatecs.|js*z|jrt |j¡W5tƒ ¡XdSrQ)rjrÃr5rörrõrarÄrArBr5Îs z FileIO.closecCsF| ¡|jdkr@z | ¡Wntk r8d|_YnXd|_|jS)NFT)rgÚ _seekablerbr.rarArArBrnÛs   zFileIO.seekablecCs| ¡|jSrQ)rgrþrarArArBrrçszFileIO.readablecCs| ¡|jSrQ)rgrûrarArArBrtìszFileIO.writablecCs| ¡|jSrQ)rgrõrarArArBr,ñsz FileIO.filenocCs| ¡t |j¡SrQ)rgrr)rõrarArArBr)ösz FileIO.isattycCs|jSrQ)rörarArArBr;ûszFileIO.closefdcCsJ|jr|jrdSdSn0|jr,|jr&dSdSn|jrB|jrd?„Z#dRd@dA„Z$dBdC„Z%dSdDdE„Z&dTdFdG„Z'dHdI„Z(dUdJdK„Z)e dLdM„ƒZ*dS)Vr3iNFc Cs| |¡|dkrvzt | ¡¡}Wnttfk r<YnX|dkrvz ddl}Wntk rjd}Yn X| d¡}t |t ƒsŒt d|ƒ‚t   |¡js¨d}t||ƒ‚|dkr¶d}nt |t ƒsÌt d|ƒ‚||_d|_d|_d|_|j ¡|_|_t|jd ƒ|_| |||||¡dS) NrÚasciiFrzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrrrr£)Ú_check_newlinerÚdevice_encodingr,r/rVÚlocaleÚ ImportErrorZgetpreferredencodingrrr#r ÚlookupÚ_is_text_encodingÚ LookupErrorr»Ú_decoded_charsÚ_decoded_chars_usedÚ _snapshotr@rnrÚ_tellingr…Ú _has_read1Ú _configure) rIr@r8r9r:r?Ú write_throughr<rprArArBr²Ïs>           ÿzTextIOWrapper.__init__cCs>|dk r$t|tƒs$tdt|ƒfƒ‚|dkr:td|fƒ‚dS)Nzillegal newline type: %r)Nrr*r(r)zillegal newline value: %r)rrr Útyper#)rIr:rArArBr:÷szTextIOWrapper._check_newlinecCs¤||_||_d|_d|_d|_| |_|dk|_||_|dk|_|pHt j |_ ||_ ||_ |jr | ¡r |j ¡}|dkr z| ¡ d¡Wntk ržYnXdS)Nçrr)Ú _encodingÚ_errorsÚ_encoderÚ_decoderÚ _b2cratioÚ_readuniversalÚ_readtranslateÚ_readnlÚ_writetranslaterÚlinesepÚ_writenlÚ_line_bufferingÚ_write_throughrrtr@rbÚ _get_encoderr5r@)rIr8r9r:r?rGÚpositionrArArBrFýs&    zTextIOWrapper._configurecCs€d |jj|jj¡}z |j}Wntk r2YnX|d |¡7}z |j}Wntk r`YnX|d |¡7}|d |j¡S)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)r·rXrNrOrYr/r4r8)rIr>rYr4rArArBr¹!s ÿ  zTextIOWrapper.__repr__cCs|jSrQ)rJrarArArBr82szTextIOWrapper.encodingcCs|jSrQ)rKrarArArBr96szTextIOWrapper.errorscCs|jSrQ)rUrarArArBr?:szTextIOWrapper.line_bufferingcCs|jSrQ)rVrarArArBrG>szTextIOWrapper.write_throughcCs|jSrQ)r»rarArArBr@BszTextIOWrapper.buffer)r8r9r:r?rGcCsÖ|jdk r*|dk s"|dk s"|tk r*tdƒ‚|dkrH|dkrB|j}q^d}nt|tƒs^td|ƒ‚|dkrn|j}nt|tƒs„td|ƒ‚|tkr’|j}|  |¡|dkrª|j }|dkr¸|j }|  ¡|  |||||¡dS)NzPIt is not possible to set the encoding or newline of stream after the first readrrr)rMÚEllipsisrVrKrrr rJrQr:r?rGrhrF)rIr8r9r:r?rGrArArBÚ reconfigureFs@ ÿÿþÿ      ÿzTextIOWrapper.reconfigurecCs|jrtdƒ‚|jSrv)rjr#rrarArArBrnoszTextIOWrapper.seekablecCs |j ¡SrQ)r@rrrarArArBrrtszTextIOWrapper.readablecCs |j ¡SrQ)r@rtrarArArBrtwszTextIOWrapper.writablecCs|j ¡|j|_dSrQ)r@rhrrDrarArArBrhzs zTextIOWrapper.flushcCs.|jdk r*|js*z | ¡W5|j ¡XdSrQ)r@rjr5rhrarArArBr5~s zTextIOWrapper.closecCs|jjSrQ)r@rjrarArArBrj…szTextIOWrapper.closedcCs|jjSrQ)r@rYrarArArBrY‰szTextIOWrapper.namecCs |j ¡SrQ)r@r,rarArArBr,�szTextIOWrapper.filenocCs |j ¡SrQ)r@r)rarArArBr)�szTextIOWrapper.isattycCsÈ|jrtdƒ‚t|tƒs(td|jjƒ‚t|ƒ}|js<|j oBd|k}|rf|jrf|j dkrf|  d|j ¡}|j pr|  ¡}| |¡}|j |¡|j r¤|sœd|kr¤| ¡| d¡d|_|jrÄ|j ¡|S)NrÇzcan't write %s to text streamr*r(r)rjr#rrr rXrMr"rRrUrTr/rLrWÚencoder@r—rhÚ_set_decoded_charsrCrMr7)rIrZlengthZhaslfÚencoderrrArArBr—“s( ÿ    zTextIOWrapper.writecCst |j¡}||jƒ|_|jSrQ)r ÚgetincrementalencoderrJrKrL)rIZ make_encoderrArArBrWªs  zTextIOWrapper._get_encodercCs2t |j¡}||jƒ}|jr(t||jƒ}||_|SrQ)r ÚgetincrementaldecoderrJrKrOrrPrM)rIZ make_decoderr#rArArBÚ _get_decoder¯s    zTextIOWrapper._get_decodercCs||_d|_dSr’)rArB)rIÚcharsrArArBr\ºsz TextIOWrapper._set_decoded_charscCsF|j}|dkr|j|d…}n|j|||…}|jt|ƒ7_|SrQ)rBrAr")rIrÚoffsetrarArArBÚ_get_decoded_chars¿s z TextIOWrapper._get_decoded_charscCs$|j|krtdƒ‚|j|8_dS)Nz"rewind decoded_chars out of bounds)rBÚAssertionErrorrërArArBÚ_rewind_decoded_charsÉs z#TextIOWrapper._rewind_decoded_charscCs¢|jdkrtdƒ‚|jr&|j ¡\}}|jr<|j |j¡}n|j |j¡}| }|j  ||¡}|  |¡|r‚t |ƒt |j ƒ|_ nd|_ |jrœ|||f|_| S)Nz no decoderrI)rMr#rDr2rEr@r£Ú _CHUNK_SIZErˆr+r\r"rArNrC)rIÚ dec_bufferÚ dec_flagsÚ input_chunkÚeofZ decoded_charsrArArBÚ _read_chunkÏs  zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|ƒd>BS)Né@é€éÀé)r4)rIrXrhÚ bytes_to_feedÚneed_eofÚ chars_to_skiprArArBÚ _pack_cookieùs ÿ ÿzTextIOWrapper._pack_cookiecCsFt|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}|||||fS)Nl)Údivmod)rIZbigintÚrestrXrhrprqrrrArArBÚ_unpack_cookie s zTextIOWrapper._unpack_cookiec Cs@|jstdƒ‚|jstdƒ‚| ¡|j ¡}|j}|dksF|jdkrX|j rTt dƒ‚|S|j\}}|t |ƒ8}|j }|dkrˆ|  ||¡S| ¡}�zœt|j|ƒ}d}|dk�r"| d|f¡t | |d|…¡ƒ} | |k�r| ¡\} } | sþ| }|| 8}�q4|t | ƒ8}d}q¦||8}|d}q¦d}| d|f¡||} |} |dk�rZ|  | | ¡W¢ØSd}d}d}t|t |ƒƒD]x}|d7}|t | |||d…¡ƒ7}| ¡\}}|�sÚ||k�rÚ| |7} ||8}|dd} }}||k�rt�q�qt|t |jddd �ƒ7}d}||k�rtd ƒ‚|  | | |||¡W¢S| |¡XdS) Nú!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr rÆr Tr&z'can't reconstruct logical file position)rrVrDr.rhr@rbrMrCrArdr"rBrsr2r5rrNr+Úrange)rIrXr#rhZ next_inputrrZ saved_stateZ skip_bytesZ skip_backrrÚdÚ start_posZ start_flagsZ bytes_fedrqZ chars_decodedÚirgrArArBrb s€              ÿzTextIOWrapper.tellcCs$| ¡|dkr| ¡}|j |¡SrQ)rhrbr@rdrerArArBrdm szTextIOWrapper.truncatecCs*|jdkrtdƒ‚| ¡|j}d|_|S)Nzbuffer is already detached)r@r#rhr»)rIr@rArArBr­s s  zTextIOWrapper.detachc sćfdd„}ˆjrtdƒ‚ˆjs(tdƒ‚|tkrN|dkr@tdƒ‚d}ˆ ¡}nZ|tkr¨|dkrftdƒ‚ˆ ¡ˆj  d|¡}ˆ  d¡dˆ_ ˆj rœˆj   ¡||ƒ|S|dkr¾td |fƒ‚|dkrÔtd |fƒ‚ˆ ¡ˆ |¡\}}}}} ˆj  |¡ˆ  d¡dˆ_ |dk�r*ˆj �r*ˆj   ¡n@ˆj �s>|�s>| �rjˆj �pLˆ ¡ˆ_ ˆj  d |f¡|d fˆ_ | �r¸ˆj |¡} ˆ  ˆj  | |¡¡|| fˆ_ tˆjƒ| k�r²td ƒ‚| ˆ_||ƒ|S) NcsHzˆjpˆ ¡}Wntk r&YnX|dkr<| d¡n| ¡dSr’)rLrWr@r5r7)rXr]rarArBÚ_reset_encoder| s z*TextIOWrapper.seek.._reset_encoderrÎrwrz#can't do nonzero cur-relative seeksz#can't do nonzero end-relative seeksrzunsupported whence (%r)rËrÆz#can't restore logical file position)rjr#rrVrrbr rhr@r[r\rCrMr7rvr`r5rˆr+r"rAr.rB) rIZcookier_r|rXrzrhrprqrrrirArarBr[{ s`    ÿ       ÿ zTextIOWrapper.seekcCsØ| ¡|dkrd}n4z |j}Wn"tk rBt|›d�ƒ‚YnX|ƒ}|jpV| ¡}|dkr�| ¡|j|j  ¡dd�}|  d¡d|_ |Sd}| |¡}t |ƒ|krÐ|sÐ|  ¡ }|| |t |ƒ¡7}qž|SdS)Nrr„rTr&rF)rsr†r/r rMr`rcr+r@rˆr\rCr"rk)rIr�rŠr#r>rjrArArBrˆÆ s, ÿ   zTextIOWrapper.readcCs(d|_| ¡}|s$d|_|j|_t‚|Srm)rDrŒrCrrŽr�rArArBr‘â szTextIOWrapper.__next__c Cs |jrtdƒ‚|dkrd}n4z |j}Wn"tk rHt|›d�ƒ‚YnX|ƒ}| ¡}d}|jsj| ¡d}}|jr¤|  d|¡}|dkrš|d}�qÔnt |ƒ}nÊ|j �rF|  d|¡}|  d|¡}|dkrì|dkrÞt |ƒ}n |d}�qÔnX|dk�r|d}�qÔn@||k�r|d}�qÔn(||dk�r8|d}�qÔn |d}�qÔn(|  |j ¡}|dk�rn|t |j ƒ}�qÔ|dk�rŽt |ƒ|k�rŽ|}�qÔ|  ¡�r¨|j�rŽ�q¨�qŽ|j�r¾|| ¡7}qr| d ¡d|_|Sqr|dk�rì||k�rì|}| t |ƒ|¡|d|…S) NrÅrr„rr*r r(r r)rjr#r†r/r rcrMr`rPr}r"rOrQrkrAr\rCre) rIr�rŠr�Ústartr^ÚendposZnlposZcrposrArArBrŒë st            zTextIOWrapper.readlinecCs|jr|jjSdSrQ)rMrrarArArBrH szTextIOWrapper.newlines)NNNFF)NNNFF)N)rrrr)N)r)N)N)+rMrNrOrfr»r²r:rFr¹r™r8r9r?rGr@rYrZrnrrrtrhr5rjrYr,r)r—rWr`r\rcrerkrsrvrbrdr­r[rˆr‘rŒrrArArArBr3®szÿ (ÿ $     þ )    *ÿ c  K  ]r3csNeZdZd‡fdd„ Zdd„Zdd„Zed d „ƒZed d „ƒZd d„Z ‡Z S)ÚStringIOrr*csftt|ƒjtƒdd|d�|dkr(d|_|dk rbt|tƒsNtd t |ƒj ¡ƒ‚|  |¡|  d¡dS)Nzutf-8Ú surrogatepass)r8r9r:Fz*initial_value must be str or None, not {0}r) rÃrr²rºrRrrr r·rHrMr—r[)rIZ initial_valuer:rÄrArBr²T sý ÿ zStringIO.__init__c CsP| ¡|jp| ¡}| ¡}| ¡z|j|j ¡dd�W¢S| |¡XdS)NTr&) rhrMr`r2r7r5r+r@rÀ)rIr#Z old_staterArArBrÀd szStringIO.getvaluecCs t |¡SrQ)Úobjectr¹rarArArBr¹n szStringIO.__repr__cCsdSrQrArarArArBr9s szStringIO.errorscCsdSrQrArarArArBr8w szStringIO.encodingcCs| d¡dSr¬r\rarArArBr­{ szStringIO.detach)rr*) rMrNrOr²rÀr¹r™r9r8r­rÐrArArÄrBrM s   r)r rNNNTN)7rÚabcr rçrÚsysÚ_threadrrÔÚplatformZmsvcrtrr Úiorrrr rár…Úaddr Ú SEEK_DATAr*rærÚdev_moderkrCrFÚ open_coder/rGrPrVr.r#ÚABCMetarWÚregisterr›Ú_ior(r¡r®rºr2r1rìr0rr!rr3rrArArArBÚs„      ÿ [    $ =   g hCiIJY@ U$