
    @OOf=                     >    d dl mZ d dlmZmZmZmZ  G d de      Zy)    )Sequence)AnyIterableListOptionalc                       e Zd Zg fdee   fdZddedee   ddfdZdefdZ	defd	Z
dededdfd
ZdefdZdedefdZdedefdZdedefdZdefdZdefdZy)RangeSetrangesc                     g | _         |D ]9  }|j                  dk(  sJ | j                  |j                  |j                         ; y N   )_RangeSet__rangesstepaddstartstop)selfr
   rs      V/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/aioquic/quic/rangeset.py__init__zRangeSet.__init__   s>    %' 	&A66Q;;HHQWWaff%	&    Nr   r   returnc                 2   ||dz   }||kD  sJ t        | j                        D ]K  \  }}||j                  k  r(| j                  j                  |t	        ||              y ||j
                  kD  rNt        ||j                        }t        ||j
                        }|t        | j                        dz
  k  r| j                  |dz      j                  |k  rt        | j                  |dz      j
                  |      }| j                  j                  |dz          |t        | j                        dz
  k  r | j                  |dz      j                  |k  rt	        ||      | j                  |<    y  | j                  j                  t	        ||             y r   )	enumerater   r   insertranger   minmaxlenpopappendr   r   r   ir   s        r   r   zRangeSet.add   s_   <19De||dmm, 	DAqagg~$$QeT(:; qvv~ qww'EtQVV$Dc$--(1,,q1u1E1K1Kt1S4==Q/44d;!!!a%( c$--(1,,q1u1E1K1Kt1S  %UD1DMM!#	( 	U5$/0r   c                 v    t        | j                  d   j                  | j                  d   j                        S )Nr   )r   r   r   r   r   s    r   boundszRangeSet.bounds'   s-    T]]1%++T]]2->-C-CDDr   c                 8    | j                   j                  d      S )Nr   )r   r    r&   s    r   shiftzRangeSet.shift*   s    }}  ##r   c                    ||kD  sJ d}|t        | j                        k  r&| j                  |   }||j                  k  ry ||j                  k\  r|dz  }M||j                  k  r+||j                  k\  r| j                  j	                  |       ||j                  kD  rft        |j                  |      | j                  |<   ||j                  k  rW| j                  j                  |dz   t        ||j                               n#t        ||j                        | j                  |<   |dz  }|t        | j                        k  r%y y )Nr   r   )r   r   r   r   r    r   r   r"   s        r   subtractzRangeSet.subtract-   s   e||#dmm$$a A qww Q DAFFN!!!$ qww#(%#8a !&&=MM((QdAFF0CD#(qvv#6a FA3 #dmm$$r   c                     t         N)NotImplementedErrorr&   s    r   __bool__zRangeSet.__bool__L   s    !!r   valc                 2    | j                   D ]  }||v s y y)NTFr   )r   r0   r   s      r   __contains__zRangeSet.__contains__O   s$     	Aax	 r   otherc                 `    t        |t              st        S | j                  |j                  k(  S r-   )
isinstancer	   NotImplementedr   )r   r4   s     r   __eq__zRangeSet.__eq__U   s%    %*!!}}..r   keyc                      | j                   |   S r-   r2   )r   r9   s     r   __getitem__zRangeSet.__getitem__[   s    }}S!!r   c                 ,    t        | j                        S r-   )r   r   r&   s    r   __len__zRangeSet.__len__^   s    4==!!r   c                 J    dj                  t        | j                              S )NzRangeSet({}))formatreprr   r&   s    r   __repr__zRangeSet.__repr__a   s    $$T$--%899r   r-   )__name__
__module____qualname__r   r   r   intr   r   r'   r)   r+   boolr/   r   r3   objectr8   r;   r=   strrA    r   r   r	   r	      s    13 &x &1 1HSM 1T 16E E$u $c   >"$ "  /F /t /"s "u "" ":# :r   r	   N)collections.abcr   typingr   r   r   r   r	   rI   r   r   <module>rL      s    $ 0 0]:x ]:r   