
    ¦i	                     .    d dl mZ  G d de          ZdS )    )MutableMappingc                   V    e Zd ZdZddZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd ZdS )CaseInsensitiveDicta  A case-insensitive ``dict``-like object.

    Implements all methods and operations of
    ``MutableMapping`` as well as dict's ``copy``. Also
    provides ``lower_items``.

    All keys are expected to be strings. The structure remembers the
    case of the last key to be set, and ``iter(instance)``,
    ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()``
    will contain case-sensitive keys. However, querying and contains
    testing is case insensitive::

        cid = CaseInsensitiveDict()
        cid['Accept'] = 'application/json'
        cid['aCCEPT'] == 'application/json'  # True
        list(cid) == ['Accept']  # True

    For example, ``headers['content-encoding']`` will return the
    value of a ``'Content-Encoding'`` response header, regardless
    of how the header name was originally stored.

    If the constructor, ``.update``, or equality comparison
    operations are given keys that have equal ``.lower()``s, the
    behavior is undefined.
    Nc                 8    i | _         |i } | j        |fi | d S N)_storeupdate)selfdatakwargss      c/root/projects/butler/venv/lib/python3.11/site-packages/playwright_stealth/case_insensitive_dict.py__init__zCaseInsensitiveDict.__init__    s3    <DD##F#####    c                 B    ||f| j         |                                <   d S r   r   lower)r
   keyvalues      r   __setitem__zCaseInsensitiveDict.__setitem__&   s"     %(<CIIKK   r   c                 L    | j         |                                         d         S )N   r   r
   r   s     r   __getitem__zCaseInsensitiveDict.__getitem__+   s    {399;;'**r   c                 :    | j         |                                = d S r   r   r   s     r   __delitem__zCaseInsensitiveDict.__delitem__.   s    K		$$$r   c                 H    d | j                                         D             S )Nc              3       K   | ]	\  }}|V  
d S r    ).0casedkeymappedvalues      r   	<genexpr>z/CaseInsensitiveDict.__iter__.<locals>.<genexpr>2   s'      KK2X{KKKKKKr   )r   valuesr
   s    r   __iter__zCaseInsensitiveDict.__iter__1   s$    KKdk6H6H6J6JKKKKr   c                 *    t          | j                  S r   )lenr   r$   s    r   __len__zCaseInsensitiveDict.__len__4   s    4;r   c                 H    d | j                                         D             S )z.Like iteritems(), but with all lowercase keys.c              3   0   K   | ]\  }}||d          fV  dS )r   Nr   )r   lowerkeykeyvals      r   r"   z2CaseInsensitiveDict.lower_items.<locals>.<genexpr>9   s0      TT*<8V6!9%TTTTTTr   )r   itemsr$   s    r   lower_itemszCaseInsensitiveDict.lower_items7   s$    TT@Q@Q@S@STTTTr   c                     ddl m} t          ||          rt          |          }nt          S t          |                                           t          |                                          k    S )Nr   )Mapping)collections.abcr0   
isinstancer   NotImplementeddictr.   )r
   otherr0   s      r   __eq__zCaseInsensitiveDict.__eq__;   sn    ++++++eW%% 	"'..EE!!D$$&&''40A0A0C0C+D+DDDr   c                 N    t          | j                                                  S r   )r   r   r#   r$   s    r   copyzCaseInsensitiveDict.copyF   s    "4;#5#5#7#7888r   c                 ^    t          t          |                                                     S r   )strr4   r-   r$   s    r   __repr__zCaseInsensitiveDict.__repr__I   s     4

%%&&&r   c                     d S r   r   r$   s    r   r-   zCaseInsensitiveDict.itemsL   s    r   r   )__name__
__module____qualname____doc__r   r   r   r   r%   r(   r.   r6   r8   r;   r-   r   r   r   r   r      s         4$ $ $ $0 0 0
+ + +% % %L L L     U U UE E E9 9 9' ' '    r   r   N)r1   r   r   r   r   r   <module>rA      sU    * * * * * *H H H H H. H H H H Hr   