@vendure/admin-ui 2.0.4 → 2.0.6

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 (83) hide show
  1. package/core/common/component-registry-types.d.ts +1 -1
  2. package/core/common/version.d.ts +1 -1
  3. package/core/components/app-shell/app-shell.component.d.ts +1 -0
  4. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +4 -1
  5. package/core/providers/i18n/i18n.service.d.ts +4 -0
  6. package/dashboard/components/dashboard/dashboard.component.d.ts +4 -1
  7. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +3 -3
  8. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +2 -2
  9. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +4 -4
  10. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +2 -2
  11. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +7 -1
  12. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +7 -5
  13. package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +30 -30
  14. package/esm2022/core/app.config.mjs +3 -7
  15. package/esm2022/core/common/base-list.component.mjs +1 -1
  16. package/esm2022/core/common/component-registry-types.mjs +1 -1
  17. package/esm2022/core/common/generated-types.mjs +1 -1
  18. package/esm2022/core/common/version.mjs +2 -2
  19. package/esm2022/core/components/app-shell/app-shell.component.mjs +11 -9
  20. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +1 -1
  21. package/esm2022/core/components/user-menu/user-menu.component.mjs +3 -3
  22. package/esm2022/core/data/data.module.mjs +3 -3
  23. package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +1 -1
  24. package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +1 -1
  25. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +1 -1
  26. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +5 -5
  27. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +1 -1
  28. package/esm2022/core/providers/i18n/i18n.service.mjs +15 -1
  29. package/esm2022/core/providers/page/page.service.mjs +1 -1
  30. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +2 -2
  31. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +3 -3
  32. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +1 -1
  33. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +29 -29
  34. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +1 -1
  35. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +1 -1
  36. package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +1 -1
  37. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +1 -1
  38. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +1 -1
  39. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +1 -1
  40. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +3 -3
  41. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +1 -1
  42. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +1 -1
  43. package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +1 -1
  44. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +14 -14
  45. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +1 -1
  46. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +3 -3
  47. package/esm2022/core/shared/shared.module.mjs +1 -1
  48. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +27 -27
  49. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +4 -4
  50. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +3 -3
  51. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +5 -3
  52. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +3 -3
  53. package/esm2022/order/components/order-detail/order-detail.component.mjs +13 -11
  54. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +9 -9
  55. package/fesm2022/vendure-admin-ui-catalog.mjs +48 -41
  56. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  57. package/fesm2022/vendure-admin-ui-core.mjs +79 -69
  58. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  59. package/fesm2022/vendure-admin-ui-customer.mjs +26 -26
  60. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  61. package/fesm2022/vendure-admin-ui-dashboard.mjs +3 -3
  62. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  63. package/fesm2022/vendure-admin-ui-order.mjs +20 -16
  64. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  65. package/fesm2022/vendure-admin-ui-settings.mjs +8 -8
  66. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  67. package/package.json +14 -14
  68. package/static/i18n-messages/ar.json +774 -0
  69. package/static/i18n-messages/cs.json +773 -773
  70. package/static/i18n-messages/de.json +773 -773
  71. package/static/i18n-messages/en.json +774 -774
  72. package/static/i18n-messages/es.json +773 -773
  73. package/static/i18n-messages/fr.json +773 -773
  74. package/static/i18n-messages/he.json +774 -0
  75. package/static/i18n-messages/it.json +773 -773
  76. package/static/i18n-messages/pl.json +773 -773
  77. package/static/i18n-messages/pt_BR.json +773 -773
  78. package/static/i18n-messages/pt_PT.json +773 -773
  79. package/static/i18n-messages/ru.json +773 -773
  80. package/static/i18n-messages/uk.json +773 -773
  81. package/static/i18n-messages/zh_Hans.json +773 -773
  82. package/static/i18n-messages/zh_Hant.json +773 -773
  83. package/static/vendure-ui-config.json +3 -0
@@ -240,7 +240,7 @@ export class DynamicFormInputComponent {
240
240
  useExisting: DynamicFormInputComponent,
241
241
  multi: true,
242
242
  },
243
- ], viewQueries: [{ propertyName: "singleViewContainer", first: true, predicate: ["single"], descendants: true, read: ViewContainerRef }, { propertyName: "listItemContainers", predicate: ["listItem"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!renderAsList; else list\">\n <ng-container #single></ng-container>\n</ng-container>\n<ng-template #list>\n <div class=\"list-container\" cdkDropList (cdkDropListDropped)=\"moveListItem($event)\">\n <div\n class=\"list-item-row\"\n *ngFor=\"let item of listItems; trackBy: trackById\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragLockAxis]=\"'y'\"\n >\n <div class=\"flex-spacer pr-2\">\n <ng-container #listItem></ng-container>\n </div>\n <button\n class=\"button-small\"\n *ngIf=\"!readonly\"\n (click)=\"removeListItem(item)\"\n [title]=\"'common.remove-item-from-list' | translate\"\n >\n <clr-icon shape=\"times\"></clr-icon>\n </button>\n <div class=\"drag-handle\" cdkDragHandle [class.hidden]=\"readonly\">\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\n </div>\n </div>\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addListItem()\" *ngIf=\"!readonly\">\n <clr-icon shape=\"plus\"></clr-icon> {{ 'common.add-item-to-list' | translate }}\n </button>\n </div>\n</ng-template>\n", styles: [":host{flex:1}.list-container{border:1px solid var(--color-component-border-200);border-radius:3px;padding:12px}.list-item-row{font-size:13px;display:flex;align-items:center;margin:3px 0}.drag-placeholder{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{font-size:13px;background-color:var(--color-component-bg-100);opacity:.8;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.drag-handle{cursor:move}.drag-handle.hidden{display:none}.cdk-drag-placeholder{opacity:.1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .list-item-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
243
+ ], viewQueries: [{ propertyName: "singleViewContainer", first: true, predicate: ["single"], descendants: true, read: ViewContainerRef }, { propertyName: "listItemContainers", predicate: ["listItem"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!renderAsList; else list\">\r\n <ng-container #single></ng-container>\r\n</ng-container>\r\n<ng-template #list>\r\n <div class=\"list-container\" cdkDropList (cdkDropListDropped)=\"moveListItem($event)\">\r\n <div\r\n class=\"list-item-row\"\r\n *ngFor=\"let item of listItems; trackBy: trackById\"\r\n cdkDrag\r\n [cdkDragData]=\"item\"\r\n [cdkDragLockAxis]=\"'y'\"\r\n >\r\n <div class=\"flex-spacer pr-2\">\r\n <ng-container #listItem></ng-container>\r\n </div>\r\n <button\r\n class=\"button-small\"\r\n *ngIf=\"!readonly\"\r\n (click)=\"removeListItem(item)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <div class=\"drag-handle\" cdkDragHandle [class.hidden]=\"readonly\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addListItem()\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"plus\"></clr-icon> {{ 'common.add-item-to-list' | translate }}\r\n </button>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{flex:1}.list-container{border:1px solid var(--color-component-border-200);border-radius:3px;padding:12px}.list-item-row{font-size:13px;display:flex;align-items:center;margin:3px 0}.drag-placeholder{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{font-size:13px;background-color:var(--color-component-bg-100);opacity:.8;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.drag-handle{cursor:move}.drag-handle.hidden{display:none}.cdk-drag-placeholder{opacity:.1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .list-item-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
244
244
  }
245
245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: DynamicFormInputComponent, decorators: [{
246
246
  type: Component,
@@ -250,7 +250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
250
250
  useExisting: DynamicFormInputComponent,
251
251
  multi: true,
252
252
  },
253
- ], template: "<ng-container *ngIf=\"!renderAsList; else list\">\n <ng-container #single></ng-container>\n</ng-container>\n<ng-template #list>\n <div class=\"list-container\" cdkDropList (cdkDropListDropped)=\"moveListItem($event)\">\n <div\n class=\"list-item-row\"\n *ngFor=\"let item of listItems; trackBy: trackById\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragLockAxis]=\"'y'\"\n >\n <div class=\"flex-spacer pr-2\">\n <ng-container #listItem></ng-container>\n </div>\n <button\n class=\"button-small\"\n *ngIf=\"!readonly\"\n (click)=\"removeListItem(item)\"\n [title]=\"'common.remove-item-from-list' | translate\"\n >\n <clr-icon shape=\"times\"></clr-icon>\n </button>\n <div class=\"drag-handle\" cdkDragHandle [class.hidden]=\"readonly\">\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\n </div>\n </div>\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addListItem()\" *ngIf=\"!readonly\">\n <clr-icon shape=\"plus\"></clr-icon> {{ 'common.add-item-to-list' | translate }}\n </button>\n </div>\n</ng-template>\n", styles: [":host{flex:1}.list-container{border:1px solid var(--color-component-border-200);border-radius:3px;padding:12px}.list-item-row{font-size:13px;display:flex;align-items:center;margin:3px 0}.drag-placeholder{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{font-size:13px;background-color:var(--color-component-bg-100);opacity:.8;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.drag-handle{cursor:move}.drag-handle.hidden{display:none}.cdk-drag-placeholder{opacity:.1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .list-item-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
253
+ ], template: "<ng-container *ngIf=\"!renderAsList; else list\">\r\n <ng-container #single></ng-container>\r\n</ng-container>\r\n<ng-template #list>\r\n <div class=\"list-container\" cdkDropList (cdkDropListDropped)=\"moveListItem($event)\">\r\n <div\r\n class=\"list-item-row\"\r\n *ngFor=\"let item of listItems; trackBy: trackById\"\r\n cdkDrag\r\n [cdkDragData]=\"item\"\r\n [cdkDragLockAxis]=\"'y'\"\r\n >\r\n <div class=\"flex-spacer pr-2\">\r\n <ng-container #listItem></ng-container>\r\n </div>\r\n <button\r\n class=\"button-small\"\r\n *ngIf=\"!readonly\"\r\n (click)=\"removeListItem(item)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <div class=\"drag-handle\" cdkDragHandle [class.hidden]=\"readonly\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addListItem()\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"plus\"></clr-icon> {{ 'common.add-item-to-list' | translate }}\r\n </button>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{flex:1}.list-container{border:1px solid var(--color-component-border-200);border-radius:3px;padding:12px}.list-item-row{font-size:13px;display:flex;align-items:center;margin:3px 0}.drag-placeholder{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{font-size:13px;background-color:var(--color-component-bg-100);opacity:.8;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.drag-handle{cursor:move}.drag-handle.hidden{display:none}.cdk-drag-placeholder{opacity:.1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .list-item-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
254
254
  }], ctorParameters: function () { return [{ type: i1.ComponentRegistryService }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }]; }, propDecorators: { def: [{
255
255
  type: Input
256
256
  }], readonly: [{
@@ -264,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
264
264
  type: ViewChildren,
265
265
  args: ['listItem', { read: ViewContainerRef }]
266
266
  }] } });
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2R5bmFtaWMtZm9ybS1pbnB1dC9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFLVCxLQUFLLEVBT0wsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNyQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7Ozs7Ozs7QUFTM0Y7O0dBRUc7QUFjSCxNQUFNLE9BQU8seUJBQXlCO0lBbUJsQyxZQUNZLHdCQUFrRCxFQUNsRCx3QkFBa0QsRUFDbEQsaUJB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgRm9ybUFycmF5LFxuICAgIEZvcm1Db250cm9sLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFVudHlwZWRGb3JtQXJyYXksXG4gICAgVW50eXBlZEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdHJpbmdDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IENvbmZpZ0FyZ1R5cGUsIEN1c3RvbUZpZWxkVHlwZSwgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcbmltcG9ydCB7IGFzc2VydE5ldmVyLCBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xuaW1wb3J0IHsgQ29uZmlnQXJnRGVmaW5pdGlvbiwgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IGdldENvbmZpZ0FyZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9jb25maWd1cmFibGUtb3BlcmF0aW9uLXV0aWxzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21wb25lbnQtcmVnaXN0cnkvY29tcG9uZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG50eXBlIElucHV0TGlzdEl0ZW0gPSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50PjtcbiAgICBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG59O1xuXG4vKipcbiAqIEEgaG9zdCBjb21wb25lbnQgd2hpY2ggZGVsZWdhdGVzIHRvIGFuIGluc3RhbmNlIG9yIGxpc3Qgb2YgRm9ybUlucHV0Q29tcG9uZW50IGNvbXBvbmVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWR5bmFtaWMtZm9ybS1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUlucHV0Q29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIEBJbnB1dCgpIGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCdsaXN0SXRlbScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBsaXN0SXRlbUNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcbiAgICByZW5kZXJBc0xpc3QgPSBmYWxzZTtcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xuICAgIHByaXZhdGUgc2luZ2xlQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50PjtcbiAgICBwcml2YXRlIGxpc3RJZCA9IDE7XG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSBhcyBBcnJheTxGb3JtQ29udHJvbDxhbnk+Pik7XG4gICAgcHJpdmF0ZSBjb21wb25lbnRUeXBlOiBUeXBlPEZvcm1JbnB1dENvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkO1xuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIHJlbmRlckxpc3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZTogQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoY29tcG9uZW50SWQpO1xuICAgICAgICBpZiAoY29tcG9uZW50VHlwZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50VHlwZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgIGBObyBmb3JtIGlucHV0IGNvbXBvbmVudCByZWdpc3RlcmVkIHdpdGggdGhlIGlkIFwiJHtjb21wb25lbnRJZH1cIi4gVXNpbmcgdGhlIGRlZmF1bHQgaW5wdXQgaW5zdGVhZC5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh7IC4uLnRoaXMuZGVmLCB1aTogdW5kZWZpbmVkIH0gYXMgYW55KS5jb21wb25lbnQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gZGVmYXVsdENvbXBvbmVudFR5cGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbXBvbmVudFR5cGUpO1xuXG4gICAgICAgICAgICAvLyBjcmVhdGUgYSB0ZW1wIGluc3RhbmNlIHRvIGNoZWNrIHRoZSB2YWx1ZSBvZiBgaXNMaXN0SW5wdXRgXG4gICAgICAgICAgICBjb25zdCBjbXBSZWYgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xuICAgICAgICAgICAgY21wUmVmLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlICR7dGhpcy5jb21wb25lbnRUeXBlLm5hbWV9IGNvbXBvbmVudCBpcyBhIGxpc3QgaW5wdXQsIGJ1dCB0aGUgZGVmaW5pdGlvbiBmb3IgJHt0aGlzLmRlZi5uYW1lfSBkb2VzIG5vdCBleHBlY3QgYSBsaXN0YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZW5kZXJBc0xpc3QgPSB0aGlzLmRlZi5saXN0ICYmICFpc0xpc3RJbnB1dENvbXBvbmVudDtcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNpbmdsZUNvbXBvbmVudFJlZiA9IHRoaXMucmVuZGVySW5wdXRDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgIGZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBmb3JtQXJyYXlTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCByZW5kZXJMaXN0SW5wdXRzID0gKHZpZXdDb250YWluZXJSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJheVN1Yikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1BcnJheVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5ID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaChpID0+IGkuY29tcG9uZW50UmVmPy5kZXN0cm95KCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZnMuZm9yRWFjaCgocmVmLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSB0aGlzLmxpc3RJdGVtcz8uW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucHVzaChsaXN0SXRlbS5jb250cm9sKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbS5jb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIgPSB0aGlzLmxpc3RGb3JtQXJyYXkudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRydXRoeVZhbHVlcyA9IHZhbC5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0cnV0aHlWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh0cnV0aHlWYWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtQ29udGFpbmVycy5jaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpKTtcblxuICAgICAgICAgICAgICAgIC8vIHJlbmRlciBvbiBjaGFuZ2VzIHRvIHRoZSBsaXN0XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JFxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmxpc3RJdGVtQ29udGFpbmVycy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmxpc3RJdGVtcykge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUJpbmRpbmdzKGNoYW5nZXMsIGl0ZW0uY29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUJpbmRpbmdzKGNoYW5nZXMsIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluZGluZ3MoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50Pikge1xuICAgICAgICBpZiAoJ2RlZicgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IHNpbXBsZURlZXBDbG9uZSh0aGlzLmRlZik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdyZWFkb25seScgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcbiAgICAgICAgfVxuICAgICAgICBjb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB0cmFja0J5SWQoaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgYWRkTGlzdEl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5saXN0SXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saXN0SXRlbXMucHVzaCh7XG4gICAgICAgICAgICBpZDogdGhpcy5saXN0SWQrKyxcbiAgICAgICAgICAgIGNvbnRyb2w6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pLmRlZmF1bHRWYWx1ZSA/PyBudWxsKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xuICAgIH1cblxuICAgIG1vdmVMaXN0SXRlbShldmVudDogQ2RrRHJhZ0Ryb3A8SW5wdXRMaXN0SXRlbT4pIHtcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0SXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoZXZlbnQucHJldmlvdXNJbmRleCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkuaW5zZXJ0KGV2ZW50LmN1cnJlbnRJbmRleCwgZXZlbnQuaXRlbS5kYXRhLmNvbnRyb2wpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVMaXN0SXRlbShpdGVtOiBJbnB1dExpc3RJdGVtKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RJdGVtcy5maW5kSW5kZXgoaSA9PiBpID09PSBpdGVtKTtcbiAgICAgICAgICAgIGl0ZW0uY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmxpc3RJdGVtcy5maWx0ZXIoaSA9PiBpICE9PSBpdGVtKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJJbnB1dENvbXBvbmVudChcbiAgICAgICAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxGb3JtSW5wdXRDb21wb25lbnQ+LFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sLFxuICAgICkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmO1xuICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xuICAgICAgICBpbnN0YW5jZS5mb3JtQ29udHJvbCA9IGZvcm1Db250cm9sO1xuICAgICAgICBpbnN0YW5jZS5yZWFkb25seSA9IHRoaXMucmVhZG9ubHk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgICAgICAgIGlmIChvYmoubGVuZ3RoID09PSB0aGlzLmxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmxpc3RJdGVtc1tpbmRleF0/LmNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShnZXRDb25maWdBcmdWYWx1ZSh2YWx1ZSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBvYmoubWFwKFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5saXN0SWQrKyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGdldENvbmZpZ0FyZ1ZhbHVlKHZhbHVlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIElucHV0TGlzdEl0ZW0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldElucHV0Q29tcG9uZW50Q29uZmlnKGFyZ0RlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKToge1xuICAgICAgICBjb21wb25lbnQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQ7XG4gICAgfSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1VpQ29uZmlnKGFyZ0RlZikgJiYgYXJnRGVmLnVpLmNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ0RlZi51aTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0eXBlID0gYXJnRGVmPy50eXBlIGFzIENvbmZpZ0FyZ1R5cGUgfCBDdXN0b21GaWVsZFR5cGU7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIGNhc2UgJ2xvY2FsZVN0cmluZyc6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNPcHRpb25zID1cbiAgICAgICAgICAgICAgICAgICAgISEodGhpcy5pc0NvbmZpZ0FyZ0RlZihhcmdEZWYpICYmIGFyZ0RlZi51aT8ub3B0aW9ucykgfHxcbiAgICAgICAgICAgICAgICAgICAgISEoYXJnRGVmIGFzIFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnKS5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGlmIChoYXNPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3NlbGVjdC1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICAgIGNhc2UgJ2xvY2FsZVRleHQnOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dGFyZWEtZm9ybS1pbnB1dCcgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2ludCc6XG4gICAgICAgICAgICBjYXNlICdmbG9hdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdib29sZWFuLWZvcm0taW5wdXQnIH07XG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnZGF0ZS1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgY2FzZSAnSUQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcbiAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdyZWxhdGlvbi1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNDb25maWdBcmdEZWYoZGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiBkZWYgaXMgQ29uZmlnQXJnRGVmaW5pdGlvbiB7XG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGRlZiA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIChkZWYgYXMgYW55KT8udWk/LmNvbXBvbmVudCA9PT0gJ3N0cmluZyc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZW5kZXJBc0xpc3Q7IGVsc2UgbGlzdFwiPlxuICAgIDxuZy1jb250YWluZXIgI3NpbmdsZT48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNsaXN0PlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbnRhaW5lclwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwibW92ZUxpc3RJdGVtKCRldmVudClcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWl0ZW0tcm93XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RJdGVtczsgdHJhY2tCeTogdHJhY2tCeUlkXCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtjZGtEcmFnTG9ja0F4aXNdPVwiJ3knXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc3BhY2VyIHByLTJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNsaXN0SXRlbT48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxpc3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvbW1vbi5yZW1vdmUtaXRlbS1mcm9tLWxpc3QnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJ0aW1lc1wiPjwvY2xyLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWhhbmRsZVwiIGNka0RyYWdIYW5kbGUgW2NsYXNzLmhpZGRlbl09XCJyZWFkb25seVwiPlxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImRyYWctaGFuZGxlXCIgc2l6ZT1cIjI0XCI+PC9jbHItaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJhZGRMaXN0SXRlbSgpXCIgKm5nSWY9XCIhcmVhZG9ubHlcIj5cbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPiB7eyAnY29tbW9uLmFkZC1pdGVtLXRvLWxpc3QnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2R5bmFtaWMtZm9ybS1pbnB1dC9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFLVCxLQUFLLEVBT0wsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNyQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7Ozs7Ozs7QUFTM0Y7O0dBRUc7QUFjSCxNQUFNLE9BQU8seUJBQXlCO0lBbUJsQyxZQUNZLHdCQUFrRCxFQUNsRCx3QkFBa0QsRUFDbEQsaUJB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcclxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVHlwZSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICAgIEZvcm1BcnJheSxcclxuICAgIEZvcm1Db250cm9sLFxyXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICBVbnR5cGVkRm9ybUFycmF5LFxyXG4gICAgVW50eXBlZEZvcm1Db250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IENvbmZpZ0FyZ1R5cGUsIEN1c3RvbUZpZWxkVHlwZSwgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIsIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgc2ltcGxlRGVlcENsb25lIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaW1wbGUtZGVlcC1jbG9uZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdEZWZpbml0aW9uLCBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBnZXRDb25maWdBcmdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsaXRpZXMvY29uZmlndXJhYmxlLW9wZXJhdGlvbi11dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21wb25lbnQtcmVnaXN0cnkvY29tcG9uZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5cclxudHlwZSBJbnB1dExpc3RJdGVtID0ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEEgaG9zdCBjb21wb25lbnQgd2hpY2ggZGVsZWdhdGVzIHRvIGFuIGluc3RhbmNlIG9yIGxpc3Qgb2YgRm9ybUlucHV0Q29tcG9uZW50IGNvbXBvbmVudHMuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWR5bmFtaWMtZm9ybS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUlucHV0Q29tcG9uZW50XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICAgIEBJbnB1dCgpIGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG4gICAgcmVuZGVyQXNMaXN0ID0gZmFsc2U7XHJcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBsaXN0SWQgPSAxO1xyXG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSBhcyBBcnJheTxGb3JtQ29udHJvbDxhbnk+Pik7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgcmVuZGVyTGlzdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRSZWdpc3RyeVNlcnZpY2U6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChjb21wb25lbnRJZCk7XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50VHlwZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRUeXBlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcclxuICAgICAgICAgICAgY29uc3QgY21wUmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xyXG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgYFRoZSAke3RoaXMuY29tcG9uZW50VHlwZS5uYW1lfSBjb21wb25lbnQgaXMgYSBsaXN0IGlucHV0LCBidXQgdGhlIGRlZmluaXRpb24gZm9yICR7dGhpcy5kZWYubmFtZX0gZG9lcyBub3QgZXhwZWN0IGEgbGlzdGAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyQXNMaXN0ID0gdGhpcy5kZWYubGlzdCAmJiAhaXNMaXN0SW5wdXRDb21wb25lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdElucHV0cyA9ICh2aWV3Q29udGFpbmVyUmVmczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zLmZvckVhY2goaSA9PiBpLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZnMuZm9yRWFjaCgocmVmLCBpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMubGlzdEl0ZW1zPy5baV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucHVzaChsaXN0SXRlbS5jb250cm9sKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbS5jb21wb25lbnRSZWYgPSB0aGlzLnJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIgPSB0aGlzLmxpc3RGb3JtQXJyYXkudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cnV0aHlWYWx1ZXMgPSB2YWwuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0cnV0aHlWYWx1ZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKHRydXRoeVZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBpbml0aWFsIHJlbmRlclxyXG4gICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbUNvbnRhaW5lcnMuY2hhbmdlc1xyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4gcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycykpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHJlbmRlciBvbiBjaGFuZ2VzIHRvIHRoZSBsaXN0XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmxpc3RJdGVtQ29udGFpbmVycy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJMaXN0SW5wdXRzKHRoaXMubGlzdEl0ZW1Db250YWluZXJzKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUJpbmRpbmdzKGNoYW5nZXMsIGl0ZW0uY29tcG9uZW50UmVmKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaW5nbGVDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVCaW5kaW5ncyhjaGFuZ2VzLCB0aGlzLnNpbmdsZUNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUJpbmRpbmdzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMsIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEZvcm1JbnB1dENvbXBvbmVudD4pIHtcclxuICAgICAgICBpZiAoJ2RlZicgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gc2ltcGxlRGVlcENsb25lKHRoaXMuZGVmKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCdyZWFkb25seScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5SWQoaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pZDtcclxuICAgIH1cclxuXHJcbiAgICBhZGRMaXN0SXRlbSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdEl0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgICBpZDogdGhpcy5saXN0SWQrKyxcclxuICAgICAgICAgICAgY29udHJvbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5kZWYgYXMgQ29uZmlnQXJnRGVmaW5pdGlvbikuZGVmYXVsdFZhbHVlID8/IG51bGwpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVMaXN0SXRlbShldmVudDogQ2RrRHJhZ0Ryb3A8SW5wdXRMaXN0SXRlbT4pIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubGlzdEl0ZW1zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5pbnNlcnQoZXZlbnQuY3VycmVudEluZGV4LCBldmVudC5pdGVtLmRhdGEuY29udHJvbCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVMaXN0SXRlbShpdGVtOiBJbnB1dExpc3RJdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0SXRlbXMuZmluZEluZGV4KGkgPT4gaSA9PT0gaXRlbSk7XHJcbiAgICAgICAgICAgIGl0ZW0uY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gdGhpcy5saXN0SXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Rm9ybUlucHV0Q29tcG9uZW50PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgICApIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWY7XHJcbiAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gc2ltcGxlRGVlcENsb25lKHRoaXMuZGVmKTtcclxuICAgICAgICBpbnN0YW5jZS5mb3JtQ29udHJvbCA9IGZvcm1Db250cm9sO1xyXG4gICAgICAgIGluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICAgICAgaWYgKG9iai5sZW5ndGggPT09IHRoaXMubGlzdEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgb2JqLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmxpc3RJdGVtc1tpbmRleF0/LmNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKGdldENvbmZpZ0FyZ1ZhbHVlKHZhbHVlKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IG9iai5tYXAoXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmxpc3RJZCsrLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChnZXRDb25maWdBcmdWYWx1ZSh2YWx1ZSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIElucHV0TGlzdEl0ZW0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJbnB1dENvbXBvbmVudENvbmZpZyhhcmdEZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZyk6IHtcclxuICAgICAgICBjb21wb25lbnQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQ7XHJcbiAgICB9IHtcclxuICAgICAgICBpZiAodGhpcy5oYXNVaUNvbmZpZyhhcmdEZWYpICYmIGFyZ0RlZi51aS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyZ0RlZi51aTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IGFyZ0RlZj8udHlwZSBhcyBDb25maWdBcmdUeXBlIHwgQ3VzdG9tRmllbGRUeXBlO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNPcHRpb25zID1cclxuICAgICAgICAgICAgICAgICAgICAhISh0aGlzLmlzQ29uZmlnQXJnRGVmKGFyZ0RlZikgJiYgYXJnRGVmLnVpPy5vcHRpb25zKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICEhKGFyZ0RlZiBhcyBTdHJpbmdDdXN0b21GaWVsZENvbmZpZykub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChoYXNPcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnc2VsZWN0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHRhcmVhLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnYm9vbGVhbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdkYXRlLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ0lEJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAncmVsYXRpb24tZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ29uZmlnQXJnRGVmKGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKTogZGVmIGlzIENvbmZpZ0FyZ0RlZmluaXRpb24ge1xyXG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGVmID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgKGRlZiBhcyBhbnkpPy51aT8uY29tcG9uZW50ID09PSAnc3RyaW5nJztcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlckFzTGlzdDsgZWxzZSBsaXN0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICNzaW5nbGU+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2xpc3Q+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1jb250YWluZXJcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVMaXN0SXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtaXRlbS1yb3dcIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXHJcbiAgICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgICAgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cIid5J1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zcGFjZXIgcHItMlwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjbGlzdEl0ZW0+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1zbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlTGlzdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24ucmVtb3ZlLWl0ZW0tZnJvbS1saXN0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRpbWVzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWhhbmRsZVwiIGNka0RyYWdIYW5kbGUgW2NsYXNzLmhpZGRlbl09XCJyZWFkb25seVwiPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZHJhZy1oYW5kbGVcIiBzaXplPVwiMjRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgKGNsaWNrKT1cImFkZExpc3RJdGVtKClcIiAqbmdJZj1cIiFyZWFkb25seVwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJwbHVzXCI+PC9jbHItaWNvbj4ge3sgJ2NvbW1vbi5hZGQtaXRlbS10by1saXN0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
46
46
  }], readonly: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT3JHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdGQUF3RixDQUFDOzs7OztBQVE3SSxNQUFNLE9BQU8sc0NBQXNDO2FBTS9CLE9BQUUsR0FBMkIsMEJBQTBCLENBQUM7SUFFeEUsWUFDWSxZQUEwQixFQUMxQixXQUF3QixFQUN4QixjQUFpQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQN0MsU0FBSSxHQUEwQixTQUFTLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7SUFPekIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsSUFBSSxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQyxtQ0FBbUMsRUFBRTtZQUNoRCxJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM1QzthQUNKO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuQixJQUFJLFNBQVMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDckIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNqQixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUNuRSxDQUNKLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F4Q1Esc0NBQXNDO2tHQUF0QyxzQ0FBc0MsNkpDZm5ELHNPQUtBOzsyRkRVYSxzQ0FBc0M7a0JBTmxELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNOzZKQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcblxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0TXVsdGlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1kaWFsb2cvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE11bHRpU2VsZWN0b3JGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEZvcm1JbnB1dENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwncHJvZHVjdC1tdWx0aS1mb3JtLWlucHV0Jz47XG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZ1tdIHwgQXJyYXk8eyBpZDogc3RyaW5nIH0+PjtcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgICBtb2RlOiAncHJvZHVjdCcgfCAndmFyaWFudCcgPSAncHJvZHVjdCc7XG4gICAgcmVhZG9ubHkgaXNMaXN0SW5wdXQgPSB0cnVlO1xuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdwcm9kdWN0LW11bHRpLWZvcm0taW5wdXQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5tb2RlID0gdGhpcy5jb25maWcudWk/LnNlbGVjdGlvbk1vZGUgPz8gJ3Byb2R1Y3QnO1xuICAgIH1cblxuICAgIHNlbGVjdCgpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KFByb2R1Y3RNdWx0aVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsU2VsZWN0aW9uSWRzOiB0aGlzLmZvcm1Db250cm9sLnZhbHVlLm1hcChpdGVtID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgPyBpdGVtIDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoc2VsZWN0aW9uID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24ubWFwKGl0ZW0gPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPT09ICdwcm9kdWN0JyA/IGl0ZW0ucHJvZHVjdElkIDogaXRlbS5wcm9kdWN0VmFyaWFudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJzZWxlY3QoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAge3sgJ2NvbW1vbi5pdGVtcy1zZWxlY3RlZC1jb3VudCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGggPz8gMCB9IH19Li4uXHJcbiAgICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT3JHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdGQUF3RixDQUFDOzs7OztBQVE3SSxNQUFNLE9BQU8sc0NBQXNDO2FBTS9CLE9BQUUsR0FBMkIsMEJBQTBCLENBQUM7SUFFeEUsWUFDWSxZQUEwQixFQUMxQixXQUF3QixFQUN4QixjQUFpQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQN0MsU0FBSSxHQUEwQixTQUFTLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7SUFPekIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsSUFBSSxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQyxtQ0FBbUMsRUFBRTtZQUNoRCxJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM1QzthQUNKO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuQixJQUFJLFNBQVMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDckIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNqQixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUNuRSxDQUNKLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F4Q1Esc0NBQXNDO2tHQUF0QyxzQ0FBc0MsNkpDZm5ELHNPQUtBOzsyRkRVYSxzQ0FBc0M7a0JBTmxELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNOzZKQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RNdWx0aVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWRpYWxvZy9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdE11bHRpU2VsZWN0b3JGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdwcm9kdWN0LW11bHRpLWZvcm0taW5wdXQnPjtcclxuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmdbXSB8IEFycmF5PHsgaWQ6IHN0cmluZyB9Pj47XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIG1vZGU6ICdwcm9kdWN0JyB8ICd2YXJpYW50JyA9ICdwcm9kdWN0JztcclxuICAgIHJlYWRvbmx5IGlzTGlzdElucHV0ID0gdHJ1ZTtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdwcm9kdWN0LW11bHRpLWZvcm0taW5wdXQnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlID0gdGhpcy5jb25maWcudWk/LnNlbGVjdGlvbk1vZGUgPz8gJ3Byb2R1Y3QnO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChQcm9kdWN0TXVsdGlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGU6IHRoaXMubW9kZSxcclxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsU2VsZWN0aW9uSWRzOiB0aGlzLmZvcm1Db250cm9sLnZhbHVlLm1hcChpdGVtID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJyA/IGl0ZW0gOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHNlbGVjdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLm1hcChpdGVtID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPT09ICdwcm9kdWN0JyA/IGl0ZW0ucHJvZHVjdElkIDogaXRlbS5wcm9kdWN0VmFyaWFudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJzZWxlY3QoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAge3sgJ2NvbW1vbi5pdGVtcy1zZWxlY3RlZC1jb3VudCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGggPz8gMCB9IH19Li4uXHJcbiAgICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
63
63
  type: Component,
64
64
  args: [{ selector: 'vdr-product-selector-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"list-unstyled\">\r\n <li *ngFor=\"let variant of selection$ | async\" class=\"variant\">\r\n <div class=\"thumb\">\r\n <img [src]=\"variant.product.featuredAsset | assetPreview: 32\" />\r\n </div>\r\n <div class=\"detail\">\r\n <div>{{ variant.name }}</div>\r\n <div class=\"sku\">{{ variant.sku }}</div>\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button\r\n class=\"button-small\"\r\n (click)=\"removeProductVariant(variant.id)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<vdr-product-variant-selector (productSelected)=\"addProductVariant($event)\"></vdr-product-variant-selector>\r\n", styles: [".variant{margin-bottom:6px;display:flex;align-items:center;transition:background-color .2s}.variant:hover{background-color:var(--color-component-bg-200)}.thumb{margin-right:6px}.thumb img{border-radius:var(--border-radius)}.sku{color:var(--color-grey-400);font-size:smaller;line-height:1em}\n"] }]
65
65
  }], ctorParameters: function () { return [{ type: i1.DataService }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFNM0Q7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyxpQ0FBaUM7YUFDMUIsT0FBRSxHQUEyQiw2QkFBNkIsQ0FBQztJQU8zRSxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU5uQyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQU1tQixDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMzQixPQUFPLENBQUMsRUFBRTtnQkFDTixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO29CQUN6QyxPQUFPO3dCQUNILFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtxQkFDL0MsQ0FBQztpQkFDTDtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUNqQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQzFDLE9BQU8sUUFBUSxDQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDWCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87cUJBQ25CLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDOUMsQ0FDSixDQUFDO2FBQ0w7WUFDRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUE4RDtRQUM1RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsRUFBVTtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBOEM7UUFDeEQsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN4RCxDQUFDOzhHQXREUSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1RUN6QjlDLG0xQkFvQkE7OzJGREthLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRJZCwgRGVmYXVsdEZvcm1Db21wb25lbnRVaUNvbmZpZyB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XG5pbXBvcnQgeyBHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5LCBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQWxsb3dzIHRoZSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgUHJvZHVjdFZhcmlhbnRzIHZpYSBhbiBhdXRvY29tcGxldGUgc2VsZWN0IGlucHV0LlxuICogU2hvdWxkIGJlIHVzZWQgd2l0aCBgSURgIHR5cGUgKipsaXN0KiogZmllbGRzIHdoaWNoIHJlcHJlc2VudCBQcm9kdWN0VmFyaWFudCBJRHMuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLXByb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCwgT25Jbml0IHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAncHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0JztcbiAgICByZWFkb25seSBpc0xpc3RJbnB1dCA9IHRydWU7XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPEFycmF5PHN0cmluZyB8IHsgaWQ6IHN0cmluZyB9Pj47XG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudFVpQ29uZmlnPCdwcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQnPjtcbiAgICBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPEFycmF5PEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgICAgICBjb250cm9sID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgIWNvbnRyb2wudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdExlYXN0T25lOiB7IGxlbmd0aDogY29udHJvbC52YWx1ZS5sZW5ndGggfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9LFxuICAgICAgICBdKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGlvbiQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgMCA8IHZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5tYXAoaWQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldFByb2R1Y3RWYXJpYW50KHRoaXMuZ2V0SWQoaWQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5wcm9kdWN0VmFyaWFudCksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAodmFyaWFudHMgPT4gdmFyaWFudHMuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZFByb2R1Y3RWYXJpYW50KHByb2R1Y3Q6IFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXVsnaXRlbXMnXVtudW1iZXJdKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZSBhcyBzdHJpbmdbXTtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShbLi4ubmV3IFNldChbLi4udmFsdWUsIHByb2R1Y3QucHJvZHVjdFZhcmlhbnRJZF0pXSk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICByZW1vdmVQcm9kdWN0VmFyaWFudChpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5tYXAodGhpcy5nZXRJZCkuZmlsdGVyKF9pZCA9PiBfaWQgIT09IGlkKSk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldElkKHZhbHVlOiAodHlwZW9mIHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpW251bWJlcl0pIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IHZhbHVlLmlkO1xuICAgIH1cbn1cbiIsIjx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgdmFyaWFudCBvZiBzZWxlY3Rpb24kIHwgYXN5bmNcIiBjbGFzcz1cInZhcmlhbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cInZhcmlhbnQucHJvZHVjdC5mZWF0dXJlZEFzc2V0IHwgYXNzZXRQcmV2aWV3OiAzMlwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbFwiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7IHZhcmlhbnQubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t1XCI+e3sgdmFyaWFudC5za3UgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVByb2R1Y3RWYXJpYW50KHZhcmlhbnQuaWQpXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24ucmVtb3ZlLWl0ZW0tZnJvbS1saXN0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJ0aW1lc1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2xpPlxyXG48L3VsPlxyXG48dmRyLXByb2R1Y3QtdmFyaWFudC1zZWxlY3RvciAocHJvZHVjdFNlbGVjdGVkKT1cImFkZFByb2R1Y3RWYXJpYW50KCRldmVudClcIj48L3Zkci1wcm9kdWN0LXZhcmlhbnQtc2VsZWN0b3I+XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFNM0Q7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyxpQ0FBaUM7YUFDMUIsT0FBRSxHQUEyQiw2QkFBNkIsQ0FBQztJQU8zRSxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU5uQyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQU1tQixDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMzQixPQUFPLENBQUMsRUFBRTtnQkFDTixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO29CQUN6QyxPQUFPO3dCQUNILFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtxQkFDL0MsQ0FBQztpQkFDTDtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUNqQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQzFDLE9BQU8sUUFBUSxDQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDWCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87cUJBQ25CLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDOUMsQ0FDSixDQUFDO2FBQ0w7WUFDRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUE4RDtRQUM1RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsRUFBVTtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBOEM7UUFDeEQsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN4RCxDQUFDOzhHQXREUSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1RUN6QjlDLG0xQkFvQkE7OzJGREthLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlZmF1bHRGb3JtQ29tcG9uZW50SWQsIERlZmF1bHRGb3JtQ29tcG9uZW50VWlDb25maWcgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgR2V0UHJvZHVjdFZhcmlhbnRRdWVyeSwgUHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBbGxvd3MgdGhlIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBQcm9kdWN0VmFyaWFudHMgdmlhIGFuIGF1dG9jb21wbGV0ZSBzZWxlY3QgaW5wdXQuXHJcbiAqIFNob3VsZCBiZSB1c2VkIHdpdGggYElEYCB0eXBlICoqbGlzdCoqIGZpZWxkcyB3aGljaCByZXByZXNlbnQgUHJvZHVjdFZhcmlhbnQgSURzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50LCBPbkluaXQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dCc7XHJcbiAgICByZWFkb25seSBpc0xpc3RJbnB1dCA9IHRydWU7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDxBcnJheTxzdHJpbmcgfCB7IGlkOiBzdHJpbmcgfT4+O1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudFVpQ29uZmlnPCdwcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQnPjtcclxuICAgIHNlbGVjdGlvbiQ6IE9ic2VydmFibGU8QXJyYXk8R2V0UHJvZHVjdFZhcmlhbnRRdWVyeVsncHJvZHVjdFZhcmlhbnQnXT4+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbXHJcbiAgICAgICAgICAgIGNvbnRyb2wgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFjb250cm9sLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0TGVhc3RPbmU6IHsgbGVuZ3RoOiBjb250cm9sLnZhbHVlLmxlbmd0aCB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24kID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIDAgPCB2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLm1hcChpZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldFByb2R1Y3RWYXJpYW50KHRoaXMuZ2V0SWQoaWQpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnByb2R1Y3RWYXJpYW50KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG1hcCh2YXJpYW50cyA9PiB2YXJpYW50cy5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRQcm9kdWN0VmFyaWFudChwcm9kdWN0OiBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ11bJ2l0ZW1zJ11bbnVtYmVyXSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZSBhcyBzdHJpbmdbXTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKFsuLi5uZXcgU2V0KFsuLi52YWx1ZSwgcHJvZHVjdC5wcm9kdWN0VmFyaWFudElkXSldKTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlUHJvZHVjdFZhcmlhbnQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlLm1hcCh0aGlzLmdldElkKS5maWx0ZXIoX2lkID0+IF9pZCAhPT0gaWQpKTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJZCh2YWx1ZTogKHR5cGVvZiB0aGlzLmZvcm1Db250cm9sLnZhbHVlKVtudW1iZXJdKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IHZhbHVlLmlkO1xyXG4gICAgfVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgdmFyaWFudCBvZiBzZWxlY3Rpb24kIHwgYXN5bmNcIiBjbGFzcz1cInZhcmlhbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cInZhcmlhbnQucHJvZHVjdC5mZWF0dXJlZEFzc2V0IHwgYXNzZXRQcmV2aWV3OiAzMlwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbFwiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7IHZhcmlhbnQubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t1XCI+e3sgdmFyaWFudC5za3UgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVByb2R1Y3RWYXJpYW50KHZhcmlhbnQuaWQpXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24ucmVtb3ZlLWl0ZW0tZnJvbS1saXN0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJ0aW1lc1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2xpPlxyXG48L3VsPlxyXG48dmRyLXByb2R1Y3QtdmFyaWFudC1zZWxlY3RvciAocHJvZHVjdFNlbGVjdGVkKT1cImFkZFByb2R1Y3RWYXJpYW50KCRldmVudClcIj48L3Zkci1wcm9kdWN0LXZhcmlhbnQtc2VsZWN0b3I+XHJcbiJdfQ==
@@ -99,4 +99,4 @@ export function registerFormInputComponent(id, component) {
99
99
  export function registerDefaultFormInputs() {
100
100
  return defaultFormInputs.map(cmp => registerFormInputComponent(cmp.id, cmp));
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZHluYW1pYy1pbnB1dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWdpc3Rlci1keW5hbWljLWlucHV0LWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFHakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFPekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDekksT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsc0NBQXNDO0lBQ3RDLGlDQUFpQztDQUNwQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsRUFBVSxFQUFFLFNBQW1DO0lBQ3RGLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLFFBQWtDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUNyRCxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztLQUNuQyxDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QjtJQUNyQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBGYWN0b3J5UHJvdmlkZXIsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEN1c3RvbUZpZWxkQ29tcG9uZW50U2VydmljZSxcbiAgICBDdXN0b21GaWVsZENvbnRyb2wsXG4gICAgQ3VzdG9tRmllbGRFbnRpdHlOYW1lLFxufSBmcm9tICcuLi8uLi9wcm92aWRlcnMvY3VzdG9tLWZpZWxkLWNvbXBvbmVudC9jdXN0b20tZmllbGQtY29tcG9uZW50LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9ib29sZWFuLWZvcm0taW5wdXQvYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdG1sRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb2RlLWVkaXRvci1mb3JtLWlucHV0L2h0bWwtZWRpdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEpzb25FZGl0b3JGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tYmluYXRpb25Nb2RlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21iaW5hdGlvbi1tb2RlLWZvcm0taW5wdXQvY29tYmluYXRpb24tbW9kZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXJyZW5jeUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY3VycmVuY3ktZm9ybS1pbnB1dC9jdXJyZW5jeS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b21lci1ncm91cC1mb3JtLWlucHV0L2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtZm9ybS1pbnB1dC9kYXRlLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZhY2V0VmFsdWVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQvZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItZm9ybS1pbnB1dC9udW1iZXItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFzc3dvcmRGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkLWZvcm0taW5wdXQvcGFzc3dvcmQtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdE11bHRpU2VsZWN0b3JGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVsYXRpb25Gb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmljaFRleHRGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3JpY2gtdGV4dC1mb3JtLWlucHV0L3JpY2gtdGV4dC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1mb3JtLWlucHV0L3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Rm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWZvcm0taW5wdXQvdGV4dC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEtZm9ybS1pbnB1dC90ZXh0YXJlYS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Rm9ybUlucHV0cyA9IFtcbiAgICBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIEN1cnJlbmN5Rm9ybUlucHV0Q29tcG9uZW50LFxuICAgIERhdGVGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgRmFjZXRWYWx1ZUZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0Rm9ybUlucHV0Q29tcG9uZW50LFxuICAgIFRleHRGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIEN1c3RvbWVyR3JvdXBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgUGFzc3dvcmRGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgUmVsYXRpb25Gb3JtSW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgUmljaFRleHRGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBIdG1sRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIENvbWJpbmF0aW9uTW9kZUZvcm1JbnB1dENvbXBvbmVudCxcbl07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZWdpc3RlcnMgYSBjdXN0b20gRm9ybUlucHV0Q29tcG9uZW50IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIGFyZ3VtZW50IGlucHV0c1xuICogb2YgYSB7QGxpbmsgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmfSAoZS5nLiBDb2xsZWN0aW9uRmlsdGVyLCBTaGlwcGluZ01ldGhvZCBldGMpIG9yIGZvclxuICogYSBjdXN0b20gZmllbGQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFR5cGVTY3JpcHRcbiAqIFxcQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZV0sXG4gKiAgIGRlY2xhcmF0aW9uczogW015Q3VzdG9tRmllbGRDb250cm9sXSxcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgICByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudCgnbXktY3VzdG9tLWlucHV0JywgTXlDdXN0b21GaWVsZENvbnRyb2wpLFxuICogICBdLFxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBNeVVpRXh0ZW5zaW9uTW9kdWxlIHt9XG4gKiBgYGBcbiAqXG4gKiBUaGlzIGlucHV0IGNvbXBvbmVudCBjYW4gdGhlbiBiZSB1c2VkIGluIGEgY3VzdG9tIGZpZWxkOlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBUeXBlU2NyaXB0XG4gKiBjb25zdCBjb25maWcgPSB7XG4gKiAgIC8vIC4uLlxuICogICBjdXN0b21GaWVsZHM6IHtcbiAqICAgICBQcm9kdWN0VmFyaWFudDogW1xuICogICAgICAge1xuICogICAgICAgICBuYW1lOiAncnJwJyxcbiAqICAgICAgICAgdHlwZTogJ2ludCcsXG4gKiAgICAgICAgIHVpOiB7IGNvbXBvbmVudDogJ215LWN1c3RvbS1pbnB1dCcgfSxcbiAqICAgICAgIH0sXG4gKiAgICAgXVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBvciB3aXRoIGFuIGFyZ3VtZW50IG9mIGEge0BsaW5rIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZn06XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFR5cGVTY3JpcHRcbiAqIGFyZ3M6IHtcbiAqICAgcnJwOiB7IHR5cGU6ICdpbnQnLCB1aTogeyBjb21wb25lbnQ6ICdteS1jdXN0b20taW5wdXQnIH0gfSxcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRm9ybUlucHV0Q29tcG9uZW50KGlkOiBzdHJpbmcsIGNvbXBvbmVudDogVHlwZTxGb3JtSW5wdXRDb21wb25lbnQ+KTogRmFjdG9yeVByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJJbnB1dENvbXBvbmVudChpZCwgY29tcG9uZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVwczogW0NvbXBvbmVudFJlZ2lzdHJ5U2VydmljZV0sXG4gICAgfTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0Rm9ybUlucHV0cygpOiBGYWN0b3J5UHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIGRlZmF1bHRGb3JtSW5wdXRzLm1hcChjbXAgPT4gcmVnaXN0ZXJGb3JtSW5wdXRDb21wb25lbnQoY21wLmlkLCBjbXApKTtcbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZHluYW1pYy1pbnB1dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWdpc3Rlci1keW5hbWljLWlucHV0LWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFHakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFPekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDekksT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsc0NBQXNDO0lBQ3RDLGlDQUFpQztDQUNwQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsRUFBVSxFQUFFLFNBQW1DO0lBQ3RGLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLFFBQWtDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUNyRCxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztLQUNuQyxDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QjtJQUNyQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBGYWN0b3J5UHJvdmlkZXIsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgICBDdXN0b21GaWVsZENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBDdXN0b21GaWVsZENvbnRyb2wsXHJcbiAgICBDdXN0b21GaWVsZEVudGl0eU5hbWUsXHJcbn0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2N1c3RvbS1maWVsZC1jb21wb25lbnQvY3VzdG9tLWZpZWxkLWNvbXBvbmVudC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEJvb2xlYW5Gb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Jvb2xlYW4tZm9ybS1pbnB1dC9ib29sZWFuLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHRtbEVkaXRvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29kZS1lZGl0b3ItZm9ybS1pbnB1dC9odG1sLWVkaXRvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvbk1vZGVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbWJpbmF0aW9uLW1vZGUtZm9ybS1pbnB1dC9jb21iaW5hdGlvbi1tb2RlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b21lci1ncm91cC1mb3JtLWlucHV0L2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldFZhbHVlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mYWNldC12YWx1ZS1mb3JtLWlucHV0L2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtYmVyRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItZm9ybS1pbnB1dC9udW1iZXItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXNzd29yZEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtZm9ybS1pbnB1dC9wYXNzd29yZC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWxhdGlvbkZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcmVsYXRpb24tZm9ybS1pbnB1dC9yZWxhdGlvbi1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0Rm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtZm9ybS1pbnB1dC9yaWNoLXRleHQtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1mb3JtLWlucHV0L3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZm9ybS1pbnB1dC90ZXh0LWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dGFyZWFGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLWZvcm0taW5wdXQvdGV4dGFyZWEtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRGb3JtSW5wdXRzID0gW1xyXG4gICAgQm9vbGVhbkZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEN1cnJlbmN5Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEZhY2V0VmFsdWVGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tZXJHcm91cEZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFBhc3N3b3JkRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Gb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEh0bWxFZGl0b3JGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0TXVsdGlTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIENvbWJpbmF0aW9uTW9kZUZvcm1JbnB1dENvbXBvbmVudCxcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogUmVnaXN0ZXJzIGEgY3VzdG9tIEZvcm1JbnB1dENvbXBvbmVudCB3aGljaCBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBhcmd1bWVudCBpbnB1dHNcclxuICogb2YgYSB7QGxpbmsgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmfSAoZS5nLiBDb2xsZWN0aW9uRmlsdGVyLCBTaGlwcGluZ01ldGhvZCBldGMpIG9yIGZvclxyXG4gKiBhIGN1c3RvbSBmaWVsZC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZV0sXHJcbiAqICAgZGVjbGFyYXRpb25zOiBbTXlDdXN0b21GaWVsZENvbnRyb2xdLFxyXG4gKiAgIHByb3ZpZGVyczogW1xyXG4gKiAgICAgICByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudCgnbXktY3VzdG9tLWlucHV0JywgTXlDdXN0b21GaWVsZENvbnRyb2wpLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBNeVVpRXh0ZW5zaW9uTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBUaGlzIGlucHV0IGNvbXBvbmVudCBjYW4gdGhlbiBiZSB1c2VkIGluIGEgY3VzdG9tIGZpZWxkOlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBUeXBlU2NyaXB0XHJcbiAqIGNvbnN0IGNvbmZpZyA9IHtcclxuICogICAvLyAuLi5cclxuICogICBjdXN0b21GaWVsZHM6IHtcclxuICogICAgIFByb2R1Y3RWYXJpYW50OiBbXHJcbiAqICAgICAgIHtcclxuICogICAgICAgICBuYW1lOiAncnJwJyxcclxuICogICAgICAgICB0eXBlOiAnaW50JyxcclxuICogICAgICAgICB1aTogeyBjb21wb25lbnQ6ICdteS1jdXN0b20taW5wdXQnIH0sXHJcbiAqICAgICAgIH0sXHJcbiAqICAgICBdXHJcbiAqICAgfVxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBvciB3aXRoIGFuIGFyZ3VtZW50IG9mIGEge0BsaW5rIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZn06XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogYXJnczoge1xyXG4gKiAgIHJycDogeyB0eXBlOiAnaW50JywgdWk6IHsgY29tcG9uZW50OiAnbXktY3VzdG9tLWlucHV0JyB9IH0sXHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudChpZDogc3RyaW5nLCBjb21wb25lbnQ6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50Pik6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlcklucHV0Q29tcG9uZW50KGlkLCBjb21wb25lbnQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0NvbXBvbmVudFJlZ2lzdHJ5U2VydmljZV0sXHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgY29tcG9uZW50cy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckRlZmF1bHRGb3JtSW5wdXRzKCk6IEZhY3RvcnlQcm92aWRlcltdIHtcclxuICAgIHJldHVybiBkZWZhdWx0Rm9ybUlucHV0cy5tYXAoY21wID0+IHJlZ2lzdGVyRm9ybUlucHV0Q29tcG9uZW50KGNtcC5pZCwgY21wKSk7XHJcbn1cclxuIl19
@@ -12,17 +12,17 @@ import * as i3 from "../relation-card/relation-card.component";
12
12
  import * as i4 from "@angular/common";
13
13
  import * as i5 from "@ngx-translate/core";
14
14
  import * as i6 from "../../../pipes/asset-preview.pipe";
15
- export const RELATION_ASSET_INPUT_QUERY = gql `
16
- query RelationAssetInputQuery($id: ID!) {
17
- asset(id: $id) {
18
- ...Asset
19
- tags {
20
- ...Tag
21
- }
22
- }
23
- }
24
- ${ASSET_FRAGMENT}
25
- ${TAG_FRAGMENT}
15
+ export const RELATION_ASSET_INPUT_QUERY = gql `
16
+ query RelationAssetInputQuery($id: ID!) {
17
+ asset(id: $id) {
18
+ ...Asset
19
+ tags {
20
+ ...Tag
21
+ }
22
+ }
23
+ }
24
+ ${ASSET_FRAGMENT}
25
+ ${TAG_FRAGMENT}
26
26
  `;
27
27
  export class RelationAssetInputComponent {
28
28
  constructor(modalService, dataService) {
@@ -68,11 +68,11 @@ export class RelationAssetInputComponent {
68
68
  .subscribe();
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: RelationAssetInputComponent, deps: [{ token: i1.ModalService }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", formControl: ["parentFormControl", "formControl"], config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer;border-radius:var(--border-radius)}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: i3.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i3.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i3.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", formControl: ["parentFormControl", "formControl"], config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer;border-radius:var(--border-radius);max-width:100px;max-height:100px}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: i3.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i3.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i3.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: RelationAssetInputComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'vdr-relation-asset-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer;border-radius:var(--border-radius)}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
75
+ args: [{ selector: 'vdr-relation-asset-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer;border-radius:var(--border-radius);max-width:100px;max-height:100px}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
76
76
  }], ctorParameters: function () { return [{ type: i1.ModalService }, { type: i2.DataService }]; }, propDecorators: { readonly: [{
77
77
  type: Input
78
78
  }], formControl: [{
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
81
81
  }], config: [{
82
82
  type: Input
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2Fzc2V0L3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9hc3NldC9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBR2hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7OztBQUV0SCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVN2QyxjQUFjO01BQ2QsWUFBWTtDQUNqQixDQUFDO0FBUUYsTUFBTSxPQUFPLDJCQUEyQjtJQU1wQyxZQUFvQixZQUEwQixFQUFVLFdBQXdCO1FBQTVELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXBGLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDNUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFDdkIsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7Z0JBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQzthQUMzRjtpQkFBTTtnQkFDSCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZO2FBQ1osYUFBYSxDQUFDLDBCQUEwQixFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxLQUFLO2FBQ3JCO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNsQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBMEM7UUFDbkQsSUFBSSxDQUFDLFlBQVk7YUFDWixhQUFhLENBQUMsMkJBQTJCLEVBQUU7WUFDeEMsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNwQixDQUFDO2FBQ0QsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FwRFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsdUtDL0J4QyxzeUJBdUJBOzsyRkRRYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOzZIQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNzQixXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2V0QXNzZXRRdWVyeSwgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgQVNTRVRfRlJBR01FTlQsIFRBR19GUkFHTUVOVCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGVmaW5pdGlvbnMvcHJvZHVjdC1kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXNzZXQtcGlja2VyLWRpYWxvZy9hc3NldC1waWNrZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXctZGlhbG9nL2Fzc2V0LXByZXZpZXctZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBSRUxBVElPTl9BU1NFVF9JTlBVVF9RVUVSWSA9IGdxbGBcbiAgICBxdWVyeSBSZWxhdGlvbkFzc2V0SW5wdXRRdWVyeSgkaWQ6IElEISkge1xuICAgICAgICBhc3NldChpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi5Bc3NldFxuICAgICAgICAgICAgdGFncyB7XG4gICAgICAgICAgICAgICAgLi4uVGFnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cbiAgICAke1RBR19GUkFHTUVOVH1cbmA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLXJlbGF0aW9uLWFzc2V0LWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQXNzZXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCdwYXJlbnRGb3JtQ29udHJvbCcpIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgQElucHV0KCkgY29uZmlnOiBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnO1xuICAgIGFzc2V0JDogT2JzZXJ2YWJsZTxHZXRBc3NldFF1ZXJ5Wydhc3NldCddIHwgdW5kZWZpbmVkPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYXNzZXQkID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSxcbiAgICAgICAgICAgIG1hcChhc3NldCA9PiBhc3NldD8uaWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnByb2R1Y3QuZ2V0QXNzZXQoaWQpLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYXNzZXQgfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZWxlY3RBc3NldCgpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KEFzc2V0UGlja2VyRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHJlc3VsdFswXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUoKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICBwcmV2aWV3QXNzZXQoYXNzZXQ6IE5vbk51bGxhYmxlPEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+KSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBzaXplOiAneGwnLFxuICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGxvY2FsczogeyBhc3NldCB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8dmRyLXJlbGF0aW9uLWNhcmRcclxuICAgIChzZWxlY3QpPVwic2VsZWN0QXNzZXQoKVwiXHJcbiAgICAocmVtb3ZlKT1cInJlbW92ZSgpXCJcclxuICAgIHBsYWNlaG9sZGVySWNvbj1cImltYWdlXCJcclxuICAgIFtlbnRpdHldPVwiYXNzZXQkIHwgYXN5bmNcIlxyXG4gICAgW3NlbGVjdExhYmVsXT1cIidhc3NldC5zZWxlY3QtYXNzZXQnIHwgdHJhbnNsYXRlXCJcclxuICAgIFtyZW1vdmFibGVdPVwiIWNvbmZpZy5saXN0XCJcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbj5cclxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmRQcmV2aWV3IGxldC1hc3NldD1cImVudGl0eVwiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICAgICAgY2xhc3M9XCJwcmV2aWV3XCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidhc3NldC5wcmV2aWV3JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtzcmNdPVwiYXNzZXQgfCBhc3NldFByZXZpZXc6ICd0aW55J1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3QXNzZXQoYXNzZXQpXCJcclxuICAgICAgICAvPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmREZXRhaWwgbGV0LWFzc2V0PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIiBbdGl0bGVdPVwiYXNzZXQubmFtZVwiPlxyXG4gICAgICAgICAgICB7eyBhc3NldC5uYW1lIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3Zkci1yZWxhdGlvbi1jYXJkPlxyXG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2Fzc2V0L3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9hc3NldC9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBR2hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7OztBQUV0SCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVN2QyxjQUFjO01BQ2QsWUFBWTtDQUNqQixDQUFDO0FBUUYsTUFBTSxPQUFPLDJCQUEyQjtJQU1wQyxZQUFvQixZQUEwQixFQUFVLFdBQXdCO1FBQTVELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXBGLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDNUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFDdkIsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7Z0JBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQzthQUMzRjtpQkFBTTtnQkFDSCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZO2FBQ1osYUFBYSxDQUFDLDBCQUEwQixFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxLQUFLO2FBQ3JCO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNsQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBMEM7UUFDbkQsSUFBSSxDQUFDLFlBQVk7YUFDWixhQUFhLENBQUMsMkJBQTJCLEVBQUU7WUFDeEMsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNwQixDQUFDO2FBQ0QsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FwRFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsdUtDL0J4QyxzeUJBdUJBOzsyRkRRYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOzZIQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNzQixXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEdldEFzc2V0UXVlcnksIFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgQVNTRVRfRlJBR01FTlQsIFRBR19GUkFHTUVOVCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGVmaW5pdGlvbnMvcHJvZHVjdC1kZWZpbml0aW9ucyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXNzZXQtcGlja2VyLWRpYWxvZy9hc3NldC1waWNrZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0UHJldmlld0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXNzZXQtcHJldmlldy1kaWFsb2cvYXNzZXQtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBSRUxBVElPTl9BU1NFVF9JTlBVVF9RVUVSWSA9IGdxbGBcclxuICAgIHF1ZXJ5IFJlbGF0aW9uQXNzZXRJbnB1dFF1ZXJ5KCRpZDogSUQhKSB7XHJcbiAgICAgICAgYXNzZXQoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICAuLi5Bc3NldFxyXG4gICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1yZWxhdGlvbi1hc3NldC1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Bc3NldElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCdwYXJlbnRGb3JtQ29udHJvbCcpIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWc7XHJcbiAgICBhc3NldCQ6IE9ic2VydmFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXSB8IHVuZGVmaW5lZD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSwgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5hc3NldCQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5mb3JtQ29udHJvbC52YWx1ZSksXHJcbiAgICAgICAgICAgIG1hcChhc3NldCA9PiBhc3NldD8uaWQpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoaWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucHJvZHVjdC5nZXRBc3NldChpZCkubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS5hc3NldCB8fCB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RBc3NldCgpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUocmVzdWx0WzBdKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZSgpIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aWV3QXNzZXQoYXNzZXQ6IE5vbk51bGxhYmxlPEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+KSB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmZyb21Db21wb25lbnQoQXNzZXRQcmV2aWV3RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAneGwnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHsgYXNzZXQgfSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcmVsYXRpb24tY2FyZFxyXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RBc3NldCgpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKClcIlxyXG4gICAgcGxhY2Vob2xkZXJJY29uPVwiaW1hZ2VcIlxyXG4gICAgW2VudGl0eV09XCJhc3NldCQgfCBhc3luY1wiXHJcbiAgICBbc2VsZWN0TGFiZWxdPVwiJ2Fzc2V0LnNlbGVjdC1hc3NldCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3JlbW92YWJsZV09XCIhY29uZmlnLmxpc3RcIlxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZFByZXZpZXcgbGV0LWFzc2V0PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBjbGFzcz1cInByZXZpZXdcIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ2Fzc2V0LnByZXZpZXcnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW3NyY109XCJhc3NldCB8IGFzc2V0UHJldmlldzogJ3RpbnknXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpZXdBc3NldChhc3NldClcIlxyXG4gICAgICAgIC8+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZERldGFpbCBsZXQtYXNzZXQ9XCJlbnRpdHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIFt0aXRsZV09XCJhc3NldC5uYW1lXCI+XHJcbiAgICAgICAgICAgIHt7IGFzc2V0Lm5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvdmRyLXJlbGF0aW9uLWNhcmQ+XHJcbiJdfQ==
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
63
63
  type: ViewChild,
64
64
  args: ['selector']
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY3VzdG9tZXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2N1c3RvbWVyL3JlbGF0aW9uLWN1c3RvbWVyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9jdXN0b21lci9yZWxhdGlvbi1jdXN0b21lci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXpELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7O0FBUWpILE1BQU0sT0FBTyw4QkFBOEI7SUFTdkMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFvQixZQUEwQixFQUFVLFdBQXdCO1FBQTVELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFQaEYsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBTytDLENBQUM7SUFFcEYsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQ3BCLGVBQWUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQzthQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUMvQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxZQUFZO2FBQ1osYUFBYSxDQUFDLCtCQUErQixFQUFFO1lBQzVDLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztnQkFDcEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDbEM7U0FDSixDQUFDO2FBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hCLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN4QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQS9DUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixxUUNsQjNDLGlyQ0E4QkE7OzJGRFphLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU07NkhBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCAqIGFzIENvZGVnZW4gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBDdXN0b21lckZyYWdtZW50LCBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVsYXRpb24tc2VsZWN0b3ItZGlhbG9nL3JlbGF0aW9uLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1yZWxhdGlvbi1jdXN0b21lci1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0aW9uLWN1c3RvbWVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbi1jdXN0b21lci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkN1c3RvbWVySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHBhcmVudEZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgQElucHV0KCkgY29uZmlnOiBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0b3InKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICByZXN1bHRzJDogT2JzZXJ2YWJsZTxDb2RlZ2VuLkdldEN1c3RvbWVyTGlzdFF1ZXJ5WydjdXN0b21lcnMnXVsnaXRlbXMnXT47XG5cbiAgICBnZXQgY3VzdG9tZXIoKTogQ3VzdG9tZXJGcmFnbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucmVzdWx0cyQgPSB0aGlzLnNlYXJjaFRlcm0kLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0ZXJtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jdXN0b21lclxuICAgICAgICAgICAgICAgICAgICAuZ2V0Q3VzdG9tZXJMaXN0KDEwLCAwLCB0ZXJtKVxuICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5jdXN0b21lcnMuaXRlbXMpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZWxlY3RDdXN0b21lcigpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBzaXplOiAnbWQnLFxuICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXygnY3VzdG9tZXIuc2VsZWN0LWN1c3RvbWVyJyksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yVGVtcGxhdGU6IHRoaXMudGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUoKSB7XG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG59XG4iLCI8dmRyLXJlbGF0aW9uLWNhcmRcclxuICAgIChzZWxlY3QpPVwic2VsZWN0Q3VzdG9tZXIoKVwiXHJcbiAgICAocmVtb3ZlKT1cInJlbW92ZSgpXCJcclxuICAgIHBsYWNlaG9sZGVySWNvbj1cInVzZXJcIlxyXG4gICAgW2VudGl0eV09XCJjdXN0b21lclwiXHJcbiAgICBbc2VsZWN0TGFiZWxdPVwiJ2N1c3RvbWVyLnNlbGVjdC1jdXN0b21lcicgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3JlbW92YWJsZV09XCIhY29uZmlnLmxpc3RcIlxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZFByZXZpZXc+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInVzZXJcIiBjbGFzcz1cImlzLXNvbGlkXCIgc2l6ZT1cIjUwXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkRGV0YWlsIGxldC1jPVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9jdXN0b21lci9jdXN0b21lcnMnLCBjLmlkXVwiPnt7IGMuZmlyc3ROYW1lIH19IHt7IGMubGFzdE5hbWUgfX08L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPnt7IGMuZW1haWxBZGRyZXNzIH19PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3Zkci1yZWxhdGlvbi1jYXJkPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWxlY3RvciBsZXQtc2VsZWN0PVwic2VsZWN0XCI+XHJcbiAgICA8bmctc2VsZWN0IFtpdGVtc109XCJyZXN1bHRzJCB8IGFzeW5jXCIgW3R5cGVhaGVhZF09XCJzZWFyY2hUZXJtJFwiIGFwcGVuZFRvPVwiYm9keVwiIChjaGFuZ2UpPVwic2VsZWN0KCRldmVudClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPGI+e3sgaXRlbS5lbWFpbEFkZHJlc3MgfX08L2I+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0uZmlyc3ROYW1lIH19IHt7IGl0ZW0ubGFzdE5hbWUgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1zZWxlY3Q+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY3VzdG9tZXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2N1c3RvbWVyL3JlbGF0aW9uLWN1c3RvbWVyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9jdXN0b21lci9yZWxhdGlvbi1jdXN0b21lci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXpELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7O0FBUWpILE1BQU0sT0FBTyw4QkFBOEI7SUFTdkMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFvQixZQUEwQixFQUFVLFdBQXdCO1FBQTVELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFQaEYsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBTytDLENBQUM7SUFFcEYsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQ3BCLGVBQWUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQzthQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUMvQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxZQUFZO2FBQ1osYUFBYSxDQUFDLCtCQUErQixFQUFFO1lBQzVDLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztnQkFDcEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDbEM7U0FDSixDQUFDO2FBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hCLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN4QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQS9DUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixxUUNsQjNDLGlyQ0E4QkE7OzJGRFphLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU07NkhBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCAqIGFzIENvZGVnZW4gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRnJhZ21lbnQsIFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9yZWxhdGlvbi1zZWxlY3Rvci1kaWFsb2cvcmVsYXRpb24tc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXJlbGF0aW9uLWN1c3RvbWVyLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxhdGlvbi1jdXN0b21lci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbi1jdXN0b21lci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkN1c3RvbWVySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwYXJlbnRGb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdG9yJykgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHJlc3VsdHMkOiBPYnNlcnZhYmxlPENvZGVnZW4uR2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddWydpdGVtcyddPjtcclxuXHJcbiAgICBnZXQgY3VzdG9tZXIoKTogQ3VzdG9tZXJGcmFnbWVudCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSwgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRzJCA9IHRoaXMuc2VhcmNoVGVybSQucGlwZShcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0ZXJtID0+XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmN1c3RvbWVyXHJcbiAgICAgICAgICAgICAgICAgICAgLmdldEN1c3RvbWVyTGlzdCgxMCwgMCwgdGVybSlcclxuICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5jdXN0b21lcnMuaXRlbXMpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0Q3VzdG9tZXIoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmZyb21Db21wb25lbnQoUmVsYXRpb25TZWxlY3RvckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ21kJyxcclxuICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IF8oJ2N1c3RvbWVyLnNlbGVjdC1jdXN0b21lcicpLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yVGVtcGxhdGU6IHRoaXMudGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5zZXRWYWx1ZShyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlKCkge1xyXG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcmVsYXRpb24tY2FyZFxyXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RDdXN0b21lcigpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKClcIlxyXG4gICAgcGxhY2Vob2xkZXJJY29uPVwidXNlclwiXHJcbiAgICBbZW50aXR5XT1cImN1c3RvbWVyXCJcclxuICAgIFtzZWxlY3RMYWJlbF09XCInY3VzdG9tZXIuc2VsZWN0LWN1c3RvbWVyJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbcmVtb3ZhYmxlXT1cIiFjb25maWcubGlzdFwiXHJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkUHJldmlldz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidXNlclwiIGNsYXNzPVwiaXMtc29saWRcIiBzaXplPVwiNTBcIj48L2Nsci1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmREZXRhaWwgbGV0LWM9XCJlbnRpdHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL2N1c3RvbWVyL2N1c3RvbWVycycsIGMuaWRdXCI+e3sgYy5maXJzdE5hbWUgfX0ge3sgYy5sYXN0TmFtZSB9fTwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+e3sgYy5lbWFpbEFkZHJlc3MgfX08L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvdmRyLXJlbGF0aW9uLWNhcmQ+XHJcblxyXG48bmctdGVtcGxhdGUgI3NlbGVjdG9yIGxldC1zZWxlY3Q9XCJzZWxlY3RcIj5cclxuICAgIDxuZy1zZWxlY3QgW2l0ZW1zXT1cInJlc3VsdHMkIHwgYXN5bmNcIiBbdHlwZWFoZWFkXT1cInNlYXJjaFRlcm0kXCIgYXBwZW5kVG89XCJib2R5XCIgKGNoYW5nZSk9XCJzZWxlY3QoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICA8Yj57eyBpdGVtLmVtYWlsQWRkcmVzcyB9fTwvYj5cclxuICAgICAgICAgICAge3sgaXRlbS5maXJzdE5hbWUgfX0ge3sgaXRlbS5sYXN0TmFtZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLXNlbGVjdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -69,11 +69,11 @@ export class RelationProductVariantInputComponent {
69
69
  this.parentFormControl.markAsDirty();
70
70
  }
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: RelationProductVariantInputComponent, deps: [{ token: i1.ModalService }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\n (select)=\"selectProductVariant()\"\n (remove)=\"remove()\"\n placeholderIcon=\"library\"\n [entity]=\"productVariant$ | async\"\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\n [removable]=\"!config.list\"\n [readonly]=\"readonly\"\n>\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\n <div>\n <img\n class=\"thumb\"\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n </div>\n <ng-template #placeholder>\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\n </div>\n </ng-template>\n </ng-template>\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\n <a [routerLink]=\"['/catalog/inventory', variant.product.id, { tab: 'variants' }]\">{{\n variant.name\n }}</a>\n <div class=\"\">{{ variant.sku }}</div>\n </ng-template>\n</vdr-relation-card>\n\n<ng-template #selector let-select=\"select\">\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\n <ng-template ng-option-tmp let-item=\"item\">\n <img\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\n [src]=\"asset | assetPreview : 32\"\n />\n {{ item.name }}\n </ng-template>\n </ng-select>\n</ng-template>\n", styles: [".placeholder{color:var(--color-grey-300)}.thumb{min-width:50px;object-fit:contain;border-radius:var(--border-radius)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: i7.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i7.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i7.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectProductVariant()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"productVariant$ | async\"\r\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\r\n <div>\r\n <img\r\n class=\"thumb\"\r\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\r\n [src]=\"asset | assetPreview : 'tiny'\"\r\n />\r\n </div>\r\n <ng-template #placeholder>\r\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\r\n <a [routerLink]=\"['/catalog/inventory', variant.product.id, { tab: 'variants' }]\">{{\r\n variant.name\r\n }}</a>\r\n <div class=\"\">{{ variant.sku }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img\r\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\r\n [src]=\"asset | assetPreview : 32\"\r\n />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}.thumb{min-width:50px;object-fit:contain;border-radius:var(--border-radius)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: i7.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i7.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i7.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
73
  }
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: RelationProductVariantInputComponent, decorators: [{
75
75
  type: Component,
76
- args: [{ selector: 'vdr-relation-product-variant-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\n (select)=\"selectProductVariant()\"\n (remove)=\"remove()\"\n placeholderIcon=\"library\"\n [entity]=\"productVariant$ | async\"\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\n [removable]=\"!config.list\"\n [readonly]=\"readonly\"\n>\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\n <div>\n <img\n class=\"thumb\"\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n </div>\n <ng-template #placeholder>\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\n </div>\n </ng-template>\n </ng-template>\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\n <a [routerLink]=\"['/catalog/inventory', variant.product.id, { tab: 'variants' }]\">{{\n variant.name\n }}</a>\n <div class=\"\">{{ variant.sku }}</div>\n </ng-template>\n</vdr-relation-card>\n\n<ng-template #selector let-select=\"select\">\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\n <ng-template ng-option-tmp let-item=\"item\">\n <img\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\n [src]=\"asset | assetPreview : 32\"\n />\n {{ item.name }}\n </ng-template>\n </ng-select>\n</ng-template>\n", styles: [".placeholder{color:var(--color-grey-300)}.thumb{min-width:50px;object-fit:contain;border-radius:var(--border-radius)}\n"] }]
76
+ args: [{ selector: 'vdr-relation-product-variant-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectProductVariant()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"productVariant$ | async\"\r\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\r\n <div>\r\n <img\r\n class=\"thumb\"\r\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\r\n [src]=\"asset | assetPreview : 'tiny'\"\r\n />\r\n </div>\r\n <ng-template #placeholder>\r\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\r\n <a [routerLink]=\"['/catalog/inventory', variant.product.id, { tab: 'variants' }]\">{{\r\n variant.name\r\n }}</a>\r\n <div class=\"\">{{ variant.sku }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img\r\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\r\n [src]=\"asset | assetPreview : 32\"\r\n />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}.thumb{min-width:50px;object-fit:contain;border-radius:var(--border-radius)}\n"] }]
77
77
  }], ctorParameters: function () { return [{ type: i1.ModalService }, { type: i2.DataService }]; }, propDecorators: { readonly: [{
78
78
  type: Input
79
79
  }], parentFormControl: [{
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
84
84
  type: ViewChild,
85
85
  args: ['selector']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9wcm9kdWN0LXZhcmlhbnQvcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9wcm9kdWN0LXZhcmlhbnQvcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNL0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7O0FBUWpILE1BQU0sT0FBTyxvQ0FBb0M7SUFZN0MsWUFBb0IsWUFBMEIsRUFBVSxXQUF3QjtRQUE1RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTGhGLGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFJK0MsQ0FBQztJQUVwRixRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0QsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFDdkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUMzQixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtnQkFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztxQkFDMUIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO3FCQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2FBQzVEO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ25CLHdCQUF3QixDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxJQUFJO2dCQUNKLENBQUMsQ0FBQztvQkFDSSxNQUFNLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNGLFFBQVEsRUFBRSxJQUFJO3lCQUNqQjtxQkFDSjtpQkFDSjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO2FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDckQsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQywrQkFBK0IsRUFBRTtZQUM1QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ2xDO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0F4RVEsb0NBQW9DO2tHQUFwQyxvQ0FBb0MsNFFDbEJqRCw2bURBMENBOzsyRkR4QmEsb0NBQW9DO2tCQU5oRCxTQUFTOytCQUNJLG9DQUFvQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTTs2SEFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0ICogYXMgQ29kZWdlbiBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVsYXRpb25TZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3JlbGF0aW9uLXNlbGVjdG9yLWRpYWxvZy9yZWxhdGlvbi1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxhdGlvbi1wcm9kdWN0LXZhcmlhbnQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uUHJvZHVjdFZhcmlhbnRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHBhcmVudEZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWc7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0b3InKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBzZWFyY2hDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHJlc3VsdHMkOiBPYnNlcnZhYmxlPENvZGVnZW4uR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddWydpdGVtcyddPjtcclxuICAgIHByb2R1Y3RWYXJpYW50JDogT2JzZXJ2YWJsZTxDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10gfCB1bmRlZmluZWQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucHJvZHVjdFZhcmlhbnQkID0gdGhpcy5wYXJlbnRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucGFyZW50Rm9ybUNvbnRyb2wudmFsdWUpLFxyXG4gICAgICAgICAgICBtYXAodmFyaWFudCA9PiB2YXJpYW50Py5pZCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRQcm9kdWN0VmFyaWFudChpZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEucHJvZHVjdFZhcmlhbnQgfHwgdW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMucmVzdWx0cyQgPSB0aGlzLnNlYXJjaFRlcm0kLnBpcGUoXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAodGVybSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAgICAgLmdldFByb2R1Y3RWYXJpYW50c1NpbXBsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLih0ZXJtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IHRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge30pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlOiAxMCxcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnByb2R1Y3RWYXJpYW50cy5pdGVtcyksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RQcm9kdWN0VmFyaWFudCgpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAnbWQnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXygnY2F0YWxvZy5zZWxlY3QtcHJvZHVjdC12YXJpYW50JyksXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3JUZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmUoKSB7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1yZWxhdGlvbi1jYXJkXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RQcm9kdWN0VmFyaWFudCgpXCJcbiAgICAocmVtb3ZlKT1cInJlbW92ZSgpXCJcbiAgICBwbGFjZWhvbGRlckljb249XCJsaWJyYXJ5XCJcbiAgICBbZW50aXR5XT1cInByb2R1Y3RWYXJpYW50JCB8IGFzeW5jXCJcbiAgICBbc2VsZWN0TGFiZWxdPVwiJ2NhdGFsb2cuc2VsZWN0LXByb2R1Y3QtdmFyaWFudCcgfCB0cmFuc2xhdGVcIlxuICAgIFtyZW1vdmFibGVdPVwiIWNvbmZpZy5saXN0XCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmRQcmV2aWV3IGxldC12YXJpYW50PVwiZW50aXR5XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0aHVtYlwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ2YXJpYW50LmZlYXR1cmVkQXNzZXQgfHwgdmFyaWFudC5wcm9kdWN0LmZlYXR1cmVkQXNzZXQgYXMgYXNzZXQ7IGVsc2UgcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiYXNzZXQgfCBhc3NldFByZXZpZXcgOiAndGlueSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIiAqbmdJZj1cIiF2YXJpYW50LmZlYXR1cmVkQXNzZXRcIj5cbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJpbWFnZVwiIHNpemU9XCI1MFwiPjwvY2xyLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmREZXRhaWwgbGV0LXZhcmlhbnQ9XCJlbnRpdHlcIj5cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvY2F0YWxvZy9pbnZlbnRvcnknLCB2YXJpYW50LnByb2R1Y3QuaWQsIHsgdGFiOiAndmFyaWFudHMnIH1dXCI+e3tcbiAgICAgICAgICAgIHZhcmlhbnQubmFtZVxuICAgICAgICB9fTwvYT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPnt7IHZhcmlhbnQuc2t1IH19PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdmRyLXJlbGF0aW9uLWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0b3IgbGV0LXNlbGVjdD1cInNlbGVjdFwiPlxuICAgIDxuZy1zZWxlY3QgW2l0ZW1zXT1cInJlc3VsdHMkIHwgYXN5bmNcIiBbdHlwZWFoZWFkXT1cInNlYXJjaFRlcm0kXCIgYXBwZW5kVG89XCJib2R5XCIgKGNoYW5nZSk9XCJzZWxlY3QoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uZmVhdHVyZWRBc3NldCB8fCBpdGVtLnByb2R1Y3QuZmVhdHVyZWRBc3NldCBhcyBhc3NldFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJhc3NldCB8IGFzc2V0UHJldmlldyA6IDMyXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9wcm9kdWN0LXZhcmlhbnQvcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9wcm9kdWN0LXZhcmlhbnQvcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNL0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7O0FBUWpILE1BQU0sT0FBTyxvQ0FBb0M7SUFZN0MsWUFBb0IsWUFBMEIsRUFBVSxXQUF3QjtRQUE1RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTGhGLGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFJK0MsQ0FBQztJQUVwRixRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0QsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFDdkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUMzQixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtnQkFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztxQkFDMUIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO3FCQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2FBQzVEO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ25CLHdCQUF3QixDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxJQUFJO2dCQUNKLENBQUMsQ0FBQztvQkFDSSxNQUFNLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNGLFFBQVEsRUFBRSxJQUFJO3lCQUNqQjtxQkFDSjtpQkFDSjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO2FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDckQsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQywrQkFBK0IsRUFBRTtZQUM1QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ2xDO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0F4RVEsb0NBQW9DO2tHQUFwQyxvQ0FBb0MsNFFDbEJqRCxpc0RBMENBOzsyRkR4QmEsb0NBQW9DO2tCQU5oRCxTQUFTOytCQUNJLG9DQUFvQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTTs2SEFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0ICogYXMgQ29kZWdlbiBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVsYXRpb25TZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3JlbGF0aW9uLXNlbGVjdG9yLWRpYWxvZy9yZWxhdGlvbi1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxhdGlvbi1wcm9kdWN0LXZhcmlhbnQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uUHJvZHVjdFZhcmlhbnRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHBhcmVudEZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWc7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0b3InKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBzZWFyY2hDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHJlc3VsdHMkOiBPYnNlcnZhYmxlPENvZGVnZW4uR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddWydpdGVtcyddPjtcclxuICAgIHByb2R1Y3RWYXJpYW50JDogT2JzZXJ2YWJsZTxDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10gfCB1bmRlZmluZWQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucHJvZHVjdFZhcmlhbnQkID0gdGhpcy5wYXJlbnRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucGFyZW50Rm9ybUNvbnRyb2wudmFsdWUpLFxyXG4gICAgICAgICAgICBtYXAodmFyaWFudCA9PiB2YXJpYW50Py5pZCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRQcm9kdWN0VmFyaWFudChpZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEucHJvZHVjdFZhcmlhbnQgfHwgdW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMucmVzdWx0cyQgPSB0aGlzLnNlYXJjaFRlcm0kLnBpcGUoXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAodGVybSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAgICAgLmdldFByb2R1Y3RWYXJpYW50c1NpbXBsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLih0ZXJtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IHRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge30pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlOiAxMCxcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnByb2R1Y3RWYXJpYW50cy5pdGVtcyksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RQcm9kdWN0VmFyaWFudCgpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAnbWQnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXygnY2F0YWxvZy5zZWxlY3QtcHJvZHVjdC12YXJpYW50JyksXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3JUZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmUoKSB7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1yZWxhdGlvbi1jYXJkXHJcbiAgICAoc2VsZWN0KT1cInNlbGVjdFByb2R1Y3RWYXJpYW50KClcIlxyXG4gICAgKHJlbW92ZSk9XCJyZW1vdmUoKVwiXHJcbiAgICBwbGFjZWhvbGRlckljb249XCJsaWJyYXJ5XCJcclxuICAgIFtlbnRpdHldPVwicHJvZHVjdFZhcmlhbnQkIHwgYXN5bmNcIlxyXG4gICAgW3NlbGVjdExhYmVsXT1cIidjYXRhbG9nLnNlbGVjdC1wcm9kdWN0LXZhcmlhbnQnIHwgdHJhbnNsYXRlXCJcclxuICAgIFtyZW1vdmFibGVdPVwiIWNvbmZpZy5saXN0XCJcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbj5cclxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJSZWxhdGlvbkNhcmRQcmV2aWV3IGxldC12YXJpYW50PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0aHVtYlwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInZhcmlhbnQuZmVhdHVyZWRBc3NldCB8fCB2YXJpYW50LnByb2R1Y3QuZmVhdHVyZWRBc3NldCBhcyBhc3NldDsgZWxzZSBwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImFzc2V0IHwgYXNzZXRQcmV2aWV3IDogJ3RpbnknXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIiAqbmdJZj1cIiF2YXJpYW50LmZlYXR1cmVkQXNzZXRcIj5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImltYWdlXCIgc2l6ZT1cIjUwXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkRGV0YWlsIGxldC12YXJpYW50PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvY2F0YWxvZy9pbnZlbnRvcnknLCB2YXJpYW50LnByb2R1Y3QuaWQsIHsgdGFiOiAndmFyaWFudHMnIH1dXCI+e3tcclxuICAgICAgICAgICAgdmFyaWFudC5uYW1lXHJcbiAgICAgICAgfX08L2E+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPnt7IHZhcmlhbnQuc2t1IH19PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3Zkci1yZWxhdGlvbi1jYXJkPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWxlY3RvciBsZXQtc2VsZWN0PVwic2VsZWN0XCI+XHJcbiAgICA8bmctc2VsZWN0IFtpdGVtc109XCJyZXN1bHRzJCB8IGFzeW5jXCIgW3R5cGVhaGVhZF09XCJzZWFyY2hUZXJtJFwiIGFwcGVuZFRvPVwiYm9keVwiIChjaGFuZ2UpPVwic2VsZWN0KCRldmVudClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmZlYXR1cmVkQXNzZXQgfHwgaXRlbS5wcm9kdWN0LmZlYXR1cmVkQXNzZXQgYXMgYXNzZXRcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJhc3NldCB8IGFzc2V0UHJldmlldyA6IDMyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctc2VsZWN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=