JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 vh@s*ddlZddlmZGdddejZdS)N)uploadc@s(eZdZdZddZddZddZdS) rza Override default upload behavior to obtain password in a variety of different ways. cCs8tjj||jptj|_|jp0|jp0|j|_dS)N) origrfinalize_optionsusernamegetpassZgetuserZpassword_load_password_from_keyring_prompt_for_password)selfr /usr/lib/python3.6/upload.pyr s   zupload.finalize_optionsc Cs2ytd}|j|j|jStk r,YnXdS)zM Attempt to load password from keyring. Suppress Exceptions. keyringN) __import__Z get_passwordZ repositoryr Exception)r r r r r rs z"upload._load_password_from_keyringc Cs&ytjSttfk r YnXdS)zH Prompt for a password on the tty. Suppress Exceptions. N)rrKeyboardInterrupt)r r r r r#szupload._prompt_for_passwordN)__name__ __module__ __qualname____doc__rrrr r r r rs r)rZdistutils.commandrrr r r r s