+
    id                    P   ^ RI Ht ^ RIt^ RIHt ^ RIHtHt ^RIH	t	 ^RI
HtHtHtHtHtHt ^RIHtHtHt ^RIHtHtHt . ROtRt]! ^^4       U u. uF  p ]! V 4      NK  	  up t ! R R	]4      tR R ltR R lt ! R R
]4      t R R lt! ! R R]4      t"R R lt#R# u up i )    )annotationsN)Sequence)AnyLiteral)frames)DuplicateParameterInvalidParameterNameInvalidParameterValueNegotiationErrorPayloadTooBigProtocolError)	BytesLikeExtensionNameExtensionParameter)ClientExtensionFactory	ExtensionServerExtensionFactoryPerMessageDeflateClientPerMessageDeflateFactoryServerPerMessageDeflateFactorys     c                  f    ] tR t^!tRt]! R4      tRR R lltR R ltRR/R	 R
 llt	R R lt
RtR# )r   z!
Per-Message Deflate extension.

permessage-deflateNc               0    V ^8  d   QhRRRRRRRRRRR	R
/# )   remote_no_context_takeoverboollocal_no_context_takeoverremote_max_window_bitsintlocal_max_window_bitscompress_settingszdict[Any, Any] | NonereturnNone )formats   "o/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/websockets/extensions/permessage_deflate.py__annotate__PerMessageDeflate.__annotate__)   sF     && &&$(&& $(&& !$	&&
  #&& 1&& 
&&    c                   Vf   / pVR9   g   Q hVR9   g   Q h^Tu;8:  d	   ^8:  g   Q h Q h^Tu;8:  d	   ^8:  g   Q h Q hRV9  g   Q hWn         W n        W0n        W@n        WPn        V P                   '       g(   \
        P                  ! V P                  ) R7      V n        V P                  '       g3   \
        P                  ! RRV P                  ) /V P                  B V n	        RV n
        R# )z/
Configure the Per-Message Deflate extension.

NFwbitsr+   )FTr$   )r   r   r   r    r!   zlibdecompressobjdecodercompressobjencoderdecode_cont_data)selfr   r   r   r    r!   s   &&&&&&r&   __init__PerMessageDeflate.__init__)   s     $ ")]:::(M999*0b00000)/R/////////*D')B&&<#%:"!2...--T5P5P4PQDL---++ 111((DL !&r)   c                   V ^8  d   QhRR/# )r   r"   strr$   )r%   s   "r&   r'   r(   S   s     
 
# 
r)   c           	     	p    R V P                    RV P                   RV P                   RV P                   R2	# )z-PerMessageDeflate(remote_no_context_takeover=z, local_no_context_takeover=z, remote_max_window_bits=z, local_max_window_bits=))r   r   r   r    r3   s   &r&   __repr__PerMessageDeflate.__repr__S   sV    **.*I*I)J K))-)G)G(H I&&*&A&A%B C%%)%?%?$@	C	
r)   max_sizec               $    V ^8  d   QhRRRRRR/# )r   frameframes.Framer=   
int | Noner"   r$   )r%   s   "r&   r'   r(   \   s-     G
 G
G
 	G

 
G
r)   c                  VP                   \        P                  9   d   V# VP                   \        P                  J d/   V P                  '       g   V# VP
                  '       d   RV n        MfVP                  '       g   V# VP
                  '       g   RV n        V P                  '       d(   \        P                  ! V P                  ) R7      V n        VP
                  '       d<   \        VP                  4      R8  d"   \        VP                  4      \        ,           pMVP                  pVf   ^ MTp V P                  P!                  W44      pV P                  P"                  '       d   Vf   Q h\%        RV4      hVP
                  '       d:   \        VP                  4      R8  d    V P                  P!                  \        4       TP
                  '       d   T P                  '       d   T =\        P*                  ! TP                   TTP
                  RTP,                  TP.                  4      #   \        P&                   d   p\)        R4      ThRp?ii ; i)z
Decode an incoming frame.

FTr,   i  Nzdecompression failed)opcoder   CTRL_OPCODESOP_CONTr2   finrsv1r   r-   r.   r   r/   lendatabytes_EMPTY_UNCOMPRESSED_BLOCK
decompressunconsumed_tailr   errorr   Framersv2rsv3)r3   r?   r=   rI   
max_lengthexcs   &&$   r&   decodePerMessageDeflate.decode\   s    <<6...L
 <<6>>)(((yyy(-% :::999(,% ...#119T9T8TU 999UZZ4/ $'@@D::D"*Q
		A<<**4<D||++++++#D(33yyyS_4''(AB
 999888||LLIIJJJJ
 	
 zz 	A 67S@	As   6AH3 9H3 3IIIc                    V ^8  d   QhRRRR/# )r   r?   r@   r"   r$   )r%   s   "r&   r'   r(      s     -
 -
L -
\ -
r)   c                @   VP                   \        P                  9   d   V# VP                   \        P                  JdE   V P                  '       d3   \
        P                  ! RRV P                  ) /V P                  B V n	        V P                  P                  VP                  4      V P                  P                  \
        P                  4      ,           pVP                  '       d5   VRR \        8X  g   Q h\!        V4      R8  d   VRR pM\#        V4      RR pVP                  '       d   V P                  '       d   V =	\        P$                  ! VP                   VVP                  VP                   \        P                  JVP&                  VP(                  4      # )z
Encode an outgoing frame.

r+   Ni   r$   )rC   r   rD   rE   r   r-   r0   r    r!   r1   compressrI   flushZ_SYNC_FLUSHrF   rK   rH   
memoryviewrO   rP   rQ   )r3   r?   rI   s   && r&   encodePerMessageDeflate.encode   sA    <<6...L
 <<v~~----#//  555 ,,  ||$$UZZ04<<3E3EdFWFW3XX999 9 99994y4CRy!$', 999777||LLIILL.JJJJ
 	
r)   )r!   r2   r/   r1   r    r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   namer4   r;   rT   r]   __static_attributes__r$   r)   r&   r   r   !   s;    
 -.D&&T
G
  $	G
R-
 -
r)   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   server_no_context_takeoverr   client_no_context_takeoverserver_max_window_bitsrA   client_max_window_bitsint | Literal[True] | Noner"   zlist[ExtensionParameter]r$   )r%   s   "r&   r'   r'      s:       $ $ ' 7	
 r)   c                0   . pV '       d   VP                  R4       V'       d   VP                  R4       V'       d   VP                  R\        V4      34       VRJ d   VP                  R4       V# V'       d   VP                  R\        V4      34       V# )zK
Build a list of ``(name, value)`` pairs for some compression parameters.

rj   Trk   )rh   N)ri   N)rk   N)appendr7   )rh   ri   rj   rk   paramss   &&&& r&   _build_parametersrp      s     (*F!:;!:;/5K1LMN%67 M 
 /5K1LMNMr)   c               $    V ^8  d   QhRRRRRR/# )r   ro   Sequence[ExtensionParameter]	is_serverr   r"   z9tuple[bool, bool, int | None, int | Literal[True] | None]r$   )r%   s   "r&   r'   r'      s$     : :(:8<:>:r)   c                  RpRpRpRpV  F  w  rgVR8X  d'   V'       d   \        V4      hVf   RpK'  \        Wg4      hVR8X  d'   V'       d   \        V4      hVf   RpKT  \        Wg4      hVR8X  d3   Ve   \        V4      hV\        9   d   \        V4      pK  \        Wg4      hVR8X  dC   Ve   \        V4      hV'       d	   Vf   RpK  V\        9   d   \        V4      pK  \        Wg4      h\	        V4      h	  VVVV3# )z
Extract compression parameters from a list of ``(name, value)`` pairs.

If ``is_server`` is :obj:`True`, ``client_max_window_bits`` may be
provided without a value. This is only allowed in handshake requests.

FNrh   Tri   rj   rk   )r   r
   _MAX_WINDOW_BITS_VALUESr   r	   )ro   rs   rh   ri   rj   rk   re   values   &$      r&   _extract_parametersrw      s&    (-',)-9=//)(..}-1*+D8811)(..}-1*+D88--%1(..//),U&+D88--%1(..U])-&11),U&+D88 't,,I N 	#"	 r)   c                  R    ] tR tRtRt]! R4      tRR R lltR R ltR	 R
 lt	Rt
R# )r   i*  a  
Client-side extension factory for the Per-Message Deflate extension.

Parameters behave as described in `section 7.1 of RFC 7692`_.

.. _section 7.1 of RFC 7692: https://datatracker.ietf.org/doc/html/rfc7692#section-7.1

Set them to :obj:`True` to include them in the negotiation offer without a
value or to an integer value to include them with this value.

Args:
    server_no_context_takeover: Prevent server from using context takeover.
    client_no_context_takeover: Prevent client from using context takeover.
    server_max_window_bits: Maximum size of the server's LZ77 sliding window
        in bits, between 8 and 15.
    client_max_window_bits: Maximum size of the client's LZ77 sliding window
        in bits, between 8 and 15, or :obj:`True` to indicate support without
        setting a limit.
    compress_settings: Additional keyword arguments for :func:`zlib.compressobj`,
        excluding ``wbits``.

r   Nc               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r   rh   r   ri   rj   rA   rk   rl   r!   dict[str, Any] | Noner"   r#   r$   )r%   s   "r&   r'   +ClientPerMessageDeflateFactory.__annotate__D  sF     3 3$(3 %)3 !+	3
 !;3 13 
3r)   c                    Ve   ^Tu;8:  d   ^8:  g   M \        R4      hVe#   VRJ g   ^Tu;8:  d   ^8:  g   M \        R4      hVe   RV9   d   \        R4      hWn        W n        W0n        W@n        WPn        R# )7
Configure the Per-Message Deflate extension factory.

N/server_max_window_bits must be between 8 and 15T/client_max_window_bits must be between 8 and 15r+   zLcompress_settings must not include wbits, set client_max_window_bits instead)
ValueErrorrh   ri   rj   rk   r!   )r3   rh   ri   rj   rk   r!   s   &&&&&&r&   r4   'ClientPerMessageDeflateFactory.__init__D  s     '.!7M2SQS2SNOO"*%-*0b0NOO(W8I-I5 
 +E'*D'&<#&<#!2r)   c                   V ^8  d   QhRR/# )r   r"   rr   r$   )r%   s   "r&   r'   r{   d  s     

 

$@ 

r)   c                n    \        V P                  V P                  V P                  V P                  4      # )z
Build request parameters.

)rp   rh   ri   rj   rk   r:   s   &r&   get_request_params1ClientPerMessageDeflateFactory.get_request_paramsd  s5    
 !++++''''	
 	
r)   c               $    V ^8  d   QhRRRRRR/# )r   ro   rr   accepted_extensionsSequence[Extension]r"   r   r$   )r%   s   "r&   r'   r{   p  s-     g
 g
,g
 1g
 
	g
r)   c                  a  \         ;QJ d    V 3R lV 4       F  '       g   K   RM	  RM! V 3R lV 4       4      '       d   \        RS P                   24      h\        VRR7      w  ppppS P                  '       d   V'       g   \        R4      hS P
                  '       d   V'       g   RpS P                  f   M+Vf   \        R4      hVS P                  8  d   \        R4      hS P                  f   Ve   \        R	4      hM>S P                  RJ d   M-Vf   S P                  pMVS P                  8  d   \        R
4      h\        TTT;'       g    ^T;'       g    ^S P                  4      # )z>
Process response parameters.

Return an extension instance.

c              3  T   <"   T F  qP                   SP                   8H  x  K  	  R # 5ir_   re   .0otherr3   s   & r&   	<genexpr>IClientPerMessageDeflateFactory.process_response_params.<locals>.<genexpr>{       H4G5zzTYY&4G   %(TFzreceived duplicate rs   z#expected server_no_context_takeoverzexpected server_max_window_bitsz"unsupported server_max_window_bitsz!unexpected client_max_window_bitsz"unsupported client_max_window_bits)
anyr   re   rw   rh   ri   rj   rk   r   r!   r3   ro   r   rh   ri   rj   rk   s   f&&    r&   process_response_params6ClientPerMessageDeflateFactory.process_response_paramsp  sg    3H4GH333H4GHHH"%8#DEE  %8	
&&"" ***-&'LMM ***--1* &&. &-&'HII'$*E*EE&'KLL &&.%1&'JKK 2 ((D0 &-)-)D)D&'$*E*EE&'KLL &&"((b"((b""
 	
r)   )rk   ri   r!   rj   rh   )FFNTN)r`   ra   rb   rc   rd   r   re   r4   r   r   rf   r$   r)   r&   r   r   *  s+    . -.D3@

g
 g
r)   c                    V ^8  d   QhRRRR/# )r   
extensionsz'Sequence[ClientExtensionFactory] | Noner"   z Sequence[ClientExtensionFactory]r$   )r%   s   "r&   r'   r'     s      7%r)   c                    V f   . p \         ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       g    \        V 4      \        R^/R7      .,           p V # )z
Enable Per-Message Deflate with default settings in client extensions.

If the extension is already present, perhaps with non-default settings,
the configuration isn't changed.

c              3  \   "   T F"  pVP                   \        P                   8H  x  K$  	  R # 5ir_   )re   r   )r   extension_factorys   & r&   r   3enable_client_permessage_deflate.<locals>.<genexpr>  s*      !+ 	"@"E"EE!+   *,TFmemLevel)r!   )r   listr   r   s   &r&    enable_client_permessage_deflater     sk     
3 !+333 !+   *%*#-q/)
 


 r)   c                  F    ] tR tRtRt]! R4      tR
R R lltR R ltR	t	R# )r   i  aS  
Server-side extension factory for the Per-Message Deflate extension.

Parameters behave as described in `section 7.1 of RFC 7692`_.

.. _section 7.1 of RFC 7692: https://datatracker.ietf.org/doc/html/rfc7692#section-7.1

Set them to :obj:`True` to include them in the negotiation offer without a
value or to an integer value to include them with this value.

Args:
    server_no_context_takeover: Prevent server from using context takeover.
    client_no_context_takeover: Prevent client from using context takeover.
    server_max_window_bits: Maximum size of the server's LZ77 sliding window
        in bits, between 8 and 15.
    client_max_window_bits: Maximum size of the client's LZ77 sliding window
        in bits, between 8 and 15.
    compress_settings: Additional keyword arguments for :func:`zlib.compressobj`,
        excluding ``wbits``.
    require_client_max_window_bits: Do not enable compression at all if
        client doesn't advertise support for ``client_max_window_bits``;
        the default behavior is to enable compression without enforcing
        ``client_max_window_bits``.

r   Nc               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )r   rh   r   ri   rj   rA   rk   r!   rz   require_client_max_window_bitsr"   r#   r$   )r%   s   "r&   r'   +ServerPerMessageDeflateFactory.__annotate__  sY     !M !M$(!M %)!M !+	!M
 !+!M 1!M )-!M 
!Mr)   c                (   Ve   ^Tu;8:  d   ^8:  g   M \        R4      hVe   ^Tu;8:  d   ^8:  g   M \        R4      hVe   RV9   d   \        R4      hVf   V'       d   \        R4      hWn        W n        W0n        W@n        WPn        W`n        R# )r}   Nr~   r   r+   zLcompress_settings must not include wbits, set server_max_window_bits insteadzVrequire_client_max_window_bits is enabled, but client_max_window_bits isn't configured)r   rh   ri   rj   rk   r!   r   )r3   rh   ri   rj   rk   r!   r   s   &&&&&&&r&   r4   'ServerPerMessageDeflateFactory.__init__  s     '.!7M2SQS2SNOO&.!7M2SQS2SNOO(W8I-I5  ").L> 
 +E'*D'&<#&<#!2.L+r)   c               $    V ^8  d   QhRRRRRR/# )r   ro   rr   r   r   r"   z2tuple[list[ExtensionParameter], PerMessageDeflate]r$   )r%   s   "r&   r'   r   2  s-     o
 o
,o
 1o
 
<	o
r)   c                  a  \         ;QJ d    V 3R lV 4       F  '       g   K   RM	  RM! V 3R lV 4       4      '       d   \        RS P                   24      h\        VRR7      w  ppppS P                  '       d   V'       g   RpS P
                  '       d   V'       g   RpS P                  f   M.Vf   S P                  pMVS P                  8  d   S P                  pS P                  f   VRJ d   S P                  pMRVf   S P                  '       d   \        R4      hM0VRJ d   S P                  pMS P                  V8  d   S P                  p\        VVVV4      \        TTT;'       g    ^T;'       g    ^S P                  4      3# )zQ
Process request parameters.

Return response params and an extension instance.

c              3  T   <"   T F  qP                   SP                   8H  x  K  	  R # 5ir_   r   r   s   & r&   r   HServerPerMessageDeflateFactory.process_request_params.<locals>.<genexpr>=  r   r   TFzskipped duplicate r   zrequired client_max_window_bits)r   r   re   rw   rh   ri   rj   rk   r   rp   r   r!   r   s   f&&    r&   process_request_params5ServerPerMessageDeflateFactory.process_request_params2  s    3H4GH333H4GHHH"%7		{#CDD  $7	
&&""" ***--1* ***--1* &&. &-)-)D)D&'$*E*EE)-)D)D& &&.%-)-)D)D& &-666*+LMM 7'4/)-)D)D&,,/EE)-)D)D& **&&	 **&,,"&,,"&&
 	
r)   )rk   ri   r!   r   rj   rh   )FFNNNF)
r`   ra   rb   rc   rd   r   re   r4   r   rf   r$   r)   r&   r   r     s'    4 -.D!MFo
 o
r)   c                    V ^8  d   QhRRRR/# )r   r   z'Sequence[ServerExtensionFactory] | Noner"   z Sequence[ServerExtensionFactory]r$   )r%   s   "r&   r'   r'     s      7%r)   c                    V f   . p \         ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       g"   \        V 4      \        ^^R^/R7      .,           p V # )z
Enable Per-Message Deflate with default settings in server extensions.

If the extension is already present, perhaps with non-default settings,
the configuration isn't changed.

c              3  \   "   T F"  pVP                   \        P                   8H  x  K$  	  R # 5ir_   )re   r   )r   ext_factorys   & r&   r   3enable_server_permessage_deflate.<locals>.<genexpr>  s)      %K 	:???%r   TFr   )rj   rk   r!   )r   r   r   r   s   &r&    enable_server_permessage_deflater     sq     
3 %333 %   *%*')')#-q/)
 

 r)   )r   r   r   r   r   )$
__future__r   r-   collections.abcr   typingr   r    r   
exceptionsr   r	   r
   r   r   r   r   r   r   baser   r   r   __all__rK   ranger7   ru   r   rp   rw   r   r   r   r   )bitss   0r&   <module>r      s    "  $    B A K K 0 16q">3t9> q
	 q
h0:zm
%; m
`0o
%; o
dM ?s   B#