403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.11/site-packages/ansible/plugins/strategy/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.11/site-packages/ansible/plugins/strategy/__pycache__/__init__.cpython-311.pyc
�

���c:����ddlmZmZmZeZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZddlmZddlmZddlmZddlmZddlmZmZmZmZdd	lmZdd
lm Z ddl!m"Z"ddl#m$Z$dd
l%m&Z&m'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z;ddl<m=Z=ddl>m?Z?ddl@mAZAddlBmCZCddlDmEZEddlFmGZGmHZHe?��ZIdgZJeKd��ZLGd�d ��ZMeM��ZNd!�ZOd"�ZPd#�ZQd$�ZRGd%�d��ZSGd&�d'eT��ZUGd(�d)ejV��ZWdS)*�)�absolute_import�division�print_functionN)�deque)�Lock)�UndefinedError)�	constants)�context)�AnsibleError�AnsibleFileNotFound�AnsibleUndefinedVariable�AnsibleParserError)�action_write_locks)�IteratingStates)�
WorkerProcess)�
TaskResult)�CallbackSend�DisplaySend)�string_types)�to_text)�
Connection�ConnectionError)�Conditional)�Handler)�load_list_of_blocks)�Task)�TaskInclude��loader)�Templar)�Display)�add_internal_fqcns)�wrap_var)�combine_vars)�strip_internal_keys�module_response_deepcopy�StrategyBase)�discovered_interpreter_c��eZdZdS)�StrategySentinelN)�__name__�
__module__�__qualname__���F/usr/lib/python3.11/site-packages/ansible/plugins/strategy/__init__.pyr*r*Gs�������Dr/r*c���d}|jrm|�|���5t|j���}|j|_|�||j��|d<ddd��n#1swxYwY|jry|�|���5|�t|j���}|j|_|�||j��}|x|d<|d<ddd��dS#1swxYwYdSdS)N)�available_variablesr�changed�failed_when_result�failed)�changed_when�set_temporary_contextr�_loader�when�evaluate_conditionalr2�failed_when)�result�task�templar�	task_vars�condr4s      r0�post_process_whensrANs����D���`�
�
*�
*�y�
*�
I�
I�	`�	`��g�o�6�6�6�D��)�D�I� $� 9� 9�'�7�C^� _� _�F�9��	`�	`�	`�	`�	`�	`�	`�	`�	`�	`�	`����	`�	`�	`�	`�
��Q�
�
*�
*�y�
*�
I�
I�	Q�	Q��|�"�'�/�:�:�:���(�D�I�!%�!:�!:�7�G�D_�!`�!`��>P�P�F�'�(�6�(�+;�	Q�	Q�	Q�	Q�	Q�	Q�	Q�	Q�	Q�	Q�	Q�	Q����	Q�	Q�	Q�	Q�	Q�	Q�Q�Qs%�AA,�,A0�3A0�A	C*�*C.�1C.c��i}|js|jri|�dd��}|�d��}||vr||||<|r||vr||||<d|vr|d|d<d|vr|d|d<|S)N�ansible_loop_var�item�ansible_index_var�_ansible_item_label�ansible_loop)�loop�	loop_with�get)r<r=�	item_vars�loop_var�	index_vars     r0�_get_item_varsrN_s����I��y�
?�D�N�
?��:�:�0�&�9�9���J�J�2�3�3�	��v���"(��"2�I�h���	5��f�,�,�#)�)�#4�I�i� � �F�*�*�/5�6K�/L�I�+�,��V�#�#�(.�~�(>�I�n�%��r/c�$�		|j���}t|t��rdSt|t��rtj|ji|j���nt|t��r\|jD].}t|t��r|�
|��n�/|jj|j
g|j�Ri|j��n�t|t��rO|�
|��|j5|j�|��ddd��n#1swxYwYn-t
�dt%|���d|����n(#t&t(f$rYdSt*j$rYnwxYw���)NTzReceived an invalid object (z) in the result queue: )�_final_qrJ�
isinstancer*r�display�args�kwargsrr�normalize_task_result�_tqm�
send_callback�method_name�
_results_lock�_results�append�warning�type�IOError�EOFError�queue�Empty)�strategyr<�args   r0�results_thread_mainrdos���	��&�*�*�,�,�F��&�"2�3�3�
t����F�K�0�0�

t�����>��
�>�>�>�>��F�L�1�1�
t�!�;���C�!�#�z�2�2�� �6�6�s�;�;�;����,��
�+�F�,>�^���^�^�^�PV�P]�^�^�^�^��F�J�/�/�
t��.�.�v�6�6�6��+�5�5��%�,�,�V�4�4�4�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5������]a�bh�]i�]i�]i�]i�kq�kq� r�s�s�s�����"�	�	�	��E�E��{�	�	�	��D�	����+sA�.E(�CE(�D.�"E(�.D2�2E(�5D2�61E(�(F
�<F
�F
c�H��tj���d�fd�	��}|S)zVClosure to wrap ``StrategyBase._process_pending_results`` and invoke the task debuggerFNc	�$��d}|j���}�||||���}g}|D�]�}|j}	|j}
|j�|
j|	jfd��}|d}|d}
	||
j}n%#t$r|�	|
��}YnwxYw|�
|j����r1t��}t|	|
||
||��}|���|jtjk�ru|j���|	jr�|jjt-d��vro|���r[|���D]F\}}||
jkr�|�||��|jj�|���G|�|
j|��|D]B\}}t9||����r%|jj�||
j���C|jj�d|
j��|�|
|	||
��|� tC���|||����n�|jtj"kr|�#|��nZ|jtj$krtKj&d��|�
|j�����1|�#|�����|S)	N))�	is_failed�failures)�is_unreachable�dark)�
is_changedr3)�
is_skipped�skipped)�one_pass�
max_passesr?�play_context)�globally_enabled)�linear�ok�c)'�host_states�copy�_task�_host�_queued_task_cache�pop�name�_uuid�KeyError�get_host_state�needs_debugger�debugger_active�
NextAction�Debugger�cmdloopr<�REDOrV�clear_failed_hosts�run_once�_playrbr"rg�items�set_state_for_host�_removed_hosts�remove�getattr�_stats�	decrement�_queue_task�extend�
debug_closure�CONTINUEr[�EXIT�sys�exit)�self�iteratorrnro�status_to_stats_map�prev_host_states�results�_processed_resultsr<r=�host�_queued_task_argsr?rp�prev_host_state�next_action�dbg�	host_name�state�method�what�funcs                     �r0�innerzdebug_closure.<locals>.inner�s6���
��$�/�4�4�6�6���$�t�X��Z�P�P�P�����,	2�,	2�F��<�D��<�D� $� 7� ;� ;�T�Y��
�<S�UY� Z� Z��)�+�6�I�,�^�<�L�
@�"2�4�9�"=�����
@�
@�
@�"*�"9�"9�$�"?�"?����
@�����'�'��9M�'�N�N� 
2�(�l�l���t�T�9�l�F�K�X�X�����
�
�
��%���8�8��I�0�0�2�2�2��}�L���)@�DV�Wb�Dc�Dc�)c�)c�hn�hx�hx�hz�hz�)c�0@�0F�0F�0H�0H�L�L�,�I�u�(�D�I�5�5� (�$�7�7�	�5�I�I�I�$�N�9�@�@��K�K�K�K��/�/��	�?�K�K�K�(;�H�H����2�7�6�6�2�2�4�4�H� �I�,�6�6�t�T�Y�G�G�G���I�$�.�.�t�T�Y�?�?�?��$�$�T�4��L�I�I�I�&�-�-�.A�m�D�.A�.A�$��RZ�.[�.[�\�\�\�� �'�:�+>�>�>�&�-�-�f�5�5�5�� �'�:�?�:�:��H�R�L�L�L�=�'�'��9M�'�N�N� 
2�@#�)�)�&�1�1�1��!�!s�9
B�B)�(B)�FN)�	functools�wraps)r�r�s` r0r�r��s>����_�T���<"�<"�<"�<"�<"���<"�z�Lr/c��eZdZdZdZd�Zdd�Zd�Zdd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zedd���Zd�Zd�Zdd�Zdd�Zd�Zd�Zd�Zd�ZdS) r'z�
    This is the base class for strategy plugins, which contains some common
    code useful to all strategies like running handlers, cleanup actions, etc.
    Tc�@�||_|���|_|j|_|���|_|���|_|j|_tj
�dd��|_tj
�dd��|_
i|_t|_d|_d|_t'��|_t+��|_t/jt/j����|_t/jt8|f���|_d|j_|j���t'��|_ g|_!g|_"tFj$|_%dS)N�stepF�diffr)�targetrST)&rV�
get_inventory�
_inventory�_workers�get_variable_manager�_variable_manager�
get_loaderr8rPr
�CLIARGSrJ�_step�_diffryrR�_display�_pending_results�_cur_worker�dict�_blocked_hostsrrZ�	threading�	ConditionrrY�Threadrd�_results_thread�daemon�start�_active_connections�_hosts_cache�_hosts_cache_all�C�ENABLE_TASK_DEBUGGERr�)r��tqms  r0�__init__zStrategyBase.__init__�sN����	��+�+�-�-������
�!$�!9�!9�!;�!;����~�~�'�'������
��_�(�(���7�7��
��_�(�(���7�7��
�
#%��� ��
�!"������#�f�f�������
�&�0���1A�1A�B�B��� )�/�7J�RV�QX�Y�Y�Y���&*���#���"�"�$�$�$�$(�6�6�� �
��� "��� �5����r/c�x�|st|j|jf��rdS|js*t	d���|j��rd}n	|jpd}d�|j�|d���D��|_d�|j�|j|j	���D��|_dS)z�Responsible for setting _hosts_cache and _hosts_cache_all

        See comment in ``__init__`` for the purpose of these caches
        N�allc��g|]	}|j��
Sr.�r{��.0�hs  r0�
<listcomp>z1StrategyBase._set_hosts_cache.<locals>.<listcomp>s�� w� w� w�A��� w� w� wr/T)�pattern�ignore_restrictionsc��g|]	}|j��
Sr.r�r�s  r0r�z1StrategyBase._set_hosts_cache.<locals>.<listcomp>s��e�e�e��Q�V�e�e�er/)�order)
r�r�r��	finalizedr �is_template�hostsr��	get_hostsr�)r��play�refresh�_patterns    r0�_set_hosts_cachezStrategyBase._set_hosts_caches���
�	�3�� 1�4�3H�I�J�J�	��F��~�	+�'�$�-�-�";�";�D�J�"G�"G�	+��H�H��z�*�U�H� w� w���1J�1J�S[�qu�1J�1v�1v� w� w� w���e�e�T�_�-F�-F�t�z�Y]�Yc�-F�-d�-d�e�e�e����r/c�^�|j���D]Z}	t|��}|����'#t$r'}t
�d|z��Yd}~�Sd}~wwxYw|j�t��|j
���dS)N�4got an error while closing persistent connection: %s)r��valuesr�resetrrR�debugrP�put�	_sentinelr��join)r��sock�conn�es    r0�cleanupzStrategyBase.cleanups����,�3�3�5�5�	Z�	Z�D�
Z�!�$�'�'���
�
������"�
Z�
Z�
Z��
�
�T�WX�X�Y�Y�Y�Y�Y�Y�Y�Y�����
Z����	
�
���)�$�$�$���!�!�#�#�#�#�#s�#A�
A2�A-�-A2rc�8�|jD]t}||jjvrd	|�|jj|���7#t$r0|�|j�|����Y�pwxYw�ut|t��s||jj
kr|St|jj�����dkr|jj
St|�����dkr|jjS|jj
S)Nr)r�rV�_unreachable_hosts�get_next_task_for_hostr�r�r}�get_hostrQ�bool�RUN_OK�len�keys�RUN_UNREACHABLE_HOSTS�get_failed_hosts�RUN_FAILED_HOSTS)r�r�rpr<r�s     r0�runzStrategyBase.run!s)���%�	T�	T�D��4�9�7�7�7�T��3�3�D�O�4I�$�4O�P�P�P�P���T�T�T��3�3�D�O�4L�4L�T�4R�4R�S�S�S�S�S�T����8��&�$�'�'�	$�F�d�i�6F�,F�,F��M�
���-�2�2�4�4�
5�
5��
9�
9��9�2�2�
��*�*�,�,�
-�
-��
1�
1��9�-�-��9�#�#s�%?�7A9�8A9c����|�|d���t|jj���|jj����fd�|jD��S)NF�r�c���g|]}|�v�|��	Sr.r.)r�r��ignores  �r0r�z4StrategyBase.get_hosts_remaining.<locals>.<listcomp>;s#���I�I�I��d�&�6H�6H��6H�6H�6Hr/)r��setrV�
_failed_hosts�unionr�r�)r�r�r�s  @r0�get_hosts_remainingz StrategyBase.get_hosts_remaining8s^������d�E��2�2�2��T�Y�,�-�-�3�3�D�I�4P�Q�Q��I�I�I�I��!2�I�I�I�Ir/c�X����|d����fd��jD��S)NFr�c�0��g|]}|�jjv�|��Sr.)rVr��r�r�r�s  �r0r�z1StrategyBase.get_failed_hosts.<locals>.<listcomp>?s(���V�V�V��d�d�i�>U�6U�6U��6U�6U�6Ur/)r�r�)r�r�s` r0r�zStrategyBase.get_failed_hosts=s9������d�E��2�2�2�V�V�V�V��!2�V�V�V�Vr/c�f�|�|��|d<|�|��|d<dS)z�
        Base class method to add extra variables/information to the list of task
        vars sent through the executor engine regarding the task queue manager state.
        �ansible_current_hosts�ansible_failed_hostsN)r�r�)r��varsr�s   r0�add_tqm_variableszStrategyBase.add_tqm_variablesAs<��
)-�(@�(@��(F�(F��
$�%�'+�'<�'<�T�'B�'B��
#�$�$�$r/c
��t�d|j�d|j����|jtjvrBt�d|jz��t��tj|j<t
|j|���}	t|�	|j
����}n)#t$r}td|j
|����d}~wwxYw	t|j��}|dkrw|jrp|jr0t�d	|���z��n9||kr3t�d
|���|fz��|}d}	|j}
	|j|krd|_|j|j}|�|���s�||||d
�|j|j|jf<t/|j|||||j|jt4��}||j|j<|j�d||��|���t�d|jdzt|j��fz��d}	|xjdz
c_|j|krd|_|	rn!|j|
krt=jd����?|xj dz
c_ nB#tBtDtFf$r(}t�d|z��Yd}~dSd}~wwxYwt�d|j�d|j����dS)z5 handles queueing the task up to be sent to a worker zentering _queue_task() for �/zCreating lock for %s�r�	variablesz3Failed to convert the throttle value to an integer.)�obj�orig_excNrz6Ignoring 'throttle' as 'run_once' is also set for '%s'ztask: %s, throttle: %dFT)r�r=r?rp�v2_runner_on_startz"worker is %d (out of %d available)�g-C��6?zgot an error while queuing: %szexiting _queue_task() for )$rRr�r{�actionrrr r8�int�template�throttle�	Exceptionr�_dsr�r��ALLOW_BASE_THROTTLINGr��get_namer��is_aliveryr|rrPr��
plugin_loaderrVrWr��time�sleepr�r_r^�AssertionError)r�r�r=r?rpr>rr��rewind_point�queued�starting_worker�
worker_prcs            r0r�zStrategyBase._queue_taskIsz��	�
�
�
�D�I�I�I�t�{�{�S�T�T�T��;�0�C�C�C��M�M�0�4�;�>�?�?�?�AE����1�$�+�>�����C�C�C��	p��7�+�+�D�M�:�:�;�;�H�H���	p�	p�	p��T�Z^�Zb�mn�o�o�o�o�����	p����3	��t�}�-�-�L��!�|�|�� :�|��=�0��M�M�"Z�]a�]j�]j�]l�]l�"l�m�m�m�m��<�/�/��
�
�&>�$�-�-�/�/�S[�A\�&\�]�]�]�'/���F�"�.�O�
'��#�|�3�3�'(�D�$�!�]�4�+;�<�
��%�Z�-@�-@�-B�-B�%� $� $�%.�(4�	H�H�D�+�T�Y��
�,C�D�"/�t�}�i��t�Ua�cg�co�qu�rH�JW�"X�"X�J�6@�D�M�$�"2�3��I�+�+�,@�$��M�M�M��$�$�&�&�&��M�M�"F�$�JZ�]^�J^�`c�dh�dq�`r�`r�Is�"s�t�t�t�!�F�� � �A�%� � ��#�|�3�3�'(�D�$��'���%��8�8��J�v�&�&�&�9
'�<
�!�!�Q�&�!�!�!���'�>�2�	�	�	��M�M�:�Q�>�?�?�?��F�F�F�F�F�����	����	�
�
�
�4�9�9�9�d�k�k�R�S�S�S�S�Ss1�'B?�?
C%�	C � C%�)G*K�L�+L�Lc�N��|jr�fd��jD��}n|jg}|S)Nc�0��g|]}|�jjv�|��Sr.)rVr�rs  �r0r�z/StrategyBase.get_task_hosts.<locals>.<listcomp>�s(���h�h�h�$�t�4�9�Kg�?g�?g��?g�?g�?gr/)r�r�r{)r�r��	task_hostr=�	host_lists`    r0�get_task_hostszStrategyBase.get_task_hosts�s;����=�	)�h�h�h�h�$�*;�h�h�h�I�I�"��(�I��r/c�j�|�di���dd��}|p|jgS)N�_ansible_delegated_vars�ansible_delegated_host)rJ�delegate_to)r�r<r=r�s    r0�get_delegated_hostsz StrategyBase.get_delegated_hosts�s9���J�J�8�"�=�=�A�A�BZ�\`�a�a�	��-�T�-�.�.r/c����|j�dS|d}t����j}|D],}tD]"}|�|��r||���#�-�re|j�dt
��fd�t|��D����i}|�||��}|j	j
}	|D]}
|	|
|���dSdS)z�Sets host facts for ``delegate_to`` hosts for facts that should
        always be delegated

        This operation mutates ``result`` to remove the always delegated facts

        See ``ALWAYS_DELEGATE_FACT_PREFIXES``
        N�
ansible_factsc3�:�K�|]}|�v�|�|��fV��dS�Nr.)r��k�_pop�always_keyss  ��r0�	<genexpr>z;StrategyBase._set_always_delegated_facts.<locals>.<genexpr>�s:�����%\�%\�q�1�P[�K[�K[�q�$�$�q�'�'�l�K[�K[�K[�K[�%\�%\r/)r'r��add�ALWAYS_DELEGATE_FACT_PREFIXES�
startswithrzr��listr(r��set_host_facts)
r�r<r=�facts�_add�fact_key�
always_key�always_factsr"�_set_host_facts�target_hostr.r/s
           @@r0�_set_always_delegated_factsz(StrategyBase._set_always_delegated_facts�s������#��F���'���e�e������	#�	#�H�;�
#�
#�
��&�&�z�2�2�#��D��N�N�N��
#��	;��9�D���%\�%\�%\�%\�%\�D��K�K�%\�%\�%\�!\�!\��L��0�0���>�>�I�"�4�C�O�(�
;�
;�����\�:�:�:�:�	;�	;�
;�
;r/c�"�t|jt��r1|j�t|j����|_t|jt��r�|jj|jf}	|j|d}|�	dd���}|j
|_
n=#t$r0|j�
d��dkr�t��}YnwxYw|�|j��||_|S)aLNormalize a TaskResult to reference actual Host and Task objects
        when only given the ``Host.name``, or the ``Task._uuid``

        Only the ``Host.name`` and ``Task._uuid`` are commonly sent back from
        the ``TaskExecutor`` or ``WorkerProcess`` due to performance concerns

        Mutates the original object
        r=T)�exclude_parent�
exclude_tasksr�async_status)rQrxrr�r�rrwr{ryrv�_parentr}�_task_fieldsrJr�
from_attrs)r��task_result�queue_cache_entry�
found_task�
original_tasks     r0rUz"StrategyBase.normalize_task_result�s���k�'��6�6�	U� $�� 8� 8���AR�9S�9S� T� T�K���k�'��6�6�	.�!,�!2�!7��9J� K��
;�!�4�5F�G��O�
�!+���t�SW�� X� X�
�(2�(:�
�%�%���
'�
'�
'��+�/�/��9�9�^�K�K�� $���
�
�
�

'����
�$�$�[�%=�>�>�>� -�K���s�:B1�17C+�*C+FNc
����,�-�g}t�j���,�,��fd�}d}		�j����j���}n*#t$rY�j����n�wxYw	�j���n#�j���wxYw|j}|j	�-d}	|�
���r�d}	�-j}
|
�sډ�|j
��}t�d|j
z���-jrP�j��jj��D]*}|j
�jjvr��|���+n��|����|d���\}
}��
|��r+|
r)|
jt4jkrd�jj|j
<��|��r��jj�d|j
���jj �!|j
���j"�#|j
tItK�-�&����|j'�����n��jj�d	|j
��n��jj�d
|j
���jj�d|j
��d|j'vr2|j'dr%�jj�d|j
���j�(d
||
����nr|�)��rΉ-j*}|s^d�jj|j
<�jj �+|j
���jj�d|j
��nJ�jj�d
|j
���jj�d|j
���j�(d|���n�|�,��rB�jj�d|j
���j�(d|���n:d}	�-j-r|j'�.dg��}n|j'g}|D�]=}d|v�rB|�/���r-|dD�]#}d}||�jj0��}|�3d}|�1|��r�j�(d||���jj0D]�}|j2D]�}tg|dg��pg}|s�|�4d|j5�.d��|�,��}||vr�Md}|�1|��r�j�(d||������|s:d|z}tlj7rtq|���t�9|����%d|vr�|�.dtI����}�j�:||��|�.d��r/|d�j;vr �j;�+|d��nd|vr�j�<||��d|vsd|v�r	t{|�-��}�j>�.|j
|j	j?f��d}|rt�||��}n|}tK|��|�-jA<t�|�-�,|���-j-s�-jCr|t�|j|j	||jE��}�j�(d|��|�.dd��r
d|j'd<|�.dd��r
d|j'd<d|v�rU�-jFtljGv�rA�-jH��-jIr��J|�-��}n-��K|�-����L�|�-��}�-jFtljMvrB|d�N��D]&\}} |D]}!�j"�O|!|| ����'n�|�Pd d��}"|D]�}!�-jFtljQv}#|#r|"r3�j"�R|!|d�S����|#r3�j"�#|!|d�S������d!|vr�d"|d!vr�|d!d"r�d#|d!vs|d!d#r��L�|�-��}ndg}|d!d"}$d$|d!vo
|d!d$}%|D]j}&|$�T��D]S}'|%r(�jj�U|'|$|'|&���,�jj�V|'|$|'|&���T�k��?d%|j'vr3�jWstg�-d%d��r�j�(d&|��t��-t���s`�jj�d
|j
��d|j'vr2|j'dr%�jj�d|j
���j�(d'|���-jArf��L�|�-��}t�t�|j'����}(d(|(vr|(d(=|D]$}!�j"�#|!�-jA|(i���%�xj\d)zc_\|j
�j]vr
�j]|j
=�-j^�g|	re�jj_�-j^�`���N��D])\})}*|*j?�-j^j?krd|*ja|j
<�*|�+|��t��-t���r0�-fd*��jj0D��D]}+|+�c|���|s|�
|d)z|krn|d)z
}��-|S)+z�
        Reads results off the final queue and takes appropriate action
        based on the result (executing callbacks, updating state, etc.).
        c�v��t|��D�]&}|jD�]}|j�r	|jsr��|j��rQ�j��j|�j�j	����_
��|j��|_d|_|j|�d���|�d���f}||vr|ccS��#ttf$rD}|js2t �d|j�dt%|������Yd}~��d}~wwxYw����(dS)N)r�r=�_hosts�
_hosts_allTF)�include_role_fqcnz	Handler 'z�' is unusable because it has no listen topics and the name could not be templated (host-specific variables are not supported in handler names). The error: )�reversed�blockr{�cached_namer�r��get_varsr�r�r�r2rrrr
�listenrRr\r)	�handler_name�handler_blocks�
handler_block�handler_task�
candidatesr��handler_templarr�r�s	      ���r0�search_handler_blocks_by_namezLStrategyBase._process_pending_results.<locals>.search_handler_blocks_by_name�s����!)�.�!9�!9�$
%�$
%�
�$1�$7�#%�#%�L�#�(�"%�!%�#/�#;�@�#2�#>�#>�|�?P�#Q�#Q�!d�JN�J`�Ji�Ji�ow�o}�o{�qu�rC�uy�vK�Kj�KL�KL�O�$G�9H�8P�8P�Q]�Qb�8c�8c�L�$5�;?�� 8�!-� 1� ,� 5� 5�� 5� N� N� ,� 5� 5�� 5� M� M�*�J� ,�z�9�9�'3� 3� 3� 3� 3� 3� :�� .�0H�I�%�%�%�
$0�#6�"� '����Ye�Xi�Xi�Xi�kr�st�ku�ku�ku�%w�!"�!"�!"�
%�H�H�H�H�����%����/"%�#%�$
%�$
%s�B0C�D2�.9D-�-D2rTFzmarking %s as failed)�peek�rescued)�ansible_failed_task�ansible_failed_resultrhrs�ignoredr3�v2_runner_on_failed)�
ignore_errorsrj�v2_runner_on_unreachablerm�v2_runner_on_skippedr��_ansible_notifyN�v2_playbook_on_notifyrRzlThe requested handler '%s' was not found in either the main handlers list nor in the listening handlers list�add_hostr��	add_groupr?�v2_runner_item_on_okr5r*�_ansible_facts_cacheable�
ansible_stats�data�per_host�	aggregater��v2_on_file_diff�v2_runner_on_ok�
invocationr
c3�P�K�|] }|jD]}|j�jk�|V���!dSr,)rOr|)r��br�rHs   �r0r0z8StrategyBase._process_pending_results.<locals>.<genexpr>
sD�����v�v�a�A�G�v�v�q�WX�W^�bo�bu�Wu�Wu��Wu�Wu�Wu�Wu�Wu�v�vr/)dr r8rY�acquirerZ�popleft�
IndexError�releaserxrwrgr`�get_state_for_hostr{rRr�r�r�r�r�r�rVr��mark_host_failedr��	run_stater�COMPLETEr��is_any_block_rescuingr��	incrementr�r�r��set_nonpersistent_factsr�r#�	serialize�_resultrWri�ignore_unreachabler[rlrHrJrk�handlers�notify_hostrOr��get_validated_value�fattributesr��ERROR_ON_MISSING_HANDLERrr\�add_dynamic_hostr��add_dynamic_grouprNryr|r$�registerrArIrrCr�
_ACTION_DEBUGr'�delegate_factsr(r=r#�_ACTION_INCLUDE_VARSr��set_host_variablerz�_ACTION_SET_FACTr5rvr��update_custom_stats�set_custom_statsr�rQrr%r&r�r��_role�
ROLE_CACHEr�
_had_task_runr�remove_host).r�r�rnro�ret_resultsrY�cur_passrE�
original_host�role_ranr`�state_when_failedr�r��_r�result_items�result_itemrS�found�target_handler�listening_handler_block�listening_handler�	listeners�msg�
new_host_inforK�found_task_vars�
all_task_vars�new_item_resultr"�var_name�	var_valuer<�	cacheable�is_set_factrjrl�myhostr-�
clean_copy�entry�role_obj�handlerrXrHs.``                                          @@r0�_process_pending_resultsz%StrategyBase._process_pending_results�s��������!�$�,�/�/��&	%�&	%�&	%�&	%�&	%�&	%�&	%�P��x	�
-��"�*�*�,�,�,�"�m�3�3�5�5�����
�
�
���"�*�*�,�,�,�,�
������"�*�*�,�,�,�,���"�*�*�,�,�,�,����'�-�M�'�-�M��H��$�$�&�&�G
H��� -� ;�
�$�$R�(0�(C�(C�M�DV�(W�(W�%��M�M�"8�=�;M�"M�N�N�N�$�-�A�!%��!:�!:�8�>�;O�!P�!P�=�=�A� �v�T�Y�-I�I�I� (� 9� 9�!� <� <� <��=�!�1�1�-�@�@�@�'�>�>�}�SW�>�X�X�H�E�1��)�)�-�8�8�K�U�K�u��Zi�Zr�Gr�Gr�FJ��	�/�
�0B�C�
 �5�5�6G�H�H�S��	�(�2�2�9�m�>P�Q�Q�Q� ��5�<�<�]�=O�P�P�P��.�F�F�)�.� �4<�]�=T�=T�=V�=V�4W�4W�6A�6I���������	�(�2�2�:�}�?Q�R�R�R�R��I�$�.�.�t�]�5G�H�H�H��I�$�.�.�y�-�:L�M�M�M� �K�$7�7�7�K�<O�PY�<Z�7��	�(�2�2�9�m�>P�Q�Q�Q��	�'�'�(=�{�Zg�'�h�h�h�h��+�+�-�-�^
H�%2�%E�"�)�N�GK�D�I�0��1C�D��N�1�8�8��9K�L�L�L��I�$�.�.�v�}�7I�J�J�J�J��I�$�.�.�t�]�5G�H�H�H��I�$�.�.�y�-�:L�M�M�M��	�'�'�(B�K�P�P�P�P��'�'�)�)�T
H��	� �*�*�9�m�6H�I�I�I��	�'�'�(>��L�L�L�L��� �%�9�$/�#6�#:�#:�9�b�#I�#I�L�L�$/�$7�#8�L�#/�{Z�{Z�K�(�K�7�7�&�1�1�3�3�)=�
1<�<M�0N�$=�$=��(-��
2O�1N�|�]e�]k�]t�1u�1u��#1�#=�,0�E�'5�'A�'A�-�'P�'P�%x�(,�	�(?�(?�@W�Yg�iv�(w�(w�(w�?G�~�?V�!�!�$;�=T�=Z�%�%�(9�4;�<M�x�Y[�4\�4\�4b�`b�	�/8�)5�,4�4E�4Y�4Y�,4�6G�6S�6W�6W�X`�6a�6a�cl�n}�5*�5*�	�,8�y�+H�+H�,4�48�E�+<�+H�+H��+W�+W�)�,0�I�,C�,C�D[�]n�p}�,~�,~�,~��%�"(-�!=�,;�=I�,J�C�'(�'A�%=�.:�3�.?�.?�(?�(/����(<�(<�(<��!�[�0�0�(3���
�D�F�F�(K�(K�
���8�8���T�T�T�&�?�?�9�5�5�U�-��:T�\`�\q�:q�:q� �1�8�8��{�9S�T�T�T��$��3�3���9�9�-��U�U�U�!�[�0�0�K�;�4N�4N�$2�;�
�$N�$N�	�*.�*A�*E�*E�}�GY�[f�[l�[r�Fs�*t�*t�vA�+B��$�<�,8��)�,T�,T�M�M�,;�M�@H��@U�@U�
�m�&<�=�*�;�
��Xe�f�f�f�(�-�E��1H�E�.8� +� 1� +� 1� +� +� 8�	/�/�O�!�I�3�3�4J�O�\�\�\�*���y�%�@�@�F�AE�� 3�I� >�*���x��?�?�E�@D�� 3�H� =�&�+�5�5�-�:N�VW�Ve�:e�:e�(�4�@�]�Ea�@�(,�(@�(@��m�(\�(\�I�I�!�<�<�[�-�X�X�X�(,�(;�(;�H�m�Ub�(c�(c�I�(�/�1�3I�I�I�9D�_�9U�9[�9[�9]�9]�o�o� 5��9�4=�!o�!o�K�$(�$:�$L�$L�[�Zb�dm�$n�$n�$n�$n�!o�o�)4���8R�TY�(Z�(Z�I�/8�
E�
E��/<�.B�a�FX�.X��'2�!|�i�!|�$(�$:�$I�$I�+�Wb�cr�Ws�Wx�Wx�Wz�Wz�${�${�${�#.�!E�$(�$:�$R�$R�S^�`k�l{�`|�aB�aB�aD�aD�%E�%E�%E��&�+�5�5�&�K�P_�D`�:`�:`�ep�rA�fB�CI�fJ�:`�%�[��-I�I�I�[�Yh�Mi�jt�Mu�I�(,�(;�(;�H�m�Ub�(c�(c�I�I�)-��I�*�?�;�F�C��$/�;��3O�$O�$}�T_�`o�Tp�q|�T}�	�&/�Z�Z�F�%)�Y�Y�[�[�Z�Z��#,�!Z�$(�I�$4�$H�$H��D�QR�G�U[�$\�$\�$\�$\�$(�I�$4�$E�$E�a��a��RX�$Y�$Y�$Y�$Y�	Z���[�0�0�0��z�P�W�]�F�E�%J�%J�P��	�/�/�0A�;�O�O�O�!�-��=�=�R��I�$�.�.�t�]�5G�H�H�H� �K�$7�7�7�K�<O�PY�<Z�7��	�(�2�2�9�m�>P�Q�Q�Q��	�'�'�(9�;�G�G�G��%�
v� �/�/��-��W�W�	�0�1I�+�J]�1^�1^�_�_�
��:�-�-�"�<�0�#,�v�v�K��*�B�B�;�Q^�Qg�is�Pt�u�u�u�u��!�!�Q�&�!�!��!�T�%8�8�8��'�
�(:�;��"�.�8�.�*2��)B�=�CV�C_�C_�Ca�Ca�)b�)h�)h�)j�)j�J�J�%�U�H��~��)<�)B�B�B�EI��.�}�/A�B�����{�+�+�+��-��1�1�
7�v�v�v�v�8�>�+B�v�v�v�7�7�G��'�'�
�6�6�6�6��
�:�1�x�!�|�
�6R�6R����M�H�qx	�t�s)�2A�B�
B�#B�?B�B�B9c���g}t�d��|jdkr�|jjs�|j���rt
d���|�|��}|�|��|jdkrtj
tj��|jdkr|jj��t�d��|S)z�
        Wait for the shared counter to drop to zero, using a short sleep
        between checks to ensure we don't spin lock
        zwaiting for pending results...rz"A worker was found in a dead statez/no more pending results, returning what we have)
rRr�r�rV�_terminated�has_dead_workersrr�r�rrr��DEFAULT_INTERNAL_POLL_INTERVAL)r�r�r�r�s    r0�_wait_on_pending_resultsz%StrategyBase._wait_on_pending_resultss������
�
�6�7�7�7��#�a�'�'��	�0E�'��y�)�)�+�+�
I�"�#G�H�H�H��3�3�H�=�=�G����w�'�'�'��$�q�(�(��
�1�;�<�<�<��#�a�'�'��	�0E�'�	�
�
�G�H�H�H��r/c��|j�d���}|jj|_|j|jz}||_|S)zW
        A proven safe and performant way to create a copy of an included file
        T)r?)rwrvrBr�_vars)r��
included_file�ti_copy�	temp_varss    r0�_copy_included_filez StrategyBase._copy_included_file+sE�� �%�*�*�$�*�?�?��'�-�5����L�=�#6�6�	� ����r/c
�(�t�d|jz��	|j�|j��}|�gSt|t��std���|�|��}t||j
|���|jj
||j|j���}|jD]'}|jj�d|j���(n�#t($r�t$r�}t|t*��rdt-|j��z}	nt-|��}	|jD]}
d|
jd<�
|jD]h}t5||jt7d|	�	���
��}|jj�d|j��|j�d|���it|	��|�d}~wwxYw|j�d
|��t�d��|S)a4
        Loads an included YAML file of tasks, applying the optional set of variables.

        Raises AnsibleError exception in case of a failure during including a file,
        in such case the caller is responsible for marking the host(s) as failed
        using PlayIterator.mark_host_failed().
        zloading included file: %sNz0included task files must contain a list of tasks)r��parent_block�role�use_handlersr�variable_managerrsz8Could not find or access '%s' on the Ansible Controller.Tr5)r5�reason)r�r=�return_datarhr_�v2_playbook_on_includezdone processing included file)rRr��	_filenamer8�load_from_filerQr4rr�rr��build_parent_blockrwr�r�rKrVr�r{r{rrr�	file_namerZr~rr�rW)r�r�r��
is_handlerrjr��
block_listr�r�r��r�trs            r0�_load_included_filez StrategyBase._load_included_file8s:��	�
�
�1�M�4K�K�L�L�L�&	.��<�.�.�}�/F�G�G�D��|��	���d�+�+�
W�"�#U�V�V�V��.�.�}�=�=�G�,���^�$�7�7�9�9�"�(�.�'��|�!%�!7����J�&�,�
<�
<���	� �*�*�4���;�;�;�;�
<��!�	�	�	���
	.�
	.�
	.��!�0�1�1�
$�S�V]�^_�^i�Vj�Vj�j��� �����"�+�
+�
+��&*��	�(�#�#�%�,�
C�
C���T�
�0C�QU�]a�jp�Qq�Qq�Qq�r�r�r���	� �*�*�:�t�y�A�A�A��	�'�'�(=�r�B�B�B�B��v�&�&�A�-�����
	.���� 	
�	��� 8�-�H�H�H��
�
�5�6�6�6��s�"C1�B)C1�1G�CG�Gc��d}d|z}|r|d|zz
}|dz
}t�|��}|���dvrt�d��d}nT|���dvr$t�d	��d|_d}nt�d
��t�|��|S)NFzPerform task: %s zon %s z(N)o/(y)es/(c)ontinue: )�y�yesz
User ran taskT)�c�continuez$User ran task and canceled step modezUser skipped task)rR�prompt�lowerr�r��banner)r�r=r��retr��resps      r0�
_take_stepzStrategyBase._take_stepns�����"�T�)���	$��9�t�#�#�C��)�)���~�~�c�"�"���:�:�<�<�<�'�'��M�M�/�*�*�*��C�C�
�Z�Z�\�\�.�
.�
.��M�M�@�A�A�A��D�J��C�C��M�M�-�.�.�.����s�����
r/c�@�t�d|z��dS)Nz)%s task does not support when conditional)rRr\)r��	task_names  r0�_cond_not_supported_warnz%StrategyBase._cond_not_supported_warn�s �����C�i�O�P�P�P�P�Pr/c�P
�����j�d��}���fd�}d}|}d|z}	t�t��r�j�d���n�j�d�d���|dvr�jr��|��|d	krd	}�ng|d
kr�||��rz��|j	��}
|
j
tjkrtd���|j	�jjvr|
j
|
_tj|
_
d|j	z}�n�d
}|	d|j	zz
}	�n�|dkr7�j������j��d}�n�|dkru||��rY�j��jj��D]0}|���}�j�|���1d}�n$d
}|	d|j	zz
}	�n|dkr�||��r��j��jj��D]a}�jj�|j	d���jj�|j	d����|���bd}�nxd
}|	d|j	zz
}	�ng|dkrw||��rc�j��jj��D]:}|j	�jjvr%��|j	tj���;d}�n�d
}|	dz
}	�n�|dkr~||��rj�j��jj��D]A}|j	�jjvr,��|j	tj��d
�_�Bd}�nod
}|	dz
}	�nf|dkr{||��rU��|j	tj���jj� |j	��d|j	z}�nd
}|	d|j	zz
}	d |j	z}�n�|d!kr:�j!r1|j	�j"j#vrd
�j"j$|j	<d"|j	z}�n�|d#k�r��j�%�j|��j&�j'�$��}
tQ�j)|
�%��}|�*�|
|�&��}|�+|�'��|j,s|j-|_,|�.|
��|�j/vr#ta�j/|��}�j/|=nntbj2�|j3|thj5��}|�6��7��|
�(��|�8|��|rL	|�9��d)}nP#tt$r'}tv�<d*|z��Yd}~n$d}~wwxYwd+}ntd,|z�j=�-���d.|i}|rd
|d/<|	|d0<nd|d1<�j!s#|r|	n|}tv�>d2|����t�t��r��?|��t�|�|��}|r�j�d3|��|gS)4N�_raw_paramsc����j��j|��j�j���}t�j|���}��||��S)N�r�r�r=rKrLr)r�rQr�r�r�r r8r:)r��all_varsr>r�r�r=s   ���r0�_evaluate_conditionalz9StrategyBase._execute_meta.<locals>._evaluate_conditional�sb����-�6�6�H�N�QR�Y]�>B�>O�\`�\q�7�s�s�H��T�\�X�F�F�F�G��,�,�W�h�?�?�?r/Fz!%s conditional evaluated to False�!v2_playbook_on_handler_task_start�v2_playbook_on_task_start)�is_conditional)�noop�refresh_inventory�reset_connectionr��flush_handlersz*flush_handlers cannot be used as a handlerz!triggered running handlers for %sTz, not running handlers for %sr�z inventory successfully refreshed�clear_factsz
facts clearedz*, not clearing facts and fact cache for %s�clear_host_errorszcleared host errorsz&, not clearing host error state for %s�	end_batchzending batchz, continuing current batch�end_playzending playz, continuing play�end_hostzending play for %sz, continuing execution for %szDend_host conditional evaluated to false, continuing execution for %s�
role_completezrole_complete for %sr�r�r)r=r	r>)r>)�	task_keys�var_optionszreset connectionr�zno connection, nothing to resetz!invalid meta action requested: %s)r
r�rm�skip_reasonr3zMETA: rb)ArSrJrQrrVrWr9r�rvr{rxr�HANDLERSrr��pre_flushing_run_stater�r�r�r�r�r�rr�r�r�rzr��set_run_state_for_hostryr�r�r[�implicitr�r��
_completedrQr�r�r r8�set_task_and_variable_override�
post_validate�remote_addr�address�update_varsr�rr�connection_loader�
connection�os�devnull�set_options�
dump_attrs�set_attributes_from_pluginr�rrRr�r�vvr�r)r�r=rpr�r<�meta_actionr�rmr�r��
host_stater��hostnamer�r>r�r�r<�header�ress`` `                r0�
_execute_metazStrategyBase._execute_meta�s�������i�m�m�M�2�2��	@�	@�	@�	@�	@�	@�	@�����9�K�G���d�G�$�$�	]��I�#�#�$G��N�N�N�N��I�#�#�$?��V[�#�\�\�\��K�K�K�PT�PY�K��)�)�+�6�6�6��&� � ��C�C�
�,�
,�
,�$�$�[�1�1�

R�%�8�8��9I�J�J�
��'�?�+C�C�C�&�'S�T�T�T��#�4�9�+G�G�G�8B�8L�J�5�+:�+C�J�(�9�K�<L�L������>��AQ�Q�Q���
�/�
/�
/��O�-�-�/�/�/��!�!�(�.�1�1�1�4�C�C�
�M�
)�
)�$�$�[�1�1�
_� �O�5�5�h�n�6J�K�K�A�A�D�#�}�}���H��*�6�6�x�@�@�@�@�%������K�k�N^�^�^���
�/�
/�
/�$�$�[�1�1�
[� �O�5�5�h�n�6J�K�K�5�5�D��I�+�/�/��	�5�A�A�A��I�0�4�4�T�Y��F�F�F��.�.�t�4�4�4�4�+������G�+�JZ�Z�Z���
�K�
'�
'�$�$�[�1�1�
<� �O�5�5�h�n�6J�K�K�]�]�D��y��	�(D�D�D� �7�7��	�?�C[�\�\�\��$������;�;���
�J�
&�
&�$�$�[�1�1�

3� �O�5�5�h�n�6J�K�K�1�1�D��y��	�(D�D�D� �7�7��	�?�C[�\�\�\�-1��)��#������2�2���
�J�
&�
&�$�$�[�1�1�
p��/�/��0@�/�BZ�[�[�[���-�4�4�[�5E�F�F�F�*�[�-=�=������>��AQ�Q�Q��\�_j�_o�o���
�O�
+�
+��}�
D��#�t�z�'?�?�?�>B�D�J�)�+�*:�;�0�;�3C�C�C��
�.�
.�
.��-�6�6�H�N�Q\�cg�>B�>O�\`�\q�7�s�s�H��T�\�X�F�F�F�G�
(�F�F�D�\d�nu�F�v�v�L�
�&�&�w�&�7�7�7� �+�
?�+6�+>��(�

�$�$�X�.�.�.��d�6�6�6�'��(@��(M�N�N�
��,�[�9�9�*�<�@�@��AX�Zf�hj�hr�s�s�
��&�&����1B�1B�PX�&�Y�Y�Y��7�7�
�C�C�C��
8�^��$�$�&�&�&�,�C�C��&�^�^�^��M�M�"X�[\�"\�]�]�]�]�]�]�]�]�����^����8����B�[�P�VZ�V^�_�_�_�_������	&� $�F�9��$/�F�=�!�!� %�F�9���}�	*�$+�4�[�[��F��J�J�(��(�(�)�)�)��d�G�$�$�	*����[�)�)�)���d�F�3�3���	A��I�#�#�$:�C�@�@�@��u�s�&V=�=
W.�W)�)W.c��g}|jD]t}||jjvrd	|�|jj|���7#t$r0|�|j�|����Y�pwxYw�u|S)zQ returns list of available hosts for this iterator by filtering out unreachables )r�rVr�r[r�r�r}r�)r�r��
hosts_leftr�s    r0�get_hosts_leftzStrategyBase.get_hosts_left*s����
��%�	F�	F�D��4�9�7�7�7�F��%�%�d�o�&;�D�&A�B�B�B�B���F�F�F��%�%�d�o�&>�&>�t�&D�&D�E�E�E�E�E�F����8�
�s�%A�7A;�:A;c��|D]J}d|jvr?|jd�d��}|r|j|jvr||j|j<�KdS)z3 updates the current active persistent connections rS�_ansible_socketN)rCrJrxr�)r�r�r��socket_paths    r0�update_active_connectionsz&StrategyBase.update_active_connections6sp���	H�	H�A����'�'��n�V�4�8�8�9J�K�K���H��w�d�&>�>�>�<G��0���9��	H�	Hr/)T)rr�)Fr,)r+r,r-�__doc__rr�r�r�r�r�r�rr�r#r(r=rUr�r�r�r�r�r�r�rr	r
r.r/r0r'r'�s���������!��,6�,6�,6�\
f�
f�
f�
f�
$�
$�
$�$�$�$�$�.J�J�J�
W�W�W�C�C�C�QT�QT�QT�f���/�/�/�;�;�;�8 � � �D�l�l�l��]�l�\	���.���4�4�4�4�l����.Q�Q�Q�`�`�`�D
�
�
�H�H�H�H�Hr/c�(�eZdZdZdZdZdZefd�ZdS)r�z. The next action after an interpreter's exit. r
��c��||_dSr,)r<)r�r<s  r0r�zNextAction.__init__Fs
������r/N)r+r,r-rr�r�r�r�r.r/r0r�r�@s@������8�8��D��H��D�"������r/r�c��eZdZdZd�Zd�ZejjZ	d�Z
d�ZeZd�Z
e
Zd�ZeZd�ZeZd	�Zd
�ZeZd�Zd�Zd
S)r�z> c���tj�|��d|�d|�d�|_d|_i|_||jd<||jd<||jd<||jd<||jd<||_dS)	N�[z] z
 (debug)> r=r?r�rpr<)�cmd�Cmdr�r��intro�scoper�)r�r=r�r?rpr<r�s       r0r�zDebugger.__init__Ms������������-1�T�T�4�4�4�8�����
���
�!��
�6��"+��
�;��!��
�6��%1��
�>�"�%��
�8��&����r/c�h�	tj�|��dS#t$rYdSwxYwr,)rrr��KeyboardInterrupt)r�s r0r�zDebugger.cmdloop[sC��	��G�O�O�D�!�!�!�!�!�� �	�	�	��D�D�	���s�#�
1�1c�,�|�|��S)�Quit)�do_quit�r�rSs  r0�do_EOFzDebugger.do_EOFcs���|�|�D�!�!�!r/c�f�t�d��tj|j_dS)rzUser interrupted executionT)rRr�r�r�r<rs  r0rzDebugger.do_quitgs'�����4�5�5�5�",�/�����tr/c�2�tj|j_dS)zContinue to next resultT)r�r�r�r<rs  r0�do_continuezDebugger.do_continueos��",�"5�����tr/c�2�tj|j_dS)zKSchedule task for re-execution. The re-execution may not be the next resultT)r�r�r�r<rs  r0�do_redozDebugger.do_redovs��",�/�����tr/c���td|jd���}|jd}|�|j��}|�|��||jd<dS)zLRecreate the task from ``task._ds``, and template with updated ``task_vars``Nr?)r	r=)r r�	load_datarr�)r�rSr>r=s    r0�do_update_taskzDebugger.do_update_task}s`���$�$�*�[�*A�B�B�B���z�&�!���~�~�d�h�'�'�����7�#�#�#�!��
�6���r/c	�:�	t|t��|j��S#t$rlt	j��dd�\}}t
|t��r|}n|j}t�	d|�dt|�������wxYw)Nr�***�:)�eval�globalsrrr��exc_inforQ�strr+rR�repr)r�rS�t�v�
exc_type_names     r0�evaluatezDebugger.evaluate�s���		���g�i�i���4�4�4���	�	�	��<�>�>�"�1�"�%�D�A�q��!�S�!�!�
+� !�
�
� !�
�
��O�O�O�-�-�-��a����A�B�B�B��	���s
�!$�A6Bc��	|�|��}t�tj|����dS#t$rYdSwxYw)zPretty PrintN)r4rR�pprint�pformatr)r�rSr<s   r0�	do_pprintzDebugger.do_pprint�s\��	��]�]�4�(�(�F��O�O�F�N�6�2�2�3�3�3�3�3���	�	�	��D�D�	���s�AA�
A�Ac	�f�	t|dzdd��}t|t��|j��dS#t$rltj��dd�\}}t|t��r|}n|j	}t�
d|�dt|�������wxYw)N�
z<stdin>�singlerr*r+)�compile�execr-rrr�r.rQr/r+rRr0)r�rS�coder1r2r3s      r0�executezDebugger.execute�s���
	��4�$�;�	�8�<�<�D���w�y�y�$�*�-�-�-�-�-���	�	�	��<�>�>�"�1�"�%�D�A�q��!�S�!�!�
+� !�
�
� !�
�
��O�O�O�-�-�-��a����A�B�B�B��	���s
�6:�A6B0c�T�	|�|��dS#t$rYdSwxYwr,)r?r)r��lines  r0�defaultzDebugger.default�sA��	��L�L���������	�	�	��D�D�	���s��
'�'N)r+r,r-�prompt_continuousr�r�rr�do_help�do_hr r�do_qr#�do_cr%�do_rr(�do_ur4r8�do_pr?rBr.r/r0r�r�Js���������'�'�'�����7�?�D�"�"�"�����D����
�D����
�D�"�"�"��D�
�
�
�����D��������r/r�)X�
__future__rrrr]�
__metaclass__rr�r�r6r`r�r�r�collectionsr�multiprocessingr�jinja2.exceptionsr�ansibler	r�r
�ansible.errorsrrr
r�ansible.executorr�ansible.executor.play_iteratorr�ansible.executor.process.workerr�ansible.executor.task_resultr�#ansible.executor.task_queue_managerrr�ansible.module_utils.sixr�ansible.module_utils._textr�ansible.module_utils.connectionrr�ansible.playbook.conditionalr�ansible.playbook.handlerr�ansible.playbook.helpersr�ansible.playbook.taskr�ansible.playbook.task_includer�ansible.pluginsrr�ansible.templater �ansible.utils.displayr!�ansible.utils.fqcnr"�ansible.utils.unsafe_proxyr#�ansible.utils.varsr$�ansible.vars.cleanr%r&rR�__all__�	frozensetr2r*r�rArNrdr�r'�objectr�rr�r.r/r0�<module>ris���&C�B�B�B�B�B�B�B�B�B��
�
�
�
�
�����	�	�	�	�
�
�
�
�����
�
�
�
��������������� � � � � � �,�,�,�,�,�,�"�"�"�"�"�"�������j�j�j�j�j�j�j�j�j�j�j�j�/�/�/�/�/�/�:�:�:�:�:�:�9�9�9�9�9�9�3�3�3�3�3�3�I�I�I�I�I�I�I�I�1�1�1�1�1�1�.�.�.�.�.�.�G�G�G�G�G�G�G�G�4�4�4�4�4�4�,�,�,�,�,�,�8�8�8�8�8�8�&�&�&�&�&�&�5�5�5�5�5�5�3�3�3�3�3�3�$�$�$�$�$�$�)�)�)�)�)�)�1�1�1�1�1�1�/�/�/�/�/�/�+�+�+�+�+�+�L�L�L�L�L�L�L�L�
�'�)�)���
��!*�	�+�!�!��
	�	�	�	�	�	�	�	�
����	�Q�Q�Q�"
�
�
� ���4@�@�@�Fq
H�q
H�q
H�q
H�q
H�q
H�q
H�q
H�h���������d�d�d�d�d�s�w�d�d�d�d�dr/

Youez - 2016 - github.com/yon3zu
LinuXploit