Ë
    $V.j„  ã                   ó”   — d dl Z d dlZd dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZ  G d„ d«      Z G d„ d«      Zded	ej                  fd
„Zy)é    N)ÚHeadersÚMutableHeaders)ÚASGIAppÚMessageÚReceiveÚScopeÚSendc            	       ó>   — e Zd Zddedededdfd„Zdeded	eddfd
„Z	y)ÚGZipMiddlewareÚappÚminimum_sizeÚcompresslevelÚreturnNc                 ó.   — || _         || _        || _        y ©N)r   r   r   ©Úselfr   r   r   s       ú[C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\starlette/middleware/gzip.pyÚ__init__zGZipMiddleware.__init__
   s   € ØˆŒØ(ˆÔØ*ˆÕó    ÚscopeÚreceiveÚsendc              ƒ   ó  K  — |d   dk(  r_t        |¬«      }d|j                  dd«      v r?t        | j                  | j                  | j
                  ¬«      } ||||«      ƒ d {  –—†  y | j                  |||«      ƒ d {  –—†  y 7 Œ!7 Œ­w)NÚtypeÚhttp)r   ÚgzipúAccept-EncodingÚ )r   )r   ÚgetÚGZipResponderr   r   r   )r   r   r   r   ÚheadersÚ	responders         r   Ú__call__zGZipMiddleware.__call__   sƒ   è ø€ Ø�‰=˜FÒ"Ü EÔ*ˆGØ˜Ÿ™Ð%6¸Ó;Ñ;Ü)¨$¯(©(°D×4EÑ4EÐUY×UgÑUgÔh�	Ù  w°Ó5×5Ð5ØØ�h‰h�u˜g tÓ,×,Ñ,ð 6øà,ús$   ‚A"B
Á$BÁ%B
Â BÂB
ÂB
)iô  é	   )
Ú__name__Ú
__module__Ú__qualname__r   Úintr   r   r   r	   r$   © r   r   r   r   	   sE   „ ñ+˜Gð +°3ð +ÈSð +ÐY]ó +ð
- Eð -°Gð -À4ð -ÈDô -r   r   c            	       óN   — e Zd Zddedededdfd„Zdeded	eddfd
„Z	de
ddfd„Zy)r!   r   r   r   r   Nc                 óà   — || _         || _        t        | _        i | _        d| _        d| _        t        j                  «       | _	        t        j                  d| j                  |¬«      | _        y )NFÚwb)ÚmodeÚfileobjr   )r   r   Úunattached_sendr   Úinitial_messageÚstartedÚcontent_encoding_setÚioÚBytesIOÚgzip_bufferr   ÚGzipFileÚ	gzip_filer   s       r   r   zGZipResponder.__init__   sX   € ØˆŒØ(ˆÔÜ)ˆŒ	Ø(*ˆÔØˆŒØ$)ˆÔ!ÜŸ:™:›<ˆÔÜŸ™¨D¸$×:JÑ:JÐZgÔhˆ�r   r   r   r   c              ƒ   óì   K  — || _         | j                  5  | j                  5  | j                  ||| j                  «      ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­wr   )r   r6   r8   r   Úsend_with_gzip)r   r   r   r   s       r   r$   zGZipResponder.__call__$   sU   è ø€ ØˆŒ	Ø×Ó˜tŸ~›~Ø—(‘(˜5 '¨4×+>Ñ+>Ó?×?Ð?÷  .×ÐØ?ø÷  .˜~ú×ÐüsE   ‚A4–A(£!AÁAÁAÁ	A(Á	A4ÁAÁA%	Á!A(Á(A1Á-A4Úmessagec              ƒ   ó’  K  — |d   }|dk(  r*|| _         t        | j                   d   ¬«      }d|v | _        y |dk(  r\| j                  rP| j                  s*d| _        | j	                  | j                   «      ƒ d {  –—†  | j	                  |«      ƒ d {  –—†  y |dk(  �rD| j                  �s7d| _        |j                  dd	«      }|j                  d
d«      }t        |«      | j                  k  r?|s=| j	                  | j                   «      ƒ d {  –—†  | j	                  |«      ƒ d {  –—†  y |s×| j                  j                  |«       | j                  j                  «        | j                  j                  «       }t        | j                   d   ¬«      }d|d<   t        t        |«      «      |d<   |j                  d«       ||d<   | j	                  | j                   «      ƒ d {  –—†  | j	                  |«      ƒ d {  –—†  y t        | j                   d   ¬«      }d|d<   |j                  d«       |d= | j                  j                  |«       | j                  j                  «       |d<   | j                  j!                  d«       | j                  j#                  «        | j	                  | j                   «      ƒ d {  –—†  | j	                  |«      ƒ d {  –—†  y |dk(  rÇ|j                  dd	«      }|j                  d
d«      }| j                  j                  |«       |s| j                  j                  «        | j                  j                  «       |d<   | j                  j!                  d«       | j                  j#                  «        | j	                  |«      ƒ d {  –—†  y y 7 �Œ67 �Œ 7 �Œ§7 �Œ‘7 �ŒÔ7 �Œ¾7 Œý7 Œæ7 Œ­w)Nr   zhttp.response.startr"   )Úrawzcontent-encodingzhttp.response.bodyTÚbodyr   Ú	more_bodyFr   zContent-EncodingzContent-Lengthr   r   )r1   r   r3   r2   r   r    Úlenr   r8   ÚwriteÚcloser6   Úgetvaluer   ÚstrÚadd_vary_headerÚseekÚtruncate)r   r;   Úmessage_typer"   r>   r?   s         r   r:   zGZipResponder.send_with_gzip)   s4  è ø€ Ø˜v‘ˆØÐ0Ò0ð $+ˆDÔ Ü $×"6Ñ"6°yÑ"AÔBˆGØ(:¸gÐ(EˆDÕ%ØÐ1Ò1°d×6OÒ6OØ—<’<Ø#�”Ø—i‘i × 4Ñ 4Ó5×5Ð5Ø—)‘)˜GÓ$×$Ñ$ØÐ1Ó1¸$¿,»,ØˆDŒLØ—;‘;˜v sÓ+ˆDØŸ™ K°Ó7ˆIÜ�4‹y˜4×,Ñ,Ò,±Yà—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(Ùà—‘×$Ñ$ TÔ*Ø—‘×$Ñ$Ô&Ø×'Ñ'×0Ñ0Ó2�ä(¨T×-AÑ-AÀ)Ñ-LÔM�Ø.4�Ð*Ñ+Ü,/´°D³	«N�Ð(Ñ)Ø×'Ñ'Ð(9Ô:Ø"&�˜‘à—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(ô )¨T×-AÑ-AÀ)Ñ-LÔM�Ø.4�Ð*Ñ+Ø×'Ñ'Ð(9Ô:ØÐ,Ð-à—‘×$Ñ$ TÔ*Ø"&×"2Ñ"2×";Ñ";Ó"=�˜‘Ø× Ñ ×%Ñ% aÔ(Ø× Ñ ×)Ñ)Ô+à—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(àÐ1Ò1à—;‘;˜v sÓ+ˆDØŸ™ K°Ó7ˆIà�N‰N× Ñ  Ô&ÙØ—‘×$Ñ$Ô&à"×.Ñ.×7Ñ7Ó9ˆG�F‰OØ×Ñ×!Ñ! !Ô$Ø×Ñ×%Ñ%Ô'à—)‘)˜GÓ$×$Ñ$ð 2ðO 6ùØ$ùð 6ùØ(ùð 6ùØ(ùð 6øØ(øð %ús¦   ‚A7OÁ9N/Á:OÂN2ÂA;OÄN5ÄOÄ'N8Ä(B?OÇ'N;Ç(OÈ N>ÈCOËOËOËOËCOÎ(OÎ)OÎ2OÎ5OÎ8OÎ;OÎ>OÏOÏOÏO)r%   )r&   r'   r(   r   r)   r   r   r   r	   r$   r   r:   r*   r   r   r!   r!      sb   „ ñi˜Gð i°3ð iÀsð iÐSWó ið@ Eð @°Gð @À4ð @ÈDó @ð
?%¨Gð ?%¸ô ?%r   r!   r;   r   c              ƒ   ó    K  — t        d«      ‚­w)Nzsend awaitable not set)ÚRuntimeError)r;   s    r   r0   r0   k   s   è ø€ Ü
Ð/Ó
0Ð0ùs   ‚)r   r4   ÚtypingÚstarlette.datastructuresr   r   Ústarlette.typesr   r   r   r   r	   r   r!   ÚNoReturnr0   r*   r   r   Ú<module>rO      sE   ðÛ Û 	Û ç <ß BÕ B÷-ñ -÷ O%ñ O%ðd1 7ð 1¨v¯©ô 1r   