dcql 0.2.3 → 0.2.4

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 (148) hide show
  1. package/dist/src/dcql-query/claims-path.d.ts +14 -0
  2. package/dist/src/dcql-query/claims-path.d.ts.map +1 -0
  3. package/dist/src/dcql-query/claims-path.js +23 -0
  4. package/dist/src/dcql-query/claims-path.js.map +1 -0
  5. package/dist/src/dcql-query/claims-path.test.d.ts +2 -0
  6. package/dist/src/dcql-query/claims-path.test.d.ts.map +1 -0
  7. package/dist/src/dcql-query/claims-path.test.js +97 -0
  8. package/dist/src/dcql-query/claims-path.test.js.map +1 -0
  9. package/dist/src/dcql-query/dcql-query.d.ts +5 -0
  10. package/dist/src/dcql-query/dcql-query.d.ts.map +1 -0
  11. package/dist/src/dcql-query/dcql-query.js +53 -0
  12. package/dist/src/dcql-query/dcql-query.js.map +1 -0
  13. package/dist/src/dcql-query/dcql-query.test.d.ts +2 -0
  14. package/dist/src/dcql-query/dcql-query.test.d.ts.map +1 -0
  15. package/dist/src/dcql-query/dcql-query.test.js +165 -0
  16. package/dist/src/dcql-query/dcql-query.test.js.map +1 -0
  17. package/dist/src/dcql-query/m-dcql-claims-query.d.ts +37 -0
  18. package/dist/src/dcql-query/m-dcql-claims-query.d.ts.map +1 -0
  19. package/dist/src/dcql-query/m-dcql-claims-query.js +57 -0
  20. package/dist/src/dcql-query/m-dcql-claims-query.js.map +1 -0
  21. package/dist/src/dcql-query/m-dcql-credential-query.d.ts +186 -0
  22. package/dist/src/dcql-query/m-dcql-credential-query.d.ts.map +1 -0
  23. package/dist/src/dcql-query/m-dcql-credential-query.js +85 -0
  24. package/dist/src/dcql-query/m-dcql-credential-query.js.map +1 -0
  25. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts +18 -0
  26. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts.map +1 -0
  27. package/dist/src/dcql-query/m-dcql-credential-set-query.js +41 -0
  28. package/dist/src/dcql-query/m-dcql-credential-set-query.js.map +1 -0
  29. package/dist/src/dcql-query/m-dcql-query.d.ts +433 -0
  30. package/dist/src/dcql-query/m-dcql-query.d.ts.map +1 -0
  31. package/dist/src/dcql-query/m-dcql-query.js +89 -0
  32. package/dist/src/dcql-query/m-dcql-query.js.map +1 -0
  33. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts +81 -0
  34. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts.map +1 -0
  35. package/dist/src/dcql-query-result/dcql-claims-query-result.js +158 -0
  36. package/dist/src/dcql-query-result/dcql-claims-query-result.js.map +1 -0
  37. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts +38 -0
  38. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts.map +1 -0
  39. package/dist/src/dcql-query-result/dcql-credential-query-result.js +61 -0
  40. package/dist/src/dcql-query-result/dcql-credential-query-result.js.map +1 -0
  41. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts +730 -0
  42. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts.map +1 -0
  43. package/dist/src/dcql-query-result/m-dcql-query-result.js +78 -0
  44. package/dist/src/dcql-query-result/m-dcql-query-result.js.map +1 -0
  45. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.d.ts +65 -0
  46. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.d.ts.map +1 -0
  47. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.js +50 -0
  48. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.js.map +1 -0
  49. package/dist/src/e-base.d.ts +15 -0
  50. package/dist/src/e-base.d.ts.map +1 -0
  51. package/dist/{esm/src → src}/e-base.js +18 -23
  52. package/dist/src/e-base.js.map +1 -0
  53. package/dist/src/e-dcql.d.ts +32 -0
  54. package/dist/src/e-dcql.d.ts.map +1 -0
  55. package/dist/src/e-dcql.js +35 -0
  56. package/dist/src/e-dcql.js.map +1 -0
  57. package/dist/src/index.d.ts +9 -0
  58. package/dist/src/index.d.ts.map +1 -0
  59. package/dist/src/index.js +30 -0
  60. package/dist/src/index.js.map +1 -0
  61. package/dist/src/u-dcql-credential-representation.d.ts +28 -0
  62. package/dist/src/u-dcql-credential-representation.d.ts.map +1 -0
  63. package/dist/src/u-dcql-credential-representation.js +32 -0
  64. package/dist/src/u-dcql-credential-representation.js.map +1 -0
  65. package/dist/src/u-dcql.d.ts +49 -0
  66. package/dist/src/u-dcql.d.ts.map +1 -0
  67. package/dist/src/u-dcql.js +76 -0
  68. package/dist/src/u-dcql.js.map +1 -0
  69. package/package.json +14 -9
  70. package/.cache/tsbuildinfo.json +0 -1
  71. package/.turbo/turbo-build.log +0 -4
  72. package/CHANGELOG.md +0 -13
  73. package/dist/esm/src/claims-query/claims-query-result.d.ts +0 -24
  74. package/dist/esm/src/claims-query/claims-query-result.d.ts.map +0 -1
  75. package/dist/esm/src/claims-query/claims-query-result.js +0 -67
  76. package/dist/esm/src/claims-query/claims-query-result.js.map +0 -1
  77. package/dist/esm/src/claims-query/v-claims-query-result.d.ts +0 -82
  78. package/dist/esm/src/claims-query/v-claims-query-result.d.ts.map +0 -1
  79. package/dist/esm/src/claims-query/v-claims-query-result.js +0 -30
  80. package/dist/esm/src/claims-query/v-claims-query-result.js.map +0 -1
  81. package/dist/esm/src/claims-query/v-claims-query.d.ts +0 -34
  82. package/dist/esm/src/claims-query/v-claims-query.d.ts.map +0 -1
  83. package/dist/esm/src/claims-query/v-claims-query.js +0 -24
  84. package/dist/esm/src/claims-query/v-claims-query.js.map +0 -1
  85. package/dist/esm/src/credential-query/credential-query-result.d.ts +0 -101
  86. package/dist/esm/src/credential-query/credential-query-result.d.ts.map +0 -1
  87. package/dist/esm/src/credential-query/credential-query-result.js +0 -91
  88. package/dist/esm/src/credential-query/credential-query-result.js.map +0 -1
  89. package/dist/esm/src/credential-query/v-credential-query-result.d.ts +0 -696
  90. package/dist/esm/src/credential-query/v-credential-query-result.d.ts.map +0 -1
  91. package/dist/esm/src/credential-query/v-credential-query-result.js +0 -44
  92. package/dist/esm/src/credential-query/v-credential-query-result.js.map +0 -1
  93. package/dist/esm/src/credential-query/v-credential-query.d.ts +0 -109
  94. package/dist/esm/src/credential-query/v-credential-query.d.ts.map +0 -1
  95. package/dist/esm/src/credential-query/v-credential-query.js +0 -57
  96. package/dist/esm/src/credential-query/v-credential-query.js.map +0 -1
  97. package/dist/esm/src/e-base.d.ts +0 -25
  98. package/dist/esm/src/e-base.d.ts.map +0 -1
  99. package/dist/esm/src/e-base.js.map +0 -1
  100. package/dist/esm/src/e-vp-query.d.ts +0 -32
  101. package/dist/esm/src/e-vp-query.d.ts.map +0 -1
  102. package/dist/esm/src/e-vp-query.js +0 -27
  103. package/dist/esm/src/e-vp-query.js.map +0 -1
  104. package/dist/esm/src/index.d.ts +0 -7
  105. package/dist/esm/src/index.d.ts.map +0 -1
  106. package/dist/esm/src/index.js +0 -7
  107. package/dist/esm/src/index.js.map +0 -1
  108. package/dist/esm/src/u-query.d.ts +0 -20
  109. package/dist/esm/src/u-query.d.ts.map +0 -1
  110. package/dist/esm/src/u-query.js +0 -25
  111. package/dist/esm/src/u-query.js.map +0 -1
  112. package/dist/esm/src/vp-query/v-vp-query-result.d.ts +0 -767
  113. package/dist/esm/src/vp-query/v-vp-query-result.d.ts.map +0 -1
  114. package/dist/esm/src/vp-query/v-vp-query-result.js +0 -18
  115. package/dist/esm/src/vp-query/v-vp-query-result.js.map +0 -1
  116. package/dist/esm/src/vp-query/v-vp-query.d.ts +0 -94
  117. package/dist/esm/src/vp-query/v-vp-query.d.ts.map +0 -1
  118. package/dist/esm/src/vp-query/v-vp-query.js +0 -52
  119. package/dist/esm/src/vp-query/v-vp-query.js.map +0 -1
  120. package/dist/esm/src/vp-query/vp-query.d.ts +0 -5
  121. package/dist/esm/src/vp-query/vp-query.d.ts.map +0 -1
  122. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts +0 -7
  123. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts.map +0 -1
  124. package/dist/esm/src/vp-query/vp-query.fixtures.js +0 -172
  125. package/dist/esm/src/vp-query/vp-query.fixtures.js.map +0 -1
  126. package/dist/esm/src/vp-query/vp-query.js +0 -21
  127. package/dist/esm/src/vp-query/vp-query.js.map +0 -1
  128. package/dist/esm/src/vp-query/vp-query.test.d.ts +0 -31
  129. package/dist/esm/src/vp-query/vp-query.test.d.ts.map +0 -1
  130. package/dist/esm/src/vp-query/vp-query.test.js +0 -130
  131. package/dist/esm/src/vp-query/vp-query.test.js.map +0 -1
  132. package/eslint.config.js +0 -10
  133. package/src/claims-query/claims-query-result.ts +0 -104
  134. package/src/claims-query/v-claims-query-result.ts +0 -42
  135. package/src/claims-query/v-claims-query.ts +0 -34
  136. package/src/credential-query/credential-query-result.ts +0 -130
  137. package/src/credential-query/v-credential-query-result.ts +0 -71
  138. package/src/credential-query/v-credential-query.ts +0 -85
  139. package/src/e-base.ts +0 -116
  140. package/src/e-vp-query.ts +0 -31
  141. package/src/index.ts +0 -6
  142. package/src/u-query.ts +0 -39
  143. package/src/vp-query/v-vp-query-result.ts +0 -23
  144. package/src/vp-query/v-vp-query.ts +0 -71
  145. package/src/vp-query/vp-query.fixtures.ts +0 -178
  146. package/src/vp-query/vp-query.test.ts +0 -156
  147. package/src/vp-query/vp-query.ts +0 -44
  148. package/tsconfig.json +0 -5
@@ -0,0 +1,14 @@
1
+ export declare const limitToPath: {
2
+ name: string;
3
+ address: {
4
+ street_address: string;
5
+ locality: string;
6
+ postal_code: string;
7
+ };
8
+ degrees: {
9
+ type: string;
10
+ university: string;
11
+ }[];
12
+ nationalities: string[];
13
+ };
14
+ //# sourceMappingURL=claims-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims-path.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/claims-path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;CAkBvB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.limitToPath = void 0;
4
+ exports.limitToPath = {
5
+ name: 'Arthur Dent',
6
+ address: {
7
+ street_address: '42 Market Street',
8
+ locality: 'Milliways',
9
+ postal_code: '12345',
10
+ },
11
+ degrees: [
12
+ {
13
+ type: 'Bachelor of Science',
14
+ university: 'University of Betelgeuse',
15
+ },
16
+ {
17
+ type: 'Master of Science',
18
+ university: 'University of Betelgeuse',
19
+ },
20
+ ],
21
+ nationalities: ['British', 'Betelgeusian'],
22
+ };
23
+ //# sourceMappingURL=claims-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims-path.js","sourceRoot":"","sources":["../../../src/dcql-query/claims-path.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,OAAO;KACrB;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,0BAA0B;SACvC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,0BAA0B;SACvC;KACF;IACD,aAAa,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=claims-path.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims-path.test.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/claims-path.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const node_assert_1 = __importDefault(require("node:assert"));
30
+ const node_test_1 = require("node:test");
31
+ const v = __importStar(require("valibot"));
32
+ const dcql_claims_query_result_js_1 = require("../dcql-query-result/dcql-claims-query-result.js");
33
+ const claimsPathPointerExample = {
34
+ name: 'Arthur Dent',
35
+ address: {
36
+ street_address: '42 Market Street',
37
+ locality: 'Milliways',
38
+ postal_code: '12345',
39
+ },
40
+ degrees: [
41
+ {
42
+ type: 'Bachelor of Science',
43
+ university: 'University of Betelgeuse',
44
+ },
45
+ {
46
+ type: 'Master of Science',
47
+ university: 'University of Betelgeuse',
48
+ },
49
+ ],
50
+ nationalities: ['British', 'Betelgeusian'],
51
+ };
52
+ void (0, node_test_1.describe)('claims-path', () => {
53
+ void (0, node_test_1.it)('name', _t => {
54
+ const parser = (0, dcql_claims_query_result_js_1.getJsonClaimsParser)([{ path: ['name'] }]);
55
+ const res = v.parse(parser, claimsPathPointerExample);
56
+ node_assert_1.default.deepStrictEqual(res, {
57
+ name: 'Arthur Dent',
58
+ });
59
+ });
60
+ void (0, node_test_1.it)('address', _t => {
61
+ const parser = (0, dcql_claims_query_result_js_1.getJsonClaimsParser)([{ path: ['address'] }]);
62
+ const res = v.parse(parser, claimsPathPointerExample);
63
+ node_assert_1.default.deepStrictEqual(res, {
64
+ address: {
65
+ street_address: '42 Market Street',
66
+ locality: 'Milliways',
67
+ postal_code: '12345',
68
+ },
69
+ });
70
+ });
71
+ void (0, node_test_1.it)('address street address', _t => {
72
+ const parser = (0, dcql_claims_query_result_js_1.getJsonClaimsParser)([
73
+ { path: ['address', 'street_address'] },
74
+ ]);
75
+ const res = v.parse(parser, claimsPathPointerExample);
76
+ node_assert_1.default.deepStrictEqual(res, {
77
+ address: {
78
+ street_address: '42 Market Street',
79
+ },
80
+ });
81
+ });
82
+ void (0, node_test_1.it)('nationalities', _t => {
83
+ const parser = (0, dcql_claims_query_result_js_1.getJsonClaimsParser)([{ path: ['nationalities', 1] }]);
84
+ const res = v.parse(parser, claimsPathPointerExample);
85
+ node_assert_1.default.deepStrictEqual(res, {
86
+ nationalities: 'Betelgeusian',
87
+ });
88
+ });
89
+ void (0, node_test_1.it)('all degree types', _t => {
90
+ const parser = (0, dcql_claims_query_result_js_1.getJsonClaimsParser)([{ path: ['degrees', null, 'type'] }]);
91
+ const res = v.parse(parser, claimsPathPointerExample);
92
+ node_assert_1.default.deepStrictEqual(res, {
93
+ degrees: [{ type: 'Bachelor of Science' }, { type: 'Master of Science' }],
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=claims-path.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims-path.test.js","sourceRoot":"","sources":["../../../src/dcql-query/claims-path.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DcqlQueryResult } from '../dcql-query-result/m-dcql-query-result.js';
2
+ import type { DcqlCredentialRepresentation } from '../u-dcql-credential-representation.js';
3
+ import type { DcqlQuery } from './m-dcql-query.js';
4
+ export declare const performDcqlQuery: (dcqlQuery: DcqlQuery.Output, credentials: DcqlCredentialRepresentation[]) => DcqlQueryResult;
5
+ //# sourceMappingURL=dcql-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-query.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/dcql-query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,cAChB,SAAS,CAAC,MAAM,eACd,4BAA4B,EAAE,KAC1C,eA0EF,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.performDcqlQuery = void 0;
4
+ const dcql_credential_query_result_js_1 = require("../dcql-query-result/dcql-credential-query-result.js");
5
+ const performDcqlQuery = (dcqlQuery, credentials) => {
6
+ const credentialQueriesResults = Object.fromEntries(dcqlQuery.credentials.map(credentialQuery => [
7
+ credentialQuery.id,
8
+ (0, dcql_credential_query_result_js_1.queryCredentialFromCredentialQuery)(credentialQuery, credentials),
9
+ ]));
10
+ const credentialMatches = Object.fromEntries(Object.entries(credentialQueriesResults).map(([key, credentialQueryResult]) => {
11
+ // Find the best match for each credential query
12
+ let bestMatch = undefined;
13
+ for (const credentialParseResult of credentialQueryResult) {
14
+ const bestMatchForCredential = credentialParseResult.find(result => result?.success == true);
15
+ if (!bestMatch) {
16
+ bestMatch = bestMatchForCredential;
17
+ continue;
18
+ }
19
+ if (bestMatchForCredential &&
20
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
21
+ bestMatchForCredential.claim_set_index < bestMatch.claim_set_index) {
22
+ bestMatch = bestMatchForCredential;
23
+ }
24
+ }
25
+ return [
26
+ key,
27
+ bestMatch
28
+ ? { ...bestMatch, all: credentialQueryResult }
29
+ : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
30
+ { ...credentialQueryResult[0][0], all: credentialQueryResult },
31
+ ];
32
+ }));
33
+ const credentialSetResults = dcqlQuery.credential_sets?.map(set => {
34
+ const matchingOptions = set.options.filter(option => option.every(credentialQueryId => credentialMatches[credentialQueryId]?.success));
35
+ return {
36
+ ...set,
37
+ matching_options: matchingOptions.length > 0
38
+ ? matchingOptions
39
+ : undefined,
40
+ };
41
+ });
42
+ const dqclQueryMatched = credentialSetResults
43
+ ? credentialSetResults.every(set => !set.required || set.matching_options)
44
+ : Object.values(credentialMatches).every(query => query.success);
45
+ return {
46
+ ...dcqlQuery,
47
+ canBeSatisfied: dqclQueryMatched,
48
+ credential_matches: credentialMatches,
49
+ credential_sets: credentialSetResults,
50
+ };
51
+ };
52
+ exports.performDcqlQuery = performDcqlQuery;
53
+ //# sourceMappingURL=dcql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-query.js","sourceRoot":"","sources":["../../../src/dcql-query/dcql-query.ts"],"names":[],"mappings":";;;AAAA,0GAAoI;AAK7H,MAAM,gBAAgB,GAAG,CAC9B,SAA2B,EAC3B,WAA2C,EAC1B,EAAE;IACnB,MAAM,wBAAwB,GAAG,MAAM,CAAC,WAAW,CACjD,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,eAAe,CAAC,EAAE;QAClB,IAAA,oEAAsB,EACpB,eAAe,EACf,WAAW,CAC6B;KAC3C,CAAC,CACH,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE,EAAE;QAC/B,gDAAgD;QAChD,IAAI,SAAS,GACX,SAAS,CAAC;QAEZ,KAAK,MAAM,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;YAC1D,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,IAAI,CACvD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAClC,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,sBAAsB,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,IACE,sBAAsB;gBACtB,oEAAoE;gBACpE,sBAAsB,CAAC,eAAgB,GAAG,SAAS,CAAC,eAAgB,EACpE,CAAC;gBACD,SAAS,GAAG,sBAAsB,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO;YACL,GAAG;YACH,SAAS;gBACP,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE;gBAC9C,CAAC,CAAC,oEAAoE;oBACpE,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE;SACpE,CAAC;IACJ,CAAC,CACF,CAC8C,CAAC;IAElD,MAAM,oBAAoB,GAAG,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QAChE,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAClD,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CACnE,CACF,CAAC;QAEF,OAAO;YACL,GAAG,GAAG;YACN,gBAAgB,EACd,eAAe,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAE,eAA6C;gBAChD,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC,CAA8C,CAAC;IAEhD,MAAM,gBAAgB,GAAG,oBAAoB;QAC3C,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,gBAAgB,CAAC;QAC1E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnE,OAAO;QACL,GAAG,SAAS;QACZ,cAAc,EAAE,gBAAgB;QAChC,kBAAkB,EAAE,iBAAiB;QACrC,eAAe,EAAE,oBAAoB;KACtC,CAAC;AACJ,CAAC,CAAC;AA7EW,QAAA,gBAAgB,oBA6E3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dcql-query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-query.test.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/dcql-query.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
+ const m_dcql_query_js_1 = require("./m-dcql-query.js");
9
+ /**
10
+ * The following is a non-normative example of a DCQL query that requests
11
+ * a Verifiable Credential in the format mso_mdoc with the claims vehicle_holder and first_name:
12
+ */
13
+ const mdocMvrcQuery = {
14
+ credentials: [
15
+ {
16
+ id: 'my_credential',
17
+ format: 'mso_mdoc',
18
+ meta: {
19
+ doctype_value: 'org.iso.7367.1.mVRC',
20
+ },
21
+ claims: [
22
+ {
23
+ namespace: 'org.iso.7367.1',
24
+ claim_name: 'vehicle_holder',
25
+ },
26
+ {
27
+ namespace: 'org.iso.18013.5.1',
28
+ claim_name: 'first_name',
29
+ },
30
+ ],
31
+ },
32
+ ],
33
+ };
34
+ const mdocMvrc = {
35
+ docType: 'org.iso.7367.1.mVRC',
36
+ namespaces: {
37
+ 'org.iso.7367.1': {
38
+ vehicle_holder: 'Martin Auer',
39
+ non_disclosed: 'secret',
40
+ },
41
+ 'org.iso.18013.5.1': { first_name: 'Martin Auer' },
42
+ },
43
+ };
44
+ const exampleMdoc = {
45
+ docType: 'example_doctype',
46
+ namespaces: {
47
+ example_namespaces: {
48
+ example_claim: 'example_value',
49
+ },
50
+ },
51
+ };
52
+ const sdJwtVcExample = {
53
+ credentials: [
54
+ {
55
+ id: 'my_credential',
56
+ format: 'vc+sd-jwt',
57
+ meta: {
58
+ vct_values: ['https://credentials.example.com/identity_credential'],
59
+ },
60
+ claims: [
61
+ { path: ['last_name'] },
62
+ { path: ['first_name'] },
63
+ { path: ['address', 'street_address'] },
64
+ ],
65
+ },
66
+ ],
67
+ };
68
+ const sdJwtVc = {
69
+ vct: 'https://credentials.example.com/identity_credential',
70
+ claims: {
71
+ first_name: 'Arthur',
72
+ last_name: 'Dent',
73
+ address: {
74
+ street_address: '42 Market Street',
75
+ locality: 'Milliways',
76
+ postal_code: '12345',
77
+ },
78
+ degrees: [
79
+ {
80
+ type: 'Bachelor of Science',
81
+ university: 'University of Betelgeuse',
82
+ },
83
+ {
84
+ type: 'Master of Science',
85
+ university: 'University of Betelgeuse',
86
+ },
87
+ ],
88
+ nationalities: ['British', 'Betelgeusian'],
89
+ },
90
+ };
91
+ void (0, node_test_1.describe)('credential-parser', () => {
92
+ void (0, node_test_1.it)('mdocMvrc example succeeds', _t => {
93
+ const query = m_dcql_query_js_1.DcqlQuery.parse(mdocMvrcQuery);
94
+ m_dcql_query_js_1.DcqlQuery.validate(query);
95
+ const res = m_dcql_query_js_1.DcqlQuery.query(query, [mdocMvrc]);
96
+ (0, node_assert_1.default)(res.canBeSatisfied);
97
+ node_assert_1.default.deepStrictEqual(res.credential_matches, {
98
+ my_credential: {
99
+ issues: undefined,
100
+ success: true,
101
+ typed: true,
102
+ credential_index: 0,
103
+ claim_set_index: undefined,
104
+ output: {
105
+ docType: 'org.iso.7367.1.mVRC',
106
+ namespaces: {
107
+ 'org.iso.7367.1': { vehicle_holder: 'Martin Auer' },
108
+ 'org.iso.18013.5.1': { first_name: 'Martin Auer' },
109
+ },
110
+ },
111
+ all: res.credential_matches.my_credential?.all,
112
+ },
113
+ });
114
+ });
115
+ void (0, node_test_1.it)('mdocMvrc example with multiple credentials succeeds', _t => {
116
+ const query = m_dcql_query_js_1.DcqlQuery.parse(mdocMvrcQuery);
117
+ m_dcql_query_js_1.DcqlQuery.validate(query);
118
+ const res = m_dcql_query_js_1.DcqlQuery.query(query, [exampleMdoc, mdocMvrc]);
119
+ (0, node_assert_1.default)(res.canBeSatisfied);
120
+ node_assert_1.default.deepStrictEqual(res.credential_matches, {
121
+ my_credential: {
122
+ issues: undefined,
123
+ success: true,
124
+ typed: true,
125
+ credential_index: 1,
126
+ claim_set_index: undefined,
127
+ output: {
128
+ docType: 'org.iso.7367.1.mVRC',
129
+ namespaces: {
130
+ 'org.iso.7367.1': { vehicle_holder: 'Martin Auer' },
131
+ 'org.iso.18013.5.1': { first_name: 'Martin Auer' },
132
+ },
133
+ },
134
+ all: res.credential_matches.my_credential?.all,
135
+ },
136
+ });
137
+ });
138
+ void (0, node_test_1.it)('sdJwtVc example with multiple credentials succeeds', _t => {
139
+ const query = m_dcql_query_js_1.DcqlQuery.parse(sdJwtVcExample);
140
+ m_dcql_query_js_1.DcqlQuery.validate(query);
141
+ const res = m_dcql_query_js_1.DcqlQuery.query(query, [exampleMdoc, sdJwtVc]);
142
+ (0, node_assert_1.default)(res.canBeSatisfied);
143
+ node_assert_1.default.deepStrictEqual(res.credential_matches, {
144
+ my_credential: {
145
+ issues: undefined,
146
+ success: true,
147
+ typed: true,
148
+ credential_index: 1,
149
+ claim_set_index: undefined,
150
+ output: {
151
+ vct: 'https://credentials.example.com/identity_credential',
152
+ claims: {
153
+ first_name: 'Arthur',
154
+ last_name: 'Dent',
155
+ address: {
156
+ street_address: '42 Market Street',
157
+ },
158
+ },
159
+ },
160
+ all: res.credential_matches.my_credential?.all,
161
+ },
162
+ });
163
+ });
164
+ });
165
+ //# sourceMappingURL=dcql-query.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-query.test.js","sourceRoot":"","sources":["../../../src/dcql-query/dcql-query.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * Specifies claims withing a requested Credential.
4
+ */
5
+ export declare namespace DcqlClaimsQuery {
6
+ const vValue: v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, v.BooleanSchema<undefined>], undefined>;
7
+ type ClaimValue = v.InferOutput<typeof vValue>;
8
+ const vPath: v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.NullSchema<undefined>], undefined>;
9
+ type ClaimPath = v.InferOutput<typeof vPath>;
10
+ const vW3cSdJwtVc: v.ObjectSchema<{
11
+ readonly id: v.SchemaWithPipe<[v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>, v.DescriptionAction<string | undefined, "A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.">]>;
12
+ readonly path: v.SchemaWithPipe<[v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.NullSchema<undefined>], undefined>, undefined>, v.DescriptionAction<(string | number | null)[], "A non-empty array representing a claims path pointer that specifies the path to a claim within the Verifiable Credential.">]>;
13
+ readonly values: v.SchemaWithPipe<[v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, v.BooleanSchema<undefined>], undefined>, undefined>, never>, v.DescriptionAction<(string | number | boolean)[] | undefined, "An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.">]>;
14
+ }, undefined>;
15
+ type W3cAndSdJwtVc = v.InferOutput<typeof vW3cSdJwtVc>;
16
+ const vMdoc: v.ObjectSchema<{
17
+ readonly id: v.SchemaWithPipe<[v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>, v.DescriptionAction<string | undefined, "A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.">]>;
18
+ readonly namespace: v.SchemaWithPipe<[v.StringSchema<undefined>, v.DescriptionAction<string, "A string that specifies the namespace of the data element within the mdoc, e.g., org.iso.18013.5.1.">]>;
19
+ readonly claim_name: v.SchemaWithPipe<[v.StringSchema<undefined>, v.DescriptionAction<string, "A string that specifies the data element identifier of the data element within the provided namespace in the mdoc, e.g., first_name.">]>;
20
+ readonly values: v.SchemaWithPipe<[v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, v.BooleanSchema<undefined>], undefined>, undefined>, never>, v.DescriptionAction<(string | number | boolean)[] | undefined, "An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.">]>;
21
+ }, undefined>;
22
+ type Mdoc = v.InferOutput<typeof vMdoc>;
23
+ const vModel: v.UnionSchema<[v.ObjectSchema<{
24
+ readonly id: v.SchemaWithPipe<[v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>, v.DescriptionAction<string | undefined, "A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.">]>;
25
+ readonly namespace: v.SchemaWithPipe<[v.StringSchema<undefined>, v.DescriptionAction<string, "A string that specifies the namespace of the data element within the mdoc, e.g., org.iso.18013.5.1.">]>;
26
+ readonly claim_name: v.SchemaWithPipe<[v.StringSchema<undefined>, v.DescriptionAction<string, "A string that specifies the data element identifier of the data element within the provided namespace in the mdoc, e.g., first_name.">]>;
27
+ readonly values: v.SchemaWithPipe<[v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, v.BooleanSchema<undefined>], undefined>, undefined>, never>, v.DescriptionAction<(string | number | boolean)[] | undefined, "An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.">]>;
28
+ }, undefined>, v.ObjectSchema<{
29
+ readonly id: v.SchemaWithPipe<[v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>, v.DescriptionAction<string | undefined, "A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.">]>;
30
+ readonly path: v.SchemaWithPipe<[v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.NullSchema<undefined>], undefined>, undefined>, v.DescriptionAction<(string | number | null)[], "A non-empty array representing a claims path pointer that specifies the path to a claim within the Verifiable Credential.">]>;
31
+ readonly values: v.SchemaWithPipe<[v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, v.BooleanSchema<undefined>], undefined>, undefined>, never>, v.DescriptionAction<(string | number | boolean)[] | undefined, "An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.">]>;
32
+ }, undefined>], undefined>;
33
+ type Input = v.InferInput<typeof vModel>;
34
+ type Out = v.InferOutput<typeof vModel>;
35
+ }
36
+ export type DcqlClaimsQuery = DcqlClaimsQuery.Out;
37
+ //# sourceMappingURL=m-dcql-claims-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m-dcql-claims-query.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/m-dcql-claims-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B;;GAEG;AACH,yBAAiB,eAAe,CAAC;IACxB,MAAM,MAAM,sKAIjB,CAAC;IACH,KAAY,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;IAE/C,MAAM,KAAK,2MAIhB,CAAC;IACH,KAAY,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC;IAE7C,MAAM,WAAW;;;;iBAmBtB,CAAC;IACH,KAAY,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC;IAEvD,MAAM,KAAK;;;;;iBAyBhB,CAAC;IACH,KAAY,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC;IAExC,MAAM,MAAM;;;;;;;;;8BAAgC,CAAC;IACpD,KAAY,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAChD,KAAY,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;CAChD;AACD,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DcqlClaimsQuery = void 0;
27
+ const v = __importStar(require("valibot"));
28
+ const u_dcql_js_1 = require("../u-dcql.js");
29
+ /**
30
+ * Specifies claims withing a requested Credential.
31
+ */
32
+ var DcqlClaimsQuery;
33
+ (function (DcqlClaimsQuery) {
34
+ DcqlClaimsQuery.vValue = v.union([
35
+ v.string(),
36
+ v.pipe(v.number(), v.integer()),
37
+ v.boolean(),
38
+ ]);
39
+ DcqlClaimsQuery.vPath = v.union([
40
+ v.string(),
41
+ v.pipe(v.number(), v.integer(), v.minValue(0)),
42
+ v.null(),
43
+ ]);
44
+ DcqlClaimsQuery.vW3cSdJwtVc = v.object({
45
+ id: v.pipe(v.optional(v.pipe(v.string(), v.regex(u_dcql_js_1.idRegex))), v.description('A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.')),
46
+ path: v.pipe(v.array(DcqlClaimsQuery.vPath), v.description('A non-empty array representing a claims path pointer that specifies the path to a claim within the Verifiable Credential.')),
47
+ values: v.pipe(v.optional(v.array(DcqlClaimsQuery.vValue)), v.description('An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.')),
48
+ });
49
+ DcqlClaimsQuery.vMdoc = v.object({
50
+ id: v.pipe(v.optional(v.pipe(v.string(), v.regex(u_dcql_js_1.idRegex))), v.description('A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.')),
51
+ namespace: v.pipe(v.string(), v.description('A string that specifies the namespace of the data element within the mdoc, e.g., org.iso.18013.5.1.')),
52
+ claim_name: v.pipe(v.string(), v.description('A string that specifies the data element identifier of the data element within the provided namespace in the mdoc, e.g., first_name.')),
53
+ values: v.pipe(v.optional(v.array(DcqlClaimsQuery.vValue)), v.description('An array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match for at least one of the elements in the array.')),
54
+ });
55
+ DcqlClaimsQuery.vModel = v.union([DcqlClaimsQuery.vMdoc, DcqlClaimsQuery.vW3cSdJwtVc]);
56
+ })(DcqlClaimsQuery || (exports.DcqlClaimsQuery = DcqlClaimsQuery = {}));
57
+ //# sourceMappingURL=m-dcql-claims-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m-dcql-claims-query.js","sourceRoot":"","sources":["../../../src/dcql-query/m-dcql-claims-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,4CAAuC;AAEvC;;GAEG;AACH,IAAiB,eAAe,CAoE/B;AApED,WAAiB,eAAe;IACjB,sBAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,MAAM,EAAE;QACV,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC,CAAC,OAAO,EAAE;KACZ,CAAC,CAAC;IAGU,qBAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,MAAM,EAAE;QACV,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,IAAI,EAAE;KACT,CAAC,CAAC;IAGU,2BAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAClC,EAAE,EAAE,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAO,CAAC,CAAC,CAAC,EAChD,CAAC,CAAC,WAAW,CACX,0OAA0O,CAC3O,CACF;QACD,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,KAAK,CAAC,gBAAA,KAAK,CAAC,EACd,CAAC,CAAC,WAAW,CACX,2HAA2H,CAC5H,CACF;QACD,MAAM,EAAE,CAAC,CAAC,IAAI,CACZ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAA,MAAM,CAAC,CAAC,EAC3B,CAAC,CAAC,WAAW,CACX,0QAA0Q,CAC3Q,CACF;KACF,CAAC,CAAC;IAGU,qBAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAO,CAAC,CAAC,CAAC,EAChD,CAAC,CAAC,WAAW,CACX,0OAA0O,CAC3O,CACF;QACD,SAAS,EAAE,CAAC,CAAC,IAAI,CACf,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CACX,qGAAqG,CACtG,CACF;QACD,UAAU,EAAE,CAAC,CAAC,IAAI,CAChB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CACX,sIAAsI,CACvI,CACF;QACD,MAAM,EAAE,CAAC,CAAC,IAAI,CACZ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAA,MAAM,CAAC,CAAC,EAC3B,CAAC,CAAC,WAAW,CACX,0QAA0Q,CAC3Q,CACF;KACF,CAAC,CAAC;IAGU,sBAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAA,KAAK,EAAE,gBAAA,WAAW,CAAC,CAAC,CAAC;AAGtD,CAAC,EApEgB,eAAe,+BAAf,eAAe,QAoE/B"}