@achieveai/azuredevops-mcp 1.3.17 → 1.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/Interfaces/Common.js +10 -1
  2. package/dist/Interfaces/Common.js.map +1 -1
  3. package/dist/Services/AzureDevOpsService.js +234 -32
  4. package/dist/Services/AzureDevOpsService.js.map +1 -1
  5. package/dist/Services/BoardsSprintsService.js +105 -13
  6. package/dist/Services/BoardsSprintsService.js.map +1 -1
  7. package/dist/Services/BuildService.js +151 -24
  8. package/dist/Services/BuildService.js.map +1 -1
  9. package/dist/Services/GitService.js +26 -3
  10. package/dist/Services/GitService.js.map +1 -1
  11. package/dist/Services/ProjectService.js +47 -6
  12. package/dist/Services/ProjectService.js.map +1 -1
  13. package/dist/Services/WorkItemService.js +183 -142
  14. package/dist/Services/WorkItemService.js.map +1 -1
  15. package/dist/Tools/BoardsSprintsTools.js +2 -8
  16. package/dist/Tools/BoardsSprintsTools.js.map +1 -1
  17. package/dist/Tools/BuildTools.js +5 -8
  18. package/dist/Tools/BuildTools.js.map +1 -1
  19. package/dist/Tools/WorkItemTools.js +111 -74
  20. package/dist/Tools/WorkItemTools.js.map +1 -1
  21. package/dist/index.js +22 -12
  22. package/dist/index.js.map +1 -1
  23. package/dist/utils/formatHelpers.js +15 -0
  24. package/dist/utils/formatHelpers.js.map +1 -1
  25. package/package.json +2 -2
  26. package/dist/Services/BuildService.project.test.js +0 -91
  27. package/dist/Services/BuildService.project.test.js.map +0 -1
  28. package/dist/Services/GitService.project.test.js +0 -407
  29. package/dist/Services/GitService.project.test.js.map +0 -1
  30. package/dist/package.json +0 -59
  31. package/dist/src/Interfaces/AIAssisted.js +0 -3
  32. package/dist/src/Interfaces/AIAssisted.js.map +0 -1
  33. package/dist/src/Interfaces/ArtifactManagement.js +0 -3
  34. package/dist/src/Interfaces/ArtifactManagement.js.map +0 -1
  35. package/dist/src/Interfaces/AzureDevOps.js +0 -3
  36. package/dist/src/Interfaces/AzureDevOps.js.map +0 -1
  37. package/dist/src/Interfaces/BoardsAndSprints.js +0 -3
  38. package/dist/src/Interfaces/BoardsAndSprints.js.map +0 -1
  39. package/dist/src/Interfaces/CodeAndRepositories.js +0 -3
  40. package/dist/src/Interfaces/CodeAndRepositories.js.map +0 -1
  41. package/dist/src/Interfaces/Common.js +0 -134
  42. package/dist/src/Interfaces/Common.js.map +0 -1
  43. package/dist/src/Interfaces/CostResourceManagement.js +0 -3
  44. package/dist/src/Interfaces/CostResourceManagement.js.map +0 -1
  45. package/dist/src/Interfaces/DevSecOps.js +0 -3
  46. package/dist/src/Interfaces/DevSecOps.js.map +0 -1
  47. package/dist/src/Interfaces/ExternalIntegrations.js +0 -3
  48. package/dist/src/Interfaces/ExternalIntegrations.js.map +0 -1
  49. package/dist/src/Interfaces/HybridCrossPlatform.js +0 -3
  50. package/dist/src/Interfaces/HybridCrossPlatform.js.map +0 -1
  51. package/dist/src/Interfaces/Pipelines.js +0 -3
  52. package/dist/src/Interfaces/Pipelines.js.map +0 -1
  53. package/dist/src/Interfaces/ProjectManagement.js +0 -3
  54. package/dist/src/Interfaces/ProjectManagement.js.map +0 -1
  55. package/dist/src/Interfaces/TestingCapabilities.js +0 -3
  56. package/dist/src/Interfaces/TestingCapabilities.js.map +0 -1
  57. package/dist/src/Interfaces/Wiki.js +0 -3
  58. package/dist/src/Interfaces/Wiki.js.map +0 -1
  59. package/dist/src/Interfaces/WorkItems.js +0 -3
  60. package/dist/src/Interfaces/WorkItems.js.map +0 -1
  61. package/dist/src/Services/AIAssistedDevelopmentService.js +0 -195
  62. package/dist/src/Services/AIAssistedDevelopmentService.js.map +0 -1
  63. package/dist/src/Services/ArtifactManagementService.js +0 -346
  64. package/dist/src/Services/ArtifactManagementService.js.map +0 -1
  65. package/dist/src/Services/AzureDevOpsService.js +0 -385
  66. package/dist/src/Services/AzureDevOpsService.js.map +0 -1
  67. package/dist/src/Services/BoardsSprintsService.js +0 -339
  68. package/dist/src/Services/BoardsSprintsService.js.map +0 -1
  69. package/dist/src/Services/BuildService.js +0 -405
  70. package/dist/src/Services/BuildService.js.map +0 -1
  71. package/dist/src/Services/DevSecOpsService.js +0 -307
  72. package/dist/src/Services/DevSecOpsService.js.map +0 -1
  73. package/dist/src/Services/EntraAuthHandler.js +0 -337
  74. package/dist/src/Services/EntraAuthHandler.js.map +0 -1
  75. package/dist/src/Services/GitService.js +0 -1595
  76. package/dist/src/Services/GitService.js.map +0 -1
  77. package/dist/src/Services/ProjectService.js +0 -257
  78. package/dist/src/Services/ProjectService.js.map +0 -1
  79. package/dist/src/Services/TestingCapabilitiesService.js +0 -149
  80. package/dist/src/Services/TestingCapabilitiesService.js.map +0 -1
  81. package/dist/src/Services/WikiService.js +0 -90
  82. package/dist/src/Services/WikiService.js.map +0 -1
  83. package/dist/src/Services/WorkItemService.js +0 -885
  84. package/dist/src/Services/WorkItemService.js.map +0 -1
  85. package/dist/src/Tools/AIAssistedDevelopmentTools.js +0 -137
  86. package/dist/src/Tools/AIAssistedDevelopmentTools.js.map +0 -1
  87. package/dist/src/Tools/ArtifactManagementTools.js +0 -140
  88. package/dist/src/Tools/ArtifactManagementTools.js.map +0 -1
  89. package/dist/src/Tools/BoardsSprintsTools.js +0 -338
  90. package/dist/src/Tools/BoardsSprintsTools.js.map +0 -1
  91. package/dist/src/Tools/BuildTools.js +0 -468
  92. package/dist/src/Tools/BuildTools.js.map +0 -1
  93. package/dist/src/Tools/DevSecOpsTools.js +0 -147
  94. package/dist/src/Tools/DevSecOpsTools.js.map +0 -1
  95. package/dist/src/Tools/GitTools.js +0 -1475
  96. package/dist/src/Tools/GitTools.js.map +0 -1
  97. package/dist/src/Tools/ProjectTools.js +0 -360
  98. package/dist/src/Tools/ProjectTools.js.map +0 -1
  99. package/dist/src/Tools/TestingCapabilitiesTools.js +0 -157
  100. package/dist/src/Tools/TestingCapabilitiesTools.js.map +0 -1
  101. package/dist/src/Tools/WikiTools.js +0 -137
  102. package/dist/src/Tools/WikiTools.js.map +0 -1
  103. package/dist/src/Tools/WorkItemTools.js +0 -862
  104. package/dist/src/Tools/WorkItemTools.js.map +0 -1
  105. package/dist/src/config.js +0 -176
  106. package/dist/src/config.js.map +0 -1
  107. package/dist/src/index.js +0 -1716
  108. package/dist/src/index.js.map +0 -1
  109. package/dist/src/utils/formatHelpers.js +0 -257
  110. package/dist/src/utils/formatHelpers.js.map +0 -1
  111. package/dist/src/utils/getClassMethods.js +0 -8
  112. package/dist/src/utils/getClassMethods.js.map +0 -1
  113. package/dist/src/utils/repositoryResolver.js +0 -40
  114. package/dist/src/utils/repositoryResolver.js.map +0 -1
@@ -1,147 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DevSecOpsToolMethods = exports.DevSecOpsTools = void 0;
7
- const DevSecOpsService_1 = require("../Services/DevSecOpsService");
8
- const Common_1 = require("../Interfaces/Common");
9
- const getClassMethods_1 = __importDefault(require("../utils/getClassMethods"));
10
- class DevSecOpsTools {
11
- constructor(config) {
12
- this.service = new DevSecOpsService_1.DevSecOpsService(config);
13
- }
14
- async runSecurityScan(params) {
15
- try {
16
- const result = await this.service.runSecurityScan(params);
17
- return (0, Common_1.formatMcpResponse)(result, `Security scan initiated for repository ${params.repository}`);
18
- }
19
- catch (error) {
20
- console.error('Error running security scan:', error);
21
- return (0, Common_1.formatErrorResponse)(error);
22
- }
23
- }
24
- async getSecurityScanResults(params) {
25
- try {
26
- const result = await this.service.getSecurityScanResults(params);
27
- return (0, Common_1.formatMcpResponse)(result, `Security scan results for scan ${params.scanId}`);
28
- }
29
- catch (error) {
30
- console.error('Error getting security scan results:', error);
31
- return (0, Common_1.formatErrorResponse)(error);
32
- }
33
- }
34
- async trackSecurityVulnerabilities(params) {
35
- try {
36
- const result = await this.service.trackSecurityVulnerabilities(params);
37
- return (0, Common_1.formatMcpResponse)(result, "Security vulnerabilities tracking information");
38
- }
39
- catch (error) {
40
- console.error('Error tracking security vulnerabilities:', error);
41
- return (0, Common_1.formatErrorResponse)(error);
42
- }
43
- }
44
- async generateSecurityCompliance(params) {
45
- try {
46
- const result = await this.service.generateSecurityCompliance(params);
47
- return (0, Common_1.formatMcpResponse)(result, `Security compliance report for ${params.standardType || 'owasp'} standard`);
48
- }
49
- catch (error) {
50
- console.error('Error generating security compliance report:', error);
51
- return (0, Common_1.formatErrorResponse)(error);
52
- }
53
- }
54
- async integrateSarifResults(params) {
55
- try {
56
- const result = await this.service.integrateSarifResults(params);
57
- return (0, Common_1.formatMcpResponse)(result, `SARIF results integrated from ${params.sarifFilePath}`);
58
- }
59
- catch (error) {
60
- console.error('Error integrating SARIF results:', error);
61
- return (0, Common_1.formatErrorResponse)(error);
62
- }
63
- }
64
- async runComplianceChecks(params) {
65
- try {
66
- const result = await this.service.runComplianceChecks(params);
67
- return (0, Common_1.formatMcpResponse)(result, `Compliance checks for ${params.complianceStandard} standard`);
68
- }
69
- catch (error) {
70
- console.error('Error running compliance checks:', error);
71
- return (0, Common_1.formatErrorResponse)(error);
72
- }
73
- }
74
- async getComplianceStatus(params) {
75
- try {
76
- const result = await this.service.getComplianceStatus(params);
77
- return (0, Common_1.formatMcpResponse)(result, `Compliance status for ${params.standardId || 'all standards'}`);
78
- }
79
- catch (error) {
80
- console.error('Error getting compliance status:', error);
81
- return (0, Common_1.formatErrorResponse)(error);
82
- }
83
- }
84
- async createComplianceReport(params) {
85
- try {
86
- const result = await this.service.createComplianceReport(params);
87
- return (0, Common_1.formatMcpResponse)(result, `Compliance report created for ${params.standardId}`);
88
- }
89
- catch (error) {
90
- console.error('Error creating compliance report:', error);
91
- return (0, Common_1.formatErrorResponse)(error);
92
- }
93
- }
94
- async manageSecurityPolicies(params) {
95
- try {
96
- const result = await this.service.manageSecurityPolicies(params);
97
- return (0, Common_1.formatMcpResponse)(result, `Security policy '${params.policyName}' ${params.action}d`);
98
- }
99
- catch (error) {
100
- console.error('Error managing security policies:', error);
101
- return (0, Common_1.formatErrorResponse)(error);
102
- }
103
- }
104
- async trackSecurityAwareness(params) {
105
- try {
106
- const result = await this.service.trackSecurityAwareness(params);
107
- return (0, Common_1.formatMcpResponse)(result, `Security awareness tracking for ${params.teamId || 'all teams'}`);
108
- }
109
- catch (error) {
110
- console.error('Error tracking security awareness:', error);
111
- return (0, Common_1.formatErrorResponse)(error);
112
- }
113
- }
114
- async rotateSecrets(params) {
115
- try {
116
- const result = await this.service.rotateSecrets(params);
117
- return (0, Common_1.formatMcpResponse)(result, `Secrets rotation for ${params.secretName || 'all applicable secrets'}`);
118
- }
119
- catch (error) {
120
- console.error('Error rotating secrets:', error);
121
- return (0, Common_1.formatErrorResponse)(error);
122
- }
123
- }
124
- async auditSecretUsage(params) {
125
- try {
126
- const result = await this.service.auditSecretUsage(params);
127
- return (0, Common_1.formatMcpResponse)(result, `Secret usage audit for ${params.secretName || 'all secrets'}`);
128
- }
129
- catch (error) {
130
- console.error('Error auditing secret usage:', error);
131
- return (0, Common_1.formatErrorResponse)(error);
132
- }
133
- }
134
- async vaultIntegration(params) {
135
- try {
136
- const result = await this.service.vaultIntegration(params);
137
- return (0, Common_1.formatMcpResponse)(result, `Vault integration: ${params.action} operation on ${params.vaultUrl}`);
138
- }
139
- catch (error) {
140
- console.error('Error with vault integration:', error);
141
- return (0, Common_1.formatErrorResponse)(error);
142
- }
143
- }
144
- }
145
- exports.DevSecOpsTools = DevSecOpsTools;
146
- exports.DevSecOpsToolMethods = (0, getClassMethods_1.default)(DevSecOpsTools.prototype);
147
- //# sourceMappingURL=DevSecOpsTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevSecOpsTools.js","sourceRoot":"","sources":["../../../src/Tools/DevSecOpsTools.ts"],"names":[],"mappings":";;;;;;AACA,mEAAgE;AAChE,iDAA2F;AAgB3F,+EAAuD;AAEvD,MAAa,cAAc;IAGzB,YAAY,MAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,0CAA0C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAA0C;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;YACvE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,+CAA+C,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,MAAwC;QACvE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,kCAAkC,MAAM,CAAC,YAAY,IAAI,OAAO,WAAW,CAAC,CAAC;QAChH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAmC;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,iCAAiC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC9D,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,yBAAyB,MAAM,CAAC,kBAAkB,WAAW,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC9D,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,yBAAyB,MAAM,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,iCAAiC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,oBAAoB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,mCAAmC,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,wBAAwB,MAAM,CAAC,UAAU,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA8B;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,0BAA0B,MAAM,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA8B;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,sBAAsB,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAxID,wCAwIC;AAEY,QAAA,oBAAoB,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,SAAS,CAAC,CAAC"}