‡Æ
ØMö9c       s    d  Z  	  d k Z  d d „ Z * d d „ Z ? d d „ Z D d d „ Z S d „  Z g y h d k Z d k Z Wn i e	 j
 o~ j y k d k
 Z
 WnX l e	 j
 oI m y n d	 k l Z Wn o e	 j
 o p e Z n Xr e Z n Xt e Z n Xv e Z d S(
   s)  Utilities to get a password and/or the current user name.

getpass(prompt) - prompt for a password, with echo turned off
getuser() - get the user name from the environment or password database

On Windows, the msvcrt module will be used.
On the Mac EasyDialogs.AskPassword is used, if available.

Nc    sä      y  t  i i ƒ  } Wn   t |  ƒ Sn X t }  t i | ƒ }  | }  | d t i @| d <  z, ! t i | t i | ƒ " t |  ƒ } Wd # $ t i | t i | ƒ X& t  i i d ƒ ' | Sd S(   sR   Prompt for a password, with echo turned off.

	Restore terminal settings at end.
	i   Ns   
(   s   syss   stdins   filenos   fds   default_getpasss   prompts   getpasss   termioss	   tcgetattrs   olds   news   TERMIOSs   ECHOs	   tcsetattrs	   TCSADRAINs
   _raw_inputs   passwds   stdouts   write(   s   prompts   fds   getpasss   olds   news   passwds$   /mit/python/lib/python2.0/getpass.pys   unix_getpass s    	
s
   Password: c    s  * + , d k  } - x# |  d - r } . | i | ƒ q W/ d } 0 x 0 d o„ 1 | i ƒ  } 2 | d j p
 | d j o 3 Pn 4 | d j o 5 t ‚ n 6 | d j o 7 | d  } n 9 | | } qJ W: | i d ƒ ; | i d ƒ < | Sd S(	   s9   Prompt for password with echo off, using Windows getch().Ni    s    i   s   s   
s   s   (   s   msvcrts   prompts   cs   putchs   pws   getchs   KeyboardInterrupt(   s   prompts   msvcrts   cs   pws$   /mit/python/lib/python2.0/getpass.pys   win_getpass* s&    		 
c    s   ? @ d GHA t  |  ƒ Sd  S(   Ns7   Warning: Problem with getpass. Passwords may be echoed.(   s
   _raw_inputs   prompt(   s   prompts$   /mit/python/lib/python2.0/getpass.pys   default_getpass? s   c    s›   D G d  k  } H t |  ƒ }  I |  o J | i i |  ƒ n K | i i ƒ  } L | o M t ‚ n N | d d j o O | d  } n P | Sd  S(   Ni   s   
(	   s   syss   strs   prompts   stdouts   writes   stdins   readlines   lines   EOFError(   s   prompts   syss   lines$   /mit/python/lib/python2.0/getpass.pys
   _raw_inputD s   
s    c     s‹   S Y [ d k  }  ] xI d d d d f d ] r0 } ^ |  i i | ƒ } _ | o ` | Sn q* Wc d k } d | i |  i ƒ  ƒ d Sd S(   s¹   Get the username from the environment or password database.

	First try various environment variables, then the password
	database.  This works on Windows as long as USERNAME is set.

	Ns   LOGNAMEs   USERs   LNAMEs   USERNAMEi    (   s   oss   names   environs   gets   users   pwds   getpwuids   getuid(   s   oss   names   users   pwds$   /mit/python/lib/python2.0/getpass.pys   getuserS s    	
(   s   AskPassword(   s   __doc__s   syss   unix_getpasss   win_getpasss   default_getpasss
   _raw_inputs   getusers   termioss   TERMIOSs   ImportErrors   msvcrts   EasyDialogss   AskPasswords   getpass(    s$   /mit/python/lib/python2.0/getpass.pys   ?	 s&   