
    x[hi	                         S SK r S SKrS SKrS SKJr  \ R
                  " \5      r\ R                  SS.S\	SS4S jjr
\" S5      S	 5       rSSS\ R                  S4S
 jrSS jrg)    N)timedT)	log_levelexc_infor   returnc                V    U R                   " X!/UQ76   U R                  " U/UQ7SU06  g )Nr   )logdebug)r   msgr   r   argss        8/usr/lib/python3/dist-packages/cloudinit/log/log_util.pylogexcr   
   s+     GGI"T"IIc,t,H,    zWriting to consolec                     [        U S5       nUR                  U5        UR                  5         S S S 5        g ! , (       d  f       g = f)Nw)openwriteflush)conpathtextwfhs      r   write_to_consoler      s.    	gs	s		$		 
		s	   "8
Ac                 H   U(       a  [         R                  R                  U 5        U(       ac  SnSn[        R                  R                  U5      (       a   [        X`5        SnU(       a&  U(       d  [         R                  R                  U 5        U(       a0  U S   S:X  a  UR                  X@S S 5        g UR                  X@5        g g ! [         aN    Sn[         R                  R                  U S35        U(       a   UR                  [        R                  U5         Nf = f)Nz/dev/consoleFTzFailed to write to /dev/console
)sysstderrr   ospathexistsr   OSErrorstdoutr   loggingWARNING)	r   consoler   r   r   fallback_to_stdoutr   writing_to_console_workedconsole_errors	            r   	multi_logr(      s     

 $)!77>>'""< /,0) &? JJT"
8tGGICRy)GGI$	 )  < A

  M?"!56GGGOO];	<s   C	 	AD! D!c                     [        UR                  U 5      [        R                  S9  U(       a  [        R                  " U5        U$ )zPrint error to stderr and return or exit

@param msg: message to print
@param rc: return code (default: 1)
@param fmt: format string for putting message in (default: 'Error:\n {}')
@param sys_exit: exit when called (default: false)
)file)printformatr   r   exit)r
   rcfmtsys_exits       r   errorr1   D   s-     
#**S/

+Ir   )   z	Error:
{}F)r"   r   r   cloudinit.performancer   	getLogger__name__LOGr#   intr   r   DEBUGr(   r1    r   r   <module>r:      s{     	 
 '! '.oo- #-	-   mm)%Xr   