
    rp0j=                     |   % S SK r S SK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JrJr  \R                  S:  a  S SKJr  OS SKJr  \\\SS	4   r  S SKrS
r \R                  S:  a  S SKJr  OS SKJr  S
rSrS rSr " S S\5      r " S S\5      r  " S S\5      r! " S S\SS9r" " S S5      r#\#" \5      r$\#\%S'   S\!SS4S jr&  S,S\'S-  S \(S\)4S! jjr* " S" S#\5      r+ " S$ S%5      r, " S& S'\+5      r- " S( S)\+5      r. " S* S+\+5      r/g! \ a    S SKr Nf = f! \ a    Sr Nf = f! \ a    Sr Nf = f)-    N)ABCabstractmethod)Executor)AnyFinalProtocol	TypedDictcast)      )Buffer)Unionzmemoryview[int]zmemoryview[bytes]TF)r      )ZstdDecompressori   c                   <    \ rS rSrS\S\4S jrS	S\S\4S jjrSr	g)
ZLibCompressObjProtocol+   datareturnc                     g N selfr   s     S/home/wildlama/miniconda3/lib/python3.13/site-packages/aiohttp/compression_utils.pycompress ZLibCompressObjProtocol.compress,   s    s    modec                    g r   r   r   r    s     r   flushZLibCompressObjProtocol.flush-   s    #r   r   N.)
__name__
__module____qualname____firstlineno__r   bytesr   intr#   __static_attributes__r   r   r   r   r   +   s    2V225#5555r   r   c                       \ rS rSrSS\S\S\4S jjrSS\S\4S jjr\	S\
4S j5       r\	S\4S	 j5       r\	S\4S
 j5       rSrg)ZLibDecompressObjProtocol0   r   
max_lengthr   c                     g r   r   r   r   r0   s      r   
decompress$ZLibDecompressObjProtocol.decompress1   s    r   lengthc                    g r   r   r   r5   s     r   r#   ZLibDecompressObjProtocol.flush2   s    Cr   c                     g r   r   r   s    r   eofZLibDecompressObjProtocol.eof4   s    r   c                     g r   r   r:   s    r   unconsumed_tail)ZLibDecompressObjProtocol.unconsumed_tail7   s    (+r   c                     g r   r   r:   s    r   unused_data%ZLibDecompressObjProtocol.unused_data:   s    $'r   r   Nr%   )r&   r'   r(   r)   r   r+   r*   r3   r#   propertyboolr;   r>   rA   r,   r   r   r   r.   r.   0   sZ    KvK3KK7C7U7T ++ +'U' 'r   r.   c                       \ rS rSr% \\S'   \\S'   \\S'   \\S'   \\S'         SS\S\S	\S
\S\S\S-  S\4S jjr SS	\S\S\	4S jjr
 SS\S	\S\S\4S jjr SS	\S\S\S\4S jjrSrg)ZLibBackendProtocol>   	MAX_WBITSZ_FULL_FLUSHZ_SYNC_FLUSHZ_BEST_SPEEDZ_FINISHlevelmethodwbitsmemLevelstrategyzdictNr   c                     g r   r   )r   rM   rN   rO   rP   rQ   rR   s          r   compressobjZLibBackendProtocol.compressobjE   s     #&r   c                     g r   r   )r   rO   rR   s      r   decompressobj!ZLibBackendProtocol.decompressobjN   s    $'r   r   c                    g r   r   )r   r   rM   rO   s       r   r   ZLibBackendProtocol.compressR       r   bufsizec                    g r   r   )r   r   rO   r\   s       r   r3   ZLibBackendProtocol.decompressU   r[   r   r   )......)..)r&   r'   r(   r)   r+   __annotations__r   r   rT   r.   rW   r*   r   r3   r,   r   r   r   rF   rF   >   s    NM "&& & 	&
 & & }& 
!& 14(('-(	"(
 ?B&)8;	 AD&):=	 r   rF   c                   4    \ rS rSr% \\S'   \\S'   \\S'   Srg)CompressObjArgsZ   rO   rQ   rM   r   N)r&   r'   r(   r)   r+   r_   r,   r   r   r   ra   ra   Z   s    JMJr   ra   )totalc                   $   \ rS rSrS\4S jr\S\4S j5       r\S\	4S j5       r
\S\	4S j5       r\S\	4S j5       r\S\	4S	 j5       r\S\	4S
 j5       rS\S\S\4S jrS\S\S\4S jrS\S\S\S\4S jrS\S\S\S\4S jrS\S\4S jrSrg)ZLibBackendWrapper`   _zlib_backendc                     Xl         g r   rg   )r   rg   s     r   __init__ZLibBackendWrapper.__init__a   s    2?r   r   c                 0    [        U R                  SS5      $ )Nr&   	undefinedgetattrrg   r:   s    r   nameZLibBackendWrapper.named   s    t)):{CCr   c                 .    U R                   R                  $ r   )rg   rH   r:   s    r   rH   ZLibBackendWrapper.MAX_WBITSh   s    !!+++r   c                 .    U R                   R                  $ r   )rg   rI   r:   s    r   rI   ZLibBackendWrapper.Z_FULL_FLUSHl       !!...r   c                 .    U R                   R                  $ r   )rg   rJ   r:   s    r   rJ   ZLibBackendWrapper.Z_SYNC_FLUSHp   rv   r   c                 .    U R                   R                  $ r   )rg   rK   r:   s    r   rK   ZLibBackendWrapper.Z_BEST_SPEEDt   rv   r   c                 .    U R                   R                  $ r   )rg   rL   r:   s    r   rL   ZLibBackendWrapper.Z_FINISHx   s    !!***r   argskwargsc                 :    U R                   R                  " U0 UD6$ r   )rg   rT   r   r}   r~   s      r   rT   ZLibBackendWrapper.compressobj|   s    !!--t>v>>r   c                 :    U R                   R                  " U0 UD6$ r   )rg   rW   r   s      r   rW    ZLibBackendWrapper.decompressobj   s    !!//@@@r   r   c                 B    U R                   R                  " U/UQ70 UD6$ r   )rg   r   r   r   r}   r~   s       r   r   ZLibBackendWrapper.compress   s#    !!**4A$A&AAr   c                 B    U R                   R                  " U/UQ70 UD6$ r   )rg   r3   r   s       r   r3   ZLibBackendWrapper.decompress   s#    !!,,TCDCFCCr   attrnamec                 .    [        U R                  U5      $ r   rn   )r   r   s     r   __getattr__ZLibBackendWrapper.__getattr__   s    t))844r   ri   N)r&   r'   r(   r)   rF   rj   rC   strrp   r+   rH   rI   rJ   rK   rL   r   r   rT   r.   rW   r   r*   r   r3   r   r,   r   r   r   re   re   `   sO   @&9 @ Dc D D ,3 , , /c / / /c / / /c / / +# + +? ? ?8O ?A3 A# A:S ABV BC B3 B5 BDv Dc DS DU D5C 5C 5r   re   ZLibBackendnew_zlib_backendr   c                     U [         l        g r   )r   rg   )r   s    r   set_zlib_backendr      s
     0Kr   encodingsuppress_deflate_headerc                     U S:X  a  S[         R                  -   $ U(       a  [         R                  * $ [         R                  $ )Ngzip   )r   rH   )r   r   s     r   encoding_to_moder      s9     6K))))%<K!!!W+BWBWWr   c                       \ rS rSrS\4S\S-  S\S-  4S jjr\\	4S\
S\S\4S	 jj5       r\	4S\
S\S\4S
 jjr\\S\4S j5       5       rSrg)DecompressionBaseHandler   Nexecutormax_sync_chunk_sizec                     Xl         X l        g)z&Base class for decompression handlers.N	_executor_max_sync_chunk_size)r   r   r   s      r   rj   !DecompressionBaseHandler.__init__   s     "$7!r   r   r0   r   c                     gDecompress the given data.Nr   r2   s      r   decompress_sync(DecompressionBaseHandler.decompress_sync       r   c                    #    U R                   b[  [        U5      U R                   :  aB  [        R                  " 5       R	                  U R
                  U R                  X5      I Sh  vN $ U R                  X5      $  N7fr   )r   lenasyncioget_event_looprun_in_executorr   r   r2   s      r   r3   #DecompressionBaseHandler.decompress   so     
 %%1D	D555 //1AA 4 4d   ##D55s   A$A>&A<'A>c                     g)z7Return True if more output is available by passing b"".Nr   r:   s    r   data_available'DecompressionBaseHandler.data_available   r   r   r   )r&   r'   r(   r)   MAX_SYNC_CHUNK_SIZEr   r+   rj   r   ZLIB_MAX_LENGTH_UNLIMITEDr   r*   r   r3   rC   rD   r   r,   r   r   r   r   r      s     %)*=8T/8 !4Z8 .G))(+)	) ) /H66(+6	6 F F  Fr   r   c                       \ rS rSrSSSSSS\4S\S-  S\S\S-  S\S-  S\S-  S	\S-  S
\S-  4S jjr	S\
S\4S jrS\
S\4S jrSS\S-  S\4S jjrSrg)ZLibCompressor   NFr   r   rM   rO   rQ   r   r   c                    X`l         Xpl        Uc  [        X5      OUU l        [	        [
        R                  5      U l        0 nU R                  US'   Ub  XXS'   Ub  X8S'   U R                  R                  " S0 UD6U l        g )NrO   rQ   rM   r   )	r   r   r   _modere   r   rg   rT   _compressor)	r   r   r   rM   rO   rQ   r   r   r~   s	            r   rj   ZLibCompressor.__init__   s     "$7! } X? 	

 %7{7P7P$Q"$**w!):#7O--99CFCr   r   r   c                 8    U R                   R                  U5      $ r   )r   r   r   s     r   compress_syncZLibCompressor.compress_sync   s    ((..r   c                 0  #    U R                   SL=(       a    [        U5      U R                   :  nU(       aL  [        R                  " 5       R	                  U R
                  U R                  R                  U5      I Sh  vN $ U R                  U5      $  N7f)a  Compress the data and returned the compressed bytes.

Note that flush() must be called after the last call to compress()

If the data size is large than the max_sync_chunk_size, the compression
will be done in the executor. Otherwise, the compression will be done
in the event loop.

**WARNING: This method is NOT cancellation-safe when used with flush().**
If this operation is cancelled, the compressor state may be corrupted.
The connection MUST be closed after cancellation to avoid data corruption
in subsequent compress operations.

For cancellation-safe compression (e.g., WebSocket), the caller MUST wrap
compress() + flush() + send operations in a shield and lock to ensure atomicity.
N)	r   r   r   get_running_loopr   r   r   r   r   )r   r   should_use_executors      r   r   ZLibCompressor.compress   s     & %%T1 6D	D555 	  113CC 0 0 9 94   !!$''s   A<B>B?Br    c                 r    U R                   R                  Ub  U5      $ U R                  R                  5      $ )a  Flush the compressor synchronously.

**WARNING: This method is NOT cancellation-safe when called after compress().**
The flush() operation accesses shared compressor state. If compress() was
cancelled, calling flush() may result in corrupted data. The connection MUST
be closed after compress() cancellation.

For cancellation-safe compression (e.g., WebSocket), the caller MUST wrap
compress() + flush() + send operations in a shield and lock to ensure atomicity.
)r   r#   rg   rL   r"   s     r   r#   ZLibCompressor.flush   s>     %%$D
 	
*.*<*<*E*E
 	
r   )r   r   r   r   rg   r   )r&   r'   r(   r)   r   r   rD   r+   r   rj   r   r*   r   r   r#   r,   r   r   r   r   r      s      $(-  #$(*=D*D "&D Tz	D
 TzD *D T/D !4ZD6/& /U /(6 (e (8
#* 
 
 
r   r   c            
          ^  \ rS rSrSSS\4S\S-  S\S\S-  S\S-  4U 4S jjjr	\
4S	\S
\S\4S jjrSS\S\4S jjr\S\4S j5       r\S\4S j5       rSrU =r$ )ZLibDecompressori  NFr   r   r   r   c                    > [         TU ]  X4S9  [        X5      U l        [	        [
        R                  5      U l        U R                  R                  U R                  S9U l        SU l	        S U l
        g )Nr   r   rO   F)superrj   r   r   re   r   rg   rW   _decompressor_last_empty_pending_unused_data)r   r   r   r   r   	__class__s        r   rj   ZLibDecompressor.__init__  sd     	(T%hH
$6{7P7P$Q!//==DJJ=O 26!r   r   r0   r   c                    U R                   b  U R                   [        U5      -   nS U l         U R                  R                  U R                  R                  U-   U5      nUS:H  U l        U R                  R                  (       a  U R                  R                  (       a  U R                  R                  nU R                  R                  U R                  S9U l        U[        :w  a  U[        U5      -  nUS::  a  X@l         OaU R                  R                  XB5      nUS:H  U l        X5-  nU R                  R                  (       a  U R                  R                  (       a  M  U R                  R                  (       aL  U R                  U R                  R                  :  a(  U R                  R                  U R                  S9U l        U$ )Nr   r   r   )r   r*   r   r3   r>   r   r;   rA   rg   rW   r   r   r   rH   )r   r   r0   resultunusedchunks         r   r    ZLibDecompressor.decompress_sync  su    $$0,,uT{:D(,D%##....5z
 "S=
   $$););)G)G''33F!%!3!3!A!A

!A!SD66c&k)
?06-&&11&EE$|DOF   $$););)G)G)G  !!djj43E3E3O3O&O!%!3!3!A!A

!A!SDr   r5   c                 x    US:  a  U R                   R                  U5      $ U R                   R                  5       $ Nr   )r   r#   r7   s     r   r#   ZLibDecompressor.flush?  s?     z $$V,	
 ##))+	
r   c                     [        U R                  R                  5      =(       d&    U R                  (       + =(       d    U R                  S L$ r   )rD   r   r>   r   r   r:   s    r   r   ZLibDecompressor.data_availableF  sA     ##334 5###5((4	
r   c                 .    U R                   R                  $ r   )r   r;   r:   s    r   r;   ZLibDecompressor.eofN  s    !!%%%r   )r   r   r   r   rg   )r   )r&   r'   r(   r)   r   r   rD   r   r+   rj   r   r   r*   r   r#   rC   r   r;   r,   __classcell__r   s   @r   r   r     s      $(-$(*=7*7 "&7 T/	7
 !4Z7 7 /H""(+"	"H
C 
 
 
 
 
 &T & &r   r   c                      ^  \ rS rSrS\4S\S-  S\S-  SS4U 4S jjjr\4S\	S\S\
4S	 jjrS\
4S
 jr\S\4S j5       rSrU =r$ )BrotliDecompressoriS  Nr   r   r   c                    > [         (       d  [        S5      e[        R                  " 5       U l        SU l        [        TU ]  XS9  g)z)Decompress data using the Brotli library.zIThe brotli decompression is not available. Please install `Brotli` moduleFr   N)
HAS_BROTLIRuntimeErrorbrotliDecompressor_objr   r   rj   r   r   r   r   s      r   rj   BrotliDecompressor.__init__W  sF     z1  '')	 (Tr   r   r0   c                    [        U R                  S5      (       a^  U[        :X  a*  [        [        U R                  R                  U5      5      nO[        [        U R                  R                  X5      5      nO]U[        :X  a*  [        [        U R                  R                  U5      5      nO)[        [        U R                  R                  X5      5      nUS:H  U l        U$ )r   r3   r   )hasattrr   r   r
   r*   r3   processr   )r   r   r0   r   s       r   r   "BrotliDecompressor.decompress_syncf  s     499l++66eTYY%9%9$%?@eTYY%9%9$%KL66eTYY%6%6t%<=eTYY%6%6t%HI!S=r   c                     [        U R                  S5      (       a(  [        [        U R                  R	                  5       5      $ g)zFlush the decompressor.r#   r   )r   r   r
   r*   r#   r:   s    r   r#   BrotliDecompressor.flushx  s.    499g&&tyy011r   c                 p    U R                   R                  5       (       + =(       a    U R                  (       + $ r   )r   is_finishedr   r:   s    r   r   !BrotliDecompressor.data_available~  s&    99((**C43C3C/CCr   )r   r   r&   r'   r(   r)   r   r   r+   rj   r   r   r*   r   r#   rC   rD   r   r,   r   r   s   @r   r   r   S  s     %)*=UT/U !4ZU 
	U U  /H(+	$u  D D Dr   r   c                      ^  \ rS rSrS\4S\S-  S\S-  SS4U 4S jjjr\4S\	S\S\
4S	 jjrS\
4S
 jr\S\4S j5       rSrU =r$ )ZSTDDecompressori  Nr   r   r   c                 x   > [         (       d  [        S5      e[        5       U l        S U l        [
        TU ]  XS9  g )NzOThe zstd decompression is not available. Please install `backports.zstd` moduler   )HAS_ZSTDr   r   r   r   r   rj   r   s      r   rj   ZSTDDecompressor.__init__  s@    
 x9  %&	26!(Tr   r   r0   c                    U[         :X  a  [        OUnU R                  b  U R                  U-   nS U l        U R                  R	                  X5      nU R                  R
                  (       a  U R                  R                  (       a  U R                  R                  n[        5       U l        U[        :w  a  U[        U5      -  nUS::  a  XPl        OUX@R                  R	                  XS5      -  nU R                  R
                  (       a  U R                  R                  (       a  M  U R                  R
                  (       a  [        5       U l        U$ r   )	r   ZSTD_MAX_LENGTH_UNLIMITEDr   r   r3   r;   rA   r   r   )r   r   r0   zstd_max_lengthr   rA   s         r   r    ZSTDDecompressor.decompress_sync  s     66 & 	
 $$0,,t3D(,D%%%d< iimm		 5 5))//K(*DI";;3v;."a'0;-ii**;HHF iimm		 5 5 5 99==(*DIr   c                     g)Nr   r   r:   s    r   r#   ZSTDDecompressor.flush  s    r   c                     U R                   R                  (       + =(       a    U R                   R                  (       + =(       d    U R                  S L$ r   )r   needs_inputr;   r   r:   s    r   r   ZSTDDecompressor.data_available  s<     		%%%;diimm*;3&&d2	3r   )r   r   r   r   s   @r   r   r     s     %)*=UT/U !4ZU 
	U U /H$$(+$	$Lu  3 3 3r   r   )NF)0r   syszlibabcr   r   concurrent.futuresr   typingr   r   r   r	   r
   version_infocollections.abcr   r   r*   	bytearray
brotlicffir   ImportErrorr   compression.zstdr   backports.zstdr   r   r   r   r   r.   rF   ra   re   r   r_   r   r   rD   r+   r   r   r   r   r   r   r   r   r   <module>r
     s    
  # ' 8 8w&5)%68KKLF# J
7"53H
     6h 6
( (( 8iu *5 *5Z #5T": :1': 1t 1
  $)XDjX!X 	X Fs  FFH
 H
VD&/ D&N-D1 -D`<3/ <3c    J  HsB   D D" D0 
DD" DD" "D-,D-0D;:D;