Ë ˜ÛP:È^�mãóŒ—dZddlZddlmZmZdeedeedffd„Zded edefd „Zd edeeeffd „Zd edeedfde fd„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}tt|««D]V}|dzt|«kr||||dzdz k(rŒ&||dz|dz}|jt |d|ddz««|}ŒXt |«S)aRepresent 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 ú3/usr/lib/python3.12/site-packages/idna/intranges.pyÚintranges_from_listr s €ô˜“-€KØ €FØ€JÜ ”3�{Ó#Ö $ˆØ ˆQ‰3”�[Ó!Ò !ؘ1‰~ ¨Q¨q©SÑ!1°!Ñ!3Ò3ØØ# J¨q¡L°°1±Ð5ˆ Ø� ‰ ”m M°!Ñ$4°mÀBÑ6GÈ!Ñ6KÓLÔM؉ ð %ô �‹=ÐóÚstartÚendcó—|dz|zS)Né ©)rrs rrr s€Ø �R‰K˜3Ñ ÐrÚrcó—|dz |dzfS)Nrlÿÿr)rs rÚ _decode_ranger#s€Ø �‰G�q˜MÑ*Ð +Ð+rÚint_rcóÞ—t|d«}tj||«}|dkDr!t||dz «\}}||cxkr|kry|t |«krt||«\}}||k(ryy)z=Determine if `int_` falls into one of the ranges in `ranges`.rr TF)rÚbisectÚ bisect_leftrr )r rÚtuple_ÚposÚleftÚrightÚ_s rÚintranges_containr)'s�€ä ˜4 Ó #€FÜ × Ñ ˜V VÓ ,€Cð ˆQ‚wÜ# F¨3¨q©5¡MÓ2‰ ˆˆeØ �4Ô ˜%Ò Øð ð ŒS�‹[ÒÜ  s¡ Ó,‰ˆˆaØ �4Š<ØØ r) Ú__doc__r"ÚtypingrrÚintrrrÚboolr)rrrÚr.sˆðñóßð˜t C™yð¨U°3¸°8©_óð*˜ð 3ð¨3óð,�Sð,˜U 3¨ 8™_ó,ð˜Cð¨¨s°C¨x©ð¸Tôr