PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` giddlmZmZmZmZddlmZddlmZm Z m Z edk(rddl m Z nddl m Z gdZdd Zd Zd ZGd d Zy))unicode_literalsdivisionabsolute_importprint_function)ffi)newnullunwrapcffi)bcrypt)r BcryptConstclose_alg_handle handle_erroropen_alg_handlecttd}tj||t|}t |t |S)NzBCRYPT_ALG_HANDLE *)r rBCryptOpenAlgorithmProviderr rr )constantflagshandle_pointerress C/opt/nydus/tmp/pip-target-bkdi07qp/lib/python/oscrypto/_win/_cng.pyrrs:!67N  , ,^Xtvu UC . !!cFtj|d}t|y)Nr)rBCryptCloseAlgorithmProviderr)handlers rrrs  - -fa 8CrcT|dk(rytjdtjdtjdtjdtj dtj dtjd tjd i}d |z}|||vr |d ||zz }t|) z Extracts the last Windows error message into a python unicode string :param error_num: The number to get the error string for :return: A unicode string error message rNzThe object was not foundz8An invalid parameter was passed to a service or functionz_Not enough virtual memory or paging file quota is available to complete the specified operationzAn invalid HANDLE was specifiedz&The cryptographic signature is invalidzThe request is not supportedz,The buffer is too small to contain the entryz=The size of the buffer is invalid for the specified operationzNTSTATUS error 0x%0.2Xz: ) rSTATUS_NOT_FOUNDSTATUS_INVALID_PARAMETERSTATUS_NO_MEMORYSTATUS_INVALID_HANDLESTATUS_INVALID_SIGNATURESTATUS_NOT_SUPPORTEDSTATUS_BUFFER_TOO_SMALLSTATUS_INVALID_BUFFER_SIZEOSError) error_nummessagesoutputs rrr#sA~ $$&@,,.h$$ m))+L,,.V((*H++-[..0o H& 1Fh!6$),,, &/rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd#Z(d$Z)dZ*d%Z+dZ,d&Z-dZ.d'Z/d(Z0d)Z1d*Z2d+Z3d,Z4d-Z5d.Z6d/Z7d0Z8d1Z9d2Z:d3Z;d4ZdZ?dZ@y7)8rRNG KeyLengthEffectiveKeyLengthRSAPRIVATEBLOBRSAFULLPRIVATEBLOB RSAPUBLICBLOBDSAPRIVATEBLOB DSAPUBLICBLOBECCPRIVATEBLOB ECCPUBLICBLOBiRSA1iRSA2iRSA3iDSPBiDSPViDPB2iDPV2rr riECS1iECS2iECS3iECS4iECS5iECS6l%l lll ll#liKDBM KeyDataBlob3DES3DES_112AESDESRC2RC4DSA ECDSA_P256 ECDSA_P384 ECDSA_P521RSAMD5SHA1SHA256SHA384SHA512N)A__name__ __module__ __qualname__BCRYPT_RNG_ALGORITHMBCRYPT_KEY_LENGTHBCRYPT_EFFECTIVE_KEY_LENGTHBCRYPT_RSAPRIVATE_BLOBBCRYPT_RSAFULLPRIVATE_BLOBBCRYPT_RSAPUBLIC_BLOBBCRYPT_DSA_PRIVATE_BLOBBCRYPT_DSA_PUBLIC_BLOBBCRYPT_ECCPRIVATE_BLOBBCRYPT_ECCPUBLIC_BLOBBCRYPT_RSAPUBLIC_MAGICBCRYPT_RSAPRIVATE_MAGICBCRYPT_RSAFULLPRIVATE_MAGICBCRYPT_DSA_PUBLIC_MAGICBCRYPT_DSA_PRIVATE_MAGICBCRYPT_DSA_PUBLIC_MAGIC_V2BCRYPT_DSA_PRIVATE_MAGIC_V2DSA_HASH_ALGORITHM_SHA1DSA_HASH_ALGORITHM_SHA256DSA_HASH_ALGORITHM_SHA512 DSA_FIPS186_2 DSA_FIPS186_3BCRYPT_NO_KEY_VALIDATIONBCRYPT_ECDSA_PUBLIC_P256_MAGICBCRYPT_ECDSA_PRIVATE_P256_MAGICBCRYPT_ECDSA_PUBLIC_P384_MAGICBCRYPT_ECDSA_PRIVATE_P384_MAGICBCRYPT_ECDSA_PUBLIC_P521_MAGICBCRYPT_ECDSA_PRIVATE_P521_MAGICSTATUS_SUCCESSrr r!r"r#r$r%r&BCRYPT_KEY_DATA_BLOB_MAGICBCRYPT_KEY_DATA_BLOB_VERSION1BCRYPT_KEY_DATA_BLOBBCRYPT_PAD_PKCS1BCRYPT_PAD_OAEPBCRYPT_PAD_PSSBCRYPT_3DES_ALGORITHMBCRYPT_3DES_112_ALGORITHMBCRYPT_AES_ALGORITHMBCRYPT_DES_ALGORITHMBCRYPT_RC2_ALGORITHMBCRYPT_RC4_ALGORITHMBCRYPT_DSA_ALGORITHMBCRYPT_ECDSA_P256_ALGORITHMBCRYPT_ECDSA_P384_ALGORITHMBCRYPT_ECDSA_P521_ALGORITHMBCRYPT_RSA_ALGORITHMBCRYPT_MD5_ALGORITHMBCRYPT_SHA1_ALGORITHMBCRYPT_SHA256_ALGORITHMBCRYPT_SHA384_ALGORITHMBCRYPT_SHA512_ALGORITHMBCRYPT_ALG_HANDLE_HMAC_FLAGBCRYPT_BLOCK_PADDINGrrrrFsq #"6-!5+.,-+'(",()!+", ! !MM %/"&0#%/"&0#%/"&0#N!)!&)%(!+!+$.!(! ON" *     ".".".  "&&&",%rrN)r) __future__rrrrr_ffir r r _cng_cffir _cng_ctypes__all__rrrrrrrrsFRR$$5F?!# " FN&N&r