+
    i;              	          a  R t0 t R t^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt R	tR
RRRRRRRR//tRRRR.R]RR./t] ^ k ]P,                  ! ]4      tR R ltR tR# )z&install and configure landscape clientN)chain)	ConfigObj)subp
type_utilsutil)Cloud)Config)
MetaSchema)PER_INSTANCEz/etc/landscape/client.confclient	log_levelinfourlz.https://landscape.canonical.com/message-systemping_urlz#http://landscape.canonical.com/ping	data_pathz/var/lib/landscape/clientidcc_landscapedistrosubuntu	frequencyactivate_by_schema_keys	landscapec          
      L    V ^8  d   QhR\         R\        R\        R\        RR/# )   namecfgcloudargsreturnN)strr   r   list)formats   "?/usr/lib/python3/dist-packages/cloudinit/config/cc_landscape.py__annotate__r#   ,   s/     .+ .+ .+6 .+% .+t .+ .+    c                J   VP                  R/ 4      p\        V\        4      '       g0   \        RP	                  \
        P                  ! V4      R7      4      hV'       g   R# VP                  P                  R.4       \        \        V.p\        \        \        \        V4      R,          P                  4       4       UUu. uF  w  rgRVP!                  RR	4       2V.NK  	  upp!  4      p \"        P"                  ! . RO^.R7       \"        P"                  ! R
R.V,           4       R# u uppi   \"        P$                   d^   p	T	P&                  ^ 8X  d   \(        P+                  R4        Rp	?	R# RT	 2p
\,        P.                  ! \(        T
4       \        T
4      T	hRp	?	ii ; i)z
Basically turn a top level 'landscape' entry with a 'client' dict
and render it to ConfigObj format under '[client]' section in
/etc/landscape/client.conf
r   zR'landscape' key existed in config, but not a dictionary type, is a {_type} instead)_typeNzlandscape-clientr   z--_-landscape-config--silent)rcsz&Client already registered to LandscapezFailure registering client:
)r)   r*   z--is-registered)get
isinstancedictRuntimeErrorr!   r   obj_namedistroinstall_packagesLSC_BUILTIN_CFGLSC_CLIENT_CFG_FILEr    r   sortedmerge_togetheritemsreplacer   ProcessExecutionError	exit_codeLOGwarningr   logexc)r   r   r   r   ls_cloudcfg
merge_datakv
cmd_paramsemsgs   &&&&       r"   handlerE   ,   sw    ''+r*KkD**$$*F ))+6 %+ %
 	
 	LL!!#5"67 	J  #":.x8>>@DA aiiS)*+Q/	
	J	+		EA3O		%z2Z?@ %% +;;!KK@AA1!5CKKS!s#*+s$   "D*.:D0 0F"&F1,FF"c                    \        / 4      pV  FP  pV'       g   K  \        V\         4      '       d   VP                  V4       K6  VP                  \        V4      4       KR  	  V# )zi
merge together ConfigObj objects or things that ConfigObj() will take in
later entries override earlier
)r   r-   merge)objsr   objs   &  r"   r6   r6   ]   sL    
 B-Cc9%%IIcNIIin%  Jr$   c                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   meta)__conditional_annotations__r	   )r!   s   "r"   r#   r#   	   s     , ,2 j 3 -r$   )rL   __doc__logging	itertoolsr   	configobjr   	cloudinitr   r   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar	   cloudinit.settingsr
   r4   r3   rK   	getLogger__name__r;   rE   r6   r#   )rL   s   @r"   <module>rX      s    -    , , ! # . +2  V?90	 	.z}	  !.+br$   