+
    "i                        R t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht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IHtHt ^RIHt R R lt ! R R]]4      tR# )zUpdate entities for HACS.)annotations)Any)UpdateEntityUpdateEntityFeature)ConfigEntry)HomeAssistantHomeAssistantErrorcallback)async_dispatcher_connect)AddEntitiesCallback)HacsBase)DOMAIN)HacsRepositoryEntity)HacsCategoryHacsDispatchEvent)HacsExceptionc               (    V ^8  d   QhRRRRRRRR/# )	   hassr   entryr   async_add_entitiesr   returnNone )formats   "(/config/custom_components/hacs/update.py__annotate__r      s,      
 +AT	    c                   a"   V P                   \        ,          oV! V3R lSP                  P                   4       4       R# 5i)zSetup update platform.c              3  >   <"   T F  p\        SVR 7      x  K  	  R# 5i))hacs
repositoryN)HacsRepositoryUpdateEntity).0r!   r    s   & r   	<genexpr>$async_setup_entry.<locals>.<genexpr>   s"      ;J 	#DD;s   N)datar   repositorieslist_downloaded)r   r   r   r    s   &&&@r   async_setup_entryr)      s7      YYv&D ++;; s   A Ac                  x  a  ] tR t^tRt]P                  ]P                  ,          ]P                  ,          ]P                  ,          t
]R R l4       t]R R l4       t]R R l4       t]R R	 l4       t]R
 R l4       t]R R l4       tR R ltR R ltR V 3R llt]R R l4       t]R R l4       tRtV ;t# )r"   z6Update entities for repositories downloaded with HACS.c                   V ^8  d   QhRR/# r   r   
str | Noner   )r   s   "r   r   'HacsRepositoryUpdateEntity.__annotate__*   s     8 8j 8r   c                4    V P                   P                   R2# )zReturn the name.z update)r!   display_nameselfs   &r   nameHacsRepositoryUpdateEntity.name)   s     //../w77r   c                   V ^8  d   QhRR/# r   r   strr   )r   s   "r   r   r.   /   s     9 9 9r   c                .    V P                   P                  # )z$Return latest version of the entity.)r!   display_available_versionr1   s   &r   latest_version)HacsRepositoryUpdateEntity.latest_version.        888r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r.   4   s     e eS er   c                    V P                   P                  R8X  d$   RV P                   P                  P                   2# RV P                   P                  P                   RV P                   2# )z#Return the URL of the release page.commitzhttps://github.com/z
/releases/)r!   display_version_or_commitr&   	full_namer:   r1   s   &r   release_url&HacsRepositoryUpdateEntity.release_url3   s_     ??44@()=)=)G)G(HII$T__%9%9%C%C$DJtObObNcddr   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r.   ;   s     9 93 9r   c                .    V P                   P                  # )z(Return downloaded version of the entity.)r!   display_installed_versionr1   s   &r   installed_version,HacsRepositoryUpdateEntity.installed_version:   r<   r   c                   V ^8  d   QhRR/# r,   r   )r   s   "r   r   r.   @   s       r   c                B    V P                   P                  '       d   R# R# )zReturn the release summary.zJ<ha-alert alert-type='error'>Restart of Home Assistant required</ha-alert>N)r!   pending_restartr1   s   &r   release_summary*HacsRepositoryUpdateEntity.release_summary?   s     ??***_r   c                   V ^8  d   QhRR/# r,   r   )r   s   "r   r   r.   G   s     \ \
 \r   c                    V P                   P                  P                  \        P                  8w  g#   V P                   P                  P
                  f   R# RV P                   P                  P
                   R2# )z1Return the entity picture to use in the frontend.Nz#https://brands.home-assistant.io/_/z	/icon.png)r!   r&   categoryr   INTEGRATIONdomainr1   s   &r   entity_picture)HacsRepositoryUpdateEntity.entity_pictureF   s\     OO  ))\-E-EE##**24T__5I5I5P5P4QQZ[[r   c               (    V ^8  d   QhRRRRRRRR/# )	r   versionr-   backupboolkwargsr   r   r   r   )r   s   "r   r   r.   Q   s)     	? 	?: 	?t 	?s 	?W[ 	?r   c                  "   T;'       g    V P                   pW@P                  8X  d;   \        RV P                   RV P                  P                  P
                   R24      h V P                  P                  T;'       g    V P                   R7      G Rj  xL
  R#  L  \         d   p\        T4      ThRp?ii ; i5i)zInstall an update.zVersion z of z is already downloaded)refN)r:   rG   r   r!   r&   rA   async_download_repositoryr   )r2   rV   rW   rY   to_download	exceptions   &&&,  r   async_install(HacsRepositoryUpdateEntity.async_installQ   s     44!4!4000$x0F0F/Gt%)__%9%9%C%CLEDZ&\ ] ]	?//;;@^@^4K^K^;___ 	?$Y/Y>	?sB   A!B?$B  B  BB  B?B   B<+B77B<<B?c                   V ^8  d   QhRR/# r,   r   )r   s   "r   r   r.   \   s     *5 *5: *5r   c                  "   V P                   P                  '       d   R# V P                  V P                   P                  P                  9  Ed   V P                   P                  V P                   P                  P                  V P                  P                  P                  R7      G Rj  xL
 pV'       d   RV P                   P                  n
        WP                   P                  n        V Uu. uF  q"P                  NK  	  upV P                   P                  n        \        \        V P                   P                  P                  4      4      V P                   P                  n        RpV P                   V P                   P                  P                  9   d   V P                   P                  P                   F  pVP                  V P                   8X  d    MVRVP                   2,          pVP                  VP"                  8w  d   VRVP"                   2,          pVRVP$                   2,          pVR,          pK  	  Mf\'        V P                   P                  P                  4      '       d8   W0P                   P                  P                  ^ ,          P$                  ,          pV P                   P(                  '       dy   V P                   P                  P*                  \,        P.                  8X  d
   VR	,          pV P                   P                  P*                  \,        P0                  8X  d
   VR
,          pVP3                  RR4      #  ELu upi 5i)zReturn the release notes.N)
prereleasereturnlimitT z# z  - z

z

---

zi

<ha-alert alert-type='warning'>You need to restart Home Assistant manually after updating.</ha-alert>

zk

<ha-alert alert-type='warning'>You need to manually clear the frontend cache after updating.</ha-alert>

z
#z

#)r!   rK   r:   r&   published_tagsget_releases	show_betar    configurationrelease_limitreleasesobjectstag_namenextiterlast_versionrG   r3   bodyanypending_updaterP   r   rQ   PLUGINreplace)r2   rk   xrelease_notesreleases   &    r   async_release_notes.HacsRepositoryUpdateEntity.async_release_notes\   sq    ??***doo&:&:&I&II!__99??//99 II33AA :  H 04$$-3;((0KS6T8azz86T$$348doo>R>R>a>a9b4c$$1!!T__%9%9%H%HH??33;;##t'='==2g&6&6%7!88##w||3!tGLL>%::M4~!66. < ))1122__55==a@EEEM??)))##,,0H0HHN ##,,0C0CCO
 $$UG44I 7Us2   B+M-M.M:9M3MGMBMMc                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r.      s     	
 	
4 	
r   c                   <"   \         SV `  4       G Rj  xL
  V P                  \        V P                  \
        P                  V P                  4      4       R#  LD5i)zRegister for status events.N)superasync_added_to_hassasync_on_remover
   r   r   REPOSITORY_DOWNLOAD_PROGRESS_update_download_progress)r2   	__class__s   &r   r~   .HacsRepositoryUpdateEntity.async_added_to_hass   sK     g)+++$		!>>..	
 	,s   AAAAc                    V ^8  d   QhRRRR/# )r   r&   dictr   r   r   )r   s   "r   r   r.      s     < <d <t <r   c                    VR,          V P                   P                  P                  8w  d   R# V P                  VR,          R7       R# )Update the download progress.r!   Nprogress)r   )r!   r&   rA   _update_in_progress)r2   r&   s   &&r   r   4HacsRepositoryUpdateEntity._update_download_progress   s:     !5!5!?!??  $z*: ;r   c                    V ^8  d   QhRRRR/# )r   r   z
int | boolr   r   r   )r   s   "r   r   r.      s     $ $J $4 $r   c                2    Wn         V P                  4        R# )r   N)_attr_in_progressasync_write_ha_state)r2   r   s   &&r   r   .HacsRepositoryUpdateEntity._update_in_progress   s     "*!!#r   )r   )__name__
__module____qualname____firstlineno____doc__r   INSTALLSPECIFIC_VERSIONPROGRESSRELEASE_NOTES_attr_supported_featurespropertyr3   r:   rB   rG   rL   rS   r_   ry   r~   r	   r   r   __static_attributes____classcell__)r   s   @r   r"   r"      s    @ 	##

.
.	/

&
&	' 
+
+	,  8 8 9 9 e e 9 9   \ \	?*5X	
 	
 < < $ $r   r"   N)r   
__future__r   typingr   homeassistant.components.updater   r   homeassistant.config_entriesr   homeassistant.corer   r   r	    homeassistant.helpers.dispatcherr
   %homeassistant.helpers.entity_platformr   baser   constr   entityr   enumsr   r   
exceptionsr   r)   r"   r   r   r   <module>r      sE     "  M 4 J J E E   ( 2 %$!5| $r   