+
     h	/  c            
      s   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^RIHt  ^ RI	t	 ^ RIt ! R R4      t ! R R]4      t ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tR]R]R]R]R]/t]	f   ]P3                  R4       ]f   ]P3                  R4       R# R#   ]
 d     ^ RIt	 L  ]
 d    Rt	  Li ; ii ; i  ]
 d    Rt Li ; i)zq
Handlers for Content-Encoding.

See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
)annotationsN)DecodingErrorc                  s.    ] tR t^$tR R ltR R ltRtR# )ContentDecoderc                    V ^8  d   QhRRRR/#    databytesreturn Zformat   "4/usr/lib/python3.14/site-packages/httpx/_decoders.py__annotate__ContentDecoder.__annotate__%   s     $ $5 $U $    c                	    \        4       hNZNotImplementedErrorselfr      &&r   decodeZContentDecoder.decode%       !##r   c                   V ^8  d   QhRR/# r   r   r   r	   r
   r   r   r   r   (   s     $ $u $r   c                	r   r   r   r      &r   flushZContentDecoder.flush(   r   r   r	   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r	   r   r   r   r   $   s    $$ $r   r   c                  s2    ] tR t^,tRtR R ltR R ltRtR# )IdentityDecoderz
Handle unencoded data.
c               r   r   r	   r
   r   r   r   IdentityDecoder.__annotate__1   s      5 U r   c                	s    V# r   r	   r   r   r   r   ZIdentityDecoder.decode1   s    r   c               r   r   r	   r
   r   r   r   r#   4   s      u r   c                	s    R # r   r	   r   r   r   r   ZIdentityDecoder.flush4   s    r   r	   N)r   r   r   r    __doc__r   r   r!   r	   r   r   r"   r"   ,   s     r   r"   c                  s>    ] tR t^8tRtR R ltR R ltR R ltRtR	# )
DeflateDecoderzN
Handle 'deflate' decoding.

See: https://stackoverflow.com/questions/1838699
c               r   r   r   Noner	   r
   r   r   r   DeflateDecoder.__annotate__?   s     1 1$ 1r   c                	sH    R V n         \        P                  ! 4       V n        R# TN)first_attemptzlibdecompressobjdecompressorr   r   r   __init__ZDeflateDecoder.__init__?   s    ! ..0r   c               r   r   r	   r
   r   r   r   r)   C   s     	3 	35 	3U 	3r   c                	sT   V P                   pR V n          V P                  P                  V4      #   \        P                   dc   pT'       dA   \        P
                  ! \        P                  ) 4      T n        T P                  T4      u Rp?# \        \        T4      4      ThRp?ii ; iFN)
r+   r.   
decompressr,   errorr-   	MAX_WBITSr   r   str)r   r   Zwas_first_attemptexcs   &&  r   r   ZDeflateDecoder.decodeC   s     .."	3$$//55zz 	3 $($6$6$G!{{4((C)s2		3s"   0 B'AB"B'B""B'c               r   r   r	   r
   r   r   r   r)   N        3 3u 3r   c                	     V P                   P                  4       #   \        P                   d   p\	        \        T4      4      ThR p?ii ; ir   r.   r   r,   r2   r   r4   r   r5      & r   r   ZDeflateDecoder.flushN   A    	3$$**,,zz 	3C)s2	3    AAA)r.   r+   N	r   r   r   r    r%   r/   r   r   r!   r	   r   r   r&   r&   8   s    1	33 3r   r&   c                  s>    ] tR t^UtRtR R ltR R ltR R ltRtR	# )
GZipDecoderzK
Handle 'gzip' decoding.

See: https://stackoverflow.com/questions/1838699
c               r   r'   r	   r
   r   r   r   GZipDecoder.__annotate__\   s     D D$ Dr   c                	sf    \         P                  ! \         P                  ^,          4      V n        R# )i   N)r,   r-   r3   r.   r   r   r   r/   ZGZipDecoder.__init__\   s     ..t~~/BCr   c               r   r   r	   r
   r   r   r   r?   _   s     3 35 3U 3r   c                	s     V P                   P                  V4      #   \        P                   d   p\	        \        T4      4      ThR p?ii ; ir   )r.   r1   r,   r2   r   r4   r   r   r5      && r   r   ZGZipDecoder.decode_   sC    	3$$//55zz 	3C)s2	3s    AAAc               r   r   r	   r
   r   r   r   r?   e   r6   r   c                	r7   r   r8   r9   r:   r   r   ZGZipDecoder.flushe   r;   r<   )r.   Nr=   r	   r   r   r>   r>   U   s    D33 3r   r>   c                  s>    ] tR t^ltRtR R ltR R ltR R ltRtR	# )
BrotliDecodera<  
Handle 'brotli' decoding.

Requires `pip install brotlipy`. See: https://brotlipy.readthedocs.io/
    or   `pip install brotli`. See https://github.com/google/brotli
Supports both 'brotlipy' and 'Brotli' packages since they share an import
name. The top branches are for 'brotlipy' and bottom branches for 'Brotli'
c               r   r'   r	   r
   r   r   r   BrotliDecoder.__annotate__v   s     9 9$ 9r   c                	s   \         f   \        R4      R h\         P                  ! 4       V n        RV n        V  \        V P                  R4      '       d   V P                  P                  V n        R # V P                  P                  V n        R # )NzUsing 'BrotliDecoder', but neither of the 'brotlicffi' or 'brotli' packages have been installed. Make sure to install httpx using `pip install httpx[brotli]`.Fr1   )	brotliImportErrorZDecompressorr.   	seen_datahasattrr1   _decompressZprocessr   r   r   r/   ZBrotliDecoder.__init__v   sy    >P 	 #//14$$l33#00;;D  $0088Dr   c               r   r   r	   r
   r   r   r   rC      s     3 35 3U 3r   c                	s    V'       g   R # RV n          V P                  V4      #   \        P                   d   p\	        \        T4      4      ThRp?ii ; i)r   TN)rF   rH   rD   r2   r   r4   r@   rA   r   r   ZBrotliDecoder.decode   sJ    	3##D))|| 	3C)s2	3s   $ AAAc               r   r   r	   r
   r   r   r   rC      s     3 3u 3r   c                	s    V P                   '       g   R #  \        V P                  R4      '       d   V P                  P                  4        R #   \        P
                   d   p\        \        T4      4      ThRp?ii ; i)r   finishN)rF   rG   r.   rI   rD   r2   r   r4   r9   r:   r   r   ZBrotliDecoder.flush   sb    ~~~
	3t(((33 !!((*|| 	3C)s2	3s   6A A=#A88A=)rH   r.   rF   Nr=   r	   r   r   rB   rB   l   s    9$33 3r   rB   c                  s>    ] tR t^tRtR R ltR R ltR R ltRtR	# )
ZStandardDecoderz
Handle 'zstd' RFC 8878 decoding.

Requires `pip install zstandard`.
Can be installed as a dependency of httpx using `pip install httpx[zstd]`.
c               r   r'   r	   r
   r   r   r   ZStandardDecoder.__annotate__   s      $ r   c                	s    \         f   \        R4      R h\         P                  ! 4       P                  4       V n        RV n        R # )NzXUsing 'ZStandardDecoder', ...Make sure to install httpx using `pip install httpx[zstd]`.F)	zstandardrE   ZstdDecompressorr-   r.   rF   r   r   r   r/   ZZStandardDecoder.__init__   sC    N 
 &668FFHr   c               r   r   r	   r
   r   r   r   rK      s     ! !5 !U !r   c                	sX   R V n         \        P                  ! 4       p VP                  V P                  P                  V4      4       V P                  P                  '       d   V P                  P                  '       dk   V P                  P                  p\        P                  ! 4       P                  4       V n        VP                  V P                  P                  V4      4       K  VP                  4       #   \        P                   d   p\        \        T4      4      ThRp?ii ; ir*   )rF   ioBytesIOwriter.   r1   eofunused_datarL   rM   r-   Z	ZstdErrorr   r4   getvalue)r   r   ZoutputrR   r5      &&   r   r   ZZStandardDecoder.decode   s    	3LL**55d;<##'''D,=,=,I,I,I"//;;$-$>$>$@$N$N$P!T..99+FG    "" 	3C)s2	3s%   AC: $C:  A*C: :D)D$$D)c               r   r   r	   r
   r   r   r   rK      s      u r   c                	s    V P                   '       g   R # V P                  P                  4       pV P                  P                  '       g   \	        R4      h\        V4      # )r   zZstandard data is incomplete)rF   r.   r   rQ   r   r   )r   Zretr:   r   r   ZZStandardDecoder.flush   sJ    ~~~%%'  $$$ >??Szr   )r.   rF   Nr=   r	   r   r   rJ   rJ      s    ! r   rJ   c                  s>    ] tR t^tRtR R ltR R ltR R ltRtR	# )
MultiDecoderz=
Handle the case where multiple encodings have been applied.
c                    V ^8  d   QhRRRR/# )r   childrenztyping.Sequence[ContentDecoder]r   r(   r	   r
   r   r   r   MultiDecoder.__annotate__   s     1 1!@ 1T 1r   c                s8    \        \        V4      4      V n        R# )zU
'children' should be a sequence of decoders in the order in which
each was applied.
N)ZlistZreversedrW   )r   rW   r   r   r/   ZMultiDecoder.__init__   s     Xh/0r   c               r   r   r	   r
   r   r   r   rX      s      5 U r   c                	sN    V P                    F  pVP                  V4      pK  	  V# r   )rW   r   r   r   ZchildrA   r   r   ZMultiDecoder.decode   s#    ]]E<<%D #r   c               r   r   r	   r
   r   r   r   rX      s      u r   c                	s|    R pV P                    F)  pVP                  V4      VP                  4       ,           pK+  	  V# r$   )rW   r   r   rY   s   &  r   r   ZMultiDecoder.flush   s3    ]]E<<%5D #r   )rW   Nr=   r	   r   r   rU   rU      s    1
 r   rU   c                  sB    ] tR t^tRtR
R R lltR R ltR R ltR	tR# )ByteChunkerz6
Handles returning byte content in fixed-size chunks.
Nc               rV   r   
chunk_sizez
int | Noner   r(   r	   r
   r   r   r   ByteChunker.__annotate__        & &: & &r   c                	F    \         P                  ! 4       V n        Wn        R # r   )rN   rO   _buffer_chunk_sizer   r\   r   r   r/   ZByteChunker.__init__   s    zz|%r   c               rV   )r   contentr   r   list[bytes]r	   r
   r   r   r   r]      s      e  r   c                	   V P                   f   V'       d   V.# . # V P                  P                  V4       V P                  P                  4       V P                   8  Ed   V P                  P	                  4       p\        ^ \        V4      V P                   4       Uu. uF  pW#W0P                   ,            NK  	  pp\        VR,          4      V P                   8X  d8   V P                  P                  ^ 4       V P                  P                  4        V# V P                  P                  ^ 4       V P                  P                  VR,          4       V P                  P                  4        VR R # . # u upi N	ra   r`   rP   ZtellrS   Zrangelenseektruncater   rc   valueZiZchunksrT   r   r   ZByteChunker.decode   ,   # 'G9/R/7#<<$"2"22LL))+E q#e*d.>.>??A !.../?   6":$"2"22!!!$%%'!!!$""6":.%%'cr{"I   E2c               r   )r   r   rd   r	   r
   r   r   r   r]     s     ( ({ (r   c                	    V P                   P                  4       pV P                   P                  ^ 4       V P                   P                  4        V'       d   V.# . # i    r`   rS   rj   rk   r   rm   r:   r   r   ZByteChunker.flush  E    %%'!w'R'r   r`   ra   r   r=   r	   r   r   rZ   rZ          &.( (r   rZ   c                  sB    ] tR tRtRtRR R lltR R ltR R	 ltR
tR# )TextChunkeri  z6
Handles returning text content in fixed-size chunks.
Nc               rV   r[   r	   r
   r   r   r   TextChunker.__annotate__  r^   r   c                	r_   r   )rN   ZStringIOr`   ra   rb   r   r   r/   ZTextChunker.__init__  s    {{}%r   c               rV   )r   rc   r4   r   	list[str]r	   r
   r   r   r   rx     s      c i r   c                	re   rf   rh   rl   rT   r   r   ZTextChunker.decode  rn   ro   c               r   r   r   ry   r	   r
   r   r   r   rx   +  s     ( (y (r   c                	rp   rq   rr   rs   r:   r   r   ZTextChunker.flush+  rt   r   ru   r   r=   r	   r   r   rw   rw     rv   r   rw   c                  sB    ] tR tRtRtRR R lltR R ltR R ltR	tR
# )TextDecoderi2  z0
Handles incrementally decoding bytes into text
c               rV   )r   encodingr4   r   r(   r	   r
   r   r   r   TextDecoder.__annotate__7  s     P P P4 Pr   c                	sJ    \         P                  ! V4      ! R R7      V n        R# )Zreplace)ZerrorsN)codecsZgetincrementaldecoderdecoder)r   r|   r   r   r/   ZTextDecoder.__init__7  s    33H=YOr   c               rV   )r   r   r   r   r4   r	   r
   r   r   r   r}   :  s     ) )5 )S )r   c                	s8    V P                   P                  V4      # r   r   r   r   r   r   r   ZTextDecoder.decode:  s    ||""4((r   c               r   )r   r   r4   r	   r
   r   r   r   r}   =  s     . .s .r   c                	s:    V P                   P                  R R4      # )r   Tr   r   r   r   r   ZTextDecoder.flush=  s    ||""3--r   )r   N)zutf-8r=   r	   r   r   r{   r{   2  s    P). .r   r{   c                  s>    ] tR tRtRtR R ltR R ltR R ltR	tR
# )LineDecoderiA  z
Handles incrementally reading lines from text.

Has the same behaviour as the stdllib splitlines,
but handling the input iteratively.
c               r   r'   r	   r
   r   r   r   LineDecoder.__annotate__I  s     ' '$ 'r   c                	s"    . V n         R V n        R# r0   buffertrailing_crr   r   r   r/   ZLineDecoder.__init__I  s    !#!&r   c               rV   )r   textr4   r   ry   r	   r
   r   r   r   r   M  s     $ $3 $9 $r   c                	s6   R pV P                   '       d   RV,           pRV n         VP                  R4      '       d   RV n         VRR pV'       g   . # VR,          V9   pVP                  4       p\        V4      ^8X  d-   V'       g%   V P                  P                  V^ ,          4       . # V P                  '       d@   RP                  V P                  4      V^ ,          ,           .VR,          ,           p. V n        V'       g   VP                  4       .V n        V# )u   
  ZFTN :i   NNrg   )r   ZendswithZ
splitlinesri   r   Zappendjoinpop)r   r   ZNEWLINE_CHARSZtrailing_newlinelinesrT   r   r   ZLineDecoder.decodeM  s    B $;D$D==#D9D I8}4!u:?#3KKuQx(I;;; WWT[[)E!H45b	AEDK !99;-DKr   c               r   rz   r	   r
   r   r   r   r   s  s      y r   c                	s    V P                   '       g   V P                  '       g   . # R P                  V P                   4      .p. V n         RV n        V# )r   F)r   r   r   )r   r   r:   r   r   ZLineDecoder.flushs  sD    {{{4#3#3#3I%& r   r   Nr=   r	   r   r   r   r   A  s    '$L r   r   ZidentityZgzipZdeflateZbrZzstd)r%   Z
__future__r    r~   rN   Ztypingr,   Z_exceptionsr   rD   rE   Z
brotlicffirL   r   r"   r&   r>   rB   rJ   rU   rZ   rw   r{   r   ZSUPPORTED_DECODERSr   r	   r   r   <module>r      sD   #  	   &	
$ $	n 	3^ 3:3. 3.23N 23j'~ 'T> 2$( $(N$( $(N. .9 9z 
K~-
  
>4 6" i   	$   Is:   C C9 C6C%%	C2.C61C22C69	DD