@memberjunction/server 2.37.0 → 2.38.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.
@@ -2,7 +2,7 @@ import { PubSubEngine } from 'type-graphql';
2
2
  import { Metadata, UserInfo, EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
3
3
  import { AppContext, UserPayload } from '../types.js';
4
4
  import { DataContext } from '@memberjunction/data-context';
5
- import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRequestAPIKey, SkipRequestPhase, SkipAPIAgentNote, SkipAPIAgentNoteType, SkipEntityFieldInfo, SkipEntityRelationshipInfo, SkipEntityFieldValueInfo, SkipAPILearningCycleRequest, SkipAPILearningCycleResponse, SkipLearningCycleNoteChange, SkipConversation, SkipAPIAgentRequest } from '@memberjunction/skip-types';
5
+ import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRequestAPIKey, SkipRequestPhase, SkipAPIAgentNote, SkipAPIAgentNoteType, SkipEntityFieldInfo, SkipEntityRelationshipInfo, SkipEntityFieldValueInfo, SkipAPILearningCycleRequest, SkipAPILearningCycleResponse, SkipLearningCycleNoteChange, SkipConversation, SkipAPIArtifact, SkipAPIAgentRequest } from '@memberjunction/skip-types';
6
6
  import { ConversationDetailEntity, ConversationEntity, DataContextEntity } from '@memberjunction/core-entities';
7
7
  import { DataSource } from 'typeorm';
8
8
  import { CompositeKeyInputType } from '../generic/KeyInputOutputTypes.js';
@@ -47,6 +47,20 @@ export declare class StopLearningCycleResultType {
47
47
  WasRunning: boolean;
48
48
  CycleDetails: CycleDetailsType;
49
49
  }
50
+ type BaseSkipRequest = {
51
+ entities: SkipEntityInfo[];
52
+ queries: SkipQueryInfo[];
53
+ notes: SkipAPIAgentNote[];
54
+ noteTypes: SkipAPIAgentNoteType[];
55
+ requests: SkipAPIAgentRequest[];
56
+ accessToken: GetDataAccessToken;
57
+ organizationID: string;
58
+ organizationInfo: any;
59
+ apiKeys: SkipAPIRequestAPIKey[];
60
+ callingServerURL: string;
61
+ callingServerAPIKey: string;
62
+ callingServerAccessToken: string;
63
+ };
50
64
  export declare class AskSkipResolver {
51
65
  private static _defaultNewChatName;
52
66
  private static _maxHistoricalMessages;
@@ -58,25 +72,13 @@ export declare class AskSkipResolver {
58
72
  protected processAddOrUpdateSkipNote(change: SkipLearningCycleNoteChange, agentID: string, user: UserInfo): Promise<boolean>;
59
73
  protected processDeleteSkipNote(change: SkipLearningCycleNoteChange, user: UserInfo): Promise<boolean>;
60
74
  protected CreateAIMessageConversationDetail(apiResponse: SkipAPIResponse, conversationID: string, user: UserInfo): Promise<string>;
61
- protected buildBaseSkipRequest(contextUser: UserInfo, dataSource: DataSource, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean, additionalTokenInfo?: any): Promise<{
62
- entities: SkipEntityInfo[];
63
- queries: SkipQueryInfo[];
64
- notes: SkipAPIAgentNote[];
65
- noteTypes: SkipAPIAgentNoteType[];
66
- requests: SkipAPIAgentRequest[];
67
- accessToken: GetDataAccessToken;
68
- organizationId: string;
69
- organizationInfo: string;
70
- apiKeys: SkipAPIRequestAPIKey[];
71
- callingServerURL: string;
72
- callingServerAPIKey: string;
73
- callingServerAccessToken: string;
74
- }>;
75
+ protected buildBaseSkipRequest(contextUser: UserInfo, dataSource: DataSource, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean, additionalTokenInfo?: any): Promise<BaseSkipRequest>;
75
76
  protected buildSkipLearningAPIRequest(learningCycleId: string, lastLearningCycleDate: Date, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, dataSource: DataSource, contextUser: UserInfo, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean): Promise<SkipAPILearningCycleRequest>;
76
77
  protected BuildSkipLearningCycleNewConversations(lastLearningCycleDate: Date, dataSource: DataSource, contextUser: UserInfo): Promise<SkipConversation[]>;
77
78
  protected BuildSkipRequests(contextUser: UserInfo): Promise<SkipAPIAgentRequest[]>;
78
79
  protected GetLastCompleteLearningCycleDate(agentID: string, user: UserInfo): Promise<Date>;
79
80
  protected buildSkipChatAPIRequest(messages: SkipMessage[], conversationId: string, dataContext: DataContext, requestPhase: SkipRequestPhase, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, contextUser: UserInfo, dataSource: DataSource, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean): Promise<SkipAPIRequest>;
81
+ protected buildSkipAPIArtifacts(contextUser: UserInfo, dataSource: DataSource, conversationId: string): Promise<SkipAPIArtifact[]>;
80
82
  ExecuteAskSkipRunScript({ dataSource, userPayload }: AppContext, pubSub: PubSubEngine, DataContextId: string, ScriptText: string): Promise<AskSkipResultType>;
81
83
  protected buildSkipAPIKeys(): SkipAPIRequestAPIKey[];
82
84
  ExecuteAskSkipAnalysisQuery(UserQuestion: string, ConversationId: string, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine, DataContextId?: string, ForceEntityRefresh?: boolean): Promise<AskSkipResultType>;
@@ -108,7 +110,7 @@ export declare class AskSkipResolver {
108
110
  protected HandleAnalysisComplete(apiRequest: SkipAPIRequest, apiResponse: SkipAPIAnalysisCompleteResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType>;
109
111
  protected HandleClarifyingQuestionPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIClarifyingQuestionResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity): Promise<AskSkipResultType>;
110
112
  protected HandleDataRequestPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIDataRequestResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, conversationDetailCount: number): Promise<AskSkipResultType>;
111
- protected FinishConversationAndNotifyUser(apiResponse: SkipAPIAnalysisCompleteResponse, dataContext: DataContext, dataContextEntity: DataContextEntity, md: Metadata, user: UserInfo, convoEntity: ConversationEntity, pubSub: PubSubEngine, userPayload: UserPayload): Promise<{
113
+ protected FinishConversationAndNotifyUser(apiResponse: SkipAPIAnalysisCompleteResponse, dataContext: DataContext, dataContextEntity: DataContextEntity, md: Metadata, user: UserInfo, convoEntity: ConversationEntity, pubSub: PubSubEngine, userPayload: UserPayload, dataSource: DataSource): Promise<{
112
114
  AIMessageConversationDetailID: string;
113
115
  }>;
114
116
  protected getAgentNoteTypeIDByName(name: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"AskSkipResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AskSkipResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
@@ -529,7 +529,7 @@ cycle.`);
529
529
  noteTypes,
530
530
  requests,
531
531
  accessToken,
532
- organizationId: ___skipAPIOrgId,
532
+ organizationID: ___skipAPIOrgId,
533
533
  organizationInfo: configInfo?.askSkip?.organizationInfo,
534
534
  apiKeys: this.buildSkipAPIKeys(),
535
535
  callingServerURL: accessToken ? `${baseUrl}:${graphqlPort}` : undefined,
@@ -541,7 +541,7 @@ cycle.`);
541
541
  const baseRequest = await this.buildBaseSkipRequest(contextUser, dataSource, includeEntities, includeQueries, includeNotes, includeRequests, forceEntitiesRefresh, includeCallBackKeyAndAccessToken);
542
542
  const newConversations = await this.BuildSkipLearningCycleNewConversations(lastLearningCycleDate, dataSource, contextUser);
543
543
  const input = {
544
- organizationId: baseRequest.organizationId,
544
+ organizationId: baseRequest.organizationID,
545
545
  organizationInfo: baseRequest.organizationInfo,
546
546
  learningCycleId,
547
547
  lastLearningCycleDate,
@@ -639,20 +639,86 @@ cycle.`);
639
639
  requestPhase,
640
640
  };
641
641
  const baseRequest = await this.buildBaseSkipRequest(contextUser, dataSource, includeEntities, includeQueries, includeNotes, includeRequests, forceEntitiesRefresh, includeCallBackKeyAndAccessToken, additionalTokenInfo);
642
+ const artifacts = await this.buildSkipAPIArtifacts(contextUser, dataSource, conversationId);
642
643
  const input = {
644
+ ...baseRequest,
643
645
  messages,
644
646
  conversationID: conversationId.toString(),
645
647
  dataContext: CopyScalarsAndArrays(dataContext),
646
- organizationID: baseRequest.organizationId,
647
648
  requestPhase,
648
- entities: baseRequest.entities,
649
- queries: baseRequest.queries,
650
- notes: baseRequest.notes,
651
- noteTypes: baseRequest.noteTypes,
652
- apiKeys: baseRequest.apiKeys,
649
+ artifacts: artifacts
653
650
  };
654
651
  return input;
655
652
  }
653
+ async buildSkipAPIArtifacts(contextUser, dataSource, conversationId) {
654
+ const md = new Metadata();
655
+ const ei = md.EntityByName('MJ: Conversation Artifacts');
656
+ const rv = new RunView();
657
+ const results = await rv.RunViews([
658
+ {
659
+ EntityName: "MJ: Conversation Artifacts",
660
+ ExtraFilter: `ConversationID='${conversationId}'`,
661
+ OrderBy: "__mj_CreatedAt"
662
+ },
663
+ {
664
+ EntityName: "MJ: Artifact Types",
665
+ OrderBy: "Name"
666
+ },
667
+ {
668
+ EntityName: "MJ: Conversation Artifact Versions",
669
+ ExtraFilter: `ConversationArtifactID IN (SELECT ID FROM [${ei.SchemaName}].[${ei.BaseView}] WHERE ConversationID='${conversationId}')`,
670
+ OrderBy: 'ConversationArtifactID, __mj_CreatedAt'
671
+ }
672
+ ], contextUser);
673
+ if (results && results.length > 0 && results.every((r) => r.Success)) {
674
+ const types = results[1].Results.map((a) => {
675
+ const retVal = {
676
+ id: a.ID,
677
+ name: a.Name,
678
+ description: a.Description,
679
+ contentType: a.ContentType,
680
+ enabled: a.IsEnabled,
681
+ createdAt: a.__mj_CreatedAt,
682
+ updatedAt: a.__mj_UpdatedAt
683
+ };
684
+ return retVal;
685
+ });
686
+ const allConvoArtifacts = results[0].Results.map((a) => {
687
+ const rawVersions = results[2].Results;
688
+ const thisArtifactsVersions = rawVersions.filter(rv => rv.ConversationArtifactID === a.ID);
689
+ const versionsForThisArtifact = thisArtifactsVersions.map((v) => {
690
+ const versionRetVal = {
691
+ id: v.ID,
692
+ artifactId: v.ConversationArtifactID,
693
+ version: v.Version,
694
+ configuration: v.Configuration,
695
+ content: v.Content,
696
+ comments: v.Comments,
697
+ createdAt: v.__mj_CreatedAt,
698
+ updatedAt: v.__mj_UpdatedAt
699
+ };
700
+ return versionRetVal;
701
+ });
702
+ const artifactRetVal = {
703
+ id: a.ID,
704
+ name: a.Name,
705
+ description: a.Description,
706
+ comments: a.Comments,
707
+ sharingScope: a.SharingScope,
708
+ versions: versionsForThisArtifact,
709
+ conversationId: a.ConversationID,
710
+ artifactType: types.find((t => t.id === a.ArtifactTypeID)),
711
+ createdAt: a.__mj_CreatedAt,
712
+ updatedAt: a.__mj_UpdatedAt
713
+ };
714
+ return artifactRetVal;
715
+ });
716
+ return allConvoArtifacts;
717
+ }
718
+ else {
719
+ return [];
720
+ }
721
+ }
656
722
  async ExecuteAskSkipRunScript({ dataSource, userPayload }, pubSub, DataContextId, ScriptText) {
657
723
  const user = UserCache.Instance.Users.find((u) => u.Email.trim().toLowerCase() === userPayload.email.trim().toLowerCase());
658
724
  if (!user)
@@ -1098,7 +1164,6 @@ cycle.`);
1098
1164
  convoDetailEntity.Message = UserQuestion;
1099
1165
  convoDetailEntity.Role = 'User';
1100
1166
  convoDetailEntity.HiddenToUser = false;
1101
- convoDetailEntity.Set('Sequence', 1);
1102
1167
  let convoDetailSaveResult = await convoDetailEntity.Save();
1103
1168
  if (!convoDetailSaveResult) {
1104
1169
  LogError(`Error saving conversation detail entity for user message: ${UserQuestion}`, undefined, convoDetailEntity.LatestResult);
@@ -1297,7 +1362,7 @@ cycle.`);
1297
1362
  if (apiRequest.callingServerAccessToken && tokenExists(apiRequest.callingServerAccessToken)) {
1298
1363
  deleteAccessToken(apiRequest.callingServerAccessToken);
1299
1364
  }
1300
- const { AIMessageConversationDetailID } = await this.FinishConversationAndNotifyUser(apiResponse, dataContext, dataContextEntity, md, user, convoEntity, pubSub, userPayload);
1365
+ const { AIMessageConversationDetailID } = await this.FinishConversationAndNotifyUser(apiResponse, dataContext, dataContextEntity, md, user, convoEntity, pubSub, userPayload, dataSource);
1301
1366
  const response = {
1302
1367
  Success: true,
1303
1368
  Status: 'OK',
@@ -1454,16 +1519,65 @@ cycle.`);
1454
1519
  throw e;
1455
1520
  }
1456
1521
  }
1457
- async FinishConversationAndNotifyUser(apiResponse, dataContext, dataContextEntity, md, user, convoEntity, pubSub, userPayload) {
1522
+ async FinishConversationAndNotifyUser(apiResponse, dataContext, dataContextEntity, md, user, convoEntity, pubSub, userPayload, dataSource) {
1458
1523
  const sTitle = apiResponse.reportTitle;
1459
1524
  const sResult = JSON.stringify(apiResponse);
1525
+ let artifactId = null;
1526
+ let artifactVersionId = null;
1527
+ if (apiResponse.artifactRequest?.action === 'new_artifact' || apiResponse.artifactRequest?.action === 'new_artifact_version') {
1528
+ artifactId = apiResponse.artifactRequest.artifactId;
1529
+ let newVersion = 0;
1530
+ if (apiResponse.artifactRequest?.action === 'new_artifact') {
1531
+ const artifactEntity = await md.GetEntityObject('MJ: Convesration Artifacts', user);
1532
+ artifactEntity.NewRecord();
1533
+ artifactEntity.ConversationID = convoEntity.ID;
1534
+ artifactEntity.Name = apiResponse.artifactRequest.name;
1535
+ artifactEntity.Description = apiResponse.artifactRequest.description;
1536
+ if (await artifactEntity.Save()) {
1537
+ artifactId = artifactEntity.ID;
1538
+ }
1539
+ else {
1540
+ LogError(`Error saving artifact entity for conversation: ${convoEntity.ID}`, undefined, artifactEntity.LatestResult);
1541
+ }
1542
+ newVersion = 1;
1543
+ }
1544
+ else {
1545
+ const ei = md.EntityByName("MJ: Convesration Artifacts");
1546
+ const sSQL = `SELECT ISNULL(MAX(Version),0) AS MaxVersion FROM [${ei.SchemaName}].[${ei.BaseView}] WHERE ID = '${artifactId}'`;
1547
+ const result = await dataSource.query(sSQL);
1548
+ if (result && result.length > 0) {
1549
+ newVersion = result[0].MaxVersion + 1;
1550
+ }
1551
+ else {
1552
+ LogError(`Error getting max version for artifact ID: ${artifactId}`, undefined, result);
1553
+ }
1554
+ }
1555
+ if (artifactId && newVersion > 0) {
1556
+ const artifactVersionEntity = await md.GetEntityObject('MJ: Conversation Artifact Versions', user);
1557
+ artifactVersionEntity.NewRecord();
1558
+ artifactVersionEntity.ConversationArtifactID = artifactId;
1559
+ artifactVersionEntity.Version = newVersion;
1560
+ artifactVersionEntity.Configuration = sResult;
1561
+ if (await artifactVersionEntity.Save()) {
1562
+ artifactVersionId = artifactVersionEntity.ID;
1563
+ }
1564
+ else {
1565
+ LogError(`Error saving Artifact Version record`);
1566
+ }
1567
+ }
1568
+ }
1460
1569
  const convoDetailEntityAI = await md.GetEntityObject('Conversation Details', user);
1461
1570
  convoDetailEntityAI.NewRecord();
1462
1571
  convoDetailEntityAI.ConversationID = convoEntity.ID;
1463
1572
  convoDetailEntityAI.Message = sResult;
1464
1573
  convoDetailEntityAI.Role = 'AI';
1465
1574
  convoDetailEntityAI.HiddenToUser = false;
1466
- convoDetailEntityAI.Set('Sequence', 2);
1575
+ if (artifactId && artifactId.length > 0) {
1576
+ convoDetailEntityAI.ArtifactID = artifactId;
1577
+ if (artifactVersionId && artifactVersionId.length > 0) {
1578
+ convoDetailEntityAI.ArtifactVersionID = artifactVersionId;
1579
+ }
1580
+ }
1467
1581
  const convoDetailSaveResult = await convoDetailEntityAI.Save();
1468
1582
  if (!convoDetailSaveResult) {
1469
1583
  LogError(`Error saving conversation detail entity for AI message: ${sResult}`, undefined, convoDetailEntityAI.LatestResult);
@@ -1497,7 +1611,7 @@ cycle.`);
1497
1611
  newItem.AdditionalDescription = skipItem.description;
1498
1612
  });
1499
1613
  }
1500
- dataContext.SaveItems(user, false);
1614
+ await dataContext.SaveItems(user, false);
1501
1615
  pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
1502
1616
  message: JSON.stringify({
1503
1617
  type: 'UserNotifications',
@@ -1 +1 @@
1
- {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAO,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAgB,OAAO,EAAY,YAAY,EAA0E,MAAM,sBAAsB,CAAC;AAC5L,OAAO,EAA2B,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,0BAA0B,EAAE,CAAC;AA2B7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAa7E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,qCAAqC,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhN,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAyB,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAsB,mBAAmB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/G,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,+DAA0C,CAAA;IAC1C,iDAA4B,CAAA;IAC5B,2DAAsC,CAAA;AACxC,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,gBAAgB,CAAC,iBAAiB,EAAE;IAClC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mFAAmF;CACjG,CAAC,CAAC;AAGI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAE5B,OAAO,CAAU;IAGjB,MAAM,CAAS;IAGf,aAAa,CAAoB;IAGjC,MAAM,CAAS;IAGf,cAAc,CAAS;IAGvB,+BAA+B,CAAS;IAGxC,6BAA6B,CAAS;CACvC,CAAA;AAnBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;kDACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;;wDACE;AAGjC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;yDACG;AAGvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0EACoB;AAGxC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;wEACkB;AApB3B,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CAqB7B;;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAExC,OAAO,CAAU;IAGjB,OAAO,CAAS;CACjB,CAAA;AAJC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;8DACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;8DACJ;AALL,6BAA6B;IADzC,UAAU,EAAE;GACA,6BAA6B,CAMzC;;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,eAAe,CAAS;IAGxB,SAAS,CAAS;IAGlB,iBAAiB,CAAS;CAC3B,CAAA;AAPC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;yDACI;AAGxB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;mDACF;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;2DACM;AARf,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAS5B;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,cAAc,CAAS;IAGvB,eAAe,CAAS;IAGxB,SAAS,CAAS;IAGlB,iBAAiB,CAAS;CAC3B,CAAA;AAVC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;+DACG;AAGvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;gEACI;AAGxB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0DACF;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;kEACM;AAXf,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAYnC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,kBAAkB,CAAU;IAG5B,WAAW,CAAS;IAGpB,oBAAoB,CAA4B;CACjD,CAAA;AAPC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;mEACO;AAG5B;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACpB;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACX;AARrC,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CASnC;;AAGM,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEtC,OAAO,CAAU;IAGjB,OAAO,CAAS;IAGhB,UAAU,CAAU;IAGpB,YAAY,CAAmB;CAChC,CAAA;AAVC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;4DACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACJ;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;+DACD;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACpC,gBAAgB;iEAAC;AAXpB,2BAA2B;IADvC,UAAU,EAAE;GACA,2BAA2B,CAYvC;;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;;IAClB,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC;IAGhD;QACE,IAAI,CAAC;YAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/D,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAE9B,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;oBACrF,IAAI,CAAC;wBACH,IAAI,wBAAwB,KAAK,GAAG,EAAE,CAAC;4BACrC,SAAS,CAAC,yEAAyE,CAAC,CAAC;4BACrF,OAAO;wBACT,CAAC;wBAGD,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;4BAClE,QAAQ,CAAC,6GAA6G,CAAC,CAAC;4BACxH,OAAO;wBACT,CAAC;wBAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC3C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAE1C,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC;4BAGlD,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;4BAGtC,MAAM,QAAQ,GAAG,qCAAqC,IAAI,EAAE,CAAC;4BAC7D,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC5B,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,4EAA4E,CAAC,CAAC;wBACzF,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,QAAQ,CAAC,qDAAqD,KAAK,EAAE,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,QAAQ,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACO,MAAM,CAAC,sBAAsB,GAAG,EAAE,CAAC;IASrC,AAAN,KAAK,CAAC,wBAAwB,CACO,YAAoB,EAClB,cAAsB,EAC1B,UAAkB,EACD,YAAmC,EAC9E,EAAE,UAAU,EAAE,WAAW,EAAc,EACpC,MAAoB;QAK9B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAG/E,IAAI,QAAQ,GAAkB,EAAE,CAAC;QACjC,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,MAAM,IAAI,CAAC,uCAAuC,CAC3D,UAAU,EACV,cAAc,EACd,iBAAe,CAAC,sBAAsB,CACvC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CACtH,UAAU,EACV,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,EAAE,EACF,IAAI,CACL,CAAC;QAGF,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACxF,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC;YAC3B,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;YAClE,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;YAC9B,EAAE,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YAC9C,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,aAAa,GAAY,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,QAAQ,CAAC,uDAAuD,UAAU,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5H,CAAC;YAED,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1E,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAGxC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC1C,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;YACzC,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;YAC3C,MAAM,qBAAqB,GAAY,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YAChE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,QAAQ,CAAC,oDAAoD,UAAU,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;YACjI,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1K,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,MAAM;YACZ,oBAAoB,EAAE,iBAAiB,CAAC,EAAE;SAC3C,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAGK,AAAN,KAAK,CAAC,2BAA2B,CACxB,EAAE,UAAU,EAAE,WAAW,EAAc,EACgB,kBAA4B;QAGxF,IAAI,wBAAwB,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+CAA+C;gBACtD,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAGD,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+CAA+C;gBACtD,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAG/E,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAG5C,MAAM,cAAc,GAAG,eAAe,CAAC;QACvC,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC;QAClD,MAAM,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE3E,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,SAAS,CAAC,uDAAuD,cAAc,gBAAgB,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACxI,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qEAAqE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe;gBACtI,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAGD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;QAG7B,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAGjG,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA6B,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACnH,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;QAC3C,mBAAmB,CAAC,MAAM,GAAG,aAAa,CAAC;QAC3C,mBAAmB,CAAC,SAAS,GAAG,SAAS,CAAC;QAE1C,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAC/C,SAAS,CAAC,uCAAuC,eAAe,EAAE,CAAC,CAAC;QAGpE,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YAEH,SAAS,CAAC,oCAAoC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,6BAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,IAAI,KAAK,CAAC,CAAC;YAG7K,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAGvG,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAE9D,SAAS,CAAC,wCAAwC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,OAAO,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC;YAEhI,mBAAmB,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;YAEtC,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,2CAA2C,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC;YAGD,SAAS,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAEjD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,mBAAmB,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtC,mBAAmB,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,QAAQ,CAAC,uDAAuD,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;YAGD,SAAS,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAGjD,MAAM,KAAK,CAAC;QACd,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mCAAmC,CACjD,KAAkC,EAClC,IAAc,EACd,eAAuB,EACvB,OAAe;QAEf,SAAS,CAAC,2EAA2E,qBAAqB,EAAE,CAAC,CAAC;QAE9G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEpC,MAAM,WAAW,GAAiC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACtF,SAAS,CAAC,wBAAwB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAGzD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACrF,CAAC;YAcD,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,EAAE;aACnB,CAAC;QAEJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,+BAA+B,CAC7C,KAAqB,EACrB,iBAAyB,EAAE,EAC3B,kCAA0C,EAAE,EAC5C,oCAA6C,KAAK,EAClD,OAAiB,IAAI;QAErB,SAAS,CAAC,uEAAuE,aAAa,EAAE,CAAC,CAAC;QAElG,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEpC,MAAM,WAAW,GAAoB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,MAAM,6BAA6B,GAAG,iCAAiC;gBACrE,CAAC,CAAC,MAAM,IAAI,CAAC,iCAAiC,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC;gBACjF,CAAC,CAAC,EAAE,CAAC;YAEP,SAAS,CAAC,wBAAwB,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gBACjD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,+BAA+B;gBAChE,6BAA6B,EAAE,6BAA6B;gBAC5D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,gBAAgB;gBACxB,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gBACjD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,+BAA+B;gBAChE,6BAA6B,EAAE,EAAE;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAOS,KAAK,CAAC,+BAA+B,CAC7C,WAA0C,EAC1C,OAAe,EACf,IAAc;QAEZ,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAG1B,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAEnD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;gBAC1C,SAAS,CAAC,qBAAqB,MAAM,CAAC,UAAU,oCAAoC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACxF,CAAC,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAGH,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAClE,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,KAAK,CAAC,0BAA0B,CAAC,MAAmC,EAAE,OAAe,EAAE,IAAc;QAC7G,IAAI,CAAC;YAEH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAEvF,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAEnC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1D,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;oBAC1C,SAAS,CAAC,qFAAqF,CAAC,CAAC;oBACjG,OAAO,KAAK,CAAC;gBACf,CAAC;gBAGD,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACjE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAEnC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,CAAC;YAGD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,+BAA+B,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,MAAmC,EAAE,IAAc;QAEvF,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAGvF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;YAC1C,SAAS,CAAC,4DAA4D,MAAM,CAAC,IAAI,CAAC,EAAE;OACnF,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,iCAAiC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,iCAAiC,CAAC,WAA4B,EAAE,cAAsB,EAAE,IAAc;QACpH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,mBAAmB,GAA6B,MAAM,EAAE,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7G,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,YAAY,GAAG,KAAK,CAAC;QACzC,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC;QACpD,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC/E,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,mBAAmB,CAAC,OAAO,GAAG,iBAAiB,EAAE,OAAO,CAAC;QACzD,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,IAAI,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,QAAQ,CACN,2DAA2D,iBAAiB,EAAE,OAAO,EAAE,EACvF,SAAS,EACT,mBAAmB,CAAC,YAAY,CACjC,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAcS,KAAK,CAAC,oBAAoB,CAClC,WAAqB,EACrB,UAAsB,EACtB,eAAwB,EACxB,cAAuB,EACvB,YAAqB,EACrB,eAAwB,EACxB,uBAAgC,KAAK,EACrC,mCAA4C,KAAK,EACjD,sBAA2B,EAAE;QAG7B,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;QACnH,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAGlF,IAAI,WAA+B,CAAC;QACpC,IAAI,gCAAgC,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,WAAW,CAAC,KAAK;gBAC5B,QAAQ,EAAE,WAAW,CAAC,IAAI;gBAC1B,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,GAAG,mBAAmB;aACvB,CAAC;YAEF,WAAW,GAAG,mBAAmB,CAC/B,SAAS,EACT,IAAI,GAAG,EAAE,GAAG,EAAE,EACd,SAAS,CACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,OAAO;YACP,KAAK;YACL,SAAS;YACT,QAAQ;YACR,WAAW;YACX,cAAc,EAAE,eAAe;YAC/B,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB;YACvD,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACvE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACrD,wBAAwB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;IACJ,CAAC;IAKS,KAAK,CAAC,2BAA2B,CACzC,eAAuB,EACvB,qBAA2B,EAC3B,eAAwB,EACxB,cAAuB,EACvB,YAAqB,EACrB,eAAwB,EACxB,UAAsB,EACtB,WAAqB,EACrB,uBAAgC,KAAK,EACrC,mCAA4C,KAAK;QAGjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACjD,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,gCAAgC,CACjC,CAAC;QAGF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,qBAAqB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAG3H,MAAM,KAAK,GAAgC;YACzC,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAChB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAQS,KAAK,CAAC,sCAAsC,CACpD,qBAA2B,EAC3B,UAAsB,EACtB,WAAqB;QAErB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAGzB,MAAM,mCAAmC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAqB;gBAC/E,UAAU,EAAE,eAAe;gBAC3B,WAAW,EAAE,yFAAyF,qBAAqB,CAAC,WAAW,EAAE,IAAI;gBAC7I,UAAU,EAAE,eAAe;aAC5B,EAAE,WAAW,CAAC,CAAC;YAEhB,IAAI,CAAC,mCAAmC,CAAC,OAAO,IAAI,mCAAmC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7G,OAAO,EAAE,CAAC;YACZ,CAAC;YAGD,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnF,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC,uCAAuC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9E,SAAS,EAAE,CAAC,CAAC,cAAc;oBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;iBAC5B,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,0DAA0D,CAAC,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAOS,KAAK,CAAC,iBAAiB,CAC/B,WAAqB;QAErB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,mBAAmB,EAAE,WAAW,CAAC,CAAC;YACvG,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;YAEjD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrC,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,OAAO,EAAE,CAAC,CAAC,SAAS;oBACpB,KAAK,EAAE,CAAC,CAAC,OAAO;oBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;oBACtC,cAAc,EAAE,CAAC,CAAC,gBAAgB;oBAClC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;oBACpC,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,CAAC,CAAC,cAAc;oBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;iBAC5B,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAElB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,gCAAgC,CAAC,OAAe,EAAE,IAAc;QAC9E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,OAAO,CAA6B;YACvE,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,cAAc,OAAO,2BAA2B;YAC7D,UAAU,EAAE,eAAe;YAC3B,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,CAAC;SACX,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC,CAAC;aACI,CAAC;YAEJ,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAKS,KAAK,CAAC,uBAAuB,CACrC,QAAuB,EACvB,cAAsB,EACtB,WAAwB,EACxB,YAA8B,EAC9B,eAAwB,EACxB,cAAuB,EACvB,YAAqB,EACrB,eAAwB,EACxB,WAAqB,EACrB,UAAsB,EACtB,uBAAgC,KAAK,EACrC,mCAA4C,KAAK;QAGjD,MAAM,mBAAmB,GAAG;YAC1B,cAAc;YACd,YAAY;SACb,CAAC;QAGF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACjD,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,gCAAgC,EAChC,mBAAmB,CACpB,CAAC;QAGF,MAAM,KAAK,GAAmB;YAC5B,QAAQ;YACR,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;YACzC,WAAW,EAAe,oBAAoB,CAAC,WAAW,CAAC;YAC3D,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,YAAY;YACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IASK,AAAN,KAAK,CAAC,uBAAuB,CACpB,EAAE,UAAU,EAAE,WAAW,EAAc,EACpC,MAAoB,EACM,aAAqB,EACxB,UAAkB;QAEnD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,KAAK,GAA4B,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClL,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAES,gBAAgB;QACxB,OAAO;YACL;gBACE,gBAAgB,EAAE,WAAW;gBAC7B,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC;aACjC;YACD;gBACE,gBAAgB,EAAE,cAAc;gBAChC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC;aACpC;YACD;gBACE,gBAAgB,EAAE,WAAW;gBAC7B,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC;aACjC;YACD;gBACE,gBAAgB,EAAE,SAAS;gBAC3B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC;aAC/B;YACD;gBACE,gBAAgB,EAAE,YAAY;gBAC9B,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,2BAA2B,CACI,YAAoB,EAClB,cAAsB,EACpD,EAAE,UAAU,EAAE,WAAW,EAAc,EACpC,MAAoB,EAC0B,aAAsB,EAChB,kBAA4B;QAE1F,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAE/E,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CACtH,UAAU,EACV,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,EAAE,EACF,aAAa,CACd,CAAC;QAGF,MAAM,QAAQ,GAAkB,MAAM,IAAI,CAAC,uCAAuC,CAChF,UAAU,EACV,WAAW,CAAC,EAAE,EACd,iBAAe,CAAC,sBAAsB,CACvC,CAAC;QAEF,MAAM,uBAAuB,GAAG,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE3N,OAAO,IAAI,CAAC,qBAAqB,CAC/B,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,EAAE,EACF,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAMS,gBAAgB,CAAC,SAAyE,UAAU;QAC5G,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACtE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,SAAS,EAAE,CAAC,CAAC,cAAc;gBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;gBAC3B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO;wBACL,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;wBAChC,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;wBAClC,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;wBAChD,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;wBACxC,SAAS,EAAE,CAAC,CAAC,cAAc;wBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;qBAC5B,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAKS,KAAK,CAAC,mBAAmB,CAAC,WAAqB;QACvD,IAAI,CAAC;YAEH,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAEnD,MAAM,KAAK,GAA0B,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9E,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,GAAuB,EAAE,CAAC;gBACnC,IAAI,SAAS,GAA2B,EAAE,CAAC;gBAE3C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,OAAO;wBACL,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,eAAe,EAAE,CAAC,CAAC,eAAe;wBAClC,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,SAAS,EAAE,CAAC,CAAC,cAAc;wBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;qBAC5B,CAAA;gBACH,CAAC,CAAC,CAAC;gBAEH,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrD,OAAO;wBACL,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;qBAC3B,CAAA;gBACH,CAAC,CAAC,CAAC;gBAGH,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;YAC5B,CAAC;iBACI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;gBAC1G,OAAO,EAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,EAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,CAAa,EAAE,UAAsB;QAClE,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,oBAAoB,KAAK,MAAM;gBACnC,OAAO,EAAE,CAAC;YAGZ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7E,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAGrC,IAAI,GAAG,GAAW,EAAE,CAAC;YACrB,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,KAAK,KAAK;oBACR,GAAG,GAAG,UAAU,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC5D,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;wBACjC,KAAK,QAAQ;4BACX,GAAG,GAAG,cAAc,CAAC,CAAC,qBAAqB,IAAI,MAAM,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ,oBAAoB,CAAC;4BAChH,MAAM;wBACR,KAAK,OAAO;4BACV,MAAM,OAAO,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxF,GAAG,GAAG,cAAc,CAAC,CAAC,qBAAqB,IAAI,MAAM,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;4BACzG,MAAM;wBACR,KAAK,UAAU;4BACb,MAAM,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;4BAC/C,MAAM,YAAY,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,IAAI,eAAe,QAAQ,CAAC;4BAC5G,GAAG,GAAG;qCACiB,CAAC,CAAC,qBAAqB,IAAI,MAAM;gCACtC,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ;mCACzB,YAAY;;gCAEf,eAAe,QAAQ,CAAC;4BAC1C,MAAM;oBACV,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;iBACI,CAAC;gBACJ,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,uBAAuB,CAAC,CAAkB,EAAE,UAAsB;QAChF,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO,EAAE,CAAC;YACZ,CAAC;iBACI,IAAI,CAAC,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;gBAE5C,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC1D,CAAC;iBACI,IAAI,CAAC,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;gBAE7C,IAAI,CAAC,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;oBAEnC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnC,OAAO,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;gBACL,CAAC;qBACI,IAAI,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;oBAGnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oBAChE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAEnC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACnC,OAAO,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC;wBACjD,CAAC,CAAC,CAAC;oBACL,CAAC;yBACI,CAAC;wBACJ,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oCACnD,OAAO,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC;gCACjD,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,CAAkB,EAAE,UAAsB;QAC/E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;iBACI,CAAC;gBACJ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtB,OAAO;wBACL,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChB,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBACxB,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKO,MAAM,CAAC,oBAAoB,GAAsD,IAAI,eAAe,CAAmC,IAAI,CAAC,CAAC;IAC7I,MAAM,CAAC,iBAAiB,GAAW,CAAC,CAAC;IAErC,KAAK,CAAC,mBAAmB,CAAC,UAAsB;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,0BAA0B,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,kCAAkC,IAAI,EAAE,CAAC;iBAClH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAGtC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxC,IAAI,CAAC,CAAC,UAAU,KAAK,cAAc,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACxG,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;oBAClC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3E,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC/J,CAAC;yBACI,CAAC;wBACJ,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAGH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAEpG,iBAAe,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,UAAsB,EAAE,eAAwB,KAAK,EAAE,yBAAiC,EAAE;QACvH,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,iBAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAGtG,IAAI,YAAY,IAAI,YAAY,IAAI,iBAAe,CAAC,oBAAoB,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,oBAAoB,YAAY,EAAE,CAAC,CAAC;gBAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrD,iBAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,iBAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,wBAAwB,CAAC,CAAa,EAAE,UAAsB;QAC5E,IAAI,CAAC;YACH,MAAM,GAAG,GAAmB;gBAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAE1B,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAE5C,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7E,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3F,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACT,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBAEH,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,OAAO,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC;gBAEF,UAAU,EAAE,CAAC,CAAC,oBAAoB;gBAClC,gBAAgB,EAAE,CAAC,CAAC,sBAAsB;gBAC1C,IAAI,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC;aAC/C,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,gCAAgC,CAAC,CAAyB;QAClE,IAAI,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;gBAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,0BAA0B,EAAE,CAAC,CAAC,0BAA0B;gBACxD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,qBAAqB,EAAE,CAAC,CAAC,qBAAqB;aAC/C,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,sDAAsD,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,KAAK,CAAC,yBAAyB,CAAC,CAAkB,EAAE,UAAsB;QAClF,IAAI,CAAC;YACH,OAAO;gBAEL,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;gBACxC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;gBAChD,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;gBAClD,qBAAqB,EAAE,CAAC,CAAC,qBAAqB;gBAC9C,cAAc,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,UAAU,CAAC;aAClE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,KAAK,CAAC,kCAAkC,CAChD,UAAsB,EACtB,cAAsB,EACtB,YAAoB,EACpB,IAAc,EACd,WAAwB,EACxB,EAAY,EACZ,aAAqB;QAOrB,MAAM,WAAW,GAAuB,MAAM,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxF,IAAI,iBAAoC,CAAC;QAEzC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAEnD,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,GAAG,iBAAe,CAAC,mBAAmB,CAAC;gBAEvD,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,eAAe,EAAE,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjD,iBAAiB,CAAC,SAAS,EAAE,CAAC;oBAC9B,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oBACnC,iBAAiB,CAAC,IAAI,GAAG,qCAAqC,CAAC;oBAC/D,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBACtC,QAAQ,CAAC,oCAAoC,EAAE,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAC1F,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,aAAa,SAAS,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;gBACD,WAAW,CAAC,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACjD,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC7B,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAExD,iBAAiB,CAAC,IAAI,IAAI,IAAI,cAAc,EAAE,CAAC;wBAC/C,MAAM,aAAa,GAAY,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;wBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,QAAQ,CAAC,oDAAoD,cAAc,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAC5H,CAAC;oBACH,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,QAAQ,CAAC,oCAAoC,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;oBACpF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aACI,CAAC;YACJ,MAAM,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,eAAe,EAAE,IAAI,CAAC,CAAC;YAGvF,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC7F,IAAI,WAAW,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAEvC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;oBAC1C,MAAM,qBAAqB,GAAY,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;oBAChE,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC3B,QAAQ,CAAC,sDAAsD,cAAc,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;qBACI,CAAC;oBAGJ,OAAO,CAAC,IAAI,CACV,kCAAkC,aAAa,yGAAyG,WAAW,CAAC,aAAa,EAAE,CACpL,CAAC;gBACJ,CAAC;gBAED,IAAI,WAAW,CAAC,aAAa;oBAC3B,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5D,CAAC;iBACI,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAGlI,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBAC9B,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnC,iBAAiB,CAAC,IAAI,GAAG,qCAAqC,GAAG,cAAc,CAAC;gBAChF,IAAI,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;oBAC1C,WAAW,CAAC,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC9B,QAAQ,CAAC,sDAAsD,cAAc,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;;oBAEC,QAAQ,CAAC,oDAAoD,cAAc,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC9H,CAAC;iBACI,CAAC;gBAEJ,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAGD,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC3G,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAClD,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC;QACzC,iBAAiB,CAAC,IAAI,GAAG,MAAM,CAAC;QAChC,iBAAiB,CAAC,YAAY,GAAG,KAAK,CAAC;QACvC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,qBAAqB,GAAY,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,QAAQ,CAAC,6DAA6D,YAAY,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACnI,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAc,WAAW,CAAC,CAAC;QAC5F,MAAM,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAC5E,CAAC;IAES,KAAK,CAAC,uCAAuC,CACrD,UAAsB,EACtB,cAAsB,EACtB,qBAA8B;QAE9B,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAGD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG;wBACM,qBAAqB,CAAC,CAAC,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE;;wBAE3D,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ;;0CAER,cAAc;;6CAEX,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;iBAC1C,CAAC;gBAIJ,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;oBAChD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACzC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACzC,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAGH,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE;oBAGpD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClD,IAAI,aAAa,CAAC;oBAClB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,MAAuB,CAAC;wBAC5B,IAAI,CAAC;4BACH,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAClD,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BAEX,MAAM,GAAG,IAAI,CAAC;4BACd,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;wBAC5B,CAAC;wBACD,IAAI,MAAM,EAAE,aAAa,KAAK,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;4BACjE,MAAM,cAAc,GAAoC,MAAM,CAAC;4BAC/D,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gCAC7B,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gCACjD,eAAe,EAAE,cAAc,CAAC,eAAe;gCAC/C,eAAe,EAAE,cAAc,CAAC,eAAe;gCAC/C,UAAU,EAAE,cAAc,CAAC,UAAU;gCACrC,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;6BAClD,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,MAAM,EAAE,aAAa,KAAK,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;4BAC1E,MAAM,wBAAwB,GAAsC,MAAM,CAAC;4BAC3E,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gCAC7B,aAAa,EAAE,iBAAiB,CAAC,kBAAkB;gCACnD,kBAAkB,EAAE,wBAAwB,CAAC,kBAAkB;6BAChE,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,MAAM,EAAE,CAAC;4BAGlB,QAAQ,CAAC,2BAA2B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,GAAgB;wBACrB,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;wBAC1D,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,CAAC,CAAC,EAAE;wBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;wBACxC,2BAA2B,EAAE,CAAC,CAAC,4BAA4B;wBAC3D,SAAS,EAAE,CAAC,CAAC,cAAc;wBAC3B,SAAS,EAAE,CAAC,CAAC,cAAc;qBAC5B,CAAC;oBACF,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAES,mBAAmB,CAAC,IAAY;QACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,OAAO,QAAQ,CAAC;YAClB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,qBAAqB,CACnC,KAAqB,EACrB,YAAoB,EACpB,IAAc,EACd,UAAsB,EACtB,cAAsB,EACtB,WAAwB,EACxB,MAAoB,EACpB,EAAY,EACZ,WAA+B,EAC/B,iBAA2C,EAC3C,WAAwB,EACxB,iBAAoC,EACpC,uBAA+B;QAE/B,SAAS,CAAC,0DAA0D,aAAa,EAAE,CAAC,CAAC;QAErF,IAAI,uBAAuB,GAAG,EAAE,EAAE,CAAC;YAEjC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO;oBACf,cAAc,EAAE,cAAc;oBAC9B,OAAO,EAAE,kGAAkG;iBAC5G,CAAC;gBACF,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,oDAAoD,YAAY,EAAE;gBAC1E,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gBACjD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,EAAE;gBACnC,6BAA6B,EAAE,EAAE;aAClC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,aAAa,EACb,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,CAAC,OAWA,EAAE,EAAE;YACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;oBACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACtB,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,IAAI;wBACZ,cAAc,EAAE,cAAc;wBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa;wBAC1C,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;qBAC3C,CAAC;oBACF,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAGpC,MAAM,WAAW,GAAoB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAEzE,SAAS,CAAC,wBAAwB,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,mCAAmC,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAG3F,IAAI,WAAW,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;gBACjD,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACtC,KAAK,EACuB,WAAW,EACvC,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;YACJ,CAAC;iBAAM,IAAI,WAAW,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;gBAE/D,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAC7C,KAAK,EAC8B,WAAW,EAC9C,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,WAAW,EACX,iBAAiB,CAClB,CAAC;YACJ,CAAC;iBAAM,IAAI,WAAW,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;gBAC7D,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACtC,KAAK,EAC4B,WAAW,EAC5C,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,CAClB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAEN,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO;oBACf,cAAc,EAAE,cAAc;oBAC9B,OAAO,EAAE,kGAAkG;iBAC5G,CAAC;gBACF,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,iBAAiB,YAAY,eAAe;gBACpD,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gBACjD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,EAAE;gBACnC,6BAA6B,EAAE,EAAE;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,mCAAmC,CACjD,WAA4B,EAC5B,WAAwB,EACxB,cAAsB,EACtB,MAAoB;QAEpB,IAAI,YAAY,GAAW,EAAE,CAAC;QAC9B,QAAQ,WAAW,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,cAAc;gBACjB,YAAY,GAAG,4EAA4E,CAAC;gBAC5F,MAAM;YACR,KAAK,mBAAmB;gBACtB,YAAY,GAAG,2EAA2E,CAAC;gBAC3F,MAAM;YACR,KAAK,qBAAqB;gBAGxB,MAAM;QACV,CAAC;QAGD,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,cAAc;gBACd,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,UAA0B,EAC1B,WAA4C,EAC5C,YAAoB,EACpB,IAAc,EACd,UAAsB,EACtB,cAAsB,EACtB,WAAwB,EACxB,MAAoB,EACpB,WAA+B,EAC/B,iBAA2C,EAC3C,WAAwB,EACxB,iBAAoC;QAIpC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAG1B,IAAI,UAAU,CAAC,wBAAwB,IAAI,WAAW,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC5F,iBAAiB,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAClF,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,EAAE,EACF,IAAI,EACJ,WAAW,EACX,MAAM,EACN,WAAW,CACZ,CAAC;QACF,MAAM,QAAQ,GAAsB;YAClC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;YACjD,cAAc,EAAE,cAAc;YAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;YACrD,6BAA6B,EAAE,6BAA6B;YAC5D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACpC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,6BAA6B,CAC3C,UAA0B,EAC1B,WAA8C,EAC9C,YAAoB,EACpB,IAAc,EACd,UAAsB,EACtB,cAAsB,EACtB,WAAwB,EACxB,MAAoB,EACpB,WAA+B,EAC/B,iBAA2C;QAG3C,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,mBAAmB,GAA6B,MAAM,EAAE,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7G,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC;QACpD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1D,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,mBAAmB,CAAC,YAAY,GAAG,KAAK,CAAC;QACzC,IAAI,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,iBAAiB,CAAC,kBAAkB;gBACnD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;gBACrD,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;gBACrD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CACN,2DAA2D,WAAW,CAAC,kBAAkB,EAAE,EAC3F,SAAS,EACT,mBAAmB,CAAC,YAAY,CACjC,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,aAAa,EAAE,iBAAiB,CAAC,kBAAkB;gBACnD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;gBACrD,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;gBACrD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,UAA0B,EAC1B,WAAuC,EACvC,YAAoB,EACpB,IAAc,EACd,UAAsB,EACtB,cAAsB,EACtB,WAAwB,EACxB,MAAoB,EACpB,WAA+B,EAC/B,iBAA2C,EAC3C,WAAwB,EACxB,iBAAoC,EACpC,uBAA+B;QAG/B,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,QAAQ,CAAC,gDAAgD,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9E,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,8IAA8I,WAAW,CAAC,KAAK,EAAE;oBACzK,aAAa,EAAE,iBAAiB,CAAC,WAAW;oBAC5C,cAAc,EAAE,cAAc;oBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;oBACrD,6BAA6B,EAAE,EAAE;oBACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;iBACpC,CAAC;YACJ,CAAC;YAED,MAAM,wBAAwB,GAAG,CAAC,CAAC;YACnC,MAAM,kCAAkC,GAAG,8BAA8B,CAAC;YAC1E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YAG1C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACvB,OAAO,EAAE;oBACG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACrD,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,iBAAiB,CAAC,EAAE;aAC3C,CAAC,CAAC;YAGH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,mEAAmE,CAAC;oBACzF,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC3F,WAAW,GAAG,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;oBAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBAChB,KAAK,KAAK;4BACR,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;4BAClB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;4BACnB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,CAAC;4BAC5C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gCAC3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;4BACvE,MAAM;wBACR,KAAK,cAAc;4BACjB,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC;4BAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;4BAC3D,IAAI,KAAK,EAAE,CAAC;gCACV,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gCACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gCACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;gCAC7B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,CAAC;gCAC5C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oCAC3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;4BACzE,CAAC;;gCAAM,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,aAAa,CAAC,CAAC;4BACxD,MAAM;wBACR;4BACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;4BACzD,MAAM;oBACV,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACZ,eAAe,CAAC,IAAI,CAAC;wBACnB,WAAW,EAAE,EAAE;wBACf,YAAY,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;qBACnG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,+BAA+B,GACnC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvG,IAAI,+BAA+B,GAAG,wBAAwB,EAAE,CAAC;oBAE/D,SAAS,CACP,uFAAuF,wBAAwB,oCAAoC,CACpJ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EACJ,4HAA4H;wBAC9H,aAAa,EAAE,iBAAiB,CAAC,WAAW;wBAC5C,cAAc,EAAE,cAAc;wBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;wBACrD,6BAA6B,EAAE,EAAE;wBACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;qBACpC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,oHAAoH,CAAC,CAAC;oBAChI,UAAU,CAAC,YAAY,GAAG,wBAAwB,CAAC;oBACnD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvB,OAAO,EAAE,GAAG,kCAAkC,KAAK,+BAA+B,OAAO,wBAAwB;wBACrG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;qBAClC;wBACT,IAAI,EAAE,MAAM;wBACZ,oBAAoB,EAAE,iBAAiB,CAAC,EAAE;qBAC3C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEzC,UAAU,CAAC,WAAW,GAAgB,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACxE,UAAU,CAAC,YAAY,GAAG,yBAAyB,CAAC;YACtD,CAAC;YACD,uBAAuB,EAAE,CAAC;YAE1B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,EAAE,EACF,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAYS,KAAK,CAAC,+BAA+B,CAC7C,WAA4C,EAC5C,WAAwB,EACxB,iBAAoC,EACpC,EAAY,EACZ,IAAc,EACd,WAA+B,EAC/B,MAAoB,EACpB,WAAwB;QAExB,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAG5C,MAAM,mBAAmB,GAA6B,MAAM,EAAE,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7G,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC;QACpD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,mBAAmB,CAAC,YAAY,GAAG,KAAK,CAAC;QACzC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,qBAAqB,GAAY,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,QAAQ,CAAC,2DAA2D,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC9H,CAAC;QAGD,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAe,CAAC,mBAAmB,IAAI,MAAM,IAAI,MAAM,KAAK,iBAAe,CAAC,mBAAmB,EAAE,CAAC;YACzH,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAC1B,MAAM,qBAAqB,GAAY,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YAChE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,QAAQ,CAAC,oDAAoD,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;QAGD,MAAM,gBAAgB,GAA2B,MAAM,EAAE,CAAC,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACtG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC7B,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAClC,gBAAgB,CAAC,KAAK,GAAG,kBAAkB,GAAG,MAAM,CAAC;QACrD,gBAAgB,CAAC,OAAO,GAAG,oHAAoH,CAAC;QAChJ,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC;QAC/B,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,WAAW,CAAC,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,0BAA0B,GAAY,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,QAAQ,CAAC,yDAAyD,OAAO,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACzH,CAAC;QAID,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;gBACrB,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC5B,OAAO,CAAC,qBAAqB,GAAG,QAAQ,CAAC,WAAW,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC;QAKD,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGnC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,WAAW,CAAC,EAAE;gBAC9B,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,gBAAgB,CAAC,EAAE;iBAC9B;aACF,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,OAAO;YACL,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;SACtD,CAAC;IACJ,CAAC;IAES,wBAAwB,CAAC,IAAY;QAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/H,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;aACG,CAAC;YAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC5G,OAAO,YAAY,CAAA;QACrB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAc;QACxD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/E,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;;YAC/C,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAOK,AAAN,KAAK,CAAC,gCAAgC,CACqB,cAAuB;QAEhF,IAAI,CAAC;YACH,SAAS,CAAC,2DAA2D,CAAC,CAAC;YAGvE,IAAI,wBAAwB,KAAK,GAAG,EAAE,CAAC;gBACrC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+CAA+C;iBACzD,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+CAA+C;iBACzD,CAAC;YACJ,CAAC;YAGD,MAAM,KAAK,GAAG,cAAc,IAAI,eAAe,CAAC;YAGhD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;YAEzF,OAAO;gBACL,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;oBACb,CAAC,CAAC,sEAAsE,KAAK,EAAE;oBAC/E,CAAC,CAAC,oDAAoD,KAAK,kCAAkC;aAChG,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,mCAAmC,CAAC,EAAE;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAMK,AAAN,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE3D,OAAO;gBACL,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;gBACzE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1F,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;oBACtC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;iBACzC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aACT,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO;gBACL,kBAAkB,EAAE,KAAK;gBACzB,WAAW,EAAE,IAAI;gBACjB,oBAAoB,EAAE,EAAE;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,kCAAkC,CACD,cAAsB;QAE3D,IAAI,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,IAAI,eAAe,CAAC;YAEhD,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,cAAc,EAAE,KAAK;gBACrB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;aAC5C,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,gCAAgC,CACC,cAAsB;QAE3D,IAAI,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,IAAI,eAAe,CAAC;YAEhD,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;YAGvF,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBAClC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,eAAe;oBACpD,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE;oBACtD,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,iBAAiB;iBACzD,CAAC,CAAC,CAAC,IAAI;aACT,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,kCAAkC,CAAC,EAAE;gBAC9C,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;;AAthEK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAE5B,WAAA,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACjC,WAAA,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACnC,WAAA,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAA,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAChD,WAAA,GAAG,EAAE,CAAA;IACL,WAAA,MAAM,EAAE,CAAA;;6DAFuD,qBAAqB,UAEnE,YAAY;;+DAgE/B;AAGK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAE/B,WAAA,GAAG,EAAE,CAAA;IACL,WAAA,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;kEA0H9D;AAqfK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAE5B,WAAA,GAAG,EAAE,CAAA;IACL,WAAA,MAAM,EAAE,CAAA;IACR,WAAA,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAClC,WAAA,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;;6CAFd,YAAY;;8DAW/B;AA4BK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAE5B,WAAA,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACjC,WAAA,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACnC,WAAA,GAAG,EAAE,CAAA;IACL,WAAA,MAAM,EAAE,CAAA;IACR,WAAA,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,WAAA,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;6DAF3C,YAAY;;kEA2C/B;AAynCK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC;IAE3C,WAAA,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;uEAyCzD;AAMK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;;;;6DAwBpC;AAOK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEtD,WAAA,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;;;;yEAuBrC;AAOK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC;IAEzC,WAAA,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;;;;uEA6BrC;AA9kEU,eAAe;IAD3B,QAAQ,CAAC,iBAAiB,CAAC;GACf,eAAe,CA+kE3B;;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "2.37.0",
3
+ "version": "2.38.0",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./src/index.ts",
@@ -22,27 +22,27 @@
22
22
  "dependencies": {
23
23
  "@apollo/server": "^4.9.1",
24
24
  "@graphql-tools/utils": "^10.0.1",
25
- "@memberjunction/actions": "2.37.0",
26
- "@memberjunction/ai": "2.37.0",
27
- "@memberjunction/ai-mistral": "2.37.0",
28
- "@memberjunction/ai-openai": "2.37.0",
29
- "@memberjunction/ai-vectors-pinecone": "2.37.0",
30
- "@memberjunction/aiengine": "2.37.0",
31
- "@memberjunction/core": "2.37.0",
32
- "@memberjunction/core-actions": "2.37.0",
33
- "@memberjunction/core-entities": "2.37.0",
34
- "@memberjunction/data-context": "2.37.0",
35
- "@memberjunction/data-context-server": "2.37.0",
36
- "@memberjunction/doc-utils": "2.37.0",
37
- "@memberjunction/entity-communications-server": "2.37.0",
38
- "@memberjunction/external-change-detection": "2.37.0",
39
- "@memberjunction/global": "2.37.0",
40
- "@memberjunction/graphql-dataprovider": "2.37.0",
41
- "@memberjunction/queue": "2.37.0",
42
- "@memberjunction/skip-types": "2.37.0",
43
- "@memberjunction/sqlserver-dataprovider": "2.37.0",
44
- "@memberjunction/storage": "2.37.0",
45
- "@memberjunction/templates": "2.37.0",
25
+ "@memberjunction/actions": "2.38.0",
26
+ "@memberjunction/ai": "2.38.0",
27
+ "@memberjunction/ai-mistral": "2.38.0",
28
+ "@memberjunction/ai-openai": "2.38.0",
29
+ "@memberjunction/ai-vectors-pinecone": "2.38.0",
30
+ "@memberjunction/aiengine": "2.38.0",
31
+ "@memberjunction/core": "2.38.0",
32
+ "@memberjunction/core-actions": "2.38.0",
33
+ "@memberjunction/core-entities": "2.38.0",
34
+ "@memberjunction/data-context": "2.38.0",
35
+ "@memberjunction/data-context-server": "2.38.0",
36
+ "@memberjunction/doc-utils": "2.38.0",
37
+ "@memberjunction/entity-communications-server": "2.38.0",
38
+ "@memberjunction/external-change-detection": "2.38.0",
39
+ "@memberjunction/global": "2.38.0",
40
+ "@memberjunction/graphql-dataprovider": "2.38.0",
41
+ "@memberjunction/queue": "2.38.0",
42
+ "@memberjunction/skip-types": "2.38.0",
43
+ "@memberjunction/sqlserver-dataprovider": "2.38.0",
44
+ "@memberjunction/storage": "2.38.0",
45
+ "@memberjunction/templates": "2.38.0",
46
46
  "@types/compression": "^1.7.5",
47
47
  "@types/cors": "^2.8.13",
48
48
  "@types/jsonwebtoken": "9.0.6",
@@ -1,5 +1,5 @@
1
- import { Arg, Ctx, Field, Int, Mutation, ObjectType, PubSub, PubSubEngine, Query, Resolver } from 'type-graphql';
2
- import { LogError, LogStatus, Metadata, KeyValuePair, RunView, UserInfo, CompositeKey, EntityFieldInfo, EntityInfo, EntityRelationshipInfo, AllMetadataArrays } from '@memberjunction/core';
1
+ import { Arg, Ctx, Field, Mutation, ObjectType, PubSub, PubSubEngine, Query, Resolver } from 'type-graphql';
2
+ import { LogError, LogStatus, Metadata, RunView, UserInfo, CompositeKey, EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
3
3
  import { AppContext, UserPayload, MJ_SERVER_EVENT_CODE } from '../types.js';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { take } from 'rxjs/operators';
@@ -32,6 +32,9 @@ import {
32
32
  SkipConversation,
33
33
  SkipAPIArtifact,
34
34
  SkipAPIAgentRequest,
35
+ SkipAPIArtifactRequest,
36
+ SkipAPIArtifactType,
37
+ SkipAPIArtifactVersion,
35
38
  } from '@memberjunction/skip-types';
36
39
 
37
40
  import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
@@ -40,6 +43,9 @@ import {
40
43
  AIAgentLearningCycleEntity,
41
44
  AIAgentNoteEntity,
42
45
  AIAgentRequestEntity,
46
+ ArtifactTypeEntity,
47
+ ConversationArtifactEntity,
48
+ ConversationArtifactVersionEntity,
43
49
  ConversationDetailEntity,
44
50
  ConversationEntity,
45
51
  DataContextEntity,
@@ -56,6 +62,8 @@ import { GetAIAPIKey } from '@memberjunction/ai';
56
62
  import { CompositeKeyInputType } from '../generic/KeyInputOutputTypes.js';
57
63
  import { AIAgentEntityExtended, AIEngine } from '@memberjunction/aiengine';
58
64
  import { deleteAccessToken, GetDataAccessToken, registerAccessToken, tokenExists } from './GetDataResolver.js';
65
+ import e from 'express';
66
+ import { Skip } from '@graphql-tools/utils';
59
67
 
60
68
  enum SkipResponsePhase {
61
69
  ClarifyingQuestion = 'clarifying_question',
@@ -155,6 +163,23 @@ export class StopLearningCycleResultType {
155
163
  CycleDetails: CycleDetailsType;
156
164
  }
157
165
 
166
+ /**
167
+ * Internally used type
168
+ */
169
+ type BaseSkipRequest = {
170
+ entities: SkipEntityInfo[],
171
+ queries: SkipQueryInfo[],
172
+ notes: SkipAPIAgentNote[],
173
+ noteTypes: SkipAPIAgentNoteType[],
174
+ requests: SkipAPIAgentRequest[],
175
+ accessToken: GetDataAccessToken,
176
+ organizationID: string,
177
+ organizationInfo: any,
178
+ apiKeys: SkipAPIRequestAPIKey[],
179
+ callingServerURL: string,
180
+ callingServerAPIKey: string,
181
+ callingServerAccessToken: string
182
+ }
158
183
  @Resolver(AskSkipResultType)
159
184
  export class AskSkipResolver {
160
185
  private static _defaultNewChatName = 'New Chat';
@@ -653,7 +678,7 @@ cycle.`);
653
678
  forceEntitiesRefresh: boolean = false,
654
679
  includeCallBackKeyAndAccessToken: boolean = false,
655
680
  additionalTokenInfo: any = {}
656
- ) {
681
+ ): Promise<BaseSkipRequest> {
657
682
 
658
683
  const entities = includeEntities ? await this.BuildSkipEntities(dataSource, forceEntitiesRefresh) : [];
659
684
  const queries = includeQueries ? this.BuildSkipQueries() : [];
@@ -685,7 +710,7 @@ cycle.`);
685
710
  noteTypes,
686
711
  requests,
687
712
  accessToken,
688
- organizationId: ___skipAPIOrgId,
713
+ organizationID: ___skipAPIOrgId,
689
714
  organizationInfo: configInfo?.askSkip?.organizationInfo,
690
715
  apiKeys: this.buildSkipAPIKeys(),
691
716
  callingServerURL: accessToken ? `${baseUrl}:${graphqlPort}` : undefined,
@@ -726,7 +751,7 @@ cycle.`);
726
751
 
727
752
  // Create the learning-specific request object
728
753
  const input: SkipAPILearningCycleRequest = {
729
- organizationId: baseRequest.organizationId,
754
+ organizationId: baseRequest.organizationID,
730
755
  organizationInfo: baseRequest.organizationInfo,
731
756
  learningCycleId,
732
757
  lastLearningCycleDate,
@@ -886,23 +911,101 @@ cycle.`);
886
911
  additionalTokenInfo
887
912
  );
888
913
 
914
+ const artifacts: SkipAPIArtifact[] = await this.buildSkipAPIArtifacts(contextUser, dataSource, conversationId);
915
+
889
916
  // Create the chat-specific request object
890
917
  const input: SkipAPIRequest = {
918
+ ...baseRequest,
891
919
  messages,
892
920
  conversationID: conversationId.toString(),
893
921
  dataContext: <DataContext>CopyScalarsAndArrays(dataContext), // we are casting this to DataContext as we're pushing this to the Skip API, and we don't want to send the real DataContext object, just a copy of the scalar and array properties
894
- organizationID: baseRequest.organizationId,
895
922
  requestPhase,
896
- entities: baseRequest.entities,
897
- queries: baseRequest.queries,
898
- notes: baseRequest.notes,
899
- noteTypes: baseRequest.noteTypes,
900
- apiKeys: baseRequest.apiKeys,
923
+ artifacts: artifacts
901
924
  };
902
925
 
903
926
  return input;
904
927
  }
905
928
 
929
+ /**
930
+ * Builds up an array of SkipAPIArtifact types to send across information about the artifacts associated with this particular
931
+ * conversation.
932
+ * @param contextUser
933
+ * @param dataSource
934
+ * @param conversationId
935
+ * @returns
936
+ */
937
+ protected async buildSkipAPIArtifacts(contextUser: UserInfo, dataSource: DataSource, conversationId: string): Promise<SkipAPIArtifact[]> {
938
+ const md = new Metadata();
939
+ const ei = md.EntityByName('MJ: Conversation Artifacts');
940
+ const rv = new RunView();
941
+ const results = await rv.RunViews([
942
+ {
943
+ EntityName: "MJ: Conversation Artifacts",
944
+ ExtraFilter: `ConversationID='${conversationId}'`, // get artifacts linked to this convo
945
+ OrderBy: "__mj_CreatedAt"
946
+ },
947
+ {
948
+ EntityName: "MJ: Artifact Types", // get all artifact types
949
+ OrderBy: "Name"
950
+ },
951
+ {
952
+ EntityName: "MJ: Conversation Artifact Versions",
953
+ ExtraFilter: `ConversationArtifactID IN (SELECT ID FROM [${ei.SchemaName}].[${ei.BaseView}] WHERE ConversationID='${conversationId}')`,
954
+ OrderBy: 'ConversationArtifactID, __mj_CreatedAt'
955
+ }
956
+ ], contextUser);
957
+ if (results && results.length > 0 && results.every((r) => r.Success)) {
958
+ const types: SkipAPIArtifactType[] = results[1].Results.map((a: ArtifactTypeEntity) => {
959
+ const retVal: SkipAPIArtifactType = {
960
+ id: a.ID,
961
+ name: a.Name,
962
+ description: a.Description,
963
+ contentType: a.ContentType,
964
+ enabled: a.IsEnabled,
965
+ createdAt: a.__mj_CreatedAt,
966
+ updatedAt: a.__mj_UpdatedAt
967
+ }
968
+ return retVal;
969
+ });
970
+ const allConvoArtifacts = results[0].Results.map((a: ConversationArtifactEntity) => {
971
+ const rawVersions: ConversationArtifactVersionEntity[] = results[2].Results as ConversationArtifactVersionEntity[];
972
+ const thisArtifactsVersions = rawVersions.filter(rv => rv.ConversationArtifactID === a.ID);
973
+ const versionsForThisArtifact: SkipAPIArtifactVersion[] = thisArtifactsVersions.map((v: ConversationArtifactVersionEntity) => {
974
+ const versionRetVal: SkipAPIArtifactVersion = {
975
+ id: v.ID,
976
+ artifactId: v.ConversationArtifactID,
977
+ version: v.Version,
978
+ configuration: v.Configuration,
979
+ content: v.Content,
980
+ comments: v.Comments,
981
+ createdAt: v.__mj_CreatedAt,
982
+ updatedAt: v.__mj_UpdatedAt
983
+ };
984
+ return versionRetVal;
985
+ });
986
+ const artifactRetVal: SkipAPIArtifact = {
987
+ id: a.ID,
988
+ name: a.Name,
989
+ description: a.Description,
990
+ comments: a.Comments,
991
+ sharingScope: a.SharingScope as 'None' |'SpecificUsers' |'Everyone' |'Public',
992
+ versions: versionsForThisArtifact,
993
+ conversationId: a.ConversationID,
994
+ artifactType: types.find((t => t.id === a.ArtifactTypeID)),
995
+ createdAt: a.__mj_CreatedAt,
996
+ updatedAt: a.__mj_UpdatedAt
997
+ };
998
+ return artifactRetVal;
999
+ });
1000
+
1001
+ return allConvoArtifacts;
1002
+ }
1003
+ else {
1004
+ return [];
1005
+ }
1006
+ }
1007
+
1008
+
906
1009
  /**
907
1010
  * Executes a script in the context of a data context and returns the results
908
1011
  * @param pubSub
@@ -1480,7 +1583,6 @@ cycle.`);
1480
1583
  convoDetailEntity.Message = UserQuestion;
1481
1584
  convoDetailEntity.Role = 'User';
1482
1585
  convoDetailEntity.HiddenToUser = false;
1483
- convoDetailEntity.Set('Sequence', 1); // using weakly typed here because we're going to get rid of this field soon
1484
1586
  let convoDetailSaveResult: boolean = await convoDetailEntity.Save();
1485
1587
  if (!convoDetailSaveResult) {
1486
1588
  LogError(`Error saving conversation detail entity for user message: ${UserQuestion}`, undefined, convoDetailEntity.LatestResult);
@@ -1810,7 +1912,8 @@ cycle.`);
1810
1912
  user,
1811
1913
  convoEntity,
1812
1914
  pubSub,
1813
- userPayload
1915
+ userPayload,
1916
+ dataSource
1814
1917
  );
1815
1918
  const response: AskSkipResultType = {
1816
1919
  Success: true,
@@ -2040,11 +2143,66 @@ cycle.`);
2040
2143
  user: UserInfo,
2041
2144
  convoEntity: ConversationEntity,
2042
2145
  pubSub: PubSubEngine,
2043
- userPayload: UserPayload
2146
+ userPayload: UserPayload,
2147
+ dataSource: DataSource
2044
2148
  ): Promise<{ AIMessageConversationDetailID: string }> {
2045
2149
  const sTitle = apiResponse.reportTitle;
2046
2150
  const sResult = JSON.stringify(apiResponse);
2047
2151
 
2152
+ // first up, let's see if Skip asked us to create an artifact or add a new version to an existing artifact, or NOT
2153
+ // use artifacts at all...
2154
+ let artifactId: string = null;
2155
+ let artifactVersionId: string = null;
2156
+
2157
+ if (apiResponse.artifactRequest?.action === 'new_artifact' || apiResponse.artifactRequest?.action === 'new_artifact_version') {
2158
+ // Skip has requested that we create a new artifact or add a new version to an existing artifact
2159
+ artifactId = apiResponse.artifactRequest.artifactId; // will only be populated if action == new_artifact_version
2160
+ let newVersion: number = 0;
2161
+ if (apiResponse.artifactRequest?.action === 'new_artifact') {
2162
+ const artifactEntity = await md.GetEntityObject<ConversationArtifactEntity>('MJ: Convesration Artifacts', user);
2163
+ // create the new artifact here
2164
+ artifactEntity.NewRecord();
2165
+ artifactEntity.ConversationID = convoEntity.ID;
2166
+ artifactEntity.Name = apiResponse.artifactRequest.name;
2167
+ artifactEntity.Description = apiResponse.artifactRequest.description;
2168
+ if (await artifactEntity.Save()) {
2169
+ // saved, grab the new ID
2170
+ artifactId = artifactEntity.ID;
2171
+ }
2172
+ else {
2173
+ LogError(`Error saving artifact entity for conversation: ${convoEntity.ID}`, undefined, artifactEntity.LatestResult);
2174
+ }
2175
+ newVersion = 1;
2176
+ }
2177
+ else {
2178
+ // we are updating an existing artifact with a new vesrion so we need to get the old max version and increment it
2179
+ const ei = md.EntityByName("MJ: Convesration Artifacts");
2180
+ const sSQL = `SELECT ISNULL(MAX(Version),0) AS MaxVersion FROM [${ei.SchemaName}].[${ei.BaseView}] WHERE ID = '${artifactId}'`;
2181
+ const result = await dataSource.query(sSQL);
2182
+ if (result && result.length > 0) {
2183
+ newVersion = result[0].MaxVersion + 1;
2184
+ } else {
2185
+ LogError(`Error getting max version for artifact ID: ${artifactId}`, undefined, result);
2186
+ }
2187
+ }
2188
+ if (artifactId && newVersion > 0) {
2189
+ // only do this if we were provided an artifact ID or we saved a new one above successfully
2190
+ const artifactVersionEntity = await md.GetEntityObject<ConversationArtifactVersionEntity>('MJ: Conversation Artifact Versions', user);
2191
+ // create the new artifact version here
2192
+ artifactVersionEntity.NewRecord();
2193
+ artifactVersionEntity.ConversationArtifactID = artifactId;
2194
+ artifactVersionEntity.Version = newVersion;
2195
+ artifactVersionEntity.Configuration = sResult; // store the full response here
2196
+ if (await artifactVersionEntity.Save()) {
2197
+ // success saving the new version, set the artifactVersionId
2198
+ artifactVersionId = artifactVersionEntity.ID;
2199
+ }
2200
+ else {
2201
+ LogError(`Error saving Artifact Version record`)
2202
+ }
2203
+ }
2204
+ }
2205
+
2048
2206
  // Create a conversation detail record for the Skip response
2049
2207
  const convoDetailEntityAI = <ConversationDetailEntity>await md.GetEntityObject('Conversation Details', user);
2050
2208
  convoDetailEntityAI.NewRecord();
@@ -2052,7 +2210,13 @@ cycle.`);
2052
2210
  convoDetailEntityAI.Message = sResult;
2053
2211
  convoDetailEntityAI.Role = 'AI';
2054
2212
  convoDetailEntityAI.HiddenToUser = false;
2055
- convoDetailEntityAI.Set('Sequence', 2); // using weakly typed here because we're going to get rid of this field soon
2213
+ if (artifactId && artifactId.length > 0) {
2214
+ // bind the new convo detail record to the artifact + version for this response
2215
+ convoDetailEntityAI.ArtifactID = artifactId;
2216
+ if (artifactVersionId && artifactVersionId.length > 0) {
2217
+ convoDetailEntityAI.ArtifactVersionID = artifactVersionId;
2218
+ }
2219
+ }
2056
2220
  const convoDetailSaveResult: boolean = await convoDetailEntityAI.Save();
2057
2221
  if (!convoDetailSaveResult) {
2058
2222
  LogError(`Error saving conversation detail entity for AI message: ${sResult}`, undefined, convoDetailEntityAI.LatestResult);
@@ -2098,7 +2262,7 @@ cycle.`);
2098
2262
  // Save the data context items...
2099
2263
  // FOR NOW, we don't want to store the data in the database, we will just load it from the data context when we need it
2100
2264
  // we need a better strategy to persist because the cost of storage and retrieval/parsing is higher than just running the query again in many/most cases
2101
- dataContext.SaveItems(user, false);
2265
+ await dataContext.SaveItems(user, false);
2102
2266
 
2103
2267
  // send a UI update trhough pub-sub
2104
2268
  pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {