+
    i              	          a  R t0 t R t^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt RR	R
RR.R]RRR./t] ^ k ]P$                  ! ]4      tR tR R ltR R ltR R ltR# )z5Grub Dpkg: Configure grub debconf installation deviceN)subputil)Cloud)Config)
MetaSchema)PER_INSTANCE)ProcessExecutionErroridcc_grub_dpkgdistrosubuntudebian	frequencyactivate_by_schema_keys	grub_dpkg	grub-dpkgc                 d   Rp . pRpRp\        4       '       d   RpRp \        P                  ! RRW#.RR	7      P                  P                  4       p T '       d&   \        P                  P!                  T 4      '       g   R#  \        P                  ! RRRRT .RR	7      P                  P                  4       P#                  4       p\        P                  RRP%                  T4      4       T Uu. uF  pRT9   g   K  TNK  	  pp\        P                  RRP%                  T4      4       T'       d   \'        T4      ^ ,          MT p\        P                  RT4       T#   \         dn   p\        TP                  \        4      '       d   \        P                  R
4        Rp?ELQRTP                  9   d   \        P                  R4        Rp?EL}h Rp?i\         d     \        P                  ! \        R4        ELi ; i  \         d!    \        P                  ! \        RT 4        ELei ; iu upi )zv
Fetches the /dev/disk/by-id device grub is installed to.
Falls back to plain disk name if no by-id entry is present.
 diskz/bootdevicez	/boot/efiz
grub-probez-tT)capturez'grub-probe' not found in $PATHzfailed to get canonical pathz)grub-probe 'failed to get canonical path'Nz*grub-probe failed to execute for grub_dpkgudevadminfoz--rootz--query=symlinkz3udevadm DEVLINKS symlink query failed for disk='%s'z%considering these device symlinks: %s,z
disk/by-idz)filtered to these disk/by-id symlinks: %szselected %s)is_efi_bootedr   stdoutstripr   
isinstancereasonFileNotFoundErrorLOGdebugstderr	Exceptionr   logexcospathexistssplitjoinsorted)r   devicesprobe_targetprobe_mountedevidevss          ?/usr/lib/python3/dist-packages/cloudinit/config/cc_grub_dpkg.pyfetch_idevsr2      s   
 DG LK!Gyy4;T

& 	( rww~~d++
 IIFH.?F VEEGUW 	 II5sxx7HI%=gs)<ssgG=II9388G;LM")F7OAtEIImU#LY !  ahh 122II788
 ,qxx7IIABB  GCEFG"  
F	

 >sN   3E AG? -	H-;H-G<'5G"&GGG<G<;G<?'H*)H*c                $    V ^8  d   QhR\         /# )   return)bool)formats   "r1   __annotate__r8   c   s     	 	t 	    c                      \         P                  P                  R4      #   \         d"   p \        P                  RT 4        Rp ? R# Rp ? ii ; i)z,
Check if the system is booted in EFI mode.
z/sys/firmware/efiz7Failed to determine if system is booted in EFI mode: %sNF)r%   r&   r'   OSErrorr    error)r.   s    r1   r   r   c   s=    ww~~122 		KQOs   ! AAAc          
      L    V ^8  d   QhR\         R\        R\        R\        RR/# )r4   namecfgcloudargsr5   N)strr   r   list)r7   s   "r1   r8   r8   o   s/     
 
 
6 
% 
t 
 
r9   c                    VP                  R VP                  R/ 4      4      pV'       g   / pVP                  RR4      p\        P                  ! V4      '       d   \        P	                  RW4       R# \        V4      p\        P	                  RV4        \        P                  ! R.VR7       R#   \         d(   p\        P                  ! \        R	T4        Rp?R# Rp?ii ; i)
r   r   enabledFz*%s disabled by config grub_dpkg/enabled=%sNz-Setting grub debconf-set-selections with '%s'zdebconf-set-selections)dataz6Failed to run debconf-set-selections for grub_dpkg: %s)	getr   is_falser    r!   get_debconf_configr   r#   r$   )r>   r?   r@   rA   mycfgrE   	dconf_selr.   s   &&&&    r1   handlerL   o   s    GGKb!9:Eii	5)G}}W		>N"5)III=yI
		+,9= 
I1	
 	

s   B0 0C";CC"c                0    V ^8  d   QhR\         R\        /# )r4   rJ   r5   )r   rB   )r7   s   "r1   r8   r8      s      
  
f  
  
r9   c                   \        4       '       d0   \        P                  ! V RR4      pVf   \        4       pRV,          # \        P                  ! V RR4      pVf   \        4       pV P	                  R4      pVf	   V'       * pM,\        V\        4      '       g   \        P                  ! V4      p\        V4      P                  4       pRV: RV: R2# )	zX
Returns the debconf config for grub-pc or
grub-efi depending on the systems boot mode.
zgrub-efi/install_devicesNz+grub-pc grub-efi/install_devices string %s
zgrub-pc/install_deviceszgrub-pc/install_devices_emptyz'grub-pc grub-pc/install_devices string z/
grub-pc grub-pc/install_devices_empty boolean 
)
r   r   get_cfg_option_strr2   rG   r   r6   translate_boolrB   lower)rJ   r0   idevs_emptys   &  r1   rI   rI      s    
 ''-t
 =ME=EE''/H$O=MEii ?@#)KK..--k:K+&,,. k#	
r9   c                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r4   meta)__conditional_annotations__r   )r7   s   "r1   r8   r8   	   s     ; ; j  <r9   )rV   __doc__loggingr%   	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.settingsr   cloudinit.subpr   rU   	getLogger__name__r    r2   r   rL   rI   r8   )rV   s   @r1   <module>ra      sw    <  	   ! # . + 0 	.(#[9	  !AH	
* 
r9   