h&>w      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                      Safe-Inferred%joseWrap a secret.Input size must be a multiple of 8 bytes, and at least 16 bytes. Output size is input size plus 8 bytes.joseUnwrap a secret.Input size must be a multiple of 8 bytes, and at least 24 bytes. Output size is input size minus 8 bytes.Returns  if inherent integrity check fails. Otherwise, the chance that the key data is corrupt is 2 ^ -64.joseregisterjosestep (t) and offset (i)joseregisterjosestep (t) and offset (i) Safe-InferredHjoseAn error when decoding a JOSE compact object. JSON decoding errors that occur during compact object processing throw .jose:Bad UTF-8 data in a compact object, at the specified index joseThe wrong number of parts were found when decoding a compact JOSE object. joseexpected vs actual parts jose+Get the expected or actual number of parts. jose+Get the expected or actual number of parts.joseAll the errors that can occur.jose(A requested algorithm is not implementedjose$A requested algorithm cannot be usedjoseWrong type of key was givenjoseKey size is too smalljose,RSA private key with >2 primes not supportedjose+RSA encryption, decryption or signing errorjose&Various cryptonite library error casesjose.Wrong number of parts in compact serialisationjoseJSON (Aeson) decoding errorjose*No usable keys were found in the key storejose AnyValidated2 policy active, and no valid signature encounteredjose AllValidated1 policy active, and invalid signature encountered jose AllValidated policy active, and there were no signatures on object that matched the allowed algorithms8joseRun the & computation. Result is an  Either e a where e is the error type (typically  or )9joseGet the inner  value of the & computation. Typically 86 would be preferred, unless you specifically need an  value..  !"&'()*+,-./0123456789.89&' ()*+,-./01234567 !" Safe-Inferred"Bjose7Data that can be converted to a compact representation.Djose6Data that can be parsed from a compact representation.Fjose Decode a compact representation.Gjose(Encode data to a compact representation.BCDEFGDEFBCG Safe-InferredjoseExpression for an end guard. Arg describes type it was expecting.joseBuild a catch-all guard that fails. String describes what is expected.joseDerive a JOSE sum type with nullary data constructors, along with  and  instancesjose Type name.joseList of JSON string values. The corresponding constructor is derived by upper-casing the first letter and converting non-alpha-numeric characters are converted to underscores. Safe-Inferred"DHjoseRFC 7518 3.1. "alg" (Algorithm) Header Parameters Values for JWSHVWUTSRQPONMLKJIHVWUTSRQPONMLKJI Safe-Inferred"P]joseRFC 7518 4.1. "alg" (Algorithm) Header Parameter Values for JWEThis section is shuffled off into its own module to avoid circular import via Crypto.JOSE.JWK, which needs Alg.]nmlhgfed`_kjicba^]nmlhgfed`_kjicba^ Safe-Inferred" jose.Insert the given key and value into the given Value, which is expected to be an Object. If the value is not an Object, this is a no-op.jose,Insert several key/value pairs to the given Value, which is expected to be an Object. If the value is not an Object, this is a no-op.joseProduce a parser of base64 encoded text from a bytestring parser.jose.Convert a bytestring to a base64 encoded JSON tjose(Prism for encoding / decoding base64url. To encode,  base64url. To decode,  base64url.+Works with any combinations of strict/lazy  ByteString.joseProduce a parser of base64url encoded text from a bytestring parser.jose1Convert a bytestring to a base64url encoded JSON joseConvert an unsigned big endian octet sequence to the integer it represents.joseConvert an integer to its unsigned big endian representation as an octet sequence. t Safe-Inferred""L ujose=A base64url encoded octet sequence interpreted as an integer.The value is encoded in the minimum number of octets (no leading zeros) with the exception of 0 which is encoded as AA,. A leading zero when decoding is an error.yjose#A base64 encoded X.509 certificate.{joseA base64url encoded SHA-256 digest. Used for X.509 certificate thumbprints.}joseA base64url encoded SHA-1 digest. Used for X.509 certificate thumbprints.joseA base64url encoded octet sequence. Used for payloads, signatures, symmetric keys, salts, initialisation vectors, etc.joseA base64url encoded octet sequence interpreted as an integer and where the number of octets carries explicit bit-length information.jose(Parse an octet sequence into an integer.2This function deals with ugly special cases from  -https://tools.ietf.org/html/rfc7518#section-2, specificallyThe empty sequence is invalid9Leading null byte is invalid (unless it is the only byte)jose Create a SizedBase64Integer' from an .jose Parsed a  with an expected number of bytes.tuvyz{|}~uv}~{|yzt Safe-Inferred"%&%joseParameters for RSA Keysjose"Parameters for Elliptic Curve KeysjoseRSA private key parametersjose(Optional parameters for RSA private keysjose#"oth" (Other Primes Info) Parameterjose"crv" (Curve) Parameterjose,Conversion from known curves and back again.jose'Keys that may have have public materialjoseGet the public keyjoseKeygen parameters.jose(Generate an EC key with specified curve.jose+Generate an RSA key with specified size in bytes.jose0Generate a symmetric key with specified size in bytes.jose;Generate an EdDSA or Edwards ECDH key with specified curve.joseKey material sum type.joseSymmetric key parameters data. Safe-Inferred' Safe-Inferred "%&(.jose+RFC 7517 4.4. "alg" (Algorithm) ParameterSee also RFC 7518 6.4. which states that for "oct" keys, an "alg" member SHOULD be present to identify the algorithm intended to be used with the key, unless the application uses another means or convention to determine the algorithm used.jose4RFC 7517 4.3. "key_ops" (Key Operations) Parameterjose'RFC 7517 4. JSON Web Key (JWK) Formatjose0RFC 7517 4.2. "use" (Public Key Use) ParameterjoseRFC 7517 5. JWK Set FormatjoseGet the certificate chain. Not a lens, because the key of the first certificate in the chain must correspond be the public key of the JWK. To set the certificate chain use .joseSet the "x5c" Certificate Chain parameter. If setting the list, checks that the key in the first certificate matches the JWK; returns Nothing if it does not.joseGenerate a JWK. Apart from key parameters, no other parameters are set.jose"Convert RSA private key into a JWKjose$Convert an RSA public key into a JWKjose#Convert an EC public key into a JWKjoseConvert octet string into a JWKjose(Convert an X.509 certificate into a JWK.Supports RSA and ECDSA (when the curve is supported). Other key types will throw .The "x5c"5 field of the resulting JWK contains the certificate.joseSanity-check a JWK.Return an appropriate error if the key is size is too small to be used with any JOSE algorithm, or for other problems that mean the key cannot be used.joseChoose the cryptographically strongest JWS algorithm for a given key. The JWK "alg" algorithm parameter is ignored.jose#Compute the JWK Thumbprint of a JWKjosePrism from ByteString to HashAlgorithm a => Digest a.Use  digest to view the bytes of a digestjose,JWK canonicalised for thumbprint computationt7t  Safe-Inferred4jose.Verification keys. Lookup operates in effect m( with access to the JWS header of type h and a payload of type s.The returned keys are not guaranteed to be used, e.g. if the JWK "use" or  "key_ops"+ field does not allow use for verification.jose4Look up verification keys by JWS header and payload.joseUse a  as a . Can be used with any payload type. Returns all keys in the set; header and payload are ignored. No filtering is performed.joseUse a  as a . Can be used with any payload type. Header and payload are ignored. No filtering is performed.jose JWS headerjosePayload  Safe-Inferred"6 joseRFC 7518 4.8.1. Header Parameters Used for PBES2 Key EncryptionjosePBKDF2 salt inputjose)PBKDF2 iteration count ; POSITIVE integerjoseRFC 7518 4.7.1. Header Parameters Used for AES GCM Key Encryptionjose)Initialization Vector (must be 96 bits?)jose&Authentication Tag (must be 128 bits?)jose?RFC 7518 4.6.1. Header Parameters Used for ECDH Key Agreementjose'Ephemeral Public Key ; a JWK PUBLIC keyjoseAgreement PartyUInfojoseAgreement PartyVInfojose9RFC 7518 4. Cryptographic Algorithms for Key Managementjose?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop\qrstuvwxyz{|}~lmnop                   q r s t u v w x y z { | } ~                                                                                                                                                           jose-0.10-85ss4FxYherD9FCswT41elCrypto.JOSE.TypesCrypto.JOSE.AESKWCrypto.JOSE.ErrorCrypto.JOSE.CompactCrypto.JOSE.JWA.JWSCrypto.JOSE.JWA.JWE.AlgCrypto.JOSE.JWA.JWKCrypto.JOSE.JWKCrypto.JOSE.JWK.StoreCrypto.JOSE.JWA.JWECrypto.JOSE.HeaderCrypto.JOSE.JWS Crypto.JOSECrypto.JOSE.JWE Crypto.JWTJWTErrorCrypto.JOSE.THCrypto.JOSE.Types.InternalCrypto.JOSE.Types.URI*network-uri-2.6.4.1-DXx94Tarxth8HOiU66mdO8 Network.URIURI!x509-1.7.7-9jHEdtaSYBi3p0EOYix4UZ Data.X509SignedCertificate aesKeyWrap aesKeyUnwrapCompactDecodeErrorCompactInvalidNumberOfPartsCompactInvalidTextCompactTextErrorInvalidNumberOfParts expectedParts actualParts$fShowInvalidNumberOfParts$fShowCompactTextError$fEqCompactDecodeError$fEqCompactTextError$fEqInvalidNumberOfPartsErrorAlgorithmNotImplementedAlgorithmMismatch KeyMismatchKeySizeTooSmallOtherPrimesNotSupportedRSAError CryptoErrorJSONDecodeError NoUsableKeysJWSCritUnprotectedJWSNoValidSignaturesJWSInvalidSignatureJWSNoSignatures_CompactInvalidNumberOfParts_CompactInvalidText$fShowCompactDecodeError $fEqError $fShowErrorJOSEAsError_Error_AlgorithmNotImplemented_AlgorithmMismatch _KeyMismatch_KeySizeTooSmall_OtherPrimesNotSupported _RSAError _CryptoError_CompactDecodeError_JSONDecodeError _NoUsableKeys_JWSCritUnprotected_JWSNoValidSignatures_JWSInvalidSignature_JWSNoSignaturesrunJOSE unwrapJOSE$fAsErrorError$fMonadRandomJOSE $fMonadIOJOSE$fMonadErroreJOSE$fMonadTransJOSE $fMonadJOSE$fApplicativeJOSE $fFunctorJOSE ToCompact toCompact FromCompact fromCompact decodeCompact encodeCompactAlgHS256HS384HS512RS256RS384RS512ES256ES384ES512ES256KPS256PS384PS512NoneEdDSA $fToJSONAlg $fFromJSONAlg$fEqAlg$fOrdAlg $fShowAlgRSA1_5RSA_OAEP RSA_OAEP_256A128KWA192KWA256KWDirECDH_ESECDH_ES_A128KWECDH_ES_A192KWECDH_ES_A256KW A128GCMKW A192GCMKW A256GCMKWPBES2_HS256_A128KWPBES2_HS384_A192KWPBES2_HS512_A256KW base64url Base64Integer$fEqBase64Integer$fShowBase64Integer Base64X509 Base64SHA256 Base64SHA1 Base64OctetsSizedBase64Integer_Base64IntegermakeSizedBase64Integer checkSize$fToJSONBase64Integer$fFromJSONBase64Integer$fToJSONSizedBase64Integer$fFromJSONSizedBase64Integer$fEqSizedBase64Integer$fToJSONBase64Octets$fFromJSONBase64Octets$fToJSONBase64SHA1$fFromJSONBase64SHA1$fToJSONBase64SHA256$fFromJSONBase64SHA256$fToJSONBase64X509$fFromJSONBase64X509$fEqBase64X509$fShowBase64X509$fEqBase64SHA256$fShowBase64SHA256$fEqBase64SHA1$fShowBase64SHA1$fEqBase64Octets$fShowBase64Octets$fShowSizedBase64IntegerRSAKeyParametersECKeyParametersRSAPrivateKeyParametersrsaDrsaOptionalParametersRSAPrivateKeyOptionalParametersrsaPrsaQrsaDprsaDqrsaQirsaOthRSAPrivateKeyOthElemrOthdOthtOthCrvP_256P_384P_521 Secp256k1ecCrvecXecYecDgenECcurvepoint ecPrivateKeyecParametersFromX509 $fToJSONCrv $fFromJSONCrv$fToJSONRSAPrivateKeyOthElem$fFromJSONRSAPrivateKeyOthElem'$fToJSONRSAPrivateKeyOptionalParameters)$fFromJSONRSAPrivateKeyOptionalParameters$fToJSONRSAPrivateKeyParameters!$fFromJSONRSAPrivateKeyParameters$fToJSONECKeyParameters$fFromJSONECKeyParameters$fEqRSAKeyParameters$fShowRSAKeyParameters$fEqECKeyParameters$fShowECKeyParameters$fEqRSAPrivateKeyParameters$fShowRSAPrivateKeyParameters#$fEqRSAPrivateKeyOptionalParameters%$fShowRSAPrivateKeyOptionalParameters$fEqRSAPrivateKeyOthElem$fShowRSAPrivateKeyOthElem$fEqCrv$fOrdCrv $fShowCrv AsPublicKey asPublicKeyKeyMaterialGenParam ECGenParam RSAGenParam OctGenParam OKPGenParam KeyMaterial ECKeyMaterialRSAKeyMaterialOctKeyMaterialOKPKeyMaterialOKPCrvEd25519Ed448X25519X448OKPKeyParameters Ed25519KeyEd448Key X25519KeyX448KeyOctKeyParametersrsaErsaNrsaPrivateKeyParametersgenRSAtoRSAKeyParameterstoRSAPublicKeyParameters rsaPublicKeyoctKgenOKPgenKeyMaterialsignverify$fToJSONRSAKeyParameters$fFromJSONRSAKeyParameters$fToJSONOctKeyParameters$fFromJSONOctKeyParameters$fToJSONOKPKeyParameters$fFromJSONOKPKeyParameters$fShowOKPKeyParameters$fToJSONKeyMaterial$fFromJSONKeyMaterial$fAsPublicKeyKeyMaterial$fAsPublicKeyOKPKeyParameters$fAsPublicKeyECKeyParameters$fAsPublicKeyRSAKeyParameters$fEqKeyMaterialGenParam$fShowKeyMaterialGenParam$fEqKeyMaterial$fShowKeyMaterial $fEqOKPCrv $fShowOKPCrv$fEqOKPKeyParameters$fEqOctKeyParameters$fShowOctKeyParametersJWKAlgJWSAlgJWEAlg$fToJSONJWKAlg$fFromJSONJWKAlg $fEqJWKAlg $fShowJWKAlgKeyOpSignVerifyEncryptDecryptWrapKey UnwrapKey DeriveKey DeriveBits $fToJSONKeyOp$fFromJSONKeyOp $fEqKeyOp $fOrdKeyOp $fShowKeyOpJWKKeyUseSigEnc$fToJSONKeyUse$fFromJSONKeyUse$fEqJWK $fShowJWK $fEqKeyUse $fOrdKeyUse $fShowKeyUseJWKSetjwkAlg jwkKeyOpsjwkKid jwkMaterialjwkUsejwkX5t jwkX5tS256jwkX5ujwkX5c setJWKX5cgenJWKfromKeyMaterialfromRSA fromOctetsfromX509CertificatecheckJWK bestJWSAlg thumbprintdigest$fAsPublicKeyJWK $fToJSONJWK $fFromJSONJWK$fToJSONJWKSet$fFromJSONJWKSet $fEqJWKSet $fShowJWKSetVerificationKeyStoregetVerificationKeys$fVerificationKeyStoremhsJWKSet$fVerificationKeyStoremhsJWKPBES2Parameters_p2s_p2cAESGCMParameters_iv_tagECDHParameters_epk_apu_apv AlgWithParams algObjectalgWithParamsObject$fToJSONECDHParameters$fFromJSONECDHParameters$fToJSONAESGCMParameters$fFromJSONAESGCMParameters$fToJSONPBES2Parameters$fFromJSONPBES2Parameters$fToJSONAlgWithParams$fFromJSONAlgWithParams$fEqAlgWithParams$fShowAlgWithParams$fEqPBES2Parameters$fShowPBES2Parameters$fEqAESGCMParameters$fShowAESGCMParameters$fEqECDHParameters$fShowECDHParameters A128CBC_HS256 A192CBC_HS384 A256CBC_HS512A128GCMA192GCMA256GCM $fToJSONEnc $fFromJSONEnc$fEqEnc$fOrdEnc $fShowEncHasCritcritHasCtyctyHasTyptyp HasX5tS256x5tS256HasX5tx5tHasX5cx5cHasX5ux5uHasKidkidHasJwkjwkHasJkujkuHasAlgalg HeaderParamProtectionIndicator getProtectedgetUnprotected Protection Protected Unprotected HasParamsparams extensionsparseParamsFor parseParamsprotectedParamsEncodedunprotectedParams protectionparam isProtectedheaderOptionalheaderOptional'headerOptionalProtectedheaderRequiredheaderRequiredProtected parseCrit$fProtectionIndicator()$fProtectionIndicatorProtection$fFunctorHeaderParam$fEqHeaderParam$fShowHeaderParam$fEqProtection$fShowProtectionHasValidationPolicyvalidationPolicy HasAlgorithms algorithmsHasValidationSettingsvalidationSettingsvalidationSettingsAlgorithms"validationSettingsValidationPolicyValidationSettingsValidationPolicy AnyValidated AllValidated CompactJWS FlattenedJWS GeneralJWSJWS Signature HasJWSHeader jwsHeader JWSHeader newJWSHeader makeJWSHeaderheader signature signaturesrawProtectedHeadersignJWSdefaultValidationSettings verifyJWS' verifyJWSverifyJWSWithPayload$fHasParamsJWSHeader $fHasCrita $fHasCtya $fHasTypa $fHasX5tS256a $fHasX5ta $fHasX5ca $fHasX5ua $fHasKida $fHasJwka $fHasJkua $fHasAlga$fHasJWSHeaderJWSHeader$fToJSONSignature$fFromJSONSignature $fEqSignature$fFromCompactJWS$fToCompactJWS $fToJSONJWS $fToJSONJWS0 $fFromJSONJWS$fFromJSONJWS0 $fShowJWS$fEqJWS)$fHasValidationSettingsValidationSettings$fHasAlgorithmsa$fHasValidationPolicya$fEqValidationPolicy$fShowSignature $fEqJWSHeader$fShowJWSHeadervulnerableToHashFloodJWE _protectedRaw_jweIv_jweAad_jweCiphertext_jweTag_jweRecipients JWEHeader_jweAlg_jweEnc_jweZip_jweJku_jweJwk_jweKid_jweX5u_jweX5c_jweX5t _jweX5tS256_jweTyp_jweCty_jweCrit$fHasParamsJWEHeader$fFromJSONJWERecipient $fFromJSONJWE $fEqJWEHeader$fShowJWEHeader$fEqCritParameters$fShowCritParametersJWSErrorJWTClaimsSetDecodeError JWTExpiredJWTNotYetValidJWTNotInIssuerJWTNotInAudienceJWTIssuedAtFuture $fEqJWTError$fShowJWTError NumericDate StringOrURI AsJWTError _JWTError _JWSError_JWTClaimsSetDecodeError _JWTExpired_JWTNotYetValid_JWTNotInIssuer_JWTNotInAudience_JWTIssuedAtFuture stringOrUristringuri$fAsErrorJWTError$fAsJWTErrorJWTError$fToJSONStringOrURI$fFromJSONStringOrURI$fIsStringStringOrURI$fEqNumericDate$fOrdNumericDate$fShowNumericDate$fEqStringOrURI$fShowStringOrURIAudience$fToJSONNumericDate$fFromJSONNumericDate $fEqAudience$fShowAudienceJWTValidationSettings HasClaimsSet claimsSetclaimIssclaimSubclaimAudclaimExpclaimNbfclaimIatclaimJti ClaimsSetunregisteredClaimsemptyClaimsSetaddClaim$fToJSONAudience$fFromJSONAudience$fToJSONClaimsSet$fFromJSONClaimsSet$fHasClaimsSetClaimsSet $fEqClaimsSet$fShowClaimsSetWrappedUTCTime getUTCTime SignedJWTHasCheckIssuedAt checkIssuedAtHasIssuerPredicateissuerPredicateHasAudiencePredicateaudiencePredicateHasAllowedSkew allowedSkewHasJWTValidationSettingsjWTValidationSettings jwtValidationSettingsAllowedSkew&jwtValidationSettingsAudiencePredicate"jwtValidationSettingsCheckIssuedAt$jwtValidationSettingsIssuerPredicate'jwtValidationSettingsValidationSettingsdefaultJWTValidationSettingsvalidateClaimsSet verifyJWT verifyClaims verifyJWTAtverifyClaimsAtsignJWT signClaims$fHasValidationSettingsa/$fHasJWTValidationSettingsJWTValidationSettings$fHasAllowedSkewa$fHasAudiencePredicatea$fHasIssuerPredicatea$fHasCheckIssuedAta$fMonadTimeReaderTbase GHC.MaybeNothingaesKeyWrapStepaesKeyUnwrapSteptransformers-0.5.6.2Control.Monad.Trans.ExceptExceptT endGuardExpendGuardderiveJOSEType$aeson-2.1.0.0-L7AybCZfHWNGm5ZqVLZDE7Data.Aeson.Types.ToJSONToJSONData.Aeson.Types.FromJSONFromJSONinsertToObjectinsertManyToObjectparseB64 encodeB64Data.Aeson.Types.InternalValuelens-5.2-4USDjI40OnKDCMePzDQpOOControl.Lens.ReviewreviewControl.Lens.Foldpreview parseB64Url encodeB64Url bsToInteger integerToBSsizedIntegerToBSintBytes parseOctets ghc-bignumGHC.Num.IntegerInteger fromCurveName&cryptonite-0.30-3EXX8DluuULGgk1pU5sPJE Crypto.RandomwithRandomBytes drgNewTest drgNewSeeddrgNewseedFromBinaryseedFromInteger seedToIntegerseedNewSeedCrypto.Random.ChaChaDRG ChaChaDRGCrypto.Random.SystemDRG getSystemDRG SystemDRGCrypto.Random.TypeswithDRG MonadRandomgetRandomBytesDRGrandomBytesGenerateMonadPseudoRandom uriFromJSON uriToJSON fromRSAPublic fromECPublicrethumbprintRepr Crypto.HashdigestFromByteStringhashPrefixWithhashWith hashInitWithhashFinalizePrefix hashFinalize hashUpdates hashUpdatehashInithashlazy hashPrefixhashCrypto.Hash.Blake2Blake2sBlake2bBlake2spBlake2bpCrypto.Hash.SHAKESHAKE128SHAKE256Crypto.Hash.Blake2b Blake2b_160 Blake2b_224 Blake2b_256 Blake2b_384 Blake2b_512Crypto.Hash.Blake2bp Blake2bp_512Crypto.Hash.Blake2s Blake2s_160 Blake2s_224 Blake2s_256Crypto.Hash.Blake2sp Blake2sp_224 Blake2sp_256Crypto.Hash.Keccak Keccak_224 Keccak_256 Keccak_384 Keccak_512Crypto.Hash.MD2MD2Crypto.Hash.MD4MD4Crypto.Hash.MD5MD5Crypto.Hash.RIPEMD160 RIPEMD160Crypto.Hash.SHA1SHA1Crypto.Hash.SHA224SHA224Crypto.Hash.SHA256SHA256Crypto.Hash.SHA3SHA3_224SHA3_256SHA3_384SHA3_512Crypto.Hash.SHA384SHA384Crypto.Hash.SHA512SHA512Crypto.Hash.SHA512t SHA512t_224 SHA512t_256Crypto.Hash.Skein256 Skein256_224 Skein256_256Crypto.Hash.Skein512 Skein512_224 Skein512_256 Skein512_384 Skein512_512Crypto.Hash.TigerTigerCrypto.Hash.Whirlpool WhirlpoolCrypto.Hash.Types HashAlgorithm hashBlockSizehashDigestSizeHashAlgorithmPrefixContextDigestJustprotectedParams Data.AesonencodedecodeData.Functor.IdentityIdentity _jwsHeaderJku _jwsHeaderKid _jwsHeaderTyp _jwsHeaderCty_jweEncryptedKeywrap wrapAESKWencrypt _cbcHmacEnc_gcmEnc#_jwtValidationSettingsCheckIssuedAt