ó
    ^Ñ7_‹	  ã                   ó   • S r  " S S5      rg)zµ
hpack/huffman_decoder
~~~~~~~~~~~~~~~~~~~~~

An implementation of a bitwise prefix tree specially built for decoding
Huffman-coded content where we already know the Huffman table.
c                   ó$   • \ rS rSrSrS rS rSrg)ÚHuffmanEncoderé   z^
Encodes a string according to the Huffman encoding table defined in the
HPACK specification.
c                 ó   • Xl         X l        g )N©Úhuffman_code_listÚhuffman_code_list_lengths)Úselfr   r   s      Ú//usr/lib/python3/dist-packages/hpack/huffman.pyÚ__init__ÚHuffmanEncoder.__init__   s   € Ø!2ÔØ)BÕ&ó    c                 óÄ  • U(       d  gSnSnU H9  nU R                   U   nU R                  U   SUS-   -  S-
  -  nX%-  nX&-  nX5-  nM;     SUS-  -
  S-  nX'-  nUSU-  S-
  -  n[        U5      SS R                  S5      n[	        U5      S-  S:w  a  SU-   OUnX7-   S-  nUS-  n	[	        U5      U	:w  a  U	[	        U5      -
  n
SU
-  U-   n[
        R                  U5      $ )	zU
Given a string of bytes, encodes them according to the HPACK Huffman
specification.
r   é    é   é   é   NÚLÚ0)r   r   ÚhexÚrstripÚlenÚbytesÚfromhex)r	   Úbytes_to_encodeÚ	final_numÚfinal_int_lenÚbyteÚbin_int_lenÚbin_intÚbits_to_be_paddedÚtotal_bytesÚexpected_digitsÚmissing_digitss              r
   ÚencodeÚHuffmanEncoder.encode   s.  € ö Øàˆ	Øˆó
 $ˆDØ×8Ñ8¸Ñ>ˆKØ×,Ñ,¨TÑ2Ø�k A‘oÑ&¨Ñ*ñˆGð Ñ%ˆIØÑ ˆIØÑ(ŠMñ $ð  -°!Ñ"3Ñ4¸Ñ9ÐØÑ'ˆ	Ø�aÐ,Ñ,°Ñ1Ñ1ˆ	ô ˜	“N 1 2Ð&×-Ñ-¨cÓ2ˆ	ô (+¨9£~¸Ñ'9¸QÓ'>�C˜)’OÀIˆ	ð
 %Ñ8¸QÑ>ˆØ%¨™/ˆäˆy‹>˜_Ó,Ø,¬s°9«~Ñ=ˆNØ˜~Ñ-°Ñ:ˆIä�}‰}˜YÓ'Ð'r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r$   Ú__static_attributes__© r   r
   r   r      s   † ñòCõ.(r   r   N)r*   r   r,   r   r
   Ú<module>r-      s   ðñ÷7(ò 7(r   