+
    jHàjÉ
  ã                  óª   € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt RR0tRR0t	0 Rmt
RR	/R
 R lltRR	/R R lltR R ltR R ltR R ltR R ltR# )z1Secret input prompts with masked typing feedback.)ÚannotationsN)ÚCallableÚÚÚÚ
ÚmaskÚ*c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	é   Ú	read_charzCallable[[], str]ÚwritezCallable[[str], object]ÚpromptÚstrr   Úreturn© )Úformats   "Ú=/home/ubuntu/.hermes/hermes-agent/hermes_cli/secret_prompt.pyÚ__annotate__r      s4   € ÷ ñ Ø ðØ)@ðØJMðØX[ðàñó    c               ó€  € . pV! V4        V ! 4       pV\         9   d   V! R4       RP                  V4      # VR8X  d   V! R4       \        hV\        9   d   V! R4       \        hV\
        9   d#   V'       d   VP                  4        V! R4       K‡  VR8X  d   K�  VP                  V4       V'       g   K«  V! V4       Kµ  )zCRead one secret line while writing a mask character per typed char.z
Ú Úz Ú)Ú_ENTER_CHARSÚjoinÚKeyboardInterruptÚ
_EOF_CHARSÚEOFErrorÚ_BACKSPACE_CHARSÚpopÚappend)r   r   r   r   ÚvalueÚchs   &&&$  r   Ú_collect_masked_inputr$      s¢   € ð €EÙ	ˆ&„MØ
Ù‹[ˆØ”ÔÙ�&ŒMØ—7‘7˜5“>Ð!Ø�Œ<Ù�&ŒMÜ#Ð#Ø”ÔÙ�&ŒMÜˆNØÔ!Ô!ßØ—	‘	”Ù�g”ÙØ�Œ<ñ Ø�‰�RÔß‰4Ù�$ŽKr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r   r   r   r   r   )r   s   "r   r   r   /   s!   € ÷ 'ñ ' ð '¨sð '¸Sñ 'r   c               óp  € \        \        P                  4      '       d    \        \        P                  4      '       g   \        P                  ! V 4      # \
        P                  R8X  d   \        M\        p V! WR7      #   \        \        3 d    h \         d    \        P                  ! T 4      u # i ; i)z±Prompt for a secret while showing masked typing feedback.

Falls back to ``getpass.getpass`` when stdin/stdout are not interactive or when raw terminal
handling is unavailable.
Únt©r   )Ú_stream_is_ttyÚsysÚstdinÚstdoutÚgetpassÚosÚnameÚ_masked_secret_prompt_windowsÚ_masked_secret_prompt_posixr   r   Ú	Exception)r   r   Úmaskeds   &$ r   Úmasked_secret_promptr5   /   s�   € ô œ#Ÿ)™)×$Ò$¬N¼3¿:¹:×,FÒ,FÜ�Š˜vÓ&Ð&Ü.0¯g©g¸¬oÕ*ÔC^€Fð'Ù�fÔ(Ð(øÜœxÐ(ô ØÜô 'Ü�Š˜vÓ&Ò&ð'ús   Á7B  Â B5ÂB5Â4B5c               ó   € V ^8„  d   QhRR/# )r   r   Úboolr   )r   s   "r   r   r   @   s   € ÷ ñ ˜dñ r   c                óZ   €  \        V P                  4       4      #   \         d     R # i ; i)F)r7   Úisattyr3   )Ústreams   &r   r*   r*   @   s*   € ðÜ�F—M‘M“OÓ$Ð$øÜô Úðús   ‚ ›*©*c               ó    € V ^8„  d   QhRRRR/# )r   Útextr   r   ÚNoner   )r   s   "r   r   r   G   s   € ÷ ñ �ð ˜ñ r   c                ó€   € \         P                  P                  V 4       \         P                  P                  4        R # )N)r+   r-   r   Úflush)r<   s   &r   Ú_writer@   G   s$   € Ü‡J�J×Ñ�TÔÜ‡J�J×ÑÖr   c               ó$   € V ^8„  d   QhRRRRRR/# r&   r   )r   s   "r   r   r   L   s&   € ÷ 
Gñ 
G¨#ð 
G¸ð 
GÀñ 
Gr   c               óB   a€ ^ RI oR V3R llp\        V\        WR7      # )é    Nc               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   Ú3_masked_secret_prompt_windows.<locals>.__annotate__O   s   € ÷ ñ �sñ r   c                 óZ   <€ SP                  4       p V R9   d   SP                  4        R# V # )Ú r   >   rG   ô   Ã )Úgetwch)r#   Úmsvcrts    €r   r   Ú0_masked_secret_prompt_windows.<locals>.read_charO   s(   ø€ Ø�]‰]‹_ˆØÐ!Ô!Ø�M‰MŒOÙØˆ	r   r)   )rJ   r$   r@   )r   r   r   rJ   s   &$ @r   r1   r1   L   s!   ø€ Û÷ð ô ! ¬F°FÔFÐFr   c               ó$   € V ^8„  d   QhRRRRRR/# r&   r   )r   s   "r   r   r   Y   s!   € ÷ 	<ñ 	<¨ð 	<°cð 	<¸cñ 	<r   c               ó4  € ^ RI p^ RIp\        P                  P	                  4       pVP                  V4      p VP                  V4       \        R \        WR7      VP                  WBP                  V4       #   TP                  YBP                  T4       i ; i)rC   Nc                 ó@   € \         P                  P                  ^4      # )é   )r+   r,   Úreadr   r   r   Ú<lambda>Ú-_masked_secret_prompt_posix.<locals>.<lambda>`   s   € ¬S¯Y©Y¯^©^¸AÔ->r   r)   )ÚtermiosÚttyr+   r,   ÚfilenoÚ	tcgetattrÚsetrawr$   r@   Ú	tcsetattrÚ	TCSADRAIN)r   r   rS   rT   ÚfdÚ	old_attrss   &$    r   r2   r2   Y   st   € ÛÛÜ	�‰×	Ñ	Ó	€BØ×!Ñ! "Ó%€Ið<Ø�
‰
�2ŒÜ$Ñ%>ÄÈÔZà×Ñ˜"×/Ñ/°Õ;øˆ×Ñ˜"×/Ñ/°Õ;ús   ¹#A9 Á9B>   r   ÚÚ)Ú__doc__Ú
__future__r   r.   r/   r+   Úcollections.abcr   r   r   r   r$   r5   r*   r@   r1   r2   r   r   r   Ú<module>ra      s_   ðÙ 7å "ã Û 	Û 
Ý $ð ˜&�>Ð Ø�dˆ|€Ú!€
ðØ^a÷ð>'°S÷ 'õ"õõ

G÷	<r   