Files
boc/aamos-ledger-rust/target/debug/deps/libjsonwebtoken-e7696365b5e24ca8.rmeta
T

1657 lines
465 KiB
Plaintext
Raw Normal View History

rust
HA#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁserdeÁFVæ¸Û•IÄÀzÍ-9c8ce3cf08540cc3Á serde_deriveÁ,w|êñ]ù¿¥­C£ð-975c43f96d83014eÁ
serde_coreÁ²€Ãb˜cÐòžÇÇ
-7a42419d8e43b208ÁringÁÅZÈ3.¿ä ±Jתћ-b32a468169f81f9dÁ®f©¾/ô)c§{õa“â‘-a3906971a93fd1b8Áæ\‹±ÔcdùÀTƒ-f86f80b348d33b13Á untrustedÁI /ý+OÆ]‡ôd‰ð.-d6cd86ad6d3ca912Á getrandomÁ³žKYÆB |R¬*9"ÌÝ-50ddae19eb09a1dfÁbase64Á¨NÁP5̘B¥õˆ¤Œ-c809ae07e9abf466Á simple_asn1Á)(ަ-†ä»Í/y¯¤«-bc11de676529e93cÁ
num_bigintÁƱ‘¡°¹ŽEŸü-%þä-1c9fb314b9c73ca9Á num_integerÁ¢úÍI™Ý@ià‹1Hæ²-7dc02ec4196ef545Á
num_traitsÁËßM6@eg^…RžºQ®–•-cec9984d90a4582aÁ thiserrorÁ´,-Uô!ÌÓ°™û½©|#§-9a017bdf1f6911cfÁthiserror_implÁ
²,v€ϸ6»˜-248901177889560cÁtimeÁ¬¬7Í #æUÝTÐhx-9db93fe7b180f52dÁ time_coreÁuqb•KäÖèŽíµ¸-15efa507e9592178ÁderangedÁy3Rø5"ì§„ƒ}¤æ-01d9b2f185808877Ánum_convÁ ¿Àñh¢A¶ÙqÒÁ-137791c09537c162ÁpowerfmtÁÕô¹wÄ·$„¥ƒ„‚„¯-dabe7b344a1502fbÁ time_macrosÁ¢ÒÝÊmÁ 6o·§ýAÙ-567fe938724ff7ebÁ
serde_jsonÁ½vD~ü'ÇÄtÛ?-6e8a40e7f3a7e75cÁzmijÁ[‰Œ×ªo–ÛX—x iHÞh-d3bb8ac9b6edd7e7ÁitoaÁrLpèòÐ
ݽ‚AéGT'-7ba5a7b63f68a66bÁì­†°<šÒ"®9eæ·3š¶Ø-809318e8f6183885ÁpemÁè©M/Î6?ċ̉%¨ƒª-ca3dbaecee9d285bÁtestsÁ,þ¬,«0$ 0À¬,Ön$ËnŸget_current_timestampÁ¬»7ì×´Ö6Ÿ¬,‡i$ühÀ
algorithmsÁ  þfamilyÁcryptoÁ 
  ecdsaÁalg_to_ec_verificationÁalg_to_ec_signingÁsignÁeddsaÁ)))))ô)©rsaÁ0000000000 0alg_to_rsa_parametersÁ0alg_to_rsa_signingÁ0©= = 0verify_from_componentsÁ sign_hmacÁ© verify_ringÁverifyÁdecodingÁEEEEEEEEEE E
E E E
EEEEEEEE[¥[ƒE
expect_twoÁE_ from_secretÁ_from_base64_secretÁ_ from_rsa_pemÁ_from_rsa_componentsÁ_from_rsa_raw_componentsÁ_ from_ec_pemÁ_from_ec_componentsÁ_ from_ed_pemÁ_ from_rsa_derÁ_ from_ec_derÁ_ from_ed_derÁ_from_ed_componentsÁ_from_jwkÁ_as_bytesÁEverify_signatureÁn'aÁEdecodeÁp¥E
decode_headerÁencodingÁssssssssss s
s s s±ÃܧÒä÷innerÁsencodeÁ¥errorsÁ new_errorÁÍ¥ into_kindÁ˜Üš×œŸ÷¡÷£÷¥÷ §÷
©÷headerÁ«««««««««« «
«·æ · from_encodedÁ¹¥·x5c_derÁ» ¼ «¾>jwkÁÀÀÀÀÀÀÀÀÀÀ À
À À À
ÀÀÐ serializeÁѤÀÓ'deÁÓ deserializeÁÕÕPublicKeyUseVisitorÁ×
ÕÙ¨ÙValueÁÙ expectingÁÙ visit_strÁÝÀߊà¤Àâ¨â³ääKeyOperationsVisitorÁæ
äè¨èûèˆ èìÀîîþÀñ×Àó to_algorithmÁÀõ is_supportedÁÀ÷findÁø ÿúdecoderÁûûûûÿæ ÿas_ec_private_keyÁÿas_ec_public_keyÁÿas_ed_private_keyÁÿas_ed_public_keyÁÿ
as_rsa_keyÁûextract_first_bitstringÁû classify_pemÁ
serializationÁˆˆˆˆˆˆˆˆ
b64_encodeÁ¥ˆ
b64_decodeÁ¥ ˆb64_encode_partÁ¥ˆDecodedJwtPartClaimsÁ b64_decodedÁˆfrom_jwt_part_claimsÁšimpl AsRef<[u8]>Á³œéœ¥
validationÁŸŸŸŸŸŸŸŸŸŸ Ÿ
Ÿ Ÿ Ÿ
ŸŸ¯æ ¯ set_audienceÁ±¥± ¯
set_issuerÁ´¥´ ¯set_required_spec_claimsÁ·¥· ¯%insecure_disable_signature_validationÁŸ»>ŸíŸ¾¨¾¥¾³ÁŸÃ¥Ã>ŸÆborrowÁŸ is_subsetÁÈ È ŸvalidateÁŸ numeric_typeĄ́ÌÌ NumericTypeÁÏ
ψÌÒ¨ÒûÒˆ Ò visit_f64ÁÖÒ visit_u64ÁØ 
  
AlgorithmFamilyÁçHmacÁè
çRsaÁê
çEcÁì
çEdÁî
ð×òÖõùƒû_serdeÁûýŠþúï+¨³__DÁ__FieldÁ__field0Á
__field1Á
__field2Á
__field3Á
__FieldVisitorÁ
¨ûˆ ‹*__EÁã- visit_bytesÁã-¨³µ, __VisitorÁŸ¨ŸÚŸ£¨£û£ˆ £
visit_enumÁ§__AÁVARIANTSÁ AlgorithmÁªHS384Á«
ªHS512Á­
ªES256Á¯
ªES384Á±
ªRS256Á³
ªRS384Áµ
ªRS512Á·
ªPS256Á¹
ªPS384Á»
ªPS512Á½
ªEdDSAÁ¿
 Á×
Ã>  Æ
ÈÖʧËùσÑï+ÑÓŠÔúÖï+ÖØ¨Ø³Úµ,ÚÀ,ÜÏ,Ý
Üä,ß
Üù,á
ÜŽ-ã
Ü__field4Áå
Ü__field5Áç
Ü__field6Áé
Ü__field7Áë
Ü__field8Áí
Ü__field9Áï
Ü __field10Áñ
Ü __field11Áó
Ú£-õ
Ú÷¨÷û÷ˆ ÷‹*ûã-÷ýã-÷þ-ÿã-Ú¨³ƒµ,Ú¶.¨ÚÚ¨ûˆ ü.Ž/Ú™/ªHS256Á
E TokenDataÁ¥claimsÁE¥×EDecodingKeyKindÁ SecretOrDerÁš
šˆRsaModulusExponentÁ¹°E ƒE DecodingKeyÁ¢¢E¥ƒs EncodingKeyÁ§§contentÁsªƒErrorÁ¬
¬ˆ ¯ƒ ±×
³Ö ErrorKindÁ¸ InvalidTokenÁ¹
¸InvalidSignatureÁ»
¸InvalidEcdsaKeyÁ½
¸
InvalidRsaKeyÁ¿
¿ˆ¸RsaFailedSigningÁÂ
¸InvalidAlgorithmNameÁÄ
¸InvalidKeyFormatÁÆ
¸MissingRequiredClaimÁÈ
Ȉ¸ExpiredSignatureÁË
¸
InvalidIssuerÁÍ
¸InvalidAudienceÁÏ
¸InvalidSubjectÁÑ
¸ImmatureSignatureÁÓ
¸InvalidAlgorithmÁÕ
¸MissingAlgorithmÁ×
¸Base64ÁÙ
Ùˆ¸JsonÁÜ
܈¸Utf8Áß
߈¸CryptoÁâ
âˆåƒç׫HeaderÁéalgÁ«ë׫탫«ð«òÖ«ôï+ôöŠ÷ú«ùï+ùû¨û³ýµ,ýÀ,ÿÏ,
ÿä,
ÿù,
ÿŽ-
ÿä2ˆ
ÿù2Š
ÿŽ3Œ
ÿ£3Ž
ÿ¸3
ÿÍ3
ÿ__ignoreÁ
ý£-
ý˜¨˜û˜ˆ ˜‹*œã-˜žã-˜þ- ã-ý¢¨¢³¤µ,ý¶.¦¨¦Ú¦ýª¨ªûªˆ ª visit_seqÁ®Ž/ª visit_mapÁ°Ž/ýFIELDSÁ«³§´ùétypÁéctyÁéjkuÁé¯ékidÁéx5uÁéx5cÁéx5tÁéx5t_s256ÁÀ PublicKeyUseÁ¿ SignatureÁÀ
¿
EncryptionÁÂ
¿¯Ä
ĈÀ ǃÀ
É×À ËÖÀ À
ÎÀЧÑùÀ
KeyOperationsÁÓSignÁÔ
ÓVerifyÁÖ
ÓEncryptÁØ
ÓDecryptÁÚ
ÓWrapKeyÁÜ
Ó UnwrapKeyÁÞ
Ó DeriveKeyÁà
Ó
DeriveBitsÁâ
Ó¯ä
äˆÀçƒÀé×ÀëÖÀÀîÀð§ñùÀ KeyAlgorithmÁóÚ5ô
ó¹/ö
óË/ø
óÝ/ú
óï/ü
ó0þ
ó“0
ó¥0
ó·0
óÉ0
óÛ0ˆ
óí0Š
óRSA1_5ÁŒ
ÀŽ×ÀÀÀÖÀ§ùÀÀÀšƒÀœï+œžŠŸúÀ¡ï+¡£¨£³¥µ,¥À,§Ï,¨
§ä,ª
§ù,¬
§Ž-®
§ä2°
§ù2²
§Ž3´
§£3
§¸3¸
§Í3º
§â3¼
§ø3¾
§ __field12ÁÀ
§ __field13ÁÂ
§ __field14ÁÄ
¥£-Æ
¥È¨ÈûȈ È‹*Ìã-ÈÎã-Èþ-Ðã-¥Ò¨Ò³Ôµ,¥¶.Ö¨ÖÚÖ¥Ú¨ÚûÚˆ Úü.ÞŽ/¥™/óRSA_OAEPÁá
ó RSA_OAEP_256Áã
ÀCommonParametersÁÀæ×ÀèƒÀêÖÀ À!íÀïï+ïñŠòúÀôï+ôö¨ö³øµ,øÀ,úÏ,û
úä,ý
úù,ÿ
úŽ-
úä2ƒ
úù2
úŽ3
ú£3
úÍ?
ø£-
ø¨ûˆ ‹*ã-ã-þ-ã-ø¨³µ,ø¶.¨Úø¡¨¡û¡ˆ ¡–A¥Ž/¡¯A§Ž/øÈAÀ"ª>À#¬§­ùåpublic_key_useÁåkey_operationsÁå
key_algorithmÁåkey_idÁåx509_urlÁå
x509_chainÁåx509_sha1_fingerprintÁåx509_sha256_fingerprintÁÀEllipticCurveKeyTypeÁÀ$À%¹ƒÀ&À'¼×À(¾>À)ÀÖÀ*À+ÃÀÅï+ÅÇŠÈúÀÊï+Ę̳̂ε,ÎÀ,ÐÏ,Ñ
Σ-Ó
ÎÕ¨ÕûÕˆ Õ‹*Ùã-ÕÛã-Õþ-Ýã-Îߨ߳áµ,ζ.ã¨ãÚãÎç¨çûçˆ çü.ëŽ/Ι/À,î§ïù·ECÁñ
À
EllipticCurveÁÀ-ôƒÀ.ö×À/ø>À0úÖÀ1À2ýÀÿï+ÿŠúÀï+¨³ˆµ,ˆÀ,ŠÏ,
Šä,
Šù,
ŠŽ-
ˆ£-
ˆ¨ûˆ ‹*ã-ã-þ-ã-ˆŸ¨Ÿ³¡µ,ˆ¶.£¨£Ú£ˆ§¨§û§ˆ §ü.«Ž/ˆ™/À3®§¯ùóP256Á±
óP384Á³
óP521Áµ
óEd25519Á·
ÀEllipticCurveKeyParametersÁ¹Ã¹ÄÀ4¼ƒÀ5¾×À6ÀÖÀ7À8ÃÀÅï+ÅÇŠÈúÀ Êï+Ę̳̂ε,ÎÀ,ÐÏ,Ñ
Ðä,Ó
Ðù,Õ
ÐŽ-×
ÐÍ?Ù
Σ-Û
ÎݨÝû݈ Ý‹*áã-Ýãã-Ýþ-åã-Îç¨ç³éµ,ζ.ë¨ëÚëÎï¨ïûïˆ ï–AóŽ/ï¯AõŽ/ÎÈAÀ9ø>À:ú§ûù¹key_typeÁ¹curveÁÀ
RSAKeyTypeÁÀ;À< ƒÀ=À>×À?>À@ˆ ÖÀAÀBÀ
 ï+  Š úÀ ï+¨³µ,À,˜ Ï,
 £-
 ¨ û ˆ  *¡ ã- £ ã- þ-¥ ã-§ ¨§ ³© µ,¶.« ¨« Ú« ¯ ¨¯ û¯ ˆ ¯ ü.³ Ž/™/ÀC§· ùÿRSAÁ¹
ÀRSAKeyParametersÁ» ¹» °ÀD¾ ƒÀEÀ ×ÀF ÖÀGÀHÅ À Ç ï+Ç É ŠÊ úÀ
Ì ï+Ì Î ¨Î ³Ð µ,Ð À,Ò Ï,Ó
Ò ä,Õ
Ò ù,×
Ò Í?Ù
Ð £-Û
Ð Ý ¨Ý ûÝ ˆ Ý ‹*á ã-Ý ã ã-Ý þ-å ã-Ð ç ¨ç ³é µ,Ð ¶.ë ¨ë Úë Ð ï ¨ï ûï ˆ ï –Aó Ž/ï ¯Aõ Ž/Ð ÈAÀIø >ÀJú §û ù» ñ]À OctetKeyTypeÁÀKÀL
ƒÀMÀNƒ
×ÀO
>ÀP
ÖÀQÀRŠ
ÀŒ
ï+Œ
Ž
Š
úÀ
ï+

¨
³
µ,
À,
Ï,˜

£-š

œ
¨œ
ûœ
ˆ œ
* 
ã-œ
¢
ã-œ
þ-¤
ã-
¦
¨¦
³¨
µ,
¶.ª
¨ª
Úª

®
¨®
û®
ˆ ®
ü.²
Ž/
™/ÀSµ
§
ùþ OctetÁ¸
ÀOctetKeyParametersÁÀT»
ƒÀU½
×ÀV¿
ÖÀWÀXÂ
ÀÄ
ï+Ä
Æ
ŠÇ
úÀÉ
ï+É
Ë
¨Ë
³Í
µ,Í
À,Ï
Ï,Ð
Ï
ä,Ò
Ï
Í?Ô
Í
£-Ö
Í
Ø
¨Ø
ûØ
ˆ Ø
*Ü
ã-Ø
Þ
ã-Ø
þ-à
ã-Í
â
¨â
³ä
µ,Í
¶.æ
¨æ
Úæ
Í
ê
¨ê
ûê
ˆ ê
Aî
Ž/ê
¯Að
Ž/Í
ÈAÀYó
>ÀZõ
§ö
ùº
ñ]º
»ÀOctetKeyPairTypeÁÀ[À\ü
ƒÀ]À^ÿ
×À_ >À`ƒ ÖÀaÀb Àˆ ï+ˆ Š Š úÀ ï+  ¨ ³ µ, À, Ï,
 £-
 ˜ ¨˜ û˜ ˆ ˜ ‹*œ ã-˜ ž ã-˜ þ-  ã- ¢ ¨¢ ³¤ µ, ¶.¦ ¨¦ Ú¦  ª ¨ª ûª ˆ ª ü.® Ž/ ™/Àc± §² ùú
 OctetKeyPairÁ´
ÀOctetKeyPairParametersÁ ÃÀd¸ ƒÀeº ×Àf¼ ÖÀgÀh¿ ÀÁ ï+Á à ŠÄ úÀÆ ï+Æ È ¨È ³Ê µ,Ê À,Ì Ï,Í
Ì ä,Ï
Ì ù,Ñ
Ì Í?Ó
Ê £-Õ
Ê × ¨× û× ˆ × ‹*Û ã-× Ý ã-× þ-ß ã-Ê á ¨á ³ã µ,Ê ¶.å ¨å Úå Ê é ¨é ûé ˆ é –Aí Ž/é ¯Aï Ž/Ê ÈAÀiò >Àjô §õ ù ñ] ^Àkù ƒÀlû ×Àmý ÖÀnÀo À ï+  Š úÀ ï+  ¨ ³ µ,Àp §Ž ùÀAlgorithmParametersÁ âU
 ˆ µa
 ˆ OctetKeyÁ
 ˆ þoš
š ˆÀJwkÁÀqž ƒÀr  ×Às¢ ÖÀtÀu¥ À§ ï+§ © Šª úÀ¬ ï+¬ ® ¨® ³° µ,° À,² ¨² __otherÁ´
´ ˆ° £-·
° ¹ ¨¹ û¹ ˆ ¹ 
visit_boolÁ½ ã-¹ visit_i8Á¿ ã-¹  visit_i16ÁÁ ã-¹  visit_i32Áà ã-¹  visit_i64ÁÅ ã-¹ visit_u8ÁÇ ã-¹  visit_u16ÁÉ ã-¹  visit_u32ÁË ã-¹ *Í ã-¹  visit_f32ÁÏ ã-¹ ò)Ñ ã-¹ 
visit_charÁÓ ã-¹ 
visit_unitÁÕ ã-¹ × ã-¹ þ-Ù ã-¹ visit_borrowed_strÁÛ ã-¹ visit_borrowed_bytesÁÝ ã-° ß ¨ß ³á µ,° ¶.ã ¨ã Úã ° ç ¨ç ûç ˆ ç ¯Aë Ž/Àví §î ù ž  algorithmÁÀJwkSetÁò keysÁÀwô ×Àxö ƒÀyÀzù À{û ÖÀý ï+ý ÿ Š
úÀ
ï+

¨
³
µ,
À,ˆ
Ï,
ˆ
Í?

£-


¨
û
ˆ 
*
ã-

ã-
þ-
ã-

¨
³
µ,
¶.
¨
Ú

¡
¨¡
û¡
ˆ ¡
A¥
Ž/¡
¯A§
Ž/
ÈAûPemTypeÁª
EcPublicÁ«
ª
 EcPrivateÁ­
ª
 RsaPublicÁ¯
ª

RsaPrivateÁ±
ª
EdPublicÁ³
ª
 EdPrivateÁµ
û·
×ûûº
ûStandardÁ¼
Pkcs1Á½
¼
Pkcs8Á¿
ûÁ
×ûûÄ
ûClassificationÁÆ
+Ç
Æ
ž+É
Æ
ÿ*Ë
ûÍ
×ûû Ð
û
PemEncodedKeyÁÒ
â7Ò
asn1ÁÒ
pem_typeÁÒ
standardÁû
×
ן
ValidationÁÙ
required_spec_claimsÁÙ
leewayÁÙ
#reject_tokens_expiring_in_less_thanÁÙ
 validate_expÁÙ
 validate_nbfÁÙ
 validate_audÁÙ
audÁÙ
issÁÙ
ÚÙ
¼Ù
validate_signatureÁŸå
ןç
ƒŸŸê
Ÿ ì
ÖŸClaimsForValidationÁî
éŸð
ï+ð
ò
¨ò
éò
³õ
µ,õ
À,÷
Ï,ø
÷
ä,ú
÷
ù,ü
÷
Ž-þ
÷
ä2
÷
Í?
õ
£-
õ
¨ûˆ ‹*Šã-Œã-þ-Žã-õ
¨³µ,õ
¶.¨éÚõ
¨éûˆ –AžŽ/ž__DeserializeWithÁ ¨ é » phantomÁ ž¦¨¦é¦³©µ,ž ž´ˆ¬¨¬é¬»¬åˆ¬ž²¨²é²³µµ,ž ¯A¸Ž/¸´ˆº¨ºéº»ºåˆº¸À¨ÀéÀ³Ãµ,¸´ˆÅ¨ÅéÅ»ÅåˆÅ¸Ë¨Ëé˳ε,õ
ÈAî
expÁî
nbfÁî
Úî
Å„î
º„ŸTryParseÁÖ¥ÖParsedÁØ
؈Ö
FailedToParseÁÛ
Ö
NotPresentÁÝ
Ÿ
ߥßןâï+âä¨äéä³çµ,ŸAudienceÁéééSingleÁë
éMultipleÁí
ëˆíˆŸñï+ñó¨óéó³öµ,ŸIssuerÁøéø½ú
øÐü
úˆüˆŸBorrowedCowIfPossibleÁ
韃ï+ƒ¨é³ˆµ,ˆ¶.ЍŠéŠÚŠˆ¨éûˆ visit_newtype_structÁã-–AŽ/´ˆ˜¨˜é˜»˜åˆ˜ž¨žéž³¡µ, Ÿ ¤éŸ ¦é¦Ÿ
©é©ÖŸ¬é¬§®ùˆ
(
(
/
/
=
=
@
@
@
@
A
A
B
B
C
C
C
D
D
D
]
`
a
b
c
c
d
d
e
f
f
g
h
i
j
k
l
m
n
n
p
p
p
r

ƒ




ˆ

Š










»
Ñ
Ü
Ü
Ü
Ý
à
ë
ë
ë
ì
ð
ò
ò
ò
ö
ø
ø



ƒ





±
±
´
´
·
·
º
Æ
Ç
È
È
È
Ë
Ë
Õ
Õ
Õ
ñ
ñ
ñ
ó
ö
ö
ú
þ





¦
¦
¦
Â
Â
Â
Ç
Ç
É
Ë
Ë
Ð
Ô
ú
ú
ú
ý
ÿ
Œ
Œ
Œ
˜
˜
˜
¡
¦
«
°
²
²
²
´
·
·
æ
è
è
è
ì
ì
ì
î
ñ
ñ
ó
÷



ž
 
­
­
­
´
´
È
Ê
Ê
Ê
Ì
Ï
Ï
Ñ
Ñ
è
ê
ê
ê
ì
ï
ï
ñ
ñ









Ÿ
Ë
Ë
Ë
Î
Ð
Ý
Ý
Ý
ç
ç
ç
é
ë
î
î
ò





¤
¤
¤
­
­
º
½
½
½
Á
Ä
Ä
È
Ø
Ø
Ø
Û
Ý
ê
ê
ê
ï
ï
õ
÷
÷
÷
û
þ
þ

˜
˜
˜


ª
ª
ª
¯
¯
½
¿
¿
¿
Á
Ä
Ä
È
à
à
à
ã
å
ò
ò
ò
û
û





Œ
Œ

 
 
 
£
¥
²
²
²
·
·
¿
Á
Á
Á
Ã
Æ
Æ
Ê
à
à
à
ã
å
ò
ò
ò
û
û




ˆ



Ÿ
Ÿ
Ÿ
¢
¤
±
±
±


¼
¾
¾
¾
À
Ã
Ã
Ç
Û
Û
Û
Þ
à
í
í
í
ö
ö
ý










ž
 
­
­
­
²
²
¹
»
»
»
½
À
À
Ä
Ú
Ú
Ú
Ý
ß
ì
ì
ì
õ
õ
ú
ü
ü
ü
þ



Ž
Ž
Ÿ
¡
¡
¡
£
¦
¦
ª
¼
¼
¼
×
Ù
ê
ê
ê
î
î
õ
õ
õ
÷
ú
ú
ü






¤
¤
¤
¸
¸
¸
»
»
Â
Â
Â
Å
Å
Î
Î
Î
Ñ
Ñ
Ø
Ø
Ø
æ
æ
æ
è
ë
ë
í



Œ
Ž



á
á
á



¨
¨
«
®
®
¿cçèéî*êëÿ*ìí+îïž+â’Hîøíº¥Ð캥µßº¥º¥Š º¥Ûº¥Øº¥ÙAº¥û;º¥¨Ì<£- çCs1E
%¨û;ˆÏ,Šä,Œù,ŽŽ-Öe¯&¨Ì<ŸŸ¶.¡Ú¢-é Õ¼ÍN¨¨¿cª Ú5«¬¹/­®Ë/¯°Ý/±²ï/³´0µ“0·¸¥0¹º·0»¼É0 ½¾Û0
¿Àí0 ,´Õ >ª<Ö³ܨÐìܨµßܨܨܨšeܨŠ ܨÛܨØܨÙAܨû;ܨ¨Ì<õõö£- ýåOŒ“•¨û;Ü ÝÞÏ,ßàä,áâù,ãäŽ-åæä2çèù2éêŽ3ëì£3íî¸3ïðÍ3 ñòâ3
óôø3 q“kû±¨Ì<¶.Úˆäj ʯI(¨¨ïyܨ¿cë5Œ6ÜœäK§sÖ,¥ØŸ®ØšÄ6œˆä6ž¹Ÿ°YÅÑ»rþ˙آ¢™7£¤
:'"³ÅÞØ§§Ç7¨©â7s¢n¨}©Ø¬¬­ý7®ˆ ´©œ< ðL"¿cððÐìðµßððØ¸¹ºá8»¼ú8½¾—9¿À³9ÁˆÂÃÕ9ÄÅò9ÆÇ“:Èɰ:ʈËÌÙ:ÍÎö: ÏÐ;
ÑÒ¬; ÓÔÇ; ÕÖå;
ר‚<ÙÚŸ<ÛˆÜݺ<ÞˆßàÓ<áˆâãì<äˆbí¢Å/ãA¿c®±¾ðÄcðµß®±®±®±éð¾¿À InvalidByteÁÁˆÂÃÄ
InvalidLengthÁňÆÇInvalidLastSymbolÁȈÉÊËInvalidPaddingÁ•ãÄßua…³éðý7errÁšdå§ôYàïéð‡I‡I
FromUtf8ErrorÁˆIbytesÁ4‰IerrorÁ‘4fŠÀ¿Óíéðç%ç%è% UnspecifiedÁ Dö™0Cƒ CéðÞ%Þ%ß% KeyRejectedÁà%ˆ¤ xž3’DÆqé𮱿céé¡=
ëAê¯=·öA¸B¹¯º”B»ŸB¼ªB½µB¾ÀBŽÚÿäØݸÐìݸµßݸݸݸÙAݸû;ݸ¨Ì<£- ½¡GÅL`”•¨û;ÿ Ï,ƒä,ù,Ž-ˆä2Šù2ŒŽ3Ž£3¸3Í3 Í?
â±Í__y̧¨Ì<¦¦¶.¨Ú«©«y•ÑÔÞ¨¨šeݸ³ݸØ¿ÀÁäBÂÃúBÄůƈo7$^ vn#¿c—½—½Ðì—½µß—½—½še—½ÙA—½û;—½¨Ì<××ØÎ ô-Nº/¼ŠJ¨ØÓ ÔÕ‰DÖךDØÙ­DÚÛÁDÜÝÕDÞßéDàáÿDâã•Eä坿ˆ“ß”ûPc¿cù¾ù¾Ðìù¾µßù¾ù¾šeù¾ÙAù¾û;ù¾¨Ì<ææçä  V7¤b&añ3¨¿cóôõÚ5ö÷¹/øùË/úûÝ/üýï/þÿ0“0ƒ¥0·0É0 ˆÛ0
Ší0 Œ¿G áâ¬L
ãäÁLàž´I7¨Ðì»Áµß»Á»Á»Áše»ÁŠ »ÁÛ»ÁØ»ÁÙA»Áû;»Á¨Ì<ÆÆÇ£- ú—I±$²¨û;§¨©Ï,ª«ä,¬­ù,®¯Ž-°±ä2²³ù2´µŽ3·£3¸¹¸3º»Í3 ¼½â3
¾¿ø3 ÀÁžJ ÂôJ
ÄÅÊJ®7\°mBj¨Ì<ÖÖ¶.ØÚÀÙÀøŠÄeŸ•}ž¨¨ïy»ÁÄc»Á¿cååÚL¯õP°‹Q±¡Q²¶Q³ÄQ´ÔQµæQƒRh<Ãï.*ôØàÇàÇÐìàǵßàÇàÇÙAàÇû;àǨÌ<Ž£- ß¿lHì'^¨û;ú ûüÏ,ýþä,ÿù,Ž-ƒä2ù2ˆŽ3Š£3ŒÍ?ædŸßð_¢)¨Ì<¶.ŸÚÀ ÀžÌ‡2pµû¨¨³àÇšeàÇÛ·ñòÓUýž¦‡ KaØèËŠ èË¿cè˳èËèËÐìè˵ßèËèËÙAèËû;è˨Ì<ÓÓÔ£- C7Ü:²¨û;ÐÑÒÏ,ÙÚ„mÀQ¨Ì<ãã¶.åÚÀæÀÃ}Æ34¨¨šeèËØó±²©Y³´ºYµËY·¸ÜY?õüœD9&¿cÂγÂÎÂÎÐìÂεßÂÎÂÎÙAÂÎû;ÂΨÌ<£- —á"¨û;ŠŒÏ,Žä,ù,Ž-x+…A¶Ðm¨Ì<££¶.¥ÚÀ¦ÀÏšø¨¨šeÂÎØ¹¹ðYýñ]þ^ºÃ»Ä_¾]ÉÁb¿cæÑæÑÐìæÑµßæÑæÑÙAæÑû;æÑ¨Ì<ÛÛÜ£- + ËùÙûÄרû;ÐÑÒÏ,ÓÔä,ÕÖù,רŽ-ÙÚÍ?âT¨cSgi¨Ì<ëë¶.íÚÀîÀôòæO@€¨¨³æÑšeæÑÛÿ¹ º µaéLë¶æ&E]ØŠÕŠ ŠÕ¿cŠÕ³ŠÕŠÕÐìŠÕµßŠÕŠÕÙAŠÕû;ŠÕ¨Ì<  œ £- ÝóôÓý¨û;˜ š Ï,ï˜kRºR™%¨Ì<« « ¶.­ ÚÀ® ÀÈìº*.’訚eŠÕØ» » Åaý ñ]¼ ¹½ °¼x ar ¿cä×ä×Ðìä×µßä×ä×ÙAä×û;äרÌ<Û Û Ü £- îοh,®¨û;Ò Ó Ô Ï,Õ Ö ä,× Ø ù,Ù Ú Í?ÂÿêZ¨Ì<ë ë ¶.í ÚÀî ÀºSøÈ~E\¨¨³äךeä×Ûþ ¸
¹
àh¼X£kªØïÚŠ ïÚ¿cïÚ³ïÚïÚÐìïÚµßïÚïÚÙAïÚû;ïÚ¨Ì<š
š

£- DiDÆa‰¾¨û;
˜

Ï,¥Th£Ã"¹ï¨Ì<ª
ª
¶.¬
ÚÀ­
Àµp)ýcÛ‡¨¨šeïÚØº
º
òhø
ñ]ù
»²‡%Dß%Å¿cÉÝÉÝÐìÉݵßÉÝÉÝÙAÉÝû;ÉݨÌ<Ö
Ö
×
£- ¿ƒ5—j ¨û;Ï
Ð
Ñ
Ï,Ò
Ó
ä,Ô
Õ
Í?d=nRþë¨Ì<æ
æ
¶.è
ÚÀé
ÀOÀ~*q×5¨¨³ÉÝšeÉÝÛú
´ µ þo‹^< mÔôžØ»àŠ »à¿c»à³»à»àÐì»àµß»à»àÙA»àû;»à¨Ì<   £- ×¾¸—±ïת¨û;   Ï,çò[©üѨÌ<¦ ¦ ¶.¨ ÚÀ© Àá³§MC I¨¨še»àØ  —p÷ ñ]ø ^· ÃùAdõH¿c•ã•ãÐì•ãµß•ã•ãÙA•ãû;•ã¨Ì<Õ Õ Ö £- b¹ÀTÏ«ò¨û;Ì Í Î Ï,Ï Ð ä,Ñ Ò ù,Ó Ô Í?L kßvhEH¨Ì<å å ¶.ç ÚÀè À!7]Cò­’¨¨³•ãše•ãØ   âU ˆ  µa ˆ ˜ òu ˆš  þoœ ˆ
ñ±)D¿c æ æÐì æµß æ æÙA æû; æ¨še æØ  ¤vð žñ ¯||Wœ’Àõ¿cúçúçÐìúçµßúçúçÙAúçû;úç¨Ì<· · ¸ £- €óÅïwÆÛI¨û;² ´ µ Èw ˆÀä³ýÊ•A×ÿ¨¨Ì<ã ã ¶.å ÚÀæ ÀÚ`ÄÿQý¡ƒ¨¨šeúç¿cò ò À|ó Î|ž× ªQרÓêÐìÓêµßÓêÓêÓêÙAÓêû;Óê¨Ì<

Ž
£- #î‹­¨û;ˆ

Š
Ï,
Œ
Í?Êá]Â
GœT¨Ì<

¶.Ÿ
ÚÀ 
À®É–$z.4%¨¨¿cª
«
¬
ð­
®
…€¯
°
›€±
²
±€³
´
È€µ

Ý€gí‚§¬øbçÐì–íµß–í–í¿c¼
½
¾
¢¿
À
´!fzÄÑNtÐì´îµß´î´î¿cÆ
Ç
È
+É
Ê
ž+Ë
Ì
ÿ*’ÛNÜ&€Ðìïµßïï¿cÒ
Ò
Á‚Ó
â7ûÔ
Þ‚ûÕ
ê‚ûÖ
ú‚û|^2bµc¿cÙ
Ù
—ƒ Ú
©ƒÛ
ŃÜ
ÓƒÝ
þƒÞ
’„ß
¦„à
º„á
Å„â
Úã
¼ä
à„ãkœ÷О ÎØÕðÐìÕðµßÕðÕðÕð³Õðû;î
î
³…ÑÈ‹ŸÒÓ‹ŸÓÚŸÔÅ„ŸÕº„ŸFJx'ŽtȲé¨Ì<£- eR]8Y•pY¨û;÷
ø
ù
Ï,ú
û
ä,ü
ý
ù,þ
ÿ
Ž-ä2ƒÍ?VN@0ä¨Ì<¶.ÚŸ˜Ÿx –ñ­~¨é¨û;  ´ˆ£»Ÿ¤åˆŸ¥Ÿ™ao`N&Ýú¨é¨û;¬¬´ˆ¯»Ÿ°åˆŸ±ŸxáéÔpÚ^ˆ¨é¨û;ºº´ˆ½»Ÿ¾åˆŸ¿Ÿ²¼!pa ¨é¨û;ÅÅ´ˆÈ»ŸÉ刟ʟ&úä^"¨é¨¿cÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒªÜe4I­u]Ó®û;ÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒªÜe4I­u]¥¨³­øû;éëì½ïˆŸíîÐðˆŸ^éDßÜuÊfé¨û;øúû½þˆŸüýÐÿˆŸ.‚ÜP<Õ-¡é¨û;뎰ˆŸ Í«øÉ0×(é¨Ì<ŠŠ¶.ÚŸŽŸò¨é¨û;˜˜´ˆ»ŸœåˆŸŸD#‚jN¯u›¨é¨Ðì뎰ˆŸ Í«øÉ0×(éµßÁýÁýÁýšeÁý ëްˆŸ Í«øÉ0×(8Ì<ÏÏе)шŸ *ŠÞaƒð¦½¨ðçÁª±¬ç¸ëéÉ¿éÓŽóæå¼·öó¾¹ÿÀ » ƒ
þ ½
º
ÿ
ú
º  û     ô ò ·
ª
Á
¼
Í
Æ
×
Ò
å
Ù
ßÖòçȪ³¬ž¸òéË¿ëÓóêåÀ·úóÀ¹ˆ ÿ » ‡
þ ¿
º
ƒ ú
¼  ý  ¢  û ò ì
Ù
©ôçŪµ¬ïéÍ¿íÓóìå·üóÂ¹Š ÿÄ » ‰
þ Á
º
ú
¾  ÿ  ¤  ø ò ¹
ª
Ã
¼
Ï
Æ
é
Ù
¤õçÆª¬œ¸ðéοîÓóíå÷ýóùÿÅ » Š
þ Â
º
ú
¿   ¥  ù ò º
ª
Ä
¼
Ð
Æ
ê
Ù
¦÷çͪ˜ó»·ƒ ÿ
þ þ
ú
øçΪó¸·ÿÿ þ û
ú
ùçϪ[ ¥¢ª§¯¬å¸íéÇ¿çÓšóèå¹·ôó¼¹ ÿ¾ » €
þ »
º
ü
ú
¸  ù  ž  ö ò ç
Ù
ýçÓªöéпßÓžóñåÇ·óǹ ÿÉ » Ž
þ Æ
º
Š ú
à   ©  ÿ ò çØªÜûé¢ÿÓ¿âÓ£óÒ§öåúÌ·ßÐóŸŠÌ¹çÐÿ§ ˜ Î » ç Ò “
þ ¦

Ë
º
â
Ï
ú
¢  È  á Ì  ®  ß ²
ò
ˆ
ò
î
÷
¦ ²¬ÀºËžÖäéóøž˜£Ÿ÷õ˜ª¦Ù×èæÈÆÚÖ¡ÕÓçã§£ÝÛïë › ¯ « Ý Û ï ë œ
š
®
ª
Ø
Ö
ê
æ
˜  ª ¦ × Õ é å ¹ · ç ã

¡

ŠÒÏê¾éªå¾·øóø¹ÿø » …
þ ó
º
ú
ò  »Ù
ÃÖʪ³éпðÓó¬åî·®óú¹ÿú » µ
þ õ
º
± ú
ô   í  ¬ ªî󘬚¬ñ󟬡¬£¬¥¬§¬©¬Æ¿cåÄÐì¡µß¯Š Û1Ø1ÙAµû;.…Ì<&Â³Ššebïy~¾
Äcé *X£ ©  7DQ 
¡­ w©Ûžž¡ ©ž±¸Ì ¡¡á¡ê¡ò¡
©,ž9 BJX!  ¡ 6CPÛ rÛŒ‰“‰“œ‹“¤‰“¬³Ç ¡ ¡,”¡¡¡,‰¡ ¡
¡ ¡ ¡
¡¡¡p‰“œ‹“¥­Xy ² ¡
6CPÛ r²ÛŒ×–×–œÙ–¤×–¬³Ç ¡
¡ª¡è¡¯ ¡ö
¡´ ¡ø
¡û¡Ü¡¡Ve²u×–Ù–X”ë%
à ¡7DQÛõ%
tàÛŽŒšŒšžŽš¦Œš®µÉ ¡,°&¡,Ö&¡,ü&¡,¤'¡,Ë'¡,ÿ' ¡,²(
¡,å( ¡,) ¡,¾)
¡,ê)¡,°*¡4Õ*¡T’+¡tæ+ ¡¨à¸ŒšÅŽšÎÖX Ÿ6
© ¡7DQÛ ©6
t©ÛŽƒžƒžž…ž¦ƒž®µÉ ¡,ž8¡L¥<¡,ç=¡,’?¡,€A¡,éB¡,ØD¡TÔF¡>M©]ƒžj…žs{…I
í ¡7DQÛ®I
tíÛŽŸ¡Ÿ¡ž¡¡¦Ÿ¡®µÉ ¡þI¡ãñퟡ
¡¡ÆK
­ž&3@ÛºÐK
c­qÛ}žž ž¤¸ ¡<œL ¡<èL!¡<¿M"¡LþM#¡ù­ž$ -5ôN
÷ž&3@ÛÅþN
c÷qÛ}žž ž¤¸ ¡,€P$¡,§Q%¡ ¾R&¡ ºS'¡ù÷ž$ -5„U
µ Ÿ¡&3@ÛÓŽU
cµ qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡èU(¡Òൠû¡¡ ¾V
÷  ¡7DQÛÞÈV
t÷ ÛŽ¶«¶«ž¸«¦¶«®µÉ ¡,³W$¡ ÁX)¡ ¶Y*¡ý ÷ ¶«(¸«19Œ[
´
Ÿ¡&3@Ûì–[
c´
qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡,€\+¡Òà´
û¡¡ ö\
ò
 ¡7DQÛ÷€]
tò
ÛŽ¼°¼°ž¾°¦¼°®µÉ ¡,ð]$¡É^,¡ðþò

¼°¾°#+X…¬`
° Ÿ¡&3@Û¶`
c° qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡,Ÿa-¡Òఠû¡¡ X¡b
ñ ¶«&3@Û«b
cñ qÛ}¶«¶«¸«¶«¤¸ ¡,¤c$¡,Çd%¡ ¶e&¡ìúñ  ¶«¸«'ík
©
Ÿ¡&3@Û²÷k
c©
qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡$—l.¡Òà©
û¡¡ 8
Ð ¡7DQÛÈ¥8
tÐÛŽƺƺžÈº¦ƺ®µÉ ¡’9/¡ã90¡:1¡Æ:2¡ú:3¡&Ð6ƺCȺLT %ë®1ªBªBö­BbufÁ÷<®B÷<9)
-ÜnLçEçEèEGlobalÁ ¿±‡§í#¡¨„£ ¬­%ð1žBoxÁ¡ˆˆ¢ˆl }.xÏ®±˜¾~ ¸À%®±1úHúHßûHÁ‘4Ý­f‰úM÷cj¤á  ¸É%®±1¡À9@ ¸Ú%®±1ñ´9@ ¸Ý%®±1†J†JK‰Jµ 7ŠJåˆ7‹J¤7·0ØQdè¶¶˜¾ƒŠ ¸à%®±1ò¶9@ ¸ã%®±1η9@ ¿Å%—½1¡À9@ Óå%ù¾1¡À9@láf   % æ1æÑ9@g   % æ1ä×9@D«g  ˜ % æ1ÉÝ9@dÍg   % æ1•ã9@§h ² µ )² ´ µ Èw ˆÀä³ýÊ•A×ÿe§©ªX«ˆ¬­U8Á®ˆ¯°U16Á±ˆ²³U32Á´ˆµU64Á·ˆ¸¹I8Áºˆ»¼I16Á½ˆ¾¿I32ÁÀˆÁÂI64ÁÈÄÅF32Á ƈÇÈF64Á
ɈÊËb ̈ÍÎß ÏˆÐÑÞ
ÒˆÓÔByteBufÁÕˆÖ×BytesÁ؈ÙÚ©ÛÜÛ݈ÞßUnitÁàáNewtypeÁâˆãäSeqÁåˆæçMapÁèˆõ[l÷Ë>TÌÔ4Á; ÖÓ®Ù)­ø5Ó®=D4¯@ éì'éëì½ïˆŸíîÐðˆŸ^éDßÜuÊf»¾¿BorrowedÁÀˆÁÂOwnedÁÈ¢ÓÛ?'°UFÞåDÚ@ éî'ìÎ3¡
¡
¥
baseÁŒ
šI¼²'‡Õï뎰ˆŸ Í«øÉ0×(ÖJÖJ RandomStateÁ×Jk0ÁˆØJk1Áˆ‰ÌkqÇËŸ˜¾ëò4ÜA øû'øúû½þˆŸüýÐÿˆŸ.‚ÜP<Õ-¡ÂÏD‡B øý'ßÒ3çÐ;BüÏD  (™Ñ4ÂÏ<C”Ï` ÏÐ%èþ1 PhantomDataÁFu\»ŸÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒªÜe4I­u]ÄËEs«ÀúˆŸÀ¨/LÕªÚò pÜ rÝ™7\Š¢Þë5L—ß® áÇ7\¾§â¡=4Üéãí¬ù ½å—ƒTÙ
æüœü+( Create and parses JWT (JSON Web Tokens)Á,úü0;8 Documentation: [stable](https://docs.rs/jsonwebtoken/)ÁEs«ÀúˆŸÀ^¨/_ªÚò^ pÜ] rÝ™7\¢Þë5[ß®Z áÇ7Y§â¡=XéãíW ½å—ƒVÙ
æt„ªçûÑÖý7,¬Ð8L¸Í4& DeserializeÁ\;û; ÆÚ¥  SerializeÁLHÙA
öÚ¤ 
FromStrÁ<bïy l­¯Ÿ¡“,3{}QSŒX,Ôøܨ
ðyñyD™ž  ðü¯$± ±Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ܨð  ¾
¾ »
ܨüê
-
ܨº¥
$ÿ
ü”FC Lower level functions, if you want to do something other than JWTsÁ)0ABCDverify_slices_are_equalÁ¼ hmacÁ$=Ü signatureÁLC¨/Lgª™7\ˆ¢­6|•Ç7\¼§ÍÅ$Tÿ «$T‹ ü,È$6·¹ ¢äT•|vˆŠy{ä«n¬Ía¤èTVEG¤™&'(randÁ$ £!­ßL"¨/L5ª#Í4S$«$Tu %$[]LNä"A¬D4ü_ (üôm´‚ܨ °°EcdsaVerificationAlgorithmÁ±­
¡²
digest_algÁ¡³split_rsÁ¡µidÁ¡7JÍ~¤‹,
&¯=žü·\ŒÅܨ ææEcdsaSigningAlgorithmÁç^Ôèprivate_scalar_opsÁÔéprivate_key_opsÁÔêëâÔëpkcs8_templateÁÔì format_rsÁÔí•ãÔàH|‹$ŒÈú
'¯=×üÚx²³ìä ²
 ³ÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¡Àð ¤ 
(¯=ëkeyÁŸ ú¤¯./­ßL
)*¨/L- ª)+Í4K ),«$Tm )-|  ;¬< .üW "üï[ ´ý ܨ úúûEdDSAParametersÁ ÂÛì«6
.¯= ü«9 $² ´µ ´ÿæ µÿæç ¼
/‚ç· ú ”ÅÔ;<=@”á$
£02­ßL
03¨/L5
ª04Ð8LT
¸06Í4_
07Å$Tƒ
09«$T
0:$
ƒrtä"
glD
Z\LN¤l
AC24üûX
¬‰
ܨ µ'µ'
RsaParametersÁ¶' padding_algÁÉ·'min_bitsÁÉe%5ŒS
;¯=Ÿ
ü´W
”Â
ܨ ¡
<¯=Õ
üê y
·Ëí ÿæ ·ÿæç µ
=¯=
‚ç°
ú
¯
=<closure_kind>Á><closure_signature>Á><upvars>Á>>=>Џ®±ˆ
=î?™î?¶î??=?η®±üœ¬
´ª
¸¹º»µì ¸ ¹ÿæ ºÿæ »ÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð ý
@¯=Æ
­ß
ú<‡

componentsÁT
üÀS¼½£&£&¤&¨/¥&ˆÜ œõ“8Û6v ¼ÿæ ½ÿæ¡À ó
A¯=Ø‚çîúü¬VüñKH Take the payload of a JWT, sign it using the algorithm given and returnÁü½.+ the base64 url safe encoded of the result.Áìúüð;8 If you just want to encode a JWT, use `encode` instead.Á$³¾¿ ¾ÿæ ¿„°ܨç Á
Bú‚çȯ|LÛüû  ÀÁÂ Ç À Áÿæ Âÿæ¶ñ Ò

C¯=
­ß
ú
‚çð
ü‘züØ^[ Compares the signature given with a re-computed signature for HMAC or using the public keyÁ for RSA/EC.ÁÇúüË;8 If you just want to decode a JWT, use `decode` instead.Áúü‹JG `signature` is the signature part of a jwt (text after the second '.')ÁÖúüÚ63 `message` is base64(header) + "." + base64(claims)Á4˜ÃÄÅ Ã Äÿæ Åůܨ¶ñ ¯
D­ßú‚çͯ|Länpr¢STANDARDÁD& ÂEGEngineÁ40ËEHDeserializeOwnedÁ„H<EI×*|rçEJš4 DEKå EMÐ8L½¸ENÍEO¡=4äéEP­uœý ER¤v ESÁ‚Ò
ETÅ$T÷ EVƒ%¤ƒEW)D² ËEY—ƒÙ
EZ4ü
!H25Ü=ü_"¬‡øúéëÚܬÕÏTðÂijµü¸"¨¤àŒŽŒžƒqsü§2¥\\ÍìÓ® ¬ØÓ®Ÿ®]Ù]!#¼àÆ ÆŸ®Ÿ®[ é[
]Ó®¼¤ ¼ ´   Í, Ã8ù& È8*Ï Ò ±  Ó ° 
8Ý8á8´ å ç, é8ù% î8 þ 8´ ÿ 8ó $  $ 8´  Š8ó $‹  $ 8´  8ó $•  š  ª 
 « Ë8Û ° 8firstÁ$ ·8Û ½ Ä8secondÁ$ Å8©*Í Ð Þ8Ò‚$ Ö8ƒ$ ß8 í*ï88ù ü Ÿ 8å  ž 8Ð8L‡ ' 8á8d $   % ² „Ü ů`abcdefghijklmü›
)üó # If you're using HMAC, use this.Á\¢
Ç Çÿæů_
_
`secretÁ4®
ü£7üÞ@= If you're using HMAC with a base64 encoded secret, use this.Á”ªÈ ÈÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ůð_ Å_
aø…ü—/ü÷B? If you are loading a public RSA key in a PEM format, use this.Áü¾41 Only exists if the feature `use_pem` is enabled.Á»use_pemÁœýÜ÷É Éÿæý‡_ °_
b‚ç«üŒIüÁFC If you have (n, e) RSA public key components as strings, use this.Áœ“ÊË Ê Ëý‡_ °_
cmodulusÁ<§exponentÁD¶üŽGü¾KH If you have (n, e) RSA public key components already decoded, use this.Á¼•ÌÍ Ìÿæ Íÿæů_ _
d•‹¤‹ü«.ü’;8 If you have a ECDSA public key in PEM format, use this.ÁüÒ4Έ»Љœ‘܋ΠÎÿæý‡_ Ã_
e‚ç¾üˆ;üÙ*' If you have (x,y) ECDSA key componentsÁ”ÏÐ Ï Ðý‡_ ¥_
fà ¢Ä «ü€#.üç!;8 If you have a EdDSA public key in PEM format, use this.Áü§"4Έ»Љœæ"Üà"\‡#Ñ Ñÿæý‡_ ˜#_
g‚ç“#ü…&'ü®%RO If you know what you're doing and have a RSA DER encoded public key, use this.ÁdŒ&Ò Òÿæů_ ž&_
hderÁ™&ü˜(&üÂ'QN If you know what you're doing and have a RSA EC encoded public key, use this.Á\Ÿ(Ó Óÿæů_ °(_
i²’«(ü©*&üÓ)QN If you know what you're doing and have a Ed DER encoded public key, use this.Á\°*Ô Ôÿæů_ Á*_
j²’¼*ü,2üä+41 From x part (base64 encoded) of the JWK encodingÁ”¤,Õ Õý‡_ º,_
kà ·,üµ.*ü.# If you have a key in Jwk formatÁD¼.Ö Öúçý‡_ Ê._
l¯Å.ü±4&D¿4× ×ů ×ÿæ_ È4_
m$É4ü—7„š7EoØÙ o Øů ÙÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ݸ³™ð«7
ntokenÁ,´7‚çÈ7&Tß7(*ü‡Dìœ? Decode and validate a JWTÁº?úü¾?da If the token or its signature is invalid or the claims fail validation, it will return an error.Á£@ú\§@ ```rustÁü³@(% use serde::{Deserialize, Serialize};ÁüÜ@C@ use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm};Á Aúü¤A,) #[derive(Debug, Serialize, Deserialize)]ÁœÑA struct Claims {ÁœåA sub: String,Á´ùA company: StringÁ,BBúüšB*' let token = "a.jwt.token".to_string();ÁüÅB52 // Claims is a struct that implements DeserializeÁüûBƒ let token_message = decode::<Claims>(&token, &DecodingKey::from_secret("secret".as_ref()), &Validation::new(Algorithm::HS256));Á<ÿC ```Á4ŽDÚÛÜ Ú Ûů ÜÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ÿ®ð¥qq ¶DÅÿ •D<Ó®„˜D
pӮƙ,¯D‚çÀD&T×D68üôJ3üŽHli Decode a JWT without any signatu
úü
u r According to the [ring doc](https://docs.rs/ring/latest/ring/signature/struct.RsaKeyPair.html#method.from_pkcs8),Áü‰ ) & the key should be at least 2047 bits.Á· ú»ЉœÅ Ü¿ à àÿæû« ø 
‚çó ü». üÍ
3 0 If you are loading a ECDSA key from a .pem fileÁü…8 5 This errors if the key is not a valid private EC keyÁüÂ4 Έû ú ”­ úüš% " The key should be in PKCS#8 form.ÁÄ úüÌ. + You can generate a key with the following:Áÿ úL‡  ```shÁü•5 2 openssl ecparam -genkey -noout -name prime256v1 \ÁüÏ; 8 | openssl pkcs8 -topk8 -nocrypt -out ec-private.pemÁ< ꟻЉœ¡ Ü›  á áÿæû« Ó 
‚çÎ üü. ü®3 0 If you are loading a EdDSA key from a .pem fileÁüæ8 5 This errors if the key is not a valid private Ed keyÁü£4 Έ»Љœâ ÜÜ  â âÿæû«  
‚ç üÀ' üïL I If you know what you're doing and have the DER-encoded key, for RSA onlyÁdÇ ã ãÿæ„° Ù 
²’Ô ü& üÁI F If you know what you're doing and have the DER-encoded key, for ECDSAÁ\ ä äÿæ„° § 
ˆ²’¢ üÜ& üŽI F If you know what you're doing and have the DER-encoded key, for EdDSAÁ\ã å åÿæ„° ô 
²’ï üÛ#  æ æ„° æÿæ ï 
Š ü£"] ü l i Encode the header and claims given and sign the payload using the algorithm from the header and the key.ÁüO L If the algorithm given is RSA or EC, the key needs to be in the PEM format.ÁÝ ú ¢›üí( ·›ü–? < use jsonwebtoken::{encode, Algorithm, Header, EncodingKey};ÁÖ úüÚ, œœ‡ ÷œœ› ´¯ ¯ ÎÌ úäÐ  let my_claims = Claims {Áüí"  sub: "b@b.com".to_owned(),Áü "  company: "ACME".to_owned()Á  };Áº úü¾ 6 3 // my_claims is a struct that implements SerializeÁüõ 6 3 // This will create a JWT using HS256 as algorithmÁü¬!n k let token = encode(&Header::default(), &my_claims, &EncodingKey::from_secret("secret".as_ref())).unwrap();Á<" êŸ4ª" çèé çݸ èÓ® 鄰祌Œ Ç" Åÿ ±" ÙAÓ®L´"
Ó®4¿" Œ64Ð" ‚çÜ" 68ü‡GD All the errors that can be encountered while encoding/decoding JWTsÁ4׬­¸StdErrorÁD¾Ž×,¤, 4:¾[KQ†JŒOD'@\51tF#ü„1L®±ð
””üÕ>; A type alias for `Result<T, jsonwebtoken::errors::Error>`.Á4¥Åÿ ¤Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ó®ðY[ðü‡ ü×+( Return the specific type of this error.Á$Žê êð ê®± 
$”üù#üÅ/, Unwrap this error into its underlying type.ÁL€ð®±
¼ÿðÂü(ë ëðÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ë¾ë˜ ¦˜
ÜðÅcü¿4Âìíî ìð í c cˆ¢cµ
 `£cë¼ `àB¤GS
îÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ Èý7 éBLš Æš
± Íä­'®±·ßüÐ'"Ó'ïð ï®± 𮱜 Ö'œ
$×'¹
,Ý'¬–)®±ü°)(ð ë üß)*$â)ñ´ðŸŸ
 ɵç)ü¿*&ð¢ë¢üì*($ï*¶¶ð¡¡
¢ɵô*üÒ+1ð¤ë¤üŠ,3$,ò¶ð££
¤ɵ’,üñ,/ð¦ë¦ü§-1$ª-ηð¥¥
¦ɵ¯-üŽ./ð¨ë¨üÄ.2$Ç.Џð§§
¨_errÁ$Ì.ô°/ðªëªüÕ/!$Ø/®±ð©©
ª$Ý/éôù 4 ¾[«¬øúD8 «®“û4BË«¯ÆÚ\Wû;«±ÆÚ¥ «±öÚLdÙA«²öÚ¤ «²¨/Lˆª«³Í«´¤v¾ «µÅ$TÝ «\ç4ü!ÛÇÉ,O¹»•äuq¬—b|²SüÇ E\Ôݸ¸¹»üœ(üæ1. Returns a JWT header with the algorithm givenÁ£ܨݸ··
¸¯|L§ü´KÓ®±¦·¥ºº·Åÿ ÏàÓ®ÿæ
¹Ó® encoded_partÁdß57ü¯5üì>; Decodes the X.509 certificate chain into ASN.1 DER format.Á<¶ñ ñݸÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªBªBö­Bë¼÷<®B÷<9)
-ÜnLؽ˜¾ð· ¾·
»$¿»î¼™î¼¶î¼¼»¼ ªBªBö­Bë¼÷<®B÷<9)
-ÜnL¡À˜¾Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÀÚñ´â»î½™î½¶î½½»½ ¡ÀÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ؽñ´¼Ïݸ¿´¿¤­üí;8 Returns a JWT header using the default Algorithm, HS256Á<°ݸ¾¾
¿ü?< This crate contains types only for working JWK and JWK SetsÁüXMJ This is only meant to be used to deal with public JWK, not generate ones.Áü¦XU Most of the code in this file is taken from https://github.com/lawliet89/biscuit butÁüÿUR tweaked to remove the private bits as it's not the goal for this crate currently.Áó ¿Óóœ¡åïô·ÅÊóÿ¹ÅÊÿ ’ » Ç Ì þ Œ
º
Ä
É
ú
ˆ Á Æ § ¬ ò ý
ÃÀÃý7,ö¬ÀÄÐ8Lý¸ÀŨ/LªÀÆÚdeÁ§iÀÈÆÚû;ÀÉÆÚ¥ ÀÉ DeserializerÁd¸ˆ<ÀÊöÚÙAÀËöÚ¤ ÀË
SerializerÁTÑÜAÀÌ×è¤,ÀΤÛïyÀÏœÚ4&) ÷ùæè´¢¤rtâegdíWüØ—½ÑÚAÑüþaLò ò—½¤Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿæÝAÿæÞAФÒÒ ŽÐÍìÿæ ÜAÿæ
Ñÿæ$
serializerÁT•68üÔ +¨ÔÔ—½Õý;ÕÙ ü†
d\‰
Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
—½­é¨Š<ÓÖÖÓÍì­é
ˆ<­é¨ŒØ

Õ¨­é deserializerÁd˜
=?Ôù
œ€ Àƾô-Nº/¼ŠJØ/+À××ƾü 2¨ÚÚƾÛÜÝÎ<Ï<ï<ÜÝ¢   ÙÙ—½ü† FL‰ óôõ óƾ ô c cˆ¢cµ
 `£cë¼ `àB¤GS
õÔÌÙ Ù
ܨ$”  formatterÁLš ü˜
hL
öƾ öÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ƾ¨Î<ÙÞÞ ±
ÙÍì™ï ¥
²;™ï

ݨ™ï
Á ®
24üÁ ù¾àÚAàüèa÷ ÷ù¾ÿæ„çߤáá øßŒè õè
àÿæ¾çTÿ%'üð,¨ããù¾äý;äõü£d­éÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ù¾„êâååâµê ²ÆêŒõ
䨭éìé$&Ü–¤ÀˆÁV7¤b&añ3ç/+ÀææˆÁü»3¨ééˆÁêëìÎ<Ï<ï<ìëÀ,‚èèù¾ü¦Føùú øˆÁ ù c cˆ¢cµ
 `£cë¼ `àB¤GS
úÔÌè ³è
ë¨÷ìü¸hûˆÁ ûÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆÁ¨Î<™ïèíí ÑèÃï ÅÔïL–
쨙ïÁ Î*,ìŒ,»ÁïððyñyðD°,µ,îîðüÆ,,DÉ,ü üÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
»Áðî Õ,î
ð¾ Ò,ü¾3"»ÁòÅcòüç34ê3ýþÿ ý»Á þ c cˆ¢cµ
 `£cë¼ `àB¤GS
ÿÔÌñ î3ñ
ò$ï3± õ3ŒÇ4»Áôüß42dâ4À»ÁÃÝóó
ô$ï4Dïiúçöü¾j"üþi;8 Find whether the Algorithm is implemented and supportedÁdÅj úçõ Òjõ
ö$Ój\ªlÓêøüƒm-ü¼lB? Find the key in the set that matches the given key id, if any.Á$Šm Óê Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ úç÷ m÷
ø$m”Bm,ëmøîù™îù¶îùùøù  úç ¡<”»ЉœþÜø˜û´ < Ò
ª
¼
Æ
Ð8L
¸ûýÍ4
ûþl
(*”ž
øïƒüã
1
ê
ƒ ƒÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
øïðÿ õ
ÿ
inputÁ,î
üÈ&0
ŒÏ&
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ á&
ÿ
$â&
üÕ)/
„Ü)
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ í)
ÿ
$î)
üè,0
Ε,
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ -
ÿ
ƒ$-
üõ//
„ü/
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ 0
ÿ
$Ž0
üŒ3)
T“3
ˆ ˆøïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ˆÿæðÿ ž3
ÿ
$Ÿ3
ü¿8L
¼Â8
û 
WXYBooleanÁZˆ[\]IntegerÁ^ˆ_`a BitStringÁbˆcdŠef OctetStringÁgˆhijNullÁkˆlmObjectIdentifierÁnˆopq
UTF8StringÁrˆstuPrintableStringÁvˆwxy
TeletexStringÁzˆ{|} IA5StringÁ ~ˆUTCTimeÁ
ˆƒGeneralizedTimeÁ ˆˆUniversalStringÁ ŠˆŒ BMPStringÁ
ŽˆSequenceÁˆSetÁˆ˜ExplicitÁšˆœŠžŸUnknownÁ ˆ¡¢Š£¤ŒØ½†§ª™Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæð à8
Þ‚$Ú8
ü†>J
d‰>
ûŠ ŠÕŠÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙï œ>
Þ‚$>
ŒURL_SAFE_NO_PADÁ|& ÅˆŠ“û47ˈÆÚ\Lû;ˆÆÚ¥ ˆöÚLYÙAˆŽöÚ¤ ˆŽÍ4yˆ4ü
(„,DtvNP¬j,ü‚<TÓ®¡À¥Åÿ ÷×
Ó®¦‚ üæEÓ®Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ؽð¥Åÿ ÿ÷×\‚
Ó®¦‚, Øî™î¶îÓ®ñ´ðü¢H Ó®ç¥ ÕÅÿ À›Ã
Ó®¦‚ üó&¤…ƒ%˜Ÿ%ˆ “eÜ…¨Øå “eÜ…¨Øå˜¤ ˆؽ̹œ™šœüÙV¤àÓ%Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
œ™ðÓ%Í쳚„Žà³šÿæ\“
š³šencoded_jwt_part_claimsÁ¼õ@Bü„A\ 霙ֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
âùð饞žÍìâù û;âùé
œéâù68½ÈËÌÙ
î
ð
Öâéñøƒo»Ÿ <,¡
Ÿ¡×>¤,Ÿ¢²Ô\TŸ£²ÔŸ£’ã$riŸ¥VisitorÁ<xÌ<Ÿ¦ÆÚû;Ÿ¨ÆÚ¥ Ÿ¨Óãd›ˆ<Ÿ©¨/LªŸªå Ÿ¬Ð8L츟­ÍŸ®+ÌD9ÄGLfÛmÆÈ,†¹»”䯅lÑvxegTV|­"Õð°±´·ºü„#(üÃ"<9 Create a default validation setup allowing the given algÁ#ܨÕð¯¯
°¯=#üÂ(8üº'DA `aud` is a collection of one or more acceptable audience membersÁüƒ(:7 The simple usage is `set_audience(&["some aud name"])`ÁdÉ(Œ ŒÕð 
Ó®¯¥²² ã(¯Åÿ Ö(—6Ó®DÙ(
±Ó®$è(itemsÁ,î(13¦)±î³™î³¶î³³±³Ó® Ó®¡ÀüÔ*6üÏ)C@ `iss` is a collection of one or more acceptable issuers membersÁü—*85 The simple usage is `set_issuer(&["some iss name"])`ÁTÛ*Ž ŽÕ𠚤¯¥µµ ó*¯Åÿ æ*ΤDé*
´Ó®$ø*ï£,þ*%'¶+´î™î¶î´Ó®á¥üÐ.Düß+PM Which claims are required to be present for this JWT to be considered valid.Áü´,RO The only values that will be considered are "exp", "nbf", "aud", "iss", "sub".Áü‹-DA The simple usage is `set_required_spec_claims(&["exp", "nbf"])`.ÁüÔ-_\ If you want to have an empty set, do not use this function - set an empty set on the structÁœ¸. param directly.ÁÄ×. Õ𠚤¯¥¸¸ ý.¯Åÿ ð.ΤDó.
·Ó®$/ï£,ˆ/%'Ì/·î¹™î¹¶î¹¹·¹Ó®á¥üÞ17üõ/85 Whether to validate the JWT cryptographic signature.Áü²0PM Disabling validation is dangerous, only do it if you know what you're doing.Áü‡1RO With validation disabled you should not trust any of the values of the claims.Áüå1% Õ像2¯
º$2ÜÊ2Õð¼´¼¤ì2<ï2Õð»»
¼üÜ4%ü°3>; Gets the current timestamp in the format expected by JWTs.Áì×´ý3ú
emscriptenÁÄ4úwasiÁ”·4üœ4.ü˜43üü3Püø3Uüï3`.\Ð4¬ã4
½üñ;?¨¿¥ÀÀ¿µ û;û;âù¨„þ;ùÁý;Áö;/1ü·<r\º<Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ù´¨Š<¾Â¾Íì´ Æ<ˆ<´¨ÄÉ<
Á¨âù´ìédì<68üŽ?¥ÄÄÅÿ “?­øÅ´Å¤´?<·?­øÃÃ
ÅÓ®üE;8§þÇ¢ÇÄÒE4ÕE §þ Æ ÜEÆ
Ç8$ÝEü†F]L‰FŸ ¡
¡
¥
úÏŒ
šI¼²'‡Õï¡ÀÎј¾ ¡
¡
¥
úÏŒ
šI¼²'‡Õï뎰ˆŸ Í«øÉ0×(Îј¾ žF
Èï L“FgivenÁ,°FöGÈîÉ™îɶîÉÉÈÉûÝ çжHÈîÊ™îʶîÊÊÈÊ ™Ñ ©¸üÞHWDìH˜î
î
³…ÑÈ‹ŸÒÓ‹ŸÓÚŸÔÅ„ŸÕº„ŸFJx'ŽtȲ˜ ÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ðœýH
ËŒ64õHµ
<IüÐ_xdÓ_Ÿ­éÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ØÕ„ê¨ÍÎÍεê å_ÆêŒ¶`
̨­éìédè_à_*,iu\Ö`Ÿèþ*ŠÞaƒð¦½ÐѤÕèþ¤u9Ÿ¤ÕèþÏÏ
Ðüâ`"ŸÏϤÕüŒa&¨ÓÓèþÔÕÖØÎ<Ï<ê<ã<ÖØÕaT½a,ÂaÒÒØÕüâaBLåašœ šèþ  c cˆ¢cµ
 `£cë¼ `àB¤GS
œÔÌÒ ïaÒ
Õ¨$ða÷ìLöaü•cpL˜cèþÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èþ¨Î<™ïÒ××ÒÃï ¢cÔïLûc
Ö¨™ï$¥c»,«c*,ü­fpL°fèþ³ÃÒÙÙÒÃï ºfÔïL“g
ب™ï$½f»,Ãf*,¬ÉwDè„w‡wyw|wnwqwbwewD«Zw]wNwQwtÔFwTì;w>w.w1wü±º¥â’Hîøíèéêëìíîïéëíïç纥ç纥ç纥ç纥ç纥ç纥ç纥ç纥( uGº¥ñÀcñ!#žŸ º¥ ž c cˆ¢cµ
 `£cë¼ `àB¤GS
ŸÔÌð uð
ñÄ±Ê |Hº¥óó!'<   º¥ò |ò
ó…H
Iº¥Iº¥ö·ßö79¡¢ ¡º¥ ¢º¥õ
õ
ö¹
š Jº¥(
Kº¥04Kº¥úÙúOQ£ £º¥º¥ùù
úœH˜ ,.04Lº¥þÚAþOQ¤ ¤º¥úÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÑÏÝAÑÏÞAýúÿÿ˜ýÍìÑÏÜAÑÏ%
þÑÏ4 __serializerÁGJM}‡}‡}‡}‡}‡}‡}‡M¨ƒƒº¥ý;}‡}‡}‡}‡µ,Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
º¥²Ò¨Š<µ,Íì²Ò}‡ˆ<²Ò¨}‡
¨²Ò__deserializerÁ}‡}‡}‡}‡}‡M}‡®§Öe¯&‚d¦ˆŠŒŽˆŠŒŽ}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡}‡M}‡û¦çCs1E
%}‡}‡û¦}‡}‡M¨û¦Î<Ï<ã<ï<õ<}‡}‡}‡}‡®§}‡}‡¥¦§ ¥û¦ ¦ c cˆ¢cµ
 `£cë¼ `àB¤GS
§ÔÌ£
¨}‡ __formatterÁ}‡}‡}‡û¦Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
û¦¨Î<ã-ã-ÍìÅÛ}‡²;ÅÛ}‡
¨ÅÛ}‡__valueÁ}‡}‡}‡}‡}‡¨û¦ ¨æÚã-˜˜tëÛ}‡ûÛ}‡
¨ÅÛ}‡ Û}‡}‡}‡}‡}‡©û¦ ©ÿææÚã-ššëÛ}‡ûÛ}‡
¨ÅÛ}‡ Û}‡}‡}‡}‡}‡M¨œœ®§ý;}‡}‡}‡}‡²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
®§‰Óµ,žžºÓ}‡ÊÓ}‡
¨²ÒïÒ}‡}‡}‡}‡}‡M}‡¨  ‘¨-é Õ¼ÍN¡¢}‡}‡}‡}‡ŸŸ²ÔFu\»Ÿº¥}‡}‡ŸŸ²ÔFu\»Ÿ ¨}‡}‡M¨¤¤‘¨¥¦§Î<Ï<‡=¦§}‡}‡}‡}‡££º¥}‡}‡ª«¬ ª‘¨ « c cˆ¢cµ
 `£cë¼ `àB¤GS
¬ÔÌ££
¦¨}‡³Ù}‡}‡}‡‘¨Ž/Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
‘¨¨Î<ô䨧=£Ž/¨¨£Íìôä}‡¥=ôä¨}‡
§¨ôä}‡__dataÁ}‡}‡}‡}‡}‡}‡ 
”«üù74 The algorithms supported for signing/verifying JWTsÁL´ܨ,´Õ >ª<Ö«¬­®¯°±²³´µ·¸¹º»¼½¾¿À¬®°²´¸º  ¼

¾  Àɉ´ù HMAC using SHA-384ÁɉªªܨɉɉªªܨÖ‰´Ÿ HMAC using SHA-512ÁÖ‰ªªܨÖ‰Ö‰ªªܨã‰¼Æ ECDSA using SHA-256Á㉪ªܨã‰ã‰ªªܨð‰¼í ECDSA using SHA-384Áð‰ªªܨð‰ð‰ªªܨý‰ü•# RSASSA-PKCS1-v1_5 using SHA-256Áý‰ªªܨý‰ý‰ªªܨ
ŠüÈ# RSASSA-PKCS1-v1_5 using SHA-384Á
Šªªܨ
Š
ŠªªܨŠüû# RSASSA-PKCS1-v1_5 using SHA-512ÁŠªªܨŠŠªªܨä¯ RSASSA-PSS using SHA-256ÁªªܨªªܨäÛ RSASSA-PSS using SHA-384Áªªܨªªܨä‡ RSASSA-PSS using SHA-512Áªªܨªªܨü´52 Edwards-curve Digital Signature Algorithm (EdDSA)Áªªܨªªܨ(àPܨÂÀcÂ"$­®¯ ­ܨ ® c cˆ¢cµ
 `£cë¼ `àB¤GS
¯ÔÌÁàÁ
ÂÆ±Ì8çQܨÄ´Ä"$ܨÃÃ
ÄHðRܨRܨÇ·ßÇ79°± °ܨ ±ܨÆðÆ
ǹ
šûSܨÉÉ"(=² ²ܨÈûÈ
ÉÿTܨËeË"$³´ ³ܨ ´ùÊùÌÌÿÊÍìÕ÷¢eÕ÷¥
ËÕ÷³º¹»½ Uܨ(
Vܨ04VܨÐÙÐOQµ µܨܨÏÏ
МH ,.04WܨÔÚAÔOQ ܨÑÏÖÏÓúÕÕÓßЫïб
ÔÑÏ¿ŽÐÆÈÊèˆèˆèˆèˆèˆèˆèˆX¨ÙÙܨÚý;Úèˆèˆèˆèˆ²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ܨ‰Óص,ÛÛØºÓèˆÊÓèˆ
Ú¨²ÒïÒèˆèˆèˆèˆèˆXèˆæ«q“kû±ÝÞßàáâãäåæçèéêëìíîïðñòóôÞàâäæèêìî  ð

ò  ôèˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆèˆX舳«ýåOŒ“•öèˆèˆõõ³«èˆèˆX¨øø³«ùúûýÿÎ<Ï<ã<ï<õ<úÿýûèˆèˆèˆèˆ÷÷æ«èˆèˆ·¸¹ ·³« ¸ c cˆ¢cµ
 `£cë¼ `àB¤GS
¹ÔÌ÷!÷
ú¨èˆ³Ùèˆèˆèˆ³«Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
³«¨Î<ÅÛ÷ã-üü÷ëÛèˆûÛèˆ
û¨ÅÛ舠Ûèˆèˆèˆèˆèˆº³« º݉÷ã-þþQ÷ëÛèˆûÛèˆ
ý¨ÅÛ舠Ûèˆèˆèˆèˆèˆ»³« »ÿæ݉÷ã-ä÷ëÛèˆûÛèˆ
ÿ¨ÅÛ舠ÛèˆèˆèˆèˆèˆX¨æ«ƒý;ƒèˆèˆèˆèˆ²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
櫉ӵ,ºÓèˆÊÓèˆ
ƒ¨²ÒïÒèˆèˆèˆèˆèˆX舨ɭäj ʯI(ˆèˆèˆèˆèˆ²ÔFu\»ŸܨèˆèˆâèˆèˆX¨ŠŠÉ­ŒÎ<Ï<‡=Œèˆèˆèˆèˆܨèˆèˆ¼½¾ ¼É­ ½ c cˆ¢cµ
 `£cë¼ `àB¤GS
¾ÔÌÌ
Œ¨èˆ³ÙèˆèˆèˆÉ­ôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
É­¨Î<ØåŽ/ŽŽ‰æ舙æèˆ
¨ôäèˆÄåèˆèˆèˆèˆèˆèˆˆç¼‰´Ä HMAC using SHA-256ÁY¼‰ªªܨ¼‰¼‰ªªܨ¼¡üÊEB The return type of a successful call to [decode](fn.decode.html).Á
¥Åÿ Ÿ®ÜœäK§sÖ, "”ÞÔ¿ The decoded JWT headerÁ4âݸl•Ôö The decoded JWT claimsÁ4™Ó®(M™u¥ÅÿÍ¿cÓ®Ÿ®˜Àc˜ïñUW¿ÀÁ ¿Ÿ® À c cˆ¢cµ
 `£cë¼ `àB¤GS
ÁÔÌM™
˜Ó®þ±üÈ  ë®YÅÑ»rþË™šœؽ뮞Ÿ 
ؽë®üšؽ”ˆ
 ë®T

ؽ
 ©
ؽ(NÀ v뮡١"$ Âë®ë®  
¡o´ò üº
>; All the different kind of keys we can use to decode a JWT.Áüù
gd This key can be re-used so make sure you only initialize it once if you can for better performance.Á ů
:'"³ÅÞ£¤ü " ¢¢º¥ü·  ¢¢ë®(Oê wů¦Ù¦"$à Ãůů¥ ¥