
    Vhb
                     v    d dl mZmZmZ eZd dlZd dlmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ  G d de      Zy)	    )absolute_importdivisionprint_functionN)AnsibleErrorAnsibleAction_AnsibleActionDoneAnsibleActionFail)	to_native)boolean)
ActionBasec                   $     e Zd ZdZd fd	Z xZS )ActionModuleTc                    |
t               }t        t        |   ||      }~| j                  j
                  j                  dd       }t        | j                  j
                  j                  dd      d      }	 |t        d      |rt        | j                  |            	 | j                  d	|      }| j                  j                  j!                  | j                  j                  j"                  t$        j&                  j)                  |            }| j+                  ||       | j-                  | j                  j                  j"                  |f       | j                  j
                  j/                         }|j1                  t        |
             |j1                  | j                  d||             | j7                  | j                  j                  j"                         |S # t        $ r}t        t        |            d }~ww xY w# t2        $ r%}|j1                  |j4                         Y d }~d }~ww xY w# | j7                  | j                  j                  j"                         w xY w)Nsrc
remote_srcnoF)strictzsrc is required)	task_vars)resultfiles)r   zansible.posix.patch)module_argsr   )dictsuperr   run_taskargsgetr   r	   r   _execute_module_find_needler   r
   _connection_shell	join_pathtmpdirospathbasename_transfer_file_fixup_perms2copyupdater   r   _remove_tmp_path)
selftmpr   r   r   r   etmp_srcnew_module_args	__class__s
            f/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/ansible/posix/plugins/action/patch.pyr   zActionModule.run!   s   I|T.sI>jjoo!!%.TZZ__00tDUS
	B{'(9:: )0D0Dy0D0YZZ6''5 &&--778H8H8O8O8V8VXZX_X_XhXhilXmnGW- 0 0 7 7 > >HI"jjoo224O"" MM$../DRamv.wx !!$"2"2"9"9"@"@A'   6'	!556  	$MM!((##	$ !!$"2"2"9"9"@"@AsO   ;+H 'G0 9DH 0	H9HHH 	IH>9I >II 1I7)NN)__name__
__module____qualname__TRANSFERS_FILESr   __classcell__)r1   s   @r2   r   r      s    O' '    r   )
__future__r   r   r   type__metaclass__r$   ansible.errorsr   r   r   r	   ansible.module_utils._textr
   )ansible.module_utils.parsing.convert_boolr   ansible.plugins.actionr   r    r8   r2   <module>rA      s1   $ C B 	 ] ] 0 = -+: +r8   