@copilotkitnext/angular 1.51.4-next.6 → 1.51.4-next.8

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 (44) hide show
  1. package/README.md +43 -39
  2. package/dist/README.md +43 -39
  3. package/dist/esm2022/lib/agent-context.mjs +2 -2
  4. package/dist/esm2022/lib/agent.mjs +1 -1
  5. package/dist/esm2022/lib/chat-config.mjs +1 -1
  6. package/dist/esm2022/lib/chat-state.mjs +1 -1
  7. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-buttons.mjs +1 -1
  8. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-renderer.mjs +1 -1
  9. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-toolbar.mjs +1 -1
  10. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.mjs +1 -1
  11. package/dist/esm2022/lib/components/chat/copilot-chat-audio-recorder.mjs +1 -1
  12. package/dist/esm2022/lib/components/chat/copilot-chat-buttons.mjs +1 -1
  13. package/dist/esm2022/lib/components/chat/copilot-chat-input.mjs +1 -1
  14. package/dist/esm2022/lib/components/chat/copilot-chat-message-view-cursor.mjs +1 -1
  15. package/dist/esm2022/lib/components/chat/copilot-chat-message-view.mjs +1 -1
  16. package/dist/esm2022/lib/components/chat/copilot-chat-textarea.mjs +1 -1
  17. package/dist/esm2022/lib/components/chat/copilot-chat-tools-menu.mjs +1 -1
  18. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +26 -6
  19. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-buttons.mjs +1 -1
  20. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-renderer.mjs +1 -1
  21. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-toolbar.mjs +1 -1
  22. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +29 -9
  23. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +1 -1
  24. package/dist/esm2022/lib/components/chat/copilot-chat-view-disclaimer.mjs +1 -1
  25. package/dist/esm2022/lib/components/chat/copilot-chat-view-feather.mjs +1 -1
  26. package/dist/esm2022/lib/components/chat/copilot-chat-view-input-container.mjs +1 -1
  27. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.mjs +1 -1
  28. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-view.mjs +1 -1
  29. package/dist/esm2022/lib/components/chat/copilot-chat-view.mjs +1 -1
  30. package/dist/esm2022/lib/components/chat/copilot-chat.mjs +20 -23
  31. package/dist/esm2022/lib/config.mjs +1 -1
  32. package/dist/esm2022/lib/copilotkit.mjs +18 -8
  33. package/dist/esm2022/lib/directives/stick-to-bottom.mjs +1 -1
  34. package/dist/esm2022/lib/human-in-the-loop.mjs +1 -1
  35. package/dist/esm2022/lib/render-tool-calls.mjs +40 -11
  36. package/dist/esm2022/lib/resize-observer.mjs +1 -1
  37. package/dist/esm2022/lib/scroll-position.mjs +2 -3
  38. package/dist/esm2022/lib/slots/copilot-slot.mjs +1 -1
  39. package/dist/esm2022/lib/slots/slot.utils.mjs +1 -1
  40. package/dist/esm2022/lib/tools.mjs +3 -3
  41. package/dist/fesm2022/copilotkitnext-angular.mjs +128 -54
  42. package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
  43. package/dist/lib/components/chat/copilot-chat.d.ts +1 -0
  44. package/package.json +5 -6
@@ -109,7 +109,10 @@ export class CopilotChatUserMessage {
109
109
  >
110
110
  </copilot-slot>
111
111
  } @else {
112
- <copilot-chat-user-message-renderer [content]="flattenedContent()" [inputClass]="messageRendererClass()">
112
+ <copilot-chat-user-message-renderer
113
+ [content]="flattenedContent()"
114
+ [inputClass]="messageRendererClass()"
115
+ >
113
116
  </copilot-chat-user-message-renderer>
114
117
  }
115
118
 
@@ -126,7 +129,9 @@ export class CopilotChatUserMessage {
126
129
  <div class="flex items-center gap-1 justify-end">
127
130
  <!-- Additional toolbar items -->
128
131
  @if (additionalToolbarItems()) {
129
- <ng-container [ngTemplateOutlet]="additionalToolbarItems() || null"></ng-container>
132
+ <ng-container
133
+ [ngTemplateOutlet]="additionalToolbarItems() || null"
134
+ ></ng-container>
130
135
  }
131
136
 
132
137
  <!-- Copy button -->
@@ -158,7 +163,10 @@ export class CopilotChatUserMessage {
158
163
  >
159
164
  </copilot-slot>
160
165
  } @else {
161
- <copilot-chat-user-message-edit-button [inputClass]="editButtonClass()" (clicked)="handleEdit()">
166
+ <copilot-chat-user-message-edit-button
167
+ [inputClass]="editButtonClass()"
168
+ (clicked)="handleEdit()"
169
+ >
162
170
  </copilot-chat-user-message-edit-button>
163
171
  }
164
172
  }
@@ -167,7 +175,9 @@ export class CopilotChatUserMessage {
167
175
  @if (showBranchNavigation()) {
168
176
  @if (branchNavigationTemplate || branchNavigationComponent()) {
169
177
  <copilot-slot
170
- [slot]="branchNavigationTemplate || branchNavigationComponent()"
178
+ [slot]="
179
+ branchNavigationTemplate || branchNavigationComponent()
180
+ "
171
181
  [context]="branchNavigationContext()"
172
182
  [defaultComponent]="CopilotChatUserMessageBranchNavigation"
173
183
  >
@@ -210,7 +220,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
210
220
  >
211
221
  </copilot-slot>
212
222
  } @else {
213
- <copilot-chat-user-message-renderer [content]="flattenedContent()" [inputClass]="messageRendererClass()">
223
+ <copilot-chat-user-message-renderer
224
+ [content]="flattenedContent()"
225
+ [inputClass]="messageRendererClass()"
226
+ >
214
227
  </copilot-chat-user-message-renderer>
215
228
  }
216
229
 
@@ -227,7 +240,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
227
240
  <div class="flex items-center gap-1 justify-end">
228
241
  <!-- Additional toolbar items -->
229
242
  @if (additionalToolbarItems()) {
230
- <ng-container [ngTemplateOutlet]="additionalToolbarItems() || null"></ng-container>
243
+ <ng-container
244
+ [ngTemplateOutlet]="additionalToolbarItems() || null"
245
+ ></ng-container>
231
246
  }
232
247
 
233
248
  <!-- Copy button -->
@@ -259,7 +274,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
259
274
  >
260
275
  </copilot-slot>
261
276
  } @else {
262
- <copilot-chat-user-message-edit-button [inputClass]="editButtonClass()" (clicked)="handleEdit()">
277
+ <copilot-chat-user-message-edit-button
278
+ [inputClass]="editButtonClass()"
279
+ (clicked)="handleEdit()"
280
+ >
263
281
  </copilot-chat-user-message-edit-button>
264
282
  }
265
283
  }
@@ -268,7 +286,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
268
286
  @if (showBranchNavigation()) {
269
287
  @if (branchNavigationTemplate || branchNavigationComponent()) {
270
288
  <copilot-slot
271
- [slot]="branchNavigationTemplate || branchNavigationComponent()"
289
+ [slot]="
290
+ branchNavigationTemplate || branchNavigationComponent()
291
+ "
272
292
  [context]="branchNavigationContext()"
273
293
  [defaultComponent]="CopilotChatUserMessageBranchNavigation"
274
294
  >
@@ -305,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
305
325
  type: ContentChild,
306
326
  args: ["branchNavigation", { read: TemplateRef }]
307
327
  }] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxTQUFTLHlCQUF5QixDQUFDLE9BQWdDO0lBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFDRSxJQUFJO1lBQ0osT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixNQUFNLElBQUksSUFBSTtZQUNiLElBQTJCLENBQUMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQsMEdBbkdDLFlBQVksc01BQ1osV0FBVyxxSEFDWCw4QkFBOEIsa0hBQzlCLGdDQUFnQyxnS0FDaEMsZ0NBQWdDLHFKQUNoQyw2QkFBNkIsdUdBQzdCLHNDQUFzQzs7NEZBdUc3QixzQkFBc0I7a0JBakhsQyxTQUFTO2lDQUNJLElBQUksWUFDTiwyQkFBMkIsV0FDNUI7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDhCQUE4Qjt3QkFDOUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0Isc0NBQXNDO3FCQUN2QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxZQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQ7d0RBYUQsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUdqRCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgY29tcHV0ZWQsXG4gIFR5cGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzLFxuICB0eXBlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gIHR5cGUgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCxcbiAgdHlwZSBDb3B5QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBFZGl0QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCxcbiAgdHlwZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0LFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyXCI7XG5pbXBvcnQge1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24sXG59IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnV0dG9uc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXRvb2xiYXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQoY29udGVudD86IFVzZXJNZXNzYWdlW1wiY29udGVudFwiXSk6IHN0cmluZyB7XG4gIGlmICghY29udGVudCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudFxuICAgIC5tYXAoKHBhcnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFydCAmJlxuICAgICAgICB0eXBlb2YgcGFydCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcInR5cGVcIiBpbiBwYXJ0ICYmXG4gICAgICAgIChwYXJ0IGFzIHsgdHlwZT86IHVua25vd24gfSkudHlwZSA9PT0gXCJ0ZXh0XCIgJiZcbiAgICAgICAgdHlwZW9mIChwYXJ0IGFzIHsgdGV4dD86IHVua25vd24gfSkudGV4dCA9PT0gXCJzdHJpbmdcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAocGFydCBhcyB7IHRleHQ6IHN0cmluZyB9KS50ZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfSlcbiAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0Lmxlbmd0aCA+IDApXG4gICAgLmpvaW4oXCJcXG5cIik7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlciBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIiBbaW5wdXRDbGFzc109XCJtZXNzYWdlUmVuZGVyZXJDbGFzcygpXCI+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlcj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxuICAgICAgQGlmICh0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpKSB7XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJ0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ0b29sYmFyQ29udGV4dCgpXCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhclwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciBbaW5wdXRDbGFzc109XCJ0b29sYmFyQ2xhc3MoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPCEtLSBBZGRpdGlvbmFsIHRvb2xiYXIgaXRlbXMgLS0+XG4gICAgICAgICAgICBAaWYgKGFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSB8fCBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQ29weSBidXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKGNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgIFtzbG90XT1cImNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInsgY29udGVudDogZmxhdHRlbmVkQ29udGVudCgpIH1cIlxuICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImNvcHlCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtY29weS1idXR0b25cbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImNvcHlCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoYW5kbGVDb3B5KClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBFZGl0IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICBAaWYgKGVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICBbc2xvdF09XCJlZGl0QnV0dG9uVGVtcGxhdGUgfHwgZWRpdEJ1dHRvbkNvbXBvbmVudCgpXCJcbiAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInt9XCJcbiAgICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImVkaXRCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCIgKGNsaWNrZWQpPVwiaGFuZGxlRWRpdCgpXCI+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQnJhbmNoIG5hdmlnYXRpb24gLS0+XG4gICAgICAgICAgICBAaWYgKHNob3dCcmFuY2hOYXZpZ2F0aW9uKCkpIHtcbiAgICAgICAgICAgICAgQGlmIChicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgICAgW3Nsb3RdPVwiYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJyYW5jaC1uYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgICBbY3VycmVudEJyYW5jaF09XCJicmFuY2hJbmRleFZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW251bWJlck9mQnJhbmNoZXNdPVwibnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZSgpIVwiXG4gICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJicmFuY2hOYXZpZ2F0aW9uQ2xhc3MoKVwiXG4gICAgICAgICAgICAgICAgICAoc3dpdGNoVG9CcmFuY2gpPVwiaGFuZGxlU3dpdGNoVG9CcmFuY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRVc2VyTWVzc2FnZSB7XG4gIC8vIENhcHR1cmUgdGVtcGxhdGVzIGZyb20gY29udGVudCBwcm9qZWN0aW9uXG4gIEBDb250ZW50Q2hpbGQoXCJtZXNzYWdlUmVuZGVyZXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPE1lc3NhZ2VSZW5kZXJlckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwidG9vbGJhclwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRvb2xiYXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiY29weUJ1dHRvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGNvcHlCdXR0b25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPENvcHlCdXR0b25Db250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImVkaXRCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBlZGl0QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxFZGl0QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJicmFuY2hOYXZpZ2F0aW9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8QnJhbmNoTmF2aWdhdGlvbkNvbnRleHQ+O1xuXG4gIC8vIFByb3BzIGZvciB0d2Vha2luZyBkZWZhdWx0IGNvbXBvbmVudHNcbiAgbWVzc2FnZVJlbmRlcmVyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHRvb2xiYXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGJyYW5jaE5hdmlnYXRpb25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wb25lbnQgaW5wdXRzIGZvciBvdmVycmlkZXNcbiAgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBjb3B5QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIFJlZ3VsYXIgaW5wdXRzXG4gIG1lc3NhZ2UgPSBpbnB1dDxVc2VyTWVzc2FnZT4oKTtcbiAgYnJhbmNoSW5kZXggPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIG51bWJlck9mQnJhbmNoZXMgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIGFkZGl0aW9uYWxUb29sYmFySXRlbXMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIE91dHB1dCBldmVudHNcbiAgZWRpdE1lc3NhZ2UgPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uRWRpdE1lc3NhZ2VQcm9wcz4oKTtcbiAgc3dpdGNoVG9CcmFuY2ggPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcz4oKTtcblxuICAvLyBEZXJpdmVkIHZhbHVlc1xuICBicmFuY2hJbmRleFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5icmFuY2hJbmRleCgpID8/IDApO1xuICBudW1iZXJPZkJyYW5jaGVzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiBjbihcImZsZXggZmxleC1jb2wgaXRlbXMtZW5kIGdyb3VwIHB0LTEwXCIsIHRoaXMuaW5wdXRDbGFzcygpKSk7XG5cbiAgLy8gQ29udGV4dCBmb3Igc2xvdHMgKHJlYWN0aXZlIHZpYSBzaWduYWxzKVxuICBmbGF0dGVuZWRDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gZmxhdHRlblVzZXJNZXNzYWdlQ29udGVudCh0aGlzLm1lc3NhZ2UoKT8uY29udGVudCkpO1xuXG4gIG1lc3NhZ2VSZW5kZXJlckNvbnRleHQgPSBjb21wdXRlZDxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PigoKSA9PiAoe1xuICAgIGNvbnRlbnQ6IHRoaXMuZmxhdHRlbmVkQ29udGVudCgpLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zd2l0Y2hUb0JyYW5jaC5lbWl0KHByb3BzKTtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxTQUFTLHlCQUF5QixDQUFDLE9BQWdDO0lBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFDRSxJQUFJO1lBQ0osT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixNQUFNLElBQUksSUFBSTtZQUNiLElBQTJCLENBQUMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1HVCwwR0E3R0MsWUFBWSxzTUFDWixXQUFXLHFIQUNYLDhCQUE4QixrSEFDOUIsZ0NBQWdDLGdLQUNoQyxnQ0FBZ0MscUpBQ2hDLDZCQUE2Qix1R0FDN0Isc0NBQXNDOzs0RkFpSDdCLHNCQUFzQjtrQkEzSGxDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDJCQUEyQixXQUM1Qjt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsOEJBQThCO3dCQUM5QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsNkJBQTZCO3dCQUM3QixzQ0FBc0M7cUJBQ3ZDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtR1Q7d0RBYUQsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUdqRCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgY29tcHV0ZWQsXG4gIFR5cGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzLFxuICB0eXBlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gIHR5cGUgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCxcbiAgdHlwZSBDb3B5QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBFZGl0QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCxcbiAgdHlwZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0LFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyXCI7XG5pbXBvcnQge1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24sXG59IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnV0dG9uc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXRvb2xiYXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQoY29udGVudD86IFVzZXJNZXNzYWdlW1wiY29udGVudFwiXSk6IHN0cmluZyB7XG4gIGlmICghY29udGVudCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudFxuICAgIC5tYXAoKHBhcnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFydCAmJlxuICAgICAgICB0eXBlb2YgcGFydCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcInR5cGVcIiBpbiBwYXJ0ICYmXG4gICAgICAgIChwYXJ0IGFzIHsgdHlwZT86IHVua25vd24gfSkudHlwZSA9PT0gXCJ0ZXh0XCIgJiZcbiAgICAgICAgdHlwZW9mIChwYXJ0IGFzIHsgdGV4dD86IHVua25vd24gfSkudGV4dCA9PT0gXCJzdHJpbmdcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAocGFydCBhcyB7IHRleHQ6IHN0cmluZyB9KS50ZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfSlcbiAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0Lmxlbmd0aCA+IDApXG4gICAgLmpvaW4oXCJcXG5cIik7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlclxuICAgICAgICAgIFtjb250ZW50XT1cImZsYXR0ZW5lZENvbnRlbnQoKVwiXG4gICAgICAgICAgW2lucHV0Q2xhc3NdPVwibWVzc2FnZVJlbmRlcmVyQ2xhc3MoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFRvb2xiYXIgLS0+XG4gICAgICBAaWYgKHRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cInRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cInRvb2xiYXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyIFtpbnB1dENsYXNzXT1cInRvb2xiYXJDbGFzcygpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgdG9vbGJhciBpdGVtcyAtLT5cbiAgICAgICAgICAgIEBpZiAoYWRkaXRpb25hbFRvb2xiYXJJdGVtcygpKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRpdGlvbmFsVG9vbGJhckl0ZW1zKCkgfHwgbnVsbFwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBDb3B5IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAoY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgW3Nsb3RdPVwiY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwieyBjb250ZW50OiBmbGF0dGVuZWRDb250ZW50KCkgfVwiXG4gICAgICAgICAgICAgICAgW291dHB1dHNdPVwiY29weUJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIFtjb250ZW50XT1cImZsYXR0ZW5lZENvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiY29weUJ1dHRvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUNvcHkoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEVkaXQgYnV0dG9uIC0tPlxuICAgICAgICAgICAgQGlmICh0cnVlKSB7XG4gICAgICAgICAgICAgIEBpZiAoZWRpdEJ1dHRvblRlbXBsYXRlIHx8IGVkaXRCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cImVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwie31cIlxuICAgICAgICAgICAgICAgICAgW291dHB1dHNdPVwiZWRpdEJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtZWRpdC1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUVkaXQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1lZGl0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEJyYW5jaCBuYXZpZ2F0aW9uIC0tPlxuICAgICAgICAgICAgQGlmIChzaG93QnJhbmNoTmF2aWdhdGlvbigpKSB7XG4gICAgICAgICAgICAgIEBpZiAoYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cIlxuICAgICAgICAgICAgICAgICAgICBicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiYnJhbmNoTmF2aWdhdGlvbkNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblxuICAgICAgICAgICAgICAgICAgW2N1cnJlbnRCcmFuY2hdPVwiYnJhbmNoSW5kZXhWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFtudW1iZXJPZkJyYW5jaGVzXT1cIm51bWJlck9mQnJhbmNoZXNWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2UoKSFcIlxuICAgICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiYnJhbmNoTmF2aWdhdGlvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgICAgKHN3aXRjaFRvQnJhbmNoKT1cImhhbmRsZVN3aXRjaFRvQnJhbmNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0VXNlck1lc3NhZ2Uge1xuICAvLyBDYXB0dXJlIHRlbXBsYXRlcyBmcm9tIGNvbnRlbnQgcHJvamVjdGlvblxuICBAQ29udGVudENoaWxkKFwibWVzc2FnZVJlbmRlcmVyXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbWVzc2FnZVJlbmRlcmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcInRvb2xiYXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICB0b29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImNvcHlCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBjb3B5QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDb3B5QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJlZGl0QnV0dG9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZWRpdEJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8RWRpdEJ1dHRvbkNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiYnJhbmNoTmF2aWdhdGlvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGJyYW5jaE5hdmlnYXRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PjtcblxuICAvLyBQcm9wcyBmb3IgdHdlYWtpbmcgZGVmYXVsdCBjb21wb25lbnRzXG4gIG1lc3NhZ2VSZW5kZXJlckNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvcHlCdXR0b25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gQ29tcG9uZW50IGlucHV0cyBmb3Igb3ZlcnJpZGVzXG4gIG1lc3NhZ2VSZW5kZXJlckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgdG9vbGJhckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBSZWd1bGFyIGlucHV0c1xuICBtZXNzYWdlID0gaW5wdXQ8VXNlck1lc3NhZ2U+KCk7XG4gIGJyYW5jaEluZGV4ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBudW1iZXJPZkJyYW5jaGVzID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBhZGRpdGlvbmFsVG9vbGJhckl0ZW1zID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgaW5wdXRDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBPdXRwdXQgZXZlbnRzXG4gIGVkaXRNZXNzYWdlID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPbkVkaXRNZXNzYWdlUHJvcHM+KCk7XG4gIHN3aXRjaFRvQnJhbmNoID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHM+KCk7XG5cbiAgLy8gRGVyaXZlZCB2YWx1ZXNcbiAgYnJhbmNoSW5kZXhWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYnJhbmNoSW5kZXgoKSA/PyAwKTtcbiAgbnVtYmVyT2ZCcmFuY2hlc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5udW1iZXJPZkJyYW5jaGVzKCkgPz8gMSk7XG5cbiAgLy8gRGVmYXVsdCBjb21wb25lbnRzXG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUJyYW5jaE5hdmlnYXRpb24gPVxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIGNuKFwiZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgZ3JvdXAgcHQtMTBcIiwgdGhpcy5pbnB1dENsYXNzKCkpLFxuICApO1xuXG4gIC8vIENvbnRleHQgZm9yIHNsb3RzIChyZWFjdGl2ZSB2aWEgc2lnbmFscylcbiAgZmxhdHRlbmVkQ29udGVudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgZmxhdHRlblVzZXJNZXNzYWdlQ29udGVudCh0aGlzLm1lc3NhZ2UoKT8uY29udGVudCksXG4gICk7XG5cbiAgbWVzc2FnZVJlbmRlcmVyQ29udGV4dCA9IGNvbXB1dGVkPE1lc3NhZ2VSZW5kZXJlckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY29udGVudDogdGhpcy5mbGF0dGVuZWRDb250ZW50KCksXG4gIH0pKTtcblxuICAvLyBPdXRwdXQgbWFwcyBmb3Igc2xvdHNcbiAgY29weUJ1dHRvbk91dHB1dHMgPSB7IGNsaWNrZWQ6ICgpID0+IHRoaXMuaGFuZGxlQ29weSgpIH07XG4gIGVkaXRCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUVkaXQoKSB9O1xuXG4gIGJyYW5jaE5hdmlnYXRpb25Db250ZXh0ID0gY29tcHV0ZWQ8QnJhbmNoTmF2aWdhdGlvbkNvbnRleHQ+KCgpID0+ICh7XG4gICAgY3VycmVudEJyYW5jaDogdGhpcy5icmFuY2hJbmRleFZhbHVlKCksXG4gICAgbnVtYmVyT2ZCcmFuY2hlczogdGhpcy5udW1iZXJPZkJyYW5jaGVzVmFsdWUoKSxcbiAgICBvblN3aXRjaFRvQnJhbmNoOiAocHJvcHMpID0+IHRoaXMuaGFuZGxlU3dpdGNoVG9CcmFuY2gocHJvcHMpLFxuICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISxcbiAgfSkpO1xuXG4gIHRvb2xiYXJDb250ZXh0ID0gY29tcHV0ZWQ8VXNlck1lc3NhZ2VUb29sYmFyQ29udGV4dD4oKCkgPT4gKHtcbiAgICBjaGlsZHJlbjogbnVsbCwgLy8gV2lsbCBiZSBwb3B1bGF0ZWQgYnkgdGhlIHRvb2xiYXIgY29udGVudFxuICB9KSk7XG5cbiAgaGFuZGxlQ29weSgpOiB2b2lkIHtcbiAgICAvLyBDb3B5IGlzIGhhbmRsZWQgYnkgdGhlIGJ1dHRvbiBjb21wb25lbnQgaXRzZWxmXG4gICAgLy8gVGhpcyBpcyBqdXN0IGZvciBhbnkgYWRkaXRpb25hbCBsb2dpYyBpZiBuZWVkZWRcbiAgfVxuXG4gIGhhbmRsZUVkaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0TWVzc2FnZS5lbWl0KHsgbWVzc2FnZTogdGhpcy5tZXNzYWdlKCkhIH0pO1xuICB9XG5cbiAgaGFuZGxlU3dpdGNoVG9CcmFuY2goXG4gICAgcHJvcHM6IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3dpdGNoVG9CcmFuY2guZW1pdChwcm9wcyk7XG4gIH1cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlck1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzIHtcbiAgbWVzc2FnZTogVXNlck1lc3NhZ2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcyB7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xuICBicmFuY2hJbmRleDogbnVtYmVyO1xuICBudW1iZXJPZkJyYW5jaGVzOiBudW1iZXI7XG59XG5cbi8vIENvbnRleHQgaW50ZXJmYWNlcyBmb3Igc2xvdHNcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3B5QnV0dG9uQ29udGV4dCB7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvcGllZD86IGJvb2xlYW47XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEJ1dHRvbkNvbnRleHQge1xuICAvLyBFbXB0eSBjb250ZXh0IC0gY2xpY2sgaGFuZGxlZCB2aWEgb3V0cHV0cyBtYXBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIGN1cnJlbnRCcmFuY2g6IG51bWJlcjtcbiAgbnVtYmVyT2ZCcmFuY2hlczogbnVtYmVyO1xuICBvblN3aXRjaFRvQnJhbmNoPzogKHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzKSA9PiB2b2lkO1xuICBtZXNzYWdlOiBVc2VyTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlck1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzIHtcbiAgbWVzc2FnZTogVXNlck1lc3NhZ2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcyB7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xuICBicmFuY2hJbmRleDogbnVtYmVyO1xuICBudW1iZXJPZkJyYW5jaGVzOiBudW1iZXI7XG59XG5cbi8vIENvbnRleHQgaW50ZXJmYWNlcyBmb3Igc2xvdHNcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3B5QnV0dG9uQ29udGV4dCB7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvcGllZD86IGJvb2xlYW47XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEJ1dHRvbkNvbnRleHQge1xuICAvLyBFbXB0eSBjb250ZXh0IC0gY2xpY2sgaGFuZGxlZCB2aWEgb3V0cHV0cyBtYXBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIGN1cnJlbnRCcmFuY2g6IG51bWJlcjtcbiAgbnVtYmVyT2ZCcmFuY2hlczogbnVtYmVyO1xuICBvblN3aXRjaFRvQnJhbmNoPzogKFxuICAgIHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxuICApID0+IHZvaWQ7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQge1xuICBjaGlsZHJlbj86IGFueTtcbn1cbiJdfQ==
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
45
45
  `,
46
46
  }]
47
47
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZGlzY2xhaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7Ozs7R0FJRztBQWFILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxJQUFJLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTFCLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRXJDLGtEQUFrRDtJQUNsRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQVksQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3hDLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUVBQXVFLEVBQ3ZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDbEIsQ0FBQztJQUNKLENBQUM7d0dBckJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGdXQU4xQjs7OztHQUlULDJEQVBTLFlBQVk7OzRGQVNYLHlCQUF5QjtrQkFackMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vL3V0aWxzXCI7XG5pbXBvcnQgeyBpbmplY3RDaGF0TGFiZWxzIH0gZnJvbSBcIi4uLy4uL2NoYXQtY29uZmlnXCI7XG5cbi8qKlxuICogRGlzY2xhaW1lciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogU2hvd3MgY29uZmlndXJhYmxlIGRpc2NsYWltZXIgdGV4dCBiZWxvdyB0aGUgaW5wdXRcbiAqIEludGVncmF0ZXMgd2l0aCBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlIGZvciBsYWJlbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIHt7IGRpc2NsYWltZXJUZXh0IH19XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXIge1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHJlYWRvbmx5IGxhYmVscyA9IGluamVjdENoYXRMYWJlbHMoKTtcblxuICAvLyBHZXQgZGlzY2xhaW1lciB0ZXh0IGZyb20gaW5wdXQgb3IgY29uZmlndXJhdGlvblxuICBnZXQgZGlzY2xhaW1lclRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50ZXh0KCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRleHQoKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmNoYXREaXNjbGFpbWVyVGV4dDtcbiAgfVxuXG4gIC8vIENvbXB1dGVkIGNsYXNzIG1hdGNoaW5nIFJlYWN0IGV4YWN0bHlcbiAgZ2V0IGNvbXB1dGVkQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY24oXG4gICAgICBcInRleHQtY2VudGVyIHRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHB5LTMgcHgtNCBtYXgtdy0zeGwgbXgtYXV0b1wiLFxuICAgICAgdGhpcy5pbnB1dENsYXNzKClcbiAgICApO1xuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZGlzY2xhaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7Ozs7R0FJRztBQWFILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxJQUFJLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTFCLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRXJDLGtEQUFrRDtJQUNsRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQVksQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3hDLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUVBQXVFLEVBQ3ZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDbEIsQ0FBQztJQUNKLENBQUM7d0dBckJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGdXQU4xQjs7OztHQUlULDJEQVBTLFlBQVk7OzRGQVNYLHlCQUF5QjtrQkFackMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vL3V0aWxzXCI7XG5pbXBvcnQgeyBpbmplY3RDaGF0TGFiZWxzIH0gZnJvbSBcIi4uLy4uL2NoYXQtY29uZmlnXCI7XG5cbi8qKlxuICogRGlzY2xhaW1lciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogU2hvd3MgY29uZmlndXJhYmxlIGRpc2NsYWltZXIgdGV4dCBiZWxvdyB0aGUgaW5wdXRcbiAqIEludGVncmF0ZXMgd2l0aCBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlIGZvciBsYWJlbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIHt7IGRpc2NsYWltZXJUZXh0IH19XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXIge1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHJlYWRvbmx5IGxhYmVscyA9IGluamVjdENoYXRMYWJlbHMoKTtcblxuICAvLyBHZXQgZGlzY2xhaW1lciB0ZXh0IGZyb20gaW5wdXQgb3IgY29uZmlndXJhdGlvblxuICBnZXQgZGlzY2xhaW1lclRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50ZXh0KCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRleHQoKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmNoYXREaXNjbGFpbWVyVGV4dDtcbiAgfVxuXG4gIC8vIENvbXB1dGVkIGNsYXNzIG1hdGNoaW5nIFJlYWN0IGV4YWN0bHlcbiAgZ2V0IGNvbXB1dGVkQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY24oXG4gICAgICBcInRleHQtY2VudGVyIHRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHB5LTMgcHgtNCBtYXgtdy0zeGwgbXgtYXV0b1wiLFxuICAgICAgdGhpcy5pbnB1dENsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
38
38
  template: ` <div [class]="computedClass" [style]="style()"></div> `,
39
39
  }]
40
40
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZmVhdGhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakM7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxLQUFLLEdBQUcsS0FBSyxFQUFzQyxDQUFDO0lBRXBELHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUU7UUFDUCxjQUFjO1FBQ2QsZ0VBQWdFO1FBQ2hFLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHFDQUFxQztRQUNyQyxtQkFBbUI7UUFDbkIsb0RBQW9EO1FBQ3BELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDO3dHQWxCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixnV0FGdkIseURBQXlELDJEQUh6RCxZQUFZOzs0RkFLWCxzQkFBc0I7a0JBUmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUseURBQXlEO2lCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogRmVhdGhlciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogQ3JlYXRlcyBhIGdyYWRpZW50IG92ZXJsYXkgZWZmZWN0IGJldHdlZW4gbWVzc2FnZXMgYW5kIGlucHV0XG4gKiBNYXRjaGVzIFJlYWN0IGltcGxlbWVudGF0aW9uIGV4YWN0bHkgd2l0aCBzYW1lIFRhaWx3aW5kIGNsYXNzZXNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzXCIgW3N0eWxlXT1cInN0eWxlKClcIj48L2Rpdj4gYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3RmVhdGhlciB7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHN0eWxlID0gaW5wdXQ8eyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wdXRlZCBjbGFzcyBtYXRjaGluZyBSZWFjdCBleGFjdGx5XG4gIGdldCBjb21wdXRlZENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gUG9zaXRpb25pbmdcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTQgaC0yNCBwb2ludGVyLWV2ZW50cy1ub25lIHotMTBcIixcbiAgICAgIC8vIEdyYWRpZW50XG4gICAgICBcImJnLWdyYWRpZW50LXRvLXRcIixcbiAgICAgIC8vIExpZ2h0IG1vZGUgY29sb3JzXG4gICAgICBcImZyb20td2hpdGUgdmlhLXdoaXRlIHRvLXRyYW5zcGFyZW50XCIsXG4gICAgICAvLyBEYXJrIG1vZGUgY29sb3JzXG4gICAgICBcImRhcms6ZnJvbS1bcmdiKDMzLDMzLDMzKV0gZGFyazp2aWEtW3JnYigzMywzMywzMyldXCIsXG4gICAgICAvLyBDdXN0b20gY2xhc3Nlc1xuICAgICAgdGhpcy5pbnB1dENsYXNzKClcbiAgICApO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctZmVhdGhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakM7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxLQUFLLEdBQUcsS0FBSyxFQUFzQyxDQUFDO0lBRXBELHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUU7UUFDUCxjQUFjO1FBQ2QsZ0VBQWdFO1FBQ2hFLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHFDQUFxQztRQUNyQyxtQkFBbUI7UUFDbkIsb0RBQW9EO1FBQ3BELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDO3dHQWxCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixnV0FGdkIseURBQXlELDJEQUh6RCxZQUFZOzs0RkFLWCxzQkFBc0I7a0JBUmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUseURBQXlEO2lCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogRmVhdGhlciBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogQ3JlYXRlcyBhIGdyYWRpZW50IG92ZXJsYXkgZWZmZWN0IGJldHdlZW4gbWVzc2FnZXMgYW5kIGlucHV0XG4gKiBNYXRjaGVzIFJlYWN0IGltcGxlbWVudGF0aW9uIGV4YWN0bHkgd2l0aCBzYW1lIFRhaWx3aW5kIGNsYXNzZXNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LWZlYXRoZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzXCIgW3N0eWxlXT1cInN0eWxlKClcIj48L2Rpdj4gYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3RmVhdGhlciB7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHN0eWxlID0gaW5wdXQ8eyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wdXRlZCBjbGFzcyBtYXRjaGluZyBSZWFjdCBleGFjdGx5XG4gIGdldCBjb21wdXRlZENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gUG9zaXRpb25pbmdcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTQgaC0yNCBwb2ludGVyLWV2ZW50cy1ub25lIHotMTBcIixcbiAgICAgIC8vIEdyYWRpZW50XG4gICAgICBcImJnLWdyYWRpZW50LXRvLXRcIixcbiAgICAgIC8vIExpZ2h0IG1vZGUgY29sb3JzXG4gICAgICBcImZyb20td2hpdGUgdmlhLXdoaXRlIHRvLXRyYW5zcGFyZW50XCIsXG4gICAgICAvLyBEYXJrIG1vZGUgY29sb3JzXG4gICAgICBcImRhcms6ZnJvbS1bcmdiKDMzLDMzLDMzKV0gZGFyazp2aWEtW3JnYigzMywzMywzMyldXCIsXG4gICAgICAvLyBDdXN0b20gY2xhc3Nlc1xuICAgICAgdGhpcy5pbnB1dENsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
93
93
  `,
94
94
  }]
95
95
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRWpDOzs7O0dBSUc7QUFtQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFVBQVU7SUFDM0QsbUJBQW1CLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRWxELDJCQUEyQjtJQUMzQixLQUFLLEdBQUcsS0FBSyxFQUFtQixDQUFDO0lBQ2pDLFVBQVUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFFekMsZ0NBQWdDO0lBQ2hDLFVBQVUsR0FBRyxLQUFLLEVBQW1CLENBQUM7SUFDdEMsY0FBYyxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUM3QyxlQUFlLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTlDLHFCQUFxQjtJQUNGLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0lBQ3pDLDBCQUEwQixHQUFHLHlCQUF5QixDQUFDO0lBRTFFLFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUNBQXVDLEVBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUMzQixDQUFDO0lBQ0osQ0FBQzt3R0F6QlUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsNjZCQTVCN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUM3RDtTQUNGLGlEQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCwyREE3QlMsWUFBWSwrQkFBRSxXQUFXOzs0RkErQnhCLDZCQUE2QjtrQkFsQ3pDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDN0Q7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRJbnB1dCB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC1pbnB1dFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3RGlzY2xhaW1lciB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogSW5wdXRDb250YWluZXIgY29tcG9uZW50IGZvciBDb3BpbG90Q2hhdFZpZXdcbiAqIENvbnRhaW5lciBmb3IgaW5wdXQgYW5kIGRpc2NsYWltZXIgY29tcG9uZW50c1xuICogVXNlcyBGb3J3YXJkUmVmIGZvciBET00gYWNjZXNzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdmlldy1pbnB1dC1jb250YWluZXJcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29waWxvdFNsb3RdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRWxlbWVudFJlZixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvcGlsb3RDaGF0Vmlld0lucHV0Q29udGFpbmVyKSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIDwhLS0gSW5wdXQgY29tcG9uZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTN4bCBteC1hdXRvIHB5LTAgcHgtNCBzbTpweC0wXCI+XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJpbnB1dCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ7IGlucHV0Q2xhc3M6IGlucHV0Q2xhc3MoKSB9XCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0SW5wdXRDb21wb25lbnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlzY2xhaW1lciAtIGFsd2F5cyByZW5kZXJlZCBsaWtlIGluIFJlYWN0IC0tPlxuICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICBbc2xvdF09XCJkaXNjbGFpbWVyKClcIlxuICAgICAgICBbY29udGV4dF09XCJ7IHRleHQ6IGRpc2NsYWltZXJUZXh0KCksIGlucHV0Q2xhc3M6IGRpc2NsYWltZXJDbGFzcygpIH1cIlxuICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudFwiXG4gICAgICA+XG4gICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXIgZXh0ZW5kcyBFbGVtZW50UmVmIHtcbiAgaW5wdXRDb250YWluZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBJbnB1dCBzbG90IGNvbmZpZ3VyYXRpb25cbiAgaW5wdXQgPSBpbnB1dDxhbnkgfCB1bmRlZmluZWQ+KCk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gRGlzY2xhaW1lciBzbG90IGNvbmZpZ3VyYXRpb25cbiAgZGlzY2xhaW1lciA9IGlucHV0PGFueSB8IHVuZGVmaW5lZD4oKTtcbiAgZGlzY2xhaW1lclRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGRpc2NsYWltZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRJbnB1dENvbXBvbmVudCA9IENvcGlsb3RDaGF0SW5wdXQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXI7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjbihcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgei0yMFwiLFxuICAgICAgdGhpcy5pbnB1dENvbnRhaW5lckNsYXNzKClcbiAgICApO1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY29waWxvdC1jaGF0LXZpZXctaW5wdXQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRWpDOzs7O0dBSUc7QUFtQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFVBQVU7SUFDM0QsbUJBQW1CLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRWxELDJCQUEyQjtJQUMzQixLQUFLLEdBQUcsS0FBSyxFQUFtQixDQUFDO0lBQ2pDLFVBQVUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFFekMsZ0NBQWdDO0lBQ2hDLFVBQVUsR0FBRyxLQUFLLEVBQW1CLENBQUM7SUFDdEMsY0FBYyxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUM3QyxlQUFlLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBRTlDLHFCQUFxQjtJQUNGLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0lBQ3pDLDBCQUEwQixHQUFHLHlCQUF5QixDQUFDO0lBRTFFLFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLENBQ1AsdUNBQXVDLEVBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUMzQixDQUFDO0lBQ0osQ0FBQzt3R0F6QlUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsNjZCQTVCN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUM3RDtTQUNGLGlEQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCwyREE3QlMsWUFBWSwrQkFBRSxXQUFXOzs0RkErQnhCLDZCQUE2QjtrQkFsQ3pDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDN0Q7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRJbnB1dCB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC1pbnB1dFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3RGlzY2xhaW1lciB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LWRpc2NsYWltZXJcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogSW5wdXRDb250YWluZXIgY29tcG9uZW50IGZvciBDb3BpbG90Q2hhdFZpZXdcbiAqIENvbnRhaW5lciBmb3IgaW5wdXQgYW5kIGRpc2NsYWltZXIgY29tcG9uZW50c1xuICogVXNlcyBGb3J3YXJkUmVmIGZvciBET00gYWNjZXNzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdmlldy1pbnB1dC1jb250YWluZXJcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29waWxvdFNsb3RdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRWxlbWVudFJlZixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvcGlsb3RDaGF0Vmlld0lucHV0Q29udGFpbmVyKSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIDwhLS0gSW5wdXQgY29tcG9uZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTN4bCBteC1hdXRvIHB5LTAgcHgtNCBzbTpweC0wXCI+XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJpbnB1dCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ7IGlucHV0Q2xhc3M6IGlucHV0Q2xhc3MoKSB9XCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0SW5wdXRDb21wb25lbnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlzY2xhaW1lciAtIGFsd2F5cyByZW5kZXJlZCBsaWtlIGluIFJlYWN0IC0tPlxuICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICBbc2xvdF09XCJkaXNjbGFpbWVyKClcIlxuICAgICAgICBbY29udGV4dF09XCJ7IHRleHQ6IGRpc2NsYWltZXJUZXh0KCksIGlucHV0Q2xhc3M6IGRpc2NsYWltZXJDbGFzcygpIH1cIlxuICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudFwiXG4gICAgICA+XG4gICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXIgZXh0ZW5kcyBFbGVtZW50UmVmIHtcbiAgaW5wdXRDb250YWluZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBJbnB1dCBzbG90IGNvbmZpZ3VyYXRpb25cbiAgaW5wdXQgPSBpbnB1dDxhbnkgfCB1bmRlZmluZWQ+KCk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gRGlzY2xhaW1lciBzbG90IGNvbmZpZ3VyYXRpb25cbiAgZGlzY2xhaW1lciA9IGlucHV0PGFueSB8IHVuZGVmaW5lZD4oKTtcbiAgZGlzY2xhaW1lclRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGRpc2NsYWltZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRJbnB1dENvbXBvbmVudCA9IENvcGlsb3RDaGF0SW5wdXQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXI7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjbihcbiAgICAgIFwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgei0yMFwiLFxuICAgICAgdGhpcy5pbnB1dENvbnRhaW5lckNsYXNzKCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
86
86
  `,
87
87
  }]
88
88
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXRvLWJvdHRvbS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdG8tYm90dG9tLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVqQzs7O0dBR0c7QUFzQkgsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxVQUFVLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBQ3pDLFFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDakMsd0RBQXdEO0lBQ3hELE9BQU8sR0FBRyxLQUFLLEVBQTRCLENBQUM7SUFFNUMsbUNBQW1DO0lBQ25DLE9BQU8sR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUV6QixpQkFBaUI7SUFDRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRTdDLHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUU7UUFDUCxxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLHVEQUF1RDtRQUN2RCxlQUFlO1FBQ2YseUNBQXlDO1FBQ3pDLFNBQVM7UUFDVCxpREFBaUQ7UUFDakQsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YscUVBQXFFO1FBQ3JFLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQiw4Q0FBOEM7WUFDOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7d0dBMUNVLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHdoQkFmcEM7Ozs7Ozs7Ozs7Ozs7R0FhVCwyREFoQlMsWUFBWSw4QkFBRSxtQkFBbUI7OzRGQWtCaEMsbUNBQW1DO2tCQXJCL0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlLCBDaGV2cm9uRG93biB9IGZyb20gXCJsdWNpZGUtYW5ndWxhclwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBTY3JvbGxUb0JvdHRvbUJ1dHRvbiBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogTWF0Y2hlcyBSZWFjdCBpbXBsZW1lbnRhdGlvbiBleGFjdGx5IHdpdGggc2FtZSBUYWlsd2luZCBjbGFzc2VzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdG8tYm90dG9tLWJ1dHRvblwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGx1Y2lkZS1hbmd1bGFyXG4gICAgICAgIFtpbWddPVwiQ2hldnJvbkRvd25cIlxuICAgICAgICBjbGFzcz1cInctNCBoLTQgdGV4dC1ncmF5LTYwMCBkYXJrOnRleHQtd2hpdGVcIlxuICAgICAgPlxuICAgICAgPC9sdWNpZGUtYW5ndWxhcj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3U2Nyb2xsVG9Cb3R0b21CdXR0b24ge1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgLy8gU3VwcG9ydCBmdW5jdGlvbi1zdHlsZSBjbGljayBoYW5kbGVyIHZpYSBzbG90IGNvbnRleHRcbiAgb25DbGljayA9IGlucHV0PCgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBTaW1wbGUsIGlkaW9tYXRpYyBBbmd1bGFyIG91dHB1dFxuICBjbGlja2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLy8gSWNvbiByZWZlcmVuY2VcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IENoZXZyb25Eb3duID0gQ2hldnJvbkRvd247XG5cbiAgLy8gQ29tcHV0ZWQgY2xhc3MgbWF0Y2hpbmcgUmVhY3QgZXhhY3RseVxuICBnZXQgY29tcHV0ZWRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjbihcbiAgICAgIC8vIEJhc2UgYnV0dG9uIHN0eWxlc1xuICAgICAgXCJyb3VuZGVkLWZ1bGwgdy0xMCBoLTEwIHAtMFwiLFxuICAgICAgLy8gQmFja2dyb3VuZCBjb2xvcnNcbiAgICAgIFwiYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMFwiLFxuICAgICAgLy8gQm9yZGVyIGFuZCBzaGFkb3dcbiAgICAgIFwic2hhZG93LWxnIGJvcmRlciBib3JkZXItZ3JheS0yMDAgZGFyazpib3JkZXItZ3JheS03MDBcIixcbiAgICAgIC8vIEhvdmVyIHN0YXRlc1xuICAgICAgXCJob3ZlcjpiZy1ncmF5LTUwIGRhcms6aG92ZXI6YmctZ3JheS04MDBcIixcbiAgICAgIC8vIExheW91dFxuICAgICAgXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiLFxuICAgICAgLy8gVHJhbnNpdGlvblxuICAgICAgXCJ0cmFuc2l0aW9uLWNvbG9yc1wiLFxuICAgICAgLy8gRm9jdXMgc3RhdGVzXG4gICAgICBcImZvY3VzOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTJcIixcbiAgICAgIC8vIEN1c3RvbSBjbGFzc2VzXG4gICAgICB0aGlzLmlucHV0Q2xhc3MoKVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgLy8gQ2FsbCBpbnB1dCBoYW5kbGVyIGlmIHByb3ZpZGVkIChzbG90LXN0eWxlKVxuICAgICAgaWYgKHRoaXMub25DbGljaygpKSB7XG4gICAgICAgIHRoaXMub25DbGljaygpISgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbGlja2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXRvLWJvdHRvbS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdG8tYm90dG9tLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVqQzs7O0dBR0c7QUFzQkgsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxVQUFVLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBQ3pDLFFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDakMsd0RBQXdEO0lBQ3hELE9BQU8sR0FBRyxLQUFLLEVBQTRCLENBQUM7SUFFNUMsbUNBQW1DO0lBQ25DLE9BQU8sR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUV6QixpQkFBaUI7SUFDRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRTdDLHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUU7UUFDUCxxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLHVEQUF1RDtRQUN2RCxlQUFlO1FBQ2YseUNBQXlDO1FBQ3pDLFNBQVM7UUFDVCxpREFBaUQ7UUFDakQsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YscUVBQXFFO1FBQ3JFLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQiw4Q0FBOEM7WUFDOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7d0dBMUNVLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHdoQkFmcEM7Ozs7Ozs7Ozs7Ozs7R0FhVCwyREFoQlMsWUFBWSw4QkFBRSxtQkFBbUI7OzRGQWtCaEMsbUNBQW1DO2tCQXJCL0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlLCBDaGV2cm9uRG93biB9IGZyb20gXCJsdWNpZGUtYW5ndWxhclwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBTY3JvbGxUb0JvdHRvbUJ1dHRvbiBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogTWF0Y2hlcyBSZWFjdCBpbXBsZW1lbnRhdGlvbiBleGFjdGx5IHdpdGggc2FtZSBUYWlsd2luZCBjbGFzc2VzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdG8tYm90dG9tLWJ1dHRvblwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGx1Y2lkZS1hbmd1bGFyXG4gICAgICAgIFtpbWddPVwiQ2hldnJvbkRvd25cIlxuICAgICAgICBjbGFzcz1cInctNCBoLTQgdGV4dC1ncmF5LTYwMCBkYXJrOnRleHQtd2hpdGVcIlxuICAgICAgPlxuICAgICAgPC9sdWNpZGUtYW5ndWxhcj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3U2Nyb2xsVG9Cb3R0b21CdXR0b24ge1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgLy8gU3VwcG9ydCBmdW5jdGlvbi1zdHlsZSBjbGljayBoYW5kbGVyIHZpYSBzbG90IGNvbnRleHRcbiAgb25DbGljayA9IGlucHV0PCgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBTaW1wbGUsIGlkaW9tYXRpYyBBbmd1bGFyIG91dHB1dFxuICBjbGlja2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLy8gSWNvbiByZWZlcmVuY2VcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IENoZXZyb25Eb3duID0gQ2hldnJvbkRvd247XG5cbiAgLy8gQ29tcHV0ZWQgY2xhc3MgbWF0Y2hpbmcgUmVhY3QgZXhhY3RseVxuICBnZXQgY29tcHV0ZWRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjbihcbiAgICAgIC8vIEJhc2UgYnV0dG9uIHN0eWxlc1xuICAgICAgXCJyb3VuZGVkLWZ1bGwgdy0xMCBoLTEwIHAtMFwiLFxuICAgICAgLy8gQmFja2dyb3VuZCBjb2xvcnNcbiAgICAgIFwiYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMFwiLFxuICAgICAgLy8gQm9yZGVyIGFuZCBzaGFkb3dcbiAgICAgIFwic2hhZG93LWxnIGJvcmRlciBib3JkZXItZ3JheS0yMDAgZGFyazpib3JkZXItZ3JheS03MDBcIixcbiAgICAgIC8vIEhvdmVyIHN0YXRlc1xuICAgICAgXCJob3ZlcjpiZy1ncmF5LTUwIGRhcms6aG92ZXI6YmctZ3JheS04MDBcIixcbiAgICAgIC8vIExheW91dFxuICAgICAgXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiLFxuICAgICAgLy8gVHJhbnNpdGlvblxuICAgICAgXCJ0cmFuc2l0aW9uLWNvbG9yc1wiLFxuICAgICAgLy8gRm9jdXMgc3RhdGVzXG4gICAgICBcImZvY3VzOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTJcIixcbiAgICAgIC8vIEN1c3RvbSBjbGFzc2VzXG4gICAgICB0aGlzLmlucHV0Q2xhc3MoKSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIC8vIENhbGwgaW5wdXQgaGFuZGxlciBpZiBwcm92aWRlZCAoc2xvdC1zdHlsZSlcbiAgICAgIGlmICh0aGlzLm9uQ2xpY2soKSkge1xuICAgICAgICB0aGlzLm9uQ2xpY2soKSEoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -453,4 +453,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
453
453
  type: ViewChild,
454
454
  args: [StickToBottom]
455
455
  }] } });
456
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixRQUFRLEVBSVIsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFM0M7OztHQUdHO0FBaUtILE1BQU0sT0FBTyx5QkFBeUI7SUFHNUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXhDLFVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENB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TTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUpUO2lCQUNGOzhCQWlDQyxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdsRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRXpCLHNCQUFzQjtzQkFBL0MsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPbkRlc3Ryb3ksXG4gIGluamVjdCxcbiAgUExBVEZPUk1fSUQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBDb3BpbG90U2xvdCB9IGZyb20gXCIuLi8uLi9zbG90cy9jb3BpbG90LXNsb3RcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0TWVzc2FnZVZpZXcgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3XCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC10by1ib3R0b20tYnV0dG9uXCI7XG5pbXBvcnQgeyBTdGlja1RvQm90dG9tIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvc3RpY2stdG8tYm90dG9tXCI7XG5pbXBvcnQgeyBTY3JvbGxQb3NpdGlvbiB9IGZyb20gXCIuLi8uLi9zY3JvbGwtcG9zaXRpb25cIjtcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbi8qKlxuICogU2Nyb2xsVmlldyBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogSGFuZGxlcyBhdXRvLXNjcm9sbGluZyBhbmQgc2Nyb2xsIHBvc2l0aW9uIG1hbmFnZW1lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIENvcGlsb3RTbG90LFxuICAgIENvcGlsb3RDaGF0TWVzc2FnZVZpZXcsXG4gICAgU3RpY2tUb0JvdHRvbSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1Njcm9sbFBvc2l0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKCFoYXNNb3VudGVkKCkpIHtcbiAgICAgIDwhLS0gU1NSL0luaXRpYWwgcmVuZGVyIHdpdGhvdXQgc3RpY2stdG8tYm90dG9tIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImgtZnVsbCBtYXgtaC1mdWxsIGZsZXggZmxleC1jb2wgbWluLWgtMCBvdmVyZmxvdy15LXNjcm9sbCBvdmVyZmxvdy14LWhpZGRlblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJweC00IHNtOnB4LTBcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAoIWF1dG9TY3JvbGwoKSkge1xuICAgICAgPCEtLSBNYW51YWwgc2Nyb2xsIG1vZGUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIG1heC1oLWZ1bGwgZmxleCBmbGV4LWNvbCBtaW4taC0wIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAjc2Nyb2xsQ29udGFpbmVyXG4gICAgICAgICAgY2RrU2Nyb2xsYWJsZVxuICAgICAgICAgIFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIlxuICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1zY3JvbGwgb3ZlcmZsb3cteC1oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAjY29udGVudENvbnRhaW5lciBjbGFzcz1cInB4LTQgc206cHgtMFwiPlxuICAgICAgICAgICAgPCEtLSBDb250ZW50IHdpdGggcGFkZGluZy1ib3R0b20gbWF0Y2hpbmcgUmVhY3QgLS0+XG4gICAgICAgICAgICA8ZGl2IFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5weF09XCJwYWRkaW5nQm90dG9tKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTN4bCBteC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgQGlmIChtZXNzYWdlVmlldygpKSB7XG4gICAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICAgIFtzbG90XT1cIm1lc3NhZ2VWaWV3KClcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJtZXNzYWdlVmlld0NvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRNZXNzYWdlVmlld0NvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3XG4gICAgICAgICAgICAgICAgICAgIFttZXNzYWdlc109XCJtZXNzYWdlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwibWVzc2FnZVZpZXdDbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDdXJzb3JdPVwic2hvd0N1cnNvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzVXAuZW1pdCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIChhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93bik9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93bi5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWFkQWxvdWQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZC5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAodXNlck1lc3NhZ2VDb3B5KT1cInVzZXJNZXNzYWdlQ29weS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAodXNlck1lc3NhZ2VFZGl0KT1cInVzZXJNZXNzYWdlRWRpdC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiBmb3IgbWFudWFsIG1vZGUsIE9VVFNJREUgc2Nyb2xsYWJsZSBjb250ZW50IC0tPlxuICAgICAgICBAaWYgKHNob3dTY3JvbGxCdXR0b24oKSAmJiAhaXNSZXNpemluZygpKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgZmxleCBqdXN0aWZ5LWNlbnRlciB6LTMwXCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3R0b20ucHhdPVwiaW5wdXRDb250YWluZXJIZWlnaHQoKSArIDE2XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgIFtzbG90XT1cInNjcm9sbFRvQm90dG9tQnV0dG9uKClcIlxuICAgICAgICAgICAgICBbY29udGV4dF09XCJzY3JvbGxUb0JvdHRvbUNvbnRleHQoKVwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRTY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIFtvdXRwdXRzXT1cInNjcm9sbFRvQm90dG9tT3V0cHV0c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8IS0tIEF1dG8tc2Nyb2xsIG1vZGUgd2l0aCBTdGlja1RvQm90dG9tIGRpcmVjdGl2ZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgbWF4LWgtZnVsbCBmbGV4IGZsZXgtY29sIG1pbi1oLTAgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICNzY3JvbGxDb250YWluZXJcbiAgICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgICAgY29waWxvdFN0aWNrVG9Cb3R0b21cbiAgICAgICAgICBbZW5hYmxlZF09XCJhdXRvU2Nyb2xsKClcIlxuICAgICAgICAgIFt0aHJlc2hvbGRdPVwiMTBcIlxuICAgICAgICAgIFtkZWJvdW5jZU1zXT1cIjBcIlxuICAgICAgICAgIFtpbml0aWFsQmVoYXZpb3JdPVwiJ3Ntb290aCdcIlxuICAgICAgICAgIFtyZXNpemVCZWhhdmlvcl09XCInc21vb3RoJ1wiXG4gICAgICAgICAgKGlzQXRCb3R0b21DaGFuZ2UpPVwib25Jc0F0Qm90dG9tQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIlxuICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1zY3JvbGwgb3ZlcmZsb3cteC1oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBTY3JvbGxhYmxlIGNvbnRlbnQgd3JhcHBlciAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtNCBzbTpweC0wXCI+XG4gICAgICAgICAgICA8IS0tIENvbnRlbnQgd2l0aCBwYWRkaW5nLWJvdHRvbSBtYXRjaGluZyBSZWFjdCAtLT5cbiAgICAgICAgICAgIDxkaXYgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cInBhZGRpbmdCb3R0b20oKVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF4LXctM3hsIG14LWF1dG9cIj5cbiAgICAgICAgICAgICAgICBAaWYgKG1lc3NhZ2VWaWV3KCkpIHtcbiAgICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVZpZXcoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VWaWV3Q29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiZGVmYXVsdE1lc3NhZ2VWaWV3Q29tcG9uZW50XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC1tZXNzYWdlLXZpZXdcbiAgICAgICAgICAgICAgICAgICAgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzKClcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJtZXNzYWdlVmlld0NsYXNzKClcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0N1cnNvcl09XCJzaG93Q3Vyc29yKClcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVRodW1ic1VwKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcC5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNEb3duKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNEb3duLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlUmVhZEFsb3VkLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUuZW1pdCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICh1c2VyTWVzc2FnZUNvcHkpPVwidXNlck1lc3NhZ2VDb3B5LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICh1c2VyTWVzc2FnZUVkaXQpPVwidXNlck1lc3NhZ2VFZGl0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC1tZXNzYWdlLXZpZXc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNjcm9sbCB0byBib3R0b20gYnV0dG9uIC0gaGlkZGVuIGR1cmluZyByZXNpemUsIE9VVFNJREUgc2Nyb2xsYWJsZSBjb250ZW50IC0tPlxuICAgICAgICBAaWYgKCFpc0F0Qm90dG9tKCkgJiYgIWlzUmVzaXppbmcoKSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteC0wIGZsZXgganVzdGlmeS1jZW50ZXIgei0zMFwiXG4gICAgICAgICAgICBbc3R5bGUuYm90dG9tLnB4XT1cImlucHV0Q29udGFpbmVySGVpZ2h0KCkgKyAxNlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICBbc2xvdF09XCJzY3JvbGxUb0JvdHRvbUJ1dHRvbigpXCJcbiAgICAgICAgICAgICAgW2NvbnRleHRdPVwic2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2tDb250ZXh0KClcIlxuICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0U2Nyb2xsVG9Cb3R0b21CdXR0b25Db21wb25lbnRcIlxuICAgICAgICAgICAgICBbb3V0cHV0c109XCJzY3JvbGxUb0JvdHRvbUZyb21TdGlja091dHB1dHNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3U2Nyb2xsVmlld1xuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBhdXRvU2Nyb2xsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgaW5wdXRDb250YWluZXJIZWlnaHQgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIGlzUmVzaXppbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIG1lc3NhZ2VzID0gaW5wdXQ8TWVzc2FnZVtdPihbXSk7XG4gIG1lc3NhZ2VWaWV3ID0gaW5wdXQ8YW55IHwgdW5kZWZpbmVkPigpO1xuICBtZXNzYWdlVmlld0NsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBzaG93Q3Vyc29yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIEhhbmRsZXIgYXZhaWxhYmlsaXR5IGZsYWdzIHJlbW92ZWQgaW4gZmF2b3Igb2YgREkgc2VydmljZVxuXG4gIC8vIFNsb3QgaW5wdXRzXG4gIHNjcm9sbFRvQm90dG9tQnV0dG9uID0gaW5wdXQ8YW55IHwgdW5kZWZpbmVkPigpO1xuICBzY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIE91dHB1dCBldmVudHMgKGJ1YmJsZWQgZnJvbSBtZXNzYWdlIHZpZXcpXG4gIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24gPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIGFzc2lzdGFudE1lc3NhZ2VSZWFkQWxvdWQgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuICB1c2VyTWVzc2FnZUNvcHkgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIHVzZXJNZXNzYWdlRWRpdCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcblxuICAvLyBWaWV3Q2hpbGQgcmVmZXJlbmNlc1xuICBAVmlld0NoaWxkKFwic2Nyb2xsQ29udGFpbmVyXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBzY3JvbGxDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRDb250YWluZXJcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGNvbnRlbnRDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChTdGlja1RvQm90dG9tKSBzdGlja1RvQm90dG9tRGlyZWN0aXZlPzogU3RpY2tUb0JvdHRvbTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNZXNzYWdlVmlld0NvbXBvbmVudCA9IENvcGlsb3RDaGF0TWVzc2FnZVZpZXc7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0U2Nyb2xsVG9Cb3R0b21CdXR0b25Db21wb25lbnQgPVxuICAgIENvcGlsb3RDaGF0Vmlld1Njcm9sbFRvQm90dG9tQnV0dG9uO1xuXG4gIC8vIFNpZ25hbHNcbiAgcHJvdGVjdGVkIGhhc01vdW50ZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2hvd1Njcm9sbEJ1dHRvbiA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBpc0F0Qm90dG9tID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgcGFkZGluZ0JvdHRvbSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXRDb250YWluZXJIZWlnaHQoKSArIDMyKTtcblxuICAvLyBDb21wdXRlZCBjbGFzc1xuICBwcm90ZWN0ZWQgY29tcHV0ZWRDbGFzcyA9IGNvbXB1dGVkKCgpID0+IGNuKHRoaXMuaW5wdXRDbGFzcygpKSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgc2Nyb2xsUG9zaXRpb25TZXJ2aWNlID0gaW5qZWN0KFNjcm9sbFBvc2l0aW9uKTtcblxuICAvLyBObyBtaXJyb3Jpbmcgb2YgaW5wdXRzOyBkZXJpdmUgZGlyZWN0bHkgdmlhIGNvbXB1dGVkKClcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBpbiB0aGUgYnJvd3NlclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAvLyBTZXQgbW91bnRlZCBhZnRlciBhIHRpY2sgdG8gYWxsb3cgZm9yIGh5ZHJhdGlvblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFzTW91bnRlZC5zZXQodHJ1ZSk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmF1dG9TY3JvbGwoKSkge1xuICAgICAgLy8gV2FpdCBmb3IgdGhlIHZpZXcgdG8gYmUgZnVsbHkgcmVuZGVyZWQgYWZ0ZXIgaGFzTW91bnRlZCBpcyBzZXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAvLyBDaGVjayBpbml0aWFsIHNjcm9sbCBwb3NpdGlvblxuICAgICAgICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHRoaXMuc2Nyb2xsUG9zaXRpb25TZXJ2aWNlLmdldFNjcm9sbFN0YXRlKFxuICAgICAgICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIDEwXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnNob3dTY3JvbGxCdXR0b24uc2V0KCFpbml0aWFsU3RhdGUuaXNBdEJvdHRvbSk7XG5cbiAgICAgICAgICAvLyBNb25pdG9yIHNjcm9sbCBwb3NpdGlvbiBmb3IgbWFudWFsIG1vZGVcbiAgICAgICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uU2VydmljZVxuICAgICAgICAgICAgLm1vbml0b3JTY3JvbGxQb3NpdGlvbih0aGlzLnNjcm9sbENvbnRhaW5lciwgMTApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNob3dTY3JvbGxCdXR0b24uc2V0KCFzdGF0ZS5pc0F0Qm90dG9tKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgaXNBdEJvdHRvbSBjaGFuZ2UgZnJvbSBTdGlja1RvQm90dG9tIGRpcmVjdGl2ZVxuICAgKi9cbiAgb25Jc0F0Qm90dG9tQ2hhbmdlKGlzQXRCb3R0b206IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQXRCb3R0b20uc2V0KGlzQXRCb3R0b20pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCB0byBib3R0b20gZm9yIG1hbnVhbCBtb2RlXG4gICAqL1xuICBzY3JvbGxUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb25TZXJ2aWNlLnNjcm9sbFRvQm90dG9tKHRoaXMuc2Nyb2xsQ29udGFpbmVyLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xsIHRvIGJvdHRvbSBmb3Igc3RpY2stdG8tYm90dG9tIG1vZGVcbiAgICovXG4gIHNjcm9sbFRvQm90dG9tRnJvbVN0aWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0aWNrVG9Cb3R0b21EaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuc3RpY2tUb0JvdHRvbURpcmVjdGl2ZS5zY3JvbGxUb0JvdHRvbShcInNtb290aFwiKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvLyBPdXRwdXQgbWFwcyBmb3Igc2xvdHNcbiAgc2Nyb2xsVG9Cb3R0b21PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLnNjcm9sbFRvQm90dG9tKCkgfTtcbiAgc2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2tPdXRwdXRzID0ge1xuICAgIGNsaWNrZWQ6ICgpID0+IHRoaXMuc2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2soKSxcbiAgfTtcblxuICAvLyBDb250ZXh0IG1ldGhvZHMgZm9yIHRlbXBsYXRlc1xuICBtZXNzYWdlVmlld0NvbnRleHQoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZXM6IHRoaXMubWVzc2FnZXMoKSxcbiAgICAgIGlucHV0Q2xhc3M6IHRoaXMubWVzc2FnZVZpZXdDbGFzcygpLFxuICAgICAgc2hvd0N1cnNvcjogdGhpcy5zaG93Q3Vyc29yKCksXG4gICAgfTtcbiAgfVxuXG4gIHNjcm9sbFRvQm90dG9tQ29udGV4dCgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dENsYXNzOiB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3MoKSxcbiAgICAgIG9uQ2xpY2s6ICgpID0+IHRoaXMuc2Nyb2xsVG9Cb3R0b20oKSxcbiAgICB9O1xuICB9XG5cbiAgc2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2tDb250ZXh0KCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0Q2xhc3M6IHRoaXMuc2Nyb2xsVG9Cb3R0b21CdXR0b25DbGFzcygpLFxuICAgICAgb25DbGljazogKCkgPT4gdGhpcy5zY3JvbGxUb0JvdHRvbUZyb21TdGljaygpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
456
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy1zY3JvbGwtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixRQUFRLEVBSVIsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFM0M7OztHQUdHO0FBaUtILE1BQU0sT0FBTyx5QkFBeUI7SUFHNUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXhDLFVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENB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TTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUpUO2lCQUNGOzhCQWlDQyxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdsRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRXpCLHNCQUFzQjtzQkFBL0MsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPbkRlc3Ryb3ksXG4gIGluamVjdCxcbiAgUExBVEZPUk1fSUQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBDb3BpbG90U2xvdCB9IGZyb20gXCIuLi8uLi9zbG90cy9jb3BpbG90LXNsb3RcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0TWVzc2FnZVZpZXcgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3XCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC10by1ib3R0b20tYnV0dG9uXCI7XG5pbXBvcnQgeyBTdGlja1RvQm90dG9tIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvc3RpY2stdG8tYm90dG9tXCI7XG5pbXBvcnQgeyBTY3JvbGxQb3NpdGlvbiB9IGZyb20gXCIuLi8uLi9zY3JvbGwtcG9zaXRpb25cIjtcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbi8qKlxuICogU2Nyb2xsVmlldyBjb21wb25lbnQgZm9yIENvcGlsb3RDaGF0Vmlld1xuICogSGFuZGxlcyBhdXRvLXNjcm9sbGluZyBhbmQgc2Nyb2xsIHBvc2l0aW9uIG1hbmFnZW1lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIENvcGlsb3RTbG90LFxuICAgIENvcGlsb3RDaGF0TWVzc2FnZVZpZXcsXG4gICAgU3RpY2tUb0JvdHRvbSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1Njcm9sbFBvc2l0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKCFoYXNNb3VudGVkKCkpIHtcbiAgICAgIDwhLS0gU1NSL0luaXRpYWwgcmVuZGVyIHdpdGhvdXQgc3RpY2stdG8tYm90dG9tIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImgtZnVsbCBtYXgtaC1mdWxsIGZsZXggZmxleC1jb2wgbWluLWgtMCBvdmVyZmxvdy15LXNjcm9sbCBvdmVyZmxvdy14LWhpZGRlblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJweC00IHNtOnB4LTBcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAoIWF1dG9TY3JvbGwoKSkge1xuICAgICAgPCEtLSBNYW51YWwgc2Nyb2xsIG1vZGUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIG1heC1oLWZ1bGwgZmxleCBmbGV4LWNvbCBtaW4taC0wIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAjc2Nyb2xsQ29udGFpbmVyXG4gICAgICAgICAgY2RrU2Nyb2xsYWJsZVxuICAgICAgICAgIFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIlxuICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1zY3JvbGwgb3ZlcmZsb3cteC1oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAjY29udGVudENvbnRhaW5lciBjbGFzcz1cInB4LTQgc206cHgtMFwiPlxuICAgICAgICAgICAgPCEtLSBDb250ZW50IHdpdGggcGFkZGluZy1ib3R0b20gbWF0Y2hpbmcgUmVhY3QgLS0+XG4gICAgICAgICAgICA8ZGl2IFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5weF09XCJwYWRkaW5nQm90dG9tKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTN4bCBteC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgQGlmIChtZXNzYWdlVmlldygpKSB7XG4gICAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICAgIFtzbG90XT1cIm1lc3NhZ2VWaWV3KClcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJtZXNzYWdlVmlld0NvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRNZXNzYWdlVmlld0NvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3XG4gICAgICAgICAgICAgICAgICAgIFttZXNzYWdlc109XCJtZXNzYWdlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwibWVzc2FnZVZpZXdDbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDdXJzb3JdPVwic2hvd0N1cnNvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzVXAuZW1pdCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIChhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93bik9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93bi5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWFkQWxvdWQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZC5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAodXNlck1lc3NhZ2VDb3B5KT1cInVzZXJNZXNzYWdlQ29weS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAodXNlck1lc3NhZ2VFZGl0KT1cInVzZXJNZXNzYWdlRWRpdC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtbWVzc2FnZS12aWV3PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiBmb3IgbWFudWFsIG1vZGUsIE9VVFNJREUgc2Nyb2xsYWJsZSBjb250ZW50IC0tPlxuICAgICAgICBAaWYgKHNob3dTY3JvbGxCdXR0b24oKSAmJiAhaXNSZXNpemluZygpKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgZmxleCBqdXN0aWZ5LWNlbnRlciB6LTMwXCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3R0b20ucHhdPVwiaW5wdXRDb250YWluZXJIZWlnaHQoKSArIDE2XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgIFtzbG90XT1cInNjcm9sbFRvQm90dG9tQnV0dG9uKClcIlxuICAgICAgICAgICAgICBbY29udGV4dF09XCJzY3JvbGxUb0JvdHRvbUNvbnRleHQoKVwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRTY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIFtvdXRwdXRzXT1cInNjcm9sbFRvQm90dG9tT3V0cHV0c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8IS0tIEF1dG8tc2Nyb2xsIG1vZGUgd2l0aCBTdGlja1RvQm90dG9tIGRpcmVjdGl2ZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgbWF4LWgtZnVsbCBmbGV4IGZsZXgtY29sIG1pbi1oLTAgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICNzY3JvbGxDb250YWluZXJcbiAgICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgICAgY29waWxvdFN0aWNrVG9Cb3R0b21cbiAgICAgICAgICBbZW5hYmxlZF09XCJhdXRvU2Nyb2xsKClcIlxuICAgICAgICAgIFt0aHJlc2hvbGRdPVwiMTBcIlxuICAgICAgICAgIFtkZWJvdW5jZU1zXT1cIjBcIlxuICAgICAgICAgIFtpbml0aWFsQmVoYXZpb3JdPVwiJ3Ntb290aCdcIlxuICAgICAgICAgIFtyZXNpemVCZWhhdmlvcl09XCInc21vb3RoJ1wiXG4gICAgICAgICAgKGlzQXRCb3R0b21DaGFuZ2UpPVwib25Jc0F0Qm90dG9tQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIlxuICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1zY3JvbGwgb3ZlcmZsb3cteC1oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBTY3JvbGxhYmxlIGNvbnRlbnQgd3JhcHBlciAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtNCBzbTpweC0wXCI+XG4gICAgICAgICAgICA8IS0tIENvbnRlbnQgd2l0aCBwYWRkaW5nLWJvdHRvbSBtYXRjaGluZyBSZWFjdCAtLT5cbiAgICAgICAgICAgIDxkaXYgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cInBhZGRpbmdCb3R0b20oKVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF4LXctM3hsIG14LWF1dG9cIj5cbiAgICAgICAgICAgICAgICBAaWYgKG1lc3NhZ2VWaWV3KCkpIHtcbiAgICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVZpZXcoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VWaWV3Q29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiZGVmYXVsdE1lc3NhZ2VWaWV3Q29tcG9uZW50XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC1tZXNzYWdlLXZpZXdcbiAgICAgICAgICAgICAgICAgICAgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzKClcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJtZXNzYWdlVmlld0NsYXNzKClcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0N1cnNvcl09XCJzaG93Q3Vyc29yKClcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVRodW1ic1VwKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcC5lbWl0KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNEb3duKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNEb3duLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhc3Npc3RhbnRNZXNzYWdlUmVhZEFsb3VkLmVtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUuZW1pdCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICh1c2VyTWVzc2FnZUNvcHkpPVwidXNlck1lc3NhZ2VDb3B5LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICh1c2VyTWVzc2FnZUVkaXQpPVwidXNlck1lc3NhZ2VFZGl0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC1tZXNzYWdlLXZpZXc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNjcm9sbCB0byBib3R0b20gYnV0dG9uIC0gaGlkZGVuIGR1cmluZyByZXNpemUsIE9VVFNJREUgc2Nyb2xsYWJsZSBjb250ZW50IC0tPlxuICAgICAgICBAaWYgKCFpc0F0Qm90dG9tKCkgJiYgIWlzUmVzaXppbmcoKSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteC0wIGZsZXgganVzdGlmeS1jZW50ZXIgei0zMFwiXG4gICAgICAgICAgICBbc3R5bGUuYm90dG9tLnB4XT1cImlucHV0Q29udGFpbmVySGVpZ2h0KCkgKyAxNlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICBbc2xvdF09XCJzY3JvbGxUb0JvdHRvbUJ1dHRvbigpXCJcbiAgICAgICAgICAgICAgW2NvbnRleHRdPVwic2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2tDb250ZXh0KClcIlxuICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJkZWZhdWx0U2Nyb2xsVG9Cb3R0b21CdXR0b25Db21wb25lbnRcIlxuICAgICAgICAgICAgICBbb3V0cHV0c109XCJzY3JvbGxUb0JvdHRvbUZyb21TdGlja091dHB1dHNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRWaWV3U2Nyb2xsVmlld1xuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBhdXRvU2Nyb2xsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgaW5wdXRDb250YWluZXJIZWlnaHQgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIGlzUmVzaXppbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIG1lc3NhZ2VzID0gaW5wdXQ8TWVzc2FnZVtdPihbXSk7XG4gIG1lc3NhZ2VWaWV3ID0gaW5wdXQ8YW55IHwgdW5kZWZpbmVkPigpO1xuICBtZXNzYWdlVmlld0NsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBzaG93Q3Vyc29yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIEhhbmRsZXIgYXZhaWxhYmlsaXR5IGZsYWdzIHJlbW92ZWQgaW4gZmF2b3Igb2YgREkgc2VydmljZVxuXG4gIC8vIFNsb3QgaW5wdXRzXG4gIHNjcm9sbFRvQm90dG9tQnV0dG9uID0gaW5wdXQ8YW55IHwgdW5kZWZpbmVkPigpO1xuICBzY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIE91dHB1dCBldmVudHMgKGJ1YmJsZWQgZnJvbSBtZXNzYWdlIHZpZXcpXG4gIGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24gPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIGFzc2lzdGFudE1lc3NhZ2VSZWFkQWxvdWQgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuICB1c2VyTWVzc2FnZUNvcHkgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG4gIHVzZXJNZXNzYWdlRWRpdCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcblxuICAvLyBWaWV3Q2hpbGQgcmVmZXJlbmNlc1xuICBAVmlld0NoaWxkKFwic2Nyb2xsQ29udGFpbmVyXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBzY3JvbGxDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRDb250YWluZXJcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGNvbnRlbnRDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChTdGlja1RvQm90dG9tKSBzdGlja1RvQm90dG9tRGlyZWN0aXZlPzogU3RpY2tUb0JvdHRvbTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNZXNzYWdlVmlld0NvbXBvbmVudCA9IENvcGlsb3RDaGF0TWVzc2FnZVZpZXc7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0U2Nyb2xsVG9Cb3R0b21CdXR0b25Db21wb25lbnQgPVxuICAgIENvcGlsb3RDaGF0Vmlld1Njcm9sbFRvQm90dG9tQnV0dG9uO1xuXG4gIC8vIFNpZ25hbHNcbiAgcHJvdGVjdGVkIGhhc01vdW50ZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2hvd1Njcm9sbEJ1dHRvbiA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBpc0F0Qm90dG9tID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgcGFkZGluZ0JvdHRvbSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXRDb250YWluZXJIZWlnaHQoKSArIDMyKTtcblxuICAvLyBDb21wdXRlZCBjbGFzc1xuICBwcm90ZWN0ZWQgY29tcHV0ZWRDbGFzcyA9IGNvbXB1dGVkKCgpID0+IGNuKHRoaXMuaW5wdXRDbGFzcygpKSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgc2Nyb2xsUG9zaXRpb25TZXJ2aWNlID0gaW5qZWN0KFNjcm9sbFBvc2l0aW9uKTtcblxuICAvLyBObyBtaXJyb3Jpbmcgb2YgaW5wdXRzOyBkZXJpdmUgZGlyZWN0bHkgdmlhIGNvbXB1dGVkKClcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBpbiB0aGUgYnJvd3NlclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAvLyBTZXQgbW91bnRlZCBhZnRlciBhIHRpY2sgdG8gYWxsb3cgZm9yIGh5ZHJhdGlvblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFzTW91bnRlZC5zZXQodHJ1ZSk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmF1dG9TY3JvbGwoKSkge1xuICAgICAgLy8gV2FpdCBmb3IgdGhlIHZpZXcgdG8gYmUgZnVsbHkgcmVuZGVyZWQgYWZ0ZXIgaGFzTW91bnRlZCBpcyBzZXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAvLyBDaGVjayBpbml0aWFsIHNjcm9sbCBwb3NpdGlvblxuICAgICAgICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHRoaXMuc2Nyb2xsUG9zaXRpb25TZXJ2aWNlLmdldFNjcm9sbFN0YXRlKFxuICAgICAgICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5zaG93U2Nyb2xsQnV0dG9uLnNldCghaW5pdGlhbFN0YXRlLmlzQXRCb3R0b20pO1xuXG4gICAgICAgICAgLy8gTW9uaXRvciBzY3JvbGwgcG9zaXRpb24gZm9yIG1hbnVhbCBtb2RlXG4gICAgICAgICAgdGhpcy5zY3JvbGxQb3NpdGlvblNlcnZpY2VcbiAgICAgICAgICAgIC5tb25pdG9yU2Nyb2xsUG9zaXRpb24odGhpcy5zY3JvbGxDb250YWluZXIsIDEwKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zaG93U2Nyb2xsQnV0dG9uLnNldCghc3RhdGUuaXNBdEJvdHRvbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGlzQXRCb3R0b20gY2hhbmdlIGZyb20gU3RpY2tUb0JvdHRvbSBkaXJlY3RpdmVcbiAgICovXG4gIG9uSXNBdEJvdHRvbUNoYW5nZShpc0F0Qm90dG9tOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0F0Qm90dG9tLnNldChpc0F0Qm90dG9tKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGwgdG8gYm90dG9tIGZvciBtYW51YWwgbW9kZVxuICAgKi9cbiAgc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uU2VydmljZS5zY3JvbGxUb0JvdHRvbSh0aGlzLnNjcm9sbENvbnRhaW5lciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCB0byBib3R0b20gZm9yIHN0aWNrLXRvLWJvdHRvbSBtb2RlXG4gICAqL1xuICBzY3JvbGxUb0JvdHRvbUZyb21TdGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGlja1RvQm90dG9tRGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLnN0aWNrVG9Cb3R0b21EaXJlY3RpdmUuc2Nyb2xsVG9Cb3R0b20oXCJzbW9vdGhcIik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIHNjcm9sbFRvQm90dG9tT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5zY3JvbGxUb0JvdHRvbSgpIH07XG4gIHNjcm9sbFRvQm90dG9tRnJvbVN0aWNrT3V0cHV0cyA9IHtcbiAgICBjbGlja2VkOiAoKSA9PiB0aGlzLnNjcm9sbFRvQm90dG9tRnJvbVN0aWNrKCksXG4gIH07XG5cbiAgLy8gQ29udGV4dCBtZXRob2RzIGZvciB0ZW1wbGF0ZXNcbiAgbWVzc2FnZVZpZXdDb250ZXh0KCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VzOiB0aGlzLm1lc3NhZ2VzKCksXG4gICAgICBpbnB1dENsYXNzOiB0aGlzLm1lc3NhZ2VWaWV3Q2xhc3MoKSxcbiAgICAgIHNob3dDdXJzb3I6IHRoaXMuc2hvd0N1cnNvcigpLFxuICAgIH07XG4gIH1cblxuICBzY3JvbGxUb0JvdHRvbUNvbnRleHQoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXRDbGFzczogdGhpcy5zY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzKCksXG4gICAgICBvbkNsaWNrOiAoKSA9PiB0aGlzLnNjcm9sbFRvQm90dG9tKCksXG4gICAgfTtcbiAgfVxuXG4gIHNjcm9sbFRvQm90dG9tRnJvbVN0aWNrQ29udGV4dCgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dENsYXNzOiB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3MoKSxcbiAgICAgIG9uQ2xpY2s6ICgpID0+IHRoaXMuc2Nyb2xsVG9Cb3R0b21Gcm9tU3RpY2soKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -401,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
401
401
  type: ViewChild,
402
402
  args: ["inputContainerSlotRef", { read: ElementRef }]
403
403
  }] } });
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUV2QixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFLTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFM0M7Ozs7Ozs7Ozs7OztHQVlHO0FBMERILE1BQU0sT0FBTyxlQUFlO0lBc0toQjtJQUNBO0lBQ0E7SUFyS1YsbUNBQW1DO0lBQ25D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QkFDM0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRFQ7aUJBQ0Y7Z0tBNkMrQixvQkFBb0I7c0JBQWpELFlBQVk7dUJBQUMsY0FBYztnQkFHQSxrQkFBa0I7c0JBQTdDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRCxlQUFlO3NCQUF2QyxZQUFZO3VCQUFDLFNBQVM7Z0JBQ0csZ0JBQWdCO3NCQUF6QyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ08scUJBQXFCO3NCQUFuRCxZQUFZO3VCQUFDLGVBQWU7Z0JBRTdCLHdDQUF3QztzQkFEdkMsWUFBWTt1QkFBQyxrQ0FBa0M7Z0JBRWhCLHNCQUFzQjtzQkFBckQsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ksd0JBQXdCO3NCQUF6RCxZQUFZO3VCQUFDLGtCQUFrQjtnQkFDQyx1QkFBdUI7c0JBQXZELFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNHLHdCQUF3QjtzQkFBekQsWUFBWTt1QkFBQyxrQkFBa0I7Z0JBY2hDLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3U2Nyb2xsVmlldyB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC10by1ib3R0b20tYnV0dG9uXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdGZWF0aGVyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXZpZXctZmVhdGhlclwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdmlldy1pbnB1dC1jb250YWluZXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdmlldy1kaXNjbGFpbWVyXCI7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcmVzaXplLW9ic2VydmVyXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdIYW5kbGVycyB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LWhhbmRsZXJzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vKipcbiAqIENvcGlsb3RDaGF0VmlldyBjb21wb25lbnQgLSBBbmd1bGFyIHBvcnQgb2YgdGhlIFJlYWN0IGNvbXBvbmVudC5cbiAqIEEgY29tcGxldGUgY2hhdCBpbnRlcmZhY2Ugd2l0aCBtZXNzYWdlIGZlZWQgYW5kIGlucHV0IGNvbXBvbmVudHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxjb3BpbG90LWNoYXQtdmlld1xuICogICBbbWVzc2FnZXNdPVwibWVzc2FnZXNcIlxuICogICBbYXV0b1Njcm9sbF09XCJ0cnVlXCJcbiAqICAgW21lc3NhZ2VWaWV3UHJvcHNdPVwieyBhc3Npc3RhbnRNZXNzYWdlOiB7IG9uVGh1bWJzVXA6IGhhbmRsZVRodW1ic1VwIH0gfVwiPlxuICogPC9jb3BpbG90LWNoYXQtdmlldz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1jaGF0LXZpZXdcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29waWxvdFNsb3QsIENvcGlsb3RDaGF0Vmlld1Njcm9sbFZpZXddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLCBDb3BpbG90Q2hhdFZpZXdIYW5kbGVyc10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBDdXN0b20gbGF5b3V0IHRlbXBsYXRlIHN1cHBvcnQgKHJlbmRlciBwcm9wIHBhdHRlcm4pIC0tPlxuICAgIEBpZiAoY3VzdG9tTGF5b3V0VGVtcGxhdGUpIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTGF5b3V0VGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwibGF5b3V0Q29udGV4dCgpXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDwhLS0gRGVmYXVsdCBsYXlvdXQgLSBleGFjdCBSZWFjdCBET00gc3RydWN0dXJlIC0tPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzcygpXCI+XG4gICAgICAgIDwhLS0gU2Nyb2xsVmlldyAtLT5cbiAgICAgICAgPGNvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XG4gICAgICAgICAgW2F1dG9TY3JvbGxdPVwiYXV0b1Njcm9sbFNpZ25hbCgpXCJcbiAgICAgICAgICBbaW5wdXRDb250YWluZXJIZWlnaHRdPVwiaW5wdXRDb250YWluZXJIZWlnaHQoKVwiXG4gICAgICAgICAgW2lzUmVzaXppbmddPVwiaXNSZXNpemluZygpXCJcbiAgICAgICAgICBbbWVzc2FnZXNdPVwibWVzc2FnZXNWYWx1ZSgpXCJcbiAgICAgICAgICBbbWVzc2FnZVZpZXddPVwibWVzc2FnZVZpZXdTbG90KClcIlxuICAgICAgICAgIFttZXNzYWdlVmlld0NsYXNzXT1cIm1lc3NhZ2VWaWV3Q2xhc3MoKVwiXG4gICAgICAgICAgW3Njcm9sbFRvQm90dG9tQnV0dG9uXT1cInNjcm9sbFRvQm90dG9tQnV0dG9uU2xvdCgpXCJcbiAgICAgICAgICBbc2Nyb2xsVG9Cb3R0b21CdXR0b25DbGFzc109XCJzY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzKClcIlxuICAgICAgICAgIFtzaG93Q3Vyc29yXT1cInNob3dDdXJzb3JTaWduYWwoKVwiXG4gICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCk9XCJhc3Npc3RhbnRNZXNzYWdlVGh1bWJzVXAuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24pPVwiYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCk9XCJhc3Npc3RhbnRNZXNzYWdlUmVhZEFsb3VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlKT1cImFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgKHVzZXJNZXNzYWdlQ29weSk9XCJ1c2VyTWVzc2FnZUNvcHkuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAodXNlck1lc3NhZ2VFZGl0KT1cInVzZXJNZXNzYWdlRWRpdC5lbWl0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXZpZXc+XG5cbiAgICAgICAgPCEtLSBGZWF0aGVyIGVmZmVjdCAtLT5cbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cImZlYXRoZXJTbG90KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cInsgaW5wdXRDbGFzczogZmVhdGhlckNsYXNzIH1cIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRGZWF0aGVyQ29tcG9uZW50XCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cblxuICAgICAgICA8IS0tIElucHV0IGNvbnRhaW5lciAtLT5cbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICNpbnB1dENvbnRhaW5lclNsb3RSZWZcbiAgICAgICAgICBbc2xvdF09XCJpbnB1dENvbnRhaW5lclNsb3QoKVwiXG4gICAgICAgICAgW2NvbnRleHRdPVwiaW5wdXRDb250YWluZXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRJbnB1dENvbnRhaW5lckNvbXBvbmVudFwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld1xuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgLy8gQ29yZSBpbnB1dHMgbWF0Y2hpbmcgUmVhY3QgcHJvcHNcbiAgbWVzc2FnZXMgPSBpbnB1dDxNZXNzYWdlW10+KFtdKTtcbiAgYXV0b1Njcm9sbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICBzaG93Q3Vyc29yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIE1lc3NhZ2VWaWV3IHNsb3QgaW5wdXRzXG4gIG1lc3NhZ2VWaWV3Q29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBtZXNzYWdlVmlld1RlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgbWVzc2FnZVZpZXdDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBTY3JvbGxWaWV3IHNsb3QgaW5wdXRzXG4gIHNjcm9sbFZpZXdDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFZpZXdUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFZpZXdDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBTY3JvbGxUb0JvdHRvbUJ1dHRvbiBzbG90IGlucHV0c1xuICBzY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgc2Nyb2xsVG9Cb3R0b21CdXR0b25UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gSW5wdXQgc2xvdCBpbnB1dHNcbiAgaW5wdXRDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGlucHV0VGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8vIElucHV0Q29udGFpbmVyIHNsb3QgaW5wdXRzXG4gIGlucHV0Q29udGFpbmVyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBpbnB1dENvbnRhaW5lclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaW5wdXRDb250YWluZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBGZWF0aGVyIHNsb3QgaW5wdXRzXG4gIGZlYXRoZXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGZlYXRoZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGZlYXRoZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBEaXNjbGFpbWVyIHNsb3QgaW5wdXRzXG4gIGRpc2NsYWltZXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGRpc2NsYWltZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGRpc2NsYWltZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgZGlzY2xhaW1lclRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gQ3VzdG9tIGxheW91dCB0ZW1wbGF0ZSAocmVuZGVyIHByb3AgcGF0dGVybilcbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUxheW91dFwiKSBjdXN0b21MYXlvdXRUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLy8gTmFtZWQgdGVtcGxhdGUgc2xvdHMgZm9yIGRlZXAgY3VzdG9taXphdGlvblxuICBAQ29udGVudENoaWxkKFwic2VuZEJ1dHRvblwiKSBzZW5kQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidG9vbGJhclwiKSB0b29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGV4dEFyZWFcIikgdGV4dEFyZWFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJhdWRpb1JlY29yZGVyXCIpIGF1ZGlvUmVjb3JkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJhc3Npc3RhbnRNZXNzYWdlTWFya2Rvd25SZW5kZXJlclwiKVxuICBhc3Npc3RhbnRNZXNzYWdlTWFya2Rvd25SZW5kZXJlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInRodW1ic1VwQnV0dG9uXCIpIHRodW1ic1VwQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGh1bWJzRG93bkJ1dHRvblwiKSB0aHVtYnNEb3duQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwicmVhZEFsb3VkQnV0dG9uXCIpIHJlYWRBbG91ZEJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInJlZ2VuZXJhdGVCdXR0b25cIikgcmVnZW5lcmF0ZUJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyBPdXRwdXQgZXZlbnRzIGZvciBhc3Npc3RhbnQgbWVzc2FnZSBhY3Rpb25zIChidWJibGVkIGZyb20gY2hpbGQgY29tcG9uZW50cylcbiAgYXNzaXN0YW50TWVzc2FnZVRodW1ic1VwID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93biA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG5cbiAgLy8gT3V0cHV0IGV2ZW50cyBmb3IgdXNlciBtZXNzYWdlIGFjdGlvbnMgKGlmIGFwcGxpY2FibGUpXG4gIHVzZXJNZXNzYWdlQ29weSA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgdXNlck1lc3NhZ2VFZGl0ID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuXG4gIC8vIFZpZXdDaGlsZCByZWZlcmVuY2VzXG4gIEBWaWV3Q2hpbGQoXCJpbnB1dENvbnRhaW5lclNsb3RSZWZcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGlucHV0Q29udGFpbmVyU2xvdFJlZj86IEVsZW1lbnRSZWY7XG5cbiAgLy8gRGVmYXVsdCBjb21wb25lbnRzIGZvciBzbG90c1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFNjcm9sbFZpZXdDb21wb25lbnQgPSBDb3BpbG90Q2hhdFZpZXdTY3JvbGxWaWV3O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFNjcm9sbFRvQm90dG9tQnV0dG9uQ29tcG9uZW50ID1cbiAgICBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRJbnB1dENvbnRhaW5lckNvbXBvbmVudCA9XG4gICAgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RmVhdGhlckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0ZlYXRoZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXI7XG5cbiAgLy8gU2lnbmFscyBmb3IgcmVhY3RpdmUgc3RhdGVcbiAgcHJvdGVjdGVkIG1lc3NhZ2VzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1lc3NhZ2VzKCkpO1xuICBwcm90ZWN0ZWQgYXV0b1Njcm9sbFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXV0b1Njcm9sbCgpKTtcbiAgcHJvdGVjdGVkIHNob3dDdXJzb3JTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNob3dDdXJzb3IoKSk7XG4gIHByb3RlY3RlZCBkaXNjbGFpbWVyVGV4dFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzY2xhaW1lclRleHQoKSk7XG4gIHByb3RlY3RlZCBkaXNjbGFpbWVyQ2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRpc2NsYWltZXJDbGFzcygpKTtcbiAgcHJvdGVjdGVkIGlucHV0Q29udGFpbmVySGVpZ2h0ID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIHByb3RlY3RlZCBpc1Jlc2l6aW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJvdGVjdGVkIGNvbnRlbnRQYWRkaW5nQm90dG9tID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5pbnB1dENvbnRhaW5lckhlaWdodCgpICsgMzJcbiAgKTtcblxuICAvLyBDb21wdXRlZCBzaWduYWxzXG4gIHByb3RlY3RlZCBjb21wdXRlZENsYXNzID0gY29tcHV0ZWQoKCkgPT4gY24oXCJyZWxhdGl2ZSBoLWZ1bGxcIikpO1xuXG4gIC8vIFNsb3QgcmVzb2x1dGlvbiBjb21wdXRlZCBzaWduYWxzXG4gIHByb3RlY3RlZCBtZXNzYWdlVmlld1Nsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLm1lc3NhZ2VWaWV3VGVtcGxhdGUoKSB8fCB0aGlzLm1lc3NhZ2VWaWV3Q29tcG9uZW50KClcbiAgKTtcblxuICBwcm90ZWN0ZWQgc2Nyb2xsVmlld1Nsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnNjcm9sbFZpZXdUZW1wbGF0ZSgpIHx8IHRoaXMuc2Nyb2xsVmlld0NvbXBvbmVudCgpXG4gICk7XG5cbiAgcHJvdGVjdGVkIHNjcm9sbFRvQm90dG9tQnV0dG9uU2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uVGVtcGxhdGUoKSB8fFxuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudCgpXG4gICk7XG5cbiAgcHJvdGVjdGVkIGlucHV0U2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuaW5wdXRUZW1wbGF0ZSgpIHx8IHRoaXMuaW5wdXRDb21wb25lbnQoKVxuICApO1xuXG4gIHByb3RlY3RlZCBpbnB1dENvbnRhaW5lclNsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmlucHV0Q29udGFpbmVyVGVtcGxhdGUoKSB8fCB0aGlzLmlucHV0Q29udGFpbmVyQ29tcG9uZW50KClcbiAgKTtcblxuICBwcm90ZWN0ZWQgZmVhdGhlclNsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmZlYXRoZXJUZW1wbGF0ZSgpIHx8IHRoaXMuZmVhdGhlckNvbXBvbmVudCgpXG4gICk7XG5cbiAgcHJvdGVjdGVkIGRpc2NsYWltZXJTbG90ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5kaXNjbGFpbWVyVGVtcGxhdGUoKSB8fCB0aGlzLmRpc2NsYWltZXJDb21wb25lbnQoKVxuICApO1xuXG4gIC8vIENvbnRleHQgb2JqZWN0cyBmb3Igc2xvdHNcbiAgcHJvdGVjdGVkIHNjcm9sbFZpZXdDb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBhdXRvU2Nyb2xsOiB0aGlzLmF1dG9TY3JvbGxTaWduYWwoKSxcbiAgICBzY3JvbGxUb0JvdHRvbUJ1dHRvbjogdGhpcy5zY3JvbGxUb0JvdHRvbUJ1dHRvblNsb3QoKSxcbiAgICBzY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzOiB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3MoKSxcbiAgICBpbnB1dENvbnRhaW5lckhlaWdodDogdGhpcy5pbnB1dENvbnRhaW5lckhlaWdodCgpLFxuICAgIGlzUmVzaXppbmc6IHRoaXMuaXNSZXNpemluZygpLFxuICAgIG1lc3NhZ2VzOiB0aGlzLm1lc3NhZ2VzVmFsdWUoKSxcbiAgICBtZXNzYWdlVmlldzogdGhpcy5tZXNzYWdlVmlld1Nsb3QoKSxcbiAgICBtZXNzYWdlVmlld0NsYXNzOiB0aGlzLm1lc3NhZ2VWaWV3Q2xhc3MoKSxcbiAgfSkpO1xuXG4gIC8vIFJlbW92ZWQgc2Nyb2xsVmlld1Byb3BzQ29tcHV0ZWQgLSBubyBsb25nZXIgbmVlZGVkXG5cbiAgcHJvdGVjdGVkIGlucHV0Q29udGFpbmVyQ29udGV4dCA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgaW5wdXQ6IHRoaXMuaW5wdXRTbG90KCksXG4gICAgZGlzY2xhaW1lcjogdGhpcy5kaXNjbGFpbWVyU2xvdCgpLFxuICAgIGRpc2NsYWltZXJUZXh0OiB0aGlzLmRpc2NsYWltZXJUZXh0U2lnbmFsKCksXG4gICAgZGlzY2xhaW1lckNsYXNzOiB0aGlzLmRpc2NsYWltZXJDbGFzc1NpZ25hbCgpLFxuICAgIGlucHV0Q29udGFpbmVyQ2xhc3M6IHRoaXMuaW5wdXRDb250YWluZXJDbGFzcygpLFxuICB9KSk7XG5cbiAgLy8gUmVtb3ZlZCBpbnB1dENvbnRhaW5lclByb3BzQ29tcHV0ZWQgLSBubyBsb25nZXIgbmVlZGVkXG5cbiAgLy8gTGF5b3V0IGNvbnRleHQgZm9yIGN1c3RvbSB0ZW1wbGF0ZXMgKHJlbmRlciBwcm9wIHBhdHRlcm4pXG4gIHByb3RlY3RlZCBsYXlvdXRDb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBtZXNzYWdlVmlldzogdGhpcy5tZXNzYWdlVmlld1Nsb3QoKSxcbiAgICBpbnB1dDogdGhpcy5pbnB1dFNsb3QoKSxcbiAgICBzY3JvbGxWaWV3OiB0aGlzLnNjcm9sbFZpZXdTbG90KCksXG4gICAgc2Nyb2xsVG9Cb3R0b21CdXR0b246IHRoaXMuc2Nyb2xsVG9Cb3R0b21CdXR0b25TbG90KCksXG4gICAgZmVhdGhlcjogdGhpcy5mZWF0aGVyU2xvdCgpLFxuICAgIGlucHV0Q29udGFpbmVyOiB0aGlzLmlucHV0Q29udGFpbmVyU2xvdCgpLFxuICAgIGRpc2NsYWltZXI6IHRoaXMuZGlzY2xhaW1lclNsb3QoKSxcbiAgfSkpO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlc2l6ZVRpbWVvdXRSZWY/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlclNlcnZpY2U6IFJlc2l6ZU9ic2VydmVyU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBoYW5kbGVyczogQ29waWxvdENoYXRWaWV3SGFuZGxlcnNcbiAgKSB7XG4gICAgLy8gQ2xlYXIgYW55IHBlbmRpbmcgcmVzaXplIHRpbWVvdXQgd2hlbiB0b2dnbGluZyBpc1Jlc2l6aW5nLCB3aXRob3V0IHNpZ25hbCB3cml0ZXMgaGVyZVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbGl6ZSBoYW5kbGVyIGF2YWlsYWJpbGl0eSBpbiB0aGUgdmlldy1zY29wZWQgc2VydmljZVxuICAgIC8vIE91dHB1dEVtaXR0ZXJSZWYgZG9lc24ndCBleHBvc2UgJ29ic2VydmVkJzsgZGVmYXVsdCB0byB0cnVlIHRvIGVuYWJsZSBVSSBhZmZvcmRhbmNlc1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50VGh1bWJzVXBIYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc0Fzc2lzdGFudFRodW1ic0Rvd25IYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc0Fzc2lzdGFudFJlYWRBbG91ZEhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50UmVnZW5lcmF0ZUhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzVXNlckNvcHlIYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc1VzZXJFZGl0SGFuZGxlci5zZXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBLZWVwIGhhbmRsZXIgYXZhaWxhYmlsaXR5IGluIHN5bmMgKGFzc3VtZSBhdmFpbGFibGUpXG4gICAgdGhpcy5oYW5kbGVycy5oYXNBc3Npc3RhbnRUaHVtYnNVcEhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50VGh1bWJzRG93bkhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50UmVhZEFsb3VkSGFuZGxlci5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oYW5kbGVycy5oYXNBc3Npc3RhbnRSZWdlbmVyYXRlSGFuZGxlci5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oYW5kbGVycy5oYXNVc2VyQ29weUhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzVXNlckVkaXRIYW5kbGVyLnNldCh0cnVlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBEb24ndCBzZXQgYSBkZWZhdWx0IGhlaWdodCAtIG1lYXN1cmUgaXQgZHluYW1pY2FsbHlcblxuICAgIC8vIFNldCB1cCBpbnB1dCBjb250YWluZXIgaGVpZ2h0IG1vbml0b3JpbmdcbiAgICBjb25zdCBtZWFzdXJlQW5kT2JzZXJ2ZSA9ICgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaW5wdXRDb250YWluZXJTbG90UmVmIHx8XG4gICAgICAgICF0aGlzLmlucHV0Q29udGFpbmVyU2xvdFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgc2xvdCByZWYgcG9pbnRzIHRvIHRoZSBjb3BpbG90LXNsb3QgZWxlbWVudFxuICAgICAgLy8gV2UgbmVlZCB0byBmaW5kIHRoZSBhY3R1YWwgaW5wdXQgY29udGFpbmVyIGNvbXBvbmVudCBpbnNpZGUgaXRcbiAgICAgIGNvbnN0IHNsb3RFbGVtZW50ID0gdGhpcy5pbnB1dENvbnRhaW5lclNsb3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnQgPSBzbG90RWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBcImNvcGlsb3QtY2hhdC12aWV3LWlucHV0LWNvbnRhaW5lclwiXG4gICAgICApO1xuXG4gICAgICBpZiAoIWNvbXBvbmVudEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBMb29rIGZvciB0aGUgYWJzb2x1dGUgcG9zaXRpb25lZCBkaXYgdGhhdCBjb250YWlucyB0aGUgaW5wdXRcbiAgICAgIGxldCBpbm5lckRpdiA9IGNvbXBvbmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgXCJkaXYuYWJzb2x1dGVcIlxuICAgICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gSWYgbm90IGZvdW5kIGJ5IGNsYXNzLCB0cnkgZmlyc3QgY2hpbGRcbiAgICAgIGlmICghaW5uZXJEaXYpIHtcbiAgICAgICAgaW5uZXJEaXYgPSBjb21wb25lbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlubmVyRGl2KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFsIGhlaWdodFxuICAgICAgY29uc3QgbWVhc3VyZWRIZWlnaHQgPSBpbm5lckRpdi5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgIGlmIChtZWFzdXJlZEhlaWdodCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Y2Nlc3MhIFNldCB0aGUgaW5pdGlhbCBoZWlnaHRcbiAgICAgIHRoaXMuaW5wdXRDb250YWluZXJIZWlnaHQuc2V0KG1lYXN1cmVkSGVpZ2h0KTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgLy8gQ3JlYXRlIGFuIEVsZW1lbnRSZWYgd3JhcHBlciBmb3IgUmVzaXplT2JzZXJ2ZXJcbiAgICAgIGNvbnN0IGlubmVyRGl2UmVmID0gbmV3IEVsZW1lbnRSZWYoaW5uZXJEaXYpO1xuXG4gICAgICAvLyBTZXQgdXAgUmVzaXplT2JzZXJ2ZXIgdG8gdHJhY2sgY2hhbmdlc1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlclNlcnZpY2VcbiAgICAgICAgLm9ic2VydmVFbGVtZW50KGlubmVyRGl2UmVmLCAwLCAyNTApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdIZWlnaHQgPSBzdGF0ZS5oZWlnaHQ7XG5cbiAgICAgICAgICBpZiAobmV3SGVpZ2h0ICE9PSB0aGlzLmlucHV0Q29udGFpbmVySGVpZ2h0KCkgJiYgbmV3SGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dENvbnRhaW5lckhlaWdodC5zZXQobmV3SGVpZ2h0KTtcbiAgICAgICAgICAgIHRoaXMuaXNSZXNpemluZy5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIC8vIENsZWFyIGV4aXN0aW5nIHRpbWVvdXRcbiAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZVRpbWVvdXRSZWYpIHtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZW91dFJlZik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCBpc1Jlc2l6aW5nIHRvIGZhbHNlIGFmdGVyIGEgc2hvcnQgZGVsYXlcbiAgICAgICAgICAgIHRoaXMucmVzaXplVGltZW91dFJlZiA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pc1Jlc2l6aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMucmVzaXplVGltZW91dFJlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSwgMjUwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuXG4gICAgLy8gVHJ5IHRvIG1lYXN1cmUgaW1tZWRpYXRlbHlcbiAgICBpZiAoIW1lYXN1cmVBbmRPYnNlcnZlKCkpIHtcbiAgICAgIC8vIElmIGZhaWxlZCwgcmV0cnkgd2l0aCBpbmNyZWFzaW5nIGRlbGF5c1xuICAgICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICAgIGNvbnN0IG1heEF0dGVtcHRzID0gMTA7XG5cbiAgICAgIGNvbnN0IHJldHJ5ID0gKCkgPT4ge1xuICAgICAgICBhdHRlbXB0cysrO1xuICAgICAgICBpZiAobWVhc3VyZUFuZE9ic2VydmUoKSkge1xuICAgICAgICAgIC8vIFN1Y2Nlc3NmdWxseSBtZWFzdXJlZFxuICAgICAgICB9IGVsc2UgaWYgKGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpIHtcbiAgICAgICAgICAvLyBFeHBvbmVudGlhbCBiYWNrb2ZmOiA1MG1zLCAxMDBtcywgMjAwbXMsIDQwMG1zLCBldGMuXG4gICAgICAgICAgY29uc3QgZGVsYXkgPSA1MCAqIE1hdGgucG93KDIsIE1hdGgubWluKGF0dGVtcHRzIC0gMSwgNCkpO1xuICAgICAgICAgIHNldFRpbWVvdXQocmV0cnksIGRlbGF5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBGYWlsZWQgdG8gbWVhc3VyZSBhZnRlciBtYXggYXR0ZW1wdHNcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gU3RhcnQgcmV0cnkgd2l0aCBmaXJzdCBkZWxheVxuICAgICAgc2V0VGltZW91dChyZXRyeSwgNTApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc2l6ZVRpbWVvdXRSZWYpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXRSZWYpO1xuICAgIH1cbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9jb3BpbG90LWNoYXQtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUV2QixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFLTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFM0M7Ozs7Ozs7Ozs7OztHQVlHO0FBMERILE1BQU0sT0FBTyxlQUFlO0lBc0toQjtJQUNBO0lBQ0E7SUFyS1YsbUNBQW1DO0lBQ25D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QkFDM0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRFQ7aUJBQ0Y7Z0tBNkMrQixvQkFBb0I7c0JBQWpELFlBQVk7dUJBQUMsY0FBYztnQkFHQSxrQkFBa0I7c0JBQTdDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRCxlQUFlO3NCQUF2QyxZQUFZO3VCQUFDLFNBQVM7Z0JBQ0csZ0JBQWdCO3NCQUF6QyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ08scUJBQXFCO3NCQUFuRCxZQUFZO3VCQUFDLGVBQWU7Z0JBRTdCLHdDQUF3QztzQkFEdkMsWUFBWTt1QkFBQyxrQ0FBa0M7Z0JBRWhCLHNCQUFzQjtzQkFBckQsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ksd0JBQXdCO3NCQUF6RCxZQUFZO3VCQUFDLGtCQUFrQjtnQkFDQyx1QkFBdUI7c0JBQXZELFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNHLHdCQUF3QjtzQkFBekQsWUFBWTt1QkFBQyxrQkFBa0I7Z0JBY2hDLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3U2Nyb2xsVmlldyB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC10by1ib3R0b20tYnV0dG9uXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdGZWF0aGVyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXZpZXctZmVhdGhlclwiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdmlldy1pbnB1dC1jb250YWluZXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdmlldy1kaXNjbGFpbWVyXCI7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcmVzaXplLW9ic2VydmVyXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFZpZXdIYW5kbGVycyB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC12aWV3LWhhbmRsZXJzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vKipcbiAqIENvcGlsb3RDaGF0VmlldyBjb21wb25lbnQgLSBBbmd1bGFyIHBvcnQgb2YgdGhlIFJlYWN0IGNvbXBvbmVudC5cbiAqIEEgY29tcGxldGUgY2hhdCBpbnRlcmZhY2Ugd2l0aCBtZXNzYWdlIGZlZWQgYW5kIGlucHV0IGNvbXBvbmVudHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxjb3BpbG90LWNoYXQtdmlld1xuICogICBbbWVzc2FnZXNdPVwibWVzc2FnZXNcIlxuICogICBbYXV0b1Njcm9sbF09XCJ0cnVlXCJcbiAqICAgW21lc3NhZ2VWaWV3UHJvcHNdPVwieyBhc3Npc3RhbnRNZXNzYWdlOiB7IG9uVGh1bWJzVXA6IGhhbmRsZVRodW1ic1VwIH0gfVwiPlxuICogPC9jb3BpbG90LWNoYXQtdmlldz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1jaGF0LXZpZXdcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29waWxvdFNsb3QsIENvcGlsb3RDaGF0Vmlld1Njcm9sbFZpZXddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLCBDb3BpbG90Q2hhdFZpZXdIYW5kbGVyc10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBDdXN0b20gbGF5b3V0IHRlbXBsYXRlIHN1cHBvcnQgKHJlbmRlciBwcm9wIHBhdHRlcm4pIC0tPlxuICAgIEBpZiAoY3VzdG9tTGF5b3V0VGVtcGxhdGUpIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTGF5b3V0VGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwibGF5b3V0Q29udGV4dCgpXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDwhLS0gRGVmYXVsdCBsYXlvdXQgLSBleGFjdCBSZWFjdCBET00gc3RydWN0dXJlIC0tPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzcygpXCI+XG4gICAgICAgIDwhLS0gU2Nyb2xsVmlldyAtLT5cbiAgICAgICAgPGNvcGlsb3QtY2hhdC12aWV3LXNjcm9sbC12aWV3XG4gICAgICAgICAgW2F1dG9TY3JvbGxdPVwiYXV0b1Njcm9sbFNpZ25hbCgpXCJcbiAgICAgICAgICBbaW5wdXRDb250YWluZXJIZWlnaHRdPVwiaW5wdXRDb250YWluZXJIZWlnaHQoKVwiXG4gICAgICAgICAgW2lzUmVzaXppbmddPVwiaXNSZXNpemluZygpXCJcbiAgICAgICAgICBbbWVzc2FnZXNdPVwibWVzc2FnZXNWYWx1ZSgpXCJcbiAgICAgICAgICBbbWVzc2FnZVZpZXddPVwibWVzc2FnZVZpZXdTbG90KClcIlxuICAgICAgICAgIFttZXNzYWdlVmlld0NsYXNzXT1cIm1lc3NhZ2VWaWV3Q2xhc3MoKVwiXG4gICAgICAgICAgW3Njcm9sbFRvQm90dG9tQnV0dG9uXT1cInNjcm9sbFRvQm90dG9tQnV0dG9uU2xvdCgpXCJcbiAgICAgICAgICBbc2Nyb2xsVG9Cb3R0b21CdXR0b25DbGFzc109XCJzY3JvbGxUb0JvdHRvbUJ1dHRvbkNsYXNzKClcIlxuICAgICAgICAgIFtzaG93Q3Vyc29yXT1cInNob3dDdXJzb3JTaWduYWwoKVwiXG4gICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VUaHVtYnNVcCk9XCJhc3Npc3RhbnRNZXNzYWdlVGh1bWJzVXAuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24pPVwiYXNzaXN0YW50TWVzc2FnZVRodW1ic0Rvd24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCk9XCJhc3Npc3RhbnRNZXNzYWdlUmVhZEFsb3VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgKGFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlKT1cImFzc2lzdGFudE1lc3NhZ2VSZWdlbmVyYXRlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgKHVzZXJNZXNzYWdlQ29weSk9XCJ1c2VyTWVzc2FnZUNvcHkuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAodXNlck1lc3NhZ2VFZGl0KT1cInVzZXJNZXNzYWdlRWRpdC5lbWl0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXZpZXctc2Nyb2xsLXZpZXc+XG5cbiAgICAgICAgPCEtLSBGZWF0aGVyIGVmZmVjdCAtLT5cbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cImZlYXRoZXJTbG90KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cInsgaW5wdXRDbGFzczogZmVhdGhlckNsYXNzIH1cIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRGZWF0aGVyQ29tcG9uZW50XCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cblxuICAgICAgICA8IS0tIElucHV0IGNvbnRhaW5lciAtLT5cbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICNpbnB1dENvbnRhaW5lclNsb3RSZWZcbiAgICAgICAgICBbc2xvdF09XCJpbnB1dENvbnRhaW5lclNsb3QoKVwiXG4gICAgICAgICAgW2NvbnRleHRdPVwiaW5wdXRDb250YWluZXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cImRlZmF1bHRJbnB1dENvbnRhaW5lckNvbXBvbmVudFwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0Vmlld1xuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgLy8gQ29yZSBpbnB1dHMgbWF0Y2hpbmcgUmVhY3QgcHJvcHNcbiAgbWVzc2FnZXMgPSBpbnB1dDxNZXNzYWdlW10+KFtdKTtcbiAgYXV0b1Njcm9sbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICBzaG93Q3Vyc29yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIE1lc3NhZ2VWaWV3IHNsb3QgaW5wdXRzXG4gIG1lc3NhZ2VWaWV3Q29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBtZXNzYWdlVmlld1RlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgbWVzc2FnZVZpZXdDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBTY3JvbGxWaWV3IHNsb3QgaW5wdXRzXG4gIHNjcm9sbFZpZXdDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFZpZXdUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFZpZXdDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBTY3JvbGxUb0JvdHRvbUJ1dHRvbiBzbG90IGlucHV0c1xuICBzY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgc2Nyb2xsVG9Cb3R0b21CdXR0b25UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gSW5wdXQgc2xvdCBpbnB1dHNcbiAgaW5wdXRDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGlucHV0VGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8vIElucHV0Q29udGFpbmVyIHNsb3QgaW5wdXRzXG4gIGlucHV0Q29udGFpbmVyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBpbnB1dENvbnRhaW5lclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaW5wdXRDb250YWluZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBGZWF0aGVyIHNsb3QgaW5wdXRzXG4gIGZlYXRoZXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGZlYXRoZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGZlYXRoZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyBEaXNjbGFpbWVyIHNsb3QgaW5wdXRzXG4gIGRpc2NsYWltZXJDb21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGRpc2NsYWltZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGRpc2NsYWltZXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgZGlzY2xhaW1lclRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gQ3VzdG9tIGxheW91dCB0ZW1wbGF0ZSAocmVuZGVyIHByb3AgcGF0dGVybilcbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUxheW91dFwiKSBjdXN0b21MYXlvdXRUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLy8gTmFtZWQgdGVtcGxhdGUgc2xvdHMgZm9yIGRlZXAgY3VzdG9taXphdGlvblxuICBAQ29udGVudENoaWxkKFwic2VuZEJ1dHRvblwiKSBzZW5kQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidG9vbGJhclwiKSB0b29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGV4dEFyZWFcIikgdGV4dEFyZWFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJhdWRpb1JlY29yZGVyXCIpIGF1ZGlvUmVjb3JkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJhc3Npc3RhbnRNZXNzYWdlTWFya2Rvd25SZW5kZXJlclwiKVxuICBhc3Npc3RhbnRNZXNzYWdlTWFya2Rvd25SZW5kZXJlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInRodW1ic1VwQnV0dG9uXCIpIHRodW1ic1VwQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGh1bWJzRG93bkJ1dHRvblwiKSB0aHVtYnNEb3duQnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwicmVhZEFsb3VkQnV0dG9uXCIpIHJlYWRBbG91ZEJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInJlZ2VuZXJhdGVCdXR0b25cIikgcmVnZW5lcmF0ZUJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyBPdXRwdXQgZXZlbnRzIGZvciBhc3Npc3RhbnQgbWVzc2FnZSBhY3Rpb25zIChidWJibGVkIGZyb20gY2hpbGQgY29tcG9uZW50cylcbiAgYXNzaXN0YW50TWVzc2FnZVRodW1ic1VwID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuICBhc3Npc3RhbnRNZXNzYWdlVGh1bWJzRG93biA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVJlYWRBbG91ZCA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgYXNzaXN0YW50TWVzc2FnZVJlZ2VuZXJhdGUgPSBvdXRwdXQ8eyBtZXNzYWdlOiBNZXNzYWdlIH0+KCk7XG5cbiAgLy8gT3V0cHV0IGV2ZW50cyBmb3IgdXNlciBtZXNzYWdlIGFjdGlvbnMgKGlmIGFwcGxpY2FibGUpXG4gIHVzZXJNZXNzYWdlQ29weSA9IG91dHB1dDx7IG1lc3NhZ2U6IE1lc3NhZ2UgfT4oKTtcbiAgdXNlck1lc3NhZ2VFZGl0ID0gb3V0cHV0PHsgbWVzc2FnZTogTWVzc2FnZSB9PigpO1xuXG4gIC8vIFZpZXdDaGlsZCByZWZlcmVuY2VzXG4gIEBWaWV3Q2hpbGQoXCJpbnB1dENvbnRhaW5lclNsb3RSZWZcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGlucHV0Q29udGFpbmVyU2xvdFJlZj86IEVsZW1lbnRSZWY7XG5cbiAgLy8gRGVmYXVsdCBjb21wb25lbnRzIGZvciBzbG90c1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFNjcm9sbFZpZXdDb21wb25lbnQgPSBDb3BpbG90Q2hhdFZpZXdTY3JvbGxWaWV3O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFNjcm9sbFRvQm90dG9tQnV0dG9uQ29tcG9uZW50ID1cbiAgICBDb3BpbG90Q2hhdFZpZXdTY3JvbGxUb0JvdHRvbUJ1dHRvbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRJbnB1dENvbnRhaW5lckNvbXBvbmVudCA9XG4gICAgQ29waWxvdENoYXRWaWV3SW5wdXRDb250YWluZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RmVhdGhlckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0ZlYXRoZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RGlzY2xhaW1lckNvbXBvbmVudCA9IENvcGlsb3RDaGF0Vmlld0Rpc2NsYWltZXI7XG5cbiAgLy8gU2lnbmFscyBmb3IgcmVhY3RpdmUgc3RhdGVcbiAgcHJvdGVjdGVkIG1lc3NhZ2VzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1lc3NhZ2VzKCkpO1xuICBwcm90ZWN0ZWQgYXV0b1Njcm9sbFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXV0b1Njcm9sbCgpKTtcbiAgcHJvdGVjdGVkIHNob3dDdXJzb3JTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNob3dDdXJzb3IoKSk7XG4gIHByb3RlY3RlZCBkaXNjbGFpbWVyVGV4dFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzY2xhaW1lclRleHQoKSk7XG4gIHByb3RlY3RlZCBkaXNjbGFpbWVyQ2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRpc2NsYWltZXJDbGFzcygpKTtcbiAgcHJvdGVjdGVkIGlucHV0Q29udGFpbmVySGVpZ2h0ID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIHByb3RlY3RlZCBpc1Jlc2l6aW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJvdGVjdGVkIGNvbnRlbnRQYWRkaW5nQm90dG9tID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5pbnB1dENvbnRhaW5lckhlaWdodCgpICsgMzIsXG4gICk7XG5cbiAgLy8gQ29tcHV0ZWQgc2lnbmFsc1xuICBwcm90ZWN0ZWQgY29tcHV0ZWRDbGFzcyA9IGNvbXB1dGVkKCgpID0+IGNuKFwicmVsYXRpdmUgaC1mdWxsXCIpKTtcblxuICAvLyBTbG90IHJlc29sdXRpb24gY29tcHV0ZWQgc2lnbmFsc1xuICBwcm90ZWN0ZWQgbWVzc2FnZVZpZXdTbG90ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5tZXNzYWdlVmlld1RlbXBsYXRlKCkgfHwgdGhpcy5tZXNzYWdlVmlld0NvbXBvbmVudCgpLFxuICApO1xuXG4gIHByb3RlY3RlZCBzY3JvbGxWaWV3U2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuc2Nyb2xsVmlld1RlbXBsYXRlKCkgfHwgdGhpcy5zY3JvbGxWaWV3Q29tcG9uZW50KCksXG4gICk7XG5cbiAgcHJvdGVjdGVkIHNjcm9sbFRvQm90dG9tQnV0dG9uU2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uVGVtcGxhdGUoKSB8fFxuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbUJ1dHRvbkNvbXBvbmVudCgpLFxuICApO1xuXG4gIHByb3RlY3RlZCBpbnB1dFNsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmlucHV0VGVtcGxhdGUoKSB8fCB0aGlzLmlucHV0Q29tcG9uZW50KCksXG4gICk7XG5cbiAgcHJvdGVjdGVkIGlucHV0Q29udGFpbmVyU2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuaW5wdXRDb250YWluZXJUZW1wbGF0ZSgpIHx8IHRoaXMuaW5wdXRDb250YWluZXJDb21wb25lbnQoKSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgZmVhdGhlclNsb3QgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmZlYXRoZXJUZW1wbGF0ZSgpIHx8IHRoaXMuZmVhdGhlckNvbXBvbmVudCgpLFxuICApO1xuXG4gIHByb3RlY3RlZCBkaXNjbGFpbWVyU2xvdCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuZGlzY2xhaW1lclRlbXBsYXRlKCkgfHwgdGhpcy5kaXNjbGFpbWVyQ29tcG9uZW50KCksXG4gICk7XG5cbiAgLy8gQ29udGV4dCBvYmplY3RzIGZvciBzbG90c1xuICBwcm90ZWN0ZWQgc2Nyb2xsVmlld0NvbnRleHQgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGF1dG9TY3JvbGw6IHRoaXMuYXV0b1Njcm9sbFNpZ25hbCgpLFxuICAgIHNjcm9sbFRvQm90dG9tQnV0dG9uOiB0aGlzLnNjcm9sbFRvQm90dG9tQnV0dG9uU2xvdCgpLFxuICAgIHNjcm9sbFRvQm90dG9tQnV0dG9uQ2xhc3M6IHRoaXMuc2Nyb2xsVG9Cb3R0b21CdXR0b25DbGFzcygpLFxuICAgIGlucHV0Q29udGFpbmVySGVpZ2h0OiB0aGlzLmlucHV0Q29udGFpbmVySGVpZ2h0KCksXG4gICAgaXNSZXNpemluZzogdGhpcy5pc1Jlc2l6aW5nKCksXG4gICAgbWVzc2FnZXM6IHRoaXMubWVzc2FnZXNWYWx1ZSgpLFxuICAgIG1lc3NhZ2VWaWV3OiB0aGlzLm1lc3NhZ2VWaWV3U2xvdCgpLFxuICAgIG1lc3NhZ2VWaWV3Q2xhc3M6IHRoaXMubWVzc2FnZVZpZXdDbGFzcygpLFxuICB9KSk7XG5cbiAgLy8gUmVtb3ZlZCBzY3JvbGxWaWV3UHJvcHNDb21wdXRlZCAtIG5vIGxvbmdlciBuZWVkZWRcblxuICBwcm90ZWN0ZWQgaW5wdXRDb250YWluZXJDb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBpbnB1dDogdGhpcy5pbnB1dFNsb3QoKSxcbiAgICBkaXNjbGFpbWVyOiB0aGlzLmRpc2NsYWltZXJTbG90KCksXG4gICAgZGlzY2xhaW1lclRleHQ6IHRoaXMuZGlzY2xhaW1lclRleHRTaWduYWwoKSxcbiAgICBkaXNjbGFpbWVyQ2xhc3M6IHRoaXMuZGlzY2xhaW1lckNsYXNzU2lnbmFsKCksXG4gICAgaW5wdXRDb250YWluZXJDbGFzczogdGhpcy5pbnB1dENvbnRhaW5lckNsYXNzKCksXG4gIH0pKTtcblxuICAvLyBSZW1vdmVkIGlucHV0Q29udGFpbmVyUHJvcHNDb21wdXRlZCAtIG5vIGxvbmdlciBuZWVkZWRcblxuICAvLyBMYXlvdXQgY29udGV4dCBmb3IgY3VzdG9tIHRlbXBsYXRlcyAocmVuZGVyIHByb3AgcGF0dGVybilcbiAgcHJvdGVjdGVkIGxheW91dENvbnRleHQgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIG1lc3NhZ2VWaWV3OiB0aGlzLm1lc3NhZ2VWaWV3U2xvdCgpLFxuICAgIGlucHV0OiB0aGlzLmlucHV0U2xvdCgpLFxuICAgIHNjcm9sbFZpZXc6IHRoaXMuc2Nyb2xsVmlld1Nsb3QoKSxcbiAgICBzY3JvbGxUb0JvdHRvbUJ1dHRvbjogdGhpcy5zY3JvbGxUb0JvdHRvbUJ1dHRvblNsb3QoKSxcbiAgICBmZWF0aGVyOiB0aGlzLmZlYXRoZXJTbG90KCksXG4gICAgaW5wdXRDb250YWluZXI6IHRoaXMuaW5wdXRDb250YWluZXJTbG90KCksXG4gICAgZGlzY2xhaW1lcjogdGhpcy5kaXNjbGFpbWVyU2xvdCgpLFxuICB9KSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVzaXplVGltZW91dFJlZj86IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyU2VydmljZTogUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGhhbmRsZXJzOiBDb3BpbG90Q2hhdFZpZXdIYW5kbGVycyxcbiAgKSB7XG4gICAgLy8gQ2xlYXIgYW55IHBlbmRpbmcgcmVzaXplIHRpbWVvdXQgd2hlbiB0b2dnbGluZyBpc1Jlc2l6aW5nLCB3aXRob3V0IHNpZ25hbCB3cml0ZXMgaGVyZVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbGl6ZSBoYW5kbGVyIGF2YWlsYWJpbGl0eSBpbiB0aGUgdmlldy1zY29wZWQgc2VydmljZVxuICAgIC8vIE91dHB1dEVtaXR0ZXJSZWYgZG9lc24ndCBleHBvc2UgJ29ic2VydmVkJzsgZGVmYXVsdCB0byB0cnVlIHRvIGVuYWJsZSBVSSBhZmZvcmRhbmNlc1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50VGh1bWJzVXBIYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc0Fzc2lzdGFudFRodW1ic0Rvd25IYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc0Fzc2lzdGFudFJlYWRBbG91ZEhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50UmVnZW5lcmF0ZUhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzVXNlckNvcHlIYW5kbGVyLnNldCh0cnVlKTtcbiAgICB0aGlzLmhhbmRsZXJzLmhhc1VzZXJFZGl0SGFuZGxlci5zZXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBLZWVwIGhhbmRsZXIgYXZhaWxhYmlsaXR5IGluIHN5bmMgKGFzc3VtZSBhdmFpbGFibGUpXG4gICAgdGhpcy5oYW5kbGVycy5oYXNBc3Npc3RhbnRUaHVtYnNVcEhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50VGh1bWJzRG93bkhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzQXNzaXN0YW50UmVhZEFsb3VkSGFuZGxlci5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oYW5kbGVycy5oYXNBc3Npc3RhbnRSZWdlbmVyYXRlSGFuZGxlci5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oYW5kbGVycy5oYXNVc2VyQ29weUhhbmRsZXIuc2V0KHRydWUpO1xuICAgIHRoaXMuaGFuZGxlcnMuaGFzVXNlckVkaXRIYW5kbGVyLnNldCh0cnVlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBEb24ndCBzZXQgYSBkZWZhdWx0IGhlaWdodCAtIG1lYXN1cmUgaXQgZHluYW1pY2FsbHlcblxuICAgIC8vIFNldCB1cCBpbnB1dCBjb250YWluZXIgaGVpZ2h0IG1vbml0b3JpbmdcbiAgICBjb25zdCBtZWFzdXJlQW5kT2JzZXJ2ZSA9ICgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaW5wdXRDb250YWluZXJTbG90UmVmIHx8XG4gICAgICAgICF0aGlzLmlucHV0Q29udGFpbmVyU2xvdFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgc2xvdCByZWYgcG9pbnRzIHRvIHRoZSBjb3BpbG90LXNsb3QgZWxlbWVudFxuICAgICAgLy8gV2UgbmVlZCB0byBmaW5kIHRoZSBhY3R1YWwgaW5wdXQgY29udGFpbmVyIGNvbXBvbmVudCBpbnNpZGUgaXRcbiAgICAgIGNvbnN0IHNsb3RFbGVtZW50ID0gdGhpcy5pbnB1dENvbnRhaW5lclNsb3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnQgPSBzbG90RWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBcImNvcGlsb3QtY2hhdC12aWV3LWlucHV0LWNvbnRhaW5lclwiLFxuICAgICAgKTtcblxuICAgICAgaWYgKCFjb21wb25lbnRFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gTG9vayBmb3IgdGhlIGFic29sdXRlIHBvc2l0aW9uZWQgZGl2IHRoYXQgY29udGFpbnMgdGhlIGlucHV0XG4gICAgICBsZXQgaW5uZXJEaXYgPSBjb21wb25lbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIFwiZGl2LmFic29sdXRlXCIsXG4gICAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBJZiBub3QgZm91bmQgYnkgY2xhc3MsIHRyeSBmaXJzdCBjaGlsZFxuICAgICAgaWYgKCFpbm5lckRpdikge1xuICAgICAgICBpbm5lckRpdiA9IGNvbXBvbmVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5uZXJEaXYpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgaGVpZ2h0XG4gICAgICBjb25zdCBtZWFzdXJlZEhlaWdodCA9IGlubmVyRGl2Lm9mZnNldEhlaWdodDtcblxuICAgICAgaWYgKG1lYXN1cmVkSGVpZ2h0ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VjY2VzcyEgU2V0IHRoZSBpbml0aWFsIGhlaWdodFxuICAgICAgdGhpcy5pbnB1dENvbnRhaW5lckhlaWdodC5zZXQobWVhc3VyZWRIZWlnaHQpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAvLyBDcmVhdGUgYW4gRWxlbWVudFJlZiB3cmFwcGVyIGZvciBSZXNpemVPYnNlcnZlclxuICAgICAgY29uc3QgaW5uZXJEaXZSZWYgPSBuZXcgRWxlbWVudFJlZihpbm5lckRpdik7XG5cbiAgICAgIC8vIFNldCB1cCBSZXNpemVPYnNlcnZlciB0byB0cmFjayBjaGFuZ2VzXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZVxuICAgICAgICAub2JzZXJ2ZUVsZW1lbnQoaW5uZXJEaXZSZWYsIDAsIDI1MClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IHN0YXRlLmhlaWdodDtcblxuICAgICAgICAgIGlmIChuZXdIZWlnaHQgIT09IHRoaXMuaW5wdXRDb250YWluZXJIZWlnaHQoKSAmJiBuZXdIZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Q29udGFpbmVySGVpZ2h0LnNldChuZXdIZWlnaHQpO1xuICAgICAgICAgICAgdGhpcy5pc1Jlc2l6aW5nLnNldCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgLy8gQ2xlYXIgZXhpc3RpbmcgdGltZW91dFxuICAgICAgICAgICAgaWYgKHRoaXMucmVzaXplVGltZW91dFJlZikge1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lb3V0UmVmKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2V0IGlzUmVzaXppbmcgdG8gZmFsc2UgYWZ0ZXIgYSBzaG9ydCBkZWxheVxuICAgICAgICAgICAgdGhpcy5yZXNpemVUaW1lb3V0UmVmID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzUmVzaXppbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy5yZXNpemVUaW1lb3V0UmVmID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9LCAyNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG5cbiAgICAvLyBUcnkgdG8gbWVhc3VyZSBpbW1lZGlhdGVseVxuICAgIGlmICghbWVhc3VyZUFuZE9ic2VydmUoKSkge1xuICAgICAgLy8gSWYgZmFpbGVkLCByZXRyeSB3aXRoIGluY3JlYXNpbmcgZGVsYXlzXG4gICAgICBsZXQgYXR0ZW1wdHMgPSAwO1xuICAgICAgY29uc3QgbWF4QXR0ZW1wdHMgPSAxMDtcblxuICAgICAgY29uc3QgcmV0cnkgPSAoKSA9PiB7XG4gICAgICAgIGF0dGVtcHRzKys7XG4gICAgICAgIGlmIChtZWFzdXJlQW5kT2JzZXJ2ZSgpKSB7XG4gICAgICAgICAgLy8gU3VjY2Vzc2Z1bGx5IG1lYXN1cmVkXG4gICAgICAgIH0gZWxzZSBpZiAoYXR0ZW1wdHMgPCBtYXhBdHRlbXB0cykge1xuICAgICAgICAgIC8vIEV4cG9uZW50aWFsIGJhY2tvZmY6IDUwbXMsIDEwMG1zLCAyMDBtcywgNDAwbXMsIGV0Yy5cbiAgICAgICAgICBjb25zdCBkZWxheSA9IDUwICogTWF0aC5wb3coMiwgTWF0aC5taW4oYXR0ZW1wdHMgLSAxLCA0KSk7XG4gICAgICAgICAgc2V0VGltZW91dChyZXRyeSwgZGVsYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZhaWxlZCB0byBtZWFzdXJlIGFmdGVyIG1heCBhdHRlbXB0c1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAvLyBTdGFydCByZXRyeSB3aXRoIGZpcnN0IGRlbGF5XG4gICAgICBzZXRUaW1lb3V0KHJldHJ5LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzaXplVGltZW91dFJlZikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZW91dFJlZik7XG4gICAgfVxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19