+
    =l jU  ã                   óþ   € ^ RI t ^ RIt^ RIt^ RIHtHtHtHtH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Ht ]P.                  ! ]P0                  ! ]4      4      t. ROtR	tR
 R ltR R ltR R ltR# )é    N)Ú
exceptionsÚlockÚmessagesÚsystemÚutil)r   )ÚFullAutoAttachOptionsÚfull_auto_attach)Ú_is_attached©ÚUAConfig)ÚAUTO_ATTACH_STATUS_MOTD_FILE)ÚnoticesÚstate_filesz./run/ubuntu-advantage/flags/auto-attach-failedc                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚeÚreturn)Ú	ExceptionÚstr)Úformats   "ÚC/usr/lib/python3/dist-packages/uaclient/daemon/retry_auto_attach.pyÚ__annotate__r   )   s   € ÷ 0ñ 0´Ið 0Ä#ñ 0ó    c                 óî  € \        V \        P                  4      '       d+   \        P                  P                  V P                  R 7      # \        V \        P                  4      '       d   \        P                  # \        V \        P                  4      '       d+   \        P                  P                  V P                  R7      # \        V \        P                  4      '       d+   \        P                  P                  V P                  R7      # \        V \        P                  4      '       dT   \        P                   P                  V P"                  R7      RP                  \%        V P&                  4      4      ,           # \        V \        P(                  4      '       d   RP                  V P*                  4      # \,        P/                  RV R7       \%        V 4      ;'       g    \        P0                  # ))Údetail)Úpid)Ú	error_msg)Úurlz: "{}"z"{}"zUnexpected exception)Úexc_info)Ú
isinstanceÚapi_exceptionsÚInvalidProImager   Ú$RETRY_ERROR_DETAIL_INVALID_PRO_IMAGEr   r   ÚNonAutoAttachImageErrorÚ(RETRY_ERROR_DETAIL_NON_AUTO_ATTACH_IMAGEÚLockHeldErrorÚRETRY_ERROR_DETAIL_LOCK_HELDr   ÚContractAPIErrorÚ%RETRY_ERROR_DETAIL_CONTRACT_API_ERRORÚbodyÚConnectivityErrorÚ RETRY_ERROR_DETAIL_URL_ERROR_URLr   r   Úcause_errorÚUbuntuProErrorÚmsgÚLOGÚerrorÚUNKNOWN_ERROR)r   s   &r   Ú,full_auto_attach_exception_to_failure_reasonr3   )   sl  € Ü�!”^×3Ñ3×4Ò4Ü×<Ñ<×CÑCØ—;‘;ð Dó 
ð 	
ô 
�A”~×=Ñ=×	>Ò	>Ü×@Ñ@Ð@Ü	�A”~×3Ñ3×	4Ò	4Ü×4Ñ4×;Ñ;ÀÇÁÐ;ÓFÐFÜ	�A”~×6Ñ6×	7Ò	7Ü×=Ñ=×DÑDØ—f‘fð Eó 
ð 	
ô 
�A”~×7Ñ7×	8Ò	8Ü×8Ñ8×?Ñ?Ø—‘ð @ó 
à�O‰OœC §¡Ó.Ó/õ0ð 	0ô 
�A”~×4Ñ4×	5Ò	5Ø�}‰}˜QŸU™UÓ#Ð#ä�	‰	Ð(°1ˆ	Ô5Ü�1‹v×/Ð/œ×/Ñ/Ð/r   c                ó$   € V ^8„  d   QhR\         /# )r   Úcfgr   )r   s   "r   r   r   A   s   € ÷ 	ñ 	”ñ 	r   c                 ój  € \         P                  P                  4        \         P                  P                  4        \        P
                  ! \        4       \        P                  ! \        P                  P                  4       \        P                  ! \        P                  P                  4       R # )N)r   Úretry_auto_attach_state_fileÚdeleteÚretry_auto_attach_options_filer   Úensure_file_absentr   r   ÚremoveÚNoticeÚAUTO_ATTACH_RETRY_FULL_NOTICEÚAUTO_ATTACH_RETRY_TOTAL_FAILURE)r5   s   &r   Úcleanupr?   A   si   € Ü×,Ñ,×3Ñ3Ô5Ü×.Ñ.×5Ñ5Ô7Ü
×ÒÔ:Ô;Ü‡N‚NÜ�‰×4Ñ4ôô ‡N‚NÜ�‰×6Ñ6ör   c                ó(   € V ^8„  d   QhR\         RR/# )r   r5   r   Nr   )r   s   "r   r   r   M   s   € ÷ l
ñ l
œ8ð l
¨ñ l
r   c           
      ó„	  € \        V 4      P                  '       d   R # \        P                  P	                  4       pVe#   VP
                  p\        VR  pVP                  pM
^ p\        pR p\        V4       EF8  w  rV\        P                  P                  \        P                  P                  4      pV\        P                  ! VR7      ,           pVP                  ^ ^ R7      p\        P                  P                  \        P                   ! W%,           VR7      4       Tp	V	f   \"        P$                  p	 VP'                  4       p\"        P*                  P-                  W%,           ^,           V	VP/                  4       R7      p
\0        P2                  ! \4        RV
,           R,           4        \6        P8                  ! RR7      ;_uu_ 4        \:        P<                  ! \:        P>                  P@                  W%,           ^,           V	VP/                  4       R7       R R R 4       \F        PH                  ! T4       \        T 4      P                  '       d    M^ \        PJ                  P	                  4       p\M        4       pTe#   TPN                  Tn'        TPP                  Tn(        \S        T4        M	  \g        V 4       \        V 4      P                  '       gþ   \        P                  P                  \        P                   ! \i        \        4      VR7      4       Tp	V	f   \"        P$                  p	\"        Pj                  P-                  \i        \        4      ^,           V	R
7      p
\0        P2                  ! \4        RV
,           R,           4       \:        P<                  ! \:        P>                  Pl                  \i        \        4      ^,           V	R
7       R # R #   \(         d     EL i ; i  + '       g   i     ELÙ; i  \B        PD                   d     ELôi ; i  \T        PV                   d    \X        P[                  R	4         EK–  \T        P\                   d-   p\X        P_                  TP`                  4        R p? EKÑ  R p?i\(         d-   p\c        T4      p\X        Pe                  T4        R p?EKC  R p?ii ; i)N)Úseconds)ÚsecondÚmicrosecond)Úinterval_indexÚfailure_reason)Únum_attemptsÚreasonÚnext_run_datestringÚ
z

z+pro.daemon.retry_auto_attach.notice_updates)Úlock_holderz&already attached, ending retry service)rG   rH   )7r
   Úis_attachedr   r7   ÚreadrE   ÚRETRY_INTERVALSrF   Ú	enumerateÚdatetimeÚnowÚtimezoneÚutcÚ	timedeltaÚreplaceÚwriteÚRetryAutoAttachStater   r2   Ú
astimezoner   ÚAUTO_ATTACH_RETRY_NOTICEr   Ú	isoformatr   Ú
write_filer   r   Ú	RetryLockr   Úaddr<   r=   r   r&   ÚtimeÚsleepr9   r   ÚenableÚenable_betar	   r!   ÚAlreadyAttachedErrorr0   ÚinfoÚEntitlementsNotEnabledErrorÚwarningr/   r3   r1   r?   ÚlenÚ&AUTO_ATTACH_RETRY_TOTAL_FAILURE_NOTICEr>   )r5   Úpersisted_stateÚoffsetÚ	intervalsrF   ÚindexÚintervalÚlast_attemptÚnext_attemptÚ
msg_reasonÚauto_attach_status_msgÚpersisted_optionsÚoptionsr   s   &             r   Úretry_auto_attachrs   M   sº  € ä�CÓ×$×$Ð$Ùô "×>Ñ>×CÑCÓE€OØÒ"à ×/Ñ/ˆÜ# F GÐ,ˆ	Ø(×7Ñ7‰àˆÜ#ˆ	Øˆä$ Y×/‰ˆÜ×(Ñ(×,Ñ,¬X×->Ñ->×-BÑ-BÓCˆØ#¤h×&8Ò&8ÀÔ&JÕJˆØ#×+Ñ+°1À!Ð+ÓDˆÜ×0Ñ0×6Ñ6Ü×,Ò,Ø%�~Ø-ôô	
ð $ˆ
ØÒÜ!×/Ñ/ˆJð	Ø'×2Ñ2Ó4ˆLô "*×!BÑ!B×!IÑ!IØ�¨!Õ+ØØ ,× 6Ñ 6Ó 8ð "Jó "
Ðô
 	×ÒÜ(ØÐ)Õ)¨FÕ2ô	
ð	Ü—’ØI÷ö ô —’Ü—N‘N×@Ñ@Ø!'¥°!Õ!3Ø%Ø(4×(>Ñ(>Ó(@õ	÷ô 	�
Š
�8Ôä˜Ó×(×(Ð(áð	ä×:Ñ:×?Ñ?ÓAð ô ,Ó-ˆGØ Ò,Ø!2×!9Ñ!9�”Ø&7×&CÑ&C�Ô#Ü˜WÔ%Ùñm 0ôB ˆC„Lä˜Ó×(×(Ð(ä×0Ñ0×6Ñ6Ü×,Ò,Ü"¤?Ó3Ø-ôô	
ð $ˆ
ØÒÜ!×/Ñ/ˆJä×;Ñ;×BÑBÜ ¤Ó1°AÕ5¸jð Có ð 	ô
 	×ÒÜ(ØÐ)Õ)¨FÕ2ô	
ô 	�ŠÜ�N‰N×:Ñ:Üœ_Ó-°Õ1Ø÷	
ñ) )øôi ô 	Úð	ú÷÷ ð ûô ×'Ñ'ô 	Úð	ûô& ×2Ñ2ô 	Ü�H‰HÐ=Ô>ÜÜ×9Ñ9ô 	Ü�K‰K˜Ÿ™ÔßûÜô 	ÜIÈ!ÓLˆNÜ�I‰I�a�L‹Lûð	úsz   Ä7OÆ.O?ÇAO+ÈO?ÉAPÏO(Ï'O(Ï+O<Ï6O?Ï<O?Ï?PÐPÐ*R?Ñ
R?ÑR?ÑRÒR?ÒR?Ò R:Ò:R?)é„  rt   i  i  i   i@8  é€p  ru   é€Q rv   é £ rw   é€ô rx   é F ry   é€— rz   ) rP   Úloggingr^   Úuaclientr   r   r   r   r   Úuaclient.apir!   Ú2uaclient.api.u.pro.attach.auto.full_auto_attach.v1r   r	   Ú(uaclient.api.u.pro.status.is_attached.v1r
   Úuaclient.configr   Úuaclient.daemonr   Úuaclient.filesr   r   Ú	getLoggerÚreplace_top_level_logger_nameÚ__name__r0   rN   ÚFLAG_FILE_PATHr3   r?   rs   © r   r   Ú<module>rˆ      se   ðÛ Û Û ç =Õ =Ý 5÷õ BÝ $Ý 8ß /à×Ò˜×:Ò:¸8ÓDÓE€ò€ð( B€õ0õ0	÷l
r   