PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  lY6@s3ddlZddlZddlZddlZdddgZGdddeZdZdZdZ dZ d Z Gd d d Z d d Z GdddZGdddZGdddZGdddZddZGdddZGdddZGdddZddZdS)NbinhexhexbinErrorc@seZdZdS)rN)__name__ __module__ __qualname__rr%/opt/python35/lib/python3.5/binhex.pyrs i@sc@seZdZddZdS)FInfocCsd|_d|_d|_dS)Nz????r)TypeCreatorFlags)selfrrr __init__0s  zFInfo.__init__N)rrrrrrrr r /s r c Cst}tj|dG}|jd}d|krBd|_|jdd|j}WdQRXtjj |\}}|j ddd}|||dfS) NrbirZTEXT:-r ) r ioopenreadr seektellospathsplitreplace)namefinfofpdataZdsizedirfilerrr getfileinfo5s   r%c@s@eZdZddZddZddZddZd S) openrsrccGsdS)Nr)rargsrrr rCszopenrsrc.__init__cGsdS)Nr)rr'rrr rFsz openrsrc.readcGsdS)Nr)rr'rrr writeIszopenrsrc.writecCsdS)Nr)rrrr closeLszopenrsrc.closeN)rrrrrr)r*rrrr r&Bs    r&c@s@eZdZddZddZddZddZd S) _HqxcoderenginecCs,||_d|_d|_td|_dS)Nr(r )ofpr"hqxdataLINELENlinelen)rr,rrr rRs   z_Hqxcoderengine.__init__cCs|j||_t|j}|dd}|jd|}|j|d|_|s`dS|jtj||_|jddS)Nr)r"lenr-binasciib2a_hqx_flush)rr"ZdatalenZtodorrr r)Xsz_Hqxcoderengine.writecCsd}x]|t|j|jkre||j}|jj|j||dt|_|}q W|j|d|_|r|jj|jddS)Nrs s: )r1r-r/r,r)r.)rforcefirstZlastrrr r4cs !  z_Hqxcoderengine._flushcCsI|jr%|jtj|j|_|jd|jj|`dS)Nr )r"r-r2r3r4r,r*)rrrr r*ns    z_Hqxcoderengine.closeN)rrrrr)r4r*rrrr r+Os   r+c@s4eZdZddZddZddZdS)_RlecoderenginecCs||_d|_dS)Nr()r,r")rr,rrr rxs z_Rlecoderengine.__init__cCsX|j||_t|jtkr)dStj|j}|jj|d|_dS)Nr()r"r1REASONABLY_LARGEr2 rlecode_hqxr,r))rr"rledatarrr r)|s z_Rlecoderengine.writecCsB|jr+tj|j}|jj||jj|`dS)N)r"r2r9r,r)r*)rr:rrr r*s   z_Rlecoderengine.closeN)rrrrr)r*rrrr r7us   r7c@speZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)BinHexc Cs|\}}}}d}t|trE|}tj|d}d}yu|jdt|} t| |_d|_|dkrt }||_ ||_ |j ||t |_Wn|r|jYnXdS)NFwbTs0(This file must be converted with BinHex 4.0) :r) isinstancestrrrr)r+r7r,crcr dlenrlen _writeinfo _DID_HEADERstater*) rZname_finfo_dlen_rlenr,rr r@rAZclose_on_errorZofnameZhqxerrrr rs*         zBinHex.__init__c Cst|}|dkr$tdt|g|jdd}|j|j}}t|tru|jd}t|tr|jd}||}tj d|j }tj d|j |j } |||| } |j | |jdS)N?zFilename too longzlatin-1sz>hz>ii)r1rbytesencoder rr=r>structpackrr@rA_write _writecrc) rrr nldtpZcrZd2Zd3Zd4inforrr rBs      zBinHex._writeinfocCs,tj||j|_|jj|dS)N)r2crc_hqxr?r,r))rr"rrr rJsz BinHex._writecCsJ|jdkrd}nd}|jjtj||jd|_dS)Nrz>hz>H)r?r,r)rHrI)rfmtrrr rKs  zBinHex._writecrccCsB|jtkrtd|jt||_|j|dS)NzWriting data at the wrong time)rDrCrr@r1rJ)rr"rrr r)s z BinHex.writecCs<|jdkr%td|jf|jt|_dS)NrzIncorrect data size, diff=%r)r@rrArK _DID_DATArD)rrrr close_datas zBinHex.close_datacCs[|jtkr|j|jtkr4td|jt||_|j|dS)Nz'Writing resource data at the wrong time)rDrRrSrrAr1rJ)rr"rrr write_rsrcs   zBinHex.write_rsrcc Cs|jdkrdSzg|jtkr/|j|jtkrJtd|jdkrotd|jf|jWdd|_|j}|`|jXdS)NzClose at the wrong timerz$Incorrect resource-datasize, diff=%r)rDrRrSrrArKr,r*)rr,rrr r*s    z BinHex.closeN) rrrrrBrJrKr)rSrTr*rrrr r;s       r;c Cst|}t||}tj|d;}x'|jd}|sIP|j|q3W|jWdQRXt|d}x'|jd}|sP|j|q}W|j |j dS)Nri) r%r;rrrr)rSr&rTr*)inpoutr r,ifprMrrr rs"  c@s4eZdZddZddZddZdS)_HqxdecoderenginecCs||_d|_dS)Nr)rWeof)rrWrrr rs z_Hqxdecoderengine.__init__c Csd}|}x|dkr|jr(|S|ddd}|jj|}xgytj|\}|_PWntjk rYnX|jjd}|std||}qOW||}|t|}| r|j rtdqW|S)Nr(rrr0r zPremature EOF on binhex file)rYrWrr2Za2b_hqxZ Incompleterr1)rZtotalwtdZdecdatawtdr"Z decdatacurnewdatarrr rs,   z_Hqxdecoderengine.readcCs|jjdS)N)rWr*)rrrr r*%sz_Hqxdecoderengine.closeN)rrrrrr*rrrr rXs   rXc@s@eZdZddZddZddZddZd S) _RledecoderenginecCs(||_d|_d|_d|_dS)Nr(r)rW pre_buffer post_bufferrY)rrWrrr r+s   z_Rledecoderengine.__init__cCs\|t|jkr/|j|t|j|jd|}|j|d|_|S)N)r1r__fill)rr[rvrrr r1s z_Rledecoderengine.readcCsH|j|jj|d|_|jjrU|jtj|j|_d|_dSt|j}|jddtdtkr|d}nv|jddtkr|d}nP|jd dtdkr|d}n&|jd d tkrn |d}|jtj|jd||_|j|d|_dS) NrZr(r0sr rrdrc) r^rWrrYr_r2Z rledecode_hqxr1RUNCHAR)rr[markrrr r`8s&    !     z_Rledecoderengine._fillcCs|jjdS)N)rWr*)rrrr r*[sz_Rledecoderengine.closeN)rrrrrr`r*rrrr r](s    #r]c@speZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)HexBincCst|tr!tj|d}xA|jd}|sEtd|dkrTq$|dkr$Pq$Wt|}t||_d|_ |j dS)Nrr zNo binhex data founds :r) r=r>rrrrrXr]rWr? _readheader)rrWZchZhqxifprrr r_s     zHexBin.__init__cCs.|jj|}tj||j|_|S)N)rWrr2rPr?)rr1r"rrr _readusz HexBin._readcCsktjd|jjddd@}|jd@|_||jkr^td|j|fd|_dS)Nz>hrrizCRC error, computed %x, read %x)rHunpackrWrr?r)rZfilecrcrrr _checkcrczs &zHexBin._checkcrccCs |jd}|jt|}|jd}|j|dd}|dd}tjd|ddd}tjd |dd d|_tjd |d d d|_||_t|_||j_ ||j_ ||j_ t |_ dS)Nr rZr z>h rz>lrmrnrorprq)rjordrlrHrkr@rAFNamer rr rrCrD)rr1ZfnameresttypeZcreatorflagsrrr ris  ##     zHexBin._readheadercGs|jtkrtd|r@|d}t||j}n |j}d}x3t||kr||j|t|}qRW|j||_|S)NzRead data at wrong timerr()rDrCrminr@r1rj)rnrarrr rs   !z HexBin.readcCsM|jtkrtd|jr6|j|j}|jt|_dS)Nzclose_data at wrong time)rDrCrr@rjrlrR)rdummyrrr rSs    zHexBin.close_datacGs|jtkr|j|jtkr4td|rY|d}t||j}n |j}|j||_|j|S)Nz Read resource data at wrong timer)rDrCrSrRrrwrArj)rrxrrr read_rsrcs    zHexBin.read_rsrcc CsZ|jdkrdSz)|jr1|j|j}|jWdd|_|jjXdS)N)rDrArzrlrWr*)rryrrr r*s  z HexBin.closeN) rrrrrjrlrirrSrzr*rrrr rg^s       rgc Cst|}|j}|s$|j}tj|d1}x'|jd}|sRP|j|q<WWdQRX|j|jd}|rt |d}|j|x'|jd}|sP|j|qW|j |j dS)Nr<i) rgr rsrrrr)rSrzr&r*)rUrVrWr r,rMrrr rs,      )rrrHr2__all__ ExceptionrrCrRr8r.rer r%r&r+r7r;rrXr]rgrrrrr s*      &^ *6h