
    Vhe
                     j    d dl mZmZmZ eZd dlZd dlZd dlm	Z	 d dl
mZmZ d dlmZ  G d de      Zy)    )absolute_importdivisionprint_functionN)AnsibleConnectionFailure)to_bytesto_text)TerminalBasec                   "   e Zd Z ej                  d       ej                  d      gZ ej                  dej                         ej                  d       ej                  dej                        gZ ej                  d      Z	d Z
d Zdd
Zy	)TerminalModules4   [\r\n]?[\w+\-\.:\/\[\]]+(?:\([^\)]+\)){,3}(?:>|#) ?$s'   \[\w+\@[\w\-\.]+(?: [^\]])\] ?[>#\$] ?$s   error:s(   Removing.* not allowed, it is being useds!   ^Command authorization failed\r?$z^.+\(config(-.*)?\)#$c                     | j                         j                         j                  d      r| j                          y y )N   #)_get_promptstripendswithdisable_pagerselfs    b/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/cisco/asa/plugins/terminal/asa.pyon_open_shellzTerminalModule.on_open_shell.   s3    ##%..t4  5    c                 X    	 | j                  d       y # t        $ r t        d      w xY w)Nzno terminal pagerz unable to disable terminal pager)_exec_cli_commandr   r   s    r   r   zTerminalModule.disable_pager2   s4    	O""#67' 	O*+MNN	Os    )Nc                 F   | j                         j                         j                  d      ry ddi}|rt        dd      |d<   ||d<   	 | j	                  t        t        j                  |      d             | j                          y # t        $ r t        d	      w xY w)
Nr   commandenablez[\r\n]?[Pp]assword: $surrogate_or_strict)errorspromptanswerz*unable to elevate privilege to enable mode)
r   r   r   r   r   r   jsondumpsr   r   )r   passwdcmds      r   	on_becomezTerminalModule.on_become8   s    ##%..t4(# $(,CM #CM	""C1FG 	 ( 	*< 	s   /B B )N)__name__
__module____qualname__recompileterminal_stdout_reI	MULTILINEterminal_stderr_reterminal_config_promptr   r   r$    r   r   r   r       s    

KL

>? 	

:rtt$

?@

8",,G (RZZ(@A!Or   r   )
__future__r   r   r   type__metaclass__r    r(   ansible.errorsr   ansible.module_utils._textr   r   Hansible_collections.ansible.netcommon.plugins.plugin_utils.terminal_baser	   r   r/   r   r   <module>r6      s0   & A @   	 3 8 a/\ /r   