@skyux/forms 10.0.0-alpha.2 → 10.0.0-alpha.3
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.
- package/documentation.json +3432 -2622
- package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +3 -3
- package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +30 -0
- package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +2 -1
- package/esm2022/lib/modules/checkbox/checkbox.component.mjs +49 -4
- package/esm2022/lib/modules/checkbox/checkbox.module.mjs +10 -3
- package/esm2022/lib/modules/file-attachment/file-attachment-label.component.mjs +11 -3
- package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +12 -3
- package/esm2022/lib/modules/form-error/form-errors.component.mjs +3 -3
- package/esm2022/lib/modules/input-box/input-box-help-inline.component.mjs +3 -3
- package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +23 -0
- package/esm2022/lib/modules/input-box/input-box-host.service.mjs +13 -1
- package/esm2022/lib/modules/input-box/input-box.component.mjs +14 -3
- package/esm2022/lib/modules/input-box/input-box.module.mjs +4 -1
- package/esm2022/lib/modules/radio/radio-group.component.mjs +6 -6
- package/esm2022/lib/modules/radio/radio.component.mjs +2 -2
- package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +11 -3
- package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +38 -5
- package/esm2022/testing/checkbox/checkbox-harness.mjs +26 -4
- package/esm2022/testing/checkbox/checkbox-label-text-label.harness.mjs +19 -0
- package/fesm2022/skyux-forms-testing.mjs +42 -3
- package/fesm2022/skyux-forms-testing.mjs.map +1 -1
- package/fesm2022/skyux-forms.mjs +205 -26
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/lib/modules/checkbox/checkbox-label-text-label.component.d.ts +12 -0
- package/lib/modules/checkbox/checkbox-label.component.d.ts +1 -0
- package/lib/modules/checkbox/checkbox.component.d.ts +13 -3
- package/lib/modules/checkbox/checkbox.module.d.ts +9 -8
- package/lib/modules/file-attachment/file-attachment-label.component.d.ts +2 -0
- package/lib/modules/file-attachment/file-attachment.component.d.ts +11 -1
- package/lib/modules/input-box/input-box-hint-text.pipe.d.ts +10 -0
- package/lib/modules/input-box/input-box-host.service.d.ts +2 -0
- package/lib/modules/input-box/input-box.component.d.ts +4 -0
- package/lib/modules/input-box/input-box.module.d.ts +3 -2
- package/lib/modules/radio/radio-group.component.d.ts +2 -1
- package/lib/modules/toggle-switch/toggle-switch-label.component.d.ts +2 -0
- package/lib/modules/toggle-switch/toggle-switch.component.d.ts +14 -2
- package/package.json +7 -7
- package/testing/checkbox/checkbox-harness.d.ts +6 -1
- package/testing/checkbox/checkbox-label-text-label.harness.d.ts +16 -0
|
@@ -92,6 +92,11 @@ export class SkyFileAttachmentComponent {
|
|
|
92
92
|
#liveAnnouncerSvc;
|
|
93
93
|
#resourcesSvc;
|
|
94
94
|
constructor(changeDetector, fileAttachmentService, fileItemService, ngControl, themeSvc) {
|
|
95
|
+
/**
|
|
96
|
+
* Whether to hide `labelText` from view.
|
|
97
|
+
* @preview
|
|
98
|
+
*/
|
|
99
|
+
this.labelHidden = false;
|
|
95
100
|
/**
|
|
96
101
|
* Fires when users add or remove files.
|
|
97
102
|
*/
|
|
@@ -380,11 +385,11 @@ export class SkyFileAttachmentComponent {
|
|
|
380
385
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
381
386
|
#onTouched;
|
|
382
387
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFileAttachmentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyFileAttachmentService }, { token: i2.SkyFileItemService }, { token: i3.NgControl, optional: true, self: true }, { token: i4.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
383
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyFileAttachmentComponent, selector: "sky-file-attachment", inputs: { acceptedTypes: "acceptedTypes", disabled: "disabled", maxFileSize: "maxFileSize", minFileSize: "minFileSize", validateFn: "validateFn", required: "required" }, outputs: { fileChange: "fileChange", fileClick: "fileClick" }, providers: [SkyFileAttachmentService], queries: [{ propertyName: "labelComponents", predicate: SkyFileAttachmentLabelComponent }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"sky-file-attachment-wrapper\">\n <div\n class=\"sky-file-attachment-label-wrapper\"\n [attr.id]=\"labelElementId\"\n [ngClass]=\"{
|
|
388
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyFileAttachmentComponent, selector: "sky-file-attachment", inputs: { acceptedTypes: "acceptedTypes", disabled: "disabled", labelText: "labelText", labelHidden: "labelHidden", maxFileSize: "maxFileSize", minFileSize: "minFileSize", validateFn: "validateFn", required: "required" }, outputs: { fileChange: "fileChange", fileClick: "fileClick" }, providers: [SkyFileAttachmentService], queries: [{ propertyName: "labelComponents", predicate: SkyFileAttachmentLabelComponent }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"sky-file-attachment-wrapper\">\n <div\n class=\"sky-file-attachment-label-wrapper\"\n [attr.id]=\"labelElementId\"\n [ngClass]=\"{\n 'sky-control-label-required': required && (hasLabelComponent || labelText)\n }\"\n >\n <ng-container *ngIf=\"labelText; else labelContent\">\n <span *ngIf=\"!labelHidden\" class=\"sky-control-label\">{{\n labelText\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"sky-file-attachment-upload sky-file-attachment sky-file-attachment-target\"\n [ngClass]=\"{\n 'sky-file-attachment-accept': acceptedOver,\n 'sky-file-attachment-reject': rejectedOver\n }\"\n (dragenter)=\"fileDragEnter($event)\"\n (dragover)=\"fileDragOver($event)\"\n (dragleave)=\"fileDragLeave($event)\"\n (drop)=\"fileDrop($event)\"\n >\n <div\n aria-hidden=\"true\"\n class=\"sky-file-attachment-drop-description\"\n role=\"tooltip\"\n [attr.id]=\"fileDropDescriptionElementId\"\n >\n {{ 'skyux_file_attachment_file_upload_drag_or_click' | skyLibResources }}\n </div>\n <input\n hidden\n tabindex=\"-1\"\n type=\"file\"\n [attr.accept]=\"acceptedTypes || null\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (change)=\"fileChangeEvent($event)\"\n #fileInput\n />\n <ng-container *ngIf=\"showFileAttachmentButton\">\n <button\n *ngIf=\"showFileAttachmentButton\"\n class=\"sky-file-attachment-btn sky-btn sky-btn-default\"\n type=\"button\"\n skyId\n [attr.aria-describedby]=\"fileDropDescriptionElementId\"\n [attr.aria-label]=\"\n value\n ? ('skyux_file_attachment_button_label_replace_file_label'\n | skyLibResources: fileName)\n : ('skyux_file_attachment_button_label_choose_file_label'\n | skyLibResources)\n \"\n [attr.aria-labelledby]=\"\n attachButton.id +\n ' ' +\n (labelText\n ? labelElementId\n : hasLabelComponent\n ? labelComponents?.get(0)?.labelContentId?.id\n : undefined)\n \"\n [disabled]=\"disabled\"\n (click)=\"onDropClicked()\"\n #attachButton=\"skyId\"\n >\n <sky-icon icon=\"folder-open-o\" />\n {{\n value\n ? ('skyux_file_attachment_button_label_replace_file'\n | skyLibResources)\n : ('skyux_file_attachment_button_label_choose_file'\n | skyLibResources)\n }}\n </button>\n </ng-container>\n <sky-icon\n *ngIf=\"value && !isImage && currentThemeName === 'modern'\"\n class=\"sky-file-attachment-icon sky-deemphasized\"\n icon=\"file-o\"\n size=\"2x\"\n />\n <span\n *ngIf=\"value || currentThemeName === 'default'\"\n class=\"sky-file-attachment-name\"\n >\n <a\n *ngIf=\"value; else noFile\"\n [attr.title]=\"fileName\"\n (click)=\"emitClick()\"\n >\n {{ truncatedFileName }}\n </a>\n </span>\n <ng-template #noFile>\n <span class=\"sky-file-attachment-none sky-deemphasized\">\n {{ 'skyux_file_attachment_label_no_file_chosen' | skyLibResources }}\n </span>\n </ng-template>\n <button\n *ngIf=\"value\"\n class=\"sky-btn sky-btn-borderless sky-file-attachment-delete\"\n skyId\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_file_attachment_file_item_remove' | skyLibResources: fileName\n \"\n [attr.aria-labelledby]=\"\n deleteButton.id +\n ' ' +\n (hasLabelComponent\n ? labelComponents?.get(0)?.labelContentId?.id\n : undefined)\n \"\n [disabled]=\"disabled\"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"deleteFileAttachment()\"\n #deleteButton=\"skyId\"\n >\n <sky-icon icon=\"trash-o\" size=\"md\" />\n </button>\n </div>\n\n <img\n *ngIf=\"value && isImage\"\n class=\"sky-file-attachment-preview-img\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n [src]=\"value.url\"\n />\n</div>\n\n<ng-template #labelContent>\n <ng-content select=\"sky-file-attachment-label\" />\n</ng-template>\n", styles: [".sky-file-attachment-wrapper{display:inline-block}.sky-file-attachment-upload{padding-right:8px;display:block;border:1px solid transparent}.sky-file-attachment-accept{border-color:#72bf44;border-style:dashed;border-width:1px;border-radius:5px;color:#212327}.sky-file-attachment-reject{border-color:#ef4044;border-style:dashed;border-width:1px;border-radius:5px;color:#212327}:host(.ng-invalid.ng-dirty) .sky-file-attachment-btn{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044}.sky-file-attachment-name{padding:0 5px}.sky-file-attachment-name a{cursor:pointer}.sky-file-attachment-delete{border:none;color:#cdcfd2;cursor:pointer;padding:0}.sky-file-attachment-delete:hover{color:#979ba2;transition:color .15s}.sky-file-attachment-preview-img{max-width:25%;height:auto;box-shadow:0 0 5px #666;margin:10px}.sky-file-attachment-drop-description{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}:host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}:host-context(.sky-theme-modern) .sky-file-attachment-none{font-size:13px}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper{display:flex;flex-wrap:wrap}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-label-wrapper{width:100%}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-preview-img{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;box-shadow:none;margin:0 10px 0 0;width:100px;flex:0;order:1}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-btn{margin:0 10px 0 0}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-icon{margin:5px 10px 5px 5px}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-upload{flex:1;order:2;display:flex;align-items:flex-start}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-upload .sky-file-attachment-name{margin:10px 10px 0 0;padding:0}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-delete{width:40px;height:40px;color:#686c73!important}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-file-attachment-none{font-size:13px}.sky-theme-modern .sky-file-attachment-wrapper{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-label-wrapper{width:100%}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-preview-img{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;box-shadow:none;margin:0 10px 0 0;width:100px;flex:0;order:1}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-btn{margin:0 10px 0 0}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-icon{margin:5px 10px 5px 5px}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-upload{flex:1;order:2;display:flex;align-items:flex-start}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-upload .sky-file-attachment-name{margin:10px 10px 0 0;padding:0}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-delete{width:40px;height:40px;color:#686c73!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
384
389
|
}
|
|
385
390
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFileAttachmentComponent, decorators: [{
|
|
386
391
|
type: Component,
|
|
387
|
-
args: [{ selector: 'sky-file-attachment', providers: [SkyFileAttachmentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-file-attachment-wrapper\">\n <div\n class=\"sky-file-attachment-label-wrapper\"\n [attr.id]=\"labelElementId\"\n [ngClass]=\"{
|
|
392
|
+
args: [{ selector: 'sky-file-attachment', providers: [SkyFileAttachmentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-file-attachment-wrapper\">\n <div\n class=\"sky-file-attachment-label-wrapper\"\n [attr.id]=\"labelElementId\"\n [ngClass]=\"{\n 'sky-control-label-required': required && (hasLabelComponent || labelText)\n }\"\n >\n <ng-container *ngIf=\"labelText; else labelContent\">\n <span *ngIf=\"!labelHidden\" class=\"sky-control-label\">{{\n labelText\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"sky-file-attachment-upload sky-file-attachment sky-file-attachment-target\"\n [ngClass]=\"{\n 'sky-file-attachment-accept': acceptedOver,\n 'sky-file-attachment-reject': rejectedOver\n }\"\n (dragenter)=\"fileDragEnter($event)\"\n (dragover)=\"fileDragOver($event)\"\n (dragleave)=\"fileDragLeave($event)\"\n (drop)=\"fileDrop($event)\"\n >\n <div\n aria-hidden=\"true\"\n class=\"sky-file-attachment-drop-description\"\n role=\"tooltip\"\n [attr.id]=\"fileDropDescriptionElementId\"\n >\n {{ 'skyux_file_attachment_file_upload_drag_or_click' | skyLibResources }}\n </div>\n <input\n hidden\n tabindex=\"-1\"\n type=\"file\"\n [attr.accept]=\"acceptedTypes || null\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (change)=\"fileChangeEvent($event)\"\n #fileInput\n />\n <ng-container *ngIf=\"showFileAttachmentButton\">\n <button\n *ngIf=\"showFileAttachmentButton\"\n class=\"sky-file-attachment-btn sky-btn sky-btn-default\"\n type=\"button\"\n skyId\n [attr.aria-describedby]=\"fileDropDescriptionElementId\"\n [attr.aria-label]=\"\n value\n ? ('skyux_file_attachment_button_label_replace_file_label'\n | skyLibResources: fileName)\n : ('skyux_file_attachment_button_label_choose_file_label'\n | skyLibResources)\n \"\n [attr.aria-labelledby]=\"\n attachButton.id +\n ' ' +\n (labelText\n ? labelElementId\n : hasLabelComponent\n ? labelComponents?.get(0)?.labelContentId?.id\n : undefined)\n \"\n [disabled]=\"disabled\"\n (click)=\"onDropClicked()\"\n #attachButton=\"skyId\"\n >\n <sky-icon icon=\"folder-open-o\" />\n {{\n value\n ? ('skyux_file_attachment_button_label_replace_file'\n | skyLibResources)\n : ('skyux_file_attachment_button_label_choose_file'\n | skyLibResources)\n }}\n </button>\n </ng-container>\n <sky-icon\n *ngIf=\"value && !isImage && currentThemeName === 'modern'\"\n class=\"sky-file-attachment-icon sky-deemphasized\"\n icon=\"file-o\"\n size=\"2x\"\n />\n <span\n *ngIf=\"value || currentThemeName === 'default'\"\n class=\"sky-file-attachment-name\"\n >\n <a\n *ngIf=\"value; else noFile\"\n [attr.title]=\"fileName\"\n (click)=\"emitClick()\"\n >\n {{ truncatedFileName }}\n </a>\n </span>\n <ng-template #noFile>\n <span class=\"sky-file-attachment-none sky-deemphasized\">\n {{ 'skyux_file_attachment_label_no_file_chosen' | skyLibResources }}\n </span>\n </ng-template>\n <button\n *ngIf=\"value\"\n class=\"sky-btn sky-btn-borderless sky-file-attachment-delete\"\n skyId\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_file_attachment_file_item_remove' | skyLibResources: fileName\n \"\n [attr.aria-labelledby]=\"\n deleteButton.id +\n ' ' +\n (hasLabelComponent\n ? labelComponents?.get(0)?.labelContentId?.id\n : undefined)\n \"\n [disabled]=\"disabled\"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"deleteFileAttachment()\"\n #deleteButton=\"skyId\"\n >\n <sky-icon icon=\"trash-o\" size=\"md\" />\n </button>\n </div>\n\n <img\n *ngIf=\"value && isImage\"\n class=\"sky-file-attachment-preview-img\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n [src]=\"value.url\"\n />\n</div>\n\n<ng-template #labelContent>\n <ng-content select=\"sky-file-attachment-label\" />\n</ng-template>\n", styles: [".sky-file-attachment-wrapper{display:inline-block}.sky-file-attachment-upload{padding-right:8px;display:block;border:1px solid transparent}.sky-file-attachment-accept{border-color:#72bf44;border-style:dashed;border-width:1px;border-radius:5px;color:#212327}.sky-file-attachment-reject{border-color:#ef4044;border-style:dashed;border-width:1px;border-radius:5px;color:#212327}:host(.ng-invalid.ng-dirty) .sky-file-attachment-btn{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044}.sky-file-attachment-name{padding:0 5px}.sky-file-attachment-name a{cursor:pointer}.sky-file-attachment-delete{border:none;color:#cdcfd2;cursor:pointer;padding:0}.sky-file-attachment-delete:hover{color:#979ba2;transition:color .15s}.sky-file-attachment-preview-img{max-width:25%;height:auto;box-shadow:0 0 5px #666;margin:10px}.sky-file-attachment-drop-description{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}:host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}:host-context(.sky-theme-modern) .sky-file-attachment-none{font-size:13px}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper{display:flex;flex-wrap:wrap}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-label-wrapper{width:100%}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-preview-img{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;box-shadow:none;margin:0 10px 0 0;width:100px;flex:0;order:1}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-btn{margin:0 10px 0 0}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-icon{margin:5px 10px 5px 5px}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-upload{flex:1;order:2;display:flex;align-items:flex-start}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-upload .sky-file-attachment-name{margin:10px 10px 0 0;padding:0}:host-context(.sky-theme-modern) .sky-file-attachment-wrapper .sky-file-attachment-delete{width:40px;height:40px;color:#686c73!important}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-file-attachment-none{font-size:13px}.sky-theme-modern .sky-file-attachment-wrapper{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-label-wrapper{width:100%}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-preview-img{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;box-shadow:none;margin:0 10px 0 0;width:100px;flex:0;order:1}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-btn{margin:0 10px 0 0}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-icon{margin:5px 10px 5px 5px}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-upload{flex:1;order:2;display:flex;align-items:flex-start}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-upload .sky-file-attachment-name{margin:10px 10px 0 0;padding:0}.sky-theme-modern .sky-file-attachment-wrapper .sky-file-attachment-delete{width:40px;height:40px;color:#686c73!important}\n"] }]
|
|
388
393
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.SkyFileAttachmentService }, { type: i2.SkyFileItemService }, { type: i3.NgControl, decorators: [{
|
|
389
394
|
type: Self
|
|
390
395
|
}, {
|
|
@@ -395,6 +400,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
395
400
|
type: Input
|
|
396
401
|
}], disabled: [{
|
|
397
402
|
type: Input
|
|
403
|
+
}], labelText: [{
|
|
404
|
+
type: Input
|
|
405
|
+
}], labelHidden: [{
|
|
406
|
+
type: Input
|
|
398
407
|
}], maxFileSize: [{
|
|
399
408
|
type: Input
|
|
400
409
|
}], minFileSize: [{
|
|
@@ -414,4 +423,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
414
423
|
type: ContentChildren,
|
|
415
424
|
args: [SkyFileAttachmentLabelComponent]
|
|
416
425
|
}] } });
|
|
417
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixJQUFJLEVBQ0osU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFPckUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRWhDOztHQUVHO0FBUUgsTUFBTSxPQUFP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K0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2VsZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGb3Jtc1V0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvZm9ybXMtdXRpbGl0eSc7XG5cbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4vZmlsZS1pdGVtJztcbmltcG9ydCB7IFNreUZpbGVJdGVtU2VydmljZSB9IGZyb20gJy4vZmlsZS1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RmlsZVZhbGlkYXRlRm4gfSBmcm9tICcuL2ZpbGUtdmFsaWRhdGUtZnVuY3Rpb24nO1xuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDaGFuZ2UgfSBmcm9tICcuL3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDbGljayB9IGZyb20gJy4vdHlwZXMvZmlsZS1hdHRhY2htZW50LWNsaWNrJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuY29uc3QgTUFYX0ZJTEVfU0laRV9ERUZBVUxUID0gNTAwMDAwO1xuY29uc3QgTUlOX0ZJTEVfU0laRV9ERUZBVUxUID0gMDtcblxuLyoqXG4gKiBQcm92aWRlcyBhbiBlbGVtZW50IHRvIGF0dGFjaCBhIHNpbmdsZSBsb2NhbCBmaWxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsZS1hdHRhY2htZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lGaWxlQXR0YWNobWVudFNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcgbGl0ZXJhbCBvZiBNSU1FIHR5cGVzIHRoYXQgdXNlcnMgY2FuIGF0dGFjaC5cbiAgICogQnkgZGVmYXVsdCwgYWxsIGZpbGUgdHlwZXMgYXJlIGFsbG93ZWQuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjY2VwdGVkVHlwZXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBpbnB1dCBvbiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMuIERvbid0IHVzZSB0aGlzIGlucHV0IG9uIHJlYWN0aXZlIGZvcm1zIGJlY2F1c2UgdGhleSBtYXkgb3ZlcndyaXRlIHRoZSBpbnB1dCBvciBsZWF2ZSB0aGUgY29udHJvbCBvdXQgb2Ygc3luYy5cbiAgICogVG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiByZWFjdGl2ZSBmb3JtcywgdXNlIHRoZSBgRm9ybUNvbnRyb2xgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbmV3RGlzYWJsZWRTdGF0ZSA9IFNreUZvcm1zVXRpbGl0eS5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiNfZGlzYWJsZWQgIT09IG5ld0Rpc2FibGVkU3RhdGUpIHtcbiAgICAgIHRoaXMuI19kaXNhYmxlZCA9IG5ld0Rpc2FibGVkU3RhdGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgZm9yIHZhbGlkIGZpbGVzLlxuICAgKiBAZGVmYXVsdCA1MDAwMDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4RmlsZVNpemUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19tYXhGaWxlU2l6ZSA9IHZhbHVlID8/IE1BWF9GSUxFX1NJWkVfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4RmlsZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX21heEZpbGVTaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHNpemUgaW4gYnl0ZXMgZm9yIHZhbGlkIGZpbGVzLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1pbkZpbGVTaXplKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWluRmlsZVNpemUgPSB2YWx1ZSA/PyBNSU5fRklMRV9TSVpFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1pbkZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19taW5GaWxlU2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb24uIFRoaXMgdmFsaWRhdGlvbiBydW5zIGFsb25nc2lkZSB0aGUgaW50ZXJuYWxcbiAgICogZmlsZSB2YWxpZGF0aW9uLiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgYFNreUZpbGVJdGVtYCBvYmplY3QgYXMgYSBwYXJhbWV0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsaWRhdGVGbjogU2t5RmlsZVZhbGlkYXRlRm4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgYWRkIG9yIHJlbW92ZSBmaWxlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUF0dGFjaG1lbnRDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBmaWxlIG5hbWUgbGluay4gTWFrZSBzdXJlIHRvIGJpbmQgdGhlIGV2ZW50LlxuICAgKiBJZiB5b3UgZG8gbm90LCB0aGUgZmlsZSBuYW1lIGxpbmsgd2lsbCBiZSBhIGRlYWQgbGluay5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lGaWxlQXR0YWNobWVudENsaWNrPigpO1xuXG4gIHB1YmxpYyBhY2NlcHRlZE92ZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgaGFzTGFiZWxDb21wb25lbnQgPSBmYWxzZTtcblxuICBwdWJsaWMgZmlsZURyb3BEZXNjcmlwdGlvbkVsZW1lbnRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBsYWJlbEVsZW1lbnRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWplY3RlZE92ZXIgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gdmFsaWRhdGlvbi5cbiAgICogV2hlbiB5b3Ugc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLCB0aGUgY29tcG9uZW50IGFkZHMgYGFyaWEtcmVxdWlyZWRgIGFuZCBgcmVxdWlyZWRgXG4gICAqIGF0dHJpYnV0ZXMgdG8gdGhlIGlucHV0IGVsZW1lbnQgc28gdGhhdCBmb3JtcyBkaXNwbGF5IGFuIGludmFsaWQgc3RhdGUgdW50aWwgdGhlIGlucHV0IGVsZW1lbnRcbiAgICogaXMgY29tcGxldGUuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1yZXF1aXJlZGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtcmVxdWlyZWQpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgLy8gVGhlIG51bGwgY2hlY2sgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSBidWcgaW4gQW5ndWxhciA0LlxuICAgIC8vIHdyaXRlVmFsdWUgaXMgYmVpbmcgY2FsbGVkIHR3aWNlLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWVcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4XG4gICAgY29uc3QgaXNOZXdWYWx1ZSA9IHZhbHVlICE9PSB0aGlzLnZhbHVlICYmIHZhbHVlICE9PSBudWxsO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmlzSW1hZ2UgPSB0aGlzLiNmaWxlSXRlbVNlcnZpY2UuaXNJbWFnZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzSW1hZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuI3NldEZpbGVOYW1lKHZhbHVlKTtcblxuICAgICAgdGhpcy4jX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLiN1cGRhdGVGaWxlQXR0YWNobWVudEJ1dHRvbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY3VycmVudFRoZW1lTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmaWxlTmFtZSA9ICcnO1xuXG4gIHB1YmxpYyBzaG93RmlsZUF0dGFjaG1lbnRCdXR0b24gPSB0cnVlO1xuXG4gIHB1YmxpYyB0cnVuY2F0ZWRGaWxlTmFtZSA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpXG4gIHB1YmxpYyBpbnB1dEVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudClcbiAgcHVibGljIGxhYmVsQ29tcG9uZW50czpcbiAgICB8IFF1ZXJ5TGlzdDxTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50PlxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpc0ltYWdlID0gZmFsc2U7XG5cbiAgI2VudGVyRXZlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0IHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAjZmlsZUF0dGFjaG1lbnRJZCA9IHVuaXF1ZUlkKys7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAjX21heEZpbGVTaXplID0gTUFYX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gICNfbWluRmlsZVNpemUgPSBNSU5fRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgI192YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2ZpbGVBdHRhY2htZW50U2VydmljZTogU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlO1xuICAjZmlsZUl0ZW1TZXJ2aWNlOiBTa3lGaWxlSXRlbVNlcnZpY2U7XG4gICNuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IHVuZGVmaW5lZDtcbiAgI3RoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBmaWxlQXR0YWNobWVudFNlcnZpY2U6IFNreUZpbGVBdHRhY2htZW50U2VydmljZSxcbiAgICBmaWxlSXRlbVNlcnZpY2U6IFNreUZpbGVJdGVtU2VydmljZSxcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIG5nQ29udHJvbD86IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UgPSBmaWxlQXR0YWNobWVudFNlcnZpY2U7XG4gICAgdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlID0gZmlsZUl0ZW1TZXJ2aWNlO1xuICAgIHRoaXMuI25nQ29udHJvbCA9IG5nQ29udHJvbDtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuXG4gICAgdGhpcy5sYWJlbEVsZW1lbnRJZCA9IGBza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsLSR7dGhpcy4jZmlsZUF0dGFjaG1lbnRJZH1gO1xuICAgIHRoaXMuZmlsZURyb3BEZXNjcmlwdGlvbkVsZW1lbnRJZCA9IGBza3ktZmlsZS1hdHRhY2htZW50LWRyb3AtZGVzY3JpcHRpb24tJHtcbiAgICAgIHRoaXMuI2ZpbGVBdHRhY2htZW50SWRcbiAgICB9YDtcbiAgICBpZiAodGhpcy4jbmdDb250cm9sKSB7XG4gICAgICB0aGlzLiNuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiN0aGVtZVN2Yykge1xuICAgICAgdGhpcy4jdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCh0aGVtZVNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50VGhlbWVOYW1lID0gdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MudGhlbWUubmFtZTtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVGaWxlQXR0YWNobWVudEJ1dHRvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSBidWcgaW4gQW5ndWxhciA3LlxuICAgIC8vIFdoZW4gYSBjb250cm9sIHZhbHVlIGlzIHNldCBpbml0aWFsbHksIGl0cyB2YWx1ZSBpcyBub3QgcmVwcmVzZW50ZWQgb24gdGhlIHZpZXcuXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzc5MlxuICAgIC8vIE9mIG5vdGUgaXMgdGhlIHBhcmVudCBjaGVjayB3aGljaCBhbGxvd3MgdXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBmb3JtIGlzIHJlYWN0aXZlLlxuICAgIC8vIFdpdGhvdXQgdGhpcyBjaGVjayB0aGVyZSBpcyBhIGNoYW5nZWQgYmVmb3JlIGNoZWNrZWQgZXJyb3JcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNuZ0NvbnRyb2wpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLiNuZ0NvbnRyb2whLmNvbnRyb2whLnNldFZhbHVlKHRoaXMudmFsdWUsIHtcbiAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3VwcG9ydCBmb3IgYW55b25lIHN0aWxsIHVzaW5nIFZhbGlkYXRvcnMuUmVxdWlyZWQuXG4gICAgICB0aGlzLnJlcXVpcmVkID1cbiAgICAgICAgdGhpcy5yZXF1aXJlZCB8fCBTa3lGb3Jtc1V0aWxpdHkuaGFzUmVxdWlyZWRWYWxpZGF0aW9uKHRoaXMuI25nQ29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbENvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuaGFzTGFiZWxDb21wb25lbnQgPSB0aGlzLmxhYmVsQ29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAvLyBIYW5kbGVzIHVwZGF0aW5nIGNsYXNzZXMgd2hlbiBsYWJlbCBjaGFuZ2VzXG4gICAgICB0aGlzLmxhYmVsQ29tcG9uZW50cy5jaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAobmV3TGFiZWxDb21wb25lbnRzOiBRdWVyeUxpc3Q8U2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudD4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFzTGFiZWxDb21wb25lbnQgPSBuZXdMYWJlbENvbXBvbmVudHMubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRHJvcENsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlQ2hhbmdlRXZlbnQoZmlsZUNoYW5nZUV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2hhbmRsZUZpbGVzKFxuICAgICAgKGZpbGVDaGFuZ2VFdmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZCk/LmZpbGVzLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdFbnRlcihkcmFnRW50ZXJFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgLy8gU2F2ZSB0aGlzIHRhcmdldCB0byBrbm93IHdoZW4gdGhlIGRyYWcgZXZlbnQgbGVhdmVzXG4gICAgdGhpcy4jZW50ZXJFdmVudFRhcmdldCA9IGRyYWdFbnRlckV2ZW50LnRhcmdldDtcbiAgICBkcmFnRW50ZXJFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBkcmFnRW50ZXJFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGZpbGVEcmFnT3ZlcihkcmFnT3ZlckV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlciA9IGRyYWdPdmVyRXZlbnQuZGF0YVRyYW5zZmVyO1xuXG4gICAgZHJhZ092ZXJFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBkcmFnT3ZlckV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAodHJhbnNmZXIpIHtcbiAgICAgIGlmICh0cmFuc2Zlci5pdGVtcykge1xuICAgICAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20odHJhbnNmZXIuaXRlbXMpO1xuXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGZpbGUudHlwZSAmJlxuICAgICAgICAgICAgdGhpcy4jZmlsZUF0dGFjaG1lbnRTZXJ2aWNlLmZpbGVUeXBlUmVqZWN0ZWQoXG4gICAgICAgICAgICAgIGZpbGUudHlwZSxcbiAgICAgICAgICAgICAgdGhpcy5hY2NlcHRlZFR5cGVzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCAmJiAhdGhpcy5hY2NlcHRlZE92ZXIpIHtcbiAgICAgICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0cmFuc2Zlci5maWxlcykge1xuICAgICAgICAvLyBJZiB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IERhdGFUcmFuc2Zlci5pdGVtcyxcbiAgICAgICAgLy8gZGVmZXIgZmlsZS10eXBlIGNoZWNraW5nIHRvIGRyb3AgaGFuZGxlci5cbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0RhdGFUcmFuc2Zlci9pdGVtcyNCcm93c2VyX2NvbXBhdGliaWxpdHlcbiAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJvcChkcm9wRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGRyb3BFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBkcm9wRXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuI2VudGVyRXZlbnRUYXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IGZhbHNlO1xuXG4gICAgaWYgKGRyb3BFdmVudC5kYXRhVHJhbnNmZXIgJiYgZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcykge1xuICAgICAgaWYgKGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jZmlsZUF0dGFjaG1lbnRTZXJ2aWNlLmhhc0RpcmVjdG9yeShkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jaGFuZGxlRmlsZXMoZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVEcmFnTGVhdmUoZHJhZ0xlYXZlRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNlbnRlckV2ZW50VGFyZ2V0ID09PSBkcmFnTGVhdmVFdmVudC50YXJnZXQpIHtcbiAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVGaWxlQXR0YWNobWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMudmFsdWU/LmZpbGUubmFtZTtcbiAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQodGhpcy52YWx1ZSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZTogc2FmZXR5IGNoZWNrICovXG4gICAgaWYgKGZpbGVOYW1lKSB7XG4gICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ZpbGVfcmVtb3ZlZCcsXG4gICAgICAgIGZpbGVOYW1lLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjb250cm9sLiBJbXBsZW1lbnRlZCBhcyBhIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIFdoZXRoZXIgdGhlIGNvbnRyb2wgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGVtaXRDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbGVDbGljay5lbWl0KHtcbiAgICAgICAgZmlsZTogdGhpcy52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNhbm5vdW5jZVN0YXRlKHJlc291cmNlU3RyaW5nOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzb3VyY2VzU3ZjXG4gICAgICAuZ2V0U3RyaW5nKHJlc291cmNlU3RyaW5nLCAuLi5hcmdzKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGludGVybmF0aW9uYWxpemVkU3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuI2xpdmVBbm5vdW5jZXJTdmMuYW5ub3VuY2UoaW50ZXJuYXRpb25hbGl6ZWRTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cblxuICAjZW1pdEZpbGVDaGFuZ2VFdmVudChjdXJyZW50RmlsZT86IFNreUZpbGVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGN1cnJlbnRGaWxlICYmICFjdXJyZW50RmlsZS5lcnJvclR5cGUpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShjdXJyZW50RmlsZSk7XG4gICAgfVxuICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHtcbiAgICAgIGZpbGU6IGN1cnJlbnRGaWxlLFxuICAgIH0gYXMgU2t5RmlsZUF0dGFjaG1lbnRDaGFuZ2UpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gICNsb2FkRmlsZShmaWxlOiBTa3lGaWxlSXRlbSk6IHZvaWQge1xuICAgIGlmIChmaWxlLmZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKGV2ZW50OiBhbnkpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNGaWxlTmFtZSA9IHRoaXMudmFsdWU/LmZpbGUubmFtZTtcbiAgICAgICAgZmlsZS51cmwgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KGZpbGUpO1xuICAgICAgICBpZiAocHJldmlvdXNGaWxlTmFtZSkge1xuICAgICAgICAgIHRoaXMuI2Fubm91bmNlU3RhdGUoXG4gICAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ZpbGVfcmVwbGFjZWQnLFxuICAgICAgICAgICAgcHJldmlvdXNGaWxlTmFtZSxcbiAgICAgICAgICAgIGZpbGUuZmlsZS5uYW1lLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZmlsZV9hZGRlZCcsXG4gICAgICAgICAgICBmaWxlLmZpbGUubmFtZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KGZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy4jZW1pdEZpbGVDaGFuZ2VFdmVudChmaWxlKTtcbiAgICAgIH0pO1xuXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlLmZpbGUpO1xuICAgIH1cbiAgfVxuXG4gICNoYW5kbGVGaWxlcyhmaWxlcz86IEZpbGVMaXN0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChmaWxlcykge1xuICAgICAgY29uc3QgcHJvY2Vzc2VkRmlsZXMgPSB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UuY2hlY2tGaWxlcyhcbiAgICAgICAgZmlsZXMsXG4gICAgICAgIHRoaXMubWluRmlsZVNpemUsXG4gICAgICAgIHRoaXMubWF4RmlsZVNpemUsXG4gICAgICAgIHRoaXMuYWNjZXB0ZWRUeXBlcyxcbiAgICAgICAgdGhpcy52YWxpZGF0ZUZuLFxuICAgICAgKTtcblxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHByb2Nlc3NlZEZpbGVzKSB7XG4gICAgICAgIGlmIChmaWxlLmVycm9yVHlwZSkge1xuICAgICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy4jbG9hZEZpbGUoZmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2V0RmlsZU5hbWUoZmlsZT86IFNreUZpbGVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IGRyb3BOYW1lID1cbiAgICAgICAgdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmlzRmlsZShmaWxlKSAmJiBmaWxlLmZpbGUubmFtZVxuICAgICAgICAgID8gZmlsZS5maWxlLm5hbWVcbiAgICAgICAgICA6IGZpbGUudXJsO1xuXG4gICAgICB0aGlzLmZpbGVOYW1lID0gZHJvcE5hbWU7XG5cbiAgICAgIGlmIChkcm9wTmFtZS5sZW5ndGggPiAyNikge1xuICAgICAgICB0aGlzLnRydW5jYXRlZEZpbGVOYW1lID0gZHJvcE5hbWUuc2xpY2UoMCwgMjYpICsgJy4uLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRydW5jYXRlZEZpbGVOYW1lID0gZHJvcE5hbWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSAnJztcbiAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSAnJztcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RmlsZUF0dGFjaG1lbnRCdXR0b24gPSAhKFxuICAgICAgdGhpcy52YWx1ZSAmJiB0aGlzLmN1cnJlbnRUaGVtZU5hbWUgPT09ICdtb2Rlcm4nXG4gICAgKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAjb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsLXdyYXBwZXJcIlxuICAgIFthdHRyLmlkXT1cImxhYmVsRWxlbWVudElkXCJcbiAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHJlcXVpcmVkICYmIGhhc0xhYmVsQ29tcG9uZW50IH1cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC11cGxvYWQgc2t5LWZpbGUtYXR0YWNobWVudCBza3ktZmlsZS1hdHRhY2htZW50LXRhcmdldFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtYWNjZXB0JzogYWNjZXB0ZWRPdmVyLFxuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtcmVqZWN0JzogcmVqZWN0ZWRPdmVyXG4gICAgfVwiXG4gICAgKGRyYWdlbnRlcik9XCJmaWxlRHJhZ0VudGVyKCRldmVudClcIlxuICAgIChkcmFnb3Zlcik9XCJmaWxlRHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgKGRyYWdsZWF2ZSk9XCJmaWxlRHJhZ0xlYXZlKCRldmVudClcIlxuICAgIChkcm9wKT1cImZpbGVEcm9wKCRldmVudClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1kcm9wLWRlc2NyaXB0aW9uXCJcbiAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgIFthdHRyLmlkXT1cImZpbGVEcm9wRGVzY3JpcHRpb25FbGVtZW50SWRcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZHJhZ19vcl9jbGljaycgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2Rpdj5cbiAgICA8aW5wdXRcbiAgICAgIGhpZGRlblxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBbYXR0ci5hY2NlcHRdPVwiYWNjZXB0ZWRUeXBlcyB8fCBudWxsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKGNoYW5nZSk9XCJmaWxlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAjZmlsZUlucHV0XG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZpbGVBdHRhY2htZW50QnV0dG9uXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwic2hvd0ZpbGVBdHRhY2htZW50QnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWJ0biBza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBza3lJZFxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImZpbGVEcm9wRGVzY3JpcHRpb25FbGVtZW50SWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGVfbGFiZWwnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzIDogZmlsZU5hbWUpXG4gICAgICAgICAgICA6ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9jaG9vc2VfZmlsZV9sYWJlbCdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICBhdHRhY2hCdXR0b24uaWQgK1xuICAgICAgICAgICcgJyArXG4gICAgICAgICAgKGhhc0xhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICA/IGxhYmVsQ29tcG9uZW50cz8uZ2V0KDApPy5sYWJlbENvbnRlbnRJZD8uaWRcbiAgICAgICAgICAgIDogdW5kZWZpbmVkKVxuICAgICAgICBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25Ecm9wQ2xpY2tlZCgpXCJcbiAgICAgICAgI2F0dGFjaEJ1dHRvbj1cInNreUlkXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJmb2xkZXItb3Blbi1vXCIgLz5cbiAgICAgICAge3tcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgPyAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9idXR0b25fbGFiZWxfcmVwbGFjZV9maWxlJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIDogKCdza3l1eF9maWxlX2F0dGFjaG1lbnRfYnV0dG9uX2xhYmVsX2Nob29zZV9maWxlJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxza3ktaWNvblxuICAgICAgKm5nSWY9XCJ2YWx1ZSAmJiAhaXNJbWFnZSAmJiBjdXJyZW50VGhlbWVOYW1lID09PSAnbW9kZXJuJ1wiXG4gICAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtaWNvbiBza3ktZGVlbXBoYXNpemVkXCJcbiAgICAgIGljb249XCJmaWxlLW9cIlxuICAgICAgc2l6ZT1cIjJ4XCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInZhbHVlIHx8IGN1cnJlbnRUaGVtZU5hbWUgPT09ICdkZWZhdWx0J1wiXG4gICAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtbmFtZVwiXG4gICAgPlxuICAgICAgPGFcbiAgICAgICAgKm5nSWY9XCJ2YWx1ZTsgZWxzZSBub0ZpbGVcIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJmaWxlTmFtZVwiXG4gICAgICAgIChjbGljayk9XCJlbWl0Q2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHRydW5jYXRlZEZpbGVOYW1lIH19XG4gICAgICA8L2E+XG4gICAgPC9zcGFuPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9GaWxlPlxuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LW5vbmUgc2t5LWRlZW1waGFzaXplZFwiPlxuICAgICAgICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2xhYmVsX25vX2ZpbGVfY2hvc2VuJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJ2YWx1ZVwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1ib3JkZXJsZXNzIHNreS1maWxlLWF0dGFjaG1lbnQtZGVsZXRlXCJcbiAgICAgIHNreUlkXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9pdGVtX3JlbW92ZScgfCBza3lMaWJSZXNvdXJjZXMgOiBmaWxlTmFtZVxuICAgICAgXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgZGVsZXRlQnV0dG9uLmlkICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKGhhc0xhYmVsQ29tcG9uZW50XG4gICAgICAgICAgPyBsYWJlbENvbXBvbmVudHM/LmdldCgwKT8ubGFiZWxDb250ZW50SWQ/LmlkXG4gICAgICAgICAgOiB1bmRlZmluZWQpXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbGVBdHRhY2htZW50KClcIlxuICAgICAgI2RlbGV0ZUJ1dHRvbj1cInNreUlkXCJcbiAgICA+XG4gICAgICA8c2t5LWljb24gaWNvbj1cInRyYXNoLW9cIiBzaXplPVwibWRcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8aW1nXG4gICAgKm5nSWY9XCJ2YWx1ZSAmJiBpc0ltYWdlXCJcbiAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtcHJldmlldy1pbWdcIlxuICAgIFthbHRdPVwiXG4gICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ltYWdlX3ByZXZpZXdfYWx0X3RleHQnXG4gICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgXCJcbiAgICBbc3JjXT1cInZhbHVlLnVybFwiXG4gIC8+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsYWJlbENvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWxcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
426
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixJQUFJLEVBQ0osU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFPckUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRWhDOztHQUVHO0FBUUgsTUFBTSxPQUFP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TTtnQkFxQkEsUUFBUTtzQkFEZCxLQUFLO2dCQW9DQyxPQUFPO3NCQURiLFNBQVM7dUJBQUMsV0FBVztnQkFJZixlQUFlO3NCQURyQixlQUFlO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rm9ybXNVdGlsaXR5IH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1zLXV0aWxpdHknO1xuXG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuL2ZpbGUtaXRlbSc7XG5pbXBvcnQgeyBTa3lGaWxlSXRlbVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUZpbGVWYWxpZGF0ZUZuIH0gZnJvbSAnLi9maWxlLXZhbGlkYXRlLWZ1bmN0aW9uJztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIH0gZnJvbSAnLi90eXBlcy9maWxlLWF0dGFjaG1lbnQtY2hhbmdlJztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2xpY2sgfSBmcm9tICcuL3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jbGljayc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbmNvbnN0IE1BWF9GSUxFX1NJWkVfREVGQVVMVCA9IDUwMDAwMDtcbmNvbnN0IE1JTl9GSUxFX1NJWkVfREVGQVVMVCA9IDA7XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gZWxlbWVudCB0byBhdHRhY2ggYSBzaW5nbGUgbG9jYWwgZmlsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZpbGUtYXR0YWNobWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVBdHRhY2htZW50Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIFRoZSBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nIGxpdGVyYWwgb2YgTUlNRSB0eXBlcyB0aGF0IHVzZXJzIGNhbiBhdHRhY2guXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCBmaWxlIHR5cGVzIGFyZSBhbGxvd2VkLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY2NlcHRlZFR5cGVzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgaW5wdXQgb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5ld0Rpc2FibGVkU3RhdGUgPSBTa3lGb3Jtc1V0aWxpdHkuY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jX2Rpc2FibGVkICE9PSBuZXdEaXNhYmxlZFN0YXRlKSB7XG4gICAgICB0aGlzLiNfZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFN0YXRlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBmaWxlIGF0dGFjaG1lbnQncyBsYWJlbC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBoaWRlIGBsYWJlbFRleHRgIGZyb20gdmlldy5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgNTAwMDAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEZpbGVTaXplKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4RmlsZVNpemUgPSB2YWx1ZSA/PyBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhGaWxlU2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW5GaWxlU2l6ZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX21pbkZpbGVTaXplID0gdmFsdWUgPz8gTUlOX0ZJTEVfU0laRV9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBtaW5GaWxlU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWluRmlsZVNpemU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9uLiBUaGlzIHZhbGlkYXRpb24gcnVucyBhbG9uZ3NpZGUgdGhlIGludGVybmFsXG4gICAqIGZpbGUgdmFsaWRhdGlvbi4gVGhpcyBmdW5jdGlvbiB0YWtlcyBhIGBTa3lGaWxlSXRlbWAgb2JqZWN0IGFzIGEgcGFyYW1ldGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhbGlkYXRlRm46IFNreUZpbGVWYWxpZGF0ZUZuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGFkZCBvciByZW1vdmUgZmlsZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVBdHRhY2htZW50Q2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgZmlsZSBuYW1lIGxpbmsuIE1ha2Ugc3VyZSB0byBiaW5kIHRoZSBldmVudC5cbiAgICogSWYgeW91IGRvIG5vdCwgdGhlIGZpbGUgbmFtZSBsaW5rIHdpbGwgYmUgYSBkZWFkIGxpbmsuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUF0dGFjaG1lbnRDbGljaz4oKTtcblxuICBwdWJsaWMgYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG5cbiAgcHVibGljIGhhc0xhYmVsQ29tcG9uZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIGZpbGVEcm9wRGVzY3JpcHRpb25FbGVtZW50SWQ6IHN0cmluZztcblxuICBwdWJsaWMgbGFiZWxFbGVtZW50SWQ6IHN0cmluZztcblxuICBwdWJsaWMgcmVqZWN0ZWRPdmVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkIGZvciBmb3JtIHZhbGlkYXRpb24uXG4gICAqIFdoZW4geW91IHNldCB0aGlzIHByb3BlcnR5IHRvIGB0cnVlYCwgdGhlIGNvbXBvbmVudCBhZGRzIGBhcmlhLXJlcXVpcmVkYCBhbmQgYHJlcXVpcmVkYFxuICAgKiBhdHRyaWJ1dGVzIHRvIHRoZSBpbnB1dCBlbGVtZW50IHNvIHRoYXQgZm9ybXMgZGlzcGxheSBhbiBpbnZhbGlkIHN0YXRlIHVudGlsIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqIGlzIGNvbXBsZXRlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtcmVxdWlyZWRgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLXJlcXVpcmVkKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFNreUZpbGVJdGVtIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIC8vIFRoZSBudWxsIGNoZWNrIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAvLyB3cml0ZVZhbHVlIGlzIGJlaW5nIGNhbGxlZCB0d2ljZSwgZmlyc3QgdGltZSB3aXRoIGEgcGhhbnRvbSBudWxsIHZhbHVlXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNDk4OFxuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSB2YWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiB2YWx1ZSAhPT0gbnVsbDtcblxuICAgIGlmIChpc05ld1ZhbHVlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiNzZXRGaWxlTmFtZSh2YWx1ZSk7XG5cbiAgICAgIHRoaXMuI192YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy4jb25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy4jdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFNreUZpbGVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIGN1cnJlbnRUaGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZmlsZU5hbWUgPSAnJztcblxuICBwdWJsaWMgc2hvd0ZpbGVBdHRhY2htZW50QnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgdHJ1bmNhdGVkRmlsZU5hbWUgPSAnJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKVxuICBwdWJsaWMgaW5wdXRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkcmVuKFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQpXG4gIHB1YmxpYyBsYWJlbENvbXBvbmVudHM6XG4gICAgfCBRdWVyeUxpc3Q8U2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNJbWFnZSA9IGZhbHNlO1xuXG4gICNlbnRlckV2ZW50VGFyZ2V0OiBFdmVudFRhcmdldCB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgI2ZpbGVBdHRhY2htZW50SWQgPSB1bmlxdWVJZCsrO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19tYXhGaWxlU2l6ZSA9IE1BWF9GSUxFX1NJWkVfREVGQVVMVDtcblxuICAjX21pbkZpbGVTaXplID0gTUlOX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gICNfdmFsdWU6IFNreUZpbGVJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNmaWxlQXR0YWNobWVudFNlcnZpY2U6IFNreUZpbGVBdHRhY2htZW50U2VydmljZTtcbiAgI2ZpbGVJdGVtU2VydmljZTogU2t5RmlsZUl0ZW1TZXJ2aWNlO1xuICAjbmdDb250cm9sOiBOZ0NvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNsaXZlQW5ub3VuY2VyU3ZjID0gaW5qZWN0KFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlc1N2YyA9IGluamVjdChTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZmlsZUF0dGFjaG1lbnRTZXJ2aWNlOiBTa3lGaWxlQXR0YWNobWVudFNlcnZpY2UsXG4gICAgZmlsZUl0ZW1TZXJ2aWNlOiBTa3lGaWxlSXRlbVNlcnZpY2UsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZmlsZUF0dGFjaG1lbnRTZXJ2aWNlID0gZmlsZUF0dGFjaG1lbnRTZXJ2aWNlO1xuICAgIHRoaXMuI2ZpbGVJdGVtU2VydmljZSA9IGZpbGVJdGVtU2VydmljZTtcbiAgICB0aGlzLiNuZ0NvbnRyb2wgPSBuZ0NvbnRyb2w7XG4gICAgdGhpcy4jdGhlbWVTdmMgPSB0aGVtZVN2YztcblxuICAgIHRoaXMubGFiZWxFbGVtZW50SWQgPSBgc2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbC0ke3RoaXMuI2ZpbGVBdHRhY2htZW50SWR9YDtcbiAgICB0aGlzLmZpbGVEcm9wRGVzY3JpcHRpb25FbGVtZW50SWQgPSBgc2t5LWZpbGUtYXR0YWNobWVudC1kcm9wLWRlc2NyaXB0aW9uLSR7dGhpcy4jZmlsZUF0dGFjaG1lbnRJZH1gO1xuICAgIGlmICh0aGlzLiNuZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI25nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZU5hbWUgPSB0aGVtZVNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncy50aGVtZS5uYW1lO1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUZpbGVBdHRhY2htZW50QnV0dG9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gYWRkcmVzcyBhIGJ1ZyBpbiBBbmd1bGFyIDcuXG4gICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGluaXRpYWxseSwgaXRzIHZhbHVlIGlzIG5vdCByZXByZXNlbnRlZCBvbiB0aGUgdmlldy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNzkyXG4gICAgLy8gT2Ygbm90ZSBpcyB0aGUgcGFyZW50IGNoZWNrIHdoaWNoIGFsbG93cyB1cyB0byBkZXRlcm1pbmUgaWYgdGhlIGZvcm0gaXMgcmVhY3RpdmUuXG4gICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrIHRoZXJlIGlzIGEgY2hhbmdlZCBiZWZvcmUgY2hlY2tlZCBlcnJvclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI25nQ29udHJvbCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuI25nQ29udHJvbCEuY29udHJvbCEuc2V0VmFsdWUodGhpcy52YWx1ZSwge1xuICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBzdXBwb3J0IGZvciBhbnlvbmUgc3RpbGwgdXNpbmcgVmFsaWRhdG9ycy5SZXF1aXJlZC5cbiAgICAgIHRoaXMucmVxdWlyZWQgPVxuICAgICAgICB0aGlzLnJlcXVpcmVkIHx8IFNreUZvcm1zVXRpbGl0eS5oYXNSZXF1aXJlZFZhbGlkYXRpb24odGhpcy4jbmdDb250cm9sKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxhYmVsQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5oYXNMYWJlbENvbXBvbmVudCA9IHRoaXMubGFiZWxDb21wb25lbnRzLmxlbmd0aCA+IDA7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgIC8vIEhhbmRsZXMgdXBkYXRpbmcgY2xhc3NlcyB3aGVuIGxhYmVsIGNoYW5nZXNcbiAgICAgIHRoaXMubGFiZWxDb21wb25lbnRzLmNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChuZXdMYWJlbENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50PikgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYXNMYWJlbENvbXBvbmVudCA9IG5ld0xhYmVsQ29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Ecm9wQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2VFdmVudChmaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy4jaGFuZGxlRmlsZXMoXG4gICAgICAoZmlsZUNoYW5nZUV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkKT8uZmlsZXMsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ0VudGVyKGRyYWdFbnRlckV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBTYXZlIHRoaXMgdGFyZ2V0IHRvIGtub3cgd2hlbiB0aGUgZHJhZyBldmVudCBsZWF2ZXNcbiAgICB0aGlzLiNlbnRlckV2ZW50VGFyZ2V0ID0gZHJhZ0VudGVyRXZlbnQudGFyZ2V0O1xuICAgIGRyYWdFbnRlckV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyYWdFbnRlckV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdPdmVyKGRyYWdPdmVyRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRyYW5zZmVyID0gZHJhZ092ZXJFdmVudC5kYXRhVHJhbnNmZXI7XG5cbiAgICBkcmFnT3ZlckV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyYWdPdmVyRXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0cmFuc2Zlcikge1xuICAgICAgaWYgKHRyYW5zZmVyLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbSh0cmFuc2Zlci5pdGVtcyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmlsZS50eXBlICYmXG4gICAgICAgICAgICB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UuZmlsZVR5cGVSZWplY3RlZChcbiAgICAgICAgICAgICAgZmlsZS50eXBlLFxuICAgICAgICAgICAgICB0aGlzLmFjY2VwdGVkVHlwZXMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAwICYmICF0aGlzLmFjY2VwdGVkT3Zlcikge1xuICAgICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRyYW5zZmVyLmZpbGVzKSB7XG4gICAgICAgIC8vIElmIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgRGF0YVRyYW5zZmVyLml0ZW1zLFxuICAgICAgICAvLyBkZWZlciBmaWxlLXR5cGUgY2hlY2tpbmcgdG8gZHJvcCBoYW5kbGVyLlxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRGF0YVRyYW5zZmVyL2l0ZW1zI0Jyb3dzZXJfY29tcGF0aWJpbGl0eVxuICAgICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVEcm9wKGRyb3BFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZHJvcEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyb3BFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy4jZW50ZXJFdmVudFRhcmdldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG5cbiAgICBpZiAoZHJvcEV2ZW50LmRhdGFUcmFuc2ZlciAmJiBkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKSB7XG4gICAgICBpZiAoZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UuaGFzRGlyZWN0b3J5KGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNoYW5kbGVGaWxlcyhkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdMZWF2ZShkcmFnTGVhdmVFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2VudGVyRXZlbnRUYXJnZXQgPT09IGRyYWdMZWF2ZUV2ZW50LnRhcmdldCkge1xuICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlbGV0ZUZpbGVBdHRhY2htZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy52YWx1ZT8uZmlsZS5uYW1lO1xuICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4jZW1pdEZpbGVDaGFuZ2VFdmVudCh0aGlzLnZhbHVlKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiBzYWZldHkgY2hlY2sgKi9cbiAgICBpZiAoZmlsZU5hbWUpIHtcbiAgICAgIHRoaXMuI2Fubm91bmNlU3RhdGUoXG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZmlsZV9yZW1vdmVkJyxcbiAgICAgICAgZmlsZU5hbWUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbnRyb2wuIEltcGxlbWVudGVkIGFzIGEgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQHBhcmFtIGlzRGlzYWJsZWQgV2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsZUNsaWNrLmVtaXQoe1xuICAgICAgICBmaWxlOiB0aGlzLnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2Fubm91bmNlU3RhdGUocmVzb3VyY2VTdHJpbmc6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLiNyZXNvdXJjZXNTdmNcbiAgICAgIC5nZXRTdHJpbmcocmVzb3VyY2VTdHJpbmcsIC4uLmFyZ3MpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoaW50ZXJuYXRpb25hbGl6ZWRTdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy4jbGl2ZUFubm91bmNlclN2Yy5hbm5vdW5jZShpbnRlcm5hdGlvbmFsaXplZFN0cmluZyk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNlbWl0RmlsZUNoYW5nZUV2ZW50KGN1cnJlbnRGaWxlPzogU2t5RmlsZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoY3VycmVudEZpbGUgJiYgIWN1cnJlbnRGaWxlLmVycm9yVHlwZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKGN1cnJlbnRGaWxlKTtcbiAgICB9XG4gICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgZmlsZTogY3VycmVudEZpbGUsXG4gICAgfSBhcyBTa3lGaWxlQXR0YWNobWVudENoYW5nZSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRGaWxlKGZpbGU6IFNreUZpbGVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGZpbGUuZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZXZlbnQ6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZpbGVOYW1lID0gdGhpcy52YWx1ZT8uZmlsZS5uYW1lO1xuICAgICAgICBmaWxlLnVybCA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpbGVOYW1lKSB7XG4gICAgICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZmlsZV9yZXBsYWNlZCcsXG4gICAgICAgICAgICBwcmV2aW91c0ZpbGVOYW1lLFxuICAgICAgICAgICAgZmlsZS5maWxlLm5hbWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX2FkZGVkJyxcbiAgICAgICAgICAgIGZpbGUuZmlsZS5uYW1lLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICB9KTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KGZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUuZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUZpbGVzKGZpbGVzPzogRmlsZUxpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGZpbGVzKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRGaWxlcyA9IHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5jaGVja0ZpbGVzKFxuICAgICAgICBmaWxlcyxcbiAgICAgICAgdGhpcy5taW5GaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5tYXhGaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5hY2NlcHRlZFR5cGVzLFxuICAgICAgICB0aGlzLnZhbGlkYXRlRm4sXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgcHJvY2Vzc2VkRmlsZXMpIHtcbiAgICAgICAgaWYgKGZpbGUuZXJyb3JUeXBlKSB7XG4gICAgICAgICAgdGhpcy4jZW1pdEZpbGVDaGFuZ2VFdmVudChmaWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNsb2FkRmlsZShmaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZXRGaWxlTmFtZShmaWxlPzogU2t5RmlsZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgZHJvcE5hbWUgPVxuICAgICAgICB0aGlzLiNmaWxlSXRlbVNlcnZpY2UuaXNGaWxlKGZpbGUpICYmIGZpbGUuZmlsZS5uYW1lXG4gICAgICAgICAgPyBmaWxlLmZpbGUubmFtZVxuICAgICAgICAgIDogZmlsZS51cmw7XG5cbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBkcm9wTmFtZTtcblxuICAgICAgaWYgKGRyb3BOYW1lLmxlbmd0aCA+IDI2KSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZS5zbGljZSgwLCAyNikgKyAnLi4uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlTmFtZSA9ICcnO1xuICAgICAgdGhpcy50cnVuY2F0ZWRGaWxlTmFtZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVGaWxlQXR0YWNobWVudEJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dGaWxlQXR0YWNobWVudEJ1dHRvbiA9ICEoXG4gICAgICB0aGlzLnZhbHVlICYmIHRoaXMuY3VycmVudFRoZW1lTmFtZSA9PT0gJ21vZGVybidcbiAgICApO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICNvbkNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHtcbiAgICByZXR1cm47XG4gIH07XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI29uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHtcbiAgICByZXR1cm47XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC13cmFwcGVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWwtd3JhcHBlclwiXG4gICAgW2F0dHIuaWRdPVwibGFiZWxFbGVtZW50SWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHJlcXVpcmVkICYmIChoYXNMYWJlbENvbXBvbmVudCB8fCBsYWJlbFRleHQpXG4gICAgfVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxUZXh0OyBlbHNlIGxhYmVsQ29udGVudFwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhbGFiZWxIaWRkZW5cIiBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCI+e3tcbiAgICAgICAgbGFiZWxUZXh0XG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtdXBsb2FkIHNreS1maWxlLWF0dGFjaG1lbnQgc2t5LWZpbGUtYXR0YWNobWVudC10YXJnZXRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZmlsZS1hdHRhY2htZW50LWFjY2VwdCc6IGFjY2VwdGVkT3ZlcixcbiAgICAgICdza3ktZmlsZS1hdHRhY2htZW50LXJlamVjdCc6IHJlamVjdGVkT3ZlclxuICAgIH1cIlxuICAgIChkcmFnZW50ZXIpPVwiZmlsZURyYWdFbnRlcigkZXZlbnQpXCJcbiAgICAoZHJhZ292ZXIpPVwiZmlsZURyYWdPdmVyKCRldmVudClcIlxuICAgIChkcmFnbGVhdmUpPVwiZmlsZURyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAoZHJvcCk9XCJmaWxlRHJvcCgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtZHJvcC1kZXNjcmlwdGlvblwiXG4gICAgICByb2xlPVwidG9vbHRpcFwiXG4gICAgICBbYXR0ci5pZF09XCJmaWxlRHJvcERlc2NyaXB0aW9uRWxlbWVudElkXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2RyYWdfb3JfY2xpY2snIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9kaXY+XG4gICAgPGlucHV0XG4gICAgICBoaWRkZW5cbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgW2F0dHIuYWNjZXB0XT1cImFjY2VwdGVkVHlwZXMgfHwgbnVsbFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgICAgI2ZpbGVJbnB1dFxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWxlQXR0YWNobWVudEJ1dHRvblwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dGaWxlQXR0YWNobWVudEJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1idG4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgc2t5SWRcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJmaWxlRHJvcERlc2NyaXB0aW9uRWxlbWVudElkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgPyAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9idXR0b25fbGFiZWxfcmVwbGFjZV9maWxlX2xhYmVsJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZmlsZU5hbWUpXG4gICAgICAgICAgICA6ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9jaG9vc2VfZmlsZV9sYWJlbCdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICBhdHRhY2hCdXR0b24uaWQgK1xuICAgICAgICAgICcgJyArXG4gICAgICAgICAgKGxhYmVsVGV4dFxuICAgICAgICAgICAgPyBsYWJlbEVsZW1lbnRJZFxuICAgICAgICAgICAgOiBoYXNMYWJlbENvbXBvbmVudFxuICAgICAgICAgICAgICA/IGxhYmVsQ29tcG9uZW50cz8uZ2V0KDApPy5sYWJlbENvbnRlbnRJZD8uaWRcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQpXG4gICAgICAgIFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3BDbGlja2VkKClcIlxuICAgICAgICAjYXR0YWNoQnV0dG9uPVwic2t5SWRcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImZvbGRlci1vcGVuLW9cIiAvPlxuICAgICAgICB7e1xuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgOiAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9idXR0b25fbGFiZWxfY2hvb3NlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHNreS1pY29uXG4gICAgICAqbmdJZj1cInZhbHVlICYmICFpc0ltYWdlICYmIGN1cnJlbnRUaGVtZU5hbWUgPT09ICdtb2Rlcm4nXCJcbiAgICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1pY29uIHNreS1kZWVtcGhhc2l6ZWRcIlxuICAgICAgaWNvbj1cImZpbGUtb1wiXG4gICAgICBzaXplPVwiMnhcIlxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwidmFsdWUgfHwgY3VycmVudFRoZW1lTmFtZSA9PT0gJ2RlZmF1bHQnXCJcbiAgICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1uYW1lXCJcbiAgICA+XG4gICAgICA8YVxuICAgICAgICAqbmdJZj1cInZhbHVlOyBlbHNlIG5vRmlsZVwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImZpbGVOYW1lXCJcbiAgICAgICAgKGNsaWNrKT1cImVtaXRDbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgdHJ1bmNhdGVkRmlsZU5hbWUgfX1cbiAgICAgIDwvYT5cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNub0ZpbGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtbm9uZSBza3ktZGVlbXBoYXNpemVkXCI+XG4gICAgICAgIHt7ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfbGFiZWxfbm9fZmlsZV9jaG9zZW4nIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInZhbHVlXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWJvcmRlcmxlc3Mgc2t5LWZpbGUtYXR0YWNobWVudC1kZWxldGVcIlxuICAgICAgc2t5SWRcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX2l0ZW1fcmVtb3ZlJyB8IHNreUxpYlJlc291cmNlczogZmlsZU5hbWVcbiAgICAgIFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5pZCArXG4gICAgICAgICcgJyArXG4gICAgICAgIChoYXNMYWJlbENvbXBvbmVudFxuICAgICAgICAgID8gbGFiZWxDb21wb25lbnRzPy5nZXQoMCk/LmxhYmVsQ29udGVudElkPy5pZFxuICAgICAgICAgIDogdW5kZWZpbmVkKVxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICAgIChjbGljayk9XCJkZWxldGVGaWxlQXR0YWNobWVudCgpXCJcbiAgICAgICNkZWxldGVCdXR0b249XCJza3lJZFwiXG4gICAgPlxuICAgICAgPHNreS1pY29uIGljb249XCJ0cmFzaC1vXCIgc2l6ZT1cIm1kXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGltZ1xuICAgICpuZ0lmPVwidmFsdWUgJiYgaXNJbWFnZVwiXG4gICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LXByZXZpZXctaW1nXCJcbiAgICBbYWx0XT1cIlxuICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9pbWFnZV9wcmV2aWV3X2FsdF90ZXh0J1xuICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgIFwiXG4gICAgW3NyY109XCJ2YWx1ZS51cmxcIlxuICAvPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -22,7 +22,7 @@ export class SkyFormErrorsComponent {
|
|
|
22
22
|
this.ariaRelevant = 'all';
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFormErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.1", type: SkyFormErrorsComponent, isStandalone: true, selector: "sky-form-errors", inputs: { errors: "errors", labelText: "labelText", showErrors: ["showErrors", "showErrors", coerceBooleanProperty] }, host: { properties: { "attr.aria-atomic": "this.ariaAtomic", "attr.aria-live": "this.ariaLive", "attr.aria-relevant": "this.ariaRelevant" } }, ngImport: i0, template: "<ng-container *ngIf=\"labelText && showErrors && errors\">\n <sky-form-error\n *ngIf=\"errors['required']\"\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.1", type: SkyFormErrorsComponent, isStandalone: true, selector: "sky-form-errors", inputs: { errors: "errors", labelText: "labelText", showErrors: ["showErrors", "showErrors", coerceBooleanProperty] }, host: { properties: { "attr.aria-atomic": "this.ariaAtomic", "attr.aria-live": "this.ariaLive", "attr.aria-relevant": "this.ariaRelevant" } }, ngImport: i0, template: "<ng-container *ngIf=\"labelText && showErrors && errors\">\n <sky-form-error\n *ngIf=\"errors['required']\"\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n\n <sky-form-error\n *ngIf=\"errors['maxlength'] as maxLengthError\"\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n\n <sky-form-error\n *ngIf=\"errors['minlength'] as minLengthError\"\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyDate']\"\n errorName=\"date\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyEmail']\"\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyPhoneField']\"\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyTime']\"\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyUrl']\"\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n <ng-content />\n</ng-container>\n", styles: [":host,sky-status-indicator{display:block;line-height:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "component", type: SkyFormErrorComponent, selector: "sky-form-error", inputs: ["errorName", "errorText"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFormErrorsComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
@@ -31,7 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
31
31
|
SkyIdModule,
|
|
32
32
|
SkyFormErrorComponent,
|
|
33
33
|
SkyFormsResourcesModule,
|
|
34
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"labelText && showErrors && errors\">\n <sky-form-error\n *ngIf=\"errors['required']\"\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources
|
|
34
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"labelText && showErrors && errors\">\n <sky-form-error\n *ngIf=\"errors['required']\"\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n\n <sky-form-error\n *ngIf=\"errors['maxlength'] as maxLengthError\"\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n\n <sky-form-error\n *ngIf=\"errors['minlength'] as minLengthError\"\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyDate']\"\n errorName=\"date\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyEmail']\"\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyPhoneField']\"\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyTime']\"\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n\n <sky-form-error\n *ngIf=\"errors['skyUrl']\"\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n <ng-content />\n</ng-container>\n", styles: [":host,sky-status-indicator{display:block;line-height:normal}\n"] }]
|
|
35
35
|
}], propDecorators: { errors: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}], labelText: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
49
49
|
type: HostBinding,
|
|
50
50
|
args: ['attr.aria-relevant']
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRS9EOztHQUVHO0FBY0gsTUFBTSxPQUFPLHNCQUFzQjtJQWJuQztRQTBCRTs7O1dBR0c7UUFFSSxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR04sZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUdwQixhQUFRLEdBQUcsV0FBVyxDQUFDO1FBR3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0tBQ3pDOzhHQTVCWSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnSkFpQmIscUJBQXFCLDRLQ2hEM0MsbTlDQXdEQSx1SERsQ0ksWUFBWSxrSUFDWixXQUFXLCtCQUNYLHFCQUFxQiw4RkFDckIsdUJBQXVCOzsyRkFNZCxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBT3hDLE1BQU07c0JBRFosS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFJeEIsVUFBVTtzQkFENUIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBSVosUUFBUTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBSVYsWUFBWTtzQkFEOUIsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWRNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mb3Jtcy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mb3JtLWVycm9ycycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5Rm9ybUVycm9yQ29tcG9uZW50LFxuICAgIFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1lcnJvcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWVycm9ycy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdmFsaWRhdGlvbiBlcnJvcnMgZnJvbSB0aGUgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIElucHV0IGxhYmVsIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZXJyb3IgbWVzc2FnZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHNob3cgZXJyb3IgbWVzc2FnZXMsIHdoaWNoIG1pZ2h0IG9ubHkgYmUgdHJ1ZSBpZiB0aGVcbiAgICogZm9ybSBjb250cm9sIGlzIHRvdWNoZWQgb3IgZGlydHkuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICBwdWJsaWMgc2hvd0Vycm9ycyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtYXRvbWljJylcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFBdG9taWMgPSAndHJ1ZSc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGl2ZScpXG4gIHByb3RlY3RlZCByZWFkb25seSBhcmlhTGl2ZSA9ICdhc3NlcnRpdmUnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXJlbGV2YW50JylcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFSZWxldmFudCA9ICdhbGwnO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dCAmJiBzaG93RXJyb3JzICYmIGVycm9yc1wiPlxuICA8c2t5LWZvcm0tZXJyb3JcbiAgICAqbmdJZj1cImVycm9yc1sncmVxdWlyZWQnXVwiXG4gICAgZXJyb3JOYW1lPVwicmVxdWlyZWRcIlxuICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzOiBsYWJlbFRleHRcIlxuICAvPlxuXG4gIDxza3ktZm9ybS1lcnJvclxuICAgICpuZ0lmPVwiZXJyb3JzWydtYXhsZW5ndGgnXSBhcyBtYXhMZW5ndGhFcnJvclwiXG4gICAgZXJyb3JOYW1lPVwibWF4bGVuZ3RoXCJcbiAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgJ3NreXV4X2Zvcm1fZXJyb3JfbWF4bGVuZ3RoJ1xuICAgICAgICB8IHNreUxpYlJlc291cmNlczogbGFiZWxUZXh0IDogbWF4TGVuZ3RoRXJyb3IucmVxdWlyZWRMZW5ndGhcbiAgICBcIlxuICAvPlxuXG4gIDxza3ktZm9ybS1lcnJvclxuICAgICpuZ0lmPVwiZXJyb3JzWydtaW5sZW5ndGgnXSBhcyBtaW5MZW5ndGhFcnJvclwiXG4gICAgZXJyb3JOYW1lPVwibWlubGVuZ3RoXCJcbiAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgJ3NreXV4X2Zvcm1fZXJyb3JfbWlubGVuZ3RoJ1xuICAgICAgICB8IHNreUxpYlJlc291cmNlczogbGFiZWxUZXh0IDogbWluTGVuZ3RoRXJyb3IucmVxdWlyZWRMZW5ndGhcbiAgICBcIlxuICAvPlxuXG4gIDxza3ktZm9ybS1lcnJvclxuICAgICpuZ0lmPVwiZXJyb3JzWydza3lEYXRlJ11cIlxuICAgIGVycm9yTmFtZT1cImRhdGVcIlxuICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfZGF0ZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAvPlxuXG4gIDxza3ktZm9ybS1lcnJvclxuICAgICpuZ0lmPVwiZXJyb3JzWydza3lFbWFpbCddXCJcbiAgICBlcnJvck5hbWU9XCJlbWFpbFwiXG4gICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9lbWFpbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAvPlxuXG4gIDxza3ktZm9ybS1lcnJvclxuICAgICpuZ0lmPVwiZXJyb3JzWydza3lQaG9uZUZpZWxkJ11cIlxuICAgIGVycm9yTmFtZT1cInBob25lXCJcbiAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX3Bob25lJyB8IHNreUxpYlJlc291cmNlc1wiXG4gIC8+XG5cbiAgPHNreS1mb3JtLWVycm9yXG4gICAgKm5nSWY9XCJlcnJvcnNbJ3NreVRpbWUnXVwiXG4gICAgZXJyb3JOYW1lPVwidGltZVwiXG4gICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl90aW1lJyB8IHNreUxpYlJlc291cmNlc1wiXG4gIC8+XG5cbiAgPHNreS1mb3JtLWVycm9yXG4gICAgKm5nSWY9XCJlcnJvcnNbJ3NreVVybCddXCJcbiAgICBlcnJvck5hbWU9XCJ1cmxcIlxuICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfdXJsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gIC8+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -27,7 +27,7 @@ export class SkyInputBoxHelpInlineComponent {
|
|
|
27
27
|
this.popoverOpen = open;
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHelpInlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyInputBoxHelpInlineComponent, isStandalone: true, selector: "sky-input-box-help-inline", inputs: { labelText: "labelText", popoverTitle: "popoverTitle", popoverContent: "popoverContent" }, ngImport: i0, template: "<sky-help-inline\n [ariaControls]=\"popoverId.id\"\n [ariaExpanded]=\"popoverOpen\"\n [ariaLabel]=\"\n labelText\n ? ('skyux_input_box_help_inline_aria_label' | skyLibResources
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyInputBoxHelpInlineComponent, isStandalone: true, selector: "sky-input-box-help-inline", inputs: { labelText: "labelText", popoverTitle: "popoverTitle", popoverContent: "popoverContent" }, ngImport: i0, template: "<sky-help-inline\n [ariaControls]=\"popoverId.id\"\n [ariaExpanded]=\"popoverOpen\"\n [ariaLabel]=\"\n labelText\n ? ('skyux_input_box_help_inline_aria_label' | skyLibResources: labelText)\n : undefined\n \"\n [skyPopover]=\"helpPopover\"\n>\n</sky-help-inline>\n\n<sky-popover\n skyId\n [popoverTitle]=\"popoverTitle\"\n (popoverClosed)=\"togglePopoverOpen(false)\"\n (popoverOpened)=\"togglePopoverOpen(true)\"\n #helpPopover\n #popoverId=\"skyId\"\n>\n <ng-container *ngIf=\"popoverContentTemplate; else popoverContentText\">\n <ng-container *ngTemplateOutlet=\"popoverContentTemplate\" />\n </ng-container>\n</sky-popover>\n\n<ng-template #popoverContentText>\n {{ popoverContent }}\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i2.λ3, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i4.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyPopoverModule }, { kind: "component", type: i5.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i5.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHelpInlineComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -37,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
37
37
|
SkyI18nModule,
|
|
38
38
|
SkyIdModule,
|
|
39
39
|
SkyPopoverModule,
|
|
40
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-help-inline\n [ariaControls]=\"popoverId.id\"\n [ariaExpanded]=\"popoverOpen\"\n [ariaLabel]=\"\n labelText\n ? ('skyux_input_box_help_inline_aria_label' | skyLibResources
|
|
40
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-help-inline\n [ariaControls]=\"popoverId.id\"\n [ariaExpanded]=\"popoverOpen\"\n [ariaLabel]=\"\n labelText\n ? ('skyux_input_box_help_inline_aria_label' | skyLibResources: labelText)\n : undefined\n \"\n [skyPopover]=\"helpPopover\"\n>\n</sky-help-inline>\n\n<sky-popover\n skyId\n [popoverTitle]=\"popoverTitle\"\n (popoverClosed)=\"togglePopoverOpen(false)\"\n (popoverOpened)=\"togglePopoverOpen(true)\"\n #helpPopover\n #popoverId=\"skyId\"\n>\n <ng-container *ngIf=\"popoverContentTemplate; else popoverContentText\">\n <ng-container *ngTemplateOutlet=\"popoverContentTemplate\" />\n </ng-container>\n</sky-popover>\n\n<ng-template #popoverContentText>\n {{ popoverContent }}\n</ng-template>\n" }]
|
|
41
41
|
}], propDecorators: { labelText: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}], popoverTitle: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
45
45
|
}], popoverContent: [{
|
|
46
46
|
type: Input
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhlbHAtaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1oZWxwLWlubGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3gtaGVscC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBRW5EOztHQUVHO0FBY0gsTUFBTSxPQUFPLDhCQUE4QjtJQU96QyxJQUNXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsY0FBYyxDQUFDLEtBQWdEO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQjtZQUN6QixLQUFLLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0lBS0QsZ0JBQWdCLENBQTRDO0lBRWxELGlCQUFpQixDQUFDLElBQWE7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQzs4R0F6QlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUxDNUIzQyxndUJBNEJBLDJDRFRJLFlBQVkseVNBQ1osbUJBQW1CLGdMQUNuQixhQUFhLHVHQUNiLFdBQVcsNEdBQ1gsZ0JBQWdCOzsyRkFLUCw4QkFBOEI7a0JBYjFDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGdCQUFnQjtxQkFDakIsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBSXhDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlLLGNBQWM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUlkTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWlucHV0LWJveC1oZWxwLWlubGluZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5SGVscElubGluZU1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUlkTW9kdWxlLFxuICAgIFNreVBvcG92ZXJNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1ib3gtaGVscC1pbmxpbmUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SW5wdXRCb3hIZWxwSW5saW5lQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHBvcG92ZXJDb250ZW50KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3BvcG92ZXJDb250ZW50O1xuICB9XG5cbiAgcHVibGljIHNldCBwb3BvdmVyQ29udGVudCh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfcG9wb3ZlckNvbnRlbnQgPSB2YWx1ZTtcbiAgICB0aGlzLnBvcG92ZXJDb250ZW50VGVtcGxhdGUgPVxuICAgICAgdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBvcG92ZXJPcGVuOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcG9wb3ZlckNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgI19wb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVBvcG92ZXJPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gb3BlbjtcbiAgfVxufVxuIiwiPHNreS1oZWxwLWlubGluZVxuICBbYXJpYUNvbnRyb2xzXT1cInBvcG92ZXJJZC5pZFwiXG4gIFthcmlhRXhwYW5kZWRdPVwicG9wb3Zlck9wZW5cIlxuICBbYXJpYUxhYmVsXT1cIlxuICAgIGxhYmVsVGV4dFxuICAgICAgPyAoJ3NreXV4X2lucHV0X2JveF9oZWxwX2lubGluZV9hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbGFiZWxUZXh0KVxuICAgICAgOiB1bmRlZmluZWRcbiAgXCJcbiAgW3NreVBvcG92ZXJdPVwiaGVscFBvcG92ZXJcIlxuPlxuPC9za3ktaGVscC1pbmxpbmU+XG5cbjxza3ktcG9wb3ZlclxuICBza3lJZFxuICBbcG9wb3ZlclRpdGxlXT1cInBvcG92ZXJUaXRsZVwiXG4gIChwb3BvdmVyQ2xvc2VkKT1cInRvZ2dsZVBvcG92ZXJPcGVuKGZhbHNlKVwiXG4gIChwb3BvdmVyT3BlbmVkKT1cInRvZ2dsZVBvcG92ZXJPcGVuKHRydWUpXCJcbiAgI2hlbHBQb3BvdmVyXG4gICNwb3BvdmVySWQ9XCJza3lJZFwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb3BvdmVyQ29udGVudFRlbXBsYXRlOyBlbHNlIHBvcG92ZXJDb250ZW50VGV4dFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3BvdmVyQ29udGVudFRlbXBsYXRlXCIgLz5cbiAgPC9uZy1jb250YWluZXI+XG48L3NreS1wb3BvdmVyPlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXJDb250ZW50VGV4dD5cbiAge3sgcG9wb3ZlckNvbnRlbnQgfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyInputBoxHintTextPipe {
|
|
7
|
+
transform(hintText, hostHintText) {
|
|
8
|
+
if (hintText && hostHintText) {
|
|
9
|
+
return `${hostHintText} ${hintText}`;
|
|
10
|
+
}
|
|
11
|
+
return hintText || hostHintText;
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHintTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHintTextPipe, isStandalone: true, name: "skyInputBoxHintText" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHintTextPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
standalone: true,
|
|
20
|
+
name: 'skyInputBoxHintText',
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhpbnQtdGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhpbnQtdGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsU0FBUyxDQUNkLFFBQWlCLEVBQ2pCLFlBQXFCO1FBRXJCLElBQUksUUFBUSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzdCLE9BQU8sR0FBRyxZQUFZLElBQUksUUFBUSxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUVELE9BQU8sUUFBUSxJQUFJLFlBQVksQ0FBQztJQUNsQyxDQUFDOzhHQVZVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUscUJBQXFCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc2t5SW5wdXRCb3hIaW50VGV4dCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUlucHV0Qm94SGludFRleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgaGludFRleHQ/OiBzdHJpbmcsXG4gICAgaG9zdEhpbnRUZXh0Pzogc3RyaW5nLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChoaW50VGV4dCAmJiBob3N0SGludFRleHQpIHtcbiAgICAgIHJldHVybiBgJHtob3N0SGludFRleHR9ICR7aGludFRleHR9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gaGludFRleHQgfHwgaG9zdEhpbnRUZXh0O1xuICB9XG59XG4iXX0=
|
|
@@ -25,10 +25,22 @@ export class SkyInputBoxHostService {
|
|
|
25
25
|
}
|
|
26
26
|
this.#host.populate(args);
|
|
27
27
|
}
|
|
28
|
+
setHintText(hintText) {
|
|
29
|
+
if (!this.#host) {
|
|
30
|
+
throw new Error('Cannot set hint text on the input box because `SkyInputBoxHostService` has not yet been initialized.');
|
|
31
|
+
}
|
|
32
|
+
this.#host.setHostHintText(hintText);
|
|
33
|
+
}
|
|
34
|
+
setHintTextHidden(hide) {
|
|
35
|
+
if (!this.#host) {
|
|
36
|
+
throw new Error('Cannot hide hint text on the input box because `SkyInputBoxHostService` has not yet been initialized.');
|
|
37
|
+
}
|
|
38
|
+
this.#host.setHintTextHidden(hide);
|
|
39
|
+
}
|
|
28
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
41
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHostService }); }
|
|
30
42
|
}
|
|
31
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyInputBoxHostService, decorators: [{
|
|
32
44
|
type: Injectable
|
|
33
45
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhvc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1ob3N0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLEtBQUssQ0FBbUM7SUFFeEMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQTZDO0lBRXRELElBQUksQ0FBQyxJQUEwQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQTZCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYixzTEFBc0wsQ0FDdkwsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQTRCO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYixzR0FBc0csQ0FDdkcsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBYTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUdBQXVHLENBQ3hHLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQWxEVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyB9IGZyb20gJy4vaW5wdXQtYm94LXBvcHVsYXRlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWJveC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5SW5wdXRCb3hIb3N0U2VydmljZSB7XG4gICNob3N0OiBTa3lJbnB1dEJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZ2V0IGNvbnRyb2xJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNob3N0Py5jb250cm9sSWQgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNob3N0Py5sYWJlbFRleHQgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNhcmlhRGVzY3JpYmVkQnk7XG4gIH1cblxuICAjYXJpYURlc2NyaWJlZEJ5OiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGluaXQoaG9zdDogU2t5SW5wdXRCb3hDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0ID0gaG9zdDtcbiAgICB0aGlzLiNhcmlhRGVzY3JpYmVkQnkgPSBob3N0LmFyaWFEZXNjcmliZWRCeS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3B1bGF0ZShhcmdzOiBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jaG9zdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ2Fubm90IHBvcHVsYXRlIHRoZSBpbnB1dCBib3ggYmVjYXVzZSBgU2t5SW5wdXRCb3hIb3N0U2VydmljZWAgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC4gVHJ5IHJ1bm5pbmcgdGhlIGBwb3B1bGF0ZWAgbWV0aG9kIHdpdGhpbiBhbiBBbmd1bGFyIGxpZmVjeWNsZSBob29rLCBzdWNoIGFzIGBuZ09uSW5pdGAuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jaG9zdC5wb3B1bGF0ZShhcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIaW50VGV4dChoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNob3N0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3Qgc2V0IGhpbnQgdGV4dCBvbiB0aGUgaW5wdXQgYm94IGJlY2F1c2UgYFNreUlucHV0Qm94SG9zdFNlcnZpY2VgIGhhcyBub3QgeWV0IGJlZW4gaW5pdGlhbGl6ZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jaG9zdC5zZXRIb3N0SGludFRleHQoaGludFRleHQpO1xuICB9XG5cbiAgcHVibGljIHNldEhpbnRUZXh0SGlkZGVuKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI2hvc3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBoaWRlIGhpbnQgdGV4dCBvbiB0aGUgaW5wdXQgYm94IGJlY2F1c2UgYFNreUlucHV0Qm94SG9zdFNlcnZpY2VgIGhhcyBub3QgeWV0IGJlZW4gaW5pdGlhbGl6ZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jaG9zdC5zZXRIaW50VGV4dEhpZGRlbihoaWRlKTtcbiAgfVxufVxuIl19
|