§
    3?ÄjX  ã                   ó²   — d dl mZ d dlZ G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Zdefd„Z G d„ de¦  «        Z	dS )é    )ÚProtocolNc                   ó   — e Zd ZdZdS )ÚDecodeRatioErrorzBOutput-to-input amplification ratio exceeded the configured limit.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú@C:\Projects\Historical\venv\Lib\site-packages\httplib2/decode.pyr   r      s   € € € € € ØLÐLÐLÐLr   r   c                   ó   — e Zd ZdZdS )ÚDecodeLimitErrorz,Total output length exceeded the hard limit.Nr   r   r   r   r   r   	   s   € € € € € Ø6Ð6Ð6Ð6r   r   c                   ó\   — e Zd Zedefd„¦   «         Zdedefd„Zdefd„Zddede	defd	„Z
d
S )ÚDecoderProtocolÚreturnc                 ó   — d S ©Nr   ©Úselfs    r   Úneeds_inputzDecoderProtocol.needs_input   s   € àˆr   Úbc                 ó   — d S r   r   ©r   r   s     r   ÚdecodezDecoderProtocol.decode   ó   € Øˆr   c                 ó   — d S r   r   r   s    r   ÚflushzDecoderProtocol.flush   r   r   é   ÚdataÚ
chunk_sizec                 ó`  — t          ¦   «         }|dk    rt          |¦  «        }t          dt          |¦  «        |¦  «        D ]7}||||z   …         }|                     |                      |¦  «        ¦  «         Œ8|                     |                      ¦   «         ¦  «         t          |¦  «        S )Nr   )Ú	bytearrayÚlenÚrangeÚextendr   r   Úbytes)r   r    r!   ÚoutÚiÚchunks         r   Úconsume_byteszDecoderProtocol.consume_bytes   sš   € Ý‰kŒkˆØ˜Š?ˆ?Ý˜T™œˆJÝ�q�#˜d™)œ) ZÑ0Ô0ð 	+ð 	+ˆAØ˜˜Q ™^Ð+Ô,ˆEØ�JŠJ�t—{’{ 5Ñ)Ô)Ñ*Ô*Ð*Ð*Ø�
Š
�4—:’:‘<”<Ñ Ô Ð Ý�S‰zŒzÐr   N)r   )r   r   r	   ÚpropertyÚboolr   r'   r   r   Úintr+   r   r   r   r   r      s¤   € € € € € Øð˜Tð ð ð ñ „Xðð˜ð  %ð ð ð ð ð�uð ð ð ð ðð  %ð °Sð Èð ð ð ð ð ð r   r   c                   ón   — e Zd ZdZdZdZdZdZdZefde	fd„Z
ed	efd
„¦   «         Zded	efd„Zd	efd„ZdS )ÚZlibDecodera#  
    Thin wrapper around zlib.Decompressor conforming to the Decoder interface.

    Note: zlib pushes all available decompressed data immediately upon receiving
    input. It never holds back output requiring `decode(b"")` to extract it.
    Thus, `needs_input` naturally remains True.
    )Ú_decoderiñÿÿÿé   é   é/   Úwbitsc                 ó8   — t          j        |¦  «        | _        d S r   )ÚzlibÚdecompressobjr1   )r   r5   s     r   Ú__init__zZlibDecoder.__init__3   s   € Ý15Ô1CÀEÑ1JÔ1JˆŒˆˆr   r   c                 óH   — | j         €t          d¦  «        ‚| j         j         S ©Nzused after flush())r1   ÚRuntimeErrorÚeofr   s    r   r   zZlibDecoder.needs_input6   s'   € àŒ=Ð ÝÐ3Ñ4Ô4Ð4Ø”=Ô$Ð$Ð$r   r   c                 ób   — | j         €t          d¦  «        ‚| j                              |¦  «        S r;   )r1   r<   Ú
decompressr   s     r   r   zZlibDecoder.decode<   s/   € ØŒ=Ð ÝÐ3Ñ4Ô4Ð4ØŒ}×'Ò'¨Ñ*Ô*Ð*r   c                 ór   — | j         €t          d¦  «        ‚| j                              ¦   «         }d | _         |S r;   )r1   r<   r   )r   Úresults     r   r   zZlibDecoder.flushA   s8   € ØŒ=Ð ÝÐ3Ñ4Ô4Ð4Ø”×$Ò$Ñ&Ô&ˆØˆŒØˆr   N)r   r   r	   r
   Ú	__slots__ÚWBITS_DEFLATEÚ
WBITS_ZLIBÚ
WBITS_GZIPÚWBITS_AUTO_GZIP_ZLIBr.   r9   r,   r-   r   r'   r   r   r   r   r   r0   r0   #   sÇ   € € € € € ðð ð €Ià€MØ€JØ€JØ"Ðà$8ð Kð K˜cð Kð Kð Kð Kð ð%˜Tð %ð %ð %ñ „Xð%ð
+˜ð + %ð +ð +ð +ð +ð
�uð ð ð ð ð ð r   r0   r   c                  ó4   — t          t           j        ¦  «        S r   )r0   rC   r   r   r   ÚDeflateDecoderrH   I   s   € Ý•{Ô0Ñ1Ô1Ð1r   c                   óŒ   — e Zd ZdZ	 	 	 	 ddededed	ed
eddfd„Zdd„Ze	de
fd„¦   «         Zdedefd„Zdefd„Zdedefd„ZdS )ÚLimitDecoder)	r1   Ú_ratioÚ_chunk_sizeÚ_safe_limitÚ_hard_limitÚ_consumed_lengthÚ_output_lengthÚ_input_bufferÚ_flushedéd   r   é    ì       
 ÚdecoderÚratior!   Ú
safe_limitÚ
hard_limitr   Nc                 ód  — |dk     rt          d|› d�¦  «        ‚|dk     rt          d|› d�¦  «        ‚|dk     rt          d|› d�¦  «        ‚|dk     rt          d|› d�¦  «        ‚|| _        || _        || _        || _        || _        d| _        d| _        t          ¦   «         | _	        d| _
        d S )Nr   zLimitDecoder() ratio=z expected >= 0zLimitDecoder() chunk_size=zLimitDecoder() safe_limit=F)Ú
ValueErrorr1   rK   rL   rM   rN   rO   rP   r#   rQ   rR   )r   rV   rW   r!   rX   rY   s         r   r9   zLimitDecoder.__init__Z   sÝ   € ð �1Š9ˆ9ÝÐJ°UÐJÐJÐJÑKÔKÐKØ˜Š>ˆ>ÝÐT¸*ÐTÐTÐTÑUÔUÐUØ˜Š>ˆ>ÝÐT¸*ÐTÐTÐTÑUÔUÐUØ˜Š>ˆ>ÝÐT¸*ÐTÐTÐTÑUÔUÐUà)0ˆŒØ"ˆŒØ *ˆÔØ *ˆÔØ *ˆÔØ%&ˆÔØ#$ˆÔÝ(1©¬ˆÔØ#ˆŒˆˆr   c           
      ó¦  — | j         dk    r/| j        | j         k    rt          d| j        › d| j         › �¦  «        ‚| j        dk    r| j        | j        k     rd S | j        dk    rl| j        | j        | j        z  k    rV| j        dk    r| j        | j        z  nt          d¦  «        }t          d|d›d| j        › d| j        › d	| j        › �¦  «        ‚d S d S )
Nr   zOutput length z exceeds hard limit ÚinfzAmplification ratio z.1fz (ú/z) exceeds limit )rN   rP   r   rM   rK   rO   Úfloatr   )r   Úactual_ratios     r   Ú_check_limitszLimitDecoder._check_limitsu   s  € ØÔ˜qÒ Ð  tÔ':¸TÔ=MÒ'MÐ'MÝ"Ð#o°DÔ4GÐ#oÐ#oÐ]aÔ]mÐ#oÐ#oÑpÔpÐpØÔ˜qÒ Ð  tÔ':¸TÔ=MÒ'MÐ'MØˆFØŒK˜!ŠOˆO $Ô"5¸Ô8MÐPTÔP[Ñ8[Ò"[Ð"[ØJNÔJ_ÐbcÒJcÐJc˜4Ô.°Ô1FÑFÐFÕinÐotÑiuÔiuˆLÝ"ð0 |Ðið 0ð 0¸4Ô;Nð 0ð 0ÐQUÔQfð 0ð 0Ø"&¤+ð0ð 0ñô ð ð ˆOÐ"[Ð"[r   c                 ó   — | j         j        S r   )r1   r   r   s    r   r   zLimitDecoder.needs_input�   s   € àŒ}Ô(Ð(r   r   c                 óv   — | j         rt          d¦  «        ‚|                      |¦  «        }t          |¦  «        S )Nzdecode() called after flush())rR   r<   Ú_pumpr'   )r   r   Úoutputs      r   r   zLimitDecoder.decode…   s7   € ØŒ=ð 	@ÝÐ>Ñ?Ô?Ð?Ø—’˜A‘”ˆÝ�V‰}Œ}Ðr   c                 óB  — | j         rt          d¦  «        ‚d| _         |                      d¦  «        }| j                             ¦   «         }|                     |¦  «         | xj        t          |¦  «        z  c_        |                      ¦   «          t          |¦  «        S )Nzflush() called more than onceTr   )
rR   r<   rd   r1   r   r&   rP   r$   ra   r'   )r   re   r    s      r   r   zLimitDecoder.flush‹   s�   € ØŒ=ð 	@ÝÐ>Ñ?Ô?Ð?ØˆŒà—’˜C‘”ˆàŒ}×"Ò"Ñ$Ô$ˆØ�Š�dÑÔÐØÐÔ�s 4™yœyÑ(ÐÔØ×ÒÑÔÐå�V‰}Œ}Ðr   c                 ó¨  — | j                              |¦  «         t          ¦   «         }	 | j        j        sc| j                             d¦  «        }|rG|                     |¦  «         | xj        t          |¦  «        z  c_        |                      ¦   «          Œp| j         r±t          | j         d | j
        …         ¦  «        }| j         d | j
        …= | j                             |¦  «        }| xj        t          |¦  «        z  c_        |rF|                     |¦  «         | xj        t          |¦  «        z  c_        |                      ¦   «          �Œ(	 |S )NTr   )rQ   r&   r#   r1   r   r   rP   r$   ra   r'   rL   rO   )r   r   re   r    r*   s        r   rd   zLimitDecoder._pump™   sQ  € ØÔ×!Ò! !Ñ$Ô$Ð$å‘”ˆð	Ø”=Ô,ð Ø”}×+Ò+¨CÑ0Ô0�Øð Ø—M’M $Ñ'Ô'Ð'ØÐ'Ô'­3¨t©9¬9Ñ4Ð'Ô'Ø×&Ò&Ñ(Ô(Ð(ØàÔ!ð Ý˜dÔ0Ð1C°4Ô3CÐ1CÔDÑEÔE�ØÔ&Ð'9¨Ô)9Ð'9Ð:à”}×+Ò+¨EÑ2Ô2�ØÐ%Ô%­¨U©¬Ñ3Ð%Ô%àð )Ø—M’M $Ñ'Ô'Ð'ØÐ'Ô'­3¨t©9¬9Ñ4Ð'Ô'Ø×&Ò&Ñ(Ô(Ð(áð àˆr   )rS   r   rT   rU   )r   N)r   r   r	   rB   r   r_   r.   r9   ra   r,   r-   r   r'   r   r   r#   rd   r   r   r   rJ   rJ   M   s  € € € € € ð
€Ið Ø"Ø"Ø"ð$ð $à ð$ð ð$ð ð	$ð
 ð$ð ð$ð 
ð$ð $ð $ð $ð6
ð 
ð 
ð 
ð ð)˜Tð )ð )ð )ñ „Xð)ð˜ð  %ð ð ð ð ð�uð ð ð ð ð�uð  ð ð ð ð ð ð r   rJ   )
Útypingr   r7   Ú	Exceptionr   r   r   r0   rH   rJ   r   r   r   ú<module>rj      s*  ðØ Ð Ð Ð Ð Ð Ø €€€ðMð Mð Mð Mð M�yñ Mô Mð Mð7ð 7ð 7ð 7ð 7�yñ 7ô 7ð 7ðð ð ð ð �hñ ô ð ð,#ð #ð #ð #ð #�/ñ #ô #ð #ðL2˜ð 2ð 2ð 2ð 2ðjð jð jð jð j�?ñ jô jð jð jð jr   