ó
    °"³j;  ã                   ó„   • S r SSKrS\\   S\\S4   4S jrS\S\S\4S	 jrS
\S\\\4   4S jrS\S\\S4   S\4S jr	g)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_Úreturn.c                 ó  • [        U 5      n/ nSn[        [        U5      5       HW  nUS-   [        U5      :  a  X   XS-      S-
  :X  a  M'  XS-   US-    nUR                  [	        US   US   S-   5      5        UnMY     [        U5      $ )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         ÚK/home/mande/repo/quber/.venv/lib/python3.13/site-packages/idna/intranges.pyÚintranges_from_listr      s™   € ô ˜“-€KØ€FØ€JÜ”3�{Ó#Ö$ˆØˆq‰5”3�{Ó#Ó#¨©¸+È!ÁeÑ:LÈqÑ:PÓ(PÙØ#°¡N°Q¸±UÐ;ˆØ�‰”m M°!Ñ$4°mÀBÑ6GÈ!Ñ6KÓLÔMØŠ
ñ %ô �‹=Ðó    ÚstartÚendc                 ó   • U S-  U-  $ )Né    © )r   r   s     r   r   r       s   € Ø�R‰K˜3ÑÐr   Úrc                 ó   • U S-	  U S-  4$ )Nr   l   ÿÿ r   )r   s    r   Ú_decode_ranger   $   s   € Ø�‰G�q˜MÑ*Ð+Ð+r   Úint_r   c                 óÞ   • [        U S5      n[        R                  " X5      nUS:”  a!  [        XS-
     5      u  pEX@s=::  a  U:  a   g  U[	        U5      :  a  [        X   5      u  pFX@:X  a  gg)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'   (   ss   € ä˜4 Ó#€FÜ
×
Ò
˜VÓ
,€Cð ˆQƒwÜ# F°©7¡OÓ4‰ˆØÕ˜%ÔØð  ð ŒS�‹[ÓÜ ¡Ó,‰ˆØ‹<ØØr   )
Ú__doc__r    ÚlistÚintr   r   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   