Ë
    oûàgj  ã                   óŒ   — d Z ddlZddlmZmZ dee   deedf   fd„Zded	edefd
„Zdedeeef   fd„Zdedeedf   de	fd„Z
y)a	  
Given a list of integers, made up of (hopefully) a small number of long runs
of consecutive integers, compute a representation of the form
((start1, end1), (start2, end2) ...). Then answer the question "was x present
in the original list?" in time O(log(# runs)).
é    N)ÚListÚTupleÚlist_Úreturn.c                 ó  — t        | «      }g }d}t        t        |«      «      D ]V  }|dz   t        |«      k  r||   ||dz      dz
  k(  rŒ&||dz   |dz    }|j                  t	        |d   |d   dz   «      «       |}ŒX t        |«      S )a  Represent a list of integers as a sequence of ranges:
    ((start_0, end_0), (start_1, end_1), ...), such that the original
    integers are exactly those x such that start_i <= x < end_i for some i.

    Ranges are encoded as single integers (start << 32 | end), not as tuples.
    éÿÿÿÿé   r   )ÚsortedÚrangeÚlenÚappendÚ_encode_rangeÚtuple)r   Úsorted_listÚrangesÚ
last_writeÚiÚcurrent_ranges         úL/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/idna/intranges.pyÚintranges_from_listr      s¥   € ô ˜“-€KØ€FØ€JÜ”3�{Ó#Ó$ò ˆØˆq‰5”3�{Ó#Ò#Ø˜1‰~ ¨Q°©UÑ!3°aÑ!7Ò7ØØ# J°¡N°Q¸±UÐ;ˆØ�‰”m M°!Ñ$4°mÀBÑ6GÈ!Ñ6KÓLÔMØ‰
ðô �‹=Ðó    ÚstartÚendc                 ó   — | dz  |z  S )Né    © )r   r   s     r   r   r   "   s   € Ø�R‰K˜3ÑÐr   Úrc                 ó   — | dz	  | dz  fS )Nr   l   ÿÿ r   )r   s    r   Ú_decode_ranger   &   s   € Ø�‰G�q˜MÑ*Ð+Ð+r   Úint_r   c                 óÞ   — t        | d«      }t        j                  ||«      }|dkD  r!t        ||dz
     «      \  }}|| cxk  r|k  ry |t	        |«      k  rt        ||   «      \  }}|| k(  ryy)z=Determine if `int_` falls into one of the ranges in `ranges`.r   r	   TF)r   ÚbisectÚbisect_leftr   r   )r    r   Útuple_ÚposÚleftÚrightÚ_s          r   Úintranges_containr)   *   s�   € ä˜4 Ó#€FÜ
×
Ñ
˜V VÓ
,€Cð ˆQ‚wÜ# F¨3°©7¡OÓ4‰ˆˆeØ�4Ô˜%ÒØð  ð ŒS�‹[ÒÜ  s¡Ó,‰ˆˆaØ�4Š<ØØr   )Ú__doc__r"   Útypingr   r   Úintr   r   r   Úboolr)   r   r   r   ú<module>r.      sˆ   ðñó ß ð˜t C™yð ¨U°3¸°8©_ó ð,˜ð  3ð ¨3ó ð,�Sð ,˜U 3¨ 8™_ó ,ð˜Cð ¨¨s°C¨x©ð ¸Tô r   