+
    jHàjl#  ã                  ó  € R t ^ RIHt ^ RIt^ RIHtHtHtHtH	t	 Rt
]P                  ! R4      t]! R ] 4       4      0 R;m,          t]P                  ! R4      tRt]P                  ! R	] R
] R] R2]P"                  4      t. R<O]O5tRP)                  R ] 4       4      t]P                  ! R] R2]P"                  4      tRtR] R] R2tR] R] R] 2tR] R2tR] R] R] R] R] R2t]P                  ! R ] R!] R"2]P"                  4      tR#t]P                  ! R$] R%2]P"                  4      t]P                  ! R&] R'2]P"                  4      t]P                  ! R&] R(2]P"                  4      t ]P                  ! R)] R*2]P"                  4      t!]P                  ! R+] R,] R-2]P"                  4      t"]P                  ! R.] R/] R0] R12]P"                  4      t#R2 R3 lt$R4 R5 lt%R6 R7 lt&R8R/R9 R: llt'R# )=zJFail-closed redaction for text and structures leaving debug/support flows.)ÚannotationsN)Ú_SENSITIVE_QUERY_PARAMSÚREDACTION_UNAVAILABLEÚSECRET_HEADER_NAME_LISTÚ_canonical_url_param_nameÚredact_sensitive_textz
[REDACTED]zW(?<![A-Za-z0-9._%+-])[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?![A-Za-z0-9._%+-])c              #  óR   "  € T F  pR P                  R V 4       4      x € K  	  R# 5i)Ú c              3  óT   "  € T F  qP                  4       '       g   K  Vx € K   	  R # 5i©N©Úisalnum©Ú.0Úchs   & Ú?/home/ubuntu/.hermes/hermes-agent/hermes_cli/debug_redaction.pyÚ	<genexpr>Ú<genexpr>.<genexpr>   s   é € Ð.™�2§¡§�BŠB›ùó   ‚(ž
(N)Újoin©r   Únames   & r   r   r      s&   é € ð 'Ù;R°4€B‡G�GÑ.™Ó.×.Ð.Ó;Rùs   ‚%'zF(?P<sep>[?#&;])(?P<key>[A-Za-z0-9_.~+%\-]+)=(?P<value>[^?#&;\s\"'<>]*)z%(?:25)?(?:3f|23|26|3b)z(?P<sep>z)(?P<key>(?:(?!%(?:25)?3d|z:)[^\s\"'<>]){1,160}?)(?P<eq>%(?:25)?3d|=)(?P<value>.*?)(?=z|[\s\"'<>]|$)Ú|c              #  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir   )ÚreÚescaper   s   & r   r   r   3   s   é € ÐTÑ<S°D¤§	¢	¨$§ Ó<Sùs   ‚#%z(?P<prefix>['\"]?(?:z:)['\"]?\s*[:=]\s*)(?P<quote>['\"])(?P<value>.*?)(?P=quote)zA-Za-z0-9._~+/\-z(?![z=]|:[z])Ú[z]+(?::[z]+)*=*z&(?!(?-i:[A-Z]?[a-z]{1,19}|[A-Z]{1,19})Ú)z+(?:Bearer|Basic|Digest)\s+|\*\*\*[ \t]+(?=[z]{8,}=*(?![z=])|z.(?=[^\s:]{4}|(?=\S*[A-Za-z])(?=\S*[0-9])\S{6})z/|[A-Za-z]{4,7}[ \t]*(?:[\r\n'\",;}\]]|$))(?!(?:z)\b\s*[:=])z(?P<prefix>\b(?:z)\b\s*[:=]\s*)(?P<value>(?>(?:z)?)(?!\[REDACTED\])[^\s,}\]]+)z©--(?:api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|auth[-_]?token|client[-_]?secret|private[-_]?key|secret[-_]?key|password|passwd|credential|token|secret)z(?P<flag_quote>['\"])(?P<flag>zT)(?P=flag_quote)(?P<sep>\s*,\s*)(?P<value_quote>['\"])(?P<value>.*?)(?P=value_quote)z	(?P<flag>zT)(?P<sep>\s*=\s*)(?P<quote>['\"]?)(?!\[REDACTED\])(?P<value>[^\s,}\]'\"]+)(?P=quote)zP)(?P<sep>\s+)(?P<quote>['\"]?)(?!\[REDACTED\])(?P<value>[^\s,}\]'\"]+)(?P=quote)zQ(?P<head_quote>['\"])--header(?P=head_quote)\s*,\s*(?P<name_quote>['\"])(?P<name>zž)(?P=name_quote)\s*,\s*(?:(?P<scheme_quote>['\"])(?P<scheme>Bearer|Basic|Digest)(?P=scheme_quote)\s*,\s*)?(?P<value_quote>['\"])(?P<value>.*?)(?P=value_quote)z(?P<prefix>--header\s+(?:z)\s+)(?>(?:z()?)(?!\[REDACTED\])(?P<value>[^\s,}\]]+)z!(?P<prefix>\bBearer\s+|\bBasic\s+zD)(?!(?:realm|scope|error|error_description|error_uri)=)(?=[^\s]{8})[z=]+(?::[z=]+)*c               ó    € V ^8„  d   QhRRRR/# )é   ÚvalueÚobjectÚreturnÚstr© )Úformats   "r   Ú__annotate__r&   ‚   s   € ÷ ]ñ ] ð ]¨Cñ ]ó    c           	     ój   € R P                  R \        \        T ;'       g    R 4      4       4       4      # )r	   c              3  óT   "  € T F  qP                  4       '       g   K  Vx € K   	  R # 5ir   r   r   s   & r   r   Ú(_decoded_compact_name.<locals>.<genexpr>ƒ   s   é € Ð\Ñ K˜"ÏzÉzÏ|—2’2Ó Kùr   )r   r   r#   )r    s   &r   Ú_decoded_compact_namer+   ‚   s(   € Ø�7‰7Ñ\Ô 9¼#¸e¿k¸kÀrÓ:JÔ KÓ\Ó\Ð\r'   c               ó    € V ^8„  d   QhRRRR/# ©r   Útextr#   r"   r$   )r%   s   "r   r&   r&   †   s   € ÷ ñ ˜Sð  Sñ r'   c                óª   € R  R lpR R lp\        ^4       F7  p\        P                  V\        P                  W4      4      pW@8X  d    V # Tp K9  	  V # )c               ó    € V ^8„  d   QhRRRR/# ©r   Úmatchzre.Match[str]r"   r#   r$   )r%   s   "r   r&   Ú(_redact_url_params.<locals>.__annotate__‡   s   € ÷ ?ñ ?˜ð ?¨#ñ ?r'   c                ó´   € \        V P                  R 4      4      \        9  d   V P                  ^ 4      # V P                  R4       V P                  R 4       R2# )ÚkeyÚsepz=***©r+   ÚgroupÚ_SENSITIVE_URL_PARAM_NAMES©r2   s   &r   Ú_raw_subÚ$_redact_url_params.<locals>._raw_sub‡   sL   € Ü  §¡¨UÓ!3Ó4Ô<VÔVØ—;‘;˜q“>Ð!Ø—+‘+˜eÓ$Ð% e§k¡k°%Ó&8Ð%9¸Ð>Ð>r'   c               ó    € V ^8„  d   QhRRRR/# r1   r$   )r%   s   "r   r&   r3   Œ   s   € ÷ Iñ I˜Mð I¨cñ Ir'   c                ó  € \        V P                  R 4      4      \        9  d   V P                  ^ 4      # V P                  R4      pVR8w  d	   VRR  R2MRpV P                  R4       V P                  R 4       V V^,           2# )r5   ÚeqÚ=NÚ2AÚ*r6   éþÿÿÿr7   )r2   r?   Ústars   &  r   Ú_encoded_subÚ(_redact_url_params.<locals>._encoded_subŒ   s}   € Ü  §¡¨UÓ!3Ó4Ô<VÔVØ—;‘;˜q“>Ð!Ø�[‰[˜ÓˆØ!# s¤�"�S�b�'�˜"‰~°ˆØ—+‘+˜eÓ$Ð% e§k¡k°%Ó&8Ð%9¸"¸¸dÀQ½h¸ZÐHÐHr'   )ÚrangeÚ_ENCODED_URL_PARAM_REÚsubÚ_RAW_URL_PARAM_RE)r.   r;   rE   Ú_Úredacteds   &    r   Ú_redact_url_paramsrM   †   sX   € õ?õ
Iô �1ŽXˆÜ(×,Ñ,¨\Ô;L×;PÑ;PÐQYÓ;`ÓaˆØÔØà€Kð Šñ	 ð
 €Kr'   c               ó    € V ^8„  d   QhRRRR/# r-   r$   )r%   s   "r   r&   r&   �   s   € ÷ 'ñ ' 3ð '¨3ñ 'r'   c                ór  € \         P                  R  V 4      p \        P                  R V 4      p \        P                  R V 4      p \        P                  R V 4      p \
        P                  R V 4      p \        P                  R V 4      p \        P                  R V 4      p \        P                  R V 4      # )c                óx   € V P                  R 4       V P                  R4       \         V P                  R4       2# )ÚprefixÚquote©r8   Ú	_REDACTEDr:   s   &r   Ú<lambda>Ú*_redact_headers_and_argv.<locals>.<lambda>Ÿ   s7   € ˜Ÿ™ XÓ.Ð/°·±¸GÓ0DÐ/EÄiÀ[ÐQV×Q\ÑQ\Ð]dÓQeÐPfÑgr'   c                ó4   € V P                  R 4       \         2# ©rQ   rS   r:   s   &r   rU   rV   ¢   s   € °·±¸HÓ0EÐ/FÄyÀkÑ-Rr'   c           	     ó¼  € V P                  R 4       RV P                  R 4       RV P                  R4       V P                  R4       V P                  R4       R2V P                  R4      '       d7   V P                  R4       V P                  R4       V P                  R4       R2MR,           V P                  R4       \         V P                  R4       2,           # )	Ú
head_quotez--headerz, Ú
name_quoter   ÚschemeÚscheme_quoter	   Úvalue_quoterS   r:   s   &r   rU   rV   ¤   sÐ   € Ø�{‰{˜<Ó(Ð)¨°%·+±+¸lÓ2KÐ1LÈBØ�{‰{˜<Ó(Ð)¨%¯+©+°fÓ*=Ð)>¸u¿{¹{È<Ó?XÐ>YÐY[ð]ð —;‘;˜x×(Ò(ð —;‘;˜~Ó.Ð/°·±¸HÓ0EÐ/FÀuÇ{Á{ÐSaÓGbÐFcÐceÑfàõð —‘˜]Ó+Ð,¬Y¨K¸¿¹ÀMÓ8RÐ7SÐTöUr'   c           	     óÞ   € V P                  R 4       V P                  R4       V P                  R 4       V P                  R4       V P                  R4       \         V P                  R4       2# )Ú
flag_quoteÚflagr6   r^   rS   r:   s   &r   rU   rV   ±   sc   € Ø�{‰{˜<Ó(Ð)¨%¯+©+°fÓ*=Ð)>¸u¿{¹{È<Ó?XÐ>YØ�{‰{˜5Ó!Ð" 5§;¡;¨}Ó#=Ð">¼y¸kÈ%Ï+É+ÐVcÓJdÐIeñgr'   c                óš   € V P                  R 4       V P                  R4       V P                  R4       \         V P                  R4       2# ©ra   r6   rR   rS   r:   s   &r   rU   rV   ¸   óG   € ˜Ÿ™ VÓ,Ð-¨e¯k©k¸%Ó.@Ð-AÀ%Ç+Á+ÈgÓBVÐAWÔXaÐWbÐch×cnÑcnÐovÓcwÐbxÑyr'   c                óš   € V P                  R 4       V P                  R4       V P                  R4       \         V P                  R4       2# rc   rS   r:   s   &r   rU   rV   ¼   rd   r'   c                ó4   € V P                  R 4       \         2# rX   rS   r:   s   &r   rU   rV   À   ó   € ˜Ÿ™ XÓ.Ð/´	¨{Ñ;r'   c                ó4   € V P                  R 4       \         2# rX   rS   r:   s   &r   rU   rV   Ã   rg   r'   )	Ú_QUOTED_HEADER_RErI   Ú_BARE_HEADER_REÚ_HEADER_ARGV_REÚ_QUOTED_ARGV_REÚ_ARG_EQUALS_REÚ_ARG_OPERAND_REÚ_PLAIN_HEADER_ARG_REÚ_SUPPORT_BEARER_RE)r.   s   &r   Ú_redact_headers_and_argvrq   �   sÅ   € Ü× Ñ ÙgØó€Dô ×ÑÑRÐTXÓY€DÜ×Ññ		
ð 	ó€Dô ×Ññ	
ð 	ó€Dô ×ÑÙyØó€Dô ×ÑÙyØó€Dô  ×#Ñ#Ù;¸Tó€Dô ×!Ñ!Ù;¸Tóð r'   Ú	max_charsc               ó$   € V ^8„  d   QhRRRRRR/# )r   r    r!   rr   z
int | Noner"   r#   r$   )r%   s   "r   r&   r&   Ç   s"   € ÷ ?ñ ? Vð ?¸:ð ?ÐQTñ ?r'   c               óò   € V f   RM
\        V 4      pV'       g   V#  \        VRRR7      p\        V4      p\        V4      p\        P                  RV4      pTe   TRT # T#   \         d
    \        u # i ; i)a2  Strictly scrub one debug/support value, then apply an optional character cap.

This is deliberately stricter than ordinary model/tool output: support text is
leaving the process for a human or remote diagnostics store. Any redactor
failure returns the shared fail-closed sentinel rather than the original.
Nr	   T)ÚforceÚredact_url_credentialsz[REDACTED_EMAIL])r#   r   rM   rq   Ú_EMAIL_ADDRESS_RErI   Ú	Exceptionr   )r    rr   r.   s   &$ r   Úredact_debug_support_textry   Ç   s…   € ð ’‰2¤C¨£J€DßØˆð%Ü$ T°ÈdÔSˆÜ! $Ó'ˆÜ'¨Ó-ˆÜ ×$Ñ$Ð%7¸Ó>ˆð  )Ò4ˆ4�
�ÐÐ>¸$Ð>øô ô %Ü$Ò$ð%ús   �:A" Á"A6Á5A6>   Ú	authtokenÚ	secretkeyÚ
privatekeyÚsecuritytokenÚxamzsecuritytoken)Úauthorizationzproxy-authorizationÚcookiez
set-cookie)(Ú__doc__Ú
__future__r   r   Úagent.redactr   r   r   r   r   rT   Úcompilerw   Ú	frozensetr9   rJ   Ú_ENCODED_URL_SEPÚ
IGNORECASErH   Ú_SENSITIVE_HEADER_NAMESr   Ú_HEADER_NAME_PATTERNri   Ú
_KEY_CHARSÚ_KEY_ENDÚ_KEYÚ	_NOT_WORDÚ_SCHEMErj   Ú_SECRET_ARG_FLAGrl   rm   rn   rk   ro   rp   r+   rM   rq   ry   r$   r'   r   Ú<module>r�      s   ðÙ På "ã 	÷õ ð €	Ø—J’JðóÐ ñ 'ñ 'Ù;Ró'ó âRõSÐ ð —J’Jð"óÐ ð .Ð ØŸ
š
ØÐ Ð!ð "!Ø!1Ð 2ð 3ð Ð
˜Mð	+ð
 ‡M�MóÐ òð
 ñÐ ð —x‘xÑTÑ<SÓTÓTÐ Ø—J’JØÐ0Ð1ð 20ð 0à‡M�MóÐ ð !€
à�:�,˜e J <¨rÐ2€Ø
ˆJˆ<�w˜z˜l¨&°°
Ð;€Ø9¸(¸À1ÐE€	ðØˆ<�} Z L°°Y°KÐ?qÐrvÐqwð xØ"Ð# ;ð0ð ð
 —*’*ØÐ,Ð-ð .Ø�yÐ ?ðAà‡M�Mó€ð0ð ð
 —*’*Ø%Ð&6Ð%7ð 8<ð <ð ‡M�Mó	€ð —’ØÐ!Ð"ð #Kð Kà‡M�Mó€ð
 —*’*ØÐ!Ð"ð #Kð Kà‡M�Mó€ð
 —*’*ð&Ø&:Ð%;ð <<ð<ð ‡M�Mó€ð —z’zØ Ð!5Ð 6ð 7ØˆYÐ?ðAà‡M�MóÐ ð
 —Z’Zð )¨¨ð 4	ð 
ˆ�H˜Z˜L¨ð/ð ‡M�MóÐ õ]õõ.'ðT?È÷ ?ñ ?r'   