
    g                         S SK Jr  S SKrS SKrS SKJrJrJr  SSKJ	r	  SSK
JrJr  SSKJr  SSKJr  SS	KJr  SS
KJrJrJrJrJrJrJrJr  S\\   S\S\4S jrS\\   S\\\4   S\4S jr/ SQrg)    )StringION)UnionListIO   )lib)NetDefinitionNetDefinitionIterator)Parser)State)_checked_lib_call)NetplanExceptionNetplanBackendExceptionNetplanEmitterExceptionNetplanFileExceptionNetplanFormatExceptionNetplanParserExceptionNetplanValidationExceptionNetplanParserFlagsExceptionprefix
input_fileoutput_filec                    [        U[        5      (       ap  [        R                  " SS9nUR	                  5       n[        R
                  " X4R                  S5      5        [        R                  " US[        R                  5        OUR                  5       n[        U[        5      (       a  [        R                  " SS9nOUR                  5       n[        [        R                  SR                  U 5      R                  S5      X55        [        U[        5      (       a  [        R                  " U5        [        U[        5      (       a  [        R                  " US[        R                  5      n[        R                  " US[        R                  5        [        R                   " XV5      nUR                  UR#                  S5      5        [        R                  " U5        g g )Nnetplan_temp_input_file)nameutf-8r   netplan_temp_output_file	)
isinstancer   osmemfd_creategetvaluewriteencodelseekSEEK_SETfilenor   r   netplan_util_dump_yaml_subtreejoincloseSEEK_CURreaddecode)r   r   r   input_fddata	output_fdsizes          2/usr/lib/python3/dist-packages/netplan/__init__.py_dump_yaml_subtreer3       s;   *h''??(AB""$
;;w/0
1bkk*$$&+x((OO)CD	&&(	c88$))F:K:R:RSZ:[]eq*h''
+x((xx	1bkk2
Ar{{+wwy'$++g./
 )    patch_object_pathpatch_payloadpatch_outputc                    [        U[        5      (       a  [        R                  " U5      n[	        [
        R                  SR                  U 5      R                  S5      UR                  S5      UR                  5       5        g )Nr   r   )
r   dictjsondumpsr   r   netplan_util_create_yaml_patchr)   r$   r'   )r5   r6   r7   s      r2   _create_yaml_patchr=   ;   s_    -&&

=1c88ii 1299'B#**73"))+-r4   )r   r   r	   r
   r3   r=   r   r   r   r   r   r   r   r   ) ior   r:   r    typingr   r   r   _netplan_cffir   netdefr	   r
   parserr   stater   _utilsr   r   r   r   r   r   r   r   r   strr3   r9   r=   __all__ r4   r2   <module>rH      s       	 " "  8   %N N NtCy b r 6-$s) -E#t)DT -df -Hr4   