+
    iHàj¦:  ã                  ó¾  a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHtHtHtHt ^ RIHtHtHt ^ RIHtHtHtHtHtHtHtHt ]P<                  ! ]4      t ^t!Rt"R7t#]$]%]%]%]%3,          t&Rt'R	 R
 lt(]! ]'](R7      t)R]*R&   ])PV                  t,Rt-]P\                  R83]P^                  R93]P`                  R:3]Pb                  R;3]Pd                  R<33t3R R lt4R R lt5R R lt6R R lt7R=R R llt8R R lt9R R lt:RRRR/R  R! llt;RRR"]"R#RR$RR%R&R'R(R)R/R* R+ llt<R, R- lt=R.RRRR/]"R$RR0R&R'R(R)R/R1 R2 llt> ! R3 R4]4      t?R>R5 R6 llt@]@tAR# )?u  1Password (`op` CLI) secret source.

Users map env-var names to ``op://vault/item/field`` references in
``secrets.onepassword.env``; each is resolved with one ``op read -- <ref>``
call using whatever auth the user's ``op`` already has (``OP_SERVICE_ACCOUNT_TOKEN``
headless, ``OP_SESSION_*`` interactive) â€” Hermes never authenticates on the
user's behalf, and failures never block startup. Complete pulls are cached
in-process and under ``<hermes_home>/cache/op_cache.json`` (values only; auth
material is fingerprinted, never stored).
)ÚannotationsN)ÚPath)ÚDictÚListÚOptionalÚTuple)ÚCachedFetchÚSecretCacheÚfingerprint)Ú	ErrorKindÚFetchResultÚSecretSourceÚclassify_cli_errorÚcoerce_floatÚget_source_environmentÚis_valid_env_nameÚrun_cliÚOP_SERVICE_ACCOUNT_TOKENzop_cache.jsonc               ó    € V ^8„  d   QhRRRR/# )é   Ú	cache_keyÚ	_CacheKeyÚreturnÚstr© )Úformats   "ÚE/home/ubuntu/.hermes/hermes-agent/agent/secret_sources/onepassword.pyÚ__annotate__r   7   s   € ÷ ,ñ ,˜Yð ,¨3ñ ,ó    c                ó    € V w  rr4V R V R V 2# )Ú|r   )r   Úauth_fpÚaccountÚ_homeÚrefs_fps   &    r   Ú_disk_key_strr%   7   s#   € Ø'0Ñ$€G�eØˆY�a˜�y  ' Ð+Ð+r   )Úkey_serializerzSecretCache[_CacheKey]Ú_STOREzyInstall the 1Password CLI (https://developer.1password.com/docs/cli/get-started/) or set secrets.onepassword.binary_path.c               ó    € V ^8„  d   QhRRRR/# )r   Úmessager   r   r   r   )r   s   "r   r   r   O   s   € ÷ 8ñ 8 ð 8¨	ñ 8r   c                ó"   € \        V \        4      # ©N)r   Ú_OP_ERROR_RULES)r)   s   &r   Ú_classify_op_errorr-   O   s   € Ü˜g¤Ó7Ð7r   c               ó    € V ^8„  d   QhRRRR/# )r   Ú
referencesúOptional[dict[str, str]]r   ú tuple[dict[str, str], list[str]]r   )r   s   "r   r   r   S   s   € ÷ ñ Ð%=ð ÐBbñ r   c                óª  € / p. pT ;'       g    / P                  4        F¯  w  r4\        V4      '       g   VP                  RV: R24       K.  \        V\        4      '       g   VP                  RV: R24       K\  VP                  4       P                  R4      '       g   VP                  RV: RV: R24       K�  VP                  4       W&   K±  	  W3# )zU``(valid_refs, warnings)``: keep valid env names bound to stripped ``op://`` strings.z	Skipping z: not a valid env-var namez: reference is not a stringzop://ú: z! is not an op:// secret reference)Úitemsr   ÚappendÚ
isinstancer   ÚstripÚ
startswith)r/   ÚvalidÚwarningsÚnameÚrefs   &    r   Ú_validate_referencesr=   S   s·   € à€EØ€HØ ×&Ð& B×-Ñ-Ö/‰	ˆÜ  ×&Ò&Ø�O‰O˜i¨¡xÐ/IÐJÖKÜ˜C¤×%Ò%Ø�O‰O˜i¨¡xÐ/JÐKÖLØ—‘“×'Ñ'¨×0Ò0Ø�O‰O˜i¨¡x¨r°#±Ð8YÐZÖ[àŸ)™)›+ˆE‹Kñ 0ð ˆ?Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   Ú	token_envr   r   r   )r   s   "r   r   r   c   s   € ÷ *ñ * ð *¨ñ *r   c           
     óJ  € \        4       pRV 3RRR3 UUu. uF  w  r#V RVP                  VR4       2NK  	  pppT\        V4       Uu. uF(  qUP                  R4      '       g   K  V RW,           2NK*  	  up,          p\	        RP                  V4      4      # u uppi u upi )	z£SHA-256 prefix over everything `op` would authenticate with (token, account,
Connect host/token, ``OP_SESSION_*``), so a new identity never sees old cached values.ÚtokenÚ=Ú ÚOP_SESSION_Ú
)r"   Ú
OP_ACCOUNT)Úconnect_hostÚOP_CONNECT_HOST)Úconnect_tokenÚOP_CONNECT_TOKEN)r   ÚgetÚsortedr8   Ú_fingerprintÚjoin)r?   Ú
source_envÚlabelÚvarÚpartsÚkeys   &     r   Ú_auth_fingerprintrT   c   s»   € ô (Ó)€Jà	�)ÐÐ7Ø+Ð-RñPTô Uñ PTÁÀ˜5˜'  :§>¡>°#°rÓ#:Ð";Ó<ñ PT€Eñ Uð 
´F¸:Ô4FÓhÑ4F¨SÏ.É.ÐYf×JgÔ(���Q�z•Ð'Ó(Ñ4FÑhÕh€EÜ˜Ÿ	™	 %Ó(Ó)Ð)ùó	Uùò is   –"BÁ	B Á&B c               ó    € V ^8„  d   QhRRRR/# )r   r/   údict[str, str]r   r   r   )r   s   "r   r   r   n   s   € ÷ `ñ ` .ð `°Sñ `r   c                ó^   a € \        R P                  V 3R l\        S 4       4       4      4      # )rE   c              3  ó>   <"  € T F  q R SV,           2x € K  	  R# 5i)rB   Nr   )Ú.0r;   r/   s   & €r   Ú	<genexpr>Ú$_refs_fingerprint.<locals>.<genexpr>o   s"   øé € Ð!^ÑK]À4 F¨!¨J°tÕ,<Ð+=Õ">ÓK]ùs   ƒ)rM   rN   rL   )r/   s   fr   Ú_refs_fingerprintr\   n   s#   ø€ Ü˜Ÿ	™	Ô!^Ì6ÐR\ÔK]Ó!^Ó^Ó_Ð_r   rC   c               ó    € V ^8„  d   QhRRRR/# )r   Úbinary_pathr   r   úOptional[Path]r   )r   s   "r   r   r   r   s   € ÷ ñ ˜ð  nñ r   c                óÒ   € T ;'       g    \         P                  ! R4      pV'       d4   V '       d.   \        P                  ! V \        P                  4      '       g   R# \        V4      # )u˜   Resolve a usable ``op`` binary, or None. A pinned ``binary_path`` is used
verbatim â€” pinned-but-missing returns None rather than falling back to PATH.ÚopN)ÚshutilÚwhichÚosÚaccessÚX_OKr   )r^   Úfounds   & r   Úfind_oprh   r   s@   € ð ×-Ð-œ6Ÿ<š<¨Ó-€Eß—[¬¯ª°;ÄÇÁ×)HÒ)HÙÜ�‹;Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   Útextr   r   r   )r   s   "r   r   r   {   s   € ÷ 8ñ 8�ð 8˜ñ 8r   c                óZ   € ^ RI Hp V! V 4      P                  RR4      P                  4       # )z`Full ECMA-48 ANSI strip (so a control sequence can't hide text after a redaction marker) + trim.)Ú
strip_ansiÚrC   )Útools.ansi_striprl   Úreplacer7   )rj   rl   s   & r   Ú_scrubrp   {   s&   € å+á�dÓ×#Ñ# F¨BÓ/×5Ñ5Ó7Ð7r   c               ó    € V ^8„  d   QhRRRR/# )r   Útoken_valuer   r   rV   r   )r   s   "r   r   r   ‚   s   € ÷ ñ ˜sð  ~ñ r   c                óÚ   € \        4       p\         Uu/ uF  q"V9   g   K  W!V,          bK  	  ppVP                  R  VP                  4        4       4       V '       d   WR&   RVR&   V# u upi )c              3  ó^   "  € T F#  w  rVP                  R 4      '       g   K  W3x € K%  	  R# 5i)rD   N)r8   )rY   ÚkÚvs   &  r   rZ   Ú _op_child_env.<locals>.<genexpr>…   s#   é € ÐTÑ"4™$˜!¸¿¹À]×8SŒv��vÓ"4ùs   ‚-¢-r   Ú1ÚNO_COLOR)r   Ú_OP_ENV_ALLOWLISTÚupdater4   )rr   rO   ru   Úenvs   &   r   Ú_op_child_envr}   ‚   si   € Ü'Ó)€JÝ%6Ó
JÑ%6 ¸z¹/Ôˆ1˜�mÒÑ%6€CÐ
JØ‡J�JÑT *×"2Ñ"2Ô"4ÓTÔTßØ*5Ð&Ñ'Ø€Cˆ
�OØ€Jùò Ks
   “A( A(r"   rr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )r   ra   r   Ú	referencer   r"   rr   r   r   )r   s   "r   r   r   Œ   s0   € ÷ ñ �Tð  cð °sð Ècð Ð[^ñ r   c          
     ó  € \        V 4      R.pV'       d   VRV.,          pVRV.,          p\        V\        V4      \        RR\         RV: 2RR7      pVP                  ^ 8w  d]   \        VP                  ;'       g    R	4      R
,          pV'       d   \        RV: RV 24      h\        RVP                   RV: 24      hVP                  ;'       g    R	P                  R4      pVP                  4       '       g   \        RV: 24      hV# )z£Resolve one ``op://`` reference; raises ``RuntimeError`` on any failure, including
an exit-0 empty value (applying it would clobber a good credential with ``""``).Úreadz	--accountz--ra   zop read timed out after zs for N)r|   ÚtimeoutrP   Útimeout_messageÚstdinrC   :NéÈ   Nzop read failed for r3   zop read exited z for z
z$op read returned an empty value for )r   r   r}   Ú_OP_RUN_TIMEOUTÚ
returncoderp   ÚstderrÚRuntimeErrorÚstdoutÚrstripr7   )ra   r   r"   rr   ÚcmdÚprocÚerrÚvalues   &&$$    r   Ú_run_op_readr�   Œ   s  € ô ˜"“g˜vÐ&€CßØ�˜WÐ%Õ%ˆØˆD�)ÐÕ€Cä�3œM¨+Ó6ÄÐW[Ø%=¼oÐ=NÈfÐU^ÑTaÐ#bÐjnôp€Dð ‡�˜!ÔÜ�T—[‘[×&Ð& BÓ'¨Õ-ˆßÜÐ!4°Y±MÀÀCÀ5ÐIÓJÐJÜ˜_¨T¯_©_Ð,=¸UÀ9Á-ÐPÓQÐQð �[‰[×Ð˜B×&Ñ& vÓ.€EØ�;‰;�=Š=ÜÐAÀ)ÁÐOÓPÐPØ€Lr   r?   Úbinaryr^   Ú	use_cacheTÚcache_ttl_secondsé,  Ú	home_pathc               ó<   € V ^8„  d   QhRRRRRRRRRRR	R
RRRRRR/	# )r   r/   rV   r"   r   r?   r‘   r_   r^   r’   Úboolr“   Úfloatr•   r   r1   r   )r   s   "r   r   r   ¤   sZ   € ÷ +ñ +Ø!ð+Ø,/ð+ØADð+àð+à03ð+àEIð+ð ð+ð 0>ð+ð &ñ	+r   c                ó&  € \        V 4      w  r‰V'       g   / V	3# \        4       P                  VR4      P                  4       p
\	        V4      T;'       g    RVe   \        V4      MR\        V4      3pV'       d2   \        P                  W¶V4      pVe   \        VP                  4      V	3# T;'       g    \        V4      pVf   \        R4      h/ p^ p\        V4       F  p \        WØV,          WR7      VV&   K  	  V'       dO   V'       gG   V'       d?   \        P!                  V\#        \        V4      \$        P$                  ! 4       R7      Wg4       Wé3#   \         d/   pT	P                  \        T4      4       T^,          p Rp?K¬  Rp?ii ; i)u!  Resolve ``references`` (name â†’ ``op://â€¦``) to ``(secrets, warnings)``.

Raises ``RuntimeError`` only when no ``op`` binary is available; per-ref
failures become warnings. Only a complete, error-free pull is cached, so a
transient auth failure isn't frozen in for the whole TTL window.
rC   Nz¥op CLI not found.  Install the 1Password CLI (https://developer.1password.com/docs/cli/get-started/) or set secrets.onepassword.binary_path to its absolute location.)r"   rr   )ÚsecretsÚ
fetched_at)r=   r   rK   r7   rT   r   r\   r'   ÚlookupÚdictrš   rh   r‰   rL   r�   r5   Ústorer   Útime)r/   r"   r?   r‘   r^   r’   r“   r•   r9   r:   rr   r   Úcachedra   rš   Úread_errorsr;   Úexcs   $$$$$$$$          r   Úfetch_onepassword_secretsr£   ¤   s\  € ô +¨:Ó6�O€EßØ�8ˆ|Ðä(Ó*×.Ñ.¨y¸"Ó=×CÑCÓE€KÜ-¨iÓ8¸'¿-¸-ÀRØ.7Ò.CœC 	œNÈÔM^Ð_dÓMeðg€I÷ Ü—‘˜y¸YÓGˆØÒÜ˜Ÿ™Ó'¨Ð1Ð1à	×	'Ð	'”7˜;Ó'€BØ	‚zÜð Wó Xð 	Xð !€GØ€KÜ�u–ˆð	Ü(¨°4­[À'ÔcˆG�D‹Mñ ÷ Ÿ¯Ü�‰�Y¤´D¸³MÌdÏiÊiËkÔ ZØ&ô	3ð ÐÐøô ô 	Ø�O‰OœC ›HÔ%Ø˜1ÕŽKûð	ús   Ã#EÅFÅ"#FÆFc               ó    € V ^8„  d   QhRRRR/# )r   r^   r   r   r   )r   s   "r   r   r   Ò   s   € ÷ oñ o sð o¨sñ or   c                ó$   € V '       d   R V : R2# R# )z!secrets.onepassword.binary_path (z!) is not an executable op binary.zµsecrets.onepassword.enabled is true but the op CLI was not found on PATH.  Install it (https://developer.1password.com/docs/cli/get-started/) or set secrets.onepassword.binary_path.r   )r^   s   &r   Ú_missing_binary_errorr¦   Ò   s   € ßØ2°;±/ÐAbÐcÐcñnr   r|   Úservice_account_token_envÚoverride_existingc               ó<   € V ^8„  d   QhRRRRRRRRRRR	RR
RRRRR/	# )r   Úenabledr—   r|   r0   r"   r   r§   r^   r¨   r“   r˜   r•   r_   r   r   r   )r   s   "r   r   r   Ù   s^   € ÷ 0ñ 0Øð0Ø3ð0ØEHð0à"ð0àFIð0ð ð0ð 8=ð0ð P^ð0ð ñ	0r   c           	     óz  aaa€ \        4       pV '       g   V# \        V4      w  ršVP                  P                  V
4       R VV3R lloVP                  P                  V3R lV	 4       4       V	P                  4        UUu/ uF  w  r¼S! V4      '       d   K  W¼bK  	  pppV'       g   V# \        V4      pWèn        Vf   \        V4      Vn	        V#  \        WÒSWæVR7      w  ppYøn        TP                  P                  T4       TP                  4        Fp  w  ppS! T4      '       d/   TTP                  9  d   TP                  P                  T4       KB  T\        P                   T&   TP"                  P                  T4       Kr  	  T# u uppi   \         d   p\        T4      Tn	        Tu Rp?# Rp?ii ; i)a(  Resolve configured ``op://`` references and set them on ``os.environ``
(``hermes secrets onepassword sync --apply``). Never raises. Refs already
satisfied by the env (when ``override_existing`` is false) and the token var
are skipped *before* fetching, so ``op`` never runs for a discarded value.c               ó    € V ^8„  d   QhRRRR/# )r   r;   r   r   r—   r   )r   s   "r   r   Ú/apply_onepassword_secrets.<locals>.__annotate__é   s   € ÷ kñ k�sð k˜tñ kr   c                óŒ   <€ V S8H  ;'       g8    S'       * ;'       d)    \        \        P                  P                  V 4      4      # )zFTrue when ``name`` must not be applied (token var or env already set).)r—   rd   ÚenvironrK   )r;   r¨   r§   s   &€€r   Ú_guardedÚ+apply_onepassword_secrets.<locals>._guardedé   s;   ø€ àÐ0Ñ0×jÐjÐ9JÔ5J×5iÐ5iÌtÔTV×T^ÑT^×TbÑTbÐcgÓThÓOiÐjr   c              3  óH   <"  € T F  pS! V4      '       g   K  Vx € K  	  R # 5ir+   r   )rY   Únr°   s   & €r   rZ   Ú,apply_onepassword_secrets.<locals>.<genexpr>í   s   øé € Ð:¡U ©h°q¯kŸ!š!£Uùs   ƒ"˜
"N©r/   r"   r?   r‘   r“   r•   )r   r=   r:   ÚextendÚskippedr4   rh   r^   r¦   Úerrorr£   r‰   r   rš   r5   rd   r¯   Úapplied)rª   r|   r"   r§   r^   r¨   r“   r•   Úresultr9   r:   r³   r<   Úrefs_to_fetchr‘   rš   Úfetch_warningsr¢   r;   r�   r°   s   $$$d$d$$            @r   Úapply_onepassword_secretsr½   Ù   sr  ú€ ô ‹]€FßØˆä*¨3Ó/�O€EØ
‡O�O×Ñ˜8Ô$÷kñ kð ‡N�N×ÑÔ:¡UÓ:Ô:Ø*/¯+©+¬-ÔK©-¡ ¹xÈ¿{”V�Q’V©-€MÑKßØˆä�[Ó!€FØÔØ‚~Ü,¨[Ó9ˆŒØˆðÜ";Ø$ÐAZØÈ)ô#UÑˆ�ð „NØ
‡O�O×Ñ˜>Ô*Ø—}‘}–‰ˆˆeÙ�D�>Š>Ø˜6Ÿ>™>Ô)Ø—‘×%Ñ% dÔ+ÙØ Œ�
‰
�4ÑØ�‰×Ñ˜dÖ#ñ 'ð €Mùó7 Løô ô Ü˜3“xˆŒØ�ûðús*   ÂFÂFÃF ÆF:ÆF5Æ/F:Æ5F:c                  óž   € ] tR tRtRtRtRtRtRtRt	]
tRtR	t]P                  ]]P                   ]]P"                  ]/tR
 R ltR R ltRtR# )ÚOnePasswordSourcei  z~1Password as a registered **mapped** source (explicit per-var bindings, so
its claims outrank bulk sources on contested vars).ÚonepasswordÚ	1PasswordÚmappedra   r§   Tz‡Run `hermes secrets onepassword token` to paste a fresh service-account token ({token_env}), or `op signin` for an interactive session.c               ó   € V ^8„  d   QhRR/# )r   r   r�   r   )r   s   "r   r   ÚOnePasswordSource.__annotate__  s   € ÷ 
ñ 
˜tñ 
r   c                	ób   € R RRRR/RRRR/ /RRRRR	/R
RRR\         /RRRRR	/RRRRR/RRRRR//# )rª   ÚdescriptionzMaster switchÚdefaultFr|   z1Map of ENV_VAR -> op://vault/item/field referencer"   z0op --account shorthand (empty = default account)rC   r§   zOEnv var holding the service-account token (unset = desktop/interactive session)r^   z,Pin the op binary (empty = resolve via PATH)r“   z!Disk+memory cache TTL; 0 disablesr”   r¨   z+Resolved values overwrite .env/shell valuesT)Ú_DEFAULT_TOKEN_ENV)Úselfs   &r   Úconfig_schemaÚOnePasswordSource.config_schema  sˆ   € à˜ ¸	À5ÐIØ�MÐ#VÐXaÐceÐfØ˜Ð'YÐ[dÐfhÐiØ'¨-ð :aà*3Ô5Gð*Ið ˜MÐ+YÐ[dÐfhÐiØ -Ð1TÐV_ÐadÐ!eØ -Ð1^Ð`iÐkoÐ!pð

ð 
	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úcfgr�   r•   r   r   r   r   )r   s   "r   r   rÄ   +  s!   € ÷ ñ ˜ð ¨$ð °;ñ r   c                	ó¢  € \        V\        4      '       d   TM/ p\        4       pVP                  R 4      p\	        \        V\        4      '       d   TMR4      w  rVVP
                  P                  V4       V'       g+   V'       g!   VP                  R\        P                  4       V# \        VP                  R4      ;'       g    R4      p\        V4      pWƒn        Vf*   VP                  \        V4      \        P                  4      #  \        T\        VP                  R4      ;'       g    R4      V P!                  V4      V\#        VP                  RR4      R4      VR	7      w  ršY“n        TP
                  P                  T
4       T#   \$         d8   pTP                  \        T4      \'        \        T4      4      4      u Rp?# Rp?ii ; i)
r|   Nzksecrets.onepassword.enabled is true but the env: map is empty.  Add ENV_VAR: op://vault/item/field entries.r^   rC   r"   r“   r”   g     Àr@rµ   )r6   r�   r   rK   r=   r:   r¶   Úfailr   ÚNOT_CONFIGUREDr   rh   r^   r¦   ÚBINARY_MISSINGr£   r?   r   r‰   r-   rš   )rÉ   rÍ   r•   rº   Úenv_mapr9   r:   r^   r‘   rš   r¼   r¢   s   &&&         r   ÚfetchÚOnePasswordSource.fetch+  su  € Ü ¤T×*Ò*‰c°ˆÜ“ˆà—'‘'˜%“.ˆÜ.¼*ÀWÌd×:SÒ:S©wÐY]Ó^‰ˆØ�‰×Ñ˜xÔ(ßßØ—‘ð RÜS\×SkÑSkômàˆMä˜#Ÿ'™' -Ó0×6Ð6°BÓ7ˆÜ˜Ó%ˆØ#ÔØŠ>Ø—;‘;Ô4°[ÓAÄ9×C[ÑC[Ó\Ð\ð	GÜ&?Ø ¬#¨c¯g©g°iÓ.@×.FÐ.FÀBÓ*GÐSW×SaÑSaÐbeÓSfØ´¸c¿g¹gÐFYÐ[^Ó>_ÐafÓ1gØ#ô'%Ñ#ˆGð !ŒØ�‰×Ñ˜~Ô.Øˆøô ô 	GØ—;‘;œs 3›xÔ);¼CÀ»HÓ)EÓFÕFûð	Gús$   Ä"F Ä.;F ÆGÆ,G	ÇGÇ	Gr   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r;   rP   ÚshapeÚschemeÚtoken_env_keyrÈ   Údefault_token_envÚoverride_existing_defaultÚ
_AUTH_HINTr   ÚAUTH_FAILEDÚAUTH_EXPIREDrÑ   Ú_MISSING_BINARY_HINTÚremediation_hintsrÊ   rÓ   Ú__static_attributes__r   r   r   r¿   r¿     sr   † ñ;ð €DØ€EØ€EØ€FØ/€MØ*Ðð !%ÐðN€Jà"×.Ñ.°
¸I×<RÑ<RÐT^Ø"×1Ñ1Ð3GðIÐõ
÷ñ r   r¿   c               ó    € V ^8„  d   QhRRRR/# )r   r•   r_   r   ÚNoner   )r   s   "r   r   r   K  s   € ÷ ñ ˜Nð °dñ r   c                ó0   € \         P                  V 4       R# )z’Drop in-process AND disk caches (after a token rotation, so the next
startup resolves fresh instead of serving values cached under the old token).N)r'   Úclear)r•   s   &r   Úclear_cachesré   K  s   € ô ‡L�L�Ör   )ÚPATHÚHOMEÚUSERPROFILEÚAPPDATAÚLOCALAPPDATAÚ
SystemRootÚTMPDIRÚTMPÚTEMPÚXDG_CONFIG_HOMEÚXDG_RUNTIME_DIRÚOP_CONFIG_DIRrF   rH   rJ   ÚOP_LOAD_DESKTOP_APP_SETTINGS)z	timed out)znot found on pathznot an executablezfailed to invoke)Úunauthorizedznot signed inzsession expiredÚauthenticationÚ401Ú403)zempty value)ÚnetworkÚ
connectionzresolve hostÚdns)rC   r+   )BÚ__conditional_annotations__rÙ   Ú
__future__r   Úloggingrd   rb   Ú
subprocessrŸ   Úpathlibr   Útypingr   r   r   r   Úagent.secret_sources._cacher   r	   r
   rM   Úagent.secret_sources.baser   r   r   r   r   r   r   r   Ú	getLoggerrÕ   Úloggerr†   rÈ   rz   Útupler   r   Ú_DISK_CACHE_BASENAMEr%   r'   Ú__annotations__ÚmemoryÚ_CACHErâ   ÚTIMEOUTrÑ   rà   ÚEMPTY_VALUEÚNETWORKr,   r-   r=   rT   r\   rh   rp   r}   r�   r£   r¦   r½   r¿   ré   Ú_reset_cache_for_tests)rþ   s   @r   Ú<module>r     sè  øðô	õ #ã Û 	Û Û Û Ý ß .Ó .ç ]Ñ ]÷÷ ó ð
 
×	Ò	˜8Ó	$€à€ð 0Ð ð
Ð ð �#�s˜C Ð$Õ%€	Ø&Ð õ,ñ
 "-Ð-AÐR_Ô!`€ÐÓ `Ø	�‰€ð.ð ð ×Ñ˜Ð'Ø×ÑÐ]Ð^Ø×Ñð =ð >à×ÑÐ,Ð-Ø×ÑÐHÐIð€õ8õõ *õ`÷õ8õð¸Rð ÐTV÷ ð0+Ø24ð+ØGYð+à!ð+à68ð+àLPð+ð  #ð+ð AE÷+õ\oð0Ø6:ð0ØKMð0à%7ð0àLNð0ð #ð0ð @Cð0ð ae÷0ôf<˜ô <÷~ð &Ò r   