§
    ðŽ’j=  ã                  ón   — d Z ddlmZ ddlmZmZmZ ddlmZ  G d„ de¦  «        Z	 G d„ de¦  «        Z
d	S )
z'
Basic Flag and Flags data structures.
é    )Úannotations)ÚIterableÚIteratorÚ
MutableSet)Ú
NamedTuplec                  ó$   — e Zd ZU ded<   ded<   dS )ÚFlagÚstrÚnameÚintÚbitN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú>C:\Projects\DSCons\.venv\Lib\site-packages\hyperframe\flags.pyr	   r	   
   s"   € € € € € € Ø€I€I�IØ€H€H�H€H€Hr   r	   c                  óJ   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dS )ÚFlagszÓ
    A simple MutableSet implementation that will only accept known flags as
    elements.

    Will behave like a regular set(), except that a ValueError will be thrown
    when .add()ing unexpected flags.
    Údefined_flagsúIterable[Flag]ÚreturnÚNonec                óN   — d„ |D ¦   «         | _         t          ¦   «         | _        d S )Nc                ó   — h | ]	}|j         ’Œ
S r   )r   )Ú.0Úflags     r   ú	<setcomp>z!Flags.__init__.<locals>.<setcomp>   s   € ÐAÐAÐA¨4˜TœYÐAÐAÐAr   )Ú_valid_flagsÚsetÚ_flags)Úselfr   s     r   Ú__init__zFlags.__init__   s'   € ØAÐA°=ÐAÑAÔAˆÔÝ #¡¤ˆŒˆˆr   r
   c                óD   — t          t          | j        ¦  «        ¦  «        S ©N)ÚreprÚsortedr"   ©r#   s    r   Ú__repr__zFlags.__repr__   s   € Ý•F˜4œ;Ñ'Ô'Ñ(Ô(Ð(r   ÚxÚobjectÚboolc                ó6   — | j                              |¦  «        S r&   )r"   Ú__contains__)r#   r+   s     r   r/   zFlags.__contains__   s   € ØŒ{×'Ò'¨Ñ*Ô*Ð*r   úIterator[str]c                ó4   — | j                              ¦   «         S r&   )r"   Ú__iter__r)   s    r   r2   zFlags.__iter__"   s   € ØŒ{×#Ò#Ñ%Ô%Ð%r   r   c                ó4   — | j                              ¦   «         S r&   )r"   Ú__len__r)   s    r   r4   zFlags.__len__%   s   € ØŒ{×"Ò"Ñ$Ô$Ð$r   Úvaluec                ó6   — | j                              |¦  «        S r&   )r"   Údiscard)r#   r5   s     r   r7   zFlags.discard(   s   € ØŒ{×"Ò" 5Ñ)Ô)Ð)r   c                ó€   — || j         vrd|› d| j         › �}t          |¦  «        ‚| j                             |¦  «        S )NzUnexpected flag: z. Valid flags are: )r    Ú
ValueErrorr"   Úadd)r#   r5   Úmsgs      r   r:   z	Flags.add+   sH   € Ø˜Ô)Ð)Ð)ØS eÐSÐSÀÔ@QÐSÐSˆCÝ˜S‘/”/Ð!ØŒ{�Š˜uÑ%Ô%Ð%r   N)r   r   r   r   )r   r
   )r+   r,   r   r-   )r   r0   )r   r   )r5   r
   r   r   )r   r   r   Ú__doc__r$   r*   r/   r2   r4   r7   r:   r   r   r   r   r      sª   € € € € € ðð ð&ð &ð &ð &ð)ð )ð )ð )ð+ð +ð +ð +ð&ð &ð &ð &ð%ð %ð %ð %ð*ð *ð *ð *ð&ð &ð &ð &ð &ð &r   r   N)r<   Ú
__future__r   Úcollections.abcr   r   r   Útypingr   r	   r   r   r   r   ú<module>r@      s±   ððð ð #Ð "Ð "Ð "Ð "Ð "à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð ðð ð ð ð ˆ:ñ ô ð ð
 &ð  &ð  &ð  &ð  &ˆJñ  &ô  &ð  &ð  &ð  &r   