
    Vh-                        d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  e       Z G d d      Zy)    )annotationsN)	constants)AnsibleError)remove_omit)to_text)Handler)TaskInclude)IncludeRole)Templar)Displayc                  6    e Zd ZddZd Zd Zd Zed        Zy)IncludedFilec                f    || _         || _        || _        || _        g | _        || _        g | _        y N)	_filename_args_vars_task_hosts_is_role_results)selffilenameargsvarstaskis_roles         N/home/dcms/DCMS/lib/python3.12/site-packages/ansible/playbook/included_file.py__init__zIncludedFile.__init__%   s3    !


    c                j    || j                   vr| j                   j                  |       y t               r   )r   append
ValueError)r   hosts     r   add_hostzIncludedFile.add_host.   s+    t{{"KKt$lr    c                   |j                   | j                   k(  xr |j                  | j                  k(  xr |j                  | j                  k(  xrp |j                  j                  | j                  j                  k(  xrA |j                  j
                  j                  | j                  j
                  j                  k(  S r   )r   r   r   r   _uuid_parent)r   others     r   __eq__zIncludedFile.__eq__4   s    4>>1 Ftzz)Ftzz)F !!TZZ%5%55F ##))TZZ-?-?-E-EE		Gr    c                l    | j                   d| j                  d| j                  d| j                  S )Nz (args=z vars=z): )r   r   r   r   )r   s    r   __repr__zIncludedFile.__repr__;   s$    -1^^TZZUYU`U`aar    c                   g }i }| D ]  }|j                   }|j                  }|j                  t        j                  v s9|j
                  rd|j                  vrT|j                  d   }	n|j                  g}	|	D ]*  }
d|
v r|
d   s	d|
v r|
d   r|j                  ||f}	 ||   }|
j                  dt                     }i }|
j                  dd      }|
j                  d      }||
v r|
|   x||<   ||<   |x|d<   |d<   |r||
v r|
|   x||<   ||<   |x|d<   |d<   d	|
v r|
d	   x|d	<   |d	<   d
|
v r|
d
   x|d
<   |d
<   |j                  rd|vr|j                  x|d<   |d<   |j                         |d<   |j                         |d   vr"|d   j!                  |j                                t#        ||      }|j                  t        j$                  v rd }|j&                  r|j&                  }d }|t)        |t*              s|j&                  } t)        |t,              r|j.                  }nH	 t0        j2                  j5                  |j7                  |j8                  j                  d                  }|@t0        j2                  jC                  |      s!t0        j2                  jE                  ||      }n|}|j7                  |
d         }|jF                  rt)        |tH              rdnd}t0        j2                  jE                  |jF                  j.                  ||      }|jK                  |jF                  j.                  ||d      |jK                  |||d      g}|D ]  }	 t1        jL                  |        n# n!|jK                  |j                         ||      }t0        j2                  jQ                  |      rn|j&                  }||p|jF                  rP|j7                  |
d         }|jK                  |jF                  j.                  t)        |tH              rdnd|d      }n|jS                  |
d         }|j7                  |      }tU        ||||      }n|j                  d|j                  dd             }||j7                  |      }|jW                         }|jY                  |       ||_-        |j\                  D ]E  }||v s|j_                  d      }|j7                  |j                  |            |j`                  |<   G |j                  d      } | rtc        |j`                  |       |_0        tU        ||||d      }d}!|}"	 	 ||!d  je                  |"      }#||!|#z      }	 |ji                  |       |jj                  j!                  |       -  |S # t        $ r' |j                  |j                  ||      x}||<   Y 6w xY w# t:        $ r<}d}t<        j?                  d|j                  dtA        |      d       Y d }~d }~ww xY w# tN        $ r Y w xY w# tf        $ r |j!                  |"       |"}Y w xY w# tf        $ r |!#dz   z  }!Y nw xY w)Nresultsskippedfailed)playr$   r   include_argsansible_loop_varitemansible_index_var_ansible_item_labelansible_loop_ansible_no_logansible_search_path)loader	variables_raw_params z"Templating the path of the parent zH failed. The path to the included file may not be found. The error was: .includehandlerstasksT)r   namerole)templar_fromomitr      )6_hostr   actionC_ACTION_ALL_INCLUDESloop_result_playKeyErrorget_varspopdictgetno_logget_search_pathget_basedirr"   r   _ACTION_INCLUDE_TASKSr(   
isinstancer	   r
   
_role_pathospathdirnametemplater   r   displaywarningr   isabsjoin_roler   path_dwim_relativestatOSErrorexists	path_dwimr   copypost_validate
_role_name	FROM_ARGSremovesuffix_from_filesr   indexr#   r%   r   )$r.   iteratorr:   variable_managerincluded_filestask_vars_cacheresoriginal_hostoriginal_taskinclude_resultsinclude_result	cache_key	task_varsr2   special_varsloop_var	index_varrD   include_fileparent_includecumulative_pathparent_include_direinclude_targetr\   new_basedir
candidatesinc_file	role_namenew_taskfrom_argfrom_key
omit_tokenidxorig_inc_fileposs$                                       r   process_include_resultsz$IncludedFile.process_include_results>   s;    \	"CIIMIIM##q'='== %% 3 &)kk)&<O'*{{mO&5 N"N N2~i7PT\`nTn  tB  CK  tL !) NIX$3I$>	 $2#5#5ndf#ML#%L-112DfMH . 2 23F GI>1GUV^G__	(+l8.D[cc	"45EW8X Y.%@IWXaIbb	),|I/F]ff	"56FY9Z,>ao  qF  bG  G	"78<H];^%7SabpSqq	.1L4P$++0A0UYfYmYmm	"34|DU7V 8E7T7T7VI34 ))+9=R3SS!"78??@R@R@TU%VyIG$++q/F/FF'+(00 .;-B-BN.2O"0"<'1.+'N5C5K5KN$,#-nk#J9G9R9R$6%*=?WW__WM]M]^l^q^q^u^u  wD  _E  NF  >G(: $3#>rww}}UdGe68ggllCUWf6gO6HO181A1A.QZB[1\#0#6#6<F}V]<^jdkG24'',,}?R?R?]?]_fhw2xK(.(A(A-BUBUB`B`biky  DH(A  )I(.(A(A+wXfpt(A(u2&J 9C %1)1,.GGL,A,1%1 4:3L3LVM_M_Macr  uC  4DL#%77>>,#?$)5C5K5KNU #1"<X (/,22181A1A.QZB[1\/5/H/H$1$7$7$B$B2<]G2TJZa$2,0	 0I 02 06/?/?y@Y/Z'.'7'7'E#/lLZg#h %1$4$4V\=M=MfVZ=[$\	$0(/(8(8(CI#0#5#5#7 ..w.?.7+(0(:(: nH'<7+3+@+@+IAHAQAQR^RbRbckRlAm 4 4X >n
 &/]]6%:
%3>x?S?SU_3`H0#/	<W_im#nC$,M5"0"6"<"<]"KC (6cCi'@H
"$--m<$--44S9
 "]N"\	"| Q $ XAQAZAZ`h`n`n  vC  JWAZ  BX  X	OI$>X^ ,8 %*=?(:(/ ERDXDXZabcZd-f)* )*%*2 07 )1,0)1f  * 5*11-@'4H5  * +37NC+ sa   !V-2AW *X(X89,Y-,WW 	X%)1X  X%(	X5	4X5	8YYY.-Y.N)F)	__name__
__module____qualname__r   r%   r*   r,   staticmethodr    r    r   r   r   #   s.    Gb b br    r   )
__future__r   rZ   ansibler   rJ   ansible.errorsr   ansible.executor.task_executorr   +ansible.module_utils.common.text.convertersr   ansible.playbook.handlerr   ansible.playbook.task_includer	   ansible.playbook.role_includer
   ansible.templater   ansible.utils.displayr   r^   r   r   r    r   <module>r      s;   $ # 	 " ' 6 ? , 5 5 $ )
)~ ~r    