ó â\e[c@sTdZddlZddlZddlmZmZmZdefd„ƒYZ dS(sStore and retrieve wheel signing / verifying keys. Given a scope (a package name, + meaning "all packages", or - meaning "no packages"), return a list of verifying keys that are trusted for that scope. Given a package name, return a list of (scope, key) suggested keys to sign that package (only the verifying keys; the private signing key is stored elsewhere). Keys here are represented as urlsafe_b64encoded strings with no padding. Tentative command line interface: # list trusts wheel trust # trust a particular key for all wheel trust + key # trust key for beaglevote wheel trust beaglevote key # stop trusting a key for all wheel untrust + key # generate a key pair wheel keygen # import a signing key from a file wheel import keyfile # export a signing key wheel export key iÿÿÿÿNi(tnativetload_config_pathstsave_config_patht WheelKeyscBs_eZdZdZd„Zd„Zd„Zd„Zd„Zd d„Z d„Z d „Z RS( is wheel.jsoncCsigd6gd6|_dS(Ntsignerst verifiers(tdata(tself((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyt__init__,sc CsxÿtdƒD]ñ}tjjt|ƒ|jƒ}tjj|ƒr t|dƒ¦}tj |ƒ|_ x-dD]%}||j krng|j |Xs(Rtsorttreverse(RRRR!((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyttrustedTs 0 cCseg|jdD]0}|d|dfkr|d|df^q}|jdd„ƒ|jƒ|S(sReturn list of signing key(s).RRR$RR%cSs|dS(Ni((R((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyR&_s(RR'R((RRRtsign((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyR\sD cCs&|jdji|d6|d6ƒdS(s>Remember verifying key vk as being valid for signing in scope.RRRN(RR (RRR((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyt add_signercsN( t__name__t __module__RRRRRR!R#tNoneR)RR+(((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyR(s       ( t__doc__Rtos.pathR tutilRRRtobjectR(((s6/tmp/pip-install-0xiv62/wheel/wheel/signatures/keys.pyt s