
    0hh~                       S SK r S SKrS SKJrJrJr  S SKrS SKrS SKrS SK	r	S SK
Jr  S SKrS SKJrJr  S SKJr  S SKJrJrJr  \" S5      rS SKJrJrJrJr   " S	 S
\R6                  5      r " S S\R6                  5      r " S S5      r " S S\R6                  5      r " S S\R6                  5      r  " S S\R6                  5      r!Sr"Sr#Sr$Sr%\RL                  SS./r'Sr(\RR                  SS.\RL                  \RT                  \RV                  -  S./r,Sr-\R\                  SS .S!\RL                  0/r/S"r0\RR                  S#S.\Rb                  S$S .\RL                  S#SS%./r2S&r3S'r4\5S(:X  a  \Rl                  " 5         gg))    N)BytesIOUnsupportedOperationDEFAULT_BUFFER_SIZE)support)_4G
bigmemtest)import_module)TESTFNunlinkFakePathlzma)LZMACompressorLZMADecompressor	LZMAErrorLZMAFilec                   l   \ rS rSrS rS rS rS rS)S jrS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\ RB                  \"" \#S-   SS 9S! 5       5       r$\ RB                  \"" \#S-   S"S 9S# 5       5       r%S$ r&\ RN                  S% 5       r(S& r)S'r*g()*CompressorDecompressorTestCase   c                 P   U R                  [        [        / 5        U R                  [        [        SS9  U R                  [        [        SS9  U R                  [        [        SS9  U R                  [        [        SS9  U R                  [        [        [        R
                  S9  U R                  [        5         [        S	S
[        R                  0/S9  S S S 5        U R                  [        [        S5        U R                  [        [        SS9  U R                  [        5         [        [        R                  SS9  S S S 5        U R                  [        5         [        [        R                  SS9  S S S 5        U R                  [        [        [        S9  U R                  [        5         [        [        R                  [        S9  S S S 5        U R                  [        5         [        [        R                  [        S9  S S S 5        [        5       nU R                  [        UR                  5        U R                  [        UR                  SS5        U R                  [        UR                  S5        UR                  5       nU R                  [        UR                  S5        U R                  [        UR                  5        [        5       nU R                  [        UR                  5        U R                  [        UR                  SS5        UR                  U5        U R                  [        UR                  S5        g ! , (       d  f       GN}= f! , (       d  f       GN%= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Ng@format checkasdfpreset   filters   idr   r     s   qwmemlimitzzz   r   r       foo   bars   blahs   quux)assertRaises	TypeErrorr   
ValueErrorr   FORMAT_AUTOFILTER_LZMA2r   
FORMAT_RAWFILTERS_RAW_1	FORMAT_XZFORMAT_ALONEcompressflush
decompressEOFError)selflzcemptylzds       7/opt/python-3.13.8/usr/lib/python3.13/test/test_lzma.pytest_simple_bad_args3CompressorDecompressorTestCase.test_simple_bad_args   s{   )^R8)^DA)^2>)^FC)^Q?*nT=M=MNz*!tT5F5F.G-HI + 	)%5r:)%5Fy)T__e< * z*T__yA + 	*&6Nz*DNNMJ +z*D$5$5}M + )S\\2)S\\66B)SYY8		*cllG<*cii0 )S^^4)S^^VVDu(CNNG<; +*
 *) +* +***s<   <M)M M22N,N
M 
M/2
N
N
N%c                 d   U R                  [        [        S/S9  U R                  [        [        SS0/S9  U R                  [        [        SS0/S9  U R                  [        5         [        [        R
                  SS./S9  S S S 5        U R                  [        5         [        [        R                  SS./S9  S S S 5        U R                  [        5         [        [        R                  SS./S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = f)	N   wobsiter   xyzzyr   r"   ́ r   r"   foo)r,   r-   r   r.   r   r0   FILTER_DELTA
FILTER_X86r9   s    r=   test_bad_filter_spec3CompressorDecompressorTestCase.test_bad_filter_specA   s    )^j\J*n|nM*ne}oNz*4+<+<Q$G#HI +z*4+<+<Q$G#HI +z*4??1$E#FG +*	 +*****s$   (C?!DD!?
D
D!
D/c                     [        5       nUR                  [        5        U R                  [        UR                  S5        g )Ns   nyan)r   r7   COMPRESSED_XZr,   r8   r9   r<   s     r=   test_decompressor_after_eof:CompressorDecompressorTestCase.test_decompressor_after_eofL   s,     }%(CNNG<    c                 T   [        SS9nU R                  [        UR                  [        5        [        [
        R                  SS9nU R                  [        UR                  [        5        [        [
        R                  SS9nU R                  [        UR                  [        5        g )N   r%   )	r   r,   r   r7   rL   r   r3   r4   COMPRESSED_ALONErM   s     r=   test_decompressor_memlimit9CompressorDecompressorTestCase.test_decompressor_memlimitQ   sq    -)S^^]Ct~~=)S^^]Ct004@)S^^5EFrP   c                 .   U R                  UR                  5        UR                  U5      nU R                  U[        5        U R                  UR
                  U5        U R                  UR                  5        U R                  UR                  U5        g N)assertFalseeofr7   assertEqualINPUTr   
assertTrueunused_data)r9   r<   datar   r]   outs         r=   _test_decompressor1CompressorDecompressorTestCase._test_decompressor]   sj    !nnT"e$E* +6rP   c                     [        5       nU R                  U[        [        R                  5        [        5       nU R                  U[
        [        R                  5        g rW   )r   r`   rL   r   CHECK_CRC64rS   
CHECK_NONErM   s     r=   test_decompressor_auto5CompressorDecompressorTestCase.test_decompressor_autoe   sA     ]D4D4DE %5tGrP   c                     [        [        R                  5      nU R                  U[        [        R
                  5        g rW   )r   r   r3   r`   rL   rc   rM   s     r=   test_decompressor_xz3CompressorDecompressorTestCase.test_decompressor_xzl   s(    t~~.]D4D4DErP   c                     [        [        R                  5      nU R                  U[        [        R
                  5        g rW   )r   r   r4   r`   rS   rd   rM   s     r=   test_decompressor_alone6CompressorDecompressorTestCase.test_decompressor_alonep   s)    t001%5tGrP   c                     [        [        R                  [        S9nU R	                  U[
        [        R                  5        g Nr   )r   r   r1   r2   r`   COMPRESSED_RAW_1rd   rM   s     r=   test_decompressor_raw_16CompressorDecompressorTestCase.test_decompressor_raw_1t   )    tF%5tGrP   c                     [        [        R                  [        S9nU R	                  U[
        [        R                  5        g rn   )r   r   r1   FILTERS_RAW_2r`   COMPRESSED_RAW_2rd   rM   s     r=   test_decompressor_raw_26CompressorDecompressorTestCase.test_decompressor_raw_2x   rr   rP   c                     [        [        R                  [        S9nU R	                  U[
        [        R                  5        g rn   )r   r   r1   FILTERS_RAW_3r`   COMPRESSED_RAW_3rd   rM   s     r=   test_decompressor_raw_36CompressorDecompressorTestCase.test_decompressor_raw_3|   rr   rP   c                     [        [        R                  [        S9nU R	                  U[
        [        R                  5        g rn   )r   r   r1   FILTERS_RAW_4r`   COMPRESSED_RAW_4rd   rM   s     r=   test_decompressor_raw_46CompressorDecompressorTestCase.test_decompressor_raw_4   rr   rP   c           	         [        5       n/ n[        S[        [        5      S5       HG  nU R	                  UR
                  5        UR                  UR                  [        X3S-    5      5        MI     SR                  U5      nU R                  U[        5        U R                  UR                  [        R                  5        U R                  UR
                  5        U R                  UR                  S5        g Nr   
   rP   r   rangelenrL   rX   rY   appendr7   joinrZ   r[   r   r   rc   r\   r]   r9   r<   r_   is       r=   test_decompressor_chunks7CompressorDecompressorTestCase.test_decompressor_chunks   s     q#m,b1ASWW%JJs~~mAd&;<= 2 hhsme$D$4$45 #.rP   c           	         [        5       n/ n[        S[        [        5      S5       H  nU R	                  UR
                  5        UR                  UR                  S5      5        UR                  UR                  S5      5        UR                  UR                  S5      5        UR                  UR                  [        X3S-    5      5        M     SR                  U5      nU R                  U[        5        U R                  UR                  [        R                  5        U R                  UR
                  5        U R                  UR                  S5        g r   r   r   s       r=   test_decompressor_chunks_empty=CompressorDecompressorTestCase.test_decompressor_chunks_empty   s     q#m,b1ASWW%JJs~~c*+JJs~~c*+JJs~~c*+JJs~~mAd&;<= 2 hhsme$D$4$45 #.rP   c                    [        5       nSn/ n[        [        5      S-  nUR                  UR	                  [        S U US95        U R                  UR                  5        U R                  [        US   5      U5        UR                  UR	                  SUS95        U R                  UR                  5        U R                  [        US   5      U5        UR                  UR	                  [        US  US95        U R                  [        US   5      U5        UR                  (       dP  UR                  UR	                  SUS95        U R                  [        US   5      U5        UR                  (       d  MP  SR                  U5      nU R                  U[        5        U R                  UR                  [        R                  5        U R                  UR                  S5        g )Nd      
max_lengthrP   )r   r   rL   r   r7   rX   needs_inputrZ   assertLessEqualrY   r   r[   r   r   rc   r]   )r9   r<   r   r_   len_s        r=    test_decompressor_chunks_maxsize?CompressorDecompressorTestCase.test_decompressor_chunks_maxsize   s    
 =!Q&

3>>-"6-7 " 9 	:)SWz2 	

3>>#*>=>)SWz2 	

3>>-"6-7 " 9 	:SR\:6 ''JJs~~cj~AB  SWz: ''' hhsme$D$4$45#.rP   c                    [        5       n/ nU R                  UR                  [        S S SS9S5        UR	                  UR                  SS5      5        UR	                  UR                  [        SS S5      5        UR	                  UR                  [        SS  5      5        U R                  SR                  U5      [        5        g )Nr   r   r   rP   r   i      r   rZ   r7   rL   r   r   r[   r9   r<   r_   s      r=   test_decompressor_inputbuf_1;CompressorDecompressorTestCase.test_decompressor_inputbuf_1   s       	ds(;34 ( 67:	<
 	

3>>#q)* 	

3>>-C"8"=> 	

3>>-"567#.rP   c                    [        5       n/ nU R                  UR                  [        S S SS9S5        UR	                  UR                  S5      5        UR	                  UR                  [        SS S5      5        UR	                  UR                  [        SS S5      5        UR	                  UR                  [        SS  5      5        U R                  SR                  U5      [        5        g )N   r   r   rP   i  r   ,  r   r   s      r=   test_decompressor_inputbuf_2;CompressorDecompressorTestCase.test_decompressor_inputbuf_2   s       	ds(;34 ( 67:	<

3>>#&' 	

3>>-C"8!<= 	

3>>-C"8!<= 	

3>>-"567#.rP   c                 T   [        5       n/ nUR                  UR                  [        S S S5      5        UR                  UR                  [        SS S5      5        UR                  UR                  [        SS  5      5        U R	                  SR                  U5      [        5        g )Nr      r   rP   )r   r   r7   rL   rZ   r   r[   r   s      r=   test_decompressor_inputbuf_3;CompressorDecompressorTestCase.test_decompressor_inputbuf_3   s       	

3>>-"5q9: 	

3>>-C"8!<= 	

3>>-"567#.rP   c                 j    [        5       nSnU R                  U[        U-   [        R                  US9  g )Ns	   fooblibarr]   )r   r`   rL   r   rc   )r9   r<   extras      r=   test_decompressor_unused_data<CompressorDecompressorTestCase.test_decompressor_unused_data   s6     ]U%:D<L<L,1 	  	3rP   c                    [        5       nU R                  [        UR                  [        5        [        [
        R                  5      nU R                  [        UR                  [        5        [        [
        R                  5      nU R                  [        UR                  [        5        [        [
        R                  [        S9nU R                  [        UR                  [        5        g rn   )r   r,   r   r7   ro   r   r3   rS   r4   rL   r1   r2   rM   s     r=   test_decompressor_bad_input:CompressorDecompressorTestCase.test_decompressor_bad_input   s     )S^^5EFt~~.)S^^5EFt001)S^^]CtF)S^^]CrP   c                     [        5       nU R                  [        UR                  [        5        U R                  [        UR                  [        5        g rW   )r   r,   r   r7   ro   rM   s     r=   test_decompressor_bug_28275:CompressorDecompressorTestCase.test_decompressor_bug_28275  s8     )S^^5EF)S^^5EFrP   c                     [        5       nUR                  [        5      UR                  5       -   n[	        5       nU R                  X2[        R                  5        g rW   )r   r5   r[   r6   r   r`   r   rc   r9   r:   cdatar<   s       r=   test_roundtrip_xz0CompressorDecompressorTestCase.test_roundtrip_xz  sA    U#ciik1 D,<,<=rP   c                     [        [        R                  5      nUR                  [        5      UR                  5       -   n[        5       nU R                  X2[        R                  5        g rW   )	r   r   r4   r5   r[   r6   r   r`   rd   r   s       r=   test_roundtrip_alone3CompressorDecompressorTestCase.test_roundtrip_alone  sG    T../U#ciik1 DOO<rP   c                     [        [        R                  [        S9nUR	                  [
        5      UR                  5       -   n[        [        R                  [        S9nU R                  X2[        R                  5        g rn   
r   r   r1   r~   r5   r[   r6   r   r`   rd   r   s       r=   test_roundtrip_raw1CompressorDecompressorTestCase.test_roundtrip_raw"  sO    T__mDU#ciik1tFDOO<rP   c                 t   [        [        R                  [        S9nUR	                  [
        5      nX!R	                  S5      -  nX!R	                  S5      -  nX!R	                  S5      -  nX!R                  5       -  n[        [        R                  [        S9nU R                  X2[        R                  5        g )Nr   rP   r   r   s       r=   test_roundtrip_raw_empty7CompressorDecompressorTestCase.test_roundtrip_raw_empty(  s    T__mDU#c""c""c""tFDOO<rP   c           	      d   [        5       n/ n[        S[        [        5      S5       H,  nUR	                  UR                  [        X3S-    5      5        M.     UR	                  UR                  5       5        SR                  U5      n[        5       nU R                  XB[        R                  5        g r   r   r   r   r[   r   r5   r6   r   r   r`   r   rc   r9   r:   r   r   r<   s        r=   test_roundtrip_chunks4CompressorDecompressorTestCase.test_roundtrip_chunks2  s    q#e*b)ALLeAdm45 *SYY[! D,<,<=rP   c           	      $   [        5       n/ n[        S[        [        5      S5       H  nUR	                  UR                  [        X3S-    5      5        UR	                  UR                  S5      5        UR	                  UR                  S5      5        UR	                  UR                  S5      5        M     UR	                  UR                  5       5        SR                  U5      n[        5       nU R                  XB[        R                  5        g r   r   r   s        r=   test_roundtrip_empty_chunks:CompressorDecompressorTestCase.test_roundtrip_empty_chunks<  s    q#e*b)ALLeAdm45LLc*+LLc*+LLc*+	 *
 	SYY[! D,<,<=rP   c                 v    [        5       nU R                  U[        [        -   [        R
                  [        S9  g )Nr   )r   r`   rL   rS   r   rc   rM   s     r=   test_decompressor_multistream<CompressorDecompressorTestCase.test_decompressor_multistreamK  s4     ]5E%E $ 0 0>N 	  	PrP   r   r   )sizememusec                 *   [        5       nUR                  SU-  5      UR                  5       -   n[        R	                  U5      n U R                  [        U5      U5        U R                  [        UR                  S5      5      S5        S ng ! S nf = f)N   xr   )r   r5   r6   r   r7   rZ   r   strip)r9   r   r:   r   ddatas        r=   test_compressor_bigmem5CompressorDecompressorTestCase.test_compressor_bigmemR  sy     TD[)CIIK7&	SZ.ST!23Q7EDEs   AB Br   c                    [        5       n[        SU5      n[        R                  " U5      n XAS-
  U-  S-   -  n[        R                  U5      nUR                  U5      nU R                  Xu5        S =n=pgg ! S =n=pgf = f)Ni      )r   minrandom	randbytesr   r5   r7   rZ   )r9   r   r<   	blocksizeblockinputr   r   s           r=   test_decompressor_bigmem7CompressorDecompressorTestCase.test_decompressor_bigmem^  s      ($/	  +	)1f2Q67EMM%(ENN5)EU*$((E(EED(E(EEs   AA8 8A?c                    [        [        R                  S-   5       H}  nU R                  [        5         [        R
                  " [        5       U5        S S S 5        U R                  [        5         [        R
                  " [        5       U5        S S S 5        M     g ! , (       d  f       NP= f! , (       d  f       M  = fNr   )r   pickleHIGHEST_PROTOCOLr,   r-   dumpsr   r   )r9   protos     r=   test_pickle*CompressorDecompressorTestCase.test_picklen  sv    622Q67E""9-^-u5 .""9--/7 .- 8----s    B2 B0
B-	0
B?	c                     [         R                  " [        S5      n[        5       nU" 5       n[	        S5       H  nUR                  5         M     U R                  U" 5       U-
  SSS9  g )Ngettotalrefcountr   r   r   )delta)r   get_attributesysr   r   __init__assertAlmostEqual)r9   r   r<   refs_beforer   s        r=   &test_refleaks_in_decompressor___init__ECompressorDecompressorTestCase.test_refleaks_in_decompressor___init__u  s[    "006HI &(sALLN /1K?"MrP   c                     U R                  [        R                  " [        5      R                  [	        5       5      S5        g NrP   )rZ   r   __new__r7   bytesrH   s    r=   )test_uninitialized_LZMADecompressor_crashHCompressorDecompressorTestCase.test_uninitialized_LZMADecompressor_crash~  s-    )112BC#EG,c	3rP   r$   NrP   )+__name__
__module____qualname____firstlineno__r>   rI   rN   rT   r`   re   rh   rk   rp   rv   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   skip_if_pgo_taskr   r   r   r   r   refcount_testr   r   __static_attributes__r$   rP   r=   r   r      s   &=P	H=
G7HFHHHHH
///@/,/*/ 3DG>===>>P S3Yq) *  S3Yq)
) * 
)8 N N3rP   r   c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)"CompressDecompressFunctionTestCasei  c                    U R                  [        [        R                  5        U R                  [        [        R                  / 5        U R                  [        [        R                  SSS9  U R                  [        [        R                  SSS9  U R                  [        [        R                  SSS9  U R                  [        [        R                  SSS	9  U R                  [        5         [        R                  SS
S[        R
                  0/S9  S S S 5        U R                  [        [        R                  5        U R                  [        [        R                  / 5        U R                  [        [        R                  SSS9  U R                  [        [        R                  SSS9  U R                  [        5         [        R                  S[        R                  0 S9  S S S 5        U R                  [        5         [        R                  S[        R                  SS9  S S S 5        U R                  [        5         [        R                  S[        S	9  S S S 5        U R                  [        5         [        R                  S[        R                  [        S9  S S S 5        U R                  [        5         [        R                  S[        R                  [        S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN#= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NrP   xzr   noner   blahr   rR   r   r   r"   r#   r   g   1Ar%   r)   r(   r   r&   )r,   r-   r   r5   r.   r0   r7   r1   r2   r3   r4   rH   s    r=   test_bad_args0CompressDecompressFunctionTestCase.test_bad_args  s6   )T]]3)T]]B7)T]]CE)T]]CvF)T]]CG)T]]CFz*MM#a49J9J2K1LMM + 	)T__5)T__b9)T__c&I)T__cEJy)OOCOD * z*OOC)OL + z*OOCO7 +z*OOCON +z*OO 1 1=  J +*# +* *) +* +*****sH   /'K2$L$LL'<(L8(M	2
L
L
L$'
L58
M	
Mc                    U R                  [        5         [        R                  [        SS9  S S S 5        U R                  [        5         [        R                  [        [        R
                  SS9  S S S 5        U R                  [        5         [        R                  [        [        R                  SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       Ne= f! , (       d  f       g = f)NrR   r%   r	  )r,   r   r   r7   rL   r3   rS   r4   rH   s    r=   test_decompress_memlimit;CompressDecompressFunctionTestCase.test_decompress_memlimit  s    y)OOMDO9 *y)OO!$..4  I * y)OO$T->->  O *) *))) *)s#   C(C(C$
C
C!$
C2c                    [         R                  [        5      nU R                  U[        5        [         R                  [
        5      nU R                  U[        5        [         R                  [        [         R                  5      nU R                  U[        5        [         R                  [
        [         R                  5      nU R                  U[        5        [         R                  [        [         R                  [        S9nU R                  U[        5        [         R                  [        [         R                  [        S9nU R                  U[        5        [         R                  [        [         R                  [        S9nU R                  U[        5        [         R                  [        [         R                  [         S9nU R                  U[        5        g rn   )r   r7   rL   rZ   r[   rS   r3   r4   ro   r1   r2   ru   rt   rz   ry   r   r~   r9   r   s     r=   test_decompress_good_input=CompressDecompressFunctionTestCase.test_decompress_good_input  sF   .& 01&t~~>& 0$2C2CD& $//=   J& $//=   J& $//=   J& $//=   J&rP   c                    U R                  [        [        R                  [        S S 5        U R                  [        [        R                  [
        S S 5        U R                  [        [        R                  [        S S [        R                  [        S9  U R                  [        [        R                  [        S S [        R                  [        S9  U R                  [        [        R                  [        S S [        R                  [        S9  U R                  [        [        R                  [        S S [        R                  [        S9  g )N   r)   )r,   r   r   r7   rL   rS   ro   r1   r2   ru   rt   rz   ry   r   r~   rH   s    r=    test_decompress_incomplete_inputCCompressDecompressFunctionTestCase.test_decompress_incomplete_input  s    )T__mDS6IJ)T__6Ft6LM)T__6Ft6L!%- 	 	I)T__6Ft6L!%- 	 	I)T__6Ft6L!%- 	 	I)T__6Ft6L!%- 	 	IrP   c                 .   U R                  [        5         [        R                  [        5        S S S 5        U R                  [        5         [        R                  [
        5        S S S 5        U R                  [        5         [        R                  [        [        R                  S9  S S S 5        U R                  [        5         [        R                  [        [        R                  S9  S S S 5        U R                  [        5         [        R                  [        [        R                  [        S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = fNr   r)   )r,   r   r   r7   COMPRESSED_BOGUSro   rS   r3   rL   r4   r1   r2   rH   s    r=   test_decompress_bad_input<CompressDecompressFunctionTestCase.test_decompress_bad_input  s    y)OO,- *y)OO,- *y)OO,T^^OD *y)OOM$2C2COD *y)OOM$//$1  3 *) *)))))))))s;   EE'E$'E5,F
E
E!$
E25
F
Fc                    [         R                  [        5      n[         R                  U5      nU R	                  U[        5        [         R                  [        [         R
                  5      n[         R                  U5      nU R	                  U[        5        [         R                  [        [         R                  5      n[         R                  U5      nU R	                  U[        5        [         R                  [        [         R                  [        S9n[         R                  U[         R                  [        S9nU R	                  U[        5        g rn   )	r   r5   r[   r7   rZ   r3   r4   r1   r~   )r9   r   r   s      r=   test_roundtrip1CompressDecompressFunctionTestCase.test_roundtrip  s    e$&&eT^^4&&eT%6%67&&eT__mLtN&rP   c                 v    [         R                  [        [        -   5      nU R	                  U[
        S-  5        g )Nr   )r   r7   rL   rS   rZ   r[   r  s     r=   test_decompress_multistream>CompressDecompressFunctionTestCase.test_decompress_multistream  s*    0@ @A	*rP   c                 p    [         R                  [        [        -   5      nU R	                  U[
        5        g rW   r   r7   rL   r  rZ   r[   r  s     r=   test_decompress_trailing_junk@CompressDecompressFunctionTestCase.test_decompress_trailing_junk  s&    0@ @A&rP   c                 |    [         R                  [        S-  [        -   5      nU R	                  U[
        S-  5        g )Nr   r#  r  s     r=   )test_decompress_multistream_trailing_junkLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junk  s/     14D DE	*rP   r$   N)r   r   r   r   r
  r  r  r  r  r  r   r$  r'  r  r$   rP   r=   r  r    s2    J:O':
I3'&+'+rP   r  c                   .    \ rS rSrSrSS jrS rS rSrg)	TempFilei
  z=Context manager - creates a file, and deletes it on __exit__.c                     Xl         X l        g rW   )filenamer^   )r9   r,  r^   s      r=   r   TempFile.__init__  s     	rP   c                     [        U R                  S5       nUR                  U R                  5        S S S 5        g ! , (       d  f       g = f)Nwb)openr,  writer^   r9   fs     r=   	__enter__TempFile.__enter__  s.    $--&!GGDII '&&s	   <
A
c                 .    [        U R                  5        g rW   )r   r,  )r9   argss     r=   __exit__TempFile.__exit__  s    t}}rP   )r^   r,  Nr   )	r   r   r   r   __doc__r   r4  r8  r  r$   rP   r=   r*  r*  
  s    GrP   r*  c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S= r?S> r@S? rAS@ rBSA rCSB rDSC rESDrFgE)FFileTestCasei  c                    [        [        [        5      5       nU R                  U[         5        U R	                  UR
                  S5        S S S 5        [        [        5       S5       nU R                  U[         5        U R	                  UR
                  S5        S S S 5        [        [        5       S5       nU R                  U[         5        U R	                  UR
                  S5        S S S 5        [        [        5       S5       nU R                  U[         5        U R	                  UR
                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nrbwr/  xa)r   r   rL   assertIsInstancerZ   moder2  s     r=   	test_initFileTestCase.test_init  s   gm,-!!!X.QVVT* . gi%!!!X.QVVT* & gi%!!!X.QVVT* & gi%!!!X.QVVT* &% .- &% &% &%s/   3E(3E73E$3E5
E
E!$
E25
Fc                    [        [        5      n[        U[        5         [	        U5       nU R                  UR                  5       [        5        U R                  UR                  [        5        S S S 5        [	        US5       nUR                  [        5        U R                  UR                  [        5        S S S 5        [	        U5       nU R                  UR                  5       [        S-  5        U R                  UR                  [        5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N9= f! , (       d  f       g = f)NrA  r   )
r   r
   r*  rL   r   rZ   readr[   namer1  )r9   r,  r3  s      r=    test_init_with_PathLike_filename-FileTestCase.test_init_with_PathLike_filename)  s    F#h.(#q  51  0 $ (C(A  0 ) (#q  5195  0 $ /.## )( $# /.sT   EAD'1E6D8;EAE	E'
D5	1E8
E	E	
E	E
E(c                    [        [        [        5         [        [        5       nU R	                  UR
                  [        5        U R	                  UR                  S5        S S S 5        [        [        S5       nU R	                  UR
                  [        5        U R	                  UR                  S5        S S S 5        [        [        S5       nU R	                  UR
                  [        5        U R	                  UR                  S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       N9= f! , (       d  f       g = f)Nr>  r?  r/  rA  )r*  r
   rL   r   rZ   rH  rC  r2  s     r=   test_init_with_filename$FileTestCase.test_init_with_filename6  s    fm,&!Q  0  . " &#&!  0  . ' &#&!  0  . ' -,!! '& '& -,sR   E=D"E:=D.7E=D?E
D+	'E.
D<	8E?
E		E
Ec                    [        [        5         [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        [        [        S5       nU R                  U[        5        U R	                  UR
                  S5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNV= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       No= f! , (       d  f       g = f)Nrr>  r?  r/  rA  ab)r*  r
   r   rB  rZ   rC  r2  s     r=   test_init_modeFileTestCase.test_init_modeB  s   f&#&!%%a2  . ' &$'1%%a2  . ( &#&!%%a2  . ' &$'1%%a2  . ( &#&!%%a2  . ' &$'1%%a2  . (! && (' '& (' '& ('! s   I3GI,3G.I73H *I3H5I3H# I3H4I
G+	&I.
G=	8I 
H	
I
H 	I#
H1	-I4
I	>I
Ic                    U R                  [        [        5        S H  n[        [        5        [        [        U5       nU R	                  U[        5        U R                  UR                  S5        S S S 5        U R                  [        5         [        [        U5        S S S 5        M     g ! , (       d  f       NA= f! , (       d  f       M  = f)N)r@  xbr/  )	
addCleanupr   r
   r   rB  rZ   rC  r,   FileExistsError)r9   rC  r3  s      r=   test_init_with_x_mode"FileTestCase.test_init_with_x_modeW  s    'D6N&$'1%%a2  . ( ""?3& 43  '' 43s   3B-B>-
B;	>
C	c                 F   U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        U R                  [        5         [        [        [        5      S	5        S S S 5        U R                  [        5         [        [        [        5      S
5        S S S 5        U R                  [        5         [        [        [        5      S5        S S S 5        g ! , (       d  f       GN6= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN}= f! , (       d  f       GNX= f! , (       d  f       GN3= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)N)r   r@  r   xtzx+rxwxrtzr+wtzw+rw)r,   r.   r   r   rL   rH   s    r=   test_init_bad_modeFileTestCase.test_init_bad_modea  s   z*W]+X6 +z*W]+R0 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +z*W]+T2 +*) +*********************s   II1J;J2J')J9 KKK/L<L
I.1
J 
J
J$'
J69
K
K
K,/
K>
L
L c                     U R                  [        5         [        [        5       SSS9  S S S 5        U R                  [        5         [        [        5       S[
        R                  S9  S S S 5        U R                  [        5         [        [        5       S[
        R                  S-   S9  S S S 5        U R                  [        5         [        [        [        5      [
        R                  S9  S S S 5        U R                  [        5         [        [        [        5      [
        R                  S9  S S S 5        U R                  [        5         [        [        [        5      [
        R                  S9  S S S 5        U R                  [        5         [        [        [        5      [
        R                  S9  S S S 5        U R                  [        5         [        [        [        5      [
        R                  S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNR= f! , (       d  f       GN!= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr?  s   asdr   r   )r,   r-   r   r   r   r   CHECK_UNKNOWNCHECK_ID_MAXr.   rL   rd   CHECK_CRC32rc   CHECK_SHA256rH   s    r=   test_init_bad_check FileTestCase.test_init_bad_checky  s   y)WY62 * y)WY4+=+=> *y)WY4+<+<q+@A * z*W]+4??C +z*W]+43C3CD +z*W]+43C3CD +z*W]+43D3DE +z*W]+43E3EF +*! *) *))) +*********s_   H"H%H'&H9&I&I&I.&I?
H
H$'
H69
I
I
I+.
I<?
Jc                    U R                  [        5         [        [        5       SSS9  S S S 5        U R                  [        5         [        [        5       SSS9  S S S 5        U R                  [        5         [        [        5       SSS9  S S S 5        U R                  [
        5         [        [        5       SSS9  S S S 5        U R                  [
        5         [        [        5       SSS9  S S S 5        U R                  [        5         [        [        5       SSS9  S S S 5        U R                  [        5         [        [        [        5      S	S9  S S S 5        g ! , (       d  f       GN:= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)
Nr?  g(\@r   r      r   irE   r   )r,   r-   r   r   r   OverflowErrorr.   rL   rH   s    r=   test_init_bad_preset!FileTestCase.test_init_bad_preset  s$   y)WYD1 *y)WYB/ *y)WYB/ *}-WYB/ .}-WYB/ .y)WYE2 * z*W]+A6 +* *)))))----)) +*sS   EE/8F)FF#F4<G
E,/
E>
F
F #
F14
G
Gc                    U R                  [        5         [        [        5       SS/S9  S S S 5        U R                  [        5         [        [        5       SSS0/S9  S S S 5        U R                  [        5         [        [        5       SSS0/S9  S S S 5        U R                  [        5         [        [        5       S[
        R                  SS	./S9  S S S 5        U R                  [        5         [        [        5       S[
        R                  SS	./S9  S S S 5        U R                  [        5         [        [        5       S[
        R                  SS	./S9  S S S 5        g ! , (       d  f       GNA= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)
Nr?  rA   r   rB   r   r"   rC   r   rD   )	r,   r-   r   r   r.   r   r0   rF   rG   rH   s    r=   test_init_bad_filter_spec&FileTestCase.test_init_bad_filter_spec  sA   y)WYj\: *z*WYwl^< +z*WYtUm_= +z*WY%)%6%6qABD + z*WY%)%6%6qABD + z*WY%)__Q?@B +* *)****** +* +*sG   E%E7<F	0&F3&F+6&F<%
E47
F	
F
F(+
F9<
G
c           	          U R                  [        5         [        [        5       S[        R
                  S[        S9  S S S 5        g ! , (       d  f       g = f)Nr?     )r   r   r    )r,   r.   r   r   r   r1   r2   rH   s    r=   !test_init_with_preset_and_filters.FileTestCase.test_init_with_preset_and_filters  s5    z*WYDOO}6 +**s   (A
Ac                     [        [        5       n[        U5      nUR                  5         U R	                  UR
                  5        UR                  5         U R	                  UR
                  5        S S S 5        [        [        [        5         [        [        5      nUR                  nUR                  5         U R                  UR
                  5        UR                  5         S S S 5        g ! , (       d  f       N= f! , (       d  f       g = frW   )
r   rL   r   closerX   closedr*  r
   _fpr\   )r9   srcr3  fps       r=   
test_closeFileTestCase.test_close  s    ]#sAGGISZZ(GGISZZ( $ fm, ABGGIOOBII&GGI -, $# -,s   A"C.AC?.
C<?
Dc                 "   [        [        [        5      5      n U R                  UR                  5        UR                  5         U R                  UR                  5        UR                  5         U R                  UR                  5        [        [        5       S5      n U R                  UR                  5        UR                  5         U R                  UR                  5        g ! UR                  5         f = f! UR                  5         f = fNr?  )r   r   rL   rX   rw  rG  rv  r\   r2  s     r=   test_closedFileTestCase.test_closed  s    W]+,	QXX&FFHQXX&GGI!WY$	QXX&GGI! GGI GGIs   AC'  C< 'C9<Dc                    [        [        [        5      5      n U R                  [        UR
                  5        UR                  5         U R                  [        UR
                  5        [        [        [        5         [        [        5      n U R                  UR                  5       UR                  R                  5       5        U R                  UR                  5       [        5        UR                  5          S S S 5        U R                  [        UR
                  5        g ! UR                  5         f = f! UR                  5         f = f! , (       d  f       NY= frW   )r   r   rL   r,   r   filenorv  r.   r*  r
   rZ   rx  rB  intr2  s     r=   test_filenoFileTestCase.test_fileno  s    W]+,	2AHH=GGI*ahh/fm, A  QUU\\^<%%ahhj#6	 - 	*ahh/ GGI 	 -,s0    D% >EAD:+E%D7:EE
Ec                 \   [        [        [        5      5      n U R                  UR	                  5       5        UR                  5         U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        [        [        5       S5      n U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        [        [        5      nS Ul        [        U5      n U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        g ! UR                  5         f = f! UR                  5         f = f! UR                  5         f = f)Nr?  c                      g)NFr$   r$   rP   r=   <lambda>,FileTestCase.test_seekable.<locals>.<lambda>  s    urP   )
r   r   rL   r\   seekablerG  rv  r,   r.   rX   )r9   r3  ry  s      r=   test_seekableFileTestCase.test_seekable  s   W]+,	OOAJJL)FFHOOAJJL)GGI*ajj1WY$	QZZ\*GGI*ajj1m$$SM	QZZ\*GGI*ajj1# GGI GGI GGIs$   AE/ -F F /FFF+c                 N   [        [        [        5      5      n U R                  UR	                  5       5        UR                  5         U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        [        [        5       S5      n U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        g ! UR                  5         f = f! UR                  5         f = fr~  )
r   r   rL   r\   readablerG  rv  r,   r.   rX   r2  s     r=   test_readableFileTestCase.test_readable  s    W]+,	OOAJJL)FFHOOAJJL)GGI*ajj1WY$	QZZ\*GGI*ajj1 GGI GGI   AC= -D =DD$c                 N   [        [        [        5      5      n U R                  UR	                  5       5        UR                  5         U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        [        [        5       S5      n U R                  UR	                  5       5        UR                  5         U R                  [        UR                  5        g ! UR                  5         f = f! UR                  5         f = fr~  )
r   r   rL   rX   writablerG  rv  r,   r.   r\   r2  s     r=   test_writableFileTestCase.test_writable  s    W]+,	QZZ\*FFHQZZ\*GGI*ajj1WY$	OOAJJL)GGI*ajj1 GGI GGIr  c                    [        [        [        5      5       nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        [        5      5       nU R                  UR	                  5       [
        5        S S S 5        [        [        [        5      [        R                  S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        [        5      [        R                  S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        [        5      [        R                  [        S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        [        5      [        R                  [        S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        [        5      [        R                  [         S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        [        [        ["        5      [        R                  [$        S9 nU R                  UR	                  5       [
        5        U R                  UR	                  5       S5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN"= f! , (       d  f       GN= f! , (       d  f       GNX= f! , (       d  f       N= f! , (       d  f       g = f)NrP   r   r)   )r   r   rL   rZ   rG  r[   rS   r   r3   r4   ro   r1   r2   ru   rt   rz   ry   r   r~   r2  s     r=   	test_readFileTestCase.test_read%  s   gm,-QVVXu-QVVXs+ . g./0AQVVXu- 1gm,T^^DQVVXu-QVVXs+ E g./8I8IJaQVVXu-QVVXs+ K g./!__mEHIQVVXu-QVVXs+E g./!__mEHIQVVXu-QVVXs+E g./!__mEHIQVVXu-QVVXs+E g./!__mEHIQVVXu-QVVXs+E E/ .- 10DD KJE EE EE EE Esf   AM,>%M>ANAN"9AN40AO'AOAO),
M;>
N
N"
N14
O
O
O&)
O7c                    [        [        [        5      5       nU R                  UR	                  S5      S5        S S S 5        [        [        [
        5      5       nU R                  UR	                  S5      S5        S S S 5        [        [        [        5      [        R                  S9 nU R                  UR	                  S5      S5        S S S 5        [        [        [
        5      [        R                  S9 nU R                  UR	                  S5      S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr   rP   r   )	r   r   rL   rZ   rG  rS   r   r3   r4   r2  s     r=   test_read_0FileTestCase.test_read_0B  s    gm,-QVVAY, .g./0AQVVAY, 1gm,T^^DQVVAY, Eg./8I8IJaQVVAY, KJ .-00DDJJs/   "D$"D5*"E9"E$
D25
E
E
E%c                 r   [        [        [        5      5       n/ nUR                  S5      =n(       aF  U R	                  [        U5      S5        UR                  U5        UR                  S5      =n(       a  MF  U R                  SR                  U5      [        5        S S S 5        g ! , (       d  f       g = fNr   rP   )
r   r   rL   rG  r   r   r   rZ   r   r[   )r9   r3  chunksresults       r=   test_read_10FileTestCase.test_read_10L  s    gm,-FFF2J&&&$$S["5f% FF2J&&& SXXf-u5 .--s   AB(:%B((
B6c                 X   [        [        [        S-  5      5       nU R                  UR	                  5       [
        S-  5        S S S 5        [        [        [        [        -   5      5       nU R                  UR	                  5       [
        S-  5        S S S 5        [        [        [        S-  5      [        R                  [        S9 nU R                  UR	                  5       [
        S-  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       g = f)Nr   r      r)   )r   r   rL   rZ   rG  r[   rS   rz   r   r1   ry   r2  s     r=   test_read_multistream"FileTestCase.test_read_multistreamT  s    gma/01QQVVXuqy1 2gm.>>?@AQVVXuqy1 Ag.23!__mEHIQVVXuqy1E E	 21@@E Es#   (C9+(D
(D9
D

D
D)c                 D   [         R                  n[        [        5      [         l         [	        [        [        S-  5      5       nU R                  UR                  5       [        S-  5        S S S 5        U[         l        g ! , (       d  f       N= f! U[         l        f = fNr   )	_compressionBUFFER_SIZEr   rL   r   r   rZ   rG  r[   )r9   saved_buffer_sizer3  s      r=   )test_read_multistream_buffer_size_aligned6FileTestCase.test_read_multistream_buffer_size_aligned]  ss     )44#&}#5 	9'-1"456!  5195 7 (9L$ 76 (9L$s#   B (B-B 
BB Bc                     [        [        [        [        -   5      5       nU R	                  UR                  5       [        5        S S S 5        g ! , (       d  f       g = frW   r   r   rL   r  rZ   rG  r[   r2  s     r=   test_read_trailing_junk$FileTestCase.test_read_trailing_junkh  s:    gm.>>?@AQVVXu- A@@s   %A
Ac                     [        [        [        S-  [        -   5      5       nU R	                  UR                  5       [        S-  5        S S S 5        g ! , (       d  f       g = fr  r  r2  s     r=   #test_read_multistream_trailing_junk0FileTestCase.test_read_multistream_trailing_junkl  sC    gma/2BBCDQVVXuqy1 EDDs   (A
A"c                    [        [        [        5         [        [        5       nU R	                  UR                  5       [        5        U R	                  UR                  5       S5        U R	                  UR                  [        5        U R                  UR                  5       [        5        U R	                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                   S5        S S S 5        U R                  WR                   S5        U R#                  [$        5         UR                    S S S 5        U R#                  [$        UR                  5        U R	                  UR                  S5        U R#                  [$        UR                  5        U R#                  [$        UR                  5        U R#                  [$        UR                  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NrP   r>  TF)r*  r
   rL   r   rZ   rG  r[   rH  rB  r  r  rC  assertIsr  r  r  rw  r,   r.   r2  s     r=   test_read_from_file FileTestCase.test_read_from_filep  s   fm,&!Q  51  3/  0%%ahhj#6  .ajjlD1ajjlE2ajjlD1ahh. " MM!((D)"":. /j!((3QVVT*j!**5j!**5j!**5% -,!! /. -,s<   ID!H99I?I
B$I9
I	I

I	I
I)c                    [         R                  " [        5      n[        [        [        5         [        U5       nU R                  UR                  5       [        5        U R                  UR                  5       S5        U R                  UR                  U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fr   )
osfsencoder
   r*  rL   r   rZ   rG  r[   rH  )r9   bytes_filenamer3  s      r=   'test_read_from_file_with_bytes_filename4FileTestCase.test_read_from_file_with_bytes_filename  s    V,fm,.)Q  51  3/  8 * -,)) -,s#   B>A!B-B>-
B;	7B>>
Cc                 F   [        [        [        5         [        [        S5       n[	        U5       nU R                  UR                  5       [        5        U R                  UR                  5       S5        U R                  UR                  UR                  5        U R                  UR                  5       UR                  5       5        U R                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S5        S S S 5        U R                  WR                  S5        U R!                  ["        5         UR                    S S S 5        U R!                  ["        UR                  5        U R                  UR                  S5        U R!                  ["        UR                  5        U R!                  ["        UR                  5        U R!                  ["        UR                  5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N:= f! , (       d  f       g = fNr>  rP   TF)r*  r
   rL   r0  r   rZ   rG  r[   rH  r  rC  r  r  r  r  rw  r,   r.   )r9   rawr3  s      r=   test_read_from_fileobj#FileTestCase.test_read_from_fileobj  s   fm,fd#sc]a$$QVVXu5$$QVVXs3$$QVVSXX6$$QXXZ>$$QVVT2MM!**,5MM!**,6MM!**,5MM!((E2 # ahh-&&z2FF 3!!*ahh7  .!!*ajj9!!*ajj9!!*ajj9% $ -,"] 32 $# -,sS   JJD1I#9JI0)B$JJ
I-(J0
I>:J
J	J
J c                    [        [        [        5         [        R                  " [        [        R
                  5      n[	        US5       n[        U5       nU R                  UR                  5       [        5        U R                  UR                  5       S5        U R                  UR                  UR                  5        U R                  UR                  5       UR                  5       5        U R                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR"                  S5        S S S 5        U R                  WR"                  S5        U R%                  [&        5         UR                    S S S 5        U R%                  [&        UR                  5        U R                  UR                  S5        U R%                  [&        UR                  5        U R%                  [&        UR                  5        U R%                  [&        UR                   5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N:= f! , (       d  f       g = fr  )r*  r
   rL   r  r0  O_RDONLYr   rZ   rG  r[   rH  r  rC  r  r  r  r  rw  r,   r.   )r9   fdr  r3  s       r=   $test_read_from_fileobj_with_int_name1FileTestCase.test_read_from_fileobj_with_int_name  s   fm,-Bb$3c]a$$QVVXu5$$QVVXs3$$QVVSXX6$$QXXZ>$$QVVT2MM!**,5MM!**,6MM!**,5MM!((E2 # ahh-&&z2FF 3!!*ahh7  .!!*ajj9!!*ajj9!!*ajj9%   -, #] 32   -,sU   6J7J&D1J9J&JB$J&2J7
JJ&
J#J&&
J4	0J77
Kc                     [        [        [        S S 5      5       nU R                  [        UR
                  5        S S S 5        g ! , (       d  f       g = f)Nr  )r   r   rL   r,   r8   rG  r2  s     r=   test_read_incomplete!FileTestCase.test_read_incomplete  s8    gmDS123qh/ 433s   !A
Ac                 ~   [         S S n[        [        U5      5       nU R                  [        UR
                  5        S S S 5        [        [        U5      5       nU R                  UR                  [        [        5      5      [        5        U R                  [        UR
                  S5        S S S 5        [        S5       HD  n[        [        US U 5      5       nU R                  [        UR
                  S5        S S S 5        MF     g ! , (       d  f       N= f! , (       d  f       Ns= f! , (       d  f       Mz  = f)Nir      )
rL   r   r   r,   r8   rG  rZ   r   r[   r   )r9   	truncatedr3  r   s       r=   test_read_truncated FileTestCase.test_read_truncated  s     "$3'	gi()Qh/ *gi()QQVVCJ/7h2 * rA')BQ-01Q!!(AFFA6 21  *)))
 21s$   !DAD"D-
D
D*-
D<	c                    [        [        [        5      5      nUR                  5         U R	                  [
        UR                  5        [        [        5       S5       nU R	                  [
        UR                  5        S S S 5        [        [        [        5      5       nU R	                  [        UR                  [        5       5        S S S 5        g ! , (       d  f       NY= f! , (       d  f       g = fr~  )	r   r   rL   rv  r,   r.   rG  r-   floatr2  s     r=   test_read_bad_argsFileTestCase.test_read_bad_args  s    W]+,		*aff-gi%j!&&1 &gm,-i9 .- &%--s   !C*C"
C"
C0c                     [        [        [        5      5       nU R                  [        UR
                  5        S S S 5        g ! , (       d  f       g = frW   )r   r   r  r,   r   rG  r2  s     r=   test_read_bad_dataFileTestCase.test_read_bad_data  s2    g./0Ai0 100s   !A
Ac                 x   [        [        [        5      5       n/ nUR                  5       =n(       a*  UR	                  U5        UR                  5       =n(       a  M*  U R                  SR                  U5      [        5        U R                  UR                  5       S5        S S S 5        g ! , (       d  f       g = fr   r   r   rL   read1r   rZ   r   r[   r9   r3  blocksr  s       r=   
test_read1FileTestCase.test_read1  s    gm,-FGGI%&%f% GGI%&%SXXf-u5QWWY, .--s   AB+AB++
B9c                     [        [        [        5      5       nU R                  UR	                  S5      S5        S S S 5        g ! , (       d  f       g = f)Nr   rP   )r   r   rL   rZ   r  r2  s     r=   test_read1_0FileTestCase.test_read1_0  s5    gm,-QWWQZ- .--s   "A
Ac                 |   [        [        [        5      5       n/ nUR                  S5      =n(       a+  UR	                  U5        UR                  S5      =n(       a  M+  U R                  SR                  U5      [        5        U R                  UR                  5       S5        S S S 5        g ! , (       d  f       g = fr  r  r  s       r=   test_read1_10FileTestCase.test_read1_10  s    gm,-FGGBK'&'f% GGBK'&'SXXf-u5QWWY, .--s   AB-AB--
B;c                    [        [        [        S-  5      5       n/ nUR                  5       =n(       a*  UR	                  U5        UR                  5       =n(       a  M*  U R                  SR                  U5      [        S-  5        U R                  UR                  5       S5        S S S 5        g ! , (       d  f       g = f)Nr   rP   r  r  s       r=   test_read1_multistream#FileTestCase.test_read1_multistream  s    gma/01QFGGI%&%f% GGI%&%SXXf-uqy9QWWY, 211s   AB1 AB11
B?c                    [        [        [        5      5      nUR                  5         U R	                  [
        UR                  5        [        [        5       S5       nU R	                  [
        UR                  5        S S S 5        [        [        [        5      5       nU R	                  [        UR                  S 5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = fr~  )r   r   rL   rv  r,   r.   r  r-   r2  s     r=   test_read1_bad_args FileTestCase.test_read1_bad_args  s    W]+,		*agg.gi%j!''2 &gm,-i$7 .- &%--s   !C	"C	
C
C(c                    [        [        [        5      5       nUR                  5       nU R	                  [        U5      S5        U R                  [        R                  U5      5        U R                  UR                  5       [        5        S S S 5        [        [        [        5      5       nUR                  S5      nU R	                  [        U5      S5        U R                  [        R                  U5      5        U R                  UR                  5       [        5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   )r   r   rL   peekassertGreaterr   r\   r[   
startswithrZ   rG  )r9   r3  r  s      r=   	test_peekFileTestCase.test_peek  s    gm,-VVXFs6{A.OOE,,V45QVVXu-	 .
 gm,-VVBZFs6{A.OOE,,V45QVVXu-	 .- .-
 .-s   A4D+-A5D<+
D9<
E
c                     [        [        5       S5       nU R                  [        UR                  5        S S S 5        g ! , (       d  f       g = fr~  )r   r   r,   r.   r  r2  s     r=   test_peek_bad_argsFileTestCase.test_peek_bad_args
  s0    gi%j!&&1 &%%s	   !?
Ac                 0   [        [        5       nUR                  5       nS S S 5        [        [        [        5      5       nU R                  [        [        U5      5      W5        S S S 5        [        [        [        5      5       nU R                  [        [        U5      5      W5        S S S 5        [        [        [        5      [        R                  S9 nU R                  [        [        U5      5      W5        S S S 5        [        [        [        5      [        R                  S9 nU R                  [        [        U5      5      W5        S S S 5        [        [        [        5      [        R                  [        S9 nU R                  [        [        U5      5      W5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNb= f! , (       d  f       GN/= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = fr  )r   r[   	readlinesr   rL   assertListEquallistiterrS   r   r3   r4   ru   r1   rt   r9   r3  liness      r=   test_iteratorFileTestCase.test_iterator  sO   U^qKKME gm,-  d1g6 .g./0A  d1g6 1gm,T^^D  d1g6 Eg./8I8IJa  d1g6 Kg./!__mEHI  d1g6E E ^--00DDJJE EsG   F/%G%G%G%*%G6%H/
F>
G
G"%
G36
H
Hc                 ,   [        [        5       nUR                  5       nS S S 5        [        [        [        5      5       nW H#  nU R                  UR                  5       U5        M%     S S S 5        g ! , (       d  f       NY= f! , (       d  f       g = frW   )r   r[   r  r   rL   rZ   readline)r9   r3  r  lines       r=   test_readlineFileTestCase.test_readline  sa    U^qKKME gm,-  t4  .- ^--s   A4*B4
B
Bc                    [        [        5       nUR                  5       nS S S 5        [        [        [        5      5       nU R                  UR                  5       W5        S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = frW   )r   r[   r  r   rL   r  r  s      r=   test_readlinesFileTestCase.test_readlines$  sW    U^qKKME gm,-  6 .- ^--s   A+!A<+
A9<
B
c                 |   [         R                  S[        S5      -  SS9nU R                  [	        U5      [
        R                  5        [        [        U5      5      nU R                  UR                  S5      S5        S[        -   nU R                  UR                  R                  R                  5       US5        g)z-Decompressed data buffering should be limited    g    >Arr  r   r   z)Excessive amount of data was decompressedN)r   r5   r  
assertLessr   r  r  r   r   rZ   rG  r   r   _bufferr  tell)r9   bombdecomp
max_decomps       r=   test_decompress_limited$FileTestCase.test_decompress_limited*  s    }}USX-a}8D	<#;#;<'$-(Q/,,
V^^//446
7	9rP   c                    [        5        n[        US5       nUR                  [        5        U R	                  [
        5         UR                    S S S 5        S S S 5        [        R                  [        5      nU R                  UR                  5       U5        S S S 5        [        5        n[        US[        R                  S9 nUR                  [        5        S S S 5        [        R                  [        [        R                  S9nU R                  UR                  5       U5        S S S 5        [        5        n[        US[        R                  S9 nUR                  [        5        S S S 5        [        R                  [        [        R                  S9nU R                  UR                  5       U5        S S S 5        [        5        n[        US[        R                  [        S9 nUR                  [        5        S S S 5        [        R                  [        [        R                  [        S9nU R                  UR                  5       U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNR= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr?  r   r)   )r   r   r1  r[   r,   AttributeErrorrH  r   r5   rZ   getvaluer3   r4   r1   rt   )r9   dstr3  expecteds       r=   
test_writeFileTestCase.test_write5  s   Y##s#q&&~6FF 7 $ }}U+HS\\^X6  Y##s4>>:a ;}}U4>>}BHS\\^X6	 
 Y##s4+<+<= >}}U43D3D}EHS\\^X6	 
 Y##s4??"/1451 }}U4??-: % <HS\\^X6 Y 76 $# Y ;: Y >= Y1 1 Ys   J +I.II.AJ +J$JAJ$;KJ6+AKK+*K AK+
I+&I..
I=	8J  
J
J!	J$$
J36
K	 K
K
K(	$K++
K9c           	         [        5        n[        US5       n[        S[        [        5      S5       H  nUR                  [        X3S-    5        M     S S S 5        [        R                  [        5      nU R                  UR                  5       U5        S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)Nr?  r   r   )
r   r   r   r   r[   r1  r   r5   rZ   r  )r9   r  r3  startr  s        r=   test_write_10FileTestCase.test_write_10O  s    Y##s#q"1c%j"5EGGE%b12 6 $ }}U+HS\\^X6 Y## Ys#   B/<BAB/
B,	(B//
B=c                    [         S S n[         SS n[         SS  nSR                  S XU4 5       5      n[        5        n[        US5       nUR	                  U5        S S S 5        U R                  WR                  S5        [        US5       nUR	                  U5        S S S 5        U R                  UR                  S5        [        US5       nUR	                  U5        S S S 5        U R                  UR                  S5        U R                  UR                  5       U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nu= f! , (       d  f       g = f)NrR      rP   c              3   L   #    U  H  n[         R                  U5      v   M     g 7frW   r   r5   .0r@  s     r=   	<genexpr>1FileTestCase.test_write_append.<locals>.<genexpr>[       L6KDMM!,,6K   "$r?  r/  rA  )r[   r   r   r   r1  rZ   rC  r  )r9   part1part2part3r  r  r3  s          r=   test_write_appendFileTestCase.test_write_appendW  s   etd4 de88LuU6KLLY##s#q $QVVT*#s#q $QVVT*#s#q $QVVT*S\\^X6 Y## $# $# YsU    E#D00E#E!0E#E#AE#0
D>	:E#
E	E#
E 	E##
E1c                 2    [        [        S5       nUR                  [        5        U R	                  UR
                  [        5        U R                  UR                  5       [        5        U R	                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S5        S S S 5        U R                  WR                  S5        U R                  [         5         UR
                    S S S 5        U R                  [         UR                  5        U R	                  UR                  S5        U R                  [         UR                  5        U R                  [         UR                  5        U R                  [         UR                  5        ["        R%                  [        5      n['        [        S5       nU R	                  UR)                  5       U5        S S S 5        [+        [        5        g ! , (       d  f       GNS= f! , (       d  f       GN= f! , (       d  f       NB= f! [+        [        5        f = f)Nr?  r/  FTr>  )r   r
   r1  r[   rZ   rH  rB  r  r  rC  r  r  r  r  rw  r,   r.   r   r5   r0  rG  r   )r9   r3  r  s      r=   test_write_to_fileFileTestCase.test_write_to_fileh  s   	&#&!  0%%ahhj#6  .ajjlE2ajjlD1ajjlE2ahh. ' MM!((D)"":. /j!((3QVVT*j!**5j!**5j!**5}}U+Hfd#q  84 $ 6N- '& /. $# 6NsT   J C2I9J =I"
CJ !I48J 
IJ "
I1,J 4
J>J Jc                    [         R                  " [        5      n [        US5       nUR	                  [
        5        U R                  UR                  U5        S S S 5        [        R                  [
        5      n[        [        S5       nU R                  UR                  5       U5        S S S 5        [        [        5        g ! , (       d  f       Np= f! , (       d  f       N/= f! [        [        5        f = f)Nr?  r>  )r  r  r
   r   r1  r[   rZ   rH  r   r5   r0  rG  r   )r9   r  r3  r  s       r=   &test_write_to_file_with_bytes_filename3FileTestCase.test_write_to_file_with_bytes_filename  s    V,	.#.!  8 / }}U+Hfd#q  84 $ 6N /. $# 6Ns:   C& 2C1C& !C,C& 
CC& 
C#C& &C7c                     [        [        S5       n[        US5       nUR                  [        5        U R                  UR                  UR                  5        U R                  UR                  5       UR                  5       5        U R                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S5        S S S 5        U R                  WR                  S5        U R                  [        5         UR                    S S S 5        U R                  [        UR                  5        U R                  UR                  S5        U R                  [        UR                  5        U R                  [        UR                  5        U R                  [        UR                  5        S S S 5        [         R#                  [        5      n[        [        S5       nU R                  UR%                  5       U5        S S S 5        ['        [        5        g ! , (       d  f       GN[= f! , (       d  f       GN'= f! , (       d  f       N= f! , (       d  f       NS= f! ['        [        5        f = fNr/  r?  FTr>  )r0  r
   r   r1  r[   rZ   rH  r  rC  r  r  r  r  rw  r,   r.   r   r5   rG  r   )r9   r  r3  r  s       r=   test_write_to_fileobj"FileTestCase.test_write_to_fileobj  s   	fd#sc3'1GGEN$$QVVSXX6$$QXXZ>$$QVVT2MM!**,6MM!**,5MM!**,6MM!((E2 ( ahh-&&z2FF 3!!*ahh7  .!!*ajj9!!*ajj9!!*ajj9# $& }}U+Hfd#q  84 $ 6N- (' 32 $#( $# 6Nsk   J; JDI5!9JJ'B$J1J; <!J*J; 5
J	?J
J	J
J'#J; *
J84J; ;Kc                 ,    [         R                  " [        [         R                  [         R                  -  [         R
                  -  5      n[        US5       n[        US5       nUR                  [        5        U R                  UR                  UR                  5        U R                  UR                  5       UR                  5       5        U R                  UR                  S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR"                  S5        S S S 5        U R                  WR"                  S5        U R%                  [&        5         UR                    S S S 5        U R%                  [&        UR                  5        U R                  UR                  S5        U R%                  [&        UR                  5        U R%                  [&        UR                  5        U R%                  [&        UR                   5        S S S 5        [(        R+                  [        5      n[        [        S5       nU R                  UR-                  5       U5        S S S 5        [/        [        5        g ! , (       d  f       GN[= f! , (       d  f       GN'= f! , (       d  f       N= f! , (       d  f       NS= f! [/        [        5        f = fr/  )r  r0  r
   O_WRONLYO_CREATO_TRUNCr   r1  r[   rZ   rH  r  rC  r  r  r  r  rw  r,   r.   r   r5   rG  r   )r9   r  r  r3  r  s        r=   #test_write_to_fileobj_with_int_name0FileTestCase.test_write_to_fileobj_with_int_name  s   	rzz!9BJJ!FGBb$3c3'1GGEN$$QVVSXX6$$QXXZ>$$QVVT2MM!**,6MM!**,5MM!**,6MM!((E2 ( ahh-&&z2FF 3!!*ahh7  .!!*ajj9!!*ajj9!!*ajj9#  & }}U+Hfd#q  84 $ 6N- (' 32  ( $# 6Nsn   AL K &DJ<(9K !K.B$K 1L !K1$L <
K	K 
K	K  
K.*L 1
K?;L Lc                 T   [         S S n[         SS n[         SS  nSR                  S XU4 5       5      n [        [        S5       nUR	                  U5        S S S 5        U R                  WR                  S5        [        [        S5       nUR	                  U5        S S S 5        U R                  UR                  S5        [        [        S5       nUR	                  U5        S S S 5        U R                  UR                  S5        [        [        S5       nU R                  UR                  5       U5        S S S 5        [        [        5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NQ= f! [        [        5        f = f)	NrR   r  rP   c              3   L   #    U  H  n[         R                  U5      v   M     g 7frW   r  r  s     r=   r  9FileTestCase.test_write_append_to_file.<locals>.<genexpr>  r!  r"  r?  r/  rA  r>  )
r[   r   r   r
   r1  rZ   rC  r0  rG  r   )r9   r#  r$  r%  r  r3  s         r=   test_write_append_to_file&FileTestCase.test_write_append_to_file  s0   etd4 de88LuU6KLL	&#&! 'QVVT*&#&! 'QVVT*&#&! 'QVVT*fd#q  84 $ 6N '& '& '& $# 6Nsk   F E4F E#4F E4%4F !F:F 
E F #
E1-F 4
F>F 
FF F'c                 X   [        [        5       S5      nUR                  5         U R                  [        UR
                  S5        [        [        [        5      S5       nU R                  [        UR
                  S5        S S S 5        [        [        5       S5       nU R                  [        UR
                  S 5        U R                  [        UR
                  S5        U R                  [        UR
                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr?  r*   rO  r+   texti  )r   r   rv  r,   r.   r1  rL   r-   r2  s     r=   test_write_bad_args FileTestCase.test_write_bad_args  s    WY$		*aggv6gm,c2aj!''6: 3gi%i$7i&9i#6 &% 32%%s   "D
A$D

D
D)c                    [        [        5       nUR                  5       nS S S 5        [        5        n[        US5       nUR	                  W5        S S S 5        [
        R                  [        5      nU R                  UR                  5       U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       g = fr~  )	r   r[   r  r   
writelinesr   r5   rZ   r  )r9   r3  r  r  r  s        r=   test_writelinesFileTestCase.test_writelines  s    U^qKKME Y##s#qU# $}}U+HS\\^X6	 Y ^ $# Ys/   BB> B-AB>
B*-
B;	7B>>
Cc                     [        [        [        5      5       nUR                  S5        U R	                  UR                  5       [        SS  5        S S S 5        g ! , (       d  f       g = f)Ni+  r   r   rL   seekrZ   rG  r[   r2  s     r=   test_seek_forwardFileTestCase.test_seek_forward  sD    gm,-FF3KQVVXuST{3 .--s   9A
A)c                     [        [        [        S-  5      5       nUR                  [	        [
        5      S-   5        U R                  UR                  5       [
        SS  5        S S S 5        g ! , (       d  f       g = f)Nr   {   )r   r   rL   rG  r   r[   rZ   rG  r2  s     r=    test_seek_forward_across_streams-FileTestCase.test_seek_forward_across_streams  sS    gma/01QFF3u:#$QVVXuST{3 211s   A	A..
A<c                     [        [        [        5      5       nUR                  S5        UR	                  SS5        U R                  UR                  5       [        SS  5        S S S 5        g ! , (       d  f       g = f)Nr   i  r   i8  r   r   rL   rG  rG  rZ   r[   r2  s     r=   %test_seek_forward_relative_to_current2FileTestCase.test_seek_forward_relative_to_current  sQ    gm,-FF3KFF4OQVVXuTU|4 .--s   AA--
A;c                     [        [        [        5      5       nUR                  SS5        U R	                  UR                  5       [        SS  5        S S S 5        g ! , (       d  f       g = f)Nir   rF  r2  s     r=   !test_seek_forward_relative_to_end.FileTestCase.test_seek_forward_relative_to_end  F    gm,-FF4OQVVXuTU|4 .--   :A
A*c                     [        [        [        5      5       nUR                  S5        UR	                  S5        U R                  UR                  5       [        SS  5        S S S 5        g ! , (       d  f       g = f)Ni     rO  r2  s     r=   test_seek_backwardFileTestCase.test_seek_backward  sO    gm,-FF4LFF3KQVVXuST{3 .--s   A
A,,
A:c                 .   [        [        [        S-  5      5       nUR                  [	        [
        5      S-   5        UR                  S5        U R                  UR                  5       [
        SS  [
        -   5        S S S 5        g ! , (       d  f       g = f)Nr   iM  i  )r   r   rL   rG  r   r[   rG  rZ   r2  s     r=   !test_seek_backward_across_streams.FileTestCase.test_seek_backward_across_streams  sc    gma/01QFF3u:#$FF3KQVVXuST{U':; 211s   A!B
Bc                     [        [        [        5      5       nUR                  SS5        U R	                  UR                  5       [        SS  5        S S S 5        g ! , (       d  f       g = f)Nijr   rF  r2  s     r=   "test_seek_backward_relative_to_end/FileTestCase.test_seek_backward_relative_to_end  rU  rV  c                 D   [        [        [        5      5       nUR                  [	        [
        5      S-   5        U R                  UR                  5       [	        [
        5      5        U R                  UR                  5       S5        S S S 5        g ! , (       d  f       g = f)N)#  rP   )	r   r   rL   rG  r   r[   rZ   r  rG  r2  s     r=   test_seek_past_endFileTestCase.test_seek_past_end  sb    gm,-FF3u:$%QVVXs5z2QVVXs+ .--s   A/B
Bc                    [        [        [        5      5       nUR                  S5        U R	                  UR                  5       S5        U R	                  UR                  5       [        5        S S S 5        g ! , (       d  f       g = f)Nir   )r   r   rL   rG  rZ   r  rG  r[   r2  s     r=   test_seek_past_start!FileTestCase.test_seek_past_start  sT    gm,-FF3KQVVXq)QVVXu- .--s   AA88
Bc                    [        [        [        5      5      nUR                  5         U R	                  [
        UR                  S5        [        [        5       S5       nU R	                  [
        UR                  S5        S S S 5        [        [        [        5      5       nU R	                  [
        UR                  SS5        U R	                  [        [
        4UR                  SS5        U R	                  [        UR                  S 5        U R	                  [        UR                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r?  r   	   r$   s   derp)r   r   rL   rv  r,   r.   rG  r-   r2  s     r=   test_seek_bad_argsFileTestCase.test_seek_bad_args  s    W]+,		*affa0gi%j!&&!4 &gm,-j!&&!Q7y*5qvvq"Ei6i9 .- &%--s   "D6 BE6
E
Ec                    [        [        [        5      5       nSn U R                  UR	                  5       U5        UR                  S5      nU(       d  OU[        U5      -  nMI  U R                  UR	                  5       [        [        5      5        S S S 5        [        [        5       S5       n[        S[        [        5      S5       H=  nU R                  UR	                  5       U5        UR                  [        X"S-    5        M?     U R                  UR	                  5       [        [        5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr      r?     )
r   r   rL   rZ   r  rG  r   r[   r   r1  )r9   r3  posr  s       r=   	test_tellFileTestCase.test_tell,  s    gm,-C  3/s6{"  QVVXs5z2 . gi%QE
C0  3/cc'*+ 1 QVVXs5z2	 &% .- &%s   A:E/B	E
E
E c                     [        [        [        5      5      nUR                  5         U R	                  [
        UR                  5        g rW   )r   r   rL   rv  r,   r.   r  r2  s     r=   test_tell_bad_argsFileTestCase.test_tell_bad_args<  s.    W]+,		*aff-rP   c                 
   [        5       nUR                  [        SS9nU R                  [	        U5      S5        U R                  UR                  5        [        5       nUR                  [        SS9nU R                  UR                  5        U R                  UR                  5        UR                  S5      nU R                  [	        U5      S5        U R                  UR                  5        U R                  XE-   U5        g )Nr   r   ih3  i]3  rP      )	r   r7   ISSUE_21872_DATrZ   r   r\   rY   rX   r   )r9   d1entired2out1out2s         r=   test_issue21872FileTestCase.test_issue21872A  s     2>Ve,
 
 }}_}?(  }}S!TB'f-rP   c                 D   [         R                   " S/ SQ5      n[        U5      UR                  -  n[        [	        5       S5       nU R                  UR                  U5      U5        U R                  UR                  5       U5        S S S 5        g ! , (       d  f       g = f)NQ)r   r   r   r  r   r?  )arrayr   itemsizer   r   rZ   r1  r  )r9   qLENGTHr3  s       r=   test_issue44439FileTestCase.test_issue44439_  sl    KK_-Q!**$gi%QWWQZ0QVVXv. &%%s   AB
Br$   N)Gr   r   r   r   rD  rI  rL  rQ  rW  r`  rg  rl  ro  rs  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r)  r,  r0  r6  r;  r?  rC  rH  rL  rP  rS  rY  r\  r_  rc  rf  rj  rp  rs  r}  r  r  r$   rP   r=   r<  r<    sN   +1
//*'30G(7"B"6
(""0 242"2",:-62	9.26*9:,:.07:1-.--8
.2757	97477"4
68(	774
4
55
4<5
,.:3 .
.</rP   r<  c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)OpenTestCaseih  c                    [         R                  [        [        5      S5       nU R	                  UR                  5       [        5        S S S 5        [        5        n[         R                  US5       nUR                  [        5        S S S 5        [         R                  UR                  5       5      nU R	                  U[        5        [         R                  US5       nUR                  [        5        S S S 5        [         R                  UR                  5       5      nU R	                  U[        S-  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nu= f! , (       d  f       g = f)Nr>  r/  rP  r   )
r   r0  r   rL   rZ   rG  r[   r1  r7   r  )r9   r3  bio	file_datas       r=   test_binary_modesOpenTestCase.test_binary_modesj  s    YYw}-t4QVVXu- 5Y#3% &7IY.3% &7IY	2 Y 54 &% &% YsI   %EE52EAE5E$5AE5
E
E!	E5$
E2	.E55
Fc                    [         R                  S5      nUR                  S[        R                  5      n[
        R                  [        [        5      SSS9 nU R                  UR                  5       U5        S S S 5        [        5        n[
        R                  USSS9 nUR                  U5        S S S 5        [
        R                  UR                  5       5      R                  S5      nU R                  XR5        [
        R                  USSS9 nUR                  U5        S S S 5        [
        R                  UR                  5       5      R                  S5      nU R                  XRS-  5        S S S 5        g ! , (       d  f       GN
= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nascii
r]  encodingr^  atr   )r[   decodereplacer  linesepr   r0  r   rL   rZ   rG  r1  r7   r  )r9   uncompresseduncompressed_rawr3  r  r  s         r=   test_text_modesOpenTestCase.test_text_modesw  s7   ||G,'//bjjAYYw}-tgYF!QVVX|4 GY#3w71% 87>>wGIY93w71% 87>>wGIY1(<= Y GF 87 87 YsJ   !E<F0!F3A F0F%AF0<
F
F	F0
F-	)F00
F>c                    [        [        5         [        R                  [        S5       nUR	                  [
        5        S S S 5        [        [        S5       n[        R                  UR                  5       5      nU R                  U[
        5        S S S 5        [        R                  [        S5       nU R                  UR                  5       [
        5        S S S 5        [        R                  [        S5       nUR	                  [
        5        S S S 5        [        R                  [        S5       nU R                  UR                  5       [
        S-  5        S S S 5        S S S 5        g ! , (       d  f       GN3= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N\= f! , (       d  f       g = f)Nr/  r>  rP  r   )	r*  r
   r   r0  r1  r[   r7   rG  rZ   )r9   r3  r  s      r=   test_filenameOpenTestCase.test_filename  s   f64(A )fd#q OOAFFH5	  E2 $ 64(A  51 )64(A )64(A  5195 ) ((## )((((( s   GE-G:E?"G5%F"G<F!"G4(F2G-
E<	7G?
F		G
F	G!
F/	+G2
G 	<G
Gc                    [        [        5      n[        U5         [        R	                  US5       nUR                  [        5        U R                  UR                  [        5        S S S 5        [	        US5       n[        R                  UR                  5       5      nU R                  U[        5        S S S 5        [        R	                  US5       nU R                  UR                  5       [        5        U R                  UR                  [        5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N9= f! , (       d  f       g = f)Nr/  r>  )r   r
   r*  r   r0  r1  r[   rZ   rH  r7   rG  )r9   r,  r3  r  s       r=   test_with_pathlike_filename(OpenTestCase.test_with_pathlike_filename  s    F#h8T*a  0 + h% OOAFFH5	  E2 & 8T*a  51  0 +  ** &% +*  sS   E6D*(E<:D;6EAEE*
D8	4E;
E		E
E	E
E+c                    U R                  [        5         [        R                  [        S5        S S S 5        U R                  [        5         [        R                  [        S5        S S S 5        U R                  [        5         [        R                  [        SSS9  S S S 5        U R                  [        5         [        R                  [        SSS9  S S S 5        U R                  [        5         [        R                  [        SSS	9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ny= f! , (       d  f       g = f)
Nr   rbtr>  zutf-8r  ignore)errorsr  )newline)r,   r.   r   r0  r
   rH   s    r=   test_bad_paramsOpenTestCase.test_bad_params  s    z*IIfb! +z*IIfe$ +z*IIfdWI5 +z*IIfd8I4 +z*IIfdDI1 +* +*********s;   DD(D9=E
4E
D%(
D69
E

E
E)c                 D   [         R                  [        S.n[         R                  " [	        [
        5      S40 UD6 nU R                  UR                  5       [        5        S S S 5        [	        5        n[         R                  " US40 UD6 nUR                  [        5        S S S 5        [         R                  " UR                  5       40 UD6nU R                  U[        5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nc= f! , (       d  f       g = f)Nr)   r>  r/  )r   r1   r2   r0  r   ro   rZ   rG  r[   r1  r7   r  )r9   optionsr3  r  r  s        r=   test_format_and_filters$OpenTestCase.test_format_and_filters  s    !__GYYw/0$B'BaQVVXu- CY#300A 1B'BIY.	 Y CB 10 Ys0   %C/4DD #AD/
C= 
D	
D
Dc                 |   [         R                  S5      nUR                  S[        R                  5      n[        5        n[        R                  USSS9 nUR                  U5        S S S 5        [        R                  UR                  5       5      R                  S5      nU R                  XR5        UR                  S5        [        R                  USSS9 nU R                  UR                  5       U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nr  r  r^  z	utf-16-ler  r   r]  )r[   r  r  r  r  r   r   r0  r1  r7   r  rZ   rG  rG  )r9   r  r  r  r3  r  s         r=   test_encodingOpenTestCase.test_encoding  s    ||G,'//bjjAY#3{;q% <7>>{KIY9HHQK3{;q  <8 < Y;;
 <; Ys=    D-D(A1D-!D:D-
D	D-
D*	&D--
D;c                    [        [        R                  S5      5       n[        R                  USSSS9 nU R	                  UR                  5       S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Ns   foobarr]  r  r  )r  r  foobar)r   r   r5   r0  rZ   rG  )r9   r  r3  s      r=   test_encoding_error_handler(OpenTestCase.test_encoding_error_handler  s_    T]]=12c3wxHA  84 I 32HH 32s"   A9!A(A9(
A6	2A99
Bc                    [         R                  S5      n[        5        n[        R	                  USSSS9 nUR                  U5        S S S 5        UR                  S5        [        R	                  USSSS9 nU R                  UR                  5       U/5        S S S 5        S S S 5        g ! , (       d  f       Nh= f! , (       d  f       N(= f! , (       d  f       g = f)Nr  r^  r  )r  r  r   r]  )	r[   r  r   r   r0  r1  rG  rZ   r  )r9   r>  r  r3  s       r=   test_newlineOpenTestCase.test_newline  s    ||G$Y#3wE FHHQK3wE  7 F	 YEE FE	 Ys:   CB+	/C8"B<C+
B9	5C<
C
	C
Cc                    U R                  [        [        5        S H  n[        [        5        SU;   a  SOS n[        R	                  [        XS9    S S S 5        U R                  [        5         [        R	                  [        U5          S S S 5        S S S 5        M     g ! , (       d  f       NU= f! , (       d  f       N,= f! , (       d  f       M  = f)N)r@  rT  rZ  tr  r  )rU  r   r
   r   r0  r,   rV  )r9   rC  r  s      r=   test_x_modeOpenTestCase.test_x_mode  s    '%D6N"%+w4H64; <""?3YYvt, - 43 & <; -, 43s0   B"0CB3C"
B0	3
C=C
C	r$   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r$   rP   r=   r  r  h  s4    3>612	/958	rP   r  c                   ,    \ rS rSrS rS rS rS rSrg)MiscellaneousTestCasei  c                    U R                  [        R                  [        R                  5      5        U R                  [        R                  [        R                  5      5        U R                  [        R                  [        R                  S-   5      5        U R                  [        R                  [        R                  5      5        g r   )r\   r   is_check_supportedrd   re  rX   rd  rc  rH   s    r=   test_is_check_supported-MiscellaneousTestCase.test_is_check_supported  s     	//@A//0@0@AB 	001B1BQ1FGH 	001C1CDErP   c                    U R                  [        5         [        R                  S5        S S S 5        U R                  [        5         [        R                  SS05        S S S 5        U R                  [        5         [        R                  [        R
                  SS.5        S S S 5        U R                  [        R                  5         [        R                  [        R                  SS.5        S S S 5        [        R                  [        R                  SS	S
SS.5      nU R                  US5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N~= f)Ns
   not a dictr"      r  )r"   junkrb  r"   distr   r   r      )r"   pblplc	dict_size   ]   )
r,   r-   r   _encode_filter_propertiesr.   r0   r   rF   FILTER_LZMA1rZ   )r9   propss     r=   test__encode_filter_properties4MiscellaneousTestCase.test__encode_filter_properties  s   y)**=9 *z***D%=9 +z***$2C2CR+PQ +t~~.**$2C2C37,9 : /
 ..''$0  	 45% *)****..s/   D7	E	>'E'E+7
E	
E
E(+
E9c                    U R                  [        5         [        R                  [        R                  S[
        05        S S S 5        U R                  [        R                  5         [        R                  [        R                  S5        S S S 5        [        R                  [        R                  S5      nU R                  US   [        R                  5        U R                  US   S5        U R                  US   S5        U R                  US	   S
5        U R                  US   S5        [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  /nU H-  n[        R                  US5      nU R                  USU05        M/     g ! , (       d  f       GN= f! , (       d  f       GNL= f)Nz	should bes   too longr  r"   r  r   r  r   r  r   r  r  rP   )r,   r-   r   _decode_filter_propertiesrG   r   r   rF   r  rZ   FILTER_POWERPCFILTER_IA64
FILTER_ARMFILTER_ARMTHUMBFILTER_SPARC)r9   
filterspecr    r3  s       r=   test__decode_filter_properties4MiscellaneousTestCase.test__decode_filter_properties  sb   y)**4??[%<PQ *t~~.**4+<+<kJ / 33!!#79
D)4+<+<=D)1-D)1-D)1-K0': ??D$7$7##T__''):):< A773?JZ$3 % *)..s   +G (%G 
G
G!c                     [         R                  [         R                  S5      n[         R                  U5      n[         R                  [         R                  U5      nU R	                  X5        g )Nr  )r   r  r  r  rZ   )r9   spec1	reencodedspec2s       r=    test_filter_properties_roundtrip6MiscellaneousTestCase.test_filter_properties_roundtrip  sT    ..!!#792259	..t/@/@)L&rP   r$   N)	r   r   r   r   r  r  r  r  r  r$   rP   r=   r  r    s    
F6*4.'rP   r  s  
LAERTES

       O, fear me not.
       I stay too long: but here my father comes.

       Enter POLONIUS

       A double blessing is a double grace,
       Occasion smiles upon a second leave.

LORD POLONIUS

       Yet here, Laertes! aboard, aboard, for shame!
       The wind sits in the shoulder of your sail,
       And you are stay'd for. There; my blessing with thee!
       And these few precepts in thy memory
       See thou character. Give thy thoughts no tongue,
       Nor any unproportioned thought his act.
       Be thou familiar, but by no means vulgar.
       Those friends thou hast, and their adoption tried,
       Grapple them to thy soul with hoops of steel;
       But do not dull thy palm with entertainment
       Of each new-hatch'd, unfledged comrade. Beware
       Of entrance to a quarrel, but being in,
       Bear't that the opposed may beware of thee.
       Give every man thy ear, but few thy voice;
       Take each man's censure, but reserve thy judgment.
       Costly thy habit as thy purse can buy,
       But not express'd in fancy; rich, not gaudy;
       For the apparel oft proclaims the man,
       And they in France of the best rank and station
       Are of a most select and generous chief in that.
       Neither a borrower nor a lender be;
       For loan oft loses both itself and friend,
       And borrowing dulls the edge of husbandry.
       This above all: to thine ownself be true,
       And it must follow, as the night the day,
       Thou canst not then be false to any man.
       Farewell: my blessing season this in thee!

LAERTES

       Most humbly do I take my leave, my lord.

LORD POLONIUS

       The time invites you; go; your servants tend.

LAERTES

       Farewell, Ophelia; and remember well
       What I have said to you.

OPHELIA

       'Tis in my memory lock'd,
       And you yourself shall keep the key of it.

LAERTES

       Farewell.
s   this is not a valid lzma streams   7zXZ  ִF !   t/] bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q /OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3RisPX2jLbc-HoJliQk?@xH12Puw㾪iWЀ#cb5]dWlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$/&,qh{Q)qÀo![Ԋwt`^??\RԎXaЫS>ɕH	%$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩	=_%voZO	M-<"CMg~b|'x!JFu 87yu_@qc#5)_3]o]5myK+ b t0ȏ׮+iܹk>f${pƈ0_h6Z%'
"冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ`wجVeZ#d{wB:^VaH
\Xu#%*v!	4    Vj?uLU   twPg    YZs  ]    bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q /OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3RisPX2jLbpljr=	3!EvVF״P~E7ƻc%I;砋Z(o>`᪨١}獃4T㘼DMA@ȓSaśTJE}g#ZVɝc>0S/y_(r?@:zBeyX :	xD\&GYJv{)Ao 5F?vVtTf'k\Y|wdd  ,Xsv}%
ߢ.6
h
 BlU}sHpB8ZA;z{5!A$qg/|r^=n6{>8
:'.
:݂'["wD$wq,1,2w$JdmgA&8i;NQrheL;mQN[jEOliB^R].-eiNwbQ~餈4kM)T3)B ^..	H5#NV$Kkt'R2-LH0~?SOE]<Z0a*?rnGd^8uEI
Vⳕi!&1FDP SO3D!w_G+.]>#h;5JK^-[\ʯԡĸprr.l []+0gaKYI,
V_#>wW,63J2=kTUti_lhfxr   )r"   r   s  ] bXncyqm' QIVL8_뼥
W$=R;k8	{+cS3mb4*+.9bZrA0s"rGސcu۩.Al<OiŴg4t6"o?^}}[:
[lg2n7@6Tu	8[4PCV"x~NK%k:{6è\@F_ȐsU87JMг;X﮳eO,z,dyjlB8#6PKP؈ҡC?۔_"eޛ>H;#4ź%v9A"2i3߾Dm7o:Jہ6O	Q펕S/MSJd=^BE͑G.b&ٟj\CvҊ?^H>IqYK7DWOl5U{ϣk{O*B-(R@E:VY]ĥgX3 ]n콣Yu*TA$AAiw젇%=DѻqCqpL "t~cix)l)@lynD:Җ? %_h#7QDhnѣ_?q17_|ʷSWt9L|WsL_$Fkvfhî1QG5yIcwrIp:p_va"ّeëH*m}}>l%΄dӂ5fOg^&	@ΟJ{rzMho^U7\!kUd~熊z;PGw^ı3Sf @売sxRD`WϑTZ-X|^[7֢		Q5/@S5VhAKVCMxOO<e*Hk6G+)͜lK}5u*F2   r   r  s  ] -Ԩd?ﾯH2.g5z	[}WmHgQRA5
v~:o:JCc*o\lE2aU{׸wܾ88\[_9%fs#=<\t=7ft\Q8Ԫآ >-ӎ#ArAmJ~B(`WKkaj S%iXB;EeTbg
jу]"Mr\j~PGHN*Z.	pE1ͩHP~0JK]9F_[ԋ6뿻$kS{,f:Sjz殘Q~r?&ˀ	|x|dhh+'Ł3q`Z#܊Il{6ճxhz%ݘ!RUaX1=R0㤚bd$]Bh2cL`4xZ]T^؉;Y9zo)f]$np;QK @:UcX
!"=.6g=WnOTDW3pntVOjMi$3܊fYKhwO2^&Vi=yZoƶw%c`]8mQh`[q0g"NR)(0\G!xzHyM
\A	arMꄛ!~Hoڇh颾qN!WGڡA`j?5B~E!^ݨy}))D2fuɗx4_6$t9=˿v\8jk)ffnĩMIE5TpӉ3/֏ou;PRFj$hK(c7)ݲ,.yQi`h-	^ [!M.-S+8,  ë~$eP]iog^Ek`~y+^D"!ҧT5Y4ZHf]όx3TUHy7X ( /\JvP8~4kAyPJNaO:eqACmw	uCwUP 8L4w!L2 j;Vːlv@EZ[E`>ޡbZЩ`{;fk1.N(u!LГBjc_}dàY/,bl@p8quHX}OXݾeO`CF=K$I_XJ'v+.vTv5ṑS"(xCXpS'J!G	2 oSdy,fߞE\L h}W#\oz r  )r"   start_offsetr"   s  ] bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q /OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3RisPX2jLbc-HoJliQk?@xH12Puw㾪iWЀ#cb5]dWlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$/&,qh{Q)qÀo![Ԋwt`^??\RԎXaЫS>ɕH	%$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩	=_%voZO	M-<"CMg~b|'x!JFu 87yu_@qc#5)_3]o]5myK+ b t0ȏ׮+iܹk>f${pƈ0_h6Z%'
"冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ`wجVeZ#d{wB:^VaH
\Xu#%*v!	4   r  @   )r"   r   r  s  \ bWh'֐,vJq lxBf=&fx
>TnFv_?V<#w؞*]c~]Eg"8=~WDǙ1u9hw|lk6o7{Y_b$=wZ@kmE*ح{j,)mB<ca( -c'B`װ]Bܖ6DՃ1&5 PZ&jŏSӥu$̗oV~xWp4HDY)t"Fߥ"xȒ
[l*Yر@o7ru5$U{	}QxNXX`v-f/\)Bg#2B2444q	93?mPXa)djw2A\C3!o[:0.@\4Jv4kkfss^ea=&rpEՀykTHoŌ0-e\>k	!^qA<EG񶹂sa̒ҶUنaTG@	7*޼]6N񄞟'<ߙsqН%p4{=MH:֤0DӨS `W 7N#	1al	jA:\=D3]eZAdgFQqBro仴@dQ
/ظS5:gDzڐ5H!	uRlQOb	RA -IGE$jѪI2s53D0%P}JO^hlV.owඤ*rG+i[w@_yW.-mU6gSA(=ޒ,DnE\Yˌ~EuVƙm<[u1
w%![·B,%df"g.3XY+4qA
=9*/s1b@FQ\ ,E7[!mA}3R5FH)ccнn{IJB`w&`}@Oxe	|eg@Y88NJ!qqWk*7Jmq
:`.+)ހXQmcPA'ɬ)tZR`]gRFTHS<PeJ^[c~']A,K{MxQ3=a9a2sbE"dDIJ!dGm_rNBqPΧeP!|6ͿIirejPqwS7hMʆ?P}y~I<Q8ߔ>rkv⹊qIs"㩥>D;33'e.;HqW~2x
6	;j[-%@2\ǯ¡Oth_A_W&D܅;X,>-7S)pQBLdsuȕ*)v{FWlj s  ]  @ h3        `DѻZ^3+g-1F%-ps8,|*xТb!cهUn VJ"8%_`?@*^&gɯ'}FN\Mz-˚O@gƥwnG'GIrυy[/_MQ+xF]&,fHgrvqxYF9'Fd<\kai C"4)֧`y|jX!Nǅjv]c5ՙi^Gl:,'4$Ywkkņ>~G5]0dw#(3ʡbXr+m3qŞ*6s-r?CgJN'M
Q
`mNql:qGT!0~4J827At]5MK,j7(l2ڕ(0BhpJ	go??}όV:вkk=Ǎ/`.X*~j";V`t0d)}\bJ
+V!ޘK7`ā~؍mY)/Pm[zZӋPf0ЕJ{Wope]ڷ5<g!̱\72Mc350L-˖Uʰ̉*P.~9o?}P
;m|#03<^HiֳTFq}&ĮΜU̶drwNzsRl5^eVYٟ*Ĩ6+ֈ[_rcfx|~L/ۘCiOt<Q`%5k
7I<#)&C`!˩FMuʕebXa[BOf;Crbٜi]<zT9pFPw堔a q&Wo5q8t4-H	dQJ s."pNg}|d3X[E+WvG/I<L\1O{mW~^@D@A9;BOutNJ5ZO6[7o*[ɷa'uq+y aMļ0'pQHK=nFOY0	|Py~h0d[ _vcI3`WyrkBiŊ^ԁ>"v`$^2.dd@Y|j}riVX4rBNPS[I(;9|^0;.*[l_Xf!43D{t]5Ufb
,Q	@<,-3 7	K7*X~Okz"3sL;^⽪Zfڦ:]}a?5M
}M2Yo īTU"unA̐i~4*JtuוZG~ST,C`2>Qśhu bVKc ޅ-:*;`ݗgS}5e7/!Y'C(bTD_E֘{\fz9˥bqW!;z~is+5k htUޣˆj
C?0Jj;0d#;c&8?Jncb4lhnZe,B-c|&LL86bViF̎4/^W?܄(dOD64,SJc^0	D[憰n^븸)a @+/h3`+P-Bn^/w<M!EY<٦Bǃ"D|&d`70o喤v;]'hA&9~@t<4)=:&6A+ <k\dv^l5C?ԠMCȀ3BPjyzE[oT'*HM7f;'wM 帷 D+PgnkcƐVUovfZ3^翬vxJjn*o>_+D{sHAGݭ7q+Wg"X~4`q)KsV5s*;{<@GjLؒ&	u5]\A|ICeQ*~uXyP
fZEu>'`cZ8jUoe>Rb#H-!ޝkw{/K)A:UM̻{9 ((6iu؞q7-BQ8vACd!'ͮؓިb2K l	|DU>w7}W|g|1 m@6+	D Mҵ'~Co	fI1φ`͂wcdCUEMJH=*I"^S6=@,Gr[>n<(}~4stff	/)
ײwQnsƷ(G<6[~H ~:e(_(c̟gvS=S>
YRGAOdcPܟ"[Q~䈡#CϾHؾmWFQ(XDKB.-՞|N]Z=)MLTiN?4O&u70ؓBNEyϘDʚL_]ܩ1 cؿp-N(#2Ilr __main__)7r  r  ior   r   r   r  r   r   r   testr   unittesttest.supportr   r   test.support.import_helperr	   test.support.os_helperr
   r   r   r   r   r   r   r   TestCaser   r  r*  r<  r  r  r[   r  rL   rS   r0   r2   ro   rF   PRESET_DEFAULTPRESET_EXTREMErt   ru   r  ry   rz   rG   r~   r   rw  r   mainr$   rP   r=   <module>r     s     A A 	   
   ( 4  V F Fk3X%6%6 k3\D+):): D+N L/8$$ L/^w8$$ wt?'H-- ?'H>	@ 6 +4 `(" X ))Q78* \ ))15)) //$2E2EEGH:& | ((%@))*,) Z ))15>))Qa@B? HA% L zMMO rP   