@copilotkitnext/angular 1.52.0-next.7 → 1.52.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.
Files changed (73) hide show
  1. package/README.md +225 -432
  2. package/dist/README.md +225 -432
  3. package/dist/fesm2022/copilotkitnext-angular.mjs +312 -161
  4. package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
  5. package/dist/lib/agent.d.ts +20 -20
  6. package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +46 -46
  7. package/dist/lib/components/chat/copilot-chat-message-view.d.ts +126 -126
  8. package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +23 -23
  9. package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +6 -6
  10. package/dist/lib/components/chat/copilot-chat-user-message.d.ts +6 -6
  11. package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +18 -18
  12. package/dist/lib/components/chat/copilot-chat-view.d.ts +54 -54
  13. package/dist/lib/components/chat/copilot-chat.d.ts +18 -18
  14. package/dist/lib/config.d.ts +1 -0
  15. package/dist/lib/copilotkit.d.ts +6 -1
  16. package/dist/lib/license-watermark.d.ts +1 -0
  17. package/dist/lib/render-tool-calls.d.ts +23 -23
  18. package/dist/styles.css +3 -0
  19. package/package.json +18 -18
  20. package/dist/esm2022/copilotkitnext-angular.mjs +0 -5
  21. package/dist/esm2022/index.mjs +0 -2
  22. package/dist/esm2022/lib/agent-context.mjs +0 -25
  23. package/dist/esm2022/lib/agent.mjs +0 -73
  24. package/dist/esm2022/lib/chat-config.mjs +0 -35
  25. package/dist/esm2022/lib/chat-state.mjs +0 -18
  26. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-buttons.mjs +0 -344
  27. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-renderer.mjs +0 -260
  28. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-toolbar.mjs +0 -22
  29. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.mjs +0 -415
  30. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.types.mjs +0 -2
  31. package/dist/esm2022/lib/components/chat/copilot-chat-audio-recorder.mjs +0 -196
  32. package/dist/esm2022/lib/components/chat/copilot-chat-buttons.mjs +0 -299
  33. package/dist/esm2022/lib/components/chat/copilot-chat-input-defaults.mjs +0 -39
  34. package/dist/esm2022/lib/components/chat/copilot-chat-input.mjs +0 -634
  35. package/dist/esm2022/lib/components/chat/copilot-chat-input.types.mjs +0 -10
  36. package/dist/esm2022/lib/components/chat/copilot-chat-message-view-cursor.mjs +0 -27
  37. package/dist/esm2022/lib/components/chat/copilot-chat-message-view.mjs +0 -269
  38. package/dist/esm2022/lib/components/chat/copilot-chat-message-view.types.mjs +0 -2
  39. package/dist/esm2022/lib/components/chat/copilot-chat-textarea.mjs +0 -139
  40. package/dist/esm2022/lib/components/chat/copilot-chat-tool-calls-view.mjs +0 -36
  41. package/dist/esm2022/lib/components/chat/copilot-chat-toolbar.mjs +0 -20
  42. package/dist/esm2022/lib/components/chat/copilot-chat-tools-menu.mjs +0 -203
  43. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +0 -118
  44. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-buttons.mjs +0 -182
  45. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-renderer.mjs +0 -28
  46. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-toolbar.mjs +0 -25
  47. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +0 -328
  48. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +0 -2
  49. package/dist/esm2022/lib/components/chat/copilot-chat-view-disclaimer.mjs +0 -48
  50. package/dist/esm2022/lib/components/chat/copilot-chat-view-feather.mjs +0 -41
  51. package/dist/esm2022/lib/components/chat/copilot-chat-view-handlers.mjs +0 -19
  52. package/dist/esm2022/lib/components/chat/copilot-chat-view-input-container.mjs +0 -96
  53. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.mjs +0 -89
  54. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-view.mjs +0 -456
  55. package/dist/esm2022/lib/components/chat/copilot-chat-view.mjs +0 -404
  56. package/dist/esm2022/lib/components/chat/copilot-chat-view.types.mjs +0 -2
  57. package/dist/esm2022/lib/components/chat/copilot-chat.mjs +0 -165
  58. package/dist/esm2022/lib/config.mjs +0 -9
  59. package/dist/esm2022/lib/copilotkit.mjs +0 -125
  60. package/dist/esm2022/lib/directives/copilotkit-agent-context.mjs +0 -130
  61. package/dist/esm2022/lib/directives/stick-to-bottom.mjs +0 -170
  62. package/dist/esm2022/lib/directives/tooltip.mjs +0 -217
  63. package/dist/esm2022/lib/human-in-the-loop.mjs +0 -19
  64. package/dist/esm2022/lib/render-tool-calls.mjs +0 -167
  65. package/dist/esm2022/lib/resize-observer.mjs +0 -152
  66. package/dist/esm2022/lib/scroll-position.mjs +0 -123
  67. package/dist/esm2022/lib/slots/copilot-slot.mjs +0 -156
  68. package/dist/esm2022/lib/slots/index.mjs +0 -4
  69. package/dist/esm2022/lib/slots/slot.types.mjs +0 -6
  70. package/dist/esm2022/lib/slots/slot.utils.mjs +0 -235
  71. package/dist/esm2022/lib/tools.mjs +0 -31
  72. package/dist/esm2022/lib/utils.mjs +0 -10
  73. package/dist/esm2022/public-api.mjs +0 -48
@@ -1,328 +0,0 @@
1
- import { Component, input, output, TemplateRef, ContentChild, computed, ChangeDetectionStrategy, ViewEncapsulation, } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { CopilotSlot } from "../../slots/copilot-slot";
4
- import { CopilotChatUserMessageRenderer } from "./copilot-chat-user-message-renderer";
5
- import { CopilotChatUserMessageCopyButton, CopilotChatUserMessageEditButton, } from "./copilot-chat-user-message-buttons";
6
- import { CopilotChatUserMessageToolbar } from "./copilot-chat-user-message-toolbar";
7
- import { CopilotChatUserMessageBranchNavigation } from "./copilot-chat-user-message-branch-navigation";
8
- import { cn } from "../../utils";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- function flattenUserMessageContent(content) {
12
- if (!content) {
13
- return "";
14
- }
15
- if (typeof content === "string") {
16
- return content;
17
- }
18
- return content
19
- .map((part) => {
20
- if (part &&
21
- typeof part === "object" &&
22
- "type" in part &&
23
- part.type === "text" &&
24
- typeof part.text === "string") {
25
- return part.text;
26
- }
27
- return "";
28
- })
29
- .filter((text) => text.length > 0)
30
- .join("\n");
31
- }
32
- export class CopilotChatUserMessage {
33
- // Capture templates from content projection
34
- messageRendererTemplate;
35
- toolbarTemplate;
36
- copyButtonTemplate;
37
- editButtonTemplate;
38
- branchNavigationTemplate;
39
- // Props for tweaking default components
40
- messageRendererClass = input();
41
- toolbarClass = input();
42
- copyButtonClass = input();
43
- editButtonClass = input();
44
- branchNavigationClass = input();
45
- // Component inputs for overrides
46
- messageRendererComponent = input();
47
- toolbarComponent = input();
48
- copyButtonComponent = input();
49
- editButtonComponent = input();
50
- branchNavigationComponent = input();
51
- // Regular inputs
52
- message = input();
53
- branchIndex = input();
54
- numberOfBranches = input();
55
- additionalToolbarItems = input();
56
- inputClass = input();
57
- // Output events
58
- editMessage = output();
59
- switchToBranch = output();
60
- // Derived values
61
- branchIndexValue = computed(() => this.branchIndex() ?? 0);
62
- numberOfBranchesValue = computed(() => this.numberOfBranches() ?? 1);
63
- // Default components
64
- CopilotChatUserMessageRenderer = CopilotChatUserMessageRenderer;
65
- CopilotChatUserMessageToolbar = CopilotChatUserMessageToolbar;
66
- CopilotChatUserMessageCopyButton = CopilotChatUserMessageCopyButton;
67
- CopilotChatUserMessageEditButton = CopilotChatUserMessageEditButton;
68
- CopilotChatUserMessageBranchNavigation = CopilotChatUserMessageBranchNavigation;
69
- // Computed values
70
- showBranchNavigation = computed(() => (this.numberOfBranches() ?? 1) > 1);
71
- computedClass = computed(() => cn("flex flex-col items-end group pt-10", this.inputClass()));
72
- // Context for slots (reactive via signals)
73
- flattenedContent = computed(() => flattenUserMessageContent(this.message()?.content));
74
- messageRendererContext = computed(() => ({
75
- content: this.flattenedContent(),
76
- }));
77
- // Output maps for slots
78
- copyButtonOutputs = { clicked: () => this.handleCopy() };
79
- editButtonOutputs = { clicked: () => this.handleEdit() };
80
- branchNavigationContext = computed(() => ({
81
- currentBranch: this.branchIndexValue(),
82
- numberOfBranches: this.numberOfBranchesValue(),
83
- onSwitchToBranch: (props) => this.handleSwitchToBranch(props),
84
- message: this.message(),
85
- }));
86
- toolbarContext = computed(() => ({
87
- children: null, // Will be populated by the toolbar content
88
- }));
89
- handleCopy() {
90
- // Copy is handled by the button component itself
91
- // This is just for any additional logic if needed
92
- }
93
- handleEdit() {
94
- this.editMessage.emit({ message: this.message() });
95
- }
96
- handleSwitchToBranch(props) {
97
- this.switchToBranch.emit(props);
98
- }
99
- constructor() { }
100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatUserMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
101
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CopilotChatUserMessage, isStandalone: true, selector: "copilot-chat-user-message", inputs: { messageRendererClass: { classPropertyName: "messageRendererClass", publicName: "messageRendererClass", isSignal: true, isRequired: false, transformFunction: null }, toolbarClass: { classPropertyName: "toolbarClass", publicName: "toolbarClass", isSignal: true, isRequired: false, transformFunction: null }, copyButtonClass: { classPropertyName: "copyButtonClass", publicName: "copyButtonClass", isSignal: true, isRequired: false, transformFunction: null }, editButtonClass: { classPropertyName: "editButtonClass", publicName: "editButtonClass", isSignal: true, isRequired: false, transformFunction: null }, branchNavigationClass: { classPropertyName: "branchNavigationClass", publicName: "branchNavigationClass", isSignal: true, isRequired: false, transformFunction: null }, messageRendererComponent: { classPropertyName: "messageRendererComponent", publicName: "messageRendererComponent", isSignal: true, isRequired: false, transformFunction: null }, toolbarComponent: { classPropertyName: "toolbarComponent", publicName: "toolbarComponent", isSignal: true, isRequired: false, transformFunction: null }, copyButtonComponent: { classPropertyName: "copyButtonComponent", publicName: "copyButtonComponent", isSignal: true, isRequired: false, transformFunction: null }, editButtonComponent: { classPropertyName: "editButtonComponent", publicName: "editButtonComponent", isSignal: true, isRequired: false, transformFunction: null }, branchNavigationComponent: { classPropertyName: "branchNavigationComponent", publicName: "branchNavigationComponent", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, branchIndex: { classPropertyName: "branchIndex", publicName: "branchIndex", isSignal: true, isRequired: false, transformFunction: null }, numberOfBranches: { classPropertyName: "numberOfBranches", publicName: "numberOfBranches", isSignal: true, isRequired: false, transformFunction: null }, additionalToolbarItems: { classPropertyName: "additionalToolbarItems", publicName: "additionalToolbarItems", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editMessage: "editMessage", switchToBranch: "switchToBranch" }, host: { attributes: { "data-copilotkit": "" } }, queries: [{ propertyName: "messageRendererTemplate", first: true, predicate: ["messageRenderer"], descendants: true, read: TemplateRef }, { propertyName: "toolbarTemplate", first: true, predicate: ["toolbar"], descendants: true, read: TemplateRef }, { propertyName: "copyButtonTemplate", first: true, predicate: ["copyButton"], descendants: true, read: TemplateRef }, { propertyName: "editButtonTemplate", first: true, predicate: ["editButton"], descendants: true, read: TemplateRef }, { propertyName: "branchNavigationTemplate", first: true, predicate: ["branchNavigation"], descendants: true, read: TemplateRef }], ngImport: i0, template: `
102
- <div [class]="computedClass()" [attr.data-message-id]="message()?.id">
103
- <!-- Message Renderer -->
104
- @if (messageRendererTemplate || messageRendererComponent()) {
105
- <copilot-slot
106
- [slot]="messageRendererTemplate || messageRendererComponent()"
107
- [context]="messageRendererContext()"
108
- [defaultComponent]="CopilotChatUserMessageRenderer"
109
- >
110
- </copilot-slot>
111
- } @else {
112
- <copilot-chat-user-message-renderer
113
- [content]="flattenedContent()"
114
- [inputClass]="messageRendererClass()"
115
- >
116
- </copilot-chat-user-message-renderer>
117
- }
118
-
119
- <!-- Toolbar -->
120
- @if (toolbarTemplate || toolbarComponent()) {
121
- <copilot-slot
122
- [slot]="toolbarTemplate || toolbarComponent()"
123
- [context]="toolbarContext()"
124
- [defaultComponent]="CopilotChatUserMessageToolbar"
125
- >
126
- </copilot-slot>
127
- } @else {
128
- <div copilotChatUserMessageToolbar [inputClass]="toolbarClass()">
129
- <div class="flex items-center gap-1 justify-end">
130
- <!-- Additional toolbar items -->
131
- @if (additionalToolbarItems()) {
132
- <ng-container
133
- [ngTemplateOutlet]="additionalToolbarItems() || null"
134
- ></ng-container>
135
- }
136
-
137
- <!-- Copy button -->
138
- @if (copyButtonTemplate || copyButtonComponent()) {
139
- <copilot-slot
140
- [slot]="copyButtonTemplate || copyButtonComponent()"
141
- [context]="{ content: flattenedContent() }"
142
- [outputs]="copyButtonOutputs"
143
- [defaultComponent]="CopilotChatUserMessageCopyButton"
144
- >
145
- </copilot-slot>
146
- } @else {
147
- <copilot-chat-user-message-copy-button
148
- [content]="flattenedContent()"
149
- [inputClass]="copyButtonClass()"
150
- (clicked)="handleCopy()"
151
- >
152
- </copilot-chat-user-message-copy-button>
153
- }
154
-
155
- <!-- Edit button -->
156
- @if (true) {
157
- @if (editButtonTemplate || editButtonComponent()) {
158
- <copilot-slot
159
- [slot]="editButtonTemplate || editButtonComponent()"
160
- [context]="{}"
161
- [outputs]="editButtonOutputs"
162
- [defaultComponent]="CopilotChatUserMessageEditButton"
163
- >
164
- </copilot-slot>
165
- } @else {
166
- <copilot-chat-user-message-edit-button
167
- [inputClass]="editButtonClass()"
168
- (clicked)="handleEdit()"
169
- >
170
- </copilot-chat-user-message-edit-button>
171
- }
172
- }
173
-
174
- <!-- Branch navigation -->
175
- @if (showBranchNavigation()) {
176
- @if (branchNavigationTemplate || branchNavigationComponent()) {
177
- <copilot-slot
178
- [slot]="
179
- branchNavigationTemplate || branchNavigationComponent()
180
- "
181
- [context]="branchNavigationContext()"
182
- [defaultComponent]="CopilotChatUserMessageBranchNavigation"
183
- >
184
- </copilot-slot>
185
- } @else {
186
- <copilot-chat-user-message-branch-navigation
187
- [currentBranch]="branchIndexValue()"
188
- [numberOfBranches]="numberOfBranchesValue()"
189
- [message]="message()!"
190
- [inputClass]="branchNavigationClass()"
191
- (switchToBranch)="handleSwitchToBranch($event)"
192
- >
193
- </copilot-chat-user-message-branch-navigation>
194
- }
195
- }
196
- </div>
197
- </div>
198
- }
199
- </div>
200
- `, isInline: true, styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopilotSlot, selector: "copilot-slot", inputs: ["slot", "context", "defaultComponent", "outputs"] }, { kind: "component", type: CopilotChatUserMessageRenderer, selector: "copilot-chat-user-message-renderer", inputs: ["content", "inputClass"] }, { kind: "component", type: CopilotChatUserMessageCopyButton, selector: "copilot-chat-user-message-copy-button", inputs: ["title", "disabled", "inputClass", "content"], outputs: ["clicked"] }, { kind: "component", type: CopilotChatUserMessageEditButton, selector: "copilot-chat-user-message-edit-button", inputs: ["title", "disabled", "inputClass"], outputs: ["clicked"] }, { kind: "component", type: CopilotChatUserMessageToolbar, selector: "div[copilotChatUserMessageToolbar]", inputs: ["inputClass"] }, { kind: "component", type: CopilotChatUserMessageBranchNavigation, selector: "copilot-chat-user-message-branch-navigation", inputs: ["currentBranch", "numberOfBranches", "message", "inputClass"], outputs: ["switchToBranch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatUserMessage, decorators: [{
203
- type: Component,
204
- args: [{ standalone: true, selector: "copilot-chat-user-message", host: { "data-copilotkit": "" }, imports: [
205
- CommonModule,
206
- CopilotSlot,
207
- CopilotChatUserMessageRenderer,
208
- CopilotChatUserMessageCopyButton,
209
- CopilotChatUserMessageEditButton,
210
- CopilotChatUserMessageToolbar,
211
- CopilotChatUserMessageBranchNavigation,
212
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `
213
- <div [class]="computedClass()" [attr.data-message-id]="message()?.id">
214
- <!-- Message Renderer -->
215
- @if (messageRendererTemplate || messageRendererComponent()) {
216
- <copilot-slot
217
- [slot]="messageRendererTemplate || messageRendererComponent()"
218
- [context]="messageRendererContext()"
219
- [defaultComponent]="CopilotChatUserMessageRenderer"
220
- >
221
- </copilot-slot>
222
- } @else {
223
- <copilot-chat-user-message-renderer
224
- [content]="flattenedContent()"
225
- [inputClass]="messageRendererClass()"
226
- >
227
- </copilot-chat-user-message-renderer>
228
- }
229
-
230
- <!-- Toolbar -->
231
- @if (toolbarTemplate || toolbarComponent()) {
232
- <copilot-slot
233
- [slot]="toolbarTemplate || toolbarComponent()"
234
- [context]="toolbarContext()"
235
- [defaultComponent]="CopilotChatUserMessageToolbar"
236
- >
237
- </copilot-slot>
238
- } @else {
239
- <div copilotChatUserMessageToolbar [inputClass]="toolbarClass()">
240
- <div class="flex items-center gap-1 justify-end">
241
- <!-- Additional toolbar items -->
242
- @if (additionalToolbarItems()) {
243
- <ng-container
244
- [ngTemplateOutlet]="additionalToolbarItems() || null"
245
- ></ng-container>
246
- }
247
-
248
- <!-- Copy button -->
249
- @if (copyButtonTemplate || copyButtonComponent()) {
250
- <copilot-slot
251
- [slot]="copyButtonTemplate || copyButtonComponent()"
252
- [context]="{ content: flattenedContent() }"
253
- [outputs]="copyButtonOutputs"
254
- [defaultComponent]="CopilotChatUserMessageCopyButton"
255
- >
256
- </copilot-slot>
257
- } @else {
258
- <copilot-chat-user-message-copy-button
259
- [content]="flattenedContent()"
260
- [inputClass]="copyButtonClass()"
261
- (clicked)="handleCopy()"
262
- >
263
- </copilot-chat-user-message-copy-button>
264
- }
265
-
266
- <!-- Edit button -->
267
- @if (true) {
268
- @if (editButtonTemplate || editButtonComponent()) {
269
- <copilot-slot
270
- [slot]="editButtonTemplate || editButtonComponent()"
271
- [context]="{}"
272
- [outputs]="editButtonOutputs"
273
- [defaultComponent]="CopilotChatUserMessageEditButton"
274
- >
275
- </copilot-slot>
276
- } @else {
277
- <copilot-chat-user-message-edit-button
278
- [inputClass]="editButtonClass()"
279
- (clicked)="handleEdit()"
280
- >
281
- </copilot-chat-user-message-edit-button>
282
- }
283
- }
284
-
285
- <!-- Branch navigation -->
286
- @if (showBranchNavigation()) {
287
- @if (branchNavigationTemplate || branchNavigationComponent()) {
288
- <copilot-slot
289
- [slot]="
290
- branchNavigationTemplate || branchNavigationComponent()
291
- "
292
- [context]="branchNavigationContext()"
293
- [defaultComponent]="CopilotChatUserMessageBranchNavigation"
294
- >
295
- </copilot-slot>
296
- } @else {
297
- <copilot-chat-user-message-branch-navigation
298
- [currentBranch]="branchIndexValue()"
299
- [numberOfBranches]="numberOfBranchesValue()"
300
- [message]="message()!"
301
- [inputClass]="branchNavigationClass()"
302
- (switchToBranch)="handleSwitchToBranch($event)"
303
- >
304
- </copilot-chat-user-message-branch-navigation>
305
- }
306
- }
307
- </div>
308
- </div>
309
- }
310
- </div>
311
- `, styles: [":host{display:block;width:100%}\n"] }]
312
- }], ctorParameters: () => [], propDecorators: { messageRendererTemplate: [{
313
- type: ContentChild,
314
- args: ["messageRenderer", { read: TemplateRef }]
315
- }], toolbarTemplate: [{
316
- type: ContentChild,
317
- args: ["toolbar", { read: TemplateRef }]
318
- }], copyButtonTemplate: [{
319
- type: ContentChild,
320
- args: ["copyButton", { read: TemplateRef }]
321
- }], editButtonTemplate: [{
322
- type: ContentChild,
323
- args: ["editButton", { read: TemplateRef }]
324
- }], branchNavigationTemplate: [{
325
- type: ContentChild,
326
- args: ["branchNavigation", { read: TemplateRef }]
327
- }] } });
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxTQUFTLHlCQUF5QixDQUFDLE9BQWdDO0lBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFDRSxJQUFJO1lBQ0osT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixNQUFNLElBQUksSUFBSTtZQUNiLElBQTJCLENBQUMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1HVCwwR0E3R0MsWUFBWSxzTUFDWixXQUFXLHFIQUNYLDhCQUE4QixrSEFDOUIsZ0NBQWdDLGdLQUNoQyxnQ0FBZ0MscUpBQ2hDLDZCQUE2Qix1R0FDN0Isc0NBQXNDOzs0RkFpSDdCLHNCQUFzQjtrQkE1SGxDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDJCQUEyQixRQUMvQixFQUFFLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxXQUN0Qjt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsOEJBQThCO3dCQUM5QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsNkJBQTZCO3dCQUM3QixzQ0FBc0M7cUJBQ3ZDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtR1Q7d0RBYUQsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUdqRCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgY29tcHV0ZWQsXG4gIFR5cGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzLFxuICB0eXBlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gIHR5cGUgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCxcbiAgdHlwZSBDb3B5QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBFZGl0QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCxcbiAgdHlwZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0LFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyXCI7XG5pbXBvcnQge1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24sXG59IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnV0dG9uc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXRvb2xiYXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQoY29udGVudD86IFVzZXJNZXNzYWdlW1wiY29udGVudFwiXSk6IHN0cmluZyB7XG4gIGlmICghY29udGVudCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudFxuICAgIC5tYXAoKHBhcnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFydCAmJlxuICAgICAgICB0eXBlb2YgcGFydCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcInR5cGVcIiBpbiBwYXJ0ICYmXG4gICAgICAgIChwYXJ0IGFzIHsgdHlwZT86IHVua25vd24gfSkudHlwZSA9PT0gXCJ0ZXh0XCIgJiZcbiAgICAgICAgdHlwZW9mIChwYXJ0IGFzIHsgdGV4dD86IHVua25vd24gfSkudGV4dCA9PT0gXCJzdHJpbmdcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAocGFydCBhcyB7IHRleHQ6IHN0cmluZyB9KS50ZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfSlcbiAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0Lmxlbmd0aCA+IDApXG4gICAgLmpvaW4oXCJcXG5cIik7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGhvc3Q6IHsgXCJkYXRhLWNvcGlsb3RraXRcIjogXCJcIiB9LFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvcGlsb3RTbG90LFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlcixcbiAgICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbixcbiAgICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhcixcbiAgICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbixcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzcygpXCIgW2F0dHIuZGF0YS1tZXNzYWdlLWlkXT1cIm1lc3NhZ2UoKT8uaWRcIj5cbiAgICAgIDwhLS0gTWVzc2FnZSBSZW5kZXJlciAtLT5cbiAgICAgIEBpZiAobWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cIm1lc3NhZ2VSZW5kZXJlclRlbXBsYXRlIHx8IG1lc3NhZ2VSZW5kZXJlckNvbXBvbmVudCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJtZXNzYWdlUmVuZGVyZXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlclwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtcmVuZGVyZXJcbiAgICAgICAgICBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIlxuICAgICAgICAgIFtpbnB1dENsYXNzXT1cIm1lc3NhZ2VSZW5kZXJlckNsYXNzKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlcj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxuICAgICAgQGlmICh0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpKSB7XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJ0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ0b29sYmFyQ29udGV4dCgpXCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhclwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciBbaW5wdXRDbGFzc109XCJ0b29sYmFyQ2xhc3MoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPCEtLSBBZGRpdGlvbmFsIHRvb2xiYXIgaXRlbXMgLS0+XG4gICAgICAgICAgICBAaWYgKGFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkaXRpb25hbFRvb2xiYXJJdGVtcygpIHx8IG51bGxcIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQ29weSBidXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKGNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgIFtzbG90XT1cImNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInsgY29udGVudDogZmxhdHRlbmVkQ29udGVudCgpIH1cIlxuICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImNvcHlCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtY29weS1idXR0b25cbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImNvcHlCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoYW5kbGVDb3B5KClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBFZGl0IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICBAaWYgKGVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICBbc2xvdF09XCJlZGl0QnV0dG9uVGVtcGxhdGUgfHwgZWRpdEJ1dHRvbkNvbXBvbmVudCgpXCJcbiAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInt9XCJcbiAgICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImVkaXRCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJlZGl0QnV0dG9uQ2xhc3MoKVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoYW5kbGVFZGl0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtZWRpdC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBCcmFuY2ggbmF2aWdhdGlvbiAtLT5cbiAgICAgICAgICAgIEBpZiAoc2hvd0JyYW5jaE5hdmlnYXRpb24oKSkge1xuICAgICAgICAgICAgICBAaWYgKGJyYW5jaE5hdmlnYXRpb25UZW1wbGF0ZSB8fCBicmFuY2hOYXZpZ2F0aW9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICBbc2xvdF09XCJcbiAgICAgICAgICAgICAgICAgICAgYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImJyYW5jaE5hdmlnYXRpb25Db250ZXh0KClcIlxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZUJyYW5jaE5hdmlnYXRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgICAgIFtjdXJyZW50QnJhbmNoXT1cImJyYW5jaEluZGV4VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICBbbnVtYmVyT2ZCcmFuY2hlc109XCJudW1iZXJPZkJyYW5jaGVzVmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICBbbWVzc2FnZV09XCJtZXNzYWdlKCkhXCJcbiAgICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImJyYW5jaE5hdmlnYXRpb25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgIChzd2l0Y2hUb0JyYW5jaCk9XCJoYW5kbGVTd2l0Y2hUb0JyYW5jaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJyYW5jaC1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlIHtcbiAgLy8gQ2FwdHVyZSB0ZW1wbGF0ZXMgZnJvbSBjb250ZW50IHByb2plY3Rpb25cbiAgQENvbnRlbnRDaGlsZChcIm1lc3NhZ2VSZW5kZXJlclwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIG1lc3NhZ2VSZW5kZXJlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8TWVzc2FnZVJlbmRlcmVyQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJ0b29sYmFyXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgdG9vbGJhclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8VXNlck1lc3NhZ2VUb29sYmFyQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJjb3B5QnV0dG9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgY29weUJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8Q29weUJ1dHRvbkNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiZWRpdEJ1dHRvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGVkaXRCdXR0b25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEVkaXRCdXR0b25Db250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImJyYW5jaE5hdmlnYXRpb25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dD47XG5cbiAgLy8gUHJvcHMgZm9yIHR3ZWFraW5nIGRlZmF1bHQgY29tcG9uZW50c1xuICBtZXNzYWdlUmVuZGVyZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgdG9vbGJhckNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb3B5QnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGVkaXRCdXR0b25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgYnJhbmNoTmF2aWdhdGlvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIENvbXBvbmVudCBpbnB1dHMgZm9yIG92ZXJyaWRlc1xuICBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KCk7XG4gIHRvb2xiYXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KCk7XG4gIGNvcHlCdXR0b25Db21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KCk7XG4gIGVkaXRCdXR0b25Db21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KCk7XG4gIGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gUmVndWxhciBpbnB1dHNcbiAgbWVzc2FnZSA9IGlucHV0PFVzZXJNZXNzYWdlPigpO1xuICBicmFuY2hJbmRleCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4oKTtcbiAgbnVtYmVyT2ZCcmFuY2hlcyA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4oKTtcbiAgYWRkaXRpb25hbFRvb2xiYXJJdGVtcyA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KCk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gT3V0cHV0IGV2ZW50c1xuICBlZGl0TWVzc2FnZSA9IG91dHB1dDxDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzPigpO1xuICBzd2l0Y2hUb0JyYW5jaCA9IG91dHB1dDxDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzPigpO1xuXG4gIC8vIERlcml2ZWQgdmFsdWVzXG4gIGJyYW5jaEluZGV4VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJyYW5jaEluZGV4KCkgPz8gMCk7XG4gIG51bWJlck9mQnJhbmNoZXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubnVtYmVyT2ZCcmFuY2hlcygpID8/IDEpO1xuXG4gIC8vIERlZmF1bHQgY29tcG9uZW50c1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXI7XG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXI7XG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b247XG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b247XG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uID1cbiAgICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbjtcblxuICAvLyBDb21wdXRlZCB2YWx1ZXNcbiAgc2hvd0JyYW5jaE5hdmlnYXRpb24gPSBjb21wdXRlZCgoKSA9PiAodGhpcy5udW1iZXJPZkJyYW5jaGVzKCkgPz8gMSkgPiAxKTtcblxuICBjb21wdXRlZENsYXNzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBjbihcImZsZXggZmxleC1jb2wgaXRlbXMtZW5kIGdyb3VwIHB0LTEwXCIsIHRoaXMuaW5wdXRDbGFzcygpKSxcbiAgKTtcblxuICAvLyBDb250ZXh0IGZvciBzbG90cyAocmVhY3RpdmUgdmlhIHNpZ25hbHMpXG4gIGZsYXR0ZW5lZENvbnRlbnQgPSBjb21wdXRlZCgoKSA9PlxuICAgIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQodGhpcy5tZXNzYWdlKCk/LmNvbnRlbnQpLFxuICApO1xuXG4gIG1lc3NhZ2VSZW5kZXJlckNvbnRleHQgPSBjb21wdXRlZDxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PigoKSA9PiAoe1xuICAgIGNvbnRlbnQ6IHRoaXMuZmxhdHRlbmVkQ29udGVudCgpLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKFxuICAgIHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLnN3aXRjaFRvQnJhbmNoLmVtaXQocHJvcHMpO1xuICB9XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlck1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzIHtcbiAgbWVzc2FnZTogVXNlck1lc3NhZ2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcyB7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xuICBicmFuY2hJbmRleDogbnVtYmVyO1xuICBudW1iZXJPZkJyYW5jaGVzOiBudW1iZXI7XG59XG5cbi8vIENvbnRleHQgaW50ZXJmYWNlcyBmb3Igc2xvdHNcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3B5QnV0dG9uQ29udGV4dCB7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvcGllZD86IGJvb2xlYW47XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEJ1dHRvbkNvbnRleHQge1xuICAvLyBFbXB0eSBjb250ZXh0IC0gY2xpY2sgaGFuZGxlZCB2aWEgb3V0cHV0cyBtYXBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIGN1cnJlbnRCcmFuY2g6IG51bWJlcjtcbiAgbnVtYmVyT2ZCcmFuY2hlczogbnVtYmVyO1xuICBvblN3aXRjaFRvQnJhbmNoPzogKFxuICAgIHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxuICApID0+IHZvaWQ7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQge1xuICBjaGlsZHJlbj86IGFueTtcbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Component, input, ChangeDetectionStrategy, ViewEncapsulation, } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { cn } from "../..//utils";
4
- import { injectChatLabels } from "../../chat-config";
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Disclaimer component for CopilotChatView
8
- * Shows configurable disclaimer text below the input
9
- * Integrates with CopilotChatConfigurationService for labels
10
- */
11
- export class CopilotChatViewDisclaimer {
12
- inputClass = input();
13
- text = input();
14
- labels = injectChatLabels();
15
- // Get disclaimer text from input or configuration
16
- get disclaimerText() {
17
- if (this.text()) {
18
- return this.text();
19
- }
20
- return this.labels.chatDisclaimerText;
21
- }
22
- // Computed class matching React exactly
23
- get computedClass() {
24
- return cn("text-center text-xs text-muted-foreground py-3 px-4 max-w-3xl mx-auto", this.inputClass());
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewDisclaimer, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CopilotChatViewDisclaimer, isStandalone: true, selector: "copilot-chat-view-disclaimer", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
28
- <div [class]="computedClass">
29
- {{ disclaimerText }}
30
- </div>
31
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewDisclaimer, decorators: [{
34
- type: Component,
35
- args: [{
36
- selector: "copilot-chat-view-disclaimer",
37
- standalone: true,
38
- imports: [CommonModule],
39
- changeDetection: ChangeDetectionStrategy.OnPush,
40
- encapsulation: ViewEncapsulation.None,
41
- template: `
42
- <div [class]="computedClass">
43
- {{ disclaimerText }}
44
- </div>
45
- `,
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZGlzY2xhaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7Ozs7R0FJRztBQWFILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxJQUFJLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTFCLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRXJDLGtEQUFrRDtJQUNsRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQVksQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3hDLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUVBQXVFLEVBQ3ZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDbEIsQ0FBQztJQUNKLENBQUM7d0dBckJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGdXQU4xQjs7OztHQUlULDJEQVBTLFlBQVk7OzRGQVNYLHlCQUF5QjtrQkFackMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vL3V0aWxzXCI7XG5pbXBvcnQgeyBpbmplY3RDaGF0TGFiZWxzIH0gZnJvbSBcIi4uLy4uL2NoYXQtY29uZmlnXCI7XG5cbi8qKlxuICogRGlzY2xhaW1lciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogU2hvd3MgY29uZmlndXJhYmxlIGRpc2NsYWltZXIgdGV4dCBiZWxvdyB0aGUgaW5wdXRcbiAqIEludGVncmF0ZXMgd2l0aCBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlIGZvciBsYWJlbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIHt7IGRpc2NsYWltZXJUZXh0IH19XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXIge1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHJlYWRvbmx5IGxhYmVscyA9IGluamVjdENoYXRMYWJlbHMoKTtcblxuICAvLyBHZXQgZGlzY2xhaW1lciB0ZXh0IGZyb20gaW5wdXQgb3IgY29uZmlndXJhdGlvblxuICBnZXQgZGlzY2xhaW1lclRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50ZXh0KCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRleHQoKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmNoYXREaXNjbGFpbWVyVGV4dDtcbiAgfVxuXG4gIC8vIENvbXB1dGVkIGNsYXNzIG1hdGNoaW5nIFJlYWN0IGV4YWN0bHlcbiAgZ2V0IGNvbXB1dGVkQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY24oXG4gICAgICBcInRleHQtY2VudGVyIHRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHB5LTMgcHgtNCBtYXgtdy0zeGwgbXgtYXV0b1wiLFxuICAgICAgdGhpcy5pbnB1dENsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,41 +0,0 @@
1
- import { Component, input, ChangeDetectionStrategy, ViewEncapsulation, } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { cn } from "../../utils";
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Feather component for CopilotChatView
7
- * Creates a gradient overlay effect between messages and input
8
- * Matches React implementation exactly with same Tailwind classes
9
- */
10
- export class CopilotChatViewFeather {
11
- inputClass = input();
12
- style = input();
13
- // Computed class matching React exactly
14
- get computedClass() {
15
- return cn(
16
- // Positioning
17
- "absolute bottom-0 left-0 right-4 h-24 pointer-events-none z-10",
18
- // Gradient
19
- "bg-gradient-to-t",
20
- // Light mode colors
21
- "from-white via-white to-transparent",
22
- // Dark mode colors
23
- "dark:from-[rgb(33,33,33)] dark:via-[rgb(33,33,33)]",
24
- // Custom classes
25
- this.inputClass());
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewFeather, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CopilotChatViewFeather, isStandalone: true, selector: "copilot-chat-view-feather", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ` <div [class]="computedClass" [style]="style()"></div> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewFeather, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: "copilot-chat-view-feather",
34
- standalone: true,
35
- imports: [CommonModule],
36
- changeDetection: ChangeDetectionStrategy.OnPush,
37
- encapsulation: ViewEncapsulation.None,
38
- template: ` <div [class]="computedClass" [style]="style()"></div> `,
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZmVhdGhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakM7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxLQUFLLEdBQUcsS0FBSyxFQUFzQyxDQUFDO0lBRXBELHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUU7UUFDUCxjQUFjO1FBQ2QsZ0VBQWdFO1FBQ2hFLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHFDQUFxQztRQUNyQyxtQkFBbUI7UUFDbkIsb0RBQW9EO1FBQ3BELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDO3dHQWxCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixnV0FGdkIseURBQXlELDJEQUh6RCxZQUFZOzs0RkFLWCxzQkFBc0I7a0JBUmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUseURBQXlEO2lCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogRmVhdGhlciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogQ3JlYXRlcyBhIGdyYWRpZW50IG92ZXJsYXkgZWZmZWN0IGJldHdlZW4gbWVzc2FnZXMgYW5kIGlucHV0XG4gKiBNYXRjaGVzIFJlYWN0IGltcGxlbWVudGF0aW9uIGV4YWN0bHkgd2l0aCBzYW1lIFRhaWx3aW5kIGNsYXNzZXNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzXCIgW3N0eWxlXT1cInN0eWxlKClcIj48L2Rpdj4gYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3RmVhdGhlciB7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHN0eWxlID0gaW5wdXQ8eyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wdXRlZCBjbGFzcyBtYXRjaGluZyBSZWFjdCBleGFjdGx5XG4gIGdldCBjb21wdXRlZENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gUG9zaXRpb25pbmdcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTQgaC0yNCBwb2ludGVyLWV2ZW50cy1ub25lIHotMTBcIixcbiAgICAgIC8vIEdyYWRpZW50XG4gICAgICBcImJnLWdyYWRpZW50LXRvLXRcIixcbiAgICAgIC8vIExpZ2h0IG1vZGUgY29sb3JzXG4gICAgICBcImZyb20td2hpdGUgdmlhLXdoaXRlIHRvLXRyYW5zcGFyZW50XCIsXG4gICAgICAvLyBEYXJrIG1vZGUgY29sb3JzXG4gICAgICBcImRhcms6ZnJvbS1bcmdiKDMzLDMzLDMzKV0gZGFyazp2aWEtW3JnYigzMywzMywzMyldXCIsXG4gICAgICAvLyBDdXN0b20gY2xhc3Nlc1xuICAgICAgdGhpcy5pbnB1dENsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { Injectable, signal } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class CopilotChatViewHandlers {
4
- // Assistant message handler availability
5
- hasAssistantThumbsUpHandler = signal(false);
6
- hasAssistantThumbsDownHandler = signal(false);
7
- hasAssistantReadAloudHandler = signal(false);
8
- hasAssistantRegenerateHandler = signal(false);
9
- // User message handler availability
10
- hasUserCopyHandler = signal(false);
11
- hasUserEditHandler = signal(false);
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewHandlers, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewHandlers, providedIn: "root" });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewHandlers, decorators: [{
16
- type: Injectable,
17
- args: [{ providedIn: "root" }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctaGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyx5Q0FBeUM7SUFDekMsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5Qyw0QkFBNEIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsNkJBQTZCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLG9DQUFvQztJQUNwQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dHQVR4Qix1QkFBdUI7NEdBQXZCLHVCQUF1QixjQURWLE1BQU07OzRGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld0hhbmRsZXJzIHtcbiAgLy8gQXNzaXN0YW50IG1lc3NhZ2UgaGFuZGxlciBhdmFpbGFiaWxpdHlcbiAgaGFzQXNzaXN0YW50VGh1bWJzVXBIYW5kbGVyID0gc2lnbmFsKGZhbHNlKTtcbiAgaGFzQXNzaXN0YW50VGh1bWJzRG93bkhhbmRsZXIgPSBzaWduYWwoZmFsc2UpO1xuICBoYXNBc3Npc3RhbnRSZWFkQWxvdWRIYW5kbGVyID0gc2lnbmFsKGZhbHNlKTtcbiAgaGFzQXNzaXN0YW50UmVnZW5lcmF0ZUhhbmRsZXIgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8vIFVzZXIgbWVzc2FnZSBoYW5kbGVyIGF2YWlsYWJpbGl0eVxuICBoYXNVc2VyQ29weUhhbmRsZXIgPSBzaWduYWwoZmFsc2UpO1xuICBoYXNVc2VyRWRpdEhhbmRsZXIgPSBzaWduYWwoZmFsc2UpO1xufVxuIl19
@@ -1,96 +0,0 @@
1
- import { Component, input, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, ElementRef, } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { CopilotSlot } from "../../slots/copilot-slot";
4
- import { CopilotChatInput } from "./copilot-chat-input";
5
- import { CopilotChatViewDisclaimer } from "./copilot-chat-view-disclaimer";
6
- import { cn } from "../../utils";
7
- import * as i0 from "@angular/core";
8
- /**
9
- * InputContainer component for CopilotChatView
10
- * Container for input and disclaimer components
11
- * Uses ForwardRef for DOM access
12
- */
13
- export class CopilotChatViewInputContainer extends ElementRef {
14
- inputContainerClass = input();
15
- // Input slot configuration
16
- input = input();
17
- inputClass = input();
18
- // Disclaimer slot configuration
19
- disclaimer = input();
20
- disclaimerText = input();
21
- disclaimerClass = input();
22
- // Default components
23
- defaultInputComponent = CopilotChatInput;
24
- defaultDisclaimerComponent = CopilotChatViewDisclaimer;
25
- constructor(elementRef) {
26
- super(elementRef.nativeElement);
27
- }
28
- get computedClass() {
29
- return cn("absolute bottom-0 left-0 right-0 z-20", this.inputContainerClass());
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewInputContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CopilotChatViewInputContainer, isStandalone: true, selector: "copilot-chat-view-input-container", inputs: { inputContainerClass: { classPropertyName: "inputContainerClass", publicName: "inputContainerClass", isSignal: true, isRequired: false, transformFunction: null }, input: { classPropertyName: "input", publicName: "input", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, disclaimer: { classPropertyName: "disclaimer", publicName: "disclaimer", isSignal: true, isRequired: false, transformFunction: null }, disclaimerText: { classPropertyName: "disclaimerText", publicName: "disclaimerText", isSignal: true, isRequired: false, transformFunction: null }, disclaimerClass: { classPropertyName: "disclaimerClass", publicName: "disclaimerClass", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
33
- {
34
- provide: ElementRef,
35
- useExisting: forwardRef(() => CopilotChatViewInputContainer),
36
- },
37
- ], usesInheritance: true, ngImport: i0, template: `
38
- <div [class]="computedClass">
39
- <!-- Input component -->
40
- <div class="max-w-3xl mx-auto py-0 px-4 sm:px-0">
41
- <copilot-slot
42
- [slot]="input()"
43
- [context]="{ inputClass: inputClass() }"
44
- [defaultComponent]="defaultInputComponent"
45
- >
46
- </copilot-slot>
47
- </div>
48
-
49
- <!-- Disclaimer - always rendered like in React -->
50
- <copilot-slot
51
- [slot]="disclaimer()"
52
- [context]="{ text: disclaimerText(), inputClass: disclaimerClass() }"
53
- [defaultComponent]="defaultDisclaimerComponent"
54
- >
55
- </copilot-slot>
56
- </div>
57
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CopilotSlot, selector: "copilot-slot", inputs: ["slot", "context", "defaultComponent", "outputs"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CopilotChatViewInputContainer, decorators: [{
60
- type: Component,
61
- args: [{
62
- standalone: true,
63
- selector: "copilot-chat-view-input-container",
64
- imports: [CommonModule, CopilotSlot],
65
- changeDetection: ChangeDetectionStrategy.OnPush,
66
- encapsulation: ViewEncapsulation.None,
67
- providers: [
68
- {
69
- provide: ElementRef,
70
- useExisting: forwardRef(() => CopilotChatViewInputContainer),
71
- },
72
- ],
73
- template: `
74
- <div [class]="computedClass">
75
- <!-- Input component -->
76
- <div class="max-w-3xl mx-auto py-0 px-4 sm:px-0">
77
- <copilot-slot
78
- [slot]="input()"
79
- [context]="{ inputClass: inputClass() }"
80
- [defaultComponent]="defaultInputComponent"
81
- >
82
- </copilot-slot>
83
- </div>
84
-
85
- <!-- Disclaimer - always rendered like in React -->
86
- <copilot-slot
87
- [slot]="disclaimer()"
88
- [context]="{ text: disclaimerText(), inputClass: disclaimerClass() }"
89
- [defaultComponent]="defaultDisclaimerComponent"
90
- >
91
- </copilot-slot>
92
- </div>
93
- `,
94
- }]
95
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRWpDOzs7O0dBSUc7QUFtQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFVBQVU7SUFDM0QsbUJBQW1CLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRWxELDJCQUEyQjtJQUMzQixLQUFLLEdBQUcsS0FBSyxFQUFtQixDQUFDO0lBQ2pDLFVBQVUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFFekMsZ0NBQWdDO0lBQ2hDLFVBQVUsR0FBRyxLQUFLLEVBQW1CLENBQUM7SUFDdEMsY0FBYyxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUM3QyxlQUFlLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTlDLHFCQUFxQjtJQUNGLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0lBQ3pDLDBCQUEwQixHQUFHLHlCQUF5QixDQUFDO0lBRTFFLFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUNBQXVDLEVBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUMzQixDQUFDO0lBQ0osQ0FBQzt3R0F6QlUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsNjZCQTVCN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUM3RDtTQUNGLGlEQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCwyREE3QlMsWUFBWSwrQkFBRSxXQUFXOzs0RkErQnhCLDZCQUE2QjtrQkFsQ3pDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDN0Q7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRJbnB1dCB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC1pbnB1dFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3RGlzY2xhaW1lciB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogSW5wdXRDb250YWluZXIgY29tcG9uZW50IGZvciBDb3BpbG90Q2hhdFZpZXdcbiAqIENvbnRhaW5lciBmb3IgaW5wdXQgYW5kIGRpc2NsYWltZXIgY29tcG9uZW50c1xuICogVXNlcyBGb3J3YXJkUmVmIGZvciBET00gYWNjZXNzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdmlldy1pbnB1dC1jb250YWluZXJcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29waWxvdFNsb3RdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRWxlbWVudFJlZixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvcGlsb3RDaGF0Vmlld0lucHV0Q29udGFpbmVyKSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIDwhLS0gSW5wdXQgY29tcG9uZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTN4bCBteC1hdXRvIHB5LTAgcHgtNCBzbTpweC0wXCI+XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJpbnB1dCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ7IGlucHV0Q2xhc3M6IGlucHV0Q2xhc3MoKSB9XCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0SW5wdXRDb21wb25lbnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlzY2xhaW1lciAtIGFsd2F5cyByZW5kZXJlZCBsaWtlIGluIFJlYWN0IC0tPlxuICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICBbc2xvdF09XCJkaXNjbGFpbWVyKClcIlxuICAgICAgICBbY29udGV4dF09XCJ7IHRleHQ6IGRpc2NsYWltZXJUZXh0KCksIGlucHV0Q2xhc3M6IGRpc2NsYWltZXJDbGFzcygpIH1cIlxuICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudFwiXG4gICAgICA+XG4gICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXIgZXh0ZW5kcyBFbGVtZW50UmVmIHtcbiAgaW5wdXRDb250YWluZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBJbnB1dCBzbG90IGNvbmZpZ3VyYXRpb25cbiAgaW5wdXQgPSBpbnB1dDxhbnkgfCB1bmRlZmluZWQ+KCk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gRGlzY2xhaW1lciBzbG90IGNvbmZpZ3VyYXRpb25cbiAgZGlzY2xhaW1lciA9IGlucHV0PGFueSB8IHVuZGVmaW5lZD4oKTtcbiAgZGlzY2xhaW1lclRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGRpc2NsYWltZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRJbnB1dENvbXBvbmVudCA9IENvcGlsb3RDaGF0SW5wdXQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXI7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjbihcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgei0yMFwiLFxuICAgICAgdGhpcy5pbnB1dENvbnRhaW5lckNsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19