
    x[h{
                     *    S r S\ 4rS r " S S5      rg)
no_replacereplacec                 $    U H
  nX ;   d  M
    g   g)NTF )whatkeysks      :/usr/lib/python3/dist-packages/cloudinit/mergers/m_dict.py_has_anyr
      s    9      c                   ,    \ rS rSrS rS rS rS rSrg)Merger   c                     Xl         [        U l        [         H  nX2;   d  M
  X0l          O   SU;   U l        [        USS5      U l        SU;   U l        SU l        g )Nrecurse_strrecurse_arrayrecurse_listallow_deleteT)	_mergerDEF_MERGE_TYPE_methodMERGE_TYPES_recurse_strr
   _recurse_array_allow_delete_recurse_dict)selfmergeroptsms       r	   __init__Merger.__init__   sZ    %Ay  
 *T1&t_nM+t3!r   c                     SnUU R                   U R                  U R                  U R                  U R                  4-  nU$ )NzWDictMerger: (method=%s,recurse_str=%s,recurse_dict=%s,recurse_array=%s,allow_delete=%s))r   r   r   r   r   )r   ss     r	   __str__Merger.__str__%   sP    @ 	
 LL
 
 r   c                    ^ ^ UU 4S jnUR                  5        HD  u  pVXQ;   a6  Uc$  T R                  (       a  UR                  U5        M1  U" X   U5      X'   M@  XaU'   MF     U$ )Nc                   > T(       a  U$ [        U[        [        45      (       a,  TR                  (       a  TR                  R                  X5      $ [        U[        5      (       a,  TR                  (       a  TR                  R                  X5      $ [        U[        5      (       a,  TR                  (       a  TR                  R                  X5      $ U $ )N)

isinstancelisttupler   r   mergestrr   dictr   )old_vnew_v
do_replacer   s     r	   merge_same_key/Merger._do_dict_replace.<locals>.merge_same_key4   s    %$//D4G4G||))%77%%%$*;*;||))%77%$((T-?-?||))%77Lr   )itemsr   pop)r   value
merge_withr0   r1   r   vs   `  `   r	   _do_dict_replaceMerger._do_dict_replace3   sZ    
	 $$&DAz9!3!3IIaL-eh:EHa ' r   c                    [        U[        5      (       d  U$ U R                  S:X  a  U R                  [        U5      US5      nU$ U R                  S:X  a  U R                  [        U5      US5      nU$ [	        SU R                  -  5      e)Nr   Tr   FzUnknown merge type %s)r(   r-   r   r8   NotImplementedError)r   r5   r6   mergeds       r	   _on_dictMerger._on_dictJ   s    *t--L<<9$**4;
DIF
 	 \\\)**4;
EJF  &&=&NOOr   )r   r   r   r   r   r   N)	__name__
__module____qualname____firstlineno__r    r$   r8   r=   __static_attributes__r   r   r	   r   r      s    ".	r   r   N)r   r   r
   r   r   r   r	   <module>rD      s(    > >r   