+
    ˜qgjü  ã                   óÜ   a € R t0 t R t^ RIt^ RIt^ RIH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 ]P&                  ! ]4      tR	R
R].R]R. /t] ^ k RR ltR tR R ltR# )z%Seed Random: Provide random seed dataN)ÚBytesIO)ÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚALL_DISTROS)ÚPER_INSTANCEÚidÚcc_seed_randomÚdistrosÚ	frequencyÚactivate_by_schema_keysc                 óR  € V '       g   R # V'       d   VP                  4       R9   d   \        P                  ! V 4      # VP                  4       R9   d   \        P                  ! V 4      # VP                  4       R9   d   \        P
                  ! V RRR7      # \        RV,          4      h)ó    FN)ÚquietÚdecodez Unknown random_seed encoding: %s)Úraw)Úbase64Úb64)ÚgzipÚgz)Úlowerr   Úencode_textr   Ú	b64decodeÚdecomp_gzipÚIOError)ÚdataÚencodings   &&ÚA/usr/lib/python3/dist-packages/cloudinit/config/cc_seed_random.pyÚ_decoder        s€   € ßÙß�x—~‘~Ó'¨7Ô2Ü×Ò Ó%Ð%Ø	�‰Ó	Ð.Ô	.Ü×Ò Ó%Ð%Ø	�‰Ó	˜^Ô	+Ü×Ò ¨E¸$Ô?Ð?äÐ8¸HÕEÓFÐFr   c                 ój  € V '       g   V'       d   \        R 4      hV '       g   \        P                  R4       R# V ^ ,          p\        P                  ! V4      '       g<   V'       d   \        RP                  VR7      4      h\        P                  RV4       R# \        P                  ! WRR7       R# )z"no command found but required=truezno command providedNz+command '{cmd}' not found but required=true)Úcmdz'command '%s' not found for seed_commandF)Ú
update_envÚcapture)Ú
ValueErrorÚLOGÚdebugr   ÚwhichÚformat)ÚcommandÚrequiredr#   r"   s   &&& r   Úhandle_random_seed_commandr,   -   s   € ß—xÜÐ=Ó>Ð>ßÜ�	‰	Ð'Ô(Ùà
�!�*€CÜ�:Š:�c�?Š?ßÜØ=×DÑDÈÐDÓMóð ô �I‰IÐ?ÀÔEÙÜ‡I‚Iˆg°e×<r   c          
      óL   € V ^8„  d   QhR\         R\        R\        R\        RR/# )é   ÚnameÚcfgÚcloudÚargsÚreturnN)Ústrr   r   Úlist)r)   s   "r   Ú__annotate__r6   @   s/   € ÷ #ñ #”ð #œ6ð #¬%ð #´tð #Àñ #r   c                 óü  € VP                  R / 4      pVP                  RR4      pVP                  RR4      p\        4       pV'       d+   VP                  \        WdP                  R4      R7      4       VP                  P
                  pV'       d4   R V9   d-   VP                  \        P                  ! VR ,          4      4       VP                  4       p\        V4      '       d8   \        P                  RV \        V4      V4       \        P                  ! WV4       VP                  RR	4      p	VP                  R
R4      p
 \        V	V
RV/R7       R	#   \         d   p\        P                  RY›4       ThR	p?ii ; i)Úrandom_seedÚfilez/dev/urandomr   r   r   )r   z0%s: adding %s bytes of random seed entropy to %sr*   NÚcommand_requiredFÚRANDOM_SEED_FILE)r*   r+   r#   z'handling random command [%s] failed: %s)Úgetr   Úwriter    Ú
datasourceÚmetadatar   r   ÚgetvalueÚlenr&   r'   Úappend_filer,   r%   Úwarning)r/   r0   r1   r2   ÚmycfgÚ	seed_pathÚ	seed_dataÚseed_bufr?   r*   ÚreqÚes   &&&&        r   ÚhandlerJ   @   s4  € Ø�G‰G�M 2Ó&€EØ—	‘	˜& .Ó1€IØ—	‘	˜& #Ó&€Iä‹y€HßØ�‰”w˜y·9±9¸ZÓ3HÔIÔJð ×Ñ×(Ñ(€Hß�M XÔ-Ø�‰”t×'Ò'¨°Õ(?Ó@ÔAà×!Ñ!Ó#€IÜ
ˆ9‡~‚~Ü�	‰	Ø>ØÜ�	‹NØô		
ô 	×Ò˜Ô.à�i‰i˜	 4Ó(€GØ
�)‰)Ð&¨Ó
.€CðÜ"ØØØ*¨IÐ6÷	
øô
 ô Ü�‰Ð=¸wÔJØˆûðús   ÅE ÅE;ÅE6Å6E;c                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )r.   Úmeta)Ú__conditional_annotations__r   )r)   s   "r   r6   r6   	   s   € × +Ñ +÷ò „jñ ò ,r   )N)rM   Ú__doc__r   ÚloggingÚior   Ú	cloudinitr   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.distrosr   Úcloudinit.settingsr	   Ú	getLoggerÚ__name__r&   rL   r    r,   rJ   r6   )rM   s   @r   Ú<module>rY      sk   øðö ,ã Û Ý ç  Ý !Ý #Ý .Ý )Ý +à×Ò˜Ó!€ð 	Ð
Ø�ˆ}Ø�Ø˜rð	€ó ô
Gò=÷&#r   