+
    ÷¢iÖ  ã                   ó–   € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ]P                  ! ]4      t ! R R4      tR# )	é    N)ÚOptional)ÚDistro)ÚPathsÚRunners)Úevents)Ú
DataSourcec                   ó°   a € ] tR t^t o RV 3R lR llt]R 4       tRR ltR tRR lt	R t
]R	 4       tR
 tR tRR ltR tRR ltRR ltRR ltRtV tR# )ÚCloudNc                ób   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[RS[S[P                  ,          /# )é   Ú
datasourceÚpathsÚcfgÚdistroÚrunnersÚreporter)r   r   Údictr   r   r   r   ÚReportEventStack)ÚformatÚ__classdict__s   "€Ú1/usr/lib/python3/dist-packages/cloudinit/cloud.pyÚ__annotate__ÚCloud.__annotate__    sR   ø€ ÷ !ñ !áð!ñ ð!ñ ð	!ñ
 ð!ñ ð!ñ ™6×2Ñ2Õ3ñ!ó    c                óˆ   € Wn         W n        W@n        W0n        WPn        Vf   \
        P                  ! RRRR7      pW`n        R # )Nzunnamed-cloud-reporterF)ÚnameÚdescriptionÚreporting_enabled)r   r   r   Ú_cfgÚ_runnersr   r   r   )Úselfr   r   r   r   r   r   s   &&&&&&&r   Ú__init__ÚCloud.__init__    sC   € ð %ŒØŒ
ØŒØŒ	ØŒØÒÜ×.Ò.Ø-Ø4Ø"'ôˆHð
 !Žr   c                óB   € \         P                  ! V P                  4      # ©N)ÚcopyÚdeepcopyr   ©r!   s   &r   r   Ú	Cloud.cfg6   s   € ô }Š}˜TŸY™YÓ'Ð'r   c                ó<   € V P                   P                  WW4V4      # )a§  Run a function gated by a named semaphore for a desired frequency.

The typical case for this method would be to limit running of the
provided func to a single well-defined frequency:
    PER_INSTANCE, PER_BOOT or PER_ONCE

The semaphore provides a gate that persists across cloud-init
boot stage boundaries so multiple modules can share this state
even if they happen to be run in different boot stages or across
reboots.
)r    Úrun)r!   r   ÚfunctorÚargsÚfreqÚclear_on_fails   &&&&&&r   r+   Ú	Cloud.run;   s   € ð }‰}× Ñ  °¸MÓJÐJr   c                óö   € V P                   P                  V,          p\        P                  P	                  V4      '       g7   \
        P                  R \        P                  P                  V4      V4       R# V# )z-No template found in %s for template named %sN)r   Útemplate_tplÚosÚpathÚisfileÚLOGÚwarningÚdirname)r!   r   Úfns   && r   Úget_template_filenameÚCloud.get_template_filenameI   sU   € ØZ‰Z×$Ñ$¨Õ-ˆÜw‰w~‰~˜b×!Ò!ÜK‰KØ?Ü—‘—‘ Ó#Øôñ
 Øˆ	r   c                ó8   € V P                   P                  V4      # r%   )r   Úget_userdata)r!   Úapply_filters   &&r   r=   ÚCloud.get_userdataU   s   € Ø‰×+Ñ+¨LÓ9Ð9r   c                ó6   € V P                   P                  4       # r%   )r   Úget_instance_idr(   s   &r   rA   ÚCloud.get_instance_idX   s   € Ø‰×.Ñ.Ó0Ð0r   c                ó.   € V P                   P                  # r%   )r   Úlaunch_indexr(   s   &r   rD   ÚCloud.launch_index[   s   € à‰×+Ñ+Ð+r   c                ó6   € V P                   P                  4       # r%   )r   Úget_public_ssh_keysr(   s   &r   rG   ÚCloud.get_public_ssh_keys_   s   € Ø‰×2Ñ2Ó4Ð4r   c                ó6   € V P                   P                  4       # r%   )r   Ú
get_localer(   s   &r   rJ   ÚCloud.get_localeb   s   € Ø‰×)Ñ)Ó+Ð+r   c                ó:   € V P                   P                  WR 7      # ))ÚfqdnÚmetadata_only)r   Úget_hostname)r!   rM   rN   s   &&&r   rO   ÚCloud.get_hostnamee   s!   € Ø‰×+Ñ+Øð ,ó 
ð 	
r   c                ó8   € V P                   P                  V4      # r%   )r   Údevice_name_to_device©r!   r   s   &&r   rR   ÚCloud.device_name_to_devicej   s   € Ø‰×4Ñ4°TÓ:Ð:r   c                ó8   € V P                   P                  V4      # r%   )r   Úget_ipath_currS   s   &&r   rV   ÚCloud.get_ipath_curm   s   € Øz‰z×'Ñ'¨Ó-Ð-r   c                ó8   € V P                   P                  V4      # r%   )r   Ú	get_cpathrS   s   &&r   rY   ÚCloud.get_cpathp   ó   € Øz‰z×#Ñ# DÓ)Ð)r   c                ó8   € V P                   P                  V4      # r%   )r   Ú	get_ipathrS   s   &&r   r]   ÚCloud.get_ipaths   r[   r   )r   r    r   r   r   r   r%   )NF)T)FF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   Úpropertyr   r+   r:   r=   rA   rD   rG   rJ   rO   rR   rV   rY   r]   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      st   ø‡ € ÷!ò !ð, ñ(ó ð(ôKò	ô:ò1ð ñ,ó ð,ò5ò,ô
ò
;ô.ô*÷*ò *r   r
   )r&   Úloggingr3   Útypingr   Úcloudinit.distrosr   Úcloudinit.helpersr   r   Úcloudinit.reportingr   Úcloudinit.sourcesr   Ú	getLoggerr_   r6   r
   © r   r   Ú<module>rn      s;   ðó Û Û 	Ý å $ß ,Ý &Ý (à×Ò˜Ó!€÷U*ó U*r   