@rivet-health/design-system 40.19.5 → 40.19.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/navigation/editable-heading/editable-heading.component.mjs +3 -3
- package/esm2020/lib/table/simple-table/simple-table.component.mjs +3 -3
- package/esm2020/lib/table/table/table/table.component.mjs +3 -3
- package/esm2020/lib/visualization/data-table/data-table.component.mjs +10 -4
- package/fesm2015/rivet-health-design-system.mjs +14 -8
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +14 -8
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/visualization/data-table/data-table.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -209,10 +209,10 @@ export class EditableHeadingComponent {
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
EditableHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditableHeadingComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
-
EditableHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditableHeadingComponent, selector: "riv-editable-heading", inputs: { title: "title", description: "description", titleMaxLength: "titleMaxLength", descriptionMaxLength: "descriptionMaxLength", disabled: "disabled" }, outputs: { titleChange: "titleChange", descriptionChange: "descriptionChange" }, host: { listeners: { "document:mousedown": "onDocumentMouseDown($event.target)" }, properties: { "class.editing": "this.isEditing" } }, viewQueries: [{ propertyName: "titleInputRef", first: true, predicate: ["titleInput"], descendants: true, read: ElementRef }, { propertyName: "descriptionInputRef", first: true, predicate: ["descriptionInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"leading\">\n <ng-container [ngSwitch]=\"mode\">\n <!-- View mode -->\n <ng-container *ngSwitchDefault>\n <button\n type=\"button\"\n class=\"title\"\n [class.has-description]=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n aria-label=\"
|
|
212
|
+
EditableHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditableHeadingComponent, selector: "riv-editable-heading", inputs: { title: "title", description: "description", titleMaxLength: "titleMaxLength", descriptionMaxLength: "descriptionMaxLength", disabled: "disabled" }, outputs: { titleChange: "titleChange", descriptionChange: "descriptionChange" }, host: { listeners: { "document:mousedown": "onDocumentMouseDown($event.target)" }, properties: { "class.editing": "this.isEditing" } }, viewQueries: [{ propertyName: "titleInputRef", first: true, predicate: ["titleInput"], descendants: true, read: ElementRef }, { propertyName: "descriptionInputRef", first: true, predicate: ["descriptionInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"leading\">\n <ng-container [ngSwitch]=\"mode\">\n <!-- View mode -->\n <ng-container *ngSwitchDefault>\n <button\n type=\"button\"\n class=\"title\"\n [class.has-description]=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n [attr.aria-label]=\"(title || 'Untitled') + ', rename'\"\n (click)=\"startEditingTitle()\"\n >\n {{ title || 'Untitled' }}\n </button>\n\n <div class=\"divider\"></div>\n\n <button\n *ngIf=\"description; else addDescription\"\n type=\"button\"\n class=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n [attr.aria-label]=\"description + ', edit description'\"\n (click)=\"startEditingDescription()\"\n >\n {{ description }}\n </button>\n\n <ng-template #addDescription>\n <div class=\"add-description-wrap\" *ngIf=\"!disabled\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'Plus'\"\n [iconPosition]=\"'first'\"\n type=\"button\"\n (click)=\"startEditingDescription()\"\n >\n Add description\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'editingTitle'\">\n <riv-text-field\n #titleInput\n class=\"title-input\"\n [value]=\"draftTitle\"\n [maxLength]=\"titleMaxLength\"\n [autoFocus]=\"true\"\n (valueChange)=\"draftTitle = $event\"\n (keydown.enter)=\"commitTitle()\"\n (keydown.escape)=\"cancel()\"\n ></riv-text-field>\n <button\n rivButton\n type=\"button\"\n class=\"commit\"\n [variant]=\"'primary'\"\n [icon]=\"'Check'\"\n [disabled]=\"!draftTitle\"\n (click)=\"commitTitle()\"\n aria-label=\"Save title\"\n ></button>\n </ng-container>\n\n <!-- Editing description -->\n <ng-container *ngSwitchCase=\"'editingDescription'\">\n <riv-text-field\n #descriptionInput\n class=\"description-input\"\n placeholder=\"Add a description\"\n [value]=\"draftDescription\"\n [maxLength]=\"descriptionMaxLength\"\n [autoFocus]=\"true\"\n (valueChange)=\"draftDescription = $event\"\n (keydown.enter)=\"commitDescription()\"\n (keydown.escape)=\"cancel()\"\n ></riv-text-field>\n <button\n rivButton\n type=\"button\"\n class=\"commit\"\n [variant]=\"'primary'\"\n [icon]=\"'Check'\"\n (click)=\"commitDescription()\"\n aria-label=\"Save description\"\n ></button>\n </ng-container>\n </ng-container>\n</div>\n\n<div class=\"actions\" *ngIf=\"!isEditing\">\n <ng-content select=\"[actions]\"></ng-content>\n</div>\n", styles: [":host{display:flex;align-items:stretch;gap:var(--size-large);min-height:calc(var(--base-grid-size) * 8);font:var(--body-medium)}.leading{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--size-small)}.title,.description{padding:0;border:none;background:none;text-align:left;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title:disabled,.description:disabled{cursor:default}.title{font:var(--stat-xsmall);line-height:calc(var(--base-grid-size) * 4.5);color:var(--type-light-high-contrast);max-width:100%}.title.has-description{width:-moz-fit-content;width:fit-content;max-width:50%;flex-shrink:0}.description{font:var(--input-small);line-height:calc(var(--base-grid-size) * 3.5);color:var(--type-light-low-contrast);flex:1 1 auto}.divider{align-self:stretch;border-right:var(--border-width) solid var(--border-light);margin:0 var(--base-grid-size) 0 0;flex-shrink:0}.add-description-wrap{flex-shrink:0}.title-input,.description-input{flex:1 1 auto;min-width:0}.commit{flex-shrink:0}.actions{display:flex;align-items:center;gap:var(--size-small);flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.TextFieldComponent, selector: "riv-text-field", inputs: ["disabled", "readonly", "placeholder", "casing", "type", "size", "autoFocus", "name", "minLength", "maxLength", "value"], outputs: ["valueChange", "blur"] }, { kind: "component", type: i4.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
213
213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditableHeadingComponent, decorators: [{
|
|
214
214
|
type: Component,
|
|
215
|
-
args: [{ selector: 'riv-editable-heading', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"leading\">\n <ng-container [ngSwitch]=\"mode\">\n <!-- View mode -->\n <ng-container *ngSwitchDefault>\n <button\n type=\"button\"\n class=\"title\"\n [class.has-description]=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n aria-label=\"
|
|
215
|
+
args: [{ selector: 'riv-editable-heading', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"leading\">\n <ng-container [ngSwitch]=\"mode\">\n <!-- View mode -->\n <ng-container *ngSwitchDefault>\n <button\n type=\"button\"\n class=\"title\"\n [class.has-description]=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n [attr.aria-label]=\"(title || 'Untitled') + ', rename'\"\n (click)=\"startEditingTitle()\"\n >\n {{ title || 'Untitled' }}\n </button>\n\n <div class=\"divider\"></div>\n\n <button\n *ngIf=\"description; else addDescription\"\n type=\"button\"\n class=\"description\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n rivTruncate\n [attr.aria-label]=\"description + ', edit description'\"\n (click)=\"startEditingDescription()\"\n >\n {{ description }}\n </button>\n\n <ng-template #addDescription>\n <div class=\"add-description-wrap\" *ngIf=\"!disabled\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'Plus'\"\n [iconPosition]=\"'first'\"\n type=\"button\"\n (click)=\"startEditingDescription()\"\n >\n Add description\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'editingTitle'\">\n <riv-text-field\n #titleInput\n class=\"title-input\"\n [value]=\"draftTitle\"\n [maxLength]=\"titleMaxLength\"\n [autoFocus]=\"true\"\n (valueChange)=\"draftTitle = $event\"\n (keydown.enter)=\"commitTitle()\"\n (keydown.escape)=\"cancel()\"\n ></riv-text-field>\n <button\n rivButton\n type=\"button\"\n class=\"commit\"\n [variant]=\"'primary'\"\n [icon]=\"'Check'\"\n [disabled]=\"!draftTitle\"\n (click)=\"commitTitle()\"\n aria-label=\"Save title\"\n ></button>\n </ng-container>\n\n <!-- Editing description -->\n <ng-container *ngSwitchCase=\"'editingDescription'\">\n <riv-text-field\n #descriptionInput\n class=\"description-input\"\n placeholder=\"Add a description\"\n [value]=\"draftDescription\"\n [maxLength]=\"descriptionMaxLength\"\n [autoFocus]=\"true\"\n (valueChange)=\"draftDescription = $event\"\n (keydown.enter)=\"commitDescription()\"\n (keydown.escape)=\"cancel()\"\n ></riv-text-field>\n <button\n rivButton\n type=\"button\"\n class=\"commit\"\n [variant]=\"'primary'\"\n [icon]=\"'Check'\"\n (click)=\"commitDescription()\"\n aria-label=\"Save description\"\n ></button>\n </ng-container>\n </ng-container>\n</div>\n\n<div class=\"actions\" *ngIf=\"!isEditing\">\n <ng-content select=\"[actions]\"></ng-content>\n</div>\n", styles: [":host{display:flex;align-items:stretch;gap:var(--size-large);min-height:calc(var(--base-grid-size) * 8);font:var(--body-medium)}.leading{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--size-small)}.title,.description{padding:0;border:none;background:none;text-align:left;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title:disabled,.description:disabled{cursor:default}.title{font:var(--stat-xsmall);line-height:calc(var(--base-grid-size) * 4.5);color:var(--type-light-high-contrast);max-width:100%}.title.has-description{width:-moz-fit-content;width:fit-content;max-width:50%;flex-shrink:0}.description{font:var(--input-small);line-height:calc(var(--base-grid-size) * 3.5);color:var(--type-light-low-contrast);flex:1 1 auto}.divider{align-self:stretch;border-right:var(--border-width) solid var(--border-light);margin:0 var(--base-grid-size) 0 0;flex-shrink:0}.add-description-wrap{flex-shrink:0}.title-input,.description-input{flex:1 1 auto;min-width:0}.commit{flex-shrink:0}.actions{display:flex;align-items:center;gap:var(--size-small);flex-shrink:0}\n"] }]
|
|
216
216
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
217
217
|
type: Input
|
|
218
218
|
}], description: [{
|
|
@@ -240,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
240
240
|
type: HostListener,
|
|
241
241
|
args: ['document:mousedown', ['$event.target']]
|
|
242
242
|
}] } });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL2VkaXRhYmxlLWhlYWRpbmcvZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL2VkaXRhYmxlLWhlYWRpbmcvZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3REc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLElBQ0ksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxJQUNJLFdBQVcsQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBZUQsSUFDSSxRQUFRLENBQUMsQ0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENB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QUM7UUFDMUUsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztzSEF0S1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IsMmdCQW1ERixVQUFVLGtIQUdKLFVBQVUsNkJDbEluRCxnNkZBcUdBOzRGRHpCYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07aUlBTTNDLEtBQUs7c0JBRFIsS0FBSztnQkFVRixXQUFXO3NCQURkLEtBQUs7Z0JBU04sY0FBYztzQkFEYixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBV04sV0FBVztzQkFEVixNQUFNO2dCQUlQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFNQyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXJDLG1CQUFtQjtzQkFEMUIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYS9DLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlO2dCQWdGbEIsbUJBQW1CO3NCQUQ1QixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGJvcmRlcmxlc3MgaGVhZGluZyB3aXRoIGEgY2xpY2stdG8tZWRpdCB0aXRsZSBhbmQgYW4gb3B0aW9uYWxcbiAqIGNsaWNrLXRvLWVkaXQgZGVzY3JpcHRpb24sIHBsdXMgYSBwcm9qZWN0ZWQgc2xvdCBmb3IgYWN0aW9ucy5cbiAqXG4gKiBMYXlvdXQ6IGBbdGl0bGVdIHwgW2Rlc2NyaXB0aW9uXSAgW2FjdGlvbnNdYFxuICpcbiAqIC0gQ2xpY2sgdGhlIHRpdGxlIHRvIHJlbmFtZTsgY2xpY2sgdGhlIGRlc2NyaXB0aW9uIChvciB0aGUgZ2hvc3RcbiAqICAgXCIrIEFkZCBkZXNjcmlwdGlvblwiIGJ1dHRvbiB3aGVuIGVtcHR5KSB0byBlZGl0IGl0LlxuICogLSBPbmx5IG9uZSBvZiB0aXRsZSBvciBkZXNjcmlwdGlvbiBjYW4gYmUgZWRpdGVkIGF0IGEgdGltZS5cbiAqIC0gV2hpbGUgZWl0aGVyIGlzIGJlaW5nIGVkaXRlZCwgdGhlIGBbYWN0aW9uc11gIHNsb3QgaXMgaGlkZGVuIHNvXG4gKiAgIHByb2plY3RlZCBjb250cm9scyBkb24ndCBjb21wZXRlIHdpdGggdGhlIGVkaXQgYWZmb3JkYW5jZS5cbiAqXG4gKiBDb21taXQgc2VtYW50aWNzOiBgdGl0bGVDaGFuZ2VgIC8gYGRlc2NyaXB0aW9uQ2hhbmdlYCBmaXJlIHdoZW4gdGhlIHVzZXJcbiAqIGNvbW1pdHMg4oCUIEVudGVyLCBvdXRzaWRlIGNsaWNrLCBvciB0aGUgQ2hlY2sgYnV0dG9uIOKAlCBub3Qgb24gZXZlcnlcbiAqIGtleXN0cm9rZSwgYW5kIGFsd2F5cyBvbiBjb21taXQgKGV2ZW4gd2hlbiB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkKS4gVGhlXG4gKiBcImNvbW1pdFwiIGZyYW1pbmcgb3ZlciBcImNoYW5nZVwiIGlzIGRlbGliZXJhdGU6IGNvbnN1bWVycyB0aGF0IHBlcnNpc3Qgb25cbiAqIGNvbW1pdCAoYW5hbHl0aWNzLCBQQVRDSCkgdHJlYXQgdGhlIGdlc3R1cmUgaXRzZWxmIGFzIHRoZSBldmVudDsgdGhvc2VcbiAqIHRoYXQgb25seSBjYXJlIGFib3V0IGRpZmZzIGNhbiBjb21wYXJlIGBuZXh0ID09PSBjdXJyZW50YCBpbiB0aGUgaGFuZGxlci5cbiAqXG4gKiBFc2NhcGUgY2FuY2VsczogcmV2ZXJ0cyB0aGUgZHJhZnQgYmFjayB0byB0aGUgY3VycmVudCB2YWx1ZSBhbmQgZHJvcHMgb3V0XG4gKiBvZiBlZGl0IG1vZGUgV0lUSE9VVCBlbWl0dGluZyBhIGNoYW5nZS4gT3V0c2lkZS1jbGljayBzdGlsbCBjb21taXRzICh0b1xuICogbWF0Y2ggYHJpdi1kYXRlYCAvIGByaXYtc2VsZWN0YCk7IEVzY2FwZSBpcyB0aGUgZGVsaWJlcmF0ZSBhYmFuZG9uIHBhdGguXG4gKlxuICogVmFsdWUgaGFuZGxpbmcgZm9sbG93cyB0aGUgc2FtZSBjb252ZW50aW9uIGFzIGByaXYtdGV4dC1maWVsZGA6IGBbdGl0bGVdYFxuICogYW5kIGBbZGVzY3JpcHRpb25dYCBhcmUgdHJlYXRlZCBhcyBzdWdnZXN0aW9ucywgbm90IGF1dGhvcml0YXRpdmUgc3RhdGUuXG4gKiBPbiBjb21taXQsIHRoZSBjb21wb25lbnQga2VlcHMgZGlzcGxheWluZyB0aGUgdXNlcidzIGNvbW1pdHRlZCB2YWx1ZSxcbiAqIGFuZCBvbmx5IG92ZXJ3cml0ZXMgaXRzIGludGVybmFsIHN0YXRlIHdoZW4gdGhlIHBhcmVudCBleHBsaWNpdGx5IHNlbmRzXG4gKiBhIGRpZmZlcmVudCB2YWx1ZS4gVGhhdCBsZXRzIHRoZSBjb21wb25lbnQgZGVtbyBvdXQgb2YgdGhlIGJveCAoZS5nLiBpblxuICogU3Rvcnlib29rKSB3aXRob3V0IHJlcXVpcmluZyBhIHJvdW5kIHRyaXAgdGhyb3VnaCB0aGUgcGFyZW50LlxuICpcbiAqIFByb2dyYW1tYXRpYyBlbnRyeSBpbnRvIGVkaXQgbW9kZSBpcyBhdmFpbGFibGUgdmlhIGBzdGFydEVkaXRpbmdUaXRsZSgpYFxuICogYW5kIGBzdGFydEVkaXRpbmdEZXNjcmlwdGlvbigpYCDigJQgb2J0YWluIGEgcmVmZXJlbmNlIHdpdGhcbiAqIGBAVmlld0NoaWxkKEVkaXRhYmxlSGVhZGluZ0NvbXBvbmVudClgLiBVc2UgdGhlc2UgZm9yIHNlY29uZGFyeSBlbnRyeVxuICogcG9pbnRzIGxpa2UgYSBrZWJhYi1tZW51IFwiUmVuYW1lXCIgaXRlbSwgb3IgdG8gYXV0by1vcGVuIHJlbmFtZSBhZnRlclxuICogY3JlYXRpbmcgYSBuZXcgZW50aXR5LlxuICpcbiAqIFRoZSBjb21wb25lbnQgb3ducyBubyBib3JkZXIsIGJhY2tncm91bmQsIG9yIGNhcmQgY2hyb21lIOKAlCBjb25zdW1lcnMgd2hvXG4gKiB3YW50IGEgYm9yZGVyZWQgY29udGFpbmVyIHNob3VsZCB3cmFwIGl0LlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtZWRpdGFibGUtaGVhZGluZ1xuICogICBbdGl0bGVdPVwicmVwb3J0LnRpdGxlXCJcbiAqICAgW2Rlc2NyaXB0aW9uXT1cInJlcG9ydC5kZXNjcmlwdGlvblwiXG4gKiAgICh0aXRsZUNoYW5nZSk9XCJvblRpdGxlQ29tbWl0KCRldmVudClcIlxuICogICAoZGVzY3JpcHRpb25DaGFuZ2UpPVwib25EZXNjcmlwdGlvbkNvbW1pdCgkZXZlbnQpXCJcbiAqID5cbiAqICAgPHJpdi1tZW51IGFjdGlvbnM+XG4gKiAgICAgPG5nLXRlbXBsYXRlICN0cmlnZ2VyPlxuICogICAgICAgPGJ1dHRvbiByaXZCdXR0b24gW2ljb25dPVwiJ01vcmVWZXJ0aWNhbCdcIiBbdmFyaWFudF09XCInZ2hvc3QnXCI+PC9idXR0b24+XG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8YnV0dG9uIHJpdi1tZW51LWl0ZW0+UmVuYW1lPC9idXR0b24+XG4gKiAgICAgPGJ1dHRvbiByaXYtbWVudS1pdGVtPkR1cGxpY2F0ZTwvYnV0dG9uPlxuICogICA8L3Jpdi1tZW51PlxuICogICA8YnV0dG9uIHJpdkJ1dHRvbiBhY3Rpb25zIFt2YXJpYW50XT1cIidwcmltYXJ5J1wiPlNhdmU8L2J1dHRvbj5cbiAqIDwvcml2LWVkaXRhYmxlLWhlYWRpbmc+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWVkaXRhYmxlLWhlYWRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VkaXRhYmxlLWhlYWRpbmcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVIZWFkaW5nQ29tcG9uZW50IHtcbiAgLy8gU2VlIHRoZSBcIlZhbHVlIGhhbmRsaW5nXCIgc2VjdGlvbiBvZiB0aGUgY2xhc3MtbGV2ZWwgZG9jLlxuICBwcm90ZWN0ZWQgX3RpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgc2V0IHRpdGxlKHY6IHN0cmluZykge1xuICAgIGlmICh2ICE9PSB0aGlzLl90aXRsZSkgdGhpcy5fdGl0bGUgPSB2O1xuICB9XG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBzZXQgZGVzY3JpcHRpb24odjogc3RyaW5nKSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX2Rlc2NyaXB0aW9uKSB0aGlzLl9kZXNjcmlwdGlvbiA9IHY7XG4gIH1cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc2NyaXB0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgdGl0bGVNYXhMZW5ndGg6IG51bWJlciA9IDEwMDtcblxuICBASW5wdXQoKVxuICBkZXNjcmlwdGlvbk1heExlbmd0aDogbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRydWUsIHRoZSB0aXRsZSBhbmQgZGVzY3JpcHRpb24gYXJlIG5vdCBjbGlja2FibGUgYW5kIGNhbm5vdCBiZVxuICAgKiBlZGl0ZWQuIEFueSBpbi1wcm9ncmVzcyBlZGl0IGlzIGRyb3BwZWQgd2l0aG91dCBlbWl0dGluZy4gSW1wZXJhdGl2ZVxuICAgKiBgc3RhcnRFZGl0aW5nKmAgY2FsbHMgbm8tb3AuIFVzZWZ1bCBmb3IgY29uc3VtZXJzIHRoYXQgbmVlZCB0byBnYXRlXG4gICAqIGVkaXRpbmcgb24gYSBwZXJtaXNzaW9uIG9yIGEgYnJvYWRlciBcImFjdGlvbnMgZGlzYWJsZWRcIiBzdGF0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XG4gICAgaWYgKHYgJiYgdGhpcy5tb2RlICE9PSAndmlldycpIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB0aXRsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZXNjcmlwdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIGByZWFkOiBFbGVtZW50UmVmYCBnZXRzIHRoZSBob3N0IGVsZW1lbnQgb2YgdGhlIGA8cml2LXRleHQtZmllbGQ+YCwgZnJvbVxuICAvLyB3aGljaCB3ZSBjYW4gcmVhY2ggdGhlIGFjdHVhbCBgPGlucHV0PmAgZm9yIGNhcmV0LWF0LWVuZCBwb3NpdGlvbmluZy5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHRpdGxlSW5wdXRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdkZXNjcmlwdGlvbklucHV0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgZGVzY3JpcHRpb25JbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBtb2RlOiAndmlldycgfCAnZWRpdGluZ1RpdGxlJyB8ICdlZGl0aW5nRGVzY3JpcHRpb24nID0gJ3ZpZXcnO1xuICBwcm90ZWN0ZWQgZHJhZnRUaXRsZTogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCBkcmFmdERlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7fVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZWRpdGluZycpXG4gIGdldCBpc0VkaXRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSAhPT0gJ3ZpZXcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVyIHRpdGxlLWVkaXQgbW9kZSBwcm9ncmFtbWF0aWNhbGx5LiBTYW1lIGJlaGF2aW9yIGFzIGNsaWNraW5nIHRoZVxuICAgKiB0aXRsZSDigJQgcG9wdWxhdGVzIHRoZSBlZGl0IGJ1ZmZlciBmcm9tIHRoZSBjdXJyZW50IHZhbHVlLCBmb2N1c2VzIHRoZVxuICAgKiBpbnB1dCB3aXRoIHRoZSBjYXJldCBhdCB0aGUgZW5kLCBhbmQgaGlkZXMgdGhlIGFjdGlvbnMgc2xvdC4gTm8tb3AgaWZcbiAgICogYWxyZWFkeSBpbiBhbiBlZGl0aW5nIG1vZGUgb3Igd2hlbiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBJbnRlbmRlZCBmb3IgY29uc3VtZXJzIHRoYXQgb2ZmZXIgYSBzZWNvbmRhcnkgZW50cnkgcG9pbnQgdG8gcmVuYW1pbmdcbiAgICogKGUuZy4gYSBrZWJhYiBtZW51IGl0ZW0pLCBvciB0aGF0IHdhbnQgdG8gYXV0by1vcGVuIHJlbmFtZSBhZnRlclxuICAgKiBjcmVhdGluZyBhIG5ldyBlbnRpdHkuIEJpbmQgdmlhIGBAVmlld0NoaWxkKEVkaXRhYmxlSGVhZGluZ0NvbXBvbmVudClgLlxuICAgKi9cbiAgc3RhcnRFZGl0aW5nVGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5tb2RlICE9PSAndmlldycpIHJldHVybjtcbiAgICB0aGlzLmRyYWZ0VGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgIHRoaXMubW9kZSA9ICdlZGl0aW5nVGl0bGUnO1xuICAgIC8vIGBtYXJrRm9yQ2hlY2tgIHNvIGNvbnN1bWVycyBjYW4gY2FsbCB0aGlzIGZyb20gb3V0c2lkZSBBbmd1bGFyJ3Mgem9uZVxuICAgIC8vIChlLmcuIGFuIGFzeW5jIGNhbGxiYWNrKSB3aXRob3V0IGhhdmluZyB0byB0cmlnZ2VyIENEIHRoZW1zZWx2ZXMuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgLy8gRGVmZXIgZm9jdXMgdW50aWwgQW5ndWxhciBoYXMgcmVuZGVyZWQgdGhlIGlucHV0IGludG8gdGhlIERPTS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNFbmQodGhpcy50aXRsZUlucHV0UmVmKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXIgZGVzY3JpcHRpb24tZWRpdCBtb2RlIHByb2dyYW1tYXRpY2FsbHkuIFNhbWUgYmVoYXZpb3IgYXMgY2xpY2tpbmdcbiAgICogdGhlIGRlc2NyaXB0aW9uIChvciB0aGUgXCIrIEFkZCBkZXNjcmlwdGlvblwiIGJ1dHRvbikuIE5vLW9wIGlmIGFscmVhZHlcbiAgICogaW4gYW4gZWRpdGluZyBtb2RlIG9yIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHN0YXJ0RWRpdGluZ0Rlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubW9kZSAhPT0gJ3ZpZXcnKSByZXR1cm47XG4gICAgdGhpcy5kcmFmdERlc2NyaXB0aW9uID0gdGhpcy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLm1vZGUgPSAnZWRpdGluZ0Rlc2NyaXB0aW9uJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNFbmQodGhpcy5kZXNjcmlwdGlvbklucHV0UmVmKSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tbWl0VGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ2VkaXRpbmdUaXRsZScpIHJldHVybjtcbiAgICAvLyBUaXRsZSBjYW5ub3QgYmUgY29tbWl0dGVkIGVtcHR5LiBUaGUgQ2hlY2sgYnV0dG9uIGlzIGRpc2FibGVkIGluIHRoYXRcbiAgICAvLyBzdGF0ZTsgZm9yIEVudGVyIGFuZCBvdXRzaWRlLWNsaWNrIHdlIHJldmVydCB0byB0aGUgY3VycmVudCB0aXRsZSBzb1xuICAgIC8vIHRoZSB1c2VyIGlzIG5ldmVyIHN0dWNrIGluIGVkaXQgbW9kZSB3aXRoIGEgcmVqZWN0ZWQgdmFsdWUuXG4gICAgaWYgKCF0aGlzLmRyYWZ0VGl0bGUpIHtcbiAgICAgIHRoaXMubW9kZSA9ICd2aWV3JztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmRyYWZ0VGl0bGU7XG4gICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7XG4gICAgdGhpcy50aXRsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb21taXREZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlICE9PSAnZWRpdGluZ0Rlc2NyaXB0aW9uJykgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kcmFmdERlc2NyaXB0aW9uO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5tb2RlID0gJ3ZpZXcnO1xuICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQWJhbmRvbiB0aGUgY3VycmVudCBlZGl0IGFuZCByZXR1cm4gdG8gdmlldyBtb2RlLiBObyBjaGFuZ2UgaXMgZW1pdHRlZC5cbiAgICogV2lyZWQgdG8gdGhlIEVzY2FwZSBrZXkgb24gYm90aCBlZGl0IGlucHV0czsgYWxzbyBjYWxsZWQgaW50ZXJuYWxseVxuICAgKiB3aGVuIGBkaXNhYmxlZGAgZmxpcHMgdG8gdHJ1ZSBtaWQtZWRpdC5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5jZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3ZpZXcnKSByZXR1cm47XG4gICAgdGhpcy5kcmFmdFRpdGxlID0gdGhpcy5fdGl0bGU7XG4gICAgdGhpcy5kcmFmdERlc2NyaXB0aW9uID0gdGhpcy5fZGVzY3JpcHRpb247XG4gICAgdGhpcy5tb2RlID0gJ3ZpZXcnO1xuICB9XG5cbiAgLy8gTGlzdGVucyBvbiBgbW91c2Vkb3duYCAobm90IGBjbGlja2ApIHNvIHRoZSBjaGVjayBydW5zIGJlZm9yZSBBbmd1bGFyXG4gIC8vIHJlLXJlbmRlcnMgdGhlIHRyaWdnZXIgZWxlbWVudCBvdXQgb2YgdGhlIERPTSDigJQgb3RoZXJ3aXNlXG4gIC8vIGBob3N0LmNvbnRhaW5zKHRhcmdldClgIHJldHVybnMgZmFsc2UgZm9yIGEgY2xpY2sgdGhhdCBsYW5kZWQgb24gdGhlXG4gIC8vIG5vdy1yZW1vdmVkIGAudGl0bGVgIC8gYC5kZXNjcmlwdGlvbmAgZWxlbWVudC4gU2FtZSBwYXR0ZXJuIGFzXG4gIC8vIGByaXYtZGF0ZWAuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwcm90ZWN0ZWQgb25Eb2N1bWVudE1vdXNlRG93bih0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICd2aWV3JyB8fCAhKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdGluZ1RpdGxlJykge1xuICAgICAgdGhpcy5jb21taXRUaXRsZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnZWRpdGluZ0Rlc2NyaXB0aW9uJykge1xuICAgICAgdGhpcy5jb21taXREZXNjcmlwdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uIGNhcmV0IGF0IGVuZCAocmF0aGVyIHRoYW4gc2VsZWN0aW5nIGFsbCkgc28gdGhlIHVzZXIgY2FuIGNvbnRpbnVlXG4gIC8vIHR5cGluZyB3aGVyZSB0aGUgcHJldmlvdXMgdmFsdWUgbGVmdCBvZmYuIGByaXYtdGV4dC1maWVsZGAgaGFuZGxlcyB0aGVcbiAgLy8gZm9jdXMgaXRzZWxmIHZpYSBgW2F1dG9Gb2N1c11gOyB3ZSBqdXN0IGZpeCB1cCB0aGUgc2VsZWN0aW9uIHJhbmdlIG9uIHRoZVxuICAvLyBkZXNjZW5kYW50IGA8aW5wdXQ+YC5cbiAgcHJpdmF0ZSBmb2N1c0VuZChyZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gcmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTElucHV0RWxlbWVudD4oJ2lucHV0Jyk7XG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xuICAgIGNvbnN0IGxlbiA9IGlucHV0LnZhbHVlLmxlbmd0aDtcbiAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShsZW4sIGxlbik7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsZWFkaW5nXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1vZGVcIj5cbiAgICA8IS0tIFZpZXcgbW9kZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInRpdGxlXCJcbiAgICAgICAgW2NsYXNzLmhhcy1kZXNjcmlwdGlvbl09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgcml2VHJ1bmNhdGVcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlbmFtZVwiXG4gICAgICAgIChjbGljayk9XCJzdGFydEVkaXRpbmdUaXRsZSgpXCJcbiAgICAgID5cbiAgICAgICAge3sgdGl0bGUgfHwgJ1VudGl0bGVkJyB9fVxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdGlvbjsgZWxzZSBhZGREZXNjcmlwdGlvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICByaXZUcnVuY2F0ZVxuICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdCBkZXNjcmlwdGlvblwiXG4gICAgICAgIChjbGljayk9XCJzdGFydEVkaXRpbmdEZXNjcmlwdGlvbigpXCJcbiAgICAgID5cbiAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2FkZERlc2NyaXB0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWRlc2NyaXB0aW9uLXdyYXBcIiAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIneHNtYWxsJ1wiXG4gICAgICAgICAgICBbaWNvbl09XCInUGx1cydcIlxuICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCInZmlyc3QnXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0RWRpdGluZ0Rlc2NyaXB0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFkZCBkZXNjcmlwdGlvblxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZWRpdGluZ1RpdGxlJ1wiPlxuICAgICAgPHJpdi10ZXh0LWZpZWxkXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwidGl0bGUtaW5wdXRcIlxuICAgICAgICBbdmFsdWVdPVwiZHJhZnRUaXRsZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwidGl0bGVNYXhMZW5ndGhcIlxuICAgICAgICBbYXV0b0ZvY3VzXT1cInRydWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZHJhZnRUaXRsZSA9ICRldmVudFwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImNvbW1pdFRpdGxlKClcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2FuY2VsKClcIlxuICAgICAgPjwvcml2LXRleHQtZmllbGQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHJpdkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjb21taXRcIlxuICAgICAgICBbdmFyaWFudF09XCIncHJpbWFyeSdcIlxuICAgICAgICBbaWNvbl09XCInQ2hlY2snXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFkcmFmdFRpdGxlXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbW1pdFRpdGxlKClcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiU2F2ZSB0aXRsZVwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEVkaXRpbmcgZGVzY3JpcHRpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2VkaXRpbmdEZXNjcmlwdGlvbidcIj5cbiAgICAgIDxyaXYtdGV4dC1maWVsZFxuICAgICAgICAjZGVzY3JpcHRpb25JbnB1dFxuICAgICAgICBjbGFzcz1cImRlc2NyaXB0aW9uLWlucHV0XCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgYSBkZXNjcmlwdGlvblwiXG4gICAgICAgIFt2YWx1ZV09XCJkcmFmdERlc2NyaXB0aW9uXCJcbiAgICAgICAgW21heExlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXG4gICAgICAgIFthdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJkcmFmdERlc2NyaXB0aW9uID0gJGV2ZW50XCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY29tbWl0RGVzY3JpcHRpb24oKVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjYW5jZWwoKVwiXG4gICAgICA+PC9yaXYtdGV4dC1maWVsZD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgcml2QnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImNvbW1pdFwiXG4gICAgICAgIFt2YXJpYW50XT1cIidwcmltYXJ5J1wiXG4gICAgICAgIFtpY29uXT1cIidDaGVjaydcIlxuICAgICAgICAoY2xpY2spPVwiY29tbWl0RGVzY3JpcHRpb24oKVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJTYXZlIGRlc2NyaXB0aW9uXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImFjdGlvbnNcIiAqbmdJZj1cIiFpc0VkaXRpbmdcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL2VkaXRhYmxlLWhlYWRpbmcvZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL2VkaXRhYmxlLWhlYWRpbmcvZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3REc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLElBQ0ksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxJQUNJLFdBQVcsQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBZUQsSUFDSSxRQUFRLENBQUMsQ0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENB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QUM7UUFDMUUsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztzSEF0S1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IsMmdCQW1ERixVQUFVLGtIQUdKLFVBQVUsNkJDbEluRCw0OUZBcUdBOzRGRHpCYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07aUlBTTNDLEtBQUs7c0JBRFIsS0FBSztnQkFVRixXQUFXO3NCQURkLEtBQUs7Z0JBU04sY0FBYztzQkFEYixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBV04sV0FBVztzQkFEVixNQUFNO2dCQUlQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFNQyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXJDLG1CQUFtQjtzQkFEMUIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYS9DLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlO2dCQWdGbEIsbUJBQW1CO3NCQUQ1QixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGJvcmRlcmxlc3MgaGVhZGluZyB3aXRoIGEgY2xpY2stdG8tZWRpdCB0aXRsZSBhbmQgYW4gb3B0aW9uYWxcbiAqIGNsaWNrLXRvLWVkaXQgZGVzY3JpcHRpb24sIHBsdXMgYSBwcm9qZWN0ZWQgc2xvdCBmb3IgYWN0aW9ucy5cbiAqXG4gKiBMYXlvdXQ6IGBbdGl0bGVdIHwgW2Rlc2NyaXB0aW9uXSAgW2FjdGlvbnNdYFxuICpcbiAqIC0gQ2xpY2sgdGhlIHRpdGxlIHRvIHJlbmFtZTsgY2xpY2sgdGhlIGRlc2NyaXB0aW9uIChvciB0aGUgZ2hvc3RcbiAqICAgXCIrIEFkZCBkZXNjcmlwdGlvblwiIGJ1dHRvbiB3aGVuIGVtcHR5KSB0byBlZGl0IGl0LlxuICogLSBPbmx5IG9uZSBvZiB0aXRsZSBvciBkZXNjcmlwdGlvbiBjYW4gYmUgZWRpdGVkIGF0IGEgdGltZS5cbiAqIC0gV2hpbGUgZWl0aGVyIGlzIGJlaW5nIGVkaXRlZCwgdGhlIGBbYWN0aW9uc11gIHNsb3QgaXMgaGlkZGVuIHNvXG4gKiAgIHByb2plY3RlZCBjb250cm9scyBkb24ndCBjb21wZXRlIHdpdGggdGhlIGVkaXQgYWZmb3JkYW5jZS5cbiAqXG4gKiBDb21taXQgc2VtYW50aWNzOiBgdGl0bGVDaGFuZ2VgIC8gYGRlc2NyaXB0aW9uQ2hhbmdlYCBmaXJlIHdoZW4gdGhlIHVzZXJcbiAqIGNvbW1pdHMg4oCUIEVudGVyLCBvdXRzaWRlIGNsaWNrLCBvciB0aGUgQ2hlY2sgYnV0dG9uIOKAlCBub3Qgb24gZXZlcnlcbiAqIGtleXN0cm9rZSwgYW5kIGFsd2F5cyBvbiBjb21taXQgKGV2ZW4gd2hlbiB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkKS4gVGhlXG4gKiBcImNvbW1pdFwiIGZyYW1pbmcgb3ZlciBcImNoYW5nZVwiIGlzIGRlbGliZXJhdGU6IGNvbnN1bWVycyB0aGF0IHBlcnNpc3Qgb25cbiAqIGNvbW1pdCAoYW5hbHl0aWNzLCBQQVRDSCkgdHJlYXQgdGhlIGdlc3R1cmUgaXRzZWxmIGFzIHRoZSBldmVudDsgdGhvc2VcbiAqIHRoYXQgb25seSBjYXJlIGFib3V0IGRpZmZzIGNhbiBjb21wYXJlIGBuZXh0ID09PSBjdXJyZW50YCBpbiB0aGUgaGFuZGxlci5cbiAqXG4gKiBFc2NhcGUgY2FuY2VsczogcmV2ZXJ0cyB0aGUgZHJhZnQgYmFjayB0byB0aGUgY3VycmVudCB2YWx1ZSBhbmQgZHJvcHMgb3V0XG4gKiBvZiBlZGl0IG1vZGUgV0lUSE9VVCBlbWl0dGluZyBhIGNoYW5nZS4gT3V0c2lkZS1jbGljayBzdGlsbCBjb21taXRzICh0b1xuICogbWF0Y2ggYHJpdi1kYXRlYCAvIGByaXYtc2VsZWN0YCk7IEVzY2FwZSBpcyB0aGUgZGVsaWJlcmF0ZSBhYmFuZG9uIHBhdGguXG4gKlxuICogVmFsdWUgaGFuZGxpbmcgZm9sbG93cyB0aGUgc2FtZSBjb252ZW50aW9uIGFzIGByaXYtdGV4dC1maWVsZGA6IGBbdGl0bGVdYFxuICogYW5kIGBbZGVzY3JpcHRpb25dYCBhcmUgdHJlYXRlZCBhcyBzdWdnZXN0aW9ucywgbm90IGF1dGhvcml0YXRpdmUgc3RhdGUuXG4gKiBPbiBjb21taXQsIHRoZSBjb21wb25lbnQga2VlcHMgZGlzcGxheWluZyB0aGUgdXNlcidzIGNvbW1pdHRlZCB2YWx1ZSxcbiAqIGFuZCBvbmx5IG92ZXJ3cml0ZXMgaXRzIGludGVybmFsIHN0YXRlIHdoZW4gdGhlIHBhcmVudCBleHBsaWNpdGx5IHNlbmRzXG4gKiBhIGRpZmZlcmVudCB2YWx1ZS4gVGhhdCBsZXRzIHRoZSBjb21wb25lbnQgZGVtbyBvdXQgb2YgdGhlIGJveCAoZS5nLiBpblxuICogU3Rvcnlib29rKSB3aXRob3V0IHJlcXVpcmluZyBhIHJvdW5kIHRyaXAgdGhyb3VnaCB0aGUgcGFyZW50LlxuICpcbiAqIFByb2dyYW1tYXRpYyBlbnRyeSBpbnRvIGVkaXQgbW9kZSBpcyBhdmFpbGFibGUgdmlhIGBzdGFydEVkaXRpbmdUaXRsZSgpYFxuICogYW5kIGBzdGFydEVkaXRpbmdEZXNjcmlwdGlvbigpYCDigJQgb2J0YWluIGEgcmVmZXJlbmNlIHdpdGhcbiAqIGBAVmlld0NoaWxkKEVkaXRhYmxlSGVhZGluZ0NvbXBvbmVudClgLiBVc2UgdGhlc2UgZm9yIHNlY29uZGFyeSBlbnRyeVxuICogcG9pbnRzIGxpa2UgYSBrZWJhYi1tZW51IFwiUmVuYW1lXCIgaXRlbSwgb3IgdG8gYXV0by1vcGVuIHJlbmFtZSBhZnRlclxuICogY3JlYXRpbmcgYSBuZXcgZW50aXR5LlxuICpcbiAqIFRoZSBjb21wb25lbnQgb3ducyBubyBib3JkZXIsIGJhY2tncm91bmQsIG9yIGNhcmQgY2hyb21lIOKAlCBjb25zdW1lcnMgd2hvXG4gKiB3YW50IGEgYm9yZGVyZWQgY29udGFpbmVyIHNob3VsZCB3cmFwIGl0LlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtZWRpdGFibGUtaGVhZGluZ1xuICogICBbdGl0bGVdPVwicmVwb3J0LnRpdGxlXCJcbiAqICAgW2Rlc2NyaXB0aW9uXT1cInJlcG9ydC5kZXNjcmlwdGlvblwiXG4gKiAgICh0aXRsZUNoYW5nZSk9XCJvblRpdGxlQ29tbWl0KCRldmVudClcIlxuICogICAoZGVzY3JpcHRpb25DaGFuZ2UpPVwib25EZXNjcmlwdGlvbkNvbW1pdCgkZXZlbnQpXCJcbiAqID5cbiAqICAgPHJpdi1tZW51IGFjdGlvbnM+XG4gKiAgICAgPG5nLXRlbXBsYXRlICN0cmlnZ2VyPlxuICogICAgICAgPGJ1dHRvbiByaXZCdXR0b24gW2ljb25dPVwiJ01vcmVWZXJ0aWNhbCdcIiBbdmFyaWFudF09XCInZ2hvc3QnXCI+PC9idXR0b24+XG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8YnV0dG9uIHJpdi1tZW51LWl0ZW0+UmVuYW1lPC9idXR0b24+XG4gKiAgICAgPGJ1dHRvbiByaXYtbWVudS1pdGVtPkR1cGxpY2F0ZTwvYnV0dG9uPlxuICogICA8L3Jpdi1tZW51PlxuICogICA8YnV0dG9uIHJpdkJ1dHRvbiBhY3Rpb25zIFt2YXJpYW50XT1cIidwcmltYXJ5J1wiPlNhdmU8L2J1dHRvbj5cbiAqIDwvcml2LWVkaXRhYmxlLWhlYWRpbmc+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWVkaXRhYmxlLWhlYWRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdGFibGUtaGVhZGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VkaXRhYmxlLWhlYWRpbmcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVIZWFkaW5nQ29tcG9uZW50IHtcbiAgLy8gU2VlIHRoZSBcIlZhbHVlIGhhbmRsaW5nXCIgc2VjdGlvbiBvZiB0aGUgY2xhc3MtbGV2ZWwgZG9jLlxuICBwcm90ZWN0ZWQgX3RpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgc2V0IHRpdGxlKHY6IHN0cmluZykge1xuICAgIGlmICh2ICE9PSB0aGlzLl90aXRsZSkgdGhpcy5fdGl0bGUgPSB2O1xuICB9XG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBzZXQgZGVzY3JpcHRpb24odjogc3RyaW5nKSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX2Rlc2NyaXB0aW9uKSB0aGlzLl9kZXNjcmlwdGlvbiA9IHY7XG4gIH1cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc2NyaXB0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgdGl0bGVNYXhMZW5ndGg6IG51bWJlciA9IDEwMDtcblxuICBASW5wdXQoKVxuICBkZXNjcmlwdGlvbk1heExlbmd0aDogbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRydWUsIHRoZSB0aXRsZSBhbmQgZGVzY3JpcHRpb24gYXJlIG5vdCBjbGlja2FibGUgYW5kIGNhbm5vdCBiZVxuICAgKiBlZGl0ZWQuIEFueSBpbi1wcm9ncmVzcyBlZGl0IGlzIGRyb3BwZWQgd2l0aG91dCBlbWl0dGluZy4gSW1wZXJhdGl2ZVxuICAgKiBgc3RhcnRFZGl0aW5nKmAgY2FsbHMgbm8tb3AuIFVzZWZ1bCBmb3IgY29uc3VtZXJzIHRoYXQgbmVlZCB0byBnYXRlXG4gICAqIGVkaXRpbmcgb24gYSBwZXJtaXNzaW9uIG9yIGEgYnJvYWRlciBcImFjdGlvbnMgZGlzYWJsZWRcIiBzdGF0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XG4gICAgaWYgKHYgJiYgdGhpcy5tb2RlICE9PSAndmlldycpIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB0aXRsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZXNjcmlwdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIGByZWFkOiBFbGVtZW50UmVmYCBnZXRzIHRoZSBob3N0IGVsZW1lbnQgb2YgdGhlIGA8cml2LXRleHQtZmllbGQ+YCwgZnJvbVxuICAvLyB3aGljaCB3ZSBjYW4gcmVhY2ggdGhlIGFjdHVhbCBgPGlucHV0PmAgZm9yIGNhcmV0LWF0LWVuZCBwb3NpdGlvbmluZy5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHRpdGxlSW5wdXRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdkZXNjcmlwdGlvbklucHV0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgZGVzY3JpcHRpb25JbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBtb2RlOiAndmlldycgfCAnZWRpdGluZ1RpdGxlJyB8ICdlZGl0aW5nRGVzY3JpcHRpb24nID0gJ3ZpZXcnO1xuICBwcm90ZWN0ZWQgZHJhZnRUaXRsZTogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCBkcmFmdERlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7fVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZWRpdGluZycpXG4gIGdldCBpc0VkaXRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSAhPT0gJ3ZpZXcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVyIHRpdGxlLWVkaXQgbW9kZSBwcm9ncmFtbWF0aWNhbGx5LiBTYW1lIGJlaGF2aW9yIGFzIGNsaWNraW5nIHRoZVxuICAgKiB0aXRsZSDigJQgcG9wdWxhdGVzIHRoZSBlZGl0IGJ1ZmZlciBmcm9tIHRoZSBjdXJyZW50IHZhbHVlLCBmb2N1c2VzIHRoZVxuICAgKiBpbnB1dCB3aXRoIHRoZSBjYXJldCBhdCB0aGUgZW5kLCBhbmQgaGlkZXMgdGhlIGFjdGlvbnMgc2xvdC4gTm8tb3AgaWZcbiAgICogYWxyZWFkeSBpbiBhbiBlZGl0aW5nIG1vZGUgb3Igd2hlbiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBJbnRlbmRlZCBmb3IgY29uc3VtZXJzIHRoYXQgb2ZmZXIgYSBzZWNvbmRhcnkgZW50cnkgcG9pbnQgdG8gcmVuYW1pbmdcbiAgICogKGUuZy4gYSBrZWJhYiBtZW51IGl0ZW0pLCBvciB0aGF0IHdhbnQgdG8gYXV0by1vcGVuIHJlbmFtZSBhZnRlclxuICAgKiBjcmVhdGluZyBhIG5ldyBlbnRpdHkuIEJpbmQgdmlhIGBAVmlld0NoaWxkKEVkaXRhYmxlSGVhZGluZ0NvbXBvbmVudClgLlxuICAgKi9cbiAgc3RhcnRFZGl0aW5nVGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5tb2RlICE9PSAndmlldycpIHJldHVybjtcbiAgICB0aGlzLmRyYWZ0VGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgIHRoaXMubW9kZSA9ICdlZGl0aW5nVGl0bGUnO1xuICAgIC8vIGBtYXJrRm9yQ2hlY2tgIHNvIGNvbnN1bWVycyBjYW4gY2FsbCB0aGlzIGZyb20gb3V0c2lkZSBBbmd1bGFyJ3Mgem9uZVxuICAgIC8vIChlLmcuIGFuIGFzeW5jIGNhbGxiYWNrKSB3aXRob3V0IGhhdmluZyB0byB0cmlnZ2VyIENEIHRoZW1zZWx2ZXMuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgLy8gRGVmZXIgZm9jdXMgdW50aWwgQW5ndWxhciBoYXMgcmVuZGVyZWQgdGhlIGlucHV0IGludG8gdGhlIERPTS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNFbmQodGhpcy50aXRsZUlucHV0UmVmKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXIgZGVzY3JpcHRpb24tZWRpdCBtb2RlIHByb2dyYW1tYXRpY2FsbHkuIFNhbWUgYmVoYXZpb3IgYXMgY2xpY2tpbmdcbiAgICogdGhlIGRlc2NyaXB0aW9uIChvciB0aGUgXCIrIEFkZCBkZXNjcmlwdGlvblwiIGJ1dHRvbikuIE5vLW9wIGlmIGFscmVhZHlcbiAgICogaW4gYW4gZWRpdGluZyBtb2RlIG9yIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHN0YXJ0RWRpdGluZ0Rlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubW9kZSAhPT0gJ3ZpZXcnKSByZXR1cm47XG4gICAgdGhpcy5kcmFmdERlc2NyaXB0aW9uID0gdGhpcy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLm1vZGUgPSAnZWRpdGluZ0Rlc2NyaXB0aW9uJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNFbmQodGhpcy5kZXNjcmlwdGlvbklucHV0UmVmKSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tbWl0VGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ2VkaXRpbmdUaXRsZScpIHJldHVybjtcbiAgICAvLyBUaXRsZSBjYW5ub3QgYmUgY29tbWl0dGVkIGVtcHR5LiBUaGUgQ2hlY2sgYnV0dG9uIGlzIGRpc2FibGVkIGluIHRoYXRcbiAgICAvLyBzdGF0ZTsgZm9yIEVudGVyIGFuZCBvdXRzaWRlLWNsaWNrIHdlIHJldmVydCB0byB0aGUgY3VycmVudCB0aXRsZSBzb1xuICAgIC8vIHRoZSB1c2VyIGlzIG5ldmVyIHN0dWNrIGluIGVkaXQgbW9kZSB3aXRoIGEgcmVqZWN0ZWQgdmFsdWUuXG4gICAgaWYgKCF0aGlzLmRyYWZ0VGl0bGUpIHtcbiAgICAgIHRoaXMubW9kZSA9ICd2aWV3JztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmRyYWZ0VGl0bGU7XG4gICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7XG4gICAgdGhpcy50aXRsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb21taXREZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlICE9PSAnZWRpdGluZ0Rlc2NyaXB0aW9uJykgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kcmFmdERlc2NyaXB0aW9uO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5tb2RlID0gJ3ZpZXcnO1xuICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQWJhbmRvbiB0aGUgY3VycmVudCBlZGl0IGFuZCByZXR1cm4gdG8gdmlldyBtb2RlLiBObyBjaGFuZ2UgaXMgZW1pdHRlZC5cbiAgICogV2lyZWQgdG8gdGhlIEVzY2FwZSBrZXkgb24gYm90aCBlZGl0IGlucHV0czsgYWxzbyBjYWxsZWQgaW50ZXJuYWxseVxuICAgKiB3aGVuIGBkaXNhYmxlZGAgZmxpcHMgdG8gdHJ1ZSBtaWQtZWRpdC5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5jZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3ZpZXcnKSByZXR1cm47XG4gICAgdGhpcy5kcmFmdFRpdGxlID0gdGhpcy5fdGl0bGU7XG4gICAgdGhpcy5kcmFmdERlc2NyaXB0aW9uID0gdGhpcy5fZGVzY3JpcHRpb247XG4gICAgdGhpcy5tb2RlID0gJ3ZpZXcnO1xuICB9XG5cbiAgLy8gTGlzdGVucyBvbiBgbW91c2Vkb3duYCAobm90IGBjbGlja2ApIHNvIHRoZSBjaGVjayBydW5zIGJlZm9yZSBBbmd1bGFyXG4gIC8vIHJlLXJlbmRlcnMgdGhlIHRyaWdnZXIgZWxlbWVudCBvdXQgb2YgdGhlIERPTSDigJQgb3RoZXJ3aXNlXG4gIC8vIGBob3N0LmNvbnRhaW5zKHRhcmdldClgIHJldHVybnMgZmFsc2UgZm9yIGEgY2xpY2sgdGhhdCBsYW5kZWQgb24gdGhlXG4gIC8vIG5vdy1yZW1vdmVkIGAudGl0bGVgIC8gYC5kZXNjcmlwdGlvbmAgZWxlbWVudC4gU2FtZSBwYXR0ZXJuIGFzXG4gIC8vIGByaXYtZGF0ZWAuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwcm90ZWN0ZWQgb25Eb2N1bWVudE1vdXNlRG93bih0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICd2aWV3JyB8fCAhKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdGluZ1RpdGxlJykge1xuICAgICAgdGhpcy5jb21taXRUaXRsZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnZWRpdGluZ0Rlc2NyaXB0aW9uJykge1xuICAgICAgdGhpcy5jb21taXREZXNjcmlwdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uIGNhcmV0IGF0IGVuZCAocmF0aGVyIHRoYW4gc2VsZWN0aW5nIGFsbCkgc28gdGhlIHVzZXIgY2FuIGNvbnRpbnVlXG4gIC8vIHR5cGluZyB3aGVyZSB0aGUgcHJldmlvdXMgdmFsdWUgbGVmdCBvZmYuIGByaXYtdGV4dC1maWVsZGAgaGFuZGxlcyB0aGVcbiAgLy8gZm9jdXMgaXRzZWxmIHZpYSBgW2F1dG9Gb2N1c11gOyB3ZSBqdXN0IGZpeCB1cCB0aGUgc2VsZWN0aW9uIHJhbmdlIG9uIHRoZVxuICAvLyBkZXNjZW5kYW50IGA8aW5wdXQ+YC5cbiAgcHJpdmF0ZSBmb2N1c0VuZChyZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gcmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTElucHV0RWxlbWVudD4oJ2lucHV0Jyk7XG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xuICAgIGNvbnN0IGxlbiA9IGlucHV0LnZhbHVlLmxlbmd0aDtcbiAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShsZW4sIGxlbik7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsZWFkaW5nXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1vZGVcIj5cbiAgICA8IS0tIFZpZXcgbW9kZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInRpdGxlXCJcbiAgICAgICAgW2NsYXNzLmhhcy1kZXNjcmlwdGlvbl09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgcml2VHJ1bmNhdGVcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIodGl0bGUgfHwgJ1VudGl0bGVkJykgKyAnLCByZW5hbWUnXCJcbiAgICAgICAgKGNsaWNrKT1cInN0YXJ0RWRpdGluZ1RpdGxlKClcIlxuICAgICAgPlxuICAgICAgICB7eyB0aXRsZSB8fCAnVW50aXRsZWQnIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImRlc2NyaXB0aW9uOyBlbHNlIGFkZERlc2NyaXB0aW9uXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIHJpdlRydW5jYXRlXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb24gKyAnLCBlZGl0IGRlc2NyaXB0aW9uJ1wiXG4gICAgICAgIChjbGljayk9XCJzdGFydEVkaXRpbmdEZXNjcmlwdGlvbigpXCJcbiAgICAgID5cbiAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2FkZERlc2NyaXB0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWRlc2NyaXB0aW9uLXdyYXBcIiAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIneHNtYWxsJ1wiXG4gICAgICAgICAgICBbaWNvbl09XCInUGx1cydcIlxuICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCInZmlyc3QnXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0RWRpdGluZ0Rlc2NyaXB0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFkZCBkZXNjcmlwdGlvblxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZWRpdGluZ1RpdGxlJ1wiPlxuICAgICAgPHJpdi10ZXh0LWZpZWxkXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwidGl0bGUtaW5wdXRcIlxuICAgICAgICBbdmFsdWVdPVwiZHJhZnRUaXRsZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwidGl0bGVNYXhMZW5ndGhcIlxuICAgICAgICBbYXV0b0ZvY3VzXT1cInRydWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZHJhZnRUaXRsZSA9ICRldmVudFwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImNvbW1pdFRpdGxlKClcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2FuY2VsKClcIlxuICAgICAgPjwvcml2LXRleHQtZmllbGQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHJpdkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjb21taXRcIlxuICAgICAgICBbdmFyaWFudF09XCIncHJpbWFyeSdcIlxuICAgICAgICBbaWNvbl09XCInQ2hlY2snXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFkcmFmdFRpdGxlXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbW1pdFRpdGxlKClcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiU2F2ZSB0aXRsZVwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEVkaXRpbmcgZGVzY3JpcHRpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2VkaXRpbmdEZXNjcmlwdGlvbidcIj5cbiAgICAgIDxyaXYtdGV4dC1maWVsZFxuICAgICAgICAjZGVzY3JpcHRpb25JbnB1dFxuICAgICAgICBjbGFzcz1cImRlc2NyaXB0aW9uLWlucHV0XCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgYSBkZXNjcmlwdGlvblwiXG4gICAgICAgIFt2YWx1ZV09XCJkcmFmdERlc2NyaXB0aW9uXCJcbiAgICAgICAgW21heExlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXG4gICAgICAgIFthdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJkcmFmdERlc2NyaXB0aW9uID0gJGV2ZW50XCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY29tbWl0RGVzY3JpcHRpb24oKVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjYW5jZWwoKVwiXG4gICAgICA+PC9yaXYtdGV4dC1maWVsZD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgcml2QnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImNvbW1pdFwiXG4gICAgICAgIFt2YXJpYW50XT1cIidwcmltYXJ5J1wiXG4gICAgICAgIFtpY29uXT1cIidDaGVjaydcIlxuICAgICAgICAoY2xpY2spPVwiY29tbWl0RGVzY3JpcHRpb24oKVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJTYXZlIGRlc2NyaXB0aW9uXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImFjdGlvbnNcIiAqbmdJZj1cIiFpc0VkaXRpbmdcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -86,10 +86,10 @@ export class SimpleTableComponent {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
SimpleTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
SimpleTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SimpleTableComponent, selector: "riv-simple-table", queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "headerCells", predicate: SimpleTableHeaderCellComponent, descendants: true }, { propertyName: "dataCells", predicate: SimpleTableCellComponent, descendants: true }], ngImport: i0, template: "<
|
|
89
|
+
SimpleTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SimpleTableComponent, selector: "riv-simple-table", queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "headerCells", predicate: SimpleTableHeaderCellComponent, descendants: true }, { propertyName: "dataCells", predicate: SimpleTableCellComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n</div>\n<div class=\"container\" tabindex=\"0\">\n <table>\n <ng-content></ng-content>\n </table>\n</div>\n", styles: [":host{display:grid;width:100%;min-height:0}header{border-width:var(--border-width) var(--border-width) 0 var(--border-width);border-style:solid;border-color:var(--border-light);border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium)}header+.container{border-top-left-radius:0;border-top-right-radius:0}.container{border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-medium);overflow:auto}table{border-collapse:separate;width:100%;table-layout:fixed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleTableComponent, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
|
-
args: [{ selector: 'riv-simple-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
92
|
+
args: [{ selector: 'riv-simple-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n</div>\n<div class=\"container\" tabindex=\"0\">\n <table>\n <ng-content></ng-content>\n </table>\n</div>\n", styles: [":host{display:grid;width:100%;min-height:0}header{border-width:var(--border-width) var(--border-width) 0 var(--border-width);border-style:solid;border-color:var(--border-light);border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium)}header+.container{border-top-left-radius:0;border-top-right-radius:0}.container{border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-medium);overflow:auto}table{border-collapse:separate;width:100%;table-layout:fixed}\n"] }]
|
|
93
93
|
}], propDecorators: { headerTemplate: [{
|
|
94
94
|
type: ContentChild,
|
|
95
95
|
args: ['header']
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
100
100
|
type: ContentChildren,
|
|
101
101
|
args: [SimpleTableCellComponent, { descendants: true }]
|
|
102
102
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3RhYmxlL3NpbXBsZS10YWJsZS9zaW1wbGUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvc2ltcGxlLXRhYmxlL3NpbXBsZS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQVF0RixNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV2QyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLFlBQVksR0FBRyxRQUFRLENB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ZCxXQUFXO3NCQURsQixlQUFlO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJOUQsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSaXZUYWJsZSB9IGZyb20gJy4uL3RhYmxlL3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZUNlbGxDb29yZGluYXRlQ2FsY3VsYXRvciB9IGZyb20gJy4vY29vcmRpbmF0ZS1oZWxwZXInO1xuaW1wb3J0IHsgU2ltcGxlVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2ltcGxlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNpbXBsZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJylcbiAgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBAQ29udGVudENoaWxkcmVuKFNpbXBsZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIGhlYWRlckNlbGxzPzogUXVlcnlMaXN0PFNpbXBsZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTaW1wbGVUYWJsZUNlbGxDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBkYXRhQ2VsbHM/OiBRdWVyeUxpc3Q8U2ltcGxlVGFibGVDZWxsQ29tcG9uZW50PjtcblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgdGhpcy5zZXRDZWxsUHJvcGVydGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDZWxsUHJvcGVydGllcygpIHtcbiAgICBjb25zdCB7IGhlYWRlckNlbGxzLCBkYXRhQ2VsbHMgfSA9IHRoaXM7XG4gICAgaWYgKCFoZWFkZXJDZWxscyB8fCAhZGF0YUNlbGxzKSByZXR1cm47XG5cbiAgICBsZXQgcnVubmluZ1dpZHRoVG90YWwgPSAwO1xuICAgIGhlYWRlckNlbGxzLmZvckVhY2goKGhlYWRlckNlbGwsIGkpID0+IHtcbiAgICAgIGNvbnN0IHsgZGF0YVR5cGUgfSA9IGhlYWRlckNlbGw7XG4gICAgICBpZiAoIWRhdGFUeXBlKSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRUeXBlcyA9IFJpdlRhYmxlLkNvbHVtbkRhdGFUeXBlcy5qb2luKCcsICcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEVhY2ggaGVhZGVyIGNlbGwgbXVzdCBkZWZpbmUgYW4gYXBwcm9wcmlhdGUgZGF0YVR5cGUsIG9uZSBvZiAke2FsbG93ZWRUeXBlc31gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdBbGlnbm1lbnQgPSBSaXZUYWJsZS5nZXRDb2x1bW5BbGlnbm1lbnQoZGF0YVR5cGUsIGkgPT09IDApO1xuICAgICAgY29uc3QgbmV3TGVmdFBpbk9mZnNldCA9IHJ1bm5pbmdXaWR0aFRvdGFsO1xuICAgICAgcnVubmluZ1dpZHRoVG90YWwgKz0gaGVhZGVyQ2VsbC53aWR0aDtcblxuICAgICAgY29uc3QgY2hhbmdlZCA9XG4gICAgICAgIGhlYWRlckNlbGwuYWxpZ25tZW50ICE9IG5ld0FsaWdubWVudCB8fFxuICAgICAgICBoZWFkZXJDZWxsLmxlZnRQaW5PZmZzZXQgIT0gbmV3TGVmdFBpbk9mZnNldDtcbiAgICAgIGhlYWRlckNlbGwuYWxpZ25tZW50ID0gbmV3QWxpZ25tZW50O1xuICAgICAgaGVhZGVyQ2VsbC5sZWZ0UGluT2Zmc2V0ID0gbmV3TGVmdFBpbk9mZnNldDtcblxuICAgICAgLy8gT25seSBtYXJrIGZvciBjaGVjayB3aGVuIGNoYW5nZWQgdG8gcHJldmVudCBpbmZpbml0ZSBjeWNsZXNcbiAgICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgICBoZWFkZXJDZWxsLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBjZWxsU3BhbkRhdGEgPSBkYXRhQ2VsbHMubWFwKGRhdGFDZWxsID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkYXRhQ2VsbC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByb3dzcGFuOiBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZSgncm93c3BhbicpIHx8ICcxJywgMTApLFxuICAgICAgICBjb2xzcGFuOiBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZSgnY29sc3BhbicpIHx8ICcxJywgMTApLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIFdoZW4gdGhlcmUgYXJlIG5vIGhlYWRlciBjZWxscywgY2FsY3VsYXRlIHRvdGFsQ29sdW1ucyBmcm9tIHRoZSBmaXJzdCA8dHI+XG4gICAgbGV0IHRvdGFsQ29sdW1ucyA9IGhlYWRlckNlbGxzLmxlbmd0aDtcbiAgICBpZiAodG90YWxDb2x1bW5zID09PSAwICYmIGRhdGFDZWxscy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdFJvdyA9IGRhdGFDZWxscy5maXJzdD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICBpZiAoZmlyc3RSb3cpIHtcbiAgICAgICAgLy8gQ291bnQgdGQgZWxlbWVudHMgaW4gdGhlIGZpcnN0IHJvdyBhbmQgc3VtIHRoZWlyIGNvbHNwYW5zXG4gICAgICAgIGNvbnN0IGNlbGxzSW5GaXJzdFJvdyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgZmlyc3RSb3cucXVlcnlTZWxlY3RvckFsbCgndGRbcml2LXNpbXBsZS10YWJsZS1jZWxsXScpLFxuICAgICAgICApO1xuICAgICAgICB0b3RhbENvbHVtbnMgPSBjZWxsc0luRmlyc3RSb3cucmVkdWNlKChzdW0sIGNlbGwpID0+IHtcbiAgICAgICAgICBjb25zdCBjb2xzcGFuID0gcGFyc2VJbnQoY2VsbC5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAnMScsIDEwKTtcbiAgICAgICAgICByZXR1cm4gc3VtICsgY29sc3BhbjtcbiAgICAgICAgfSwgMCk7XG4gICAgICB9XG4gICAgICAvLyBGYWxsYmFjayB0byAxIGlmIHdlIGNvdWxkbid0IGRldGVybWluZVxuICAgICAgaWYgKHRvdGFsQ29sdW1ucyA9PT0gMCkge1xuICAgICAgICB0b3RhbENvbHVtbnMgPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldENlbGxDb29yZGluYXRlcyA9IGNyZWF0ZUNlbGxDb29yZGluYXRlQ2FsY3VsYXRvcihcbiAgICAgIGNlbGxTcGFuRGF0YSxcbiAgICAgIHRvdGFsQ29sdW1ucyxcbiAgICApO1xuXG4gICAgY29uc3QgbWF4Um93ID0gTWF0aC5tYXgoXG4gICAgICAuLi5kYXRhQ2VsbHMubWFwKChfLCBpKSA9PiBnZXRDZWxsQ29vcmRpbmF0ZXMoaSkuZW5kLnJvdyksXG4gICAgKTtcblxuICAgIGRhdGFDZWxscy5mb3JFYWNoKChkYXRhQ2VsbCwgY2VsbEluZGV4KSA9PiB7XG4gICAgICBjb25zdCBib3VuZHMgPSBnZXRDZWxsQ29vcmRpbmF0ZXMoY2VsbEluZGV4KTtcblxuICAgICAgY29uc3QgaGVhZGVyQ2VsbCA9IGhlYWRlckNlbGxzLmdldChib3VuZHMuc3RhcnQuY29sKTtcbiAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgICBpZiAoaGVhZGVyQ2VsbCkge1xuICAgICAgICBjaGFuZ2VkID1cbiAgICAgICAgICBkYXRhQ2VsbC5hbGlnbm1lbnQgIT0gaGVhZGVyQ2VsbC5hbGlnbm1lbnQgfHxcbiAgICAgICAgICBkYXRhQ2VsbC5waW5uZWQgIT0gaGVhZGVyQ2VsbC5waW5uZWQgfHxcbiAgICAgICAgICBkYXRhQ2VsbC5sZWZ0UGluT2Zmc2V0ICE9IGhlYWRlckNlbGwubGVmdFBpbk9mZnNldDtcblxuICAgICAgICBkYXRhQ2VsbC5hbGlnbm1lbnQgPSBoZWFkZXJDZWxsLmFsaWdubWVudDtcbiAgICAgICAgZGF0YUNlbGwucGlubmVkID0gaGVhZGVyQ2VsbC5waW5uZWQ7XG4gICAgICAgIGRhdGFDZWxsLmxlZnRQaW5PZmZzZXQgPSBoZWFkZXJDZWxsLmxlZnRQaW5PZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0lzTGFzdFJvdyA9IGJvdW5kcy5lbmQucm93ID09PSBtYXhSb3c7XG4gICAgICBjaGFuZ2VkID0gY2hhbmdlZCB8fCBkYXRhQ2VsbC5pc0xhc3RSb3cgIT0gbmV3SXNMYXN0Um93O1xuICAgICAgZGF0YUNlbGwuaXNMYXN0Um93ID0gbmV3SXNMYXN0Um93O1xuXG4gICAgICAvLyBPbmx5IG1hcmsgZm9yIGNoZWNrIHdoZW4gY2hhbmdlZCB0byBwcmV2ZW50IGluZmluaXRlIGN5Y2xlc1xuICAgICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgIGRhdGFDZWxsLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvaGVhZGVyPlxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICA8dGFibGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3RhYmxlL3NpbXBsZS10YWJsZS9zaW1wbGUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvc2ltcGxlLXRhYmxlL3NpbXBsZS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQVF0RixNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV2QyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLFlBQVksR0FBRyxRQUFRLENB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ZCxXQUFXO3NCQURsQixlQUFlO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJOUQsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSaXZUYWJsZSB9IGZyb20gJy4uL3RhYmxlL3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZUNlbGxDb29yZGluYXRlQ2FsY3VsYXRvciB9IGZyb20gJy4vY29vcmRpbmF0ZS1oZWxwZXInO1xuaW1wb3J0IHsgU2ltcGxlVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2ltcGxlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNpbXBsZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJylcbiAgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBAQ29udGVudENoaWxkcmVuKFNpbXBsZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIGhlYWRlckNlbGxzPzogUXVlcnlMaXN0PFNpbXBsZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTaW1wbGVUYWJsZUNlbGxDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBkYXRhQ2VsbHM/OiBRdWVyeUxpc3Q8U2ltcGxlVGFibGVDZWxsQ29tcG9uZW50PjtcblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgdGhpcy5zZXRDZWxsUHJvcGVydGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDZWxsUHJvcGVydGllcygpIHtcbiAgICBjb25zdCB7IGhlYWRlckNlbGxzLCBkYXRhQ2VsbHMgfSA9IHRoaXM7XG4gICAgaWYgKCFoZWFkZXJDZWxscyB8fCAhZGF0YUNlbGxzKSByZXR1cm47XG5cbiAgICBsZXQgcnVubmluZ1dpZHRoVG90YWwgPSAwO1xuICAgIGhlYWRlckNlbGxzLmZvckVhY2goKGhlYWRlckNlbGwsIGkpID0+IHtcbiAgICAgIGNvbnN0IHsgZGF0YVR5cGUgfSA9IGhlYWRlckNlbGw7XG4gICAgICBpZiAoIWRhdGFUeXBlKSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRUeXBlcyA9IFJpdlRhYmxlLkNvbHVtbkRhdGFUeXBlcy5qb2luKCcsICcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEVhY2ggaGVhZGVyIGNlbGwgbXVzdCBkZWZpbmUgYW4gYXBwcm9wcmlhdGUgZGF0YVR5cGUsIG9uZSBvZiAke2FsbG93ZWRUeXBlc31gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdBbGlnbm1lbnQgPSBSaXZUYWJsZS5nZXRDb2x1bW5BbGlnbm1lbnQoZGF0YVR5cGUsIGkgPT09IDApO1xuICAgICAgY29uc3QgbmV3TGVmdFBpbk9mZnNldCA9IHJ1bm5pbmdXaWR0aFRvdGFsO1xuICAgICAgcnVubmluZ1dpZHRoVG90YWwgKz0gaGVhZGVyQ2VsbC53aWR0aDtcblxuICAgICAgY29uc3QgY2hhbmdlZCA9XG4gICAgICAgIGhlYWRlckNlbGwuYWxpZ25tZW50ICE9IG5ld0FsaWdubWVudCB8fFxuICAgICAgICBoZWFkZXJDZWxsLmxlZnRQaW5PZmZzZXQgIT0gbmV3TGVmdFBpbk9mZnNldDtcbiAgICAgIGhlYWRlckNlbGwuYWxpZ25tZW50ID0gbmV3QWxpZ25tZW50O1xuICAgICAgaGVhZGVyQ2VsbC5sZWZ0UGluT2Zmc2V0ID0gbmV3TGVmdFBpbk9mZnNldDtcblxuICAgICAgLy8gT25seSBtYXJrIGZvciBjaGVjayB3aGVuIGNoYW5nZWQgdG8gcHJldmVudCBpbmZpbml0ZSBjeWNsZXNcbiAgICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgICBoZWFkZXJDZWxsLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBjZWxsU3BhbkRhdGEgPSBkYXRhQ2VsbHMubWFwKGRhdGFDZWxsID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkYXRhQ2VsbC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByb3dzcGFuOiBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZSgncm93c3BhbicpIHx8ICcxJywgMTApLFxuICAgICAgICBjb2xzcGFuOiBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZSgnY29sc3BhbicpIHx8ICcxJywgMTApLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIFdoZW4gdGhlcmUgYXJlIG5vIGhlYWRlciBjZWxscywgY2FsY3VsYXRlIHRvdGFsQ29sdW1ucyBmcm9tIHRoZSBmaXJzdCA8dHI+XG4gICAgbGV0IHRvdGFsQ29sdW1ucyA9IGhlYWRlckNlbGxzLmxlbmd0aDtcbiAgICBpZiAodG90YWxDb2x1bW5zID09PSAwICYmIGRhdGFDZWxscy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdFJvdyA9IGRhdGFDZWxscy5maXJzdD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICBpZiAoZmlyc3RSb3cpIHtcbiAgICAgICAgLy8gQ291bnQgdGQgZWxlbWVudHMgaW4gdGhlIGZpcnN0IHJvdyBhbmQgc3VtIHRoZWlyIGNvbHNwYW5zXG4gICAgICAgIGNvbnN0IGNlbGxzSW5GaXJzdFJvdyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgZmlyc3RSb3cucXVlcnlTZWxlY3RvckFsbCgndGRbcml2LXNpbXBsZS10YWJsZS1jZWxsXScpLFxuICAgICAgICApO1xuICAgICAgICB0b3RhbENvbHVtbnMgPSBjZWxsc0luRmlyc3RSb3cucmVkdWNlKChzdW0sIGNlbGwpID0+IHtcbiAgICAgICAgICBjb25zdCBjb2xzcGFuID0gcGFyc2VJbnQoY2VsbC5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAnMScsIDEwKTtcbiAgICAgICAgICByZXR1cm4gc3VtICsgY29sc3BhbjtcbiAgICAgICAgfSwgMCk7XG4gICAgICB9XG4gICAgICAvLyBGYWxsYmFjayB0byAxIGlmIHdlIGNvdWxkbid0IGRldGVybWluZVxuICAgICAgaWYgKHRvdGFsQ29sdW1ucyA9PT0gMCkge1xuICAgICAgICB0b3RhbENvbHVtbnMgPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldENlbGxDb29yZGluYXRlcyA9IGNyZWF0ZUNlbGxDb29yZGluYXRlQ2FsY3VsYXRvcihcbiAgICAgIGNlbGxTcGFuRGF0YSxcbiAgICAgIHRvdGFsQ29sdW1ucyxcbiAgICApO1xuXG4gICAgY29uc3QgbWF4Um93ID0gTWF0aC5tYXgoXG4gICAgICAuLi5kYXRhQ2VsbHMubWFwKChfLCBpKSA9PiBnZXRDZWxsQ29vcmRpbmF0ZXMoaSkuZW5kLnJvdyksXG4gICAgKTtcblxuICAgIGRhdGFDZWxscy5mb3JFYWNoKChkYXRhQ2VsbCwgY2VsbEluZGV4KSA9PiB7XG4gICAgICBjb25zdCBib3VuZHMgPSBnZXRDZWxsQ29vcmRpbmF0ZXMoY2VsbEluZGV4KTtcblxuICAgICAgY29uc3QgaGVhZGVyQ2VsbCA9IGhlYWRlckNlbGxzLmdldChib3VuZHMuc3RhcnQuY29sKTtcbiAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgICBpZiAoaGVhZGVyQ2VsbCkge1xuICAgICAgICBjaGFuZ2VkID1cbiAgICAgICAgICBkYXRhQ2VsbC5hbGlnbm1lbnQgIT0gaGVhZGVyQ2VsbC5hbGlnbm1lbnQgfHxcbiAgICAgICAgICBkYXRhQ2VsbC5waW5uZWQgIT0gaGVhZGVyQ2VsbC5waW5uZWQgfHxcbiAgICAgICAgICBkYXRhQ2VsbC5sZWZ0UGluT2Zmc2V0ICE9IGhlYWRlckNlbGwubGVmdFBpbk9mZnNldDtcblxuICAgICAgICBkYXRhQ2VsbC5hbGlnbm1lbnQgPSBoZWFkZXJDZWxsLmFsaWdubWVudDtcbiAgICAgICAgZGF0YUNlbGwucGlubmVkID0gaGVhZGVyQ2VsbC5waW5uZWQ7XG4gICAgICAgIGRhdGFDZWxsLmxlZnRQaW5PZmZzZXQgPSBoZWFkZXJDZWxsLmxlZnRQaW5PZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0lzTGFzdFJvdyA9IGJvdW5kcy5lbmQucm93ID09PSBtYXhSb3c7XG4gICAgICBjaGFuZ2VkID0gY2hhbmdlZCB8fCBkYXRhQ2VsbC5pc0xhc3RSb3cgIT0gbmV3SXNMYXN0Um93O1xuICAgICAgZGF0YUNlbGwuaXNMYXN0Um93ID0gbmV3SXNMYXN0Um93O1xuXG4gICAgICAvLyBPbmx5IG1hcmsgZm9yIGNoZWNrIHdoZW4gY2hhbmdlZCB0byBwcmV2ZW50IGluZmluaXRlIGN5Y2xlc1xuICAgICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgIGRhdGFDZWxsLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHRhYmluZGV4PVwiMFwiPlxuICA8dGFibGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|