U
    üÇ-e6  ã                   @   s>   d dl mZmZ eeef eeef eeef dœdd„ZdS )é    )ÚAnyÚDict)ÚthisÚthatÚreturnc                 C   s€   |   ¡ D ]P\}}t|tƒrD||krXt|| tƒrXt| | || ƒ q||kr|| | |< q|  ¡ D ]\}}|| krb|| |< qb| S )aò  Merge two nested dictionaries.

    Effectively a recursive ``dict.update``.

    Examples
    --------
    Merge two flat dictionaries:
    >>> nested_update(
    ...     {'a': 1, 'b': 2},
    ...     {'b': 3, 'c': 4}
    ... )
    {'a': 1, 'b': 3, 'c': 4}

    Merge two nested dictionaries:
    >>> nested_update(
    ...     {'x': {'a': 1, 'b': 2}, 'y': 5, 'z': 6},
    ...     {'x': {'b': 3, 'c': 4}, 'z': 7, '0': 8},
    ... )
    {'x': {'a': 1, 'b': 3, 'c': 4}, 'y': 5, 'z': 7, '0': 8}

    )ÚitemsÚ
isinstanceÚdictÚnested_update)r   r   ÚkeyÚvalue© r   ú^/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/traitlets/utils/nested_update.pyr
      s    

r
   N)Útypingr   r   r
   r   r   r   r   Ú<module>   s   