+
    ˜qgjõ  ã                   ó  a € R t"0 t R t^ RIt^ RIt^ RIt^ RI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 ]t^þtRR	R
].R]RR./t] ^ k ]P0                  ! ]4      tR tR tR R ltR tR tRR lt R t!R# )z&Power State Change: Change power stateN)ÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚALL_DISTROS)ÚPER_INSTANCEÚidÚcc_power_state_changeÚdistrosÚ	frequencyÚactivate_by_schema_keysÚpower_statec                 ór  €  \         P                  ! 4       '       dn   \        P                  ! R R\        V 4      .4      w  rVP	                  4       ^,          p\
        P                  ! RV4      pV'       d   VP                  ^4      # R# \         P                  ! RV ,          4      #   \         d     R# i ; i)Úprocstatz-cz\d+ (\w|\.|-)+\s+(/\w.+)Nz/proc/%s/cmdline)
r   Ú
is_FreeBSDr   ÚstrÚ
splitlinesÚreÚsearchÚgroupÚload_text_fileÚIOError)ÚpidÚoutputÚ_errÚlineÚms   &    ÚH/usr/lib/python3/dist-packages/cloudinit/config/cc_power_state_change.pyÚgivecmdliner   %   s’   € ðô �?Š?×ÒÜ!ŸYšY¨
°D¼#¸c»(Ð'CÓD‰NˆVØ×$Ñ$Ó& qÕ)ˆDÜ—	’	Ð5°tÓ<ˆAßØ—w‘w˜q“zÐ!áä×&Ò&Ð'9¸CÕ'?Ó@Ð@øÜô Úðús   ‚B' �A*B' Â
B' Â'B6Â5B6c                 ó
  € \        V \        4      '       d   \        P                  R V 4       V # RV ,          p \        P
                  ! V \        V \        4      '       * R7      pVP                  4        VP                  pV^ 8X  d   \        P                  RV4       R# V^8X  d   \        P                  RV4       R# \        P                  RW4       R#   \         d"   p\        P                  RY4        R	p?R# R	p?ii ; i)
zStatic Condition: %szcheck_condition command (%s): )Úshellz%sexited 0. condition met.Tz%sexited 1. condition not met.Fz*%sunexpected exit %s. do not apply change.z%sUnexpected error: %sN)Ú
isinstanceÚboolÚLOGÚdebugÚ
subprocessÚPopenÚlistÚcommunicateÚ
returncodeÚwarningÚ	Exception)ÚcondÚpreÚprocÚretÚes   &    r   Úcheck_conditionr2   :   sÉ   € Ü�$œ×ÒÜ�	‰	Ð(¨$Ô/Øˆà
*¨TÕ
1€CðÜ×Ò ´
¸4ÄÓ0FÔ,FÔGˆØ×ÑÔØ�o‰oˆØ�!Œ8Ü�I‰IÐ2°CÔ8ÙØ�AŒXÜ�I‰IÐ6¸Ô<Ùä�K‰KÐDÀcÔOÙøÜô Ü�‰Ð,¨cÔ5Ýûðús$   ¹A$C ÂC Â>C ÃDÃ!C=Ã=Dc          
      óL   € V ^8„  d   QhR\         R\        R\        R\        RR/# )é   ÚnameÚcfgÚcloudÚargsÚreturnN)r   r   r   r(   )Úformats   "r   Ú__annotate__r;   R   s/   € ÷ !ñ !”ð !œ6ð !¬%ð !´tð !Àñ !ó    c           
      ób  €  \        WP                  4      w  rEpVf   \        P                  R4       R #  TRJ d   \        P                  R4       R # \        P                  ! 4       p\        T4      p	T	'       g   \        P                  R4       R # \        \        P                  R4      p
\        P                  RTRP                  T4      4       \        P                  ! \        TT	TT\         YJ.4       R #   \         d+   p\        P                  R\        T4      4        R p?R # R p?ii ; i)	Nz&no power_state provided. doing nothingz%%s Not performing power state change!Fz3Condition was false. Will not perform state change.z5power_state: failed to get cmdline of current processÚwz#After pid %s ends, will execute: %sÚ )Úload_power_stateÚdistror$   r%   r,   r+   r   ÚosÚgetpidr   ÚopenÚdevnullÚjoinr   Úfork_cbÚrun_after_pid_goneÚexecmd)r5   r6   r7   r8   Úarg_listÚtimeoutÚ	conditionr1   ÚmypidÚcmdlineÚ
devnull_fps   &&&&       r   ÚhandlerP   R   sí   € ðÜ)9¸#¿|¹|Ó)LÑ&ˆ˜IØÒÜ�I‰IÐ>Ô?Ùð ð �EÓÜ�	‰	ÐGÔHÙä�IŠI‹K€Eä˜%Ó €GßÜ�‰ÐKÔLÙä”b—j‘j #Ó&€Jä‡I�IÐ3°U¸C¿H¹HÀXÓ<NÔOä‡L‚LÜØØØØÜØ	Ðöøô' ô Ü�‰Ð;¼SÀ»VÔDÝûðús   ‚1C9 Ã9D.ÄD)Ä)D.c                 ó~  € V P                  R 4      pVf   R# \        V\        4      '       g   \        R4      h. ROpVP                  R4      pWAP                  9  d$   \        RRP                  V4      : RV: R24      hVP                  VVP                  RR	4      VP                  R
4      R7      p \        VP                  RR4      4      pTP                  RR4      p\        T\        \        \        34      '       g   \        R4      hYVT3#   \         d    p\        RTR,          ,          4      ThRp?ii ; i)r   Nzpower_state is not a dict.Úmodez,power_state[mode] required, must be one of: Ú,z
. found: 'z'.ÚdelayÚnowÚmessage)rR   rT   rV   rK   g      >@z(failed to convert timeout '%s' to float.rL   Tz2condition type %s invalid. must be list, bool, str)NNN)ÚhaltÚpoweroffÚreboot)Úgetr"   ÚdictÚ	TypeErrorÚshutdown_options_maprF   Úshutdown_commandÚfloatÚ
ValueErrorr   r(   r#   )	r6   rA   ÚpstateÚmodes_okrR   r8   rK   r1   rL   s	   &&       r   r@   r@   v   s/  € ð �W‰W�]Ó#€Fà‚~Ø!Ð!ä�fœd×#Ò#ÜÐ4Ó5Ð5â-€HØ�:‰:�fÓ€DØ×.Ñ.Ô.Ýà�x‰x˜Ö!£4ð)ó
ð 	
ð
 ×"Ñ"ØØ�j‰j˜ %Ó(Ø—
‘
˜9Ó%ð #ó €DðÜ˜Ÿ
™
 9¨dÓ3Ó4ˆð —
‘
˜;¨Ó-€IÜ�i¤#¤t¬TÐ!2×3Ò3ÜÐLÓMÐMØ˜9Ð%Ð%øô ô ÜØ6¸À	Õ9JÕJó
àð	ûðús   Â5D ÄD<ÄD7Ä7D<c                 ó2   € \         P                  ! V 4       R # ©N)rB   Ú_exit)Úsysexits   &r   Údoexitrg   œ   s   € Ü‡H‚HˆWÖr<   c                 ó  € ^p \         P                  ! V \         P                  V\         P                  R7      pVP	                  V4       VP
                  p\        V4       R#   \         d    \        \        4        L)i ; i)é   )ÚstdinÚstdoutÚstderrN)	r&   r'   ÚPIPEÚSTDOUTr)   r*   r,   rg   Ú	EXIT_FAIL)Úexe_argsr   Údata_inr0   r/   s   &&&  r   rI   rI       sm   € Ø
€Cð
Ü×ÒØÜ—/‘/ØÜ×$Ñ$ô	
ˆð 	×Ñ˜Ô!Ø�o‰oˆô ˆ3†Køô ô ÜŒyÖðús   „AA$ Á$BÂ Bc                 óì  € R p\         P                  ! 4       V,           pR p\        P                  \        P                  3p	 \         P                  ! 4       V8”  d   RV ,          pM7 \        V 4      p
W¡8w  d   RV : RV
: R2pM \         P                  ! R	4       K\  V'       g	   V! R
4       \        P                  V4        \        V4      '       g   R #  V! V!   R #   \         d@   pTP                  T	9   d   RTP                  ,          pMT! RT,          4        R p?K‡  R p?i\         d   pT! RT,          4        R p?LÁR p?ii ; i  \         d   pT! RT,          4        R p?L–R p?ii ; i)Nc                 óN   € \         P                  V 4       \        \        4       R # rd   )r$   r+   rg   ro   )Úmsgs   &r   ÚfatalÚ!run_after_pid_gone.<locals>.fatal·   s   € Ü�‰�CÔÜŒyÖr<   ztimeout reached before %s endedzcmdline changed for z [now: Ú]zpidfile gone [%d]zIOError during wait: %szUnexpected Exception: %sg      Ð?z&Unexpected error in run_after_pid_gonez0Unexpected Exception when checking condition: %s)ÚtimeÚ	monotonicÚerrnoÚENOENTÚESRCHr   r   r,   Úsleepr$   r%   r2   )r   Ú
pidcmdlinerK   rL   Úfuncr8   rt   Úend_timeru   Úknown_errnosrN   Úioerrr1   s   &&&&&&       r   rH   rH   °   s;  € ð €CÜ�~Š~Ó 'Õ)€Hòô —L‘L¤%§+¡+Ð.€Là
Ü�>Š>Ó˜hÔ&Ø3°cÕ9ˆCØð	2Ü! #Ó&ˆGØÕ$Û<?ÃÐI�Øð %ô 	�
Š
�4ÖçÙÐ6Ô7ä‡I�Iˆc„NðFÜ˜y×)Ò)Ùð *ñ
 	ˆ$„Køô/ ô 	Ø�{‰{˜lÔ*Ø)¨E¯K©KÕ7‘áÐ/°%Õ7Ô8Ýûäô 	2ÙÐ,¨qÕ0×1Ñ1ûð	2ûô ô FÙÐ@À1ÕD×EÑEûðFúsB   Á(C  ÃE Ã EÃ+4D%Ä%EÄ2EÄ3EÅEÅE3ÅE.Å.E3c                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )r4   Úmeta)Ú__conditional_annotations__r   )r:   s   "r   r;   r;      s   € × ,Ñ ,÷(ò „jñ ò) -r<   )NN)#r…   Ú__doc__rz   ÚloggingrB   r   r&   rx   Ú	cloudinitr   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.distrosr   Úcloudinit.settingsr   r   ro   r„   Ú	getLoggerÚ__name__r$   r   r2   rP   r@   rg   rI   rH   r;   )r…   s   @r   Ú<module>r�      s—   øðö -ã Û Û 	Û 	Û Û ç  Ý !Ý #Ý .Ý )Ý +à€	à€	ð 	Ð
!Ø�ˆ}Ø�Ø ˜ð	€ó ð ×Ò˜Ó!€òò*õ0!òH#&òLôô /r<   