
    Vh                    >    d dl mZ d dlmZ d dlmZ  G d de      Zy)    )annotations)NonInheritableFieldAttribute)FieldAttributeBasec                       e Zd Z eddd      Z edd      Z ed      Z eddd      Z ed	d      Z ed	dd      Z	 ed
e
      Z fdZedd       Zd Z xZS )LoopControlstringitemT)isadefaultalways_post_validate)r
   r   )r
   floatr   boollist)r
   r   c                *    t         t        |           y )N)superr   __init__)self	__class__s    M/home/dcms/DCMS/lib/python3.12/site-packages/ansible/playbook/loop_control.pyr   zLoopControl.__init__"   s    k4)+    c                >    t               }|j                  | ||      S )N)variable_managerloader)r   	load_data)datar   r   ts       r   loadzLoopControl.load%   s    M{{42B6{RRr   c                    |S )z
        break_when is evaluated after the execution of the loop is complete,
        and should not be templated during the regular post_validate step.
         )r   attrvaluetemplars       r   _post_validate_break_whenz%LoopControl._post_validate_break_when*   s	    
 r   )NN)__name__
__module____qualname__r   loop_var	index_varlabelpauseextendedextended_allitemsr   
break_whenr   staticmethodr   r#   __classcell__)r   s   @r   r   r      s    +&_cdH,PTUI(X6E(WaVZ[E+TRH4dhi-&$GJ, S Sr   r   N)
__future__r   ansible.playbook.attributer   ansible.playbook.baser   r   r   r   r   <module>r3      s   $ # C 4$ r   