@elisra-devops/docgen-data-provider 1.52.0 → 1.54.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.
@@ -406,10 +406,15 @@ class GitDataProvider {
406
406
  if (res.count === 0) {
407
407
  return [];
408
408
  }
409
- return res.value.map((commit) => ({
410
- name: `${commit.commitId.slice(0, 7)} - ${commit.comment}`,
411
- value: commit.commitId,
412
- }));
409
+ return res.value.map((commit) => {
410
+ var _a, _b;
411
+ const dateStr = ((_a = commit === null || commit === void 0 ? void 0 : commit.committer) === null || _a === void 0 ? void 0 : _a.date) || ((_b = commit === null || commit === void 0 ? void 0 : commit.author) === null || _b === void 0 ? void 0 : _b.date) || undefined;
412
+ return {
413
+ name: `${commit.commitId.slice(0, 7)} - ${commit.comment}`,
414
+ value: commit.commitId,
415
+ date: dateStr,
416
+ };
417
+ });
413
418
  }
414
419
  async GetPullRequestsForRepo(projectName, repoID) {
415
420
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
@@ -488,20 +493,23 @@ class GitDataProvider {
488
493
  // For annotated tags, prefer peeledObjectId; for lightweight tags, objectId is the commit
489
494
  const commitId = refItem.peeledObjectId || refItem.objectId;
490
495
  let ts = 0;
496
+ let dateStr = null;
491
497
  try {
492
498
  const commit = await this.GetCommitByCommitId(projectId, repoId, commitId);
493
- const dateStr = ((_a = commit === null || commit === void 0 ? void 0 : commit.committer) === null || _a === void 0 ? void 0 : _a.date) || ((_b = commit === null || commit === void 0 ? void 0 : commit.author) === null || _b === void 0 ? void 0 : _b.date);
494
- ts = dateStr ? new Date(dateStr).getTime() : 0;
499
+ const d = ((_a = commit === null || commit === void 0 ? void 0 : commit.committer) === null || _a === void 0 ? void 0 : _a.date) || ((_b = commit === null || commit === void 0 ? void 0 : commit.author) === null || _b === void 0 ? void 0 : _b.date);
500
+ ts = d ? new Date(d).getTime() : 0;
501
+ dateStr = d || null;
495
502
  }
496
503
  catch (_c) {
497
504
  // If commit cannot be resolved, leave timestamp as 0
498
505
  }
499
- return { refItem, ts };
506
+ return { refItem, ts, dateStr };
500
507
  }));
501
508
  taggedWithDates.sort((a, b) => b.ts - a.ts);
502
- return taggedWithDates.map(({ refItem }) => ({
509
+ return taggedWithDates.map(({ refItem, dateStr }) => ({
503
510
  name: refItem.name.replace('refs/heads/', '').replace('refs/tags/', ''),
504
511
  value: refItem.name,
512
+ date: dateStr || undefined,
505
513
  }));
506
514
  }
507
515
  // For branches, sort by the tip commit date (most recent first)
@@ -510,20 +518,23 @@ class GitDataProvider {
510
518
  var _a, _b;
511
519
  const commitId = refItem.objectId; // branch tip sha
512
520
  let ts = 0;
521
+ let dateStr = null;
513
522
  try {
514
523
  const commit = await this.GetCommitByCommitId(projectId, repoId, commitId);
515
- const dateStr = ((_a = commit === null || commit === void 0 ? void 0 : commit.committer) === null || _a === void 0 ? void 0 : _a.date) || ((_b = commit === null || commit === void 0 ? void 0 : commit.author) === null || _b === void 0 ? void 0 : _b.date);
516
- ts = dateStr ? new Date(dateStr).getTime() : 0;
524
+ const d = ((_a = commit === null || commit === void 0 ? void 0 : commit.committer) === null || _a === void 0 ? void 0 : _a.date) || ((_b = commit === null || commit === void 0 ? void 0 : commit.author) === null || _b === void 0 ? void 0 : _b.date);
525
+ ts = d ? new Date(d).getTime() : 0;
526
+ dateStr = d || null;
517
527
  }
518
528
  catch (_c) {
519
529
  // ignore and keep ts=0
520
530
  }
521
- return { refItem, ts };
531
+ return { refItem, ts, dateStr };
522
532
  }));
523
533
  branchesWithDates.sort((a, b) => b.ts - a.ts);
524
- return branchesWithDates.map(({ refItem }) => ({
534
+ return branchesWithDates.map(({ refItem, dateStr }) => ({
525
535
  name: refItem.name.replace('refs/heads/', '').replace('refs/tags/', ''),
526
536
  value: refItem.name,
537
+ date: dateStr || undefined,
527
538
  }));
528
539
  }
529
540
  // Default: return as-is
@@ -1 +1 @@
1
- {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,23 @@ export default class TicketsDataProvider {
62
62
  */
63
63
  private fetchTestReporterQueries;
64
64
  private fetchAnyQueries;
65
+ private fetchSystemRequirementQueries;
66
+ /**
67
+ * Fetches and structures linked queries related to requirements traceability with area path filtering.
68
+ *
69
+ * This method retrieves and organizes the bidirectional relationships between
70
+ * Epic/Features/Requirements into two tree structures for traceability analysis.
71
+ * - Tree 1: Sources from area path containing "System" → Targets from area path containing "Software"
72
+ * - Tree 2: Sources from area path containing "Software" → Targets from area path containing "System" (reverse)
73
+ *
74
+ * @param queries - The input queries to be processed and structured.
75
+ * @param onlySourceSide - A flag indicating whether to process only the source side of the queries.
76
+ * Defaults to `false`.
77
+ * @returns An object containing two tree structures:
78
+ * - `SystemToSoftwareRequirementsTree`: The tree representing System → Software Requirements traceability.
79
+ * - `SoftwareToSystemRequirementsTree`: The tree representing Software → System Requirements traceability.
80
+ */
81
+ private fetchLinkedRequirementsTraceQueries;
65
82
  GetQueryResultsFromWiql(wiqlHref: string | undefined, displayAsTable: boolean | undefined, testCaseToRelatedWiMap: Map<number, Set<any>>): Promise<any>;
66
83
  private parseDirectLinkedQueryResultForTableFormat;
67
84
  private mapTestCaseToRelatedItem;
@@ -94,11 +111,22 @@ export default class TicketsDataProvider {
94
111
  * @param parentId - The ID of the parent node, used to maintain the hierarchy. Defaults to `null`.
95
112
  * @param sources - An array of source strings used to match queries.
96
113
  * @param targets - An array of target strings used to match queries.
114
+ * @param sourceAreaFilter - Optional area path filter for source (e.g., "System")
115
+ * @param targetAreaFilter - Optional area path filter for target (e.g., "Software")
116
+ * @param includeTreeQueries - Optional flag to include 'tree' queries in addition to 'oneHop' queries. Defaults to `false`.
97
117
  * @returns A promise that resolves to an object containing two trees (`tree1` and `tree2`),
98
118
  * or `null` for each tree if no valid nodes are found.
99
119
  * @throws Logs an error if an exception occurs during processing.
100
120
  */
101
121
  private structureFetchedQueries;
122
+ /**
123
+ * Checks if WIQL matches area path conditions for System/Software requirements filtering
124
+ * @param wiql - The WIQL string to evaluate
125
+ * @param sourceAreaFilter - Area path filter for source (e.g., "System" or "Software")
126
+ * @param targetAreaFilter - Area path filter for target (e.g., "Software" or "System")
127
+ * @returns Boolean indicating if the WIQL matches the area path conditions
128
+ */
129
+ private matchesAreaPathCondition;
102
130
  /**
103
131
  * Determines whether the given WIQL (Work Item Query Language) string matches the specified
104
132
  * source and target conditions. It checks if the WIQL contains references to the specified
@@ -125,6 +125,15 @@ class TicketsDataProvider {
125
125
  case 'test-reporter':
126
126
  const testAssociatedTree = await this.fetchTestReporterQueries(queries);
127
127
  return { testAssociatedTree };
128
+ case 'srs':
129
+ //Based on fetch any queries by limited to Epic/Feature/Requirement
130
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(queries);
131
+ const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } = await this.fetchLinkedRequirementsTraceQueries(queries);
132
+ return {
133
+ systemRequirementsQueries,
134
+ systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
135
+ softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
136
+ };
128
137
  case 'svd':
129
138
  return await this.fetchAnyQueries(queries);
130
139
  default:
@@ -232,6 +241,32 @@ class TicketsDataProvider {
232
241
  const { tree1: systemOverviewQueryTree, tree2: knownBugsQueryTree } = await this.structureAllQueryPath(queries);
233
242
  return { systemOverviewQueryTree, knownBugsQueryTree };
234
243
  }
244
+ async fetchSystemRequirementQueries(queries) {
245
+ const { tree1: systemRequirementsQueryTree } = await this.structureFetchedQueries(queries, false, null, ['Epic', 'Feature', 'Requirement'], [], undefined, undefined, true // Enable processing of both tree and direct link queries (excluding flat queries)
246
+ );
247
+ return { systemRequirementsQueryTree };
248
+ }
249
+ /**
250
+ * Fetches and structures linked queries related to requirements traceability with area path filtering.
251
+ *
252
+ * This method retrieves and organizes the bidirectional relationships between
253
+ * Epic/Features/Requirements into two tree structures for traceability analysis.
254
+ * - Tree 1: Sources from area path containing "System" → Targets from area path containing "Software"
255
+ * - Tree 2: Sources from area path containing "Software" → Targets from area path containing "System" (reverse)
256
+ *
257
+ * @param queries - The input queries to be processed and structured.
258
+ * @param onlySourceSide - A flag indicating whether to process only the source side of the queries.
259
+ * Defaults to `false`.
260
+ * @returns An object containing two tree structures:
261
+ * - `SystemToSoftwareRequirementsTree`: The tree representing System → Software Requirements traceability.
262
+ * - `SoftwareToSystemRequirementsTree`: The tree representing Software → System Requirements traceability.
263
+ */
264
+ async fetchLinkedRequirementsTraceQueries(queries, onlySourceSide = false) {
265
+ const { tree1: SystemToSoftwareRequirementsTree, tree2: SoftwareToSystemRequirementsTree } = await this.structureFetchedQueries(queries, onlySourceSide, null, ['Epic', 'Feature', 'Requirement'], ['Epic', 'Feature', 'Requirement'], 'System', // Source area filter for tree1: System area paths
266
+ 'Software' // Target area filter for tree1: Software area paths (tree2 will be reversed automatically)
267
+ );
268
+ return { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree };
269
+ }
235
270
  async GetQueryResultsFromWiql(wiqlHref = '', displayAsTable = false, testCaseToRelatedWiMap) {
236
271
  try {
237
272
  if (!wiqlHref) {
@@ -770,42 +805,57 @@ class TicketsDataProvider {
770
805
  * @param parentId - The ID of the parent node, used to maintain the hierarchy. Defaults to `null`.
771
806
  * @param sources - An array of source strings used to match queries.
772
807
  * @param targets - An array of target strings used to match queries.
808
+ * @param sourceAreaFilter - Optional area path filter for source (e.g., "System")
809
+ * @param targetAreaFilter - Optional area path filter for target (e.g., "Software")
810
+ * @param includeTreeQueries - Optional flag to include 'tree' queries in addition to 'oneHop' queries. Defaults to `false`.
773
811
  * @returns A promise that resolves to an object containing two trees (`tree1` and `tree2`),
774
812
  * or `null` for each tree if no valid nodes are found.
775
813
  * @throws Logs an error if an exception occurs during processing.
776
814
  */
777
- async structureFetchedQueries(rootQuery, onlyTestReq, parentId = null, sources, targets) {
815
+ async structureFetchedQueries(rootQuery, onlyTestReq, parentId = null, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries = false) {
778
816
  var _a, _b;
779
817
  try {
780
818
  if (!rootQuery.hasChildren) {
781
- if (!rootQuery.isFolder && rootQuery.queryType === 'oneHop') {
819
+ if (!rootQuery.isFolder && (rootQuery.queryType === 'oneHop' || (includeTreeQueries && rootQuery.queryType === 'tree'))) {
782
820
  const wiql = rootQuery.wiql;
783
821
  let tree1Node = null;
784
822
  let tree2Node = null;
785
823
  // Check if the query is a requirement to test case query
786
824
  if (!onlyTestReq && this.matchesSourceTargetCondition(wiql, sources, targets)) {
787
- tree1Node = {
788
- id: rootQuery.id,
789
- pId: parentId,
790
- value: rootQuery.name,
791
- title: rootQuery.name,
792
- queryType: rootQuery.queryType,
793
- columns: rootQuery.columns,
794
- wiql: (_a = rootQuery._links.wiql) !== null && _a !== void 0 ? _a : undefined,
795
- isValidQuery: true,
796
- };
825
+ // Additional area path filtering if specified
826
+ const matchesAreaPath = sourceAreaFilter || targetAreaFilter
827
+ ? this.matchesAreaPathCondition(wiql, sourceAreaFilter || '', targetAreaFilter || '')
828
+ : true;
829
+ if (matchesAreaPath) {
830
+ tree1Node = {
831
+ id: rootQuery.id,
832
+ pId: parentId,
833
+ value: rootQuery.name,
834
+ title: rootQuery.name,
835
+ queryType: rootQuery.queryType,
836
+ columns: rootQuery.columns,
837
+ wiql: (_a = rootQuery._links.wiql) !== null && _a !== void 0 ? _a : undefined,
838
+ isValidQuery: true,
839
+ };
840
+ }
797
841
  }
798
842
  if (this.matchesSourceTargetCondition(wiql, targets, sources)) {
799
- tree2Node = {
800
- id: rootQuery.id,
801
- pId: parentId,
802
- value: rootQuery.name,
803
- title: rootQuery.name,
804
- queryType: rootQuery.queryType,
805
- columns: rootQuery.columns,
806
- wiql: (_b = rootQuery._links.wiql) !== null && _b !== void 0 ? _b : undefined,
807
- isValidQuery: true,
808
- };
843
+ // Additional area path filtering for reverse direction if specified
844
+ const matchesReverseAreaPath = sourceAreaFilter || targetAreaFilter
845
+ ? this.matchesAreaPathCondition(wiql, targetAreaFilter || '', sourceAreaFilter || '')
846
+ : true;
847
+ if (matchesReverseAreaPath) {
848
+ tree2Node = {
849
+ id: rootQuery.id,
850
+ pId: parentId,
851
+ value: rootQuery.name,
852
+ title: rootQuery.name,
853
+ queryType: rootQuery.queryType,
854
+ columns: rootQuery.columns,
855
+ wiql: (_b = rootQuery._links.wiql) !== null && _b !== void 0 ? _b : undefined,
856
+ isValidQuery: true,
857
+ };
858
+ }
809
859
  }
810
860
  return { tree1: tree1Node, tree2: tree2Node };
811
861
  }
@@ -818,11 +868,11 @@ class TicketsDataProvider {
818
868
  const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
819
869
  const currentQuery = await tfs_1.TFSServices.getItemContent(queryUrl, this.token);
820
870
  return currentQuery
821
- ? await this.structureFetchedQueries(currentQuery, onlyTestReq, currentQuery.id, sources, targets)
871
+ ? await this.structureFetchedQueries(currentQuery, onlyTestReq, currentQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries)
822
872
  : { tree1: null, tree2: null };
823
873
  }
824
874
  // Process children recursively
825
- const childResults = await Promise.all(rootQuery.children.map((child) => this.structureFetchedQueries(child, onlyTestReq, rootQuery.id, sources, targets)));
875
+ const childResults = await Promise.all(rootQuery.children.map((child) => this.structureFetchedQueries(child, onlyTestReq, rootQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries)));
826
876
  // Build tree1
827
877
  const tree1Children = childResults.map((res) => res.tree1).filter((child) => child !== null);
828
878
  const tree1Node = tree1Children.length > 0
@@ -852,6 +902,36 @@ class TicketsDataProvider {
852
902
  logger_1.default.error(`Error stack ${err.message}`);
853
903
  }
854
904
  }
905
+ /**
906
+ * Checks if WIQL matches area path conditions for System/Software requirements filtering
907
+ * @param wiql - The WIQL string to evaluate
908
+ * @param sourceAreaFilter - Area path filter for source (e.g., "System" or "Software")
909
+ * @param targetAreaFilter - Area path filter for target (e.g., "Software" or "System")
910
+ * @returns Boolean indicating if the WIQL matches the area path conditions
911
+ */
912
+ matchesAreaPathCondition(wiql, sourceAreaFilter, targetAreaFilter) {
913
+ let hasSourceAreaPath = false;
914
+ let hasTargetAreaPath = false;
915
+ // Check for source area path condition
916
+ if (sourceAreaFilter) {
917
+ const sourceAreaPattern = new RegExp(`Source\\.[^\\]]*AreaPath[^\\]]*[^']*'[^']*${sourceAreaFilter}[^']*'`, 'i');
918
+ const sourceUnderPattern = new RegExp(`Source\\.[^\\]]*AreaPath[^\\]]*UNDER[^']*'[^']*${sourceAreaFilter}[^']*'`, 'i');
919
+ hasSourceAreaPath = sourceAreaPattern.test(wiql) || sourceUnderPattern.test(wiql);
920
+ }
921
+ else {
922
+ hasSourceAreaPath = true; // No filter means match all
923
+ }
924
+ // Check for target area path condition
925
+ if (targetAreaFilter) {
926
+ const targetAreaPattern = new RegExp(`Target\\.[^\\]]*AreaPath[^\\]]*[^']*'[^']*${targetAreaFilter}[^']*'`, 'i');
927
+ const targetUnderPattern = new RegExp(`Target\\.[^\\]]*AreaPath[^\\]]*UNDER[^']*'[^']*${targetAreaFilter}[^']*'`, 'i');
928
+ hasTargetAreaPath = targetAreaPattern.test(wiql) || targetUnderPattern.test(wiql);
929
+ }
930
+ else {
931
+ hasTargetAreaPath = true; // No filter means match all
932
+ }
933
+ return hasSourceAreaPath && hasTargetAreaPath;
934
+ }
855
935
  /**
856
936
  * Determines whether the given WIQL (Work Item Query Language) string matches the specified
857
937
  * source and target conditions. It checks if the WIQL contains references to the specified
@@ -1 +1 @@
1
- {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":";;AAAA,wCAA6C;AAC7C,iDAAyD;AACzD,8CAAoE;AACpE,iDAA2C;AAC3C,iDAA+C;AAC/C,iDAAmD;AACnD,iDAA4C;AAC5C,iDAA2C;AAE3C,4CAAqC;AAErC,MAAqB,mBAAmB;IAKtC,YAAY,MAAc,EAAE,KAAa;QAJzC,WAAM,GAAW,EAAE,CAAC;QACpB,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAe,IAAI,KAAK,EAAO,CAAC;QAGzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAClC,IAAI,KAAK,GAAG,MAAM,iBAAW,CAAC,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,EAAU;QAC3C,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,wBAAwB,EAAE,cAAc,CAAC;QAC3E,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,GAAQ;;QAC3C,IAAI,KAAK,GAAiB,IAAI,KAAK,EAAS,CAAC;QAC7C,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAQ,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,SAAS,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,SAAgB,CAAC,CAAC,gBAAgB;YACtC,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,IAAI,CAAA,MAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,IAAI,CAAC,MAAM,IAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrF,SAAS,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,EAAO;QAC1C,IAAI,KAAK,GAAU,IAAI,cAAK,EAAE,CAAC;QAC/B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACxC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC;YAChE,IAAI,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1F,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAQ;QAC5B,IAAI,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;QACvC,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,IAAI,kBAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACjD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;4BAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;4BACrD,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;4BACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QACd,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,EAAO,EAAE,KAAU;QACjD,IAAI,QAAQ,GAAiB,IAAI,KAAK,EAAS,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC1B,IAAI,IAAI,GAAG,IAAI,cAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAChC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACzD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,mBAAmB,GAAG,MAAM,CAAC;oBAChE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,IAAY,EAAE,UAAkB,EAAE;QACxE,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,EAAE;gBACb,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,0DAA0D,CAAC;;gBACtF,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,sBAAsB,IAAI,uBAAuB,CAAC;YACrF,IAAI,OAAO,GAAQ,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,gBAAM,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACpC,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,EAAE,CAAC;gBAC/B,KAAK,KAAK;oBACR,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC5E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBACnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;gBAC9C,KAAK,KAAK;oBACR,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAClF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;gBAC5C,KAAK,eAAe;oBAClB,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBACxE,OAAO,EAAE,kBAAkB,EAAE,CAAC;gBAChC,KAAK,KAAK;oBACR,mEAAmE;oBACnE,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,GAC1E,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,CAAC;oBAC1D,OAAO;wBACL,yBAAyB;wBACzB,mCAAmC,EAAE,gCAAgC;wBACrE,mCAAmC,EAAE,gCAAgC;qBACtE,CAAC;gBACJ,KAAK,KAAK;oBACR,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC7C;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CAAC,kDAAkD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IAEH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,QAAgB;QACrD,IAAI,CAAC;YACH,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,4BAA4B,QAAQ,SAAS,CAAC;YAChF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CACL,MAAM;gBACJ,2DAA2D;iBAC1D,MAAM,CACL,CAAC,KAAU,EAAE,EAAE,CACb,KAAK,CAAC,IAAI,KAAK,IAAI;gBACnB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAC/B,KAAK,CAAC,IAAI,KAAK,OAAO,CACzB;iBACA,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClB,OAAO;oBACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG;oBACnC,GAAG,EAAE,KAAK,CAAC,aAAa;iBACzB,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CAAC,kDAAkD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,yBAAyB,CAAC,OAAY,EAAE,cAAuB,KAAK;QAChF,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACnF,OAAO,EACP,WAAW,EACX,IAAI,EACJ,CAAC,aAAa,CAAC,EACf,CAAC,WAAW,CAAC,CACd,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IAEK,KAAK,CAAC,qBAAqB,CAAC,OAAY;QAC9C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACjE,OAAO,EACP,KAAK,EACL,IAAI,EACJ,CAAC,WAAW,CAAC,EACb;YACE,MAAM;YACN,KAAK;YACL,qBAAqB;YACrB,gBAAgB;YAChB,sBAAsB;YACtB,MAAM;YACN,SAAS;YACT,YAAY;YACZ,kBAAkB;YAClB,mBAAmB;YACnB,OAAO;YACP,MAAM;YACN,QAAQ;YACR,WAAW;YACX,YAAY;SACb,CACF,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,6BAA6B,CAAC,OAAY,EAAE,iBAA0B,KAAK;QACvF,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/F,OAAO,EACP,cAAc,EACd,IAAI,EACJ,CAAC,KAAK,EAAE,gBAAgB,CAAC,EACzB,CAAC,WAAW,CAAC,CACd,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,wBAAwB,CAAC,OAAY;QACjD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpF,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,CAAC,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,EACxC,CAAC,WAAW,CAAC,CACd,CAAC;QACF,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAY;QACxC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACpG,OAAO,CACR,CAAC;QACF,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,OAAY;QACtD,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/E,OAAO,EACP,KAAK,EACL,IAAI,EACJ,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAClC,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAI,CAAC,kFAAkF;SACxF,CAAC;QACF,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,mCAAmC,CAAC,OAAY,EAAE,iBAA0B,KAAK;QAC7F,MAAM,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,gCAAgC,EAAE,GACxF,MAAM,IAAI,CAAC,uBAAuB,CAChC,OAAO,EACP,cAAc,EACd,IAAI,EACJ,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAClC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAClC,QAAQ,EAAE,kDAAkD;QAC5D,UAAU,CAAC,2FAA2F;SACvG,CAAC;QACJ,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,WAAmB,EAAE,EACrB,iBAA0B,KAAK,EAC/B,sBAA6C;QAE7C,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YACD,wCAAwC;YACxC,MAAM,WAAW,GAAc,MAAM,iBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,QAAQ,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC9B,KAAK,oBAAS,CAAC,MAAM;oBACnB,OAAO,cAAc;wBACnB,CAAC,CAAC,MAAM,IAAI,CAAC,0CAA0C,CAAC,WAAW,EAAE,sBAAsB,CAAC;wBAC5F,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACnD,KAAK,oBAAS,CAAC,IAAI;oBACjB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACtD,KAAK,oBAAS,CAAC,IAAI;oBACjB,OAAO,cAAc;wBACnB,CAAC,CAAC,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC;wBAC5D,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACnD;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0CAA0C,CACtD,WAAsB,EACtB,sBAA6C;QAE7C,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QAEnD,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAExD,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAExD,wEAAwE;QACxE,mDAAmD;QACnD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YAC9B,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YACvC,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,gBAAgB,GAAoB,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,SAAS,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC9C,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACzC,uFAAuF;gBACvF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACrB,YAAY;oBACZ,MAAM,EAAE,GAAQ,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;oBACpG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1B,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC7B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,CAAC;oBACD,SAAS,CAAC,4BAA4B;gBACxC,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAED,kCAAkC;gBAClC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBAED,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,qBAAqB,CACpD,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CACL,CAAC;gBACF,kCAAkC;gBAClC,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;gBAEhF,kCAAkC;gBAClC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;gBAChF,MAAM,OAAO,GAAQ,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,gBAAgB;YAChB,uBAAuB,EAAE,eAAe;YACxC,wBAAwB,EAAE,gBAAgB;SAC3C,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,QAAa,EACb,QAAa,EACb,wBAA+C;QAE/C,IAAI,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/C,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,eAAe,EAAE,CAAC;gBACpB,oDAAoD;gBACpD,MAAM,aAAa,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAAC,WAAsB;QACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QAE3C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAExD,MAAM,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE1D,wEAAwE;QACxE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YAC9B,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YACvC,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,KAAK,GAAa,IAAI,GAAG,EAAE,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAQ,MAAM,IAAI,CAAC,qBAAqB,CAC9C,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,CACN,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5B,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,WAAsB;QACvD,MAAM,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,gBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,wDAAwD;YACxD,MAAM,QAAQ,GAAQ,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC3B,yCAAyC;oBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;wBAC/B,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACvD,CAAC;oBACD,0CAA0C;oBAC1C,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gBAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,IAAS,EAAE,QAAa;;QAC5D,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,mGAAmG,CAAC;QAC7H,MAAM,EAAE,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,gFAAgF;QAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;YACtC,WAAW,EAAE,MAAA,MAAA,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,mCAAI,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,mCAAI,EAAE;YAC9F,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;YAC5B,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,IAAS,EAAE,WAA6B;;QAC5E,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,mGAAmG,CAAC;QAC7H,MAAM,EAAE,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,gFAAgF;QAChF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;YACtC,WAAW,EAAE,MAAA,MAAA,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,mCAAI,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,mCAAI,EAAE;YAC9F,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,WAAsB;QACvD,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,gBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAqB,IAAI,GAAG,EAAE,CAAC;YACvD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gBAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,cAAmB,EACnB,SAA8B,EAC9B,kBAAuC,EACvC,UAAmB;QAEnB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;QAClF,MAAM,EAAE,GAAQ,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wBAAwB;IACxB,eAAe,CAAC,IAAgB;QAC9B,IAAI,eAAe,GAAe,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,MAAM,GAAG;gBACX,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC1D,EAAE,EAAE,KAAK,CAAC,EAAE;aACb,CAAC;YACF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,qBAAqB;IACrB,KAAK,CAAC,yBAAyB,CAAC,QAAgB,EAAE,OAAe;QAC/D,IAAI,CAAC;YACH,IAAI,OAAO,GAAQ,MAAM,iBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxE,IAAI,aAAa,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;gBACtC,IAAI,YAAY,GAAoB,eAAM,CAAC,YAAY,CACrD,aAAa,EACb,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3C,CAAC;gBACF,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,OAAO,aAAa,CAAC,SAAS,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;IACD,qBAAqB;IACrB,KAAK,CAAC,2BAA2B,CAAC,IAAY,EAAE,WAAmB;QACjE,IAAI,GAAG,CAAC;QACR,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,4CAA4C,CAAC;QACnF,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAC9D,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,OAAe;QACrD,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,sBAAsB,KAAK,EAAE,CAAC;QAChE,IAAI,MAAM,GAAQ,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,iBAAwB,EAAE,EAAE,cAAsB,EAAE;QAC/E,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,CAAC;QAClE,IAAI,GAAG,GAAU,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;QAC/C,WAAW;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;oBACrE,OAAO,EAAE,WAAW;oBACpB,GAAG,EAAE,UAAU;iBAChB,CAAC,CAAC;gBACH,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACjD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,0BAA0B;QAC1B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBACnG,IAAI,MAAM,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;oBACrE,OAAO,EAAE,WAAW;oBACpB,GAAG,EAAE,UAAU;iBAChB,CAAC,CAAC;gBACH,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACjD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,IAAI;QAEN,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAY,EAAE,OAAe;QACxD,IAAI,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,WAAW,GAAU,IAAI,gBAAK,EAAE,CAAC;QACrC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QACtD,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1C,IAAI,OAAO,CAAC,SAAS,IAAI,oBAAS,CAAC,IAAI,EAAE,CAAC;YACxC,mBAAmB;YACnB,kBAAkB;YAClB,kCAAkC;YAClC,yCAAyC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEjF,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC;gBAC1C,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBACzB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC;gBACtD,CAAC;gBACD,IAAI,GAAG,GAAG,IAAI,wBAAa,EAAE,CAAC;gBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,iBAAM,EAAE,CAAC;oBACtC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAK,EAAE,CAAC;oBACjD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBACxE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpD,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,WAAW,EAAE,CAAC;wBAClE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAC5D,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjD,CAAC;yBAAM,IACL,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,mBAAmB;wBACrE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI;wBAEnD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;4BACtC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;yBACvD,CAAC;wBACJ,IAAI,CAAC,GAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;wBAC5D,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;wBACvF,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,YAAY;aACT,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBAChD,IAAI,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACjG,iCAAiC;oBACjC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC;oBAC1C,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;oBACvC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpE,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC1B,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC;oBACvD,CAAC;oBACD,uBAAuB;oBACvB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChD,iDAAiD;wBACjD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAK,EAAE,CAAC;wBACjD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACtE,IACE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,mBAAmB;4BACrE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI;4BAEpD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;gCACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;;4BACxD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;wBACjG,GAAG;oBACL,CAAC;oBACD,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI;wBAC7C,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe;IACf,YAAY,CAAC,OAAY,EAAE,WAAkB;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,iBAAM,EAAE,CAAC;YACtC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACxE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,QAAgB;QACjE,IAAI,GAAQ,CAAC;QACb,IAAI,GAAG,CAAC;QACR,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI,QAAQ,qCAAqC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,qCAAqC,CAAC;QAC1E,CAAC;QACD,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,yBAAyB;IAE3B,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,MAAW,EAAE,MAAc,EAAE,MAAe;QACvF,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,yBAAyB,MAAM,gBAAgB,MAAM,CACzF,MAAM,CACP,CAAC,QAAQ,EAAE,EAAE,CAAC;QACf,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;YACjE,cAAc,EAAE,6BAA6B;SAC9C,CAAC,CAAC;IACL,CAAC,CAAC,mBAAmB;IAErB,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,EAAU;QACtD,IAAI,cAAc,GAAe,EAAE,CAAC;QACpC,IAAI,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAA;gBAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CACf,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAa,EAAE,EAAE;gBACvC,IAAI,QAAQ,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;oBACnC,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACtD,UAAU,CAAC,WAAW,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACvE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,gBAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;YAC/D,gBAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,8BAA8B,CAAC,OAAe,EAAE,YAAoB;QACxE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,0BAA0B,YAAY,EAAE,CAAC;QAC7E,IAAI,UAAU,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,MAAW,EAAE,UAAkB,EAAE,MAAe;QACxF,IAAI,GAAQ,CAAC;QACb,IAAI,GAAG,GAAW,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,wBAAwB,UAAU,gBAAgB,MAAM,CACpG,MAAM,CACP,CAAC,QAAQ,EAAE,EAAE,CAAC;QACf,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;YACvE,cAAc,EAAE,6BAA6B;SAC9C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,mBAAmB;IAEb,KAAK,CAAC,qBAAqB,CAAC,SAAc,EAAE,WAAgB,IAAI;;QACtE,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACxB,IAAI,eAAe,GAAG,IAAI,CAAC;oBAC3B,IAAI,aAAa,GAAG,IAAI,CAAC;oBACzB,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/E,uCAAuC;wBACvC,aAAa,GAAG;4BACd,EAAE,EAAE,SAAS,CAAC,EAAE;4BAChB,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE,SAAS,CAAC,IAAI;4BACrB,KAAK,EAAE,SAAS,CAAC,IAAI;4BACrB,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;4BAC1B,IAAI,EAAE,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,mCAAI,SAAS;4BACxC,YAAY,EAAE,IAAI;yBACnB,CAAC;oBACJ,CAAC;oBACD,eAAe,GAAG;wBAChB,EAAE,EAAE,SAAS,CAAC,EAAE;wBAChB,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,SAAS,CAAC,IAAI;wBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;wBACrB,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,IAAI,EAAE,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,mCAAI,SAAS;wBACxC,YAAY,EAAE,IAAI;qBACnB,CAAC;oBAEF,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,GAAG,uBAAuB,CAAC;gBACzD,MAAM,YAAY,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,YAAY;oBACjB,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;oBACjE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC;YAED,+BAA+B;YAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACxF,CAAC;YAEF,aAAa;YACb,MAAM,2BAA2B,GAAG,YAAY;iBAC7C,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAC1C,MAAM,eAAe,GACnB,2BAA2B,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,QAAQ,EAAE,2BAA2B;oBACrC,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B;gBACH,CAAC,CAAC,IAAI,CAAC;YAEX,MAAM,qBAAqB,GAAG,YAAY;iBACvC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAC1C,MAAM,SAAS,GACb,qBAAqB,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,QAAQ,EAAE,qBAAqB;oBAC/B,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B;gBACH,CAAC,CAAC,IAAI,CAAC;YAEX,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CACV,oDAAoD,GAAG,CAAC,OAAO,eAAe,IAAI,CAAC,SAAS,CAC1F,SAAS,CACV,EAAE,CACJ,CAAC;YACF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,uBAAuB,CACnC,SAAc,EACd,WAAoB,EACpB,WAAgB,IAAI,EACpB,OAAiB,EACjB,OAAiB,EACjB,gBAAyB,EACzB,gBAAyB,EACzB,qBAA8B,KAAK;;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC;oBACxH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;oBAC5B,IAAI,SAAS,GAAG,IAAI,CAAC;oBACrB,IAAI,SAAS,GAAG,IAAI,CAAC;oBACrB,yDAAyD;oBACzD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC9E,8CAA8C;wBAC9C,MAAM,eAAe,GACnB,gBAAgB,IAAI,gBAAgB;4BAClC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE,EAAE,gBAAgB,IAAI,EAAE,CAAC;4BACrF,CAAC,CAAC,IAAI,CAAC;wBAEX,IAAI,eAAe,EAAE,CAAC;4BACpB,SAAS,GAAG;gCACV,EAAE,EAAE,SAAS,CAAC,EAAE;gCAChB,GAAG,EAAE,QAAQ;gCACb,KAAK,EAAE,SAAS,CAAC,IAAI;gCACrB,KAAK,EAAE,SAAS,CAAC,IAAI;gCACrB,SAAS,EAAE,SAAS,CAAC,SAAS;gCAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;gCAC1B,IAAI,EAAE,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,mCAAI,SAAS;gCACxC,YAAY,EAAE,IAAI;6BACnB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC9D,oEAAoE;wBACpE,MAAM,sBAAsB,GAC1B,gBAAgB,IAAI,gBAAgB;4BAClC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE,EAAE,gBAAgB,IAAI,EAAE,CAAC;4BACrF,CAAC,CAAC,IAAI,CAAC;wBAEX,IAAI,sBAAsB,EAAE,CAAC;4BAC3B,SAAS,GAAG;gCACV,EAAE,EAAE,SAAS,CAAC,EAAE;gCAChB,GAAG,EAAE,QAAQ;gCACb,KAAK,EAAE,SAAS,CAAC,IAAI;gCACrB,KAAK,EAAE,SAAS,CAAC,IAAI;gCACrB,SAAS,EAAE,SAAS,CAAC,SAAS;gCAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;gCAC1B,IAAI,EAAE,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,mCAAI,SAAS;gCACxC,YAAY,EAAE,IAAI;6BACnB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,iEAAiE;YACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,GAAG,uBAAuB,CAAC;gBACzD,MAAM,YAAY,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,YAAY;oBACjB,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAChC,YAAY,EACZ,WAAW,EACX,YAAY,CAAC,EAAE,EACf,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,CACnB;oBACH,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC;YAED,+BAA+B;YAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CACpC,IAAI,CAAC,uBAAuB,CAC1B,KAAK,EACL,WAAW,EACX,SAAS,CAAC,EAAE,EACZ,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,CACnB,CACF,CACF,CAAC;YAEF,cAAc;YACd,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YACvG,MAAM,SAAS,GACb,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,QAAQ,EAAE,aAAa;iBACxB;gBACH,CAAC,CAAC,IAAI,CAAC;YAEX,cAAc;YACd,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YACvG,MAAM,SAAS,GACb,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,QAAQ,EAAE,aAAa;iBACxB;gBACH,CAAC,CAAC,IAAI,CAAC;YAEX,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CACV,oDAAoD,GAAG,CAAC,OAAO,eAAe,IAAI,CAAC,SAAS,CAC1F,SAAS,CACV,EAAE,CACJ,CAAC;YACF,gBAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,wBAAwB,CAC9B,IAAY,EACZ,gBAAwB,EACxB,gBAAwB;QAExB,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,uCAAuC;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,6CAA6C,gBAAgB,QAAQ,EACrE,GAAG,CACJ,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,kDAAkD,gBAAgB,QAAQ,EAC1E,GAAG,CACJ,CAAC;YACF,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,IAAI,CAAC,CAAC,4BAA4B;QACxD,CAAC;QAED,uCAAuC;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,6CAA6C,gBAAgB,QAAQ,EACrE,GAAG,CACJ,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,kDAAkD,gBAAgB,QAAQ,EAC1E,GAAG,CACJ,CAAC;YACF,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,IAAI,CAAC,CAAC,4BAA4B;QACxD,CAAC;QAED,OAAO,iBAAiB,IAAI,iBAAiB,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACK,4BAA4B,CAAC,IAAY,EAAE,MAAgB,EAAE,MAAgB;QACnF,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,mCAAmC,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC7D,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBAClD,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,mCAAmC,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC7D,gBAAgB,GAAG,IAAI,CAAC;oBACxB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,gBAAgB,IAAI,gBAAgB,CAAC;IAC9C,CAAC;IAED,oCAAoC;IAC5B,mBAAmB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IACxD,CAAC;IAED,uDAAuD;IAC/C,qBAAqB,CAC3B,IAAS,EACT,kBAAuC,EACvC,kBAAuC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,GAAQ,EAAE,CAAC;YAC7B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAErC,sDAAsD;gBACtD,IACE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;oBACjC,SAAS,KAAK,qBAAqB;oBACnC,SAAS,KAAK,cAAc,EAC5B,CAAC;oBACD,mFAAmF;oBACnF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,qBAAQ,YAAY,CAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gBAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA3qCD,sCA2qCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.52.0",
3
+ "version": "1.54.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -507,10 +507,14 @@ export default class GitDataProvider {
507
507
  return [];
508
508
  }
509
509
 
510
- return res.value.map((commit: any) => ({
511
- name: `${commit.commitId.slice(0, 7)} - ${commit.comment}`,
512
- value: commit.commitId,
513
- }));
510
+ return res.value.map((commit: any) => {
511
+ const dateStr = commit?.committer?.date || commit?.author?.date || undefined;
512
+ return {
513
+ name: `${commit.commitId.slice(0, 7)} - ${commit.comment}`,
514
+ value: commit.commitId,
515
+ date: dateStr,
516
+ };
517
+ });
514
518
  }
515
519
 
516
520
  async GetPullRequestsForRepo(projectName: string, repoID: string) {
@@ -602,21 +606,24 @@ export default class GitDataProvider {
602
606
  // For annotated tags, prefer peeledObjectId; for lightweight tags, objectId is the commit
603
607
  const commitId = refItem.peeledObjectId || refItem.objectId;
604
608
  let ts = 0;
609
+ let dateStr: string | null = null;
605
610
  try {
606
611
  const commit = await this.GetCommitByCommitId(projectId, repoId, commitId);
607
- const dateStr = commit?.committer?.date || commit?.author?.date;
608
- ts = dateStr ? new Date(dateStr).getTime() : 0;
612
+ const d = commit?.committer?.date || commit?.author?.date;
613
+ ts = d ? new Date(d).getTime() : 0;
614
+ dateStr = d || null;
609
615
  } catch {
610
616
  // If commit cannot be resolved, leave timestamp as 0
611
617
  }
612
- return { refItem, ts };
618
+ return { refItem, ts, dateStr };
613
619
  })
614
620
  );
615
621
 
616
622
  taggedWithDates.sort((a: any, b: any) => b.ts - a.ts);
617
- return taggedWithDates.map(({ refItem }: any) => ({
623
+ return taggedWithDates.map(({ refItem, dateStr }: any) => ({
618
624
  name: refItem.name.replace('refs/heads/', '').replace('refs/tags/', ''),
619
625
  value: refItem.name,
626
+ date: dateStr || undefined,
620
627
  }));
621
628
  }
622
629
 
@@ -626,21 +633,24 @@ export default class GitDataProvider {
626
633
  res.value.map(async (refItem: any) => {
627
634
  const commitId = refItem.objectId; // branch tip sha
628
635
  let ts = 0;
636
+ let dateStr: string | null = null;
629
637
  try {
630
638
  const commit = await this.GetCommitByCommitId(projectId, repoId, commitId);
631
- const dateStr = commit?.committer?.date || commit?.author?.date;
632
- ts = dateStr ? new Date(dateStr).getTime() : 0;
639
+ const d = commit?.committer?.date || commit?.author?.date;
640
+ ts = d ? new Date(d).getTime() : 0;
641
+ dateStr = d || null;
633
642
  } catch {
634
643
  // ignore and keep ts=0
635
644
  }
636
- return { refItem, ts };
645
+ return { refItem, ts, dateStr };
637
646
  })
638
647
  );
639
648
 
640
649
  branchesWithDates.sort((a: any, b: any) => b.ts - a.ts);
641
- return branchesWithDates.map(({ refItem }: any) => ({
650
+ return branchesWithDates.map(({ refItem, dateStr }: any) => ({
642
651
  name: refItem.name.replace('refs/heads/', '').replace('refs/tags/', ''),
643
652
  value: refItem.name,
653
+ date: dateStr || undefined,
644
654
  }));
645
655
  }
646
656
 
@@ -130,6 +130,16 @@ export default class TicketsDataProvider {
130
130
  case 'test-reporter':
131
131
  const testAssociatedTree = await this.fetchTestReporterQueries(queries);
132
132
  return { testAssociatedTree };
133
+ case 'srs':
134
+ //Based on fetch any queries by limited to Epic/Feature/Requirement
135
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(queries);
136
+ const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } =
137
+ await this.fetchLinkedRequirementsTraceQueries(queries);
138
+ return {
139
+ systemRequirementsQueries,
140
+ systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
141
+ softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
142
+ };
133
143
  case 'svd':
134
144
  return await this.fetchAnyQueries(queries);
135
145
  default:
@@ -275,6 +285,49 @@ export default class TicketsDataProvider {
275
285
  return { systemOverviewQueryTree, knownBugsQueryTree };
276
286
  }
277
287
 
288
+ private async fetchSystemRequirementQueries(queries: any) {
289
+ const { tree1: systemRequirementsQueryTree } = await this.structureFetchedQueries(
290
+ queries,
291
+ false,
292
+ null,
293
+ ['Epic', 'Feature', 'Requirement'],
294
+ [],
295
+ undefined,
296
+ undefined,
297
+ true // Enable processing of both tree and direct link queries (excluding flat queries)
298
+ );
299
+ return { systemRequirementsQueryTree };
300
+ }
301
+
302
+ /**
303
+ * Fetches and structures linked queries related to requirements traceability with area path filtering.
304
+ *
305
+ * This method retrieves and organizes the bidirectional relationships between
306
+ * Epic/Features/Requirements into two tree structures for traceability analysis.
307
+ * - Tree 1: Sources from area path containing "System" → Targets from area path containing "Software"
308
+ * - Tree 2: Sources from area path containing "Software" → Targets from area path containing "System" (reverse)
309
+ *
310
+ * @param queries - The input queries to be processed and structured.
311
+ * @param onlySourceSide - A flag indicating whether to process only the source side of the queries.
312
+ * Defaults to `false`.
313
+ * @returns An object containing two tree structures:
314
+ * - `SystemToSoftwareRequirementsTree`: The tree representing System → Software Requirements traceability.
315
+ * - `SoftwareToSystemRequirementsTree`: The tree representing Software → System Requirements traceability.
316
+ */
317
+ private async fetchLinkedRequirementsTraceQueries(queries: any, onlySourceSide: boolean = false) {
318
+ const { tree1: SystemToSoftwareRequirementsTree, tree2: SoftwareToSystemRequirementsTree } =
319
+ await this.structureFetchedQueries(
320
+ queries,
321
+ onlySourceSide,
322
+ null,
323
+ ['Epic', 'Feature', 'Requirement'],
324
+ ['Epic', 'Feature', 'Requirement'],
325
+ 'System', // Source area filter for tree1: System area paths
326
+ 'Software' // Target area filter for tree1: Software area paths (tree2 will be reversed automatically)
327
+ );
328
+ return { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree };
329
+ }
330
+
278
331
  async GetQueryResultsFromWiql(
279
332
  wiqlHref: string = '',
280
333
  displayAsTable: boolean = false,
@@ -889,6 +942,9 @@ export default class TicketsDataProvider {
889
942
  * @param parentId - The ID of the parent node, used to maintain the hierarchy. Defaults to `null`.
890
943
  * @param sources - An array of source strings used to match queries.
891
944
  * @param targets - An array of target strings used to match queries.
945
+ * @param sourceAreaFilter - Optional area path filter for source (e.g., "System")
946
+ * @param targetAreaFilter - Optional area path filter for target (e.g., "Software")
947
+ * @param includeTreeQueries - Optional flag to include 'tree' queries in addition to 'oneHop' queries. Defaults to `false`.
892
948
  * @returns A promise that resolves to an object containing two trees (`tree1` and `tree2`),
893
949
  * or `null` for each tree if no valid nodes are found.
894
950
  * @throws Logs an error if an exception occurs during processing.
@@ -898,38 +954,57 @@ export default class TicketsDataProvider {
898
954
  onlyTestReq: boolean,
899
955
  parentId: any = null,
900
956
  sources: string[],
901
- targets: string[]
957
+ targets: string[],
958
+ sourceAreaFilter?: string,
959
+ targetAreaFilter?: string,
960
+ includeTreeQueries: boolean = false
902
961
  ): Promise<any> {
903
962
  try {
904
963
  if (!rootQuery.hasChildren) {
905
- if (!rootQuery.isFolder && rootQuery.queryType === 'oneHop') {
964
+ if (!rootQuery.isFolder && (rootQuery.queryType === 'oneHop' || (includeTreeQueries && rootQuery.queryType === 'tree'))) {
906
965
  const wiql = rootQuery.wiql;
907
966
  let tree1Node = null;
908
967
  let tree2Node = null;
909
968
  // Check if the query is a requirement to test case query
910
969
  if (!onlyTestReq && this.matchesSourceTargetCondition(wiql, sources, targets)) {
911
- tree1Node = {
912
- id: rootQuery.id,
913
- pId: parentId,
914
- value: rootQuery.name,
915
- title: rootQuery.name,
916
- queryType: rootQuery.queryType,
917
- columns: rootQuery.columns,
918
- wiql: rootQuery._links.wiql ?? undefined,
919
- isValidQuery: true,
920
- };
970
+ // Additional area path filtering if specified
971
+ const matchesAreaPath =
972
+ sourceAreaFilter || targetAreaFilter
973
+ ? this.matchesAreaPathCondition(wiql, sourceAreaFilter || '', targetAreaFilter || '')
974
+ : true;
975
+
976
+ if (matchesAreaPath) {
977
+ tree1Node = {
978
+ id: rootQuery.id,
979
+ pId: parentId,
980
+ value: rootQuery.name,
981
+ title: rootQuery.name,
982
+ queryType: rootQuery.queryType,
983
+ columns: rootQuery.columns,
984
+ wiql: rootQuery._links.wiql ?? undefined,
985
+ isValidQuery: true,
986
+ };
987
+ }
921
988
  }
922
989
  if (this.matchesSourceTargetCondition(wiql, targets, sources)) {
923
- tree2Node = {
924
- id: rootQuery.id,
925
- pId: parentId,
926
- value: rootQuery.name,
927
- title: rootQuery.name,
928
- queryType: rootQuery.queryType,
929
- columns: rootQuery.columns,
930
- wiql: rootQuery._links.wiql ?? undefined,
931
- isValidQuery: true,
932
- };
990
+ // Additional area path filtering for reverse direction if specified
991
+ const matchesReverseAreaPath =
992
+ sourceAreaFilter || targetAreaFilter
993
+ ? this.matchesAreaPathCondition(wiql, targetAreaFilter || '', sourceAreaFilter || '')
994
+ : true;
995
+
996
+ if (matchesReverseAreaPath) {
997
+ tree2Node = {
998
+ id: rootQuery.id,
999
+ pId: parentId,
1000
+ value: rootQuery.name,
1001
+ title: rootQuery.name,
1002
+ queryType: rootQuery.queryType,
1003
+ columns: rootQuery.columns,
1004
+ wiql: rootQuery._links.wiql ?? undefined,
1005
+ isValidQuery: true,
1006
+ };
1007
+ }
933
1008
  }
934
1009
  return { tree1: tree1Node, tree2: tree2Node };
935
1010
  } else {
@@ -941,14 +1016,32 @@ export default class TicketsDataProvider {
941
1016
  const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
942
1017
  const currentQuery = await TFSServices.getItemContent(queryUrl, this.token);
943
1018
  return currentQuery
944
- ? await this.structureFetchedQueries(currentQuery, onlyTestReq, currentQuery.id, sources, targets)
1019
+ ? await this.structureFetchedQueries(
1020
+ currentQuery,
1021
+ onlyTestReq,
1022
+ currentQuery.id,
1023
+ sources,
1024
+ targets,
1025
+ sourceAreaFilter,
1026
+ targetAreaFilter,
1027
+ includeTreeQueries
1028
+ )
945
1029
  : { tree1: null, tree2: null };
946
1030
  }
947
1031
 
948
1032
  // Process children recursively
949
1033
  const childResults = await Promise.all(
950
1034
  rootQuery.children.map((child: any) =>
951
- this.structureFetchedQueries(child, onlyTestReq, rootQuery.id, sources, targets)
1035
+ this.structureFetchedQueries(
1036
+ child,
1037
+ onlyTestReq,
1038
+ rootQuery.id,
1039
+ sources,
1040
+ targets,
1041
+ sourceAreaFilter,
1042
+ targetAreaFilter,
1043
+ includeTreeQueries
1044
+ )
952
1045
  )
953
1046
  );
954
1047
 
@@ -989,6 +1082,54 @@ export default class TicketsDataProvider {
989
1082
  }
990
1083
  }
991
1084
 
1085
+ /**
1086
+ * Checks if WIQL matches area path conditions for System/Software requirements filtering
1087
+ * @param wiql - The WIQL string to evaluate
1088
+ * @param sourceAreaFilter - Area path filter for source (e.g., "System" or "Software")
1089
+ * @param targetAreaFilter - Area path filter for target (e.g., "Software" or "System")
1090
+ * @returns Boolean indicating if the WIQL matches the area path conditions
1091
+ */
1092
+ private matchesAreaPathCondition(
1093
+ wiql: string,
1094
+ sourceAreaFilter: string,
1095
+ targetAreaFilter: string
1096
+ ): boolean {
1097
+ let hasSourceAreaPath = false;
1098
+ let hasTargetAreaPath = false;
1099
+
1100
+ // Check for source area path condition
1101
+ if (sourceAreaFilter) {
1102
+ const sourceAreaPattern = new RegExp(
1103
+ `Source\\.[^\\]]*AreaPath[^\\]]*[^']*'[^']*${sourceAreaFilter}[^']*'`,
1104
+ 'i'
1105
+ );
1106
+ const sourceUnderPattern = new RegExp(
1107
+ `Source\\.[^\\]]*AreaPath[^\\]]*UNDER[^']*'[^']*${sourceAreaFilter}[^']*'`,
1108
+ 'i'
1109
+ );
1110
+ hasSourceAreaPath = sourceAreaPattern.test(wiql) || sourceUnderPattern.test(wiql);
1111
+ } else {
1112
+ hasSourceAreaPath = true; // No filter means match all
1113
+ }
1114
+
1115
+ // Check for target area path condition
1116
+ if (targetAreaFilter) {
1117
+ const targetAreaPattern = new RegExp(
1118
+ `Target\\.[^\\]]*AreaPath[^\\]]*[^']*'[^']*${targetAreaFilter}[^']*'`,
1119
+ 'i'
1120
+ );
1121
+ const targetUnderPattern = new RegExp(
1122
+ `Target\\.[^\\]]*AreaPath[^\\]]*UNDER[^']*'[^']*${targetAreaFilter}[^']*'`,
1123
+ 'i'
1124
+ );
1125
+ hasTargetAreaPath = targetAreaPattern.test(wiql) || targetUnderPattern.test(wiql);
1126
+ } else {
1127
+ hasTargetAreaPath = true; // No filter means match all
1128
+ }
1129
+
1130
+ return hasSourceAreaPath && hasTargetAreaPath;
1131
+ }
1132
+
992
1133
  /**
993
1134
  * Determines whether the given WIQL (Work Item Query Language) string matches the specified
994
1135
  * source and target conditions. It checks if the WIQL contains references to the specified