@pagopa/io-react-native-wallet 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +82 -58
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/index.js +3 -1
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/mdoc/index.js +15 -0
  6. package/lib/commonjs/mdoc/index.js.map +1 -1
  7. package/lib/commonjs/mdoc/utils.js +37 -1
  8. package/lib/commonjs/mdoc/utils.js.map +1 -1
  9. package/lib/commonjs/trust/build-chain.js +22 -19
  10. package/lib/commonjs/trust/build-chain.js.map +1 -1
  11. package/lib/commonjs/utils/nestedProperty.js +21 -10
  12. package/lib/commonjs/utils/nestedProperty.js.map +1 -1
  13. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +83 -59
  14. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  15. package/lib/module/index.js +2 -1
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/mdoc/index.js +1 -0
  18. package/lib/module/mdoc/index.js.map +1 -1
  19. package/lib/module/mdoc/utils.js +35 -0
  20. package/lib/module/mdoc/utils.js.map +1 -1
  21. package/lib/module/trust/build-chain.js +22 -19
  22. package/lib/module/trust/build-chain.js.map +1 -1
  23. package/lib/module/utils/nestedProperty.js +21 -10
  24. package/lib/module/utils/nestedProperty.js.map +1 -1
  25. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  26. package/lib/typescript/index.d.ts +2 -1
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/mdoc/index.d.ts +1 -0
  29. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  30. package/lib/typescript/mdoc/utils.d.ts +50 -0
  31. package/lib/typescript/mdoc/utils.d.ts.map +1 -1
  32. package/lib/typescript/trust/build-chain.d.ts +2 -3
  33. package/lib/typescript/trust/build-chain.d.ts.map +1 -1
  34. package/lib/typescript/utils/nestedProperty.d.ts +2 -1
  35. package/lib/typescript/utils/nestedProperty.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/credential/issuance/07-verify-and-parse-credential.ts +60 -26
  38. package/src/index.ts +2 -0
  39. package/src/mdoc/index.ts +1 -0
  40. package/src/mdoc/utils.ts +43 -0
  41. package/src/trust/build-chain.ts +28 -25
  42. package/src/utils/nestedProperty.ts +35 -10
@@ -37,39 +37,63 @@ const parseCredentialSdJwt = function (credentialConfig, _ref) {
37
37
 
38
38
  const attrDefinitions = credentialConfig.claims;
39
39
 
40
- // Validate that all attributes from the config exist in the disclosures
41
- const attrsNotInDisclosures = attrDefinitions.filter(definition => !disclosures.some(_ref2 => {
42
- let [, name] = _ref2;
43
- return name === definition.path[0];
44
- }));
45
- if (attrsNotInDisclosures.length > 0 && !ignoreMissingAttributes) {
46
- const missing = attrsNotInDisclosures.map(_ => _.path[0]).join(", ");
47
- const received = disclosures.map(_ => _[1]).join(", ");
48
- const message = `Some attributes are missing in the credential. Missing: [${missing}], received: [${received}]`;
49
- _logging.Logger.log(_logging.LogLevel.ERROR, message);
50
- throw new _errors.IoWalletError(message);
40
+ // Validate that all attributes from the config exist in either disclosures OR payload
41
+ if (!ignoreMissingAttributes) {
42
+ const disclosedKeys = new Set(disclosures.map(_ref2 => {
43
+ let [, name] = _ref2;
44
+ return name;
45
+ }));
46
+ const payloadKeys = new Set(Object.keys(sdJwt.payload ?? {}));
47
+ const definedTopLevelKeys = new Set(attrDefinitions.map(def => def.path[0]));
48
+ const missingKeys = [...definedTopLevelKeys].filter(key => !disclosedKeys.has(key) && !payloadKeys.has(key));
49
+ if (missingKeys.length > 0) {
50
+ throw new _errors.IoWalletError(`Some attributes are missing in the credential. Missing: [${missingKeys.join(", ")}]`);
51
+ }
51
52
  }
52
53
  const definedValues = {};
53
- for (const {
54
- path,
55
- display
56
- } of attrDefinitions) {
57
- var _disclosures$find;
58
- const attrKey = path[0];
59
- const disclosureValue = (_disclosures$find = disclosures.find(_ref3 => {
54
+
55
+ // Group all schema definitions by their top-level key
56
+ const groupedDefinitions = attrDefinitions.reduce((acc, def) => {
57
+ const key = def.path[0];
58
+ const group = acc[key];
59
+ if (group) {
60
+ group.push(def);
61
+ } else {
62
+ acc[key] = [def];
63
+ }
64
+ return acc;
65
+ }, {});
66
+
67
+ // Loop through each group
68
+ for (const topLevelKey in groupedDefinitions) {
69
+ const definitionsForThisKey = groupedDefinitions[topLevelKey];
70
+ if (!definitionsForThisKey) {
71
+ continue;
72
+ }
73
+ const disclosureForThisKey = disclosures.find(_ref3 => {
60
74
  let [, name] = _ref3;
61
- return name === attrKey;
62
- })) === null || _disclosures$find === void 0 ? void 0 : _disclosures$find[2];
63
- if (disclosureValue !== undefined) {
64
- const enriched = (0, _nestedProperty.createNestedProperty)(definedValues, path, disclosureValue, display);
65
- Object.assign(definedValues, enriched);
75
+ return name === topLevelKey;
76
+ });
77
+ if (!disclosureForThisKey) {
78
+ continue;
66
79
  }
80
+ const disclosureValue = disclosureForThisKey[2];
81
+ const tempObjectForGroup = definitionsForThisKey.reduce((acc, _ref4) => {
82
+ let {
83
+ path,
84
+ display
85
+ } = _ref4;
86
+ return (0, _nestedProperty.createNestedProperty)(acc, path, disclosureValue, display);
87
+ }, {});
88
+
89
+ // Merge the fully constructed object into the final result
90
+ Object.assign(definedValues, tempObjectForGroup);
67
91
  }
68
92
  if (includeUndefinedAttributes) {
69
93
  // attributes that are in the disclosure set
70
94
  // but are not defined in the issuer configuration
71
- const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref4 => {
72
- let [, key, value] = _ref4;
95
+ const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref5 => {
96
+ let [, key, value] = _ref5;
73
97
  return [key, {
74
98
  value,
75
99
  name: key
@@ -82,10 +106,10 @@ const parseCredentialSdJwt = function (credentialConfig, _ref) {
82
106
  }
83
107
  return definedValues;
84
108
  };
85
- const parseCredentialMDoc = function (credentialConfig, _ref5) {
109
+ const parseCredentialMDoc = function (credentialConfig, _ref6) {
86
110
  let {
87
111
  issuerSigned
88
- } = _ref5;
112
+ } = _ref6;
89
113
  let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
90
114
  let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
91
115
  if (!credentialConfig) {
@@ -94,37 +118,37 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
94
118
  if (!credentialConfig.claims) {
95
119
  throw new _errors.IoWalletError("Missing claims in the credential subject");
96
120
  }
97
- const attrDefinitions = credentialConfig.claims.map(_ref6 => {
121
+ const attrDefinitions = credentialConfig.claims.map(_ref7 => {
98
122
  let {
99
123
  path: [namespace, attribute],
100
124
  display
101
- } = _ref6;
125
+ } = _ref7;
102
126
  return [namespace, attribute, display];
103
127
  });
104
128
  if (!issuerSigned.nameSpaces) {
105
129
  throw new _errors.IoWalletError("Missing claims in the credential");
106
130
  }
107
- const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref7 => {
108
- let [namespace, values] = _ref7;
131
+ const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref8 => {
132
+ let [namespace, values] = _ref8;
109
133
  return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
110
134
  });
111
135
 
112
136
  // Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
113
137
  // and filter the non present ones
114
- const attrsNotInDisclosures = attrDefinitions.filter(_ref8 => {
115
- let [attrDefNamespace, attrKey] = _ref8;
116
- return !flatNamespaces.some(_ref9 => {
117
- let [namespace, claim] = _ref9;
138
+ const attrsNotInDisclosures = attrDefinitions.filter(_ref9 => {
139
+ let [attrDefNamespace, attrKey] = _ref9;
140
+ return !flatNamespaces.some(_ref10 => {
141
+ let [namespace, claim] = _ref10;
118
142
  return attrDefNamespace === namespace && attrKey === claim;
119
143
  });
120
144
  });
121
145
  if (attrsNotInDisclosures.length > 0) {
122
- const missing = attrsNotInDisclosures.map(_ref10 => {
123
- let [, attrKey] = _ref10;
146
+ const missing = attrsNotInDisclosures.map(_ref11 => {
147
+ let [, attrKey] = _ref11;
124
148
  return attrKey;
125
149
  }).join(", ");
126
- const received = flatNamespaces.map(_ref11 => {
127
- let [, attrKey] = _ref11;
150
+ const received = flatNamespaces.map(_ref12 => {
151
+ let [, attrKey] = _ref12;
128
152
  return attrKey;
129
153
  }).join(", ");
130
154
  if (!ignoreMissingAttributes) {
@@ -135,38 +159,38 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
135
159
  // Attributes defined in the issuer configuration and present in the disclosure set
136
160
  const definedValues = attrDefinitions
137
161
  // Retrieve the value from the corresponding disclosure
138
- .map(_ref12 => {
162
+ .map(_ref13 => {
139
163
  var _flatNamespaces$find;
140
- let [attrDefNamespace, attrKey, display] = _ref12;
164
+ let [attrDefNamespace, attrKey, display] = _ref13;
141
165
  return [attrDefNamespace, attrKey, {
142
166
  display,
143
- value: (_flatNamespaces$find = flatNamespaces.find(_ref13 => {
144
- let [namespace, name] = _ref13;
167
+ value: (_flatNamespaces$find = flatNamespaces.find(_ref14 => {
168
+ let [namespace, name] = _ref14;
145
169
  return attrDefNamespace === namespace && name === attrKey;
146
170
  })) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
147
171
  }];
148
172
  })
149
173
  //filter the not found elements
150
- .filter(_ref14 => {
151
- let [_, __, definition] = _ref14;
174
+ .filter(_ref15 => {
175
+ let [_, __, definition] = _ref15;
152
176
  return definition.value !== undefined;
153
177
  })
154
178
  // Add a human-readable attribute name, with i18n, in the form { locale: name }
155
179
  // Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
156
- .reduce((acc, _ref15) => {
180
+ .reduce((acc, _ref16) => {
157
181
  let [attrDefNamespace, attrKey, {
158
182
  display,
159
183
  value
160
- }] = _ref15;
184
+ }] = _ref16;
161
185
  return {
162
186
  ...acc,
163
187
  [(0, _utils.getParsedCredentialClaimKey)(attrDefNamespace, attrKey)]: {
164
188
  value,
165
- name: display.reduce((names, _ref16) => {
189
+ name: display.reduce((names, _ref17) => {
166
190
  let {
167
191
  locale,
168
192
  name
169
- } = _ref16;
193
+ } = _ref17;
170
194
  return {
171
195
  ...names,
172
196
  [locale]: name
@@ -176,11 +200,11 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
176
200
  };
177
201
  }, {});
178
202
  if (includeUndefinedAttributes) {
179
- const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref17 => {
180
- let [namespace, key] = _ref17;
203
+ const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref18 => {
204
+ let [namespace, key] = _ref18;
181
205
  return !definedValues[(0, _utils.getParsedCredentialClaimKey)(namespace, key)];
182
- }).map(_ref18 => {
183
- let [namespace, key, value] = _ref18;
206
+ }).map(_ref19 => {
207
+ let [namespace, key, value] = _ref19;
184
208
  return [(0, _utils.getParsedCredentialClaimKey)(namespace, key), {
185
209
  value,
186
210
  name: key
@@ -228,7 +252,7 @@ async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingCon
228
252
  * and it's bound to the given key
229
253
  *
230
254
  * @param rawCredential The received credential
231
- * @param issuerKeys The set of public keys of the issuer,
255
+ * @param x509CertRoot The root certificate of the issuer,
232
256
  * which will be used to verify the signature
233
257
  * @param holderBindingContext The access to the holder's key
234
258
  *
@@ -250,12 +274,12 @@ async function verifyCredentialMDoc(rawCredential, x509CertRoot, holderBindingCo
250
274
  }
251
275
  return decodedCredential;
252
276
  }
253
- const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref19) => {
277
+ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref20) => {
254
278
  let {
255
279
  credentialCryptoContext,
256
280
  ignoreMissingAttributes,
257
281
  includeUndefinedAttributes
258
- } = _ref19;
282
+ } = _ref20;
259
283
  const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
260
284
  _logging.Logger.log(_logging.LogLevel.DEBUG, `Decoded credential: ${JSON.stringify(decoded)}`);
261
285
  const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
@@ -272,12 +296,12 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialC
272
296
  issuedAt: typeof maybeIssuedAt === "number" ? new Date(maybeIssuedAt * 1000) : undefined
273
297
  };
274
298
  };
275
- const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref20, x509CertRoot) => {
299
+ const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref21, x509CertRoot) => {
276
300
  var _parsedCredential$get, _parsedCredential$get2;
277
301
  let {
278
302
  credentialCryptoContext,
279
303
  ignoreMissingAttributes
280
- } = _ref20;
304
+ } = _ref21;
281
305
  if (!x509CertRoot) {
282
306
  throw new _errors.IoWalletError("Missing x509CertRoot");
283
307
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_sdJwt","_converters","_jwk","_mdoc","_const","_utils","_logging","_converter","_nestedProperty","parseCredentialSdJwt","credentialConfig","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","format","header","typ","message","Logger","log","LogLevel","ERROR","IoWalletError","claims","attrDefinitions","attrsNotInDisclosures","filter","definition","some","_ref2","name","path","missing","map","_","join","received","definedValues","display","_disclosures$find","attrKey","disclosureValue","find","_ref3","enriched","createNestedProperty","Object","assign","undefinedValues","fromEntries","keys","includes","_ref4","key","value","parseCredentialMDoc","_ref5","issuerSigned","_ref6","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref7","values","v","elementIdentifier","elementValue","_ref8","attrDefNamespace","_ref9","claim","_ref10","_ref11","_ref12","_flatNamespaces$find","_ref13","_ref14","__","reduce","acc","_ref15","getParsedCredentialClaimKey","names","_ref16","locale","_ref17","_ref18","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","payload","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref19","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref20","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAGA,IAAAS,eAAA,GAAAT,OAAA;AAgCA;;AAeA;;AAKA,MAAMU,oBAAoB,GAAG,SAAAA,CAE3BC,gBAAgC,EAAAC,IAAA,EAIX;EAAA,IAHrB;IAAEC,KAAK;IAAEC;EAAoC,CAAC,GAAAF,IAAA;EAAA,IAC9CG,uBAAgC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACxCG,0BAAmC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAE3C,IAAIL,gBAAgB,CAACS,MAAM,KAAKP,KAAK,CAACQ,MAAM,CAACC,GAAG,EAAE;IAChD,MAAMC,OAAO,GAAI,+DAA8DZ,gBAAgB,CAACS,MAAO,gBAAeP,KAAK,CAACQ,MAAM,CAACC,GAAI,GAAE;IACzIE,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACC,KAAK,EAAEJ,OAAO,CAAC;IACnC,MAAM,IAAIK,qBAAa,CAACL,OAAO,CAAC;EAClC;EAEA,IAAI,CAACZ,gBAAgB,CAACkB,MAAM,EAAE;IAC5BL,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACC,KAAK,EAAE,0CAA0C,CAAC;IACtE,MAAM,IAAIC,qBAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC;EACvE;;EAEA,MAAME,eAAe,GAAGnB,gBAAgB,CAACkB,MAAM;;EAE/C;EACA,MAAME,qBAAqB,GAAGD,eAAe,CAACE,MAAM,CACjDC,UAAU,IAAK,CAACnB,WAAW,CAACoB,IAAI,CAACC,KAAA;IAAA,IAAC,GAAGC,IAAI,CAAC,GAAAD,KAAA;IAAA,OAAKC,IAAI,KAAKH,UAAU,CAACI,IAAI,CAAC,CAAC,CAAC;EAAA,EAC7E,CAAC;EAED,IAAIN,qBAAqB,CAACd,MAAM,GAAG,CAAC,IAAI,CAACF,uBAAuB,EAAE;IAChE,MAAMuB,OAAO,GAAGP,qBAAqB,CAACQ,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACH,IAAI,CAAC,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;IACtE,MAAMC,QAAQ,GAAG5B,WAAW,CAACyB,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACxD,MAAMlB,OAAO,GAAI,4DAA2De,OAAQ,iBAAgBI,QAAS,GAAE;IAC/GlB,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACC,KAAK,EAAEJ,OAAO,CAAC;IACnC,MAAM,IAAIK,qBAAa,CAACL,OAAO,CAAC;EAClC;EAEA,MAAMoB,aAA+B,GAAG,CAAC,CAAC;EAE1C,KAAK,MAAM;IAAEN,IAAI;IAAEO;EAAQ,CAAC,IAAId,eAAe,EAAE;IAAA,IAAAe,iBAAA;IAC/C,MAAMC,OAAO,GAAGT,IAAI,CAAC,CAAC,CAAC;IACvB,MAAMU,eAAe,IAAAF,iBAAA,GAAG/B,WAAW,CAACkC,IAAI,CACtCC,KAAA;MAAA,IAAC,GAAGb,IAAI,CAAC,GAAAa,KAAA;MAAA,OAAKb,IAAI,KAAKU,OAAO;IAAA,CAChC,CAAC,cAAAD,iBAAA,uBAFuBA,iBAAA,CAEpB,CAAC,CAAC;IAEN,IAAIE,eAAe,KAAK7B,SAAS,EAAE;MACjC,MAAMgC,QAAQ,GAAG,IAAAC,oCAAoB,EACnCR,aAAa,EACbN,IAAI,EACJU,eAAe,EACfH,OACF,CAAC;MACDQ,MAAM,CAACC,MAAM,CAACV,aAAa,EAAEO,QAAQ,CAAC;IACxC;EACF;EAEA,IAAI/B,0BAA0B,EAAE;IAC9B;IACA;IACA,MAAMmC,eAAe,GAAGF,MAAM,CAACG,WAAW,CACxCzC,WAAW,CACRkB,MAAM,CAAEQ,CAAC,IAAK,CAACY,MAAM,CAACI,IAAI,CAACb,aAAa,CAAC,CAACc,QAAQ,CAACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzDD,GAAG,CAACmB,KAAA;MAAA,IAAC,GAAGC,GAAG,EAAEC,KAAK,CAAC,GAAAF,KAAA;MAAA,OAAK,CAACC,GAAG,EAAE;QAAEC,KAAK;QAAExB,IAAI,EAAEuB;MAAI,CAAC,CAAC;IAAA,EACxD,CAAC;IAED,OAAO;MACL,GAAGhB,aAAa;MAChB,GAAGW;IACL,CAAC;EACH;EAEA,OAAOX,aAAa;AACtB,CAAC;AACD,MAAMkB,mBAAmB,GAAG,SAAAA,CAE1BlD,gBAAgC,EAAAmD,KAAA,EAKX;EAAA,IAHrB;IAAEC;EAAoC,CAAC,GAAAD,KAAA;EAAA,IACvC/C,uBAAgC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACxCG,0BAAmC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAE3C,IAAI,CAACL,gBAAgB,EAAE;IACrB,MAAM,IAAIiB,qBAAa,CAAC,6CAA6C,CAAC;EACxE;EAEA,IAAI,CAACjB,gBAAgB,CAACkB,MAAM,EAAE;IAC5B,MAAM,IAAID,qBAAa,CAAC,0CAA0C,CAAC;EACrE;EAEA,MAAME,eAAe,GAAGnB,gBAAgB,CAACkB,MAAM,CAACU,GAAG,CAEjDyB,KAAA;IAAA,IAAC;MAAE3B,IAAI,EAAE,CAAC4B,SAAS,EAAEC,SAAS,CAAC;MAAEtB;IAAQ,CAAC,GAAAoB,KAAA;IAAA,OAAK,CAC/CC,SAAS,EACTC,SAAS,EACTtB,OAAO,CACR;EAAA,EAAC;EAEF,IAAI,CAACmB,YAAY,CAACI,UAAU,EAAE;IAC5B,MAAM,IAAIvC,qBAAa,CAAC,kCAAkC,CAAC;EAC7D;EAEA,MAAMwC,cAAc,GAAGhB,MAAM,CAACiB,OAAO,CAACN,YAAY,CAACI,UAAU,CAAC,CAACG,OAAO,CACpEC,KAAA;IAAA,IAAC,CAACN,SAAS,EAAEO,MAAM,CAAC,GAAAD,KAAA;IAAA,OAClBC,MAAM,CAACjC,GAAG,CAA4BkC,CAAC,IAAK,CAC1CR,SAAS,EACTQ,CAAC,CAACC,iBAAiB,EACnBD,CAAC,CAACE,YAAY,CACf,CAAC;EAAA,CACN,CAAC;;EAED;EACA;EACA,MAAM5C,qBAAqB,GAAGD,eAAe,CAACE,MAAM,CAClD4C,KAAA;IAAA,IAAC,CAACC,gBAAgB,EAAE/B,OAAO,CAAC,GAAA8B,KAAA;IAAA,OAC1B,CAACR,cAAc,CAAClC,IAAI,CAClB4C,KAAA;MAAA,IAAC,CAACb,SAAS,EAAEc,KAAK,CAAC,GAAAD,KAAA;MAAA,OACjBD,gBAAgB,KAAKZ,SAAS,IAAInB,OAAO,KAAKiC,KAAK;IAAA,CACvD,CAAC;EAAA,CACL,CAAC;EAED,IAAIhD,qBAAqB,CAACd,MAAM,GAAG,CAAC,EAAE;IACpC,MAAMqB,OAAO,GAAGP,qBAAqB,CAClCQ,GAAG,CAACyC,MAAA;MAAA,IAAC,GAAGlC,OAAO,CAAC,GAAAkC,MAAA;MAAA,OAAKlC,OAAO;IAAA,EAAC,CAC7BL,IAAI,CAAC,IAAI,CAAC;IACb,MAAMC,QAAQ,GAAG0B,cAAc,CAAC7B,GAAG,CAAC0C,MAAA;MAAA,IAAC,GAAGnC,OAAO,CAAC,GAAAmC,MAAA;MAAA,OAAKnC,OAAO;IAAA,EAAC,CAACL,IAAI,CAAC,IAAI,CAAC;IAExE,IAAI,CAAC1B,uBAAuB,EAAE;MAC5B,MAAM,IAAIa,qBAAa,CACpB,4DAA2DU,OAAQ,iBAAgBI,QAAS,GAC/F,CAAC;IACH;EACF;;EAEA;EACA,MAAMC,aAAa,GAAGb;EACpB;EAAA,CACCS,GAAG,CACF2C,MAAA;IAAA,IAAAC,oBAAA;IAAA,IAAC,CAACN,gBAAgB,EAAE/B,OAAO,EAAEF,OAAO,CAAC,GAAAsC,MAAA;IAAA,OACnC,CACEL,gBAAgB,EAChB/B,OAAO,EACP;MACEF,OAAO;MACPgB,KAAK,GAAAuB,oBAAA,GAAEf,cAAc,CAACpB,IAAI,CACxBoC,MAAA;QAAA,IAAC,CAACnB,SAAS,EAAE7B,IAAI,CAAC,GAAAgD,MAAA;QAAA,OAChBP,gBAAgB,KAAKZ,SAAS,IAAI7B,IAAI,KAAKU,OAAO;MAAA,CACtD,CAAC,cAAAqC,oBAAA,uBAHMA,oBAAA,CAGH,CAAC;IACP,CAAC,CACF;EAAA,CACL;EACA;EAAA,CACCnD,MAAM,CAACqD,MAAA;IAAA,IAAC,CAAC7C,CAAC,EAAE8C,EAAE,EAAErD,UAAU,CAAC,GAAAoD,MAAA;IAAA,OAAKpD,UAAU,CAAC2B,KAAK,KAAK1C,SAAS;EAAA;EAC/D;EACA;EAAA,CACCqE,MAAM,CACL,CAACC,GAAG,EAAAC,MAAA;IAAA,IAAE,CAACZ,gBAAgB,EAAE/B,OAAO,EAAE;MAAEF,OAAO;MAAEgB;IAAM,CAAC,CAAC,GAAA6B,MAAA;IAAA,OAAM;MACzD,GAAGD,GAAG;MACN,CAAC,IAAAE,kCAA2B,EAACb,gBAAgB,EAAE/B,OAAO,CAAC,GAAG;QACxDc,KAAK;QACLxB,IAAI,EAAEQ,OAAO,CAAC2C,MAAM,CAClB,CAACI,KAAK,EAAAC,MAAA;UAAA,IAAE;YAAEC,MAAM;YAAEzD;UAAK,CAAC,GAAAwD,MAAA;UAAA,OAAM;YAC5B,GAAGD,KAAK;YACR,CAACE,MAAM,GAAGzD;UACZ,CAAC;QAAA,CAAC,EACF,CAAC,CACH;MACF;IACF,CAAC;EAAA,CAAC,EACF,CAAC,CACH,CAAC;EAEH,IAAIjB,0BAA0B,EAAE;IAC9B,MAAMmC,eAAiC,GAAGF,MAAM,CAACG,WAAW,CAC1DH,MAAM,CAACoB,MAAM,CAACJ,cAAc,CAAC,CAC1BpC,MAAM,CACL8D,MAAA;MAAA,IAAC,CAAC7B,SAAS,EAAEN,GAAG,CAAC,GAAAmC,MAAA;MAAA,OACf,CAACnD,aAAa,CAAC,IAAA+C,kCAA2B,EAACzB,SAAS,EAAEN,GAAG,CAAC,CAAC;IAAA,CAC/D,CAAC,CACApB,GAAG,CAACwD,MAAA;MAAA,IAAC,CAAC9B,SAAS,EAAEN,GAAG,EAAEC,KAAK,CAAC,GAAAmC,MAAA;MAAA,OAAK,CAChC,IAAAL,kCAA2B,EAACzB,SAAS,EAAEN,GAAG,CAAC,EAC3C;QAAEC,KAAK;QAAExB,IAAI,EAAEuB;MAAI,CAAC,CACrB;IAAA,EACL,CAAC;IACD,OAAO;MACL,GAAGhB,aAAa;MAChB,GAAGW;IACL,CAAC;EACH;EAEA,OAAOX,aAAa;AACtB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeqD,qBAAqBA,CAClCC,aAAqB,EACrBC,UAAiB,EACjBC,oBAAmC,EACF;EACjC,MAAM,CAACC,iBAAiB,EAAEC,gBAAgB,CAAC;EACzC;EACA,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChB,IAAAC,aAAW,EAACP,aAAa,EAAEC,UAAU,EAAEO,eAAQ,CAAC,EAChDN,oBAAoB,CAACO,YAAY,CAAC,CAAC,CACpC,CAAC;EAEJ,MAAM;IAAEC;EAAI,CAAC,GAAGP,iBAAiB,CAACvF,KAAK,CAAC+F,OAAO;EAC/C,IAAI,EAAE,MAAM,IAAAC,qBAAgB,EAACF,GAAG,CAACG,GAAG,EAAET,gBAAuB,CAAC,CAAC,EAAE;IAC/D,MAAM9E,OAAO,GAAI,kDAAiD8E,gBAAgB,CAACU,GAAI,UAASX,iBAAiB,CAACvF,KAAK,CAAC+F,OAAO,CAACD,GAAG,CAACG,GAAG,CAACC,GAAI,EAAC;IAC7IvF,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACC,KAAK,EAAEJ,OAAO,CAAC;IACnC,MAAM,IAAIK,qBAAa,CAACL,OAAO,CAAC;EAClC;EAEA,OAAO6E,iBAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeY,oBAAoBA,CACjCf,aAAqB,EACrBgB,YAAoB,EACpBd,oBAAmC,EACH;EAChC,MAAM,CAACC,iBAAiB,EAAEC,gBAAgB,CAAC;EACzC;EACA,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChB,IAAAW,YAAU,EAACjB,aAAa,EAAEgB,YAAY,CAAC,EACvCd,oBAAoB,CAACO,YAAY,CAAC,CAAC,CACpC,CAAC;EAEJ,IAAI,CAACN,iBAAiB,EAAE;IACtB,MAAM,IAAIxE,qBAAa,CAAC,4BAA4B,CAAC;EACvD;EAEA,MAAM+B,GAAG,GACPyC,iBAAiB,CAACrC,YAAY,CAACoD,UAAU,CAACP,OAAO,CAACQ,aAAa,CAACC,SAAS;EAE3E,IAAI,EAAE,MAAM,IAAAR,qBAAgB,EAAClD,GAAG,EAAE0C,gBAA6B,CAAC,CAAC,EAAE;IACjE,MAAM,IAAIzE,qBAAa,CACpB,oFACH,CAAC;EACH;EAEA,OAAOwE,iBAAiB;AAC1B;AAEA,MAAMkB,6BAAuD,GAAG,MAAAA,CAC9DC,UAAU,EACVC,UAAU,EACVC,yBAAyB,EAAAC,MAAA,KAMtB;EAAA,IALH;IACEC,uBAAuB;IACvB5G,uBAAuB;IACvBI;EACF,CAAC,GAAAuG,MAAA;EAED,MAAME,OAAO,GAAG,MAAM5B,qBAAqB,CACzCwB,UAAU,EACVD,UAAU,CAACM,wBAAwB,CAACC,IAAI,CAACtE,IAAI,EAC7CmE,uBACF,CAAC;EAEDnG,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACqG,KAAK,EAAG,uBAAsBC,IAAI,CAACC,SAAS,CAACL,OAAO,CAAE,EAAC,CAAC;EAE5E,MAAMjH,gBAAgB,GACpB4G,UAAU,CAACM,wBAAwB,CAACK,mCAAmC,CACrET,yBAAyB,CAC1B;EAEH,IAAI,CAAC9G,gBAAgB,EAAE;IACrBa,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,gDAA+C8F,yBAA0B,EAC5E,CAAC;IACD,MAAM,IAAI7F,qBAAa,CAAC,6CAA6C,CAAC;EACxE;EAEA,MAAMuG,gBAAgB,GAAGzH,oBAAoB,CAC3CC,gBAAgB,EAChBiH,OAAO,EACP7G,uBAAuB,EACvBI,0BACF,CAAC;EACD,MAAMiH,aAAa,GAAG,IAAAC,mCAAuB,EAACT,OAAO,CAAC9G,WAAW,EAAE,KAAK,CAAC;EAEzEU,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACqG,KAAK,EACb,sBAAqBC,IAAI,CAACC,SAAS,CAACE,gBAAgB,CAAE,gBAAeC,aAAc,EACtF,CAAC;EAED,OAAO;IACLD,gBAAgB;IAChBG,UAAU,EAAE,IAAIC,IAAI,CAACX,OAAO,CAAC/G,KAAK,CAAC+F,OAAO,CAAC4B,GAAG,GAAG,IAAI,CAAC;IACtDC,QAAQ,EACN,OAAOL,aAAa,KAAK,QAAQ,GAC7B,IAAIG,IAAI,CAACH,aAAa,GAAG,IAAI,CAAC,GAC9BlH;EACR,CAAC;AACH,CAAC;AAED,MAAMwH,4BAAsD,GAAG,MAAAA,CAC7DnB,UAAU,EACVC,UAAU,EACVC,yBAAyB,EAAAkB,MAAA,EAEzB1B,YAAY,KACT;EAAA,IAAA2B,qBAAA,EAAAC,sBAAA;EAAA,IAFH;IAAElB,uBAAuB;IAAE5G;EAAwB,CAAC,GAAA4H,MAAA;EAGpD,IAAI,CAAC1B,YAAY,EAAE;IACjB,MAAM,IAAIrF,qBAAa,CAAC,sBAAsB,CAAC;EACjD;EAEA,MAAMgG,OAAO,GAAG,MAAMZ,oBAAoB,CACxCQ,UAAU,EACVP,YAAY,EACZU,uBACF,CAAC;EAED,MAAMhH,gBAAgB,GACpB4G,UAAU,CAACM,wBAAwB,CAACK,mCAAmC,CACrET,yBAAyB,CACzB;EACJ,MAAMU,gBAAgB,GAAGtE,mBAAmB,CAC1ClD,gBAAgB,EAChBiH,OAAO,EACP7G,uBAAuB,EACvBA,uBACF,CAAC;EAED,MAAM+H,cAAc,GAAG,IAAAC,oCAAyB,EAC9CZ,gBAAgB,aAAhBA,gBAAgB,gBAAAS,qBAAA,GAAhBT,gBAAgB,CACd,IAAAzC,kCAA2B,EAACsD,6BAAsB,EAAE,aAAa,CAAC,CACnE,cAAAJ,qBAAA,uBAFDA,qBAAA,CAEGhF,KACL,CAAC;EACD,IAAI,CAACkF,cAAc,EAAE;IACnB,MAAM,IAAIlH,qBAAa,CAAE,kCAAiC,CAAC;EAC7D;EACAkH,cAAc,CAACG,OAAO,CAACH,cAAc,CAACI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAEpD,MAAMd,aAAa,GAAG,IAAAW,oCAAyB,EAC7CZ,gBAAgB,aAAhBA,gBAAgB,gBAAAU,sBAAA,GAAhBV,gBAAgB,CACd,IAAAzC,kCAA2B,EAACsD,6BAAsB,EAAE,YAAY,CAAC,CAClE,cAAAH,sBAAA,uBAFDA,sBAAA,CAEGjF,KACL,CAAC;EACDwE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEa,OAAO,CAACb,aAAa,CAACc,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAEnD,OAAO;IACLf,gBAAgB;IAChBX,UAAU;IACVC,yBAAyB;IACzBa,UAAU,EAAEQ,cAAc;IAC1BL,QAAQ,EAAEL,aAAa,IAAIlH;EAC7B,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMiI,wBAAkD,GAAG,MAAAA,CAChE5B,UAAU,EACVC,UAAU,EACVC,yBAAyB,EACzB2B,OAAO,EACPnC,YAAY,KACT;EAAA,IAAAoC,qBAAA;EACH,MAAMjI,MAAM,IAAAiI,qBAAA,GACV9B,UAAU,CAACM,wBAAwB,CAACK,mCAAmC,CACrET,yBAAyB,CAC1B,cAAA4B,qBAAA,uBAFDA,qBAAA,CAEGjI,MAAM;EAEX,QAAQA,MAAM;IACZ,KAAK,WAAW;MAAE;QAChBI,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACqG,KAAK,EAAE,wCAAwC,CAAC;QACpE,OAAOT,6BAA6B,CAClCC,UAAU,EACVC,UAAU,EACVC,yBAAyB,EACzB2B,OACF,CAAC;MACH;IACA,KAAK,UAAU;MAAE;QACf5H,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACqG,KAAK,EAAE,uCAAuC,CAAC;QACnE,OAAOW,4BAA4B,CACjCnB,UAAU,EACVC,UAAU,EACVC,yBAAyB,EACzB2B,OAAO,EACPnC,YACF,CAAC;MACH;IAEA;MAAS;QACP,MAAM1F,OAAO,GAAI,kCAAiCH,MAAO,EAAC;QAC1DI,eAAM,CAACC,GAAG,CAACC,iBAAQ,CAACC,KAAK,EAAEJ,OAAO,CAAC;QACnC,MAAM,IAAIK,qBAAa,CAACL,OAAO,CAAC;MAClC;EACF;AACF,CAAC;AAAC+H,OAAA,CAAAH,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_errors","require","_sdJwt","_converters","_jwk","_mdoc","_const","_utils","_logging","_converter","_nestedProperty","parseCredentialSdJwt","credentialConfig","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","format","header","typ","message","Logger","log","LogLevel","ERROR","IoWalletError","claims","attrDefinitions","disclosedKeys","Set","map","_ref2","name","payloadKeys","Object","keys","payload","definedTopLevelKeys","def","path","missingKeys","filter","key","has","join","definedValues","groupedDefinitions","reduce","acc","group","push","topLevelKey","definitionsForThisKey","disclosureForThisKey","find","_ref3","disclosureValue","tempObjectForGroup","_ref4","display","createNestedProperty","assign","undefinedValues","fromEntries","_","includes","_ref5","value","parseCredentialMDoc","_ref6","issuerSigned","_ref7","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref8","values","v","elementIdentifier","elementValue","attrsNotInDisclosures","_ref9","attrDefNamespace","attrKey","some","_ref10","claim","missing","_ref11","received","_ref12","_ref13","_flatNamespaces$find","_ref14","_ref15","__","definition","_ref16","getParsedCredentialClaimKey","names","_ref17","locale","_ref18","_ref19","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref20","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref21","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "AuthorizationDetails", {
15
15
  return _par.AuthorizationDetails;
16
16
  }
17
17
  });
18
- exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Logging = exports.Errors = exports.Credential = void 0;
18
+ exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Mdoc = exports.Logging = exports.Errors = exports.Credential = void 0;
19
19
  Object.defineProperty(exports, "createCryptoContextFor", {
20
20
  enumerable: true,
21
21
  get: function () {
@@ -36,6 +36,8 @@ var PID = _interopRequireWildcard(require("./pid"));
36
36
  exports.PID = PID;
37
37
  var SdJwt = _interopRequireWildcard(require("./sd-jwt"));
38
38
  exports.SdJwt = SdJwt;
39
+ var Mdoc = _interopRequireWildcard(require("./mdoc"));
40
+ exports.Mdoc = Mdoc;
39
41
  var Errors = _interopRequireWildcard(require("./utils/errors"));
40
42
  exports.Errors = Errors;
41
43
  var WalletInstanceAttestation = _interopRequireWildcard(require("./wallet-instance-attestation"));
@@ -1 +1 @@
1
- {"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","PID","SdJwt","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,GAAA,GAAAF,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAC,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAClC,IAAAC,MAAA,GAAAJ,uBAAA,CAAAF,OAAA;AAAyCG,OAAA,CAAAG,MAAA,GAAAA,MAAA;AACzC,IAAAC,yBAAA,GAAAL,uBAAA,CAAAF,OAAA;AAA2EG,OAAA,CAAAI,yBAAA,GAAAA,yBAAA;AAC3E,IAAAC,KAAA,GAAAN,uBAAA,CAAAF,OAAA;AAAiCG,OAAA,CAAAK,KAAA,GAAAA,KAAA;AACjC,IAAAC,cAAA,GAAAP,uBAAA,CAAAF,OAAA;AAAoDG,OAAA,CAAAM,cAAA,GAAAA,cAAA;AACpD,IAAAC,OAAA,GAAAR,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAO,OAAA,GAAAA,OAAA;AAC3C,IAAAC,IAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAAwD,SAAAa,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAgB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
1
+ {"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,GAAA,GAAAF,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAC,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAClC,IAAAC,IAAA,GAAAJ,uBAAA,CAAAF,OAAA;AAA+BG,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAC/B,IAAAC,MAAA,GAAAL,uBAAA,CAAAF,OAAA;AAAyCG,OAAA,CAAAI,MAAA,GAAAA,MAAA;AACzC,IAAAC,yBAAA,GAAAN,uBAAA,CAAAF,OAAA;AAA2EG,OAAA,CAAAK,yBAAA,GAAAA,yBAAA;AAC3E,IAAAC,KAAA,GAAAP,uBAAA,CAAAF,OAAA;AAAiCG,OAAA,CAAAM,KAAA,GAAAA,KAAA;AACjC,IAAAC,cAAA,GAAAR,uBAAA,CAAAF,OAAA;AAAoDG,OAAA,CAAAO,cAAA,GAAAA,cAAA;AACpD,IAAAC,OAAA,GAAAT,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAQ,OAAA,GAAAA,OAAA;AAC3C,IAAAC,IAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAAwD,SAAAc,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -3,6 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ verify: true
8
+ };
6
9
  exports.verify = void 0;
7
10
  var _ioReactNativeIso = require("@pagopa/io-react-native-iso18013");
8
11
  var _jsrsasign = require("jsrsasign");
@@ -10,6 +13,18 @@ var _ioReactNativeCrypto = require("@pagopa/io-react-native-crypto");
10
13
  var _errors = require("../trust/errors");
11
14
  var _errors2 = require("../utils/errors");
12
15
  var _crypto = require("../utils/crypto");
16
+ var _utils = require("./utils");
17
+ Object.keys(_utils).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
+ if (key in exports && exports[key] === _utils[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _utils[key];
25
+ }
26
+ });
27
+ });
13
28
  const verify = async (token, x509CertRoot) => {
14
29
  var _issuerSigned$issuerA;
15
30
  // get decoded data
@@ -1 +1 @@
1
- {"version":3,"names":["_ioReactNativeIso","require","_jsrsasign","_ioReactNativeCrypto","_errors","_errors2","_crypto","verify","token","x509CertRoot","_issuerSigned$issuerA","issuerSigned","CBOR","decodeIssuerSigned","IoWalletError","issuerAuth","unprotectedHeader","x5chain","Array","isArray","length","MissingX509CertsError","map","b64utob64","verifyX5chain","coseSign1","rawValue","verifyMdocSignature","exports","options","arguments","undefined","connectTimeout","readTimeout","requireCrl","x509ValidationResult","verifyCertificateChain","isValid","X509ValidationError","validationStatus","errorMessage","x509ValidationStatus","x509ErrorMessage","cert","pemcert","convertBase64DerToPem","jwk","getSigninJwkFromCert","x","y","signatureCorrect","COSE","Error"],"sourceRoot":"../../../src","sources":["mdoc/index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_ioReactNativeIso","require","_jsrsasign","_ioReactNativeCrypto","_errors","_errors2","_crypto","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","verify","token","x509CertRoot","_issuerSigned$issuerA","issuerSigned","CBOR","decodeIssuerSigned","IoWalletError","issuerAuth","unprotectedHeader","x5chain","Array","isArray","length","MissingX509CertsError","map","b64utob64","verifyX5chain","coseSign1","rawValue","verifyMdocSignature","options","arguments","undefined","connectTimeout","readTimeout","requireCrl","x509ValidationResult","verifyCertificateChain","isValid","X509ValidationError","validationStatus","errorMessage","x509ValidationStatus","x509ErrorMessage","cert","pemcert","convertBase64DerToPem","jwk","getSigninJwkFromCert","x","y","signatureCorrect","COSE","Error"],"sourceRoot":"../../../src","sources":["mdoc/index.ts"],"mappings":"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"}
@@ -3,12 +3,48 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getParsedCredentialClaimKey = void 0;
6
+ exports.getVerificationFromParsedCredential = exports.getVerification = exports.getParsedCredentialClaimKey = void 0;
7
+ var _ioReactNativeIso = require("@pagopa/io-react-native-iso18013");
8
+ var _types = require("../sd-jwt/types");
9
+ var _const = require("./const");
7
10
  /**
8
11
  * @param namespace The mdoc credential `namespace`
9
12
  * @param key The claim attribute key
10
13
  * @returns A string consisting of the concatenation of the namespace and the claim key, separated by a colon
11
14
  */
12
15
  const getParsedCredentialClaimKey = (namespace, key) => `${namespace}:${key}`;
16
+
17
+ /**
18
+ * Extract and validate the `verification` claim from an mdoc parsed credential.
19
+ *
20
+ * This method is **synchronous**, so it requires a credential that was already parsed.
21
+ *
22
+ * @param parsedCredential The parsed mdoc credential
23
+ * @returns The verification claim or undefined if it wasn't found
24
+ */
13
25
  exports.getParsedCredentialClaimKey = getParsedCredentialClaimKey;
26
+ const getVerificationFromParsedCredential = parsedCredential => {
27
+ var _parsedCredential$ver;
28
+ const verificationKey = getParsedCredentialClaimKey(`${_const.MDOC_DEFAULT_NAMESPACE}.IT`, "verification");
29
+ const verification = (_parsedCredential$ver = parsedCredential[verificationKey]) === null || _parsedCredential$ver === void 0 ? void 0 : _parsedCredential$ver.value;
30
+ return verification ? _types.Verification.parse(verification) : undefined;
31
+ };
32
+
33
+ /**
34
+ * Extract and validate the `verification` claim from an MDOC credential.
35
+ *
36
+ * This method is **asynchronous**. See {@link getVerificationFromParsedCredential} for the synchronous version.
37
+ *
38
+ * @param token The raw MDOC credential
39
+ * @returns The verification claim or undefined if it wasn't found
40
+ */
41
+ exports.getVerificationFromParsedCredential = getVerificationFromParsedCredential;
42
+ const getVerification = async token => {
43
+ var _namespace$find;
44
+ const issuerSigned = await _ioReactNativeIso.CBOR.decodeIssuerSigned(token);
45
+ const namespace = issuerSigned.nameSpaces[`${_const.MDOC_DEFAULT_NAMESPACE}.IT`];
46
+ const verification = namespace === null || namespace === void 0 || (_namespace$find = namespace.find(x => x.elementIdentifier === "verification")) === null || _namespace$find === void 0 ? void 0 : _namespace$find.elementValue;
47
+ return verification ? _types.Verification.parse(verification) : undefined;
48
+ };
49
+ exports.getVerification = getVerification;
14
50
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getParsedCredentialClaimKey","namespace","key","exports"],"sourceRoot":"../../../src","sources":["mdoc/utils.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,MAAMA,2BAA2B,GAAGA,CAACC,SAAiB,EAAEC,GAAW,KACvE,GAAED,SAAU,IAAGC,GAAI,EAAC;AAACC,OAAA,CAAAH,2BAAA,GAAAA,2BAAA"}
1
+ {"version":3,"names":["_ioReactNativeIso","require","_types","_const","getParsedCredentialClaimKey","namespace","key","exports","getVerificationFromParsedCredential","parsedCredential","_parsedCredential$ver","verificationKey","MDOC_DEFAULT_NAMESPACE","verification","value","Verification","parse","undefined","getVerification","token","_namespace$find","issuerSigned","CBOR","decodeIssuerSigned","nameSpaces","find","x","elementIdentifier","elementValue"],"sourceRoot":"../../../src","sources":["mdoc/utils.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMG,2BAA2B,GAAGA,CAACC,SAAiB,EAAEC,GAAW,KACvE,GAAED,SAAU,IAAGC,GAAI,EAAC;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAAH,2BAAA,GAAAA,2BAAA;AAQO,MAAMI,mCAAmC,GAC9CC,gBAAmE,IAChE;EAAA,IAAAC,qBAAA;EACH,MAAMC,eAAe,GAAGP,2BAA2B,CAChD,GAAEQ,6BAAuB,KAAI,EAC9B,cACF,CAAC;EACD,MAAMC,YAAY,IAAAH,qBAAA,GAAGD,gBAAgB,CAACE,eAAe,CAAC,cAAAD,qBAAA,uBAAjCA,qBAAA,CAAmCI,KAAK;EAC7D,OAAOD,YAAY,GAAGE,mBAAY,CAACC,KAAK,CAACH,YAAY,CAAC,GAAGI,SAAS;AACpE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAV,OAAA,CAAAC,mCAAA,GAAAA,mCAAA;AAQO,MAAMU,eAAe,GAAG,MAAOC,KAAa,IAAK;EAAA,IAAAC,eAAA;EACtD,MAAMC,YAAY,GAAG,MAAMC,sBAAI,CAACC,kBAAkB,CAACJ,KAAK,CAAC;EACzD,MAAMd,SAAS,GAAGgB,YAAY,CAACG,UAAU,CAAE,GAAEZ,6BAAuB,KAAI,CAAC;EACzE,MAAMC,YAAY,GAAGR,SAAS,aAATA,SAAS,gBAAAe,eAAA,GAATf,SAAS,CAAEoB,IAAI,CACjCC,CAAC,IAAKA,CAAC,CAACC,iBAAiB,KAAK,cACjC,CAAC,cAAAP,eAAA,uBAFoBA,eAAA,CAElBQ,YAAY;EAEf,OAAOf,YAAY,GAAGE,mBAAY,CAACC,KAAK,CAACH,YAAY,CAAC,GAAGI,SAAS;AACpE,CAAC;AAACV,OAAA,CAAAW,eAAA,GAAAA,eAAA"}
@@ -150,30 +150,20 @@ async function getFederationList(federationListEndpoint) {
150
150
  * Build a not-verified trust chain for a given Relying Party (RP) entity.
151
151
  *
152
152
  * @param relyingPartyEntityBaseUrl The base URL of the RP entity
153
- * @param trustAnchorKey The public key of the Trust Anchor (TA) entity
153
+ * @param trustAnchorConfig The entity configuration of the known trust anchor.
154
154
  * @param appFetch An optional instance of the http client to be used.
155
155
  * @returns A list of signed tokens that represent the trust chain, in the order of the chain (from the RP to the Trust Anchor)
156
156
  * @throws {FederationError} When an element of the chain fails to parse or other build steps fail.
157
157
  */
158
- async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorKey) {
158
+ async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorConfig) {
159
159
  let appFetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fetch;
160
- // 1: Recursively gather the trust chain from the RP up to the Trust Anchor
161
- const trustChain = await gatherTrustChain(relyingPartyEntityBaseUrl, appFetch);
162
-
163
- // 2: Trust Anchor signature verification
164
- const trustAnchorJwt = trustChain[trustChain.length - 1];
165
- if (!trustAnchorJwt) {
166
- throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing entity configuration in gathered chain.", {
167
- relyingPartyUrl: relyingPartyEntityBaseUrl
168
- });
169
- }
170
- if (!trustAnchorKey.kid) {
171
- throw new _errors.TrustAnchorKidMissingError();
160
+ // 1: Verify if the RP is authorized by the Trust Anchor's federation list
161
+ // Extract the Trust Anchor's signing key and federation_list_endpoint
162
+ // (we assume the TA has only one key, as per spec)
163
+ const trustAnchorKey = trustAnchorConfig.payload.jwks.keys[0];
164
+ if (!trustAnchorKey) {
165
+ throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing signing key in entity configuration.");
172
166
  }
173
- await (0, _utils.verify)(trustAnchorJwt, trustAnchorKey.kid, [trustAnchorKey]);
174
-
175
- // 3: Check the federation list
176
- const trustAnchorConfig = _types.EntityConfiguration.parse((0, _utils.decode)(trustAnchorJwt));
177
167
  const federationListEndpoint = trustAnchorConfig.payload.metadata.federation_entity.federation_list_endpoint;
178
168
  if (federationListEndpoint) {
179
169
  const federationList = await getFederationList(federationListEndpoint, {
@@ -186,6 +176,20 @@ async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorKey) {
186
176
  });
187
177
  }
188
178
  }
179
+
180
+ // 1: Recursively gather the trust chain from the RP up to the Trust Anchor
181
+ const trustChain = await gatherTrustChain(relyingPartyEntityBaseUrl, appFetch);
182
+ // 2: Trust Anchor signature verification
183
+ const chainTrustAnchorJwt = trustChain[trustChain.length - 1];
184
+ if (!chainTrustAnchorJwt) {
185
+ throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing entity configuration in gathered chain.", {
186
+ relyingPartyUrl: relyingPartyEntityBaseUrl
187
+ });
188
+ }
189
+ if (!trustAnchorKey.kid) {
190
+ throw new _errors.TrustAnchorKidMissingError();
191
+ }
192
+ await (0, _utils.verify)(chainTrustAnchorJwt, trustAnchorKey.kid, [trustAnchorKey]);
189
193
  return trustChain;
190
194
  }
191
195
 
@@ -227,7 +231,6 @@ async function gatherTrustChain(entityBaseUrl, appFetch) {
227
231
  appFetch
228
232
  });
229
233
  const parentEC = _types.EntityConfiguration.parse((0, _utils.decode)(parentECJwt));
230
-
231
234
  // Fetch ES
232
235
  const federationFetchEndpoint = parentEC.payload.metadata.federation_entity.federation_fetch_endpoint;
233
236
  if (!federationFetchEndpoint) {
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_utils","_types","_misc","_ioReactNativeJwt","fetchAndParseEntityConfiguration","entityBaseUrl","schema","appFetch","fetch","arguments","length","undefined","responseText","getSignedEntityConfiguration","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","wellKnownUrl","method","then","hasStatusOrThrow","res","text","federationFetchEndpoint","url","URL","searchParams","set","toString","getFederationList","federationListEndpoint","json","result","FederationListResponse","safeParse","success","FederationListParseError","error","message","parseError","data","buildTrustChain","relyingPartyEntityBaseUrl","trustAnchorKey","trustChain","gatherTrustChain","trustAnchorJwt","BuildTrustChainError","relyingPartyUrl","kid","TrustAnchorKidMissingError","verify","trustAnchorConfig","decode","metadata","federation_entity","federation_list_endpoint","federationList","includes","RelyingPartyNotAuthorizedError","isLeaf","chain","entityECJwt","entityEC","push","authorityHints","authority_hints","parentEntityBaseUrl","parentECJwt","parentEC","federation_fetch_endpoint","MissingFederationFetchEndpointError","missingInEntityUrl","entityStatementJwt","parentChain","concat"],"sourceRoot":"../../../src","sources":["trust/build-chain.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_errors","require","_utils","_types","_misc","_ioReactNativeJwt","fetchAndParseEntityConfiguration","entityBaseUrl","schema","appFetch","fetch","arguments","length","undefined","responseText","getSignedEntityConfiguration","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","wellKnownUrl","method","then","hasStatusOrThrow","res","text","federationFetchEndpoint","url","URL","searchParams","set","toString","getFederationList","federationListEndpoint","json","result","FederationListResponse","safeParse","success","FederationListParseError","error","message","parseError","data","buildTrustChain","relyingPartyEntityBaseUrl","trustAnchorConfig","trustAnchorKey","jwks","keys","BuildTrustChainError","metadata","federation_entity","federation_list_endpoint","federationList","includes","RelyingPartyNotAuthorizedError","relyingPartyUrl","trustChain","gatherTrustChain","chainTrustAnchorJwt","kid","TrustAnchorKidMissingError","verify","isLeaf","chain","entityECJwt","entityEC","decode","push","authorityHints","authority_hints","parentEntityBaseUrl","parentECJwt","parentEC","federation_fetch_endpoint","MissingFederationFetchEndpointError","missingInEntityUrl","entityStatementJwt","parentChain","concat"],"sourceRoot":"../../../src","sources":["trust/build-chain.ts"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AASA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoCA,eAAeK,gCAAgCA,CAC7CC,aAAqB,EACrBC,MAK8B,EAM9B;EAAA,IALA;IACEC,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAMG,YAAY,GAAG,MAAMC,4BAA4B,CAACR,aAAa,EAAE;IACrEE;EACF,CAAC,CAAC;EAEF,MAAMO,WAAW,GAAG,IAAAC,wBAAS,EAACH,YAAY,CAAC;EAC3C,OAAON,MAAM,CAACU,KAAK,CAAC;IAClBC,MAAM,EAAEH,WAAW,CAACI,eAAe;IACnCC,OAAO,EAAEL,WAAW,CAACK;EACvB,CAAC,CAAC;AACJ;AAEO,MAAMC,oCAAoC,GAAGA,CAClDf,aAAqE,EACrEgB,OAAgE,KAEhEjB,gCAAgC,CAC9BC,aAAa,EACbiB,wCAAiC,EACjCD,OACF,CAAC;AAACE,OAAA,CAAAH,oCAAA,GAAAA,oCAAA;AAEG,MAAMI,sCAAsC,GAAGA,CACpDnB,aAAqE,EACrEgB,OAAgE,KAEhEjB,gCAAgC,CAC9BC,aAAa,EACboB,0CAAmC,EACnCJ,OACF,CAAC;AAACE,OAAA,CAAAC,sCAAA,GAAAA,sCAAA;AAEG,MAAME,iCAAiC,GAAGA,CAC/CrB,aAAqE,EACrEgB,OAAgE,KAEhEjB,gCAAgC,CAC9BC,aAAa,EACbsB,qCAA8B,EAC9BN,OACF,CAAC;AAACE,OAAA,CAAAG,iCAAA,GAAAA,iCAAA;AAEG,MAAME,kCAAkC,GAAGA,CAChDvB,aAAqE,EACrEgB,OAAgE,KAEhEjB,gCAAgC,CAC9BC,aAAa,EACbwB,sCAA+B,EAC/BR,OACF,CAAC;AAACE,OAAA,CAAAK,kCAAA,GAAAA,kCAAA;AAEG,MAAME,sBAAsB,GAAGA,CACpCzB,aAAqE,EACrEgB,OAAgE,KAEhEjB,gCAAgC,CAACC,aAAa,EAAE0B,0BAAmB,EAAEV,OAAO,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAE,OAAA,CAAAO,sBAAA,GAAAA,sBAAA;AASO,eAAeE,kBAAkBA,CACtCC,wBAAgC,EAChCC,yBAAiC,EAMjC;EAAA,IALA;IACE3B,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAMG,YAAY,GAAG,MAAMuB,wBAAwB,CACjDF,wBAAwB,EACxBC,yBAAyB,EACzB;IACE3B;EACF,CACF,CAAC;EAED,MAAMO,WAAW,GAAG,IAAAC,wBAAS,EAACH,YAAY,CAAC;EAC3C,OAAOwB,sBAAe,CAACpB,KAAK,CAAC;IAC3BC,MAAM,EAAEH,WAAW,CAACI,eAAe;IACnCC,OAAO,EAAEL,WAAW,CAACK;EACvB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeN,4BAA4BA,CAChDR,aAAqB,EAMJ;EAAA,IALjB;IACEE,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAM4B,YAAY,GAAI,GAAEhC,aAAc,gCAA+B;EAErE,OAAO,MAAME,QAAQ,CAAC8B,YAAY,EAAE;IAClCC,MAAM,EAAE;EACV,CAAC,CAAC,CACCC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,CAAC,CAAC,CAC3BD,IAAI,CAAEE,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeP,wBAAwBA,CAC5CQ,uBAA+B,EAC/BT,yBAAiC,EAMjC;EAAA,IALA;IACE3B,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAMmC,GAAG,GAAG,IAAIC,GAAG,CAACF,uBAAuB,CAAC;EAC5CC,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,KAAK,EAAEb,yBAAyB,CAAC;EAEtD,OAAO,MAAM3B,QAAQ,CAACqC,GAAG,CAACI,QAAQ,CAAC,CAAC,EAAE;IACpCV,MAAM,EAAE;EACV,CAAC,CAAC,CACCC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,CAAC,CAAC,CAC3BD,IAAI,CAAEE,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeO,iBAAiBA,CACrCC,sBAA8B,EAMX;EAAA,IALnB;IACE3C,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,OAAO,MAAMF,QAAQ,CAAC2C,sBAAsB,EAAE;IAC5CZ,MAAM,EAAE;EACV,CAAC,CAAC,CACCC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,CAAC,CAAC,CAC3BD,IAAI,CAAEE,GAAG,IAAKA,GAAG,CAACU,IAAI,CAAC,CAAC,CAAC,CACzBZ,IAAI,CAAEY,IAAI,IAAK;IACd,MAAMC,MAAM,GAAGC,6BAAsB,CAACC,SAAS,CAACH,IAAI,CAAC;IACrD,IAAI,CAACC,MAAM,CAACG,OAAO,EAAE;MACnB,MAAM,IAAIC,gCAAwB,CAC/B,gDAA+CN,sBAAuB,YAAWE,MAAM,CAACK,KAAK,CAACC,OAAQ,EAAC,EACxG;QAAEd,GAAG,EAAEM,sBAAsB;QAAES,UAAU,EAAEP,MAAM,CAACK,KAAK,CAACT,QAAQ,CAAC;MAAE,CACrE,CAAC;IACH;IACA,OAAOI,MAAM,CAACQ,IAAI;EACpB,CAAC,CAAC;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,eAAeA,CACnCC,yBAAiC,EACjCC,iBAAiD,EAE9B;EAAA,IADnBxD,QAA8B,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGD,KAAK;EAEtC;EACA;EACA;EACA,MAAMwD,cAAc,GAAGD,iBAAiB,CAAC5C,OAAO,CAAC8C,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;EAE7D,IAAI,CAACF,cAAc,EAAE;IACnB,MAAM,IAAIG,4BAAoB,CAC5B,0EACF,CAAC;EACH;EAEA,MAAMjB,sBAAsB,GAC1Ba,iBAAiB,CAAC5C,OAAO,CAACiD,QAAQ,CAACC,iBAAiB,CACjDC,wBAAwB;EAE7B,IAAIpB,sBAAsB,EAAE;IAC1B,MAAMqB,cAAc,GAAG,MAAMtB,iBAAiB,CAACC,sBAAsB,EAAE;MACrE3C;IACF,CAAC,CAAC;IAEF,IAAI,CAACgE,cAAc,CAACC,QAAQ,CAACV,yBAAyB,CAAC,EAAE;MACvD,MAAM,IAAIW,sCAA8B,CACtC,wFAAwF,EACxF;QAAEC,eAAe,EAAEZ,yBAAyB;QAAEZ;MAAuB,CACvE,CAAC;IACH;EACF;;EAEA;EACA,MAAMyB,UAAU,GAAG,MAAMC,gBAAgB,CACvCd,yBAAyB,EACzBvD,QACF,CAAC;EACD;EACA,MAAMsE,mBAAmB,GAAGF,UAAU,CAACA,UAAU,CAACjE,MAAM,GAAG,CAAC,CAAC;EAC7D,IAAI,CAACmE,mBAAmB,EAAE;IACxB,MAAM,IAAIV,4BAAoB,CAC5B,6EAA6E,EAC7E;MAAEO,eAAe,EAAEZ;IAA0B,CAC/C,CAAC;EACH;EAEA,IAAI,CAACE,cAAc,CAACc,GAAG,EAAE;IACvB,MAAM,IAAIC,kCAA0B,CAAC,CAAC;EACxC;EAEA,MAAM,IAAAC,aAAM,EAACH,mBAAmB,EAAEb,cAAc,CAACc,GAAG,EAAE,CAACd,cAAc,CAAC,CAAC;EAEvE,OAAOW,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeC,gBAAgBA,CAC7BvE,aAAqB,EACrBE,QAA8B,EAEX;EAAA,IADnB0E,MAAe,GAAAxE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEtB,MAAMyE,KAAe,GAAG,EAAE;;EAE1B;EACA,MAAMC,WAAW,GAAG,MAAMtE,4BAA4B,CAACR,aAAa,EAAE;IACpEE;EACF,CAAC,CAAC;EACF,MAAM6E,QAAQ,GAAGrD,0BAAmB,CAACf,KAAK,CAAC,IAAAqE,aAAM,EAACF,WAAW,CAAC,CAAC;EAC/D,IAAIF,MAAM,EAAE;IACV;IACAC,KAAK,CAACI,IAAI,CAACH,WAAW,CAAC;EACzB;;EAEA;EACA,MAAMI,cAAc,GAAGH,QAAQ,CAACjE,OAAO,CAACqE,eAAe,IAAI,EAAE;EAC7D,IAAID,cAAc,CAAC7E,MAAM,KAAK,CAAC,EAAE;IAC/B;IACA,IAAI,CAACuE,MAAM,EAAE;MACXC,KAAK,CAACI,IAAI,CAACH,WAAW,CAAC;IACzB;IACA,OAAOD,KAAK;EACd;EACA,MAAMO,mBAAmB,GAAGF,cAAc,CAAC,CAAC,CAAE;;EAE9C;EACA,MAAMG,WAAW,GAAG,MAAM7E,4BAA4B,CAAC4E,mBAAmB,EAAE;IAC1ElF;EACF,CAAC,CAAC;EACF,MAAMoF,QAAQ,GAAG5D,0BAAmB,CAACf,KAAK,CAAC,IAAAqE,aAAM,EAACK,WAAW,CAAC,CAAC;EAC/D;EACA,MAAM/C,uBAAuB,GAC3BgD,QAAQ,CAACxE,OAAO,CAACiD,QAAQ,CAACC,iBAAiB,CAACuB,yBAAyB;EACvE,IAAI,CAACjD,uBAAuB,EAAE;IAC5B,MAAM,IAAIkD,2CAAmC,CAC1C,kDAAiDJ,mBAAoB,4CAA2CpF,aAAc,GAAE,EACjI;MAAEA,aAAa;MAAEyF,kBAAkB,EAAEL;IAAoB,CAC3D,CAAC;EACH;EACA,MAAMM,kBAAkB,GAAG,MAAM5D,wBAAwB,CACvDQ,uBAAuB,EACvBtC,aAAa,EACb;IAAEE;EAAS,CACb,CAAC;EACD;EACA6B,sBAAe,CAACpB,KAAK,CAAC,IAAAqE,aAAM,EAACU,kBAAkB,CAAC,CAAC;;EAEjD;EACAb,KAAK,CAACI,IAAI,CAACS,kBAAkB,CAAC;;EAE9B;EACA,MAAMC,WAAW,GAAG,MAAMpB,gBAAgB,CACxCa,mBAAmB,EACnBlF,QAAQ,EACR,KACF,CAAC;EAED,OAAO2E,KAAK,CAACe,MAAM,CAACD,WAAW,CAAC;AAClC"}