@comake/skl-js-engine 0.20.0 → 0.22.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.
@@ -4,6 +4,7 @@ import type { SklEngineOptions } from './SklEngineOptions';
4
4
  import type { FindAllOptions, FindOneOptions, FindOptionsWhere } from './storage/FindOptionsTypes';
5
5
  import type { RawQueryResult } from './storage/query-adapter/QueryAdapter';
6
6
  import type { OrArray, Entity, VerbConfig, JSONObject, JSONValue } from './util/Types';
7
+ import { GroupByOptions, GroupByResponse } from './storage/GroupOptionTypes';
7
8
  export declare type VerbHandler = <T extends OrArray<NodeObject> = OrArray<NodeObject>>(params: JSONObject, verbConfig?: VerbConfig) => Promise<T>;
8
9
  export declare type VerbInterface = Record<string, VerbHandler>;
9
10
  export declare type MappingResponseOption<T extends boolean> = T extends true ? JSONObject : NodeObject;
@@ -23,6 +24,7 @@ export declare class SKLEngine {
23
24
  findBy(where: FindOptionsWhere, notFoundErrorMessage?: string): Promise<Entity>;
24
25
  findByIfExists(options: FindOptionsWhere): Promise<Entity | undefined>;
25
26
  findAll(options?: FindAllOptions): Promise<Entity[]>;
27
+ groupBy(options: GroupByOptions): Promise<GroupByResponse>;
26
28
  findAllBy(where: FindOptionsWhere): Promise<Entity[]>;
27
29
  exists(options?: FindAllOptions): Promise<boolean>;
28
30
  count(options?: FindAllOptions): Promise<number>;
package/dist/SklEngine.js CHANGED
@@ -69,6 +69,9 @@ class SKLEngine {
69
69
  async findAll(options) {
70
70
  return await this.queryAdapter.findAll(options);
71
71
  }
72
+ async groupBy(options) {
73
+ return await this.queryAdapter.groupBy(options);
74
+ }
72
75
  async findAllBy(where) {
73
76
  return await this.queryAdapter.findAllBy(where);
74
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,16 @@ export interface FindOptionsWhere {
44
44
  id?: IdFindOptionsWhereField;
45
45
  [k: string]: FindOptionsWhereField | undefined;
46
46
  }
47
+ export interface SubQuery {
48
+ select: Variable[];
49
+ where: FindOptionsWhere;
50
+ groupBy?: string[];
51
+ having?: FindOptionsWhere;
52
+ }
47
53
  export interface FindAllOptions extends FindOneOptions {
48
54
  offset?: number;
49
55
  limit?: number;
56
+ subQueries?: SubQuery[];
50
57
  }
51
58
  export interface FindExistsOptions {
52
59
  where?: FindOptionsWhere;
@@ -0,0 +1,28 @@
1
+ import { FindOptionsWhere } from "./FindOptionsTypes";
2
+ export interface GroupByOptions {
3
+ where?: FindOptionsWhere;
4
+ groupBy?: string[];
5
+ dateRange?: {
6
+ start: string;
7
+ end: string;
8
+ };
9
+ dateGrouping?: "month" | "day";
10
+ limit?: number;
11
+ offset?: number;
12
+ }
13
+ export interface GroupResult {
14
+ group: Record<string, string | number>;
15
+ count: number;
16
+ entityIds: string[];
17
+ }
18
+ export interface GroupByResponse {
19
+ results: GroupResult[];
20
+ meta: {
21
+ totalCount: number;
22
+ dateRange?: {
23
+ start: string;
24
+ end: string;
25
+ };
26
+ groupings: string[];
27
+ };
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GroupOptionTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupOptionTypes.js","sourceRoot":"","sources":["../../src/storage/GroupOptionTypes.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import type { GraphObject } from 'jsonld';
2
2
  import type { Frame } from 'jsonld/jsonld-spec';
3
3
  import type { Entity } from '../../util/Types';
4
4
  import type { FindAllOptions, FindCountOptions, FindExistsOptions, FindOneOptions, FindOptionsWhere } from '../FindOptionsTypes';
5
+ import { GroupByOptions, GroupByResponse } from '../GroupOptionTypes';
5
6
  export declare type RawQueryResult = Record<string, number | boolean | string>;
6
7
  export interface UpdateOptions {
7
8
  validate?: boolean;
@@ -90,4 +91,8 @@ export interface QueryAdapter {
90
91
  * Removes all entities from the database.
91
92
  */
92
93
  destroyAll(): Promise<void>;
94
+ /**
95
+ * Groups entities by a given options.
96
+ */
97
+ groupBy(options: GroupByOptions): Promise<GroupByResponse>;
93
98
  }
@@ -5,6 +5,7 @@ import type { FindOneOptions, FindAllOptions, FindOptionsWhere, FindCountOptions
5
5
  import type { QueryAdapter, RawQueryResult } from '../QueryAdapter';
6
6
  import type { QueryExecutor } from './query-executor/SparqlQueryExecutor';
7
7
  import type { SparqlQueryAdapterOptions } from './SparqlQueryAdapterOptions';
8
+ import { GroupByOptions, GroupByResponse } from '../../GroupOptionTypes';
8
9
  /**
9
10
  * A {@link QueryAdapter} that stores data in a database through a sparql endpoint.
10
11
  */
@@ -26,6 +27,7 @@ export declare class SparqlQueryAdapter implements QueryAdapter {
26
27
  count(options: FindCountOptions): Promise<number>;
27
28
  save(entity: Entity): Promise<Entity>;
28
29
  save(entities: Entity[]): Promise<Entity[]>;
30
+ groupBy(options: GroupByOptions): Promise<GroupByResponse>;
29
31
  update(id: string, attributes: Partial<Entity>): Promise<void>;
30
32
  update(ids: string[], attributes: Partial<Entity>): Promise<void>;
31
33
  delete(id: string): Promise<void>;
@@ -131,6 +131,48 @@ class SparqlQueryAdapter {
131
131
  await this.queryExecutor.executeSparqlUpdate(query);
132
132
  return entityOrEntities;
133
133
  }
134
+ async groupBy(options) {
135
+ const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
136
+ const { query: selectQuery, variableMapping } = await queryBuilder.buildGroupByQuery(options);
137
+ const results = await this.queryExecutor.executeSparqlSelectAndGetData(selectQuery);
138
+ // Create reverse mapping from path to variable name
139
+ const reverseMapping = Object.entries(variableMapping).reduce((acc, [varName, path]) => {
140
+ acc[path] = varName;
141
+ return acc;
142
+ }, {});
143
+ // Transform results
144
+ const groupResults = results.map((result) => {
145
+ const group = {};
146
+ options.groupBy?.forEach((path) => {
147
+ const varName = reverseMapping[path];
148
+ if (!varName) {
149
+ throw new Error(`No variable mapping found for path: ${path}`);
150
+ }
151
+ const value = result[varName].value;
152
+ // Try to convert to number if possible
153
+ group[path] = isNaN(Number(value)) ? value : Number(value);
154
+ });
155
+ if (options.dateGrouping) {
156
+ const dateGroupVarName = reverseMapping['dateGroup'];
157
+ group.dateGroup = result[dateGroupVarName].value;
158
+ }
159
+ const countVarName = reverseMapping['count'];
160
+ const entityIdsVarName = reverseMapping['entityIds'];
161
+ return {
162
+ group,
163
+ count: parseInt(result[countVarName].value, 10),
164
+ entityIds: result[entityIdsVarName].value.split(" "),
165
+ };
166
+ });
167
+ return {
168
+ results: groupResults,
169
+ meta: {
170
+ totalCount: groupResults.reduce((sum, curr) => sum + curr.count, 0),
171
+ dateRange: options.dateRange,
172
+ groupings: options.groupBy || [],
173
+ },
174
+ };
175
+ }
134
176
  async update(idOrIds, attributes) {
135
177
  const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });
136
178
  const query = queryBuilder.buildPartialUpdate(idOrIds, attributes);
@@ -1 +1 @@
1
- {"version":3,"file":"SparqlQueryAdapter.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparqlQueryAdapter.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Variable } from '@rdfjs/types';
2
- import type { Triple, OperationExpression, Ordering, ValuesPattern, Pattern, ConstructQuery } from 'sparqljs';
3
- import type { FindOptionsOrder, FindOptionsRelations, FindOptionsSelect, FindOptionsWhere } from '../../FindOptionsTypes';
2
+ import type { Triple, OperationExpression, Ordering, ValuesPattern, Pattern, ConstructQuery, SelectQuery } from 'sparqljs';
3
+ import type { FindOptionsOrder, FindOptionsRelations, FindOptionsSelect, FindOptionsWhere, SubQuery } from '../../FindOptionsTypes';
4
+ import { GroupByOptions } from '../../GroupOptionTypes';
4
5
  export interface NonGraphWhereQueryData {
5
6
  values: ValuesPattern[];
6
7
  triples: Triple[];
@@ -34,11 +35,13 @@ export interface SparqlQueryBuilderOptions {
34
35
  select?: FindOptionsSelect;
35
36
  order?: FindOptionsOrder;
36
37
  relations?: FindOptionsRelations;
38
+ subQueries?: SubQuery[];
37
39
  }
38
40
  export declare class SparqlQueryBuilder {
39
41
  private readonly variableGenerator;
40
42
  constructor();
41
43
  buildEntitySelectPatternsFromOptions(subject: Variable, options?: SparqlQueryBuilderOptions): EntitySelectQueryData;
44
+ private createSubQueryPatterns;
42
45
  private createEntityGraphFilterPattern;
43
46
  buildConstructFromEntitySelectQuery(graphWhere: Pattern[], graphSelectionTriples: Triple[], select?: FindOptionsSelect): ConstructQuery;
44
47
  private createWhereQueryData;
@@ -66,4 +69,18 @@ export declare class SparqlQueryBuilder {
66
69
  private createVariable;
67
70
  private createSelectPattern;
68
71
  private createWherePatternsFromQueryData;
72
+ private createGroupPatternForPath;
73
+ buildGroupByQuery(options: GroupByOptions): Promise<{
74
+ query: SelectQuery;
75
+ variableMapping: Record<string, string>;
76
+ }>;
77
+ private createDateGroupingBind;
78
+ private createYearExpression;
79
+ private createMonthExpression;
80
+ private createDayExpression;
81
+ private createPaddedDatePartExpression;
82
+ private createLessThanComparison;
83
+ private createPaddedStringExpression;
84
+ private createUnpaddedStringExpression;
85
+ private createDayExpressionParts;
69
86
  }
@@ -20,6 +20,11 @@ class SparqlQueryBuilder {
20
20
  const whereQueryData = this.createWhereQueryData(subject, options?.where, true);
21
21
  const orderQueryData = this.createOrderQueryData(subject, options?.order);
22
22
  const relationsQueryData = this.createRelationsQueryData(subject, relations);
23
+ // Handle subqueries
24
+ if (options?.subQueries && options.subQueries.length > 0) {
25
+ const subQueryPatterns = this.createSubQueryPatterns(options.subQueries);
26
+ whereQueryData.values.unshift(...subQueryPatterns);
27
+ }
23
28
  const patterns = whereQueryData.values;
24
29
  if (whereQueryData.triples.length === 0 && (whereQueryData.filters.length > 0 ||
25
30
  orderQueryData.triples.length > 0 ||
@@ -44,6 +49,29 @@ class SparqlQueryBuilder {
44
49
  graphSelectionTriples: relationsQueryData.selectionTriples,
45
50
  };
46
51
  }
52
+ createSubQueryPatterns(subQueries) {
53
+ return subQueries.map((subQuery) => {
54
+ const subQueryWhere = this.createWhereQueryData(SparqlUtil_1.entityVariable, subQuery.where);
55
+ const queryGroup = [];
56
+ if (subQuery.groupBy && Array.isArray(subQuery.groupBy)) {
57
+ subQuery.groupBy.forEach((group) => {
58
+ queryGroup.push({
59
+ expression: data_model_1.default.variable(group),
60
+ });
61
+ });
62
+ }
63
+ const selectQuery = {
64
+ type: 'query',
65
+ queryType: 'SELECT',
66
+ variables: subQuery.select,
67
+ where: this.createWherePatternsFromQueryData(subQueryWhere.values, subQueryWhere.triples, subQueryWhere.filters),
68
+ group: queryGroup.length > 0 ? queryGroup : undefined,
69
+ having: subQuery.having ? this.createWhereQueryData(SparqlUtil_1.entityVariable, subQuery.having).filters : undefined,
70
+ prefixes: {},
71
+ };
72
+ return (0, SparqlUtil_1.createSparqlSelectGroup)([selectQuery]);
73
+ });
74
+ }
47
75
  createEntityGraphFilterPattern(subject) {
48
76
  const entityFilterTriple = { subject, predicate: this.createVariable(), object: this.createVariable() };
49
77
  return (0, SparqlUtil_1.createSparqlGraphPattern)(subject, [(0, SparqlUtil_1.createSparqlBasicGraphPattern)([entityFilterTriple])]);
@@ -661,6 +689,213 @@ class SparqlQueryBuilder {
661
689
  }
662
690
  return patterns;
663
691
  }
692
+ createGroupPatternForPath(entityVariable, path) {
693
+ const segments = path.split('~');
694
+ let currentSubject = entityVariable;
695
+ const patterns = [];
696
+ // Create a chain of patterns for each segment
697
+ segments.forEach((predicate, index) => {
698
+ const object = this.createVariable();
699
+ patterns.push({
700
+ type: 'bgp',
701
+ triples: [{
702
+ subject: currentSubject,
703
+ predicate: data_model_1.default.namedNode(predicate),
704
+ object: object
705
+ }]
706
+ });
707
+ currentSubject = object;
708
+ });
709
+ // Return the final variable (last object) and all patterns
710
+ return {
711
+ variable: currentSubject,
712
+ patterns
713
+ };
714
+ }
715
+ async buildGroupByQuery(options) {
716
+ const entityVariable = data_model_1.default.variable('entity');
717
+ const queryData = this.buildEntitySelectPatternsFromOptions(entityVariable, {
718
+ where: options.where || {},
719
+ });
720
+ // Add group variables and patterns with mapping
721
+ const groupVariables = [];
722
+ const groupPatterns = [];
723
+ const variableMapping = {};
724
+ if (options.groupBy) {
725
+ options.groupBy.forEach((path) => {
726
+ const { variable: groupVar, patterns } = this.createGroupPatternForPath(entityVariable, path);
727
+ groupVariables.push(groupVar);
728
+ variableMapping[groupVar.value] = path;
729
+ groupPatterns.push(...patterns);
730
+ });
731
+ }
732
+ // Add date handling if specified
733
+ if (options.dateRange) {
734
+ const dateVar = this.createVariable();
735
+ variableMapping[dateVar.value] = 'date';
736
+ const datePattern = {
737
+ type: 'bgp',
738
+ triples: [{
739
+ subject: entityVariable,
740
+ predicate: data_model_1.default.namedNode('http://purl.org/dc/terms/created'),
741
+ object: dateVar
742
+ }]
743
+ };
744
+ const dateFilter = {
745
+ type: 'filter',
746
+ expression: {
747
+ type: 'operation',
748
+ operator: '&&',
749
+ args: [
750
+ {
751
+ type: 'operation',
752
+ operator: '>=',
753
+ args: [dateVar, data_model_1.default.literal(options.dateRange.start, 'http://www.w3.org/2001/XMLSchema#dateTime')]
754
+ },
755
+ {
756
+ type: 'operation',
757
+ operator: '<=',
758
+ args: [dateVar, data_model_1.default.literal(options.dateRange.end, 'http://www.w3.org/2001/XMLSchema#dateTime')]
759
+ }
760
+ ]
761
+ }
762
+ };
763
+ groupPatterns.push(datePattern, dateFilter);
764
+ if (options.dateGrouping) {
765
+ const dateGroupVar = this.createVariable();
766
+ groupVariables.push(dateGroupVar);
767
+ variableMapping[dateGroupVar.value] = 'dateGroup';
768
+ const dateGroupBind = this.createDateGroupingBind(dateVar, dateGroupVar, options.dateGrouping);
769
+ groupPatterns.push(dateGroupBind);
770
+ }
771
+ }
772
+ // Create count and entityIds variables
773
+ const countVar = this.createVariable();
774
+ const entityIdsVar = this.createVariable();
775
+ variableMapping[countVar.value] = 'count';
776
+ variableMapping[entityIdsVar.value] = 'entityIds';
777
+ // Combine all patterns
778
+ const combinedWhere = [
779
+ ...queryData.where,
780
+ ...groupPatterns
781
+ ];
782
+ // Create select query with aggregations
783
+ const selectQuery = (0, SparqlUtil_1.createSparqlSelectQuery)([
784
+ ...groupVariables,
785
+ {
786
+ expression: {
787
+ type: 'aggregate',
788
+ aggregation: 'count',
789
+ distinct: true,
790
+ expression: entityVariable
791
+ },
792
+ variable: countVar
793
+ },
794
+ {
795
+ expression: {
796
+ type: 'aggregate',
797
+ aggregation: 'group_concat',
798
+ distinct: true,
799
+ separator: ' ',
800
+ expression: entityVariable
801
+ },
802
+ variable: entityIdsVar
803
+ }
804
+ ], combinedWhere, [], // orders
805
+ groupVariables, // group by
806
+ options.limit, options.offset);
807
+ return { query: selectQuery, variableMapping };
808
+ }
809
+ // Helper function for date grouping
810
+ createDateGroupingBind(dateVar, dateGroupVar, grouping) {
811
+ return {
812
+ type: 'bind',
813
+ expression: {
814
+ type: 'operation',
815
+ operator: 'CONCAT',
816
+ args: [
817
+ this.createYearExpression(dateVar),
818
+ data_model_1.default.literal('-'),
819
+ this.createMonthExpression(dateVar),
820
+ ...this.createDayExpressionParts(dateVar, grouping)
821
+ ]
822
+ },
823
+ variable: dateGroupVar
824
+ };
825
+ }
826
+ createYearExpression(dateVar) {
827
+ return {
828
+ type: 'operation',
829
+ operator: 'STR',
830
+ args: [{
831
+ type: 'operation',
832
+ operator: 'YEAR',
833
+ args: [dateVar]
834
+ }]
835
+ };
836
+ }
837
+ createMonthExpression(dateVar) {
838
+ return this.createPaddedDatePartExpression(dateVar, 'MONTH');
839
+ }
840
+ createDayExpression(dateVar) {
841
+ return this.createPaddedDatePartExpression(dateVar, 'DAY');
842
+ }
843
+ createPaddedDatePartExpression(dateVar, datePart) {
844
+ const comparisonValue = data_model_1.default.literal('10', data_model_1.default.namedNode('http://www.w3.org/2001/XMLSchema#integer'));
845
+ return {
846
+ type: 'operation',
847
+ operator: 'IF',
848
+ args: [
849
+ this.createLessThanComparison(dateVar, datePart, comparisonValue),
850
+ this.createPaddedStringExpression(dateVar, datePart),
851
+ this.createUnpaddedStringExpression(dateVar, datePart)
852
+ ]
853
+ };
854
+ }
855
+ createLessThanComparison(dateVar, datePart, comparisonValue) {
856
+ return {
857
+ type: 'operation',
858
+ operator: '<',
859
+ args: [
860
+ {
861
+ type: 'operation',
862
+ operator: datePart,
863
+ args: [dateVar]
864
+ },
865
+ comparisonValue
866
+ ]
867
+ };
868
+ }
869
+ createPaddedStringExpression(dateVar, datePart) {
870
+ return {
871
+ type: 'operation',
872
+ operator: 'CONCAT',
873
+ args: [
874
+ data_model_1.default.literal('0'),
875
+ this.createUnpaddedStringExpression(dateVar, datePart)
876
+ ]
877
+ };
878
+ }
879
+ createUnpaddedStringExpression(dateVar, datePart) {
880
+ return {
881
+ type: 'operation',
882
+ operator: 'STR',
883
+ args: [{
884
+ type: 'operation',
885
+ operator: datePart,
886
+ args: [dateVar]
887
+ }]
888
+ };
889
+ }
890
+ createDayExpressionParts(dateVar, grouping) {
891
+ if (grouping === 'day') {
892
+ return [
893
+ data_model_1.default.literal('-'),
894
+ this.createDayExpression(dateVar)
895
+ ];
896
+ }
897
+ return [data_model_1.default.literal('')];
898
+ }
664
899
  }
665
900
  exports.SparqlQueryBuilder = SparqlQueryBuilder;
666
901
  //# sourceMappingURL=SparqlQueryBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SparqlQueryBuilder.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparqlQueryBuilder.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA4C;AAkB5C,yDA6BkC;AAClC,yDAEkC;AAElC,6CAA2C;AAC3C,6DAAiD;AACjD,qDAAkD;AAgBlD,2DAAwD;AA4CxD,MAAa,kBAAkB;IAG7B;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;IACnD,CAAC;IAEM,oCAAoC,CACzC,OAAiB,EACjB,OAAmC;QAEnC,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7E,oBAAoB;QACpB,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,gBAAmC,CAAC,CAAC;SACvE;QACD,MAAM,QAAQ,GAAc,cAAc,CAAC,MAAM,CAAC;QAClD,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CACzC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACjC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACjC,CACE,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAClC,cAAc,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBACvC,cAAc,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CACzC,CACF,EAAE;YACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACzC;aAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;YAC9E,MAAM,mBAAmB,GAAG,IAAA,wCAA2B,EAAC,CAAE,wBAAwB,CAAE,CAAC,CAAC;YACtF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAClD;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gCAAgC,CACzD,QAAQ,EACR,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,OAAO,CACvB,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,gCAAgC,CAC9D,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,YAAY,EAC3B,cAAc,CAAC,YAAY,EAC3B,SAAS,EACT,SAAS,EACT,kBAAkB,CAAC,QAAQ,CAC5B,CAAC;QACF,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACzD,UAAU,EAAE,kBAAkB;YAC9B,qBAAqB,EAAE,kBAAkB,CAAC,gBAAgB;SAC3D,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,UAAsB;QACnD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAW,EAAE;YACpD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,2BAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChF,MAAM,UAAU,GAAe,EAAE,CAAC;YAClC,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACvD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAQ,EAAE;oBAC/C,UAAU,CAAC,IAAI,CAAC;wBACd,UAAU,EAAE,oBAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;qBACxC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YACD,MAAM,WAAW,GAAgB;gBAC/B,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,QAAQ,CAAC,MAAM;gBAC1B,KAAK,EAAE,IAAI,CAAC,gCAAgC,CAC1C,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,OAAO,CACtB;gBACD,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACrD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,2BAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACxG,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,OAAO,IAAA,oCAAuB,EAAC,CAAE,WAAW,CAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B,CAAC,OAAiB;QACtD,MAAM,kBAAkB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxG,OAAO,IAAA,qCAAwB,EAC7B,OAAO,EACP,CAAE,IAAA,0CAA6B,EAAC,CAAE,kBAAkB,CAAE,CAAC,CAAE,CAC1D,CAAC;IACJ,CAAC;IAEM,mCAAmC,CACxC,UAAqB,EACrB,qBAA+B,EAC/B,MAA0B;QAE1B,IAAI,OAAiB,CAAC;QACtB,IAAI,KAAK,GAAc,EAAE,CAAC;QAC1B,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,2BAAc,CAAC,CAAC;YAC3D,KAAK,GAAG;gBACN,IAAA,iCAAoB,EAAC;oBACnB,IAAA,0CAA6B,EAAC,OAAO,CAAC;iBACvC,CAAC;gBACF,GAAG,UAAU;aACd,CAAC;SACH;aAAM;YACL,OAAO,GAAG,CAAE,8BAAiB,EAAE,GAAG,qBAAqB,CAAE,CAAC;YAC1D,KAAK,GAAG;gBACN,GAAG,UAAU;gBACb,IAAA,qCAAwB,EACtB,2BAAc,EACd,CAAE,IAAA,0CAA6B,EAAC,CAAE,8BAAiB,CAAE,CAAC,CAAE,CACzD;aACF,CAAC;SACH;QACD,OAAO,IAAA,uCAA0B,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAEO,oBAAoB,CAC1B,OAAiB,EACjB,KAAwB,EACxB,UAAU,GAAG,KAAK;QAElB,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,KAAM,EAAE;YACzE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAG,CAAC,CAAC;YAC7F,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAE,OAAO;gBACrB,YAAY,EAAE,OAAO;aACtB,CAAC;SACH;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aAC/C,MAAM,CAAC,CAAC,GAA2B,EAAE,CAAE,GAAG,EAAE,KAAK,CAAE,EAA0B,EAAE;YAC9E,MAAM,sBAAsB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,GAAG,EAAE,KAAM,CAAC,CAAC;YACvF,OAAO;gBACL,MAAM,EAAE,CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAE;gBAC3D,OAAO,EAAE,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAE;gBAC9D,OAAO,EAAE,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAE;aAC/D,CAAC;QACJ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC,CAAC;QAC9C,OAAO;YACL,GAAG,cAAc;YACjB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAClC,OAAiB,EACjB,KAAa,EACb,KAAkF;QAElF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC,8BAA8B,CACxC,OAAO,EACP,KAA+B,CAChC,CAAC;SACH;QACD,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,KAA+B,CAAC,CAAC;SACnF;QACD,MAAM,SAAS,GAAG,oBAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,8BAA8B,CACpC,IAAc,EACd,KAA8B;QAE9B,IAAI,OAAO,GAA0B,EAAE,CAAC;QACxC,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACtC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC3B,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAkC,CAAC,CAAC,CAAC;SACxF;aAAM;YACL,MAAM,GAAG,CAAC;oBACR,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,CAAC;4BACP,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,oBAAW,CAAC,SAAS,CAAC,KAAe,CAAC;yBAC3D,CAAC;iBACH,CAAC,CAAC;SACJ;QACD,OAAO;YACL,MAAM;YACN,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAEO,2BAA2B,CACjC,OAAiB,EACjB,KAAgC;QAEhC,IAAI,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACtC,IAAK,KAAgC,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC5D,MAAM,gBAAgB,GAAG,IAAA,yCAA4B,EAAC,CAAE,sCAAyB,CAAE,CAAC,CAAC;gBACrF,MAAM,qBAAqB,GAAG,IAAI,CAAC,gCAAgC,CACjE,OAAO,EACP,gBAAgB,EACf,KAAgC,CAAC,KAAK,CACxC,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,qBAAqB,CAAC,MAAM;oBACpC,OAAO,EAAE,qBAAqB,CAAC,OAAO;oBACtC,OAAO,EAAE,qBAAqB,CAAC,OAAO;iBACvC,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,sCAAyB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACnF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,iDAAiD,CACrG,QAAQ,EACR,KAAkC,EAClC,MAAM,CACP,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAE,YAAY,CAAE,CAAC,CAAC,CAAC,EAAE;gBAC5C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;gBACjC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,MAAM,CAAE;aAC1C,CAAC;SACH;QACD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC;oBACR,OAAO;oBACP,SAAS,EAAE,sCAAyB;oBACpC,MAAM,EAAE,oBAAW,CAAC,SAAS,CAAC,KAAe,CAAC;iBAC/C,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,gCAAgC,CACtC,OAAiB,EACjB,SAAiC,EACjC,KAA4B;QAE5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACjE,OAAO,IAAI,CAAC,4CAA4C,CAAC,OAAO,EAAE,SAAS,EAAE,KAAiC,CAAC,CAAC;SACjH;QACD,IAAI,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,mCAAmC,CAAC,OAAO,EAAE,SAAS,EAAE,KAA+B,CAAC,CAAC;SACtG;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAQ,KAA+B;iBACpC,MAAM,CAAC,CAAC,GAA2B,EAAE,SAAS,EAA0B,EAAE;gBACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACjG,OAAO;oBACL,MAAM,EAAE,CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAE;oBACxD,OAAO,EAAE,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAE;oBAC3D,OAAO,EAAE,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAE;iBAC5D,CAAC;YACJ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,QAAQ,IAAI,KAAK,EAAE;gBACrB,OAAO,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,SAAS,EAAE,KAA8B,CAAC,CAAC;aACpG;YACD,OAAO,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAyB,CAAC,CAAC;SAC/F;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,mCAAmC,CACzC,OAAiB,EACjB,SAAiC,EACjC,QAAgC;QAEhC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;YACnC,MAAM,gBAAgB,GAAG,IAAA,yCAA4B,EAAC,CAAE,SAAS,CAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;SACzF;QACD,IAAI,2BAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,iBAAiB,GAAG,IAAA,0CAA6B,EAAC;gBACtD,SAAS;gBACT,aAAa;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAChG;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,iDAAiD,CACrG,QAAQ,EACR,QAAQ,EACR,MAAM,CACP,CAAC;QACF,OAAO;YACL,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAE,YAAY,CAAE,CAAC,CAAC,CAAC,EAAE;YAC5C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;YACjC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,MAAM,CAAE;SAC1C,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,QAAgG;QAEhG,IAAI,QAAQ,CAAC,QAAQ,KAAK,aAAa,EAAE;YACvC,IAAI,YAAoC,CAAC;YACzC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,YAAY,GAAG,oBAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC/C;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,yCAA4B,EAAC,CAAE,YAAY,CAAE,CAAC,CAAC;SACvD;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc,EAAE;YACxC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,MAAM,aAAa,GAAG,OAAO;iBAC1B,GAAG,CAAC,CAAC,YAA6C,EAA0B,EAAE;gBAC7E,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACpC,OAAO,oBAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBAC5C;gBACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACL,OAAO,IAAA,0CAA6B,EAAC,aAAa,CAAC,CAAC;SACrD;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,gBAAgB,EAAE;YAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,YAAoC,CAAC;YACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,YAAY,GAAG,oBAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC/C;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,4CAA+B,EAAC,CAAE,YAAY,CAAE,CAAC,CAAC;SAC1D;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAe,EAAE;YACzC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,YAAoC,CAAC;YACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,YAAY,GAAG,oBAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC/C;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,2CAA8B,EAAC,CAAE,YAAY,CAAE,CAAC,CAAC;SACzD;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,QAAQ,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAEO,4CAA4C,CAClD,OAAiB,EACjB,SAAiC,EACjC,SAAmC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAE,MAAM,CAAE;SACpB,CAAC;QACF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,QAAQ,EAA0B,EAAE;YACxF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iDAAiD,CACrF,QAAQ,EACR,QAAQ,EACR,MAAM,CACP,CAAC;YACF,IAAI,YAAY,EAAE;gBAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC/B;YACD,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC;IAEO,kCAAkC,CACxC,OAAiB,EACjB,SAAiC,EACjC,KAAuB;QAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,CAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC,WAAW,CAAE;YACzE,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE;gBAC/C,GAAG,iBAAiB,CAAC,OAAO;aAC7B;SACF,CAAC;IACJ,CAAC;IAEO,kCAAkC,CACxC,OAAiB,EACjB,SAAiC,EACjC,WAAkC;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,WAAkC;QAC1D,IAAI,cAAsB,CAAC;QAC3B,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE;YAC9D,cAAc,GAAG,kBAAG,CAAC,IAAI,CAAC;YAC1B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/C;aAAM;YACL,cAAc,GAAG,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAE,CAAC;YAC7F,KAAK,GAAI,WAAW,CAAC,QAAQ,CAAyB,CAAC,QAAQ,EAAE,CAAC;SACnE;QACD,OAAO,oBAAW,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC;IAEO,iDAAiD,CACvD,QAAkB,EAClB,QAAgC,EAChC,MAAc,EACd,mBAAmB,GAAG,KAAK;QAE3B,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAA4B,CAAC;YAC/F,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACxD,OAAO;oBACL,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;qBAC3F;iBACF,CAAC;aACH;YACD,OAAO;gBACL,MAAM,EAAE,IAAA,oCAAuB,EAAC,QAAQ,EAAE,aAA2B,CAAC;aACvE,CAAC;SACH;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAwC,CAAC;YAChH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC;gBAClF,cAAc,EAAE,IAAI;aACrB,CAAC;SACH;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAClC,OAAO;gBACL,MAAM,EAAE,IAAA,wCAA2B,EAAC;oBAClC,IAAA,0CAA6B,EAAC,CAAE,MAAM,CAAE,CAAC;iBAC1C,CAAC;gBACF,cAAc,EAAE,IAAI;aACrB,CAAC;SACH;QAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAY,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAA,0CAA6B;YAC1C,6CAA6C;YAC7C,IAAA,uCAA0B,EAAC,oBAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAChE,IAAA,uCAA0B,EAAC,oBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAClF,CAAC;YACF,OAAO;gBACL,MAAM;aACP,CAAC;SACH;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC;QACvF,QAAQ,QAAQ,CAAC,QAAQ,EAAE;YACzB,KAAK,OAAO;gBACV,OAAO,EAAE,MAAM,EAAE,IAAA,uCAA0B,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC9E,KAAK,IAAI;gBACP,OAAO,EAAE,MAAM,EAAE,IAAA,oCAAuB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC3E,KAAK,KAAK;gBACR,OAAO,EAAE,MAAM,EAAE,IAAA,qCAAwB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC5E,KAAK,IAAI;gBACP,OAAO,EAAE,MAAM,EAAE,IAAA,oCAAuB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC3E,KAAK,KAAK;gBACR,OAAO,EAAE,MAAM,EAAE,IAAA,qCAAwB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC5E;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClE;IACH,CAAC;IAEO,oCAAoC,CAC1C,QAAkB,EAClB,QAAgC;QAEhC,QAAQ,QAAQ,CAAC,QAAQ,EAAE;YACzB,KAAK,aAAa,CAAC,CAAC;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACzF;YACD,KAAK,IAAI,CAAC,CAAC;gBACT,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAgB,CAAC;gBACnF,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,CAAC;4BACP,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;yBAC3F,CAAC;iBACH,CAAC;aACH;YAAC,KAAK,KAAK;gBACV,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,CAAC,sBAAsB,CACzB,QAAQ,EACR,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAwC,CACrF;qBACF;iBACF,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE;wBACP,IAAA,uCAA0B,EACxB,QAAQ,EACR,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAe,CAC5D;qBACF;iBACF,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClE;IACH,CAAC;IAEO,wBAAwB,CAC9B,KAA4C;QAE5C,IAAI,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3E;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,+BAA+B,CACrC,QAAkB,EAClB,SAA8C,EAC9C,MAAc;QAEd,IAAI,gBAA+B,CAAC;QACpC,MAAM,cAAc,GAAG,2BAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,cAAc,IAAK,SAAoC,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACjF,OAAO,IAAA,2CAA8B,EAAC;gBACpC,IAAA,0CAA6B,EAAC,CAAE,MAAM,CAAE,CAAC;aAC1C,CAAC,CAAC;SACJ;QACD,IAAI,cAAc,EAAE;YAClB,IAAI,UAA2C,CAAC;YAChD,IAAI;gBACF,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iDAAiD,CAC9E,QAAQ,EACR,SAAmC,EACnC,MAAM,EACN,IAAI,CACL,CAAC,CAAC;aACJ;YAAC,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,iCAAkC,SAAoC,CAAC,QAAQ,GAAG,CAAC,CAAC;aACrG;YACD,gBAAgB,GAAG,IAAA,6CAAgC,EAAC,UAAW,CAAC,CAAC;SAClE;aAAM;YACL,gBAAgB,GAAG,IAAA,6CAAgC,EACjD,IAAA,uCAA0B,EAAC,QAAQ,EAAE,SAAuB,CAAC,CAC9D,CAAC;SACH;QACD,OAAO,IAAA,2CAA8B,EAAC;YACpC,IAAA,oCAAuB,EAAC;gBACtB,IAAA,0CAA6B,EAAC,CAAE,MAAM,CAAE,CAAC;gBACzC,gBAAgB;aACjB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAC5B,QAAoB,EACpB,SAA8C;QAE9C,IAAI,2BAAY,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAE,SAAuC,CAAC,KAAK,CAAe,CAAC;YAClH,QAAS,SAAuC,CAAC,QAAQ,EAAE;gBACzD,KAAK,IAAI;oBACP,OAAO,IAAA,uCAA0B,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAC7D,KAAK,OAAO;oBACV,OAAO,IAAA,0CAA6B,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAChE;oBACE,MAAM,IAAI,KAAK,CAAC,iCAAkC,SAAuC,CAAC,QAAQ,GAAG,CAAC,CAAC;aAC1G;SACF;QACD,OAAO,IAAA,0CAA6B,EAAC,QAAQ,EAAE,SAAuB,CAAC,CAAC;IAC1E,CAAC;IAEO,kBAAkB,CAAC,KAAkD;QAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE;YAClD,OAAO,IAAA,2BAAc,EAClB,KAA+B,CAAC,QAAQ,CAAC,EAC1C,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAC9C,CAAC;SACH;QACD,IAAI,IAAA,YAAK,EAAC,KAAK,CAAC,EAAE;YAChB,OAAO,oBAAW,CAAC,SAAS,CAAC,KAAe,CAAC,CAAC;SAC/C;QACD,OAAO,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAC1B,OAAiB,EACjB,KAA0F,EAC1F,QAAQ,GAAG,KAAK;QAEhB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,CAAE,QAAQ,EAAE,UAAU,CAAE,EAAkB,EAAE;YACpG,MAAM,cAAc,GAAG,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrG,GAAG,CAAC,MAAM,GAAG,CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAE,CAAC;YACzD,GAAG,CAAC,OAAO,GAAG,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,CAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,GAAG,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,CAAE,CAAC;YAC5D,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa,CAAC;YACtE,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,+BAA+B,CACrC,OAAiB,EACjB,QAAgB,EAChB,UAAmG,EACnG,QAAQ,GAAG,KAAK;QAEhB,MAAM,SAAS,GAAG,oBAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,2BAAY,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,qBAAqB,GAAG;gBAC5B,OAAO;gBACP,SAAS,EAAE,IAAA,yCAA4B,EAAC,CAAE,SAAS,CAAE,CAAC;gBACtD,MAAM,EAAE,QAAQ;aACjB,CAAC;YACF,MAAM,wBAAwB,GAC5B,UACD,CAAC,KAAkC,CAAC;YACrC,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CACzD,QAAQ,EACR,wBAAwB,CAAC,KAAK,EAC9B,IAAI,CACL,CAAC;YACF,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACtG,OAAO;gBACL,OAAO,EAAE;oBACP,qBAAqB;oBACrB,GAAG,yBAAyB,CAAC,OAAO;oBACpC,GAAG,yBAAyB,CAAC,OAAO;iBACrC;gBACD,OAAO,EAAE,yBAAyB,CAAC,OAAO;gBAC1C,MAAM,EAAE,yBAAyB,CAAC,MAAM;gBACxC,aAAa,EAAE,IAAI;aACpB,CAAC;SACH;QACD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC;wBACP,UAAU,EAAE,OAAO;wBACnB,UAAU,EAAE,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;qBAC3D,CAAC;aACH,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACnD,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,CAAC;oBACP,UAAU,EAAE,QAAQ;wBAClB,CAAC,CAAC;4BACA,IAAI,EAAE,WAAW;4BACjB,UAAU,EAAE,QAAQ;4BACpB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;yBAC1C;wBACD,CAAC,CAAC,QAAQ;oBACZ,UAAU,EAAE,YAAY;iBACzB,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,OAAiB,EACjB,SAAgC;QAEhC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAC,CAAC;SAC9C;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC7B,MAAM,CAAC,CAAC,GAAuB,EAAE,CAAE,QAAQ,EAAE,cAAc,CAAE,EAAsB,EAAE;YACpF,MAAM,SAAS,GAAG,oBAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;gBACtC,IAAI,2BAAY,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC/C,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,0CAA0C,CACpF,OAAO,EACP,SAAS,EACT,cAA+E,CAChF,CAAC;oBACF,OAAO;wBACL,QAAQ,EAAE,CAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAE;wBAC1C,gBAAgB,EAAE,CAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,GAAG,gBAAgB,CAAE;qBACnE,CAAC;iBACH;gBACD,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,yCAAyC,CACnF,OAAO,EACP,SAAS,EACT,cAAsC,CACvC,CAAC;gBACF,OAAO;oBACL,QAAQ,EAAE,CAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAE;oBAC1C,gBAAgB,EAAE,CAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,GAAG,gBAAgB,CAAE;iBACnE,CAAC;aACH;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;gBAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;gBAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;aAC9B,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,iCAAoB,EAAC;gBAC3C,IAAA,0CAA6B,EAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,IAAA,qCAAwB,EACtB,QAAQ,EACR,CAAE,IAAA,0CAA6B,EAAC,CAAE,WAAW,CAAE,CAAC,CAAE,CACnD;aACF,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,CAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAE;gBAC9C,gBAAgB,EAAE,CAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAE;aAC3D,CAAC;QACJ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,0CAA0C,CAChD,OAAiB,EACjB,SAAoB,EACpB,cAA6E;QAE7E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;SAC9B,CAAC;QACF,MAAM,qBAAqB,GAAG;YAC5B,OAAO;YACP,SAAS,EAAE,IAAA,yCAA4B,EAAC,CAAE,SAAS,CAAE,CAAC;YACtD,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;YACzC,cAAc,CAAC,KAAsC,CAAC,SAAS,EAChE;YACA,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CACzD,QAAQ,EACP,cAAc,CAAC,KAAsC,CAAC,SAAS,CACjE,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,iCAAoB,EAAC;gBAC3C,IAAA,0CAA6B,EAAC,CAAE,qBAAqB,CAAE,CAAC;gBACxD,IAAA,qCAAwB,EACtB,QAAQ,EACR,CAAE,IAAA,0CAA6B,EAAC,CAAE,WAAW,CAAE,CAAC,CAAE,CACnD;gBACD,GAAG,qBAAqB,CAAC,QAAQ;aAClC,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,CAAE,eAAe,CAAE;gBAC7B,gBAAgB,EAAE,CAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,CAAE;aAC7E,CAAC;SACH;QACD,MAAM,eAAe,GAAG,IAAA,iCAAoB,EAAC;YAC3C,IAAA,0CAA6B,EAAC,CAAE,qBAAqB,CAAE,CAAC;YACxD,IAAA,qCAAwB,EACtB,QAAQ,EACR,CAAE,IAAA,0CAA6B,EAAC,CAAE,WAAW,CAAE,CAAC,CAAE,CACnD;SACF,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,CAAE,eAAe,CAAE;YAC7B,gBAAgB,EAAE,CAAE,WAAW,CAAE;SAClC,CAAC;IACJ,CAAC;IAEO,yCAAyC,CAC/C,OAAiB,EACjB,SAAoB,EACpB,cAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;SAC9B,CAAC;QACF,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CACzD,QAAQ,EACR,cAAc,CACf,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,iCAAoB,EAAC;YAC3C,IAAA,0CAA6B,EAAC,CAAE,cAAc,CAAE,CAAC;YACjD,IAAA,qCAAwB,EACtB,QAAQ,EACR,CAAE,IAAA,0CAA6B,EAAC,CAAE,WAAW,CAAE,CAAC,CAAE,CACnD;YACD,GAAG,qBAAqB,CAAC,QAAQ;SAClC,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,CAAE,eAAe,CAAE;YAC7B,gBAAgB,EAAE,CAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,CAAE;SAC7E,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,OAAO,oBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,mBAAmB,CAAC,MAAyB,EAAE,OAAiB;QACtE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,EAAU,EAAE,CAAC,CAAC;gBAC9C,OAAO;gBACP,SAAS,EAAE,oBAAW,CAAC,SAAS,CAAC,eAAe,CAAC;gBACjD,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;aAC9B,CAAC,CAAC,CAAC;SACL;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,CAAE,GAAG,EAAE,KAAK,CAAE,EAAY,EAAE;YAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAW,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,GAAG,GAAG,CAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAE,CAAC;aAChE;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,gCAAgC,CACtC,eAA0B,EAC1B,OAAiB,EACjB,OAA8B,EAC9B,YAAuB,EACvB,YAAoC,EACpC,kBAA8B,EAC9B,cAAyC;QAEzC,IAAI,QAAQ,GAAG,eAAe,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAA,0CAA6B,EAAC,OAAO,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,gBAAgB,GAAc,CAAE,IAAA,0CAA6B,EAAC,YAAY,CAAC,CAAE,CAAC;YACpF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3C,gBAAgB,CAAC,IAAI,CAAC,IAAA,2CAA8B,EAAC,YAAY,CAAC,CAAC,CAAC;aACrE;YACD,QAAQ,CAAC,IAAI,CAAC,IAAA,iCAAoB,EAAC,gBAAgB,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAA,2CAA8B,EAAC,OAAO,CAAC,CAAC,CAAC;SACxD;QACD,IAAI,cAAc,EAAE;YAClB,KAAK,MAAM,CAAE,OAAO,EAAE,QAAQ,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBAClE,QAAQ,CAAC,OAAO,CAAC,IAAA,uCAA0B,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;aACjE;SACF;QACD,IAAI,kBAAkB,EAAE;YACtB,QAAQ,GAAG,CAAE,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAE,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,yBAAyB,CAAC,cAAwB,EAAE,IAAY;QAItE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,cAAc,GAAG,cAAc,CAAC;QACpC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,8CAA8C;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC;wBACR,OAAO,EAAE,cAAc;wBACvB,SAAS,EAAE,oBAAW,CAAC,SAAS,CAAC,SAAS,CAAC;wBAC3C,MAAM,EAAE,MAAM;qBACf,CAAC;aACH,CAAC,CAAC;YACH,cAAc,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,QAAQ;SACT,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QACpD,MAAM,cAAc,GAAG,oBAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,oCAAoC,CACzD,cAAc,EACd;YACE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;SAC3B,CACF,CAAC;QAEF,gDAAgD;QAChD,MAAM,cAAc,GAAe,EAAE,CAAC;QACtC,MAAM,aAAa,GAAc,EAAE,CAAC;QACpC,MAAM,eAAe,GAA2B,EAAE,CAAC;QAEnD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC9F,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACJ;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YAExC,MAAM,WAAW,GAAW;gBAC1B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC;wBACR,OAAO,EAAE,cAAc;wBACvB,SAAS,EAAE,oBAAW,CAAC,SAAS,CAAC,kCAAkC,CAAC;wBACpE,MAAM,EAAE,OAAO;qBAChB,CAAC;aACH,CAAC;YAEF,MAAM,UAAU,GAAkB;gBAChC,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,WAAW;4BACjB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,2CAA2C,CAAC,CAAC;yBAC3G;wBACD;4BACE,IAAI,EAAE,WAAW;4BACjB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC;yBACzG;qBACF;iBACF;aACF,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAE5C,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;gBAElD,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC/F,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC;SACF;QAED,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC1C,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAElD,uBAAuB;QACvB,MAAM,aAAa,GAAG;YACpB,GAAG,SAAS,CAAC,KAAK;YAClB,GAAG,aAAa;SACjB,CAAC;QAEF,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAA,oCAAuB,EACzC;YACE,GAAG,cAAc;YACjB;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,OAAO;oBACpB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,cAAc;iBAC3B;gBACD,QAAQ,EAAE,QAAQ;aACnB;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,cAAc;oBAC3B,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,GAAG;oBACd,UAAU,EAAE,cAAc;iBAC3B;gBACD,QAAQ,EAAE,YAAY;aACvB;SACF,EACD,aAAa,EACb,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,WAAW;QAC3B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CACf,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACjD,CAAC;IAED,oCAAoC;IAC5B,sBAAsB,CAC5B,OAAiB,EACjB,YAAsB,EACtB,QAAyB;QAEzB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE;oBACJ,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;oBAClC,oBAAW,CAAC,OAAO,CAAC,GAAG,CAAC;oBACxB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;oBACnC,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC;iBACpD;aACF;YACD,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAiB;QAC5C,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,CAAC,OAAO,CAAC;iBAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,OAAiB;QAC7C,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEO,mBAAmB,CAAC,OAAiB;QAC3C,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEO,8BAA8B,CAAC,OAAiB,EAAE,QAAyB;QACjF,MAAM,eAAe,GAAG,oBAAW,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAW,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAErH,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE;gBACJ,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACjE,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACpD,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC;aACvD;SACF,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,OAAiB,EAAE,QAAyB,EAAE,eAAqB;QAClG,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,CAAC,OAAO,CAAC;iBACF;gBACf,eAA6B;aAC9B;SACF,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAAC,OAAiB,EAAE,QAAyB;QAC/E,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE;gBACJ,oBAAW,CAAC,OAAO,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC;aACvD;SACF,CAAC;IACJ,CAAC;IAEO,8BAA8B,CAAC,OAAiB,EAAE,QAAyB;QACjF,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,CAAC,OAAO,CAAC;iBAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,OAAiB,EAAE,QAAyB;QAC3E,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,OAAO;gBACL,oBAAW,CAAC,OAAO,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;aAClC,CAAC;SACH;QACD,OAAO,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AA/mCD,gDA+mCC"}
@@ -1,5 +1,5 @@
1
1
  import type { Literal, NamedNode } from '@rdfjs/types';
2
- import type { SelectQuery, Pattern, Variable, GraphPattern, Triple, AskQuery, GroupPattern, Ordering, BgpPattern, IriTerm, Expression, FilterPattern, OptionalPattern, ServicePattern, OperationExpression, ValuesPattern, PropertyPath, ConstructQuery, UpdateOperation, Update, BindPattern, ClearDropOperation, GraphQuads, InsertDeleteOperation } from 'sparqljs';
2
+ import type { SelectQuery, Pattern, Variable, GraphPattern, Triple, AskQuery, GroupPattern, Ordering, BgpPattern, IriTerm, Expression, FilterPattern, OptionalPattern, ServicePattern, OperationExpression, ValuesPattern, PropertyPath, ConstructQuery, UpdateOperation, Update, BindPattern, ClearDropOperation, GraphQuads, InsertDeleteOperation, Grouping } from 'sparqljs';
3
3
  import type { RawQueryResult } from '../storage/query-adapter/QueryAdapter';
4
4
  import type { SelectVariableQueryResult } from '../storage/query-adapter/sparql/query-executor/SparqlQueryExecutor';
5
5
  export declare const rdfTypeNamedNode: NamedNode<"http://www.w3.org/1999/02/22-rdf-syntax-ns#type">;
@@ -37,7 +37,9 @@ export declare function createSparqlOptional(patterns: Pattern[]): OptionalPatte
37
37
  export declare function createSparqlBasicGraphPattern(triples: Triple[]): BgpPattern;
38
38
  export declare function createSparqlOptionalGraphSelection(name: Variable | NamedNode, triples: Triple[]): GraphPattern;
39
39
  export declare function createSparqlServicePattern(serviceName: string, triples: Triple[]): ServicePattern;
40
- export declare function createSparqlSelectQuery(variable: Variable, where: Pattern[], order: Ordering[], group?: Variable, limit?: number, offset?: number): SelectQuery;
40
+ export declare function ensureVariable(variableLike: string | Variable): Variable;
41
+ export declare function ensureGrouping(variableLike: Variable | string): Grouping;
42
+ export declare function createSparqlSelectQuery(variable: Variable | Variable[], where: Pattern[], order: Ordering[], group?: Variable | Variable[], limit?: number, offset?: number): SelectQuery;
41
43
  export declare function createSparqlFilterWithExpression(expression: Expression): FilterPattern;
42
44
  export declare function createFilterPatternFromFilters(filters: Expression[]): FilterPattern;
43
45
  export declare function createSparqlEqualOperation(leftSide: Expression, rightSide: Expression): OperationExpression;
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createSparqlZeroOrMorePredicate = exports.createSparqlSequencePredicate = exports.createSparqlOrPredicate = exports.createSparqlInversePredicate = exports.createSparqlExistsOperation = exports.createSparqlNotExistsOperation = exports.createSparqlNotInOperation = exports.createSparqlInOperation = exports.createSparqlNotEqualOperation = exports.createSparqlLteOperation = exports.createSparqlLtOperation = exports.createSparqlGteOperation = exports.createSparqlGtOperation = exports.createSparqlContainsOperation = exports.createSparqlLcaseOperation = exports.createSparqlEqualOperation = exports.createFilterPatternFromFilters = exports.createSparqlFilterWithExpression = exports.createSparqlSelectQuery = exports.createSparqlServicePattern = exports.createSparqlOptionalGraphSelection = exports.createSparqlBasicGraphPattern = exports.createSparqlOptional = exports.createSparqlSelectGroup = exports.creteSparqlAskQuery = exports.createSparqlCountSelectQuery = exports.createSparqlConstructQuery = exports.createSparqlGraphPattern = exports.createSparqlUpdate = exports.createSparqlDropUpdate = exports.createSparqlClearUpdate = exports.createSparqlGraphQuads = exports.entityGraphTriple = exports.dropAll = exports.bindNow = exports.allTypesAndSuperTypesPath = exports.anyPredicatePropertyPath = exports.nilPredicate = exports.restPredicate = exports.firstPredicate = exports.modified = exports.created = exports.now = exports.countVariable = exports.entityVariable = exports.objectNode = exports.predicateNode = exports.subjectNode = exports.rdfsSubClassOfNamedNode = exports.rdfTypeNamedNode = void 0;
7
- exports.createValuesPatternsForVariables = exports.getEntityVariableValuesFromVariables = exports.groupSelectQueryResultsByKey = exports.selectQueryResultsAsJSValues = exports.createSparqlInsertDeleteOperation = exports.createSparqlOneOrMorePredicate = void 0;
6
+ exports.createSparqlOrPredicate = exports.createSparqlInversePredicate = exports.createSparqlExistsOperation = exports.createSparqlNotExistsOperation = exports.createSparqlNotInOperation = exports.createSparqlInOperation = exports.createSparqlNotEqualOperation = exports.createSparqlLteOperation = exports.createSparqlLtOperation = exports.createSparqlGteOperation = exports.createSparqlGtOperation = exports.createSparqlContainsOperation = exports.createSparqlLcaseOperation = exports.createSparqlEqualOperation = exports.createFilterPatternFromFilters = exports.createSparqlFilterWithExpression = exports.createSparqlSelectQuery = exports.ensureGrouping = exports.ensureVariable = exports.createSparqlServicePattern = exports.createSparqlOptionalGraphSelection = exports.createSparqlBasicGraphPattern = exports.createSparqlOptional = exports.createSparqlSelectGroup = exports.creteSparqlAskQuery = exports.createSparqlCountSelectQuery = exports.createSparqlConstructQuery = exports.createSparqlGraphPattern = exports.createSparqlUpdate = exports.createSparqlDropUpdate = exports.createSparqlClearUpdate = exports.createSparqlGraphQuads = exports.entityGraphTriple = exports.dropAll = exports.bindNow = exports.allTypesAndSuperTypesPath = exports.anyPredicatePropertyPath = exports.nilPredicate = exports.restPredicate = exports.firstPredicate = exports.modified = exports.created = exports.now = exports.countVariable = exports.entityVariable = exports.objectNode = exports.predicateNode = exports.subjectNode = exports.rdfsSubClassOfNamedNode = exports.rdfTypeNamedNode = void 0;
7
+ exports.createValuesPatternsForVariables = exports.getEntityVariableValuesFromVariables = exports.groupSelectQueryResultsByKey = exports.selectQueryResultsAsJSValues = exports.createSparqlInsertDeleteOperation = exports.createSparqlOneOrMorePredicate = exports.createSparqlZeroOrMorePredicate = exports.createSparqlSequencePredicate = void 0;
8
8
  const data_model_1 = __importDefault(require("@rdfjs/data-model"));
9
9
  const TripleUtil_1 = require("./TripleUtil");
10
10
  const Vocabularies_1 = require("./Vocabularies");
@@ -180,16 +180,38 @@ function createSparqlServicePattern(serviceName, triples) {
180
180
  };
181
181
  }
182
182
  exports.createSparqlServicePattern = createSparqlServicePattern;
183
+ function ensureVariable(variableLike) {
184
+ if (typeof variableLike === "string" && variableLike.startsWith("?")) {
185
+ return data_model_1.default.variable(variableLike.slice(1));
186
+ }
187
+ return variableLike;
188
+ }
189
+ exports.ensureVariable = ensureVariable;
190
+ function ensureGrouping(variableLike) {
191
+ return {
192
+ expression: ensureVariable(variableLike)
193
+ };
194
+ }
195
+ exports.ensureGrouping = ensureGrouping;
183
196
  function createSparqlSelectQuery(variable, where, order, group, limit, offset) {
197
+ let groupings = [];
198
+ if (group) {
199
+ if (Array.isArray(group)) {
200
+ groupings = group.map(g => ensureGrouping(g));
201
+ }
202
+ else {
203
+ groupings = [ensureGrouping(group)];
204
+ }
205
+ }
184
206
  return {
185
- type: 'query',
186
- queryType: 'SELECT',
187
- variables: [variable],
207
+ type: "query",
208
+ queryType: "SELECT",
209
+ variables: Array.isArray(variable)
210
+ ? variable.map(ensureVariable)
211
+ : [ensureVariable(variable)],
188
212
  distinct: true,
189
213
  where,
190
- group: group
191
- ? [{ expression: group }]
192
- : undefined,
214
+ group: groupings,
193
215
  order: order.length > 0 ? order : undefined,
194
216
  limit,
195
217
  offset,
@@ -1 +1 @@
1
- {"version":3,"file":"SparqlUtil.js","sourceRoot":"","sources":["../../src/util/SparqlUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparqlUtil.js","sourceRoot":"","sources":["../../src/util/SparqlUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comake/skl-js-engine",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "Standard Knowledge Language Javascript Engine",
5
5
  "keywords": [
6
6
  "skl",
@@ -83,7 +83,7 @@
83
83
  "eslint-plugin-tsdoc": "^0.2.16",
84
84
  "eslint-plugin-unused-imports": "^2.0.0",
85
85
  "fs": "^0.0.1-security",
86
- "husky": "^8.0.0",
86
+ "husky": "^8.0.3",
87
87
  "jest": "^29.5.0",
88
88
  "jsdom": "^20.0.0",
89
89
  "ts-jest": "^29.1.0",