valtech-components 4.0.1029 → 4.0.1031
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/esm2022/lib/components/atoms/avatar/avatar.component.mjs +7 -9
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +13 -12
- package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +92 -36
- package/esm2022/lib/components/molecules/action-card/types.mjs +1 -1
- package/esm2022/lib/components/molecules/card/card.component.mjs +56 -28
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +1 -1
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +2 -2
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +22 -10
- package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +2 -2
- package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs +26 -5
- package/esm2022/lib/components/organisms/attachment-uploader/types.mjs +1 -1
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +2 -2
- package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +2 -2
- package/esm2022/lib/components/organisms/settings-hub/settings-hub.component.mjs +2 -2
- package/esm2022/lib/components/organisms/settings-hub/settings-sections.mjs +2 -11
- package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +2 -2
- package/esm2022/lib/services/i18n/default-content.mjs +3 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +220 -111
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/avatar/avatar.component.d.ts +2 -2
- package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +2 -1
- package/lib/components/molecules/action-card/action-card.component.d.ts +28 -7
- package/lib/components/molecules/action-card/types.d.ts +4 -1
- package/lib/components/molecules/card/card.component.d.ts +2 -2
- package/lib/components/molecules/stats-card/stats-card.component.d.ts +3 -1
- package/lib/components/organisms/attachment-uploader/attachment-uploader.component.d.ts +5 -2
- package/lib/components/organisms/attachment-uploader/types.d.ts +6 -0
- package/lib/components/organisms/settings-hub/settings-sections.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -664,7 +664,7 @@ export class SecurityViewComponent {
|
|
|
664
664
|
/>
|
|
665
665
|
</div>
|
|
666
666
|
</val-container>
|
|
667
|
-
`, isInline: true, styles: [".page{padding:16px 0}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}h2{font-size:16px;font-weight:600;margin:0 0 4px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px;display:flex;flex-direction:column}.cards-grid ion-col val-action-card{flex:1;display:flex;flex-direction:column}.section-body{margin-top:16px;display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--center{display:flex;justify-content:center;margin-top:4px}.sessions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.session{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--ion-color-light, rgba(0, 0, 0, .04));border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.session--current{background:#2dd36f1a;border-color:#2dd36f4d}.session__icon{font-size:26px;color:var(--ion-color-dark, #1a1a1a);flex-shrink:0}.session--current .session__icon{color:var(--ion-color-success-shade, #28ba62)}.session__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.session__end{flex-shrink:0}.session__badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ion-color-success-shade, #28ba62);background:#2dd36f2e;border-radius:999px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ActionCardComponent, selector: "val-action-card", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ActionHeaderComponent, selector: "val-action-header", inputs: ["props"] }, { kind: "component", type: PageLinksComponent, selector: "val-page-links", inputs: ["props"] }, { kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: ChangeEmailModalComponent, selector: "val-change-email-modal", inputs: ["isOpen"], outputs: ["changed", "dismissed"] }, { kind: "component", type: ChangePasswordModalComponent, selector: "val-change-password-modal", inputs: ["isOpen"], outputs: ["changed", "dismissed"] }, { kind: "component", type: MfaModalComponent, selector: "val-mfa-modal", inputs: ["isOpen", "prefillCode"], outputs: ["changed", "enabledViaDeeplink", "dismissed"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
|
|
667
|
+
`, isInline: true, styles: [".page{padding:16px 0}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}h2{font-size:16px;font-weight:600;margin:0 0 4px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px;display:flex;flex-direction:column}.cards-grid ion-col val-action-card{flex:1;display:flex;flex-direction:column}.section-body{margin-top:16px;display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--center{display:flex;justify-content:center;margin-top:4px}.sessions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.session{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--ion-color-light, rgba(0, 0, 0, .04));border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.session--current{background:#2dd36f1a;border-color:#2dd36f4d}.session__icon{font-size:26px;color:var(--ion-color-dark, #1a1a1a);flex-shrink:0}.session--current .session__icon{color:var(--ion-color-success-shade, #28ba62)}.session__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.session__end{flex-shrink:0}.session__badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ion-color-success-shade, #28ba62);background:#2dd36f2e;border-radius:999px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ActionCardComponent, selector: "val-action-card, vds-action-card", inputs: ["props", "title", "titleKey", "description", "descriptionKey", "i18nNamespace", "icon", "size", "variant", "bordered", "borderColor", "backgroundColor", "shadowed", "disabled", "routerLink", "queryParams", "href", "badge", "showChevron", "token"], outputs: ["onClick"] }, { kind: "component", type: ActionHeaderComponent, selector: "val-action-header", inputs: ["props"] }, { kind: "component", type: PageLinksComponent, selector: "val-page-links", inputs: ["props"] }, { kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: ChangeEmailModalComponent, selector: "val-change-email-modal", inputs: ["isOpen"], outputs: ["changed", "dismissed"] }, { kind: "component", type: ChangePasswordModalComponent, selector: "val-change-password-modal", inputs: ["isOpen"], outputs: ["changed", "dismissed"] }, { kind: "component", type: MfaModalComponent, selector: "val-mfa-modal", inputs: ["isOpen", "prefillCode"], outputs: ["changed", "enabledViaDeeplink", "dismissed"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
|
|
668
668
|
}
|
|
669
669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SecurityViewComponent, decorators: [{
|
|
670
670
|
type: Component,
|
|
@@ -820,4 +820,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
820
820
|
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
821
821
|
type: Input
|
|
822
822
|
}] } });
|
|
823
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3NlY3VyaXR5LXZpZXcvc2VjdXJpdHktdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlD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OU90Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtJVCxzL0NBcEpDLFlBQVksK0JBQ1osT0FBTyx3RUFDUCxNQUFNLG9EQUNOLE1BQU0sa1RBQ04sT0FBTywySkFDUCxnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixlQUFlLDBHQUNmLG1CQUFtQixxR0FDbkIscUJBQXFCLGlGQUNyQixrQkFBa0IsOEVBQ2xCLHVCQUF1QixtRkFDdkIseUJBQXlCLDBIQUN6Qiw0QkFBNEIsNkhBQzVCLGlCQUFpQixzSkFDakIsa0JBQWtCOzs0RkFnUFQscUJBQXFCO2tCQXBRakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxNQUFNO3dCQUNOLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0lUO3dEQThIUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25Db2wsIElvbkdyaWQsIElvbkljb24sIElvblJvdyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBsYXB0b3BPdXRsaW5lLCBwaG9uZVBvcnRyYWl0T3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWhlYWRlci9hY3Rpb24taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24taGVhZGVyL3R5cGVzJztcbmltcG9ydCB7IFBhZ2VMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wYWdlLWxpbmtzL3BhZ2UtbGlua3MuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VMaW5rc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BhZ2UtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9za2VsZXRvbi1sYXlvdXQvc2tlbGV0b24tbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFuZ2VFbWFpbE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hhbmdlLWVtYWlsLW1vZGFsL2NoYW5nZS1lbWFpbC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2NoYW5nZS1wYXNzd29yZC1tb2RhbC9jaGFuZ2UtcGFzc3dvcmQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE1mYU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vbWZhLW1vZGFsL21mYS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9naW5BdHRlbXB0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9sb2dpbi1hdHRlbXB0LW1vZGFsL2xvZ2luLWF0dGVtcHQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNlc3Npb25MaXN0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9zZXNzaW9uLWxpc3QtbW9kYWwvc2Vzc2lvbi1saXN0LW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBEZXZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9kZXZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IERldmljZUluZm8sIFNlc3Npb25JbmZvLCBWYWxpZGF0ZUFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC90eXBlcyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTGVnYWxMaW5rU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xlZ2FsLWxpbmsvbGVnYWwtbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29ubmVjdFBhZ2VSZWZyZXNoIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1yZWZyZXNoL3BhZ2UtcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy92YWx0ZWNoLWVycm9yLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTZWN1cml0eVZpZXdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNFQ1VSSVRZX1ZJRVdfSTE4TiB9IGZyb20gJy4vc2VjdXJpdHktdmlldy5pMThuJztcblxuYWRkSWNvbnMoeyBsYXB0b3BPdXRsaW5lLCBwaG9uZVBvcnRyYWl0T3V0bGluZSB9KTtcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuU2VjdXJpdHknO1xuXG4vKipcbiAqIGB2YWwtc2VjdXJpdHktdmlld2Ag4oCUIHZpc3RhIFNlZ3VyaWRhZCBmdWxsLWZlYXR1cmUgYXV0b2NvbnRlbmlkYSAob3JnYW5pc20pLlxuICpcbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLiBSZcO6bmUgZW4gdW5hIHNvbGEgdmlzdGE6XG4gKiAgLSAqKlNlc2lvbmVzIGFjdGl2YXMqKiDigJQgw7puaWNhIHZpc3RhIHVzZXItZmFjaW5nIGRlIFwiZMOzbmRlIHRlbmdvIHNlc2nDs25cIi5cbiAqICAgIExpc3RhIGlubGluZSAobGltaXQgMykgKyBtb2RhbCBcIlZlciB0b2Rhc1wiIChgdmFsLXNlc3Npb24tbGlzdC1tb2RhbGApICtcbiAqICAgIHJldm9rZSBpbmRpdmlkdWFsIC8gcmV2b2tlLWFsbCAoY29uIGNvbmZpcm1hY2nDs24pLlxuICogIC0gKipBY3Rpb24tY2FyZHMqKiDigJQgY2FtYmlhciBjb250cmFzZcOxYSwgY2FtYmlhciBlbWFpbCB5IE1GQSAoY2FkYSB1bmEgYWJyZVxuICogICAgZWwgbW9kYWwgY29ycmVzcG9uZGllbnRlIGRlIGxhIGxpYikuXG4gKiAgLSAqKlBvbMOtdGljYXMgbGVnYWxlcyoqIOKAlCBsaW5rcyByZXN1ZWx0b3MgdsOtYSBgTGVnYWxMaW5rU2VydmljZWAgKGFwcHNcbiAqICAgIHNhdMOpbGl0ZSBhcHVudGFuIGFsIG1haW4gc2l0ZSkuXG4gKlxuICogRGVlcC1saW5rcyBkZWwgZW1haWwgKGdhdGVhZG9zIHBvciBgY29uZmlnLmhhbmRsZURlZXBMaW5rc2AsIGRlZmF1bHQgYHRydWVgKTpcbiAqICAtIGA/dG9rZW49Li4uJmFjdGlvbj0uLi5gIOKGkiBtb2RhbCBgdmFsLWxvZ2luLWF0dGVtcHQtbW9kYWxgIChhdXRvcml6YXIvYmxvcXVlYXJcbiAqICAgIGVsIG51ZXZvIGFjY2VzbykuXG4gKiAgLSBgP21mYUNvZGU9Li4uYCDihpIgYWJyZSBlbCBtb2RhbCBNRkEgY29uIGVsIGPDs2RpZ28gcHJlLWNhcmdhZG8uXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRlZmF1bHRzIGkxOG4gKGVzL2VuKSBlbiBlbCBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBub1xuICogcHJvdmV5w7MgZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvIChkZWZhdWx0IGBTZXR0aW5ncy5TZWN1cml0eWApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VjdXJpdHktdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uR3JpZCxcbiAgICBJb25Sb3csXG4gICAgSW9uQ29sLFxuICAgIElvbkljb24sXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25DYXJkQ29tcG9uZW50LFxuICAgIEFjdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBQYWdlTGlua3NDb21wb25lbnQsXG4gICAgU2tlbGV0b25MYXlvdXRDb21wb25lbnQsXG4gICAgQ2hhbmdlRW1haWxNb2RhbENvbXBvbmVudCxcbiAgICBDaGFuZ2VQYXNzd29yZE1vZGFsQ29tcG9uZW50LFxuICAgIE1mYU1vZGFsQ29tcG9uZW50LFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLWNvbnRhaW5lciBbcHJvcHNdPVwieyBzaXplOiAnbWQnLCBwYWRkaW5nOiAnbm9uZScgfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VcIj5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cInBhZ2UtaGVhZGVyXCI+XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHBhZ2VUaXRsZSgpIH1cIiAvPlxuICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICBjb250ZW50OiBwYWdlRGVzY3JpcHRpb24oKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93U2Vzc2lvbnMpIHtcbiAgICAgICAgICA8IS0tIDEuIEFjdGl2ZSBzZXNzaW9ucyAtIHVuaWNhIHZpc3RhIHVzZXItZmFjaW5nIGRlIGRvbmRlIHRlbmdvIHNlc2lvbi4gLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKGhhc090aGVyU2Vzc2lvbnMoKSkge1xuICAgICAgICAgICAgICA8dmFsLWFjdGlvbi1oZWFkZXIgW3Byb3BzXT1cInNlc3Npb25zSGVhZGVyKClcIiAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNlc3Npb25zVGl0bGVXaXRoQ291bnQoKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tYm9keVwiPlxuICAgICAgICAgICAgICBAaWYgKHNlc3Npb25zTG9hZGluZygpKSB7XG4gICAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbi1sYXlvdXQgW3Byb3BzXT1cInsgcHJlc2V0OiAnbGlzdCcsIHJvd3M6IDMgfVwiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHNlc3Npb25zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBzZXNzaW9uc0VtcHR5TGFiZWwoKSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNlc3Npb25zXCI+XG4gICAgICAgICAgICAgICAgICBAZm9yIChzIG9mIHZpc2libGVTZXNzaW9ucygpOyB0cmFjayBzLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzZXNzaW9uXCIgW2NsYXNzLnNlc3Npb24tLWN1cnJlbnRdPVwicy5pc0N1cnJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJzZXNzaW9uX19pY29uXCIgW25hbWVdPVwiZGV2aWNlSWNvbihzKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Npb25fX2JvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHMuZGV2aWNlSW5mbyB8fCBzLmRldmljZUlkIHx8ICfigJQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogZm9ybWF0U2Vzc2lvbk1ldGEocyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbl9fZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHMuaXNDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2Vzc2lvbl9fYmFkZ2VcIj57eyBzZXNzaW9uc1RoaXMoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmV2b2tlT25lQnV0dG9uUHJvcHMoKVwiIChjbGljayk9XCJvblJldm9rZU9uZShzLnNlc3Npb25JZClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgQGlmIChoYXNNb3JlU2Vzc2lvbnMoKSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1hY3Rpb25zIHJvdy1hY3Rpb25zLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInZpZXdBbGxCdXR0b25Qcm9wcygpXCIgKGNsaWNrKT1cIm9wZW5TZXNzaW9uc01vZGFsKClcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGhhc0FjdGlvbkNhcmRzKCkpIHtcbiAgICAgICAgICA8IS0tIDIuIFF1aWNrIGFjdGlvbnM6IGNoYW5nZSBwYXNzd29yZCwgY2hhbmdlIGVtYWlsLCBNRkEgLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8aDI+e3sgcXVpY2tBY3Rpb25zVGl0bGUoKSB9fTwvaDI+XG4gICAgICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJjYXJkcy1ncmlkXCI+XG4gICAgICAgICAgICAgIDxpb24tcm93PlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25DYXJkcygpOyB0cmFjayBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtc209XCI2XCI+XG4gICAgICAgICAgICAgICAgICAgIDx2YWwtYWN0aW9uLWNhcmQgW3Byb3BzXT1cImFjdGlvblwiIChvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICA8L2lvbi1ncmlkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93UG9saWNpZXMpIHtcbiAgICAgICAgICA8IS0tIDMuIFJlbGF0ZWQgcG9saWNpZXMgLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8aDI+e3sgcG9saWNpZXNUaXRsZSgpIH19PC9oMj5cbiAgICAgICAgICAgIDx2YWwtcGFnZS1saW5rcyBbcHJvcHNdPVwicG9saWN5TGlua3NQcm9wcygpXCIgLz5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICA8dmFsLWNoYW5nZS1lbWFpbC1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNDaGFuZ2VFbWFpbE1vZGFsT3BlbigpXCJcbiAgICAgICAgICAoY2hhbmdlZCk9XCJpc0NoYW5nZUVtYWlsTW9kYWxPcGVuLnNldChmYWxzZSlcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwiaXNDaGFuZ2VFbWFpbE1vZGFsT3Blbi5zZXQoZmFsc2UpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8dmFsLWNoYW5nZS1wYXNzd29yZC1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNDaGFuZ2VQYXNzd29yZE1vZGFsT3BlbigpXCJcbiAgICAgICAgICAoY2hhbmdlZCk9XCJpc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuLnNldChmYWxzZSlcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwiaXNDaGFuZ2VQYXNzd29yZE1vZGFsT3Blbi5zZXQoZmFsc2UpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8dmFsLW1mYS1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNNZmFNb2RhbE9wZW4oKVwiXG4gICAgICAgICAgW3ByZWZpbGxDb2RlXT1cIm1mYVByZWZpbGxDb2RlKClcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwib25NZmFNb2RhbERpc21pc3NlZCgpXCJcbiAgICAgICAgICAoZW5hYmxlZFZpYURlZXBsaW5rKT1cIm9uTWZhRW5hYmxlZFZpYURlZXBsaW5rKClcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC92YWwtY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiBBbmNobyB5IGNyZWNpbWllbnRvIGNvbiBlbCByYWlsIGNvbGFwc2FkbyBsb3MgZGEgdmFsLWNvbnRhaW5lciAoc2l6ZVxuICAgICAgICAgJ21kJyksIG5vIENTUyBsb2NhbDogdmVyIGNvbnRhaW5lci5jb21wb25lbnQuc2Nzcy4gKi9cbiAgICAgIC5wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIH1cbiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgICAgLnNldHRpbmdzLXNlY3Rpb24gKyAuc2V0dGluZ3Mtc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogMCAtNHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCBpb24tY29sIHtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgLmNhcmRzLWdyaWQgaW9uLWNvbCB2YWwtYWN0aW9uLWNhcmQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAvKiAtLS0gU2Vzc2lvbnMgc2VjdGlvbiAtLS0gKi9cbiAgICAgIC5zZWN0aW9uLWJvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm93LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuICAgICAgLnJvdy1hY3Rpb25zLS1jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuICAgICAgLnNlc3Npb25zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAuc2Vzc2lvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsXG4gICAgICAgICAgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG4gICAgICAuc2Vzc2lvbi0tY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDUsIDIxMSwgMTExLCAwLjEpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNDUsIDIxMSwgMTExLCAwLjMpO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2ljb24ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzFhMWExYSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnNlc3Npb24tLWN1cnJlbnQgLnNlc3Npb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2VuZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2JhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAyMTEsIDExMSwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5Vmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlID0gaW5qZWN0KERldmljZVNlcnZpY2UpO1xuICBwcml2YXRlIGxlZ2FsTGluayA9IGluamVjdChMZWdhbExpbmtTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIGVycm9ycyA9IGluamVjdChWYWx0ZWNoRXJyb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBtb2RhbFNlcnZpY2UgPSBpbmplY3QoTW9kYWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjb25maXJtRGlhbG9nID0gaW5qZWN0KENvbmZpcm1hdGlvbkRpYWxvZ1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBzZWN1cml0eUNvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGBASW5wdXRgIGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZz86IFNlY3VyaXR5Vmlld0NvbmZpZztcblxuICByZWFkb25seSByZXNvbHZlZENvbmZpZyA9IGNvbXB1dGVkPFxuICAgIFJlcXVpcmVkPE9taXQ8U2VjdXJpdHlWaWV3Q29uZmlnLCAnb25NZmFDb21wbGV0ZWQnPj4gJiBQaWNrPFNlY3VyaXR5Vmlld0NvbmZpZywgJ29uTWZhQ29tcGxldGVkJz5cbiAgPigoKSA9PiB7XG4gICAgY29uc3QgZnJvbVJvdXRlID0gKHRoaXMucm91dGU/LnNuYXBzaG90LmRhdGFbJ3NlY3VyaXR5Q29uZmlnJ10gPz8ge30pIGFzIFNlY3VyaXR5Vmlld0NvbmZpZztcbiAgICBjb25zdCBtZXJnZWQ6IFNlY3VyaXR5Vmlld0NvbmZpZyA9IHsgLi4uZnJvbVJvdXRlLCAuLi4odGhpcy5jb25maWcgPz8ge30pIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIHNob3dTZXNzaW9uczogbWVyZ2VkLnNob3dTZXNzaW9ucyA/PyB0cnVlLFxuICAgICAgc2hvd0NoYW5nZVBhc3N3b3JkOiBtZXJnZWQuc2hvd0NoYW5nZVBhc3N3b3JkID8/IHRydWUsXG4gICAgICBzaG93Q2hhbmdlRW1haWw6IG1lcmdlZC5zaG93Q2hhbmdlRW1haWwgPz8gdHJ1ZSxcbiAgICAgIHNob3dNZmE6IG1lcmdlZC5zaG93TWZhID8/IHRydWUsXG4gICAgICBzaG93UG9saWNpZXM6IG1lcmdlZC5zaG93UG9saWNpZXMgPz8gdHJ1ZSxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTkFNRVNQQUNFLFxuICAgICAgaGFuZGxlRGVlcExpbmtzOiBtZXJnZWQuaGFuZGxlRGVlcExpbmtzID8/IHRydWUsXG4gICAgICBob21lUm91dGU6IG1lcmdlZC5ob21lUm91dGUgPz8gJy9hcHAvaG9tZScsXG4gICAgICBvbk1mYUNvbXBsZXRlZDogbWVyZ2VkLm9uTWZhQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biByZXN1ZWx0byAoY2FwdHVyYWRvIHBhcmEgbGxhbWFkYXMgbm8tcmVhY3RpdmFzKS4gKi9cbiAgcHJpdmF0ZSBnZXQgbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgZGUgZGlzcG9zaXRpdm9zIGRlbCB1c2VyLiBObyBzZSByZW5kZXJpemEg4oCUIHNvbG8gYWxpbWVudGEgZWwgbW9kYWxcbiAgICogZGUgY29uZmlybWFjacOzbiBkZSBpbmljaW8gZGUgc2VzacOzbiAoYGhhbmRsZUFjdGlvblRva2VuRnJvbVVybGApIHBhcmFcbiAgICogcmVzb2x2ZXIgdW4gbGFiZWwgbGVnaWJsZSBkZXNkZSBlbCBgdGFyZ2V0SWRgIGRlbCB0b2tlbi5cbiAgICovXG4gIHByb3RlY3RlZCBkZXZpY2VzID0gc2lnbmFsPERldmljZUluZm9bXT4oW10pO1xuXG4gIHJlYWRvbmx5IHNlc3Npb25zID0gc2lnbmFsPFNlc3Npb25JbmZvW10+KFtdKTtcbiAgcmVhZG9ubHkgc2Vzc2lvbnNMb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuXG4gIHJlYWRvbmx5IGlzQ2hhbmdlRW1haWxNb2RhbE9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBpc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNNZmFNb2RhbE9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAvKiogQ8OzZGlnbyBNRkEgZGVsIGRlZXAtbGluayBgL3ZlcmlmeWAg4oCUIHByZS1jYXJnYSBlbCBtb2RhbCBlbiBjb25maXJtYWNpw7NuLiAqL1xuICByZWFkb25seSBtZmFQcmVmaWxsQ29kZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgcGFnZVRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50dCgncGFnZVRpdGxlJykpO1xuICByZWFkb25seSBwYWdlRGVzY3JpcHRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdwYWdlRGVzY3JpcHRpb24nKSk7XG5cbiAgcmVhZG9ubHkgcXVpY2tBY3Rpb25zVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdxdWlja0FjdGlvbnNUaXRsZScpKTtcbiAgcmVhZG9ubHkgcG9saWNpZXNUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudHQoJ3BvbGljaWVzVGl0bGUnKSk7XG5cbiAgcmVhZG9ubHkgaGFzQWN0aW9uQ2FyZHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFjdGlvbkNhcmRzKCkubGVuZ3RoID4gMCk7XG5cbiAgcmVhZG9ubHkgYWN0aW9uQ2FyZHMgPSBjb21wdXRlZDxBY3Rpb25DYXJkTWV0YWRhdGFbXT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5yZXNvbHZlZENvbmZpZygpO1xuICAgIGNvbnN0IGNhcmRzOiBBY3Rpb25DYXJkTWV0YWRhdGFbXSA9IFtdO1xuICAgIGlmIChjZmcuc2hvd0NoYW5nZVBhc3N3b3JkKSB7XG4gICAgICBjYXJkcy5wdXNoKHtcbiAgICAgICAgdG9rZW46ICdhY3Rpb24tY2hhbmdlLXBhc3N3b3JkJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2NoYW5nZVBhc3N3b3JkJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdjaGFuZ2VQYXNzd29yZERlc2MnKSxcbiAgICAgICAgaWNvbjogeyBpb25pY29uOiAna2V5LW91dGxpbmUnLCBjb2xvcjogJ2RhcmsnLCBiYWNrZ3JvdW5kQ29sb3I6ICdsaWdodCcgfSxcbiAgICAgICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgICAgIHNoYWRvd2VkOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjZmcuc2hvd0NoYW5nZUVtYWlsKSB7XG4gICAgICBjYXJkcy5wdXNoKHtcbiAgICAgICAgdG9rZW46ICdhY3Rpb24tY2hhbmdlLWVtYWlsJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2NoYW5nZUVtYWlsJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdjaGFuZ2VFbWFpbERlc2MnKSxcbiAgICAgICAgaWNvbjogeyBpb25pY29uOiAnbWFpbC1vdXRsaW5lJywgY29sb3I6ICdkYXJrJywgYmFja2dyb3VuZENvbG9yOiAnbGlnaHQnIH0sXG4gICAgICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgICAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2ZnLnNob3dNZmEpIHtcbiAgICAgIGNhcmRzLnB1c2goe1xuICAgICAgICB0b2tlbjogJ2FjdGlvbi1tZmEnLFxuICAgICAgICB0aXRsZTogdGhpcy50dCgnbWZhJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdtZmFEZXNjJyksXG4gICAgICAgIGljb246IHsgaW9uaWNvbjogJ3NoaWVsZC1jaGVja21hcmstb3V0bGluZScsIGNvbG9yOiAnZGFyaycsIGJhY2tncm91bmRDb2xvcjogJ2xpZ2h0JyB9LFxuICAgICAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICAgICAgc2hhZG93ZWQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNhcmRzO1xuICB9KTtcblxuICAvKipcbiAgICogRnVlbnRlIMO6bmljYSBkZSBsaW5rcyBsZWdhbGVzIGRlbCBwcm9kdWN0by4gU2UgcmVzdWVsdmVuIHbDrWFcbiAgICogYExlZ2FsTGlua1NlcnZpY2VgIOKAlCBhcHBzIHNhdMOpbGl0ZSBhcHVudGFuIGFsIG1haW4gc2l0ZSwgZWwgbWFpbiBzaXRlIGxvc1xuICAgKiBkZWphIHJlbGF0aXZvcy5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeUxpbmtzUHJvcHMgPSBjb21wdXRlZDxQYWdlTGlua3NNZXRhZGF0YT4oKCkgPT4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgbGluayA9IChwYXRoOiBzdHJpbmcsIGxhYmVsS2V5OiBzdHJpbmcpID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50dChsYWJlbEtleSksXG4gICAgICBocmVmOiB0aGlzLmxlZ2FsTGluay5yZXNvbHZlKHBhdGgsIHsgbG9jYWxlIH0pLFxuICAgICAgZXh0ZXJuYWw6IHRoaXMubGVnYWxMaW5rLmlzRXh0ZXJuYWwocGF0aCksXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmtzOiBbXG4gICAgICAgIGxpbmsoJy9sZWdhbC90ZXJtcycsICd0ZXJtc0xpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL3ByaXZhY3knLCAncHJpdmFjeUxpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2Nvb2tpZXMnLCAnY29va2llc0xpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2RhdGEtdXNhZ2UnLCAnZGF0YVVzYWdlTGluaycpLFxuICAgICAgICBsaW5rKCcvbGVnYWwvdGhpcmQtcGFydHknLCAndGhpcmRQYXJ0eUxpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2xlZ2FsLW5vdGljZScsICdsZWdhbE5vdGljZUxpbmsnKSxcbiAgICAgIF0sXG4gICAgICBzaG93RGl2aWRlcnM6IHRydWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlc3Npb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIHJlYWRvbmx5IHNlc3Npb25zVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc1RpdGxlJykpO1xuICByZWFkb25seSBzZXNzaW9uc0VtcHR5TGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc0VtcHR5JykpO1xuICByZWFkb25seSBzZXNzaW9uc1RoaXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc1RoaXMnKSk7XG5cbiAgcmVhZG9ubHkgaGFzT3RoZXJTZXNzaW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2Vzc2lvbnMoKS5zb21lKHMgPT4gIXMuaXNDdXJyZW50KSk7XG5cbiAgLyoqIFNlc2lvbmVzIG9yZGVuYWRhczogY3VycmVudCBwcmltZXJvLCByZXN0byBwb3IgY3JlYXRlZEF0IGRlc2MuICovXG4gIHJlYWRvbmx5IHNvcnRlZFNlc3Npb25zID0gY29tcHV0ZWQ8U2Vzc2lvbkluZm9bXT4oKCkgPT4ge1xuICAgIGNvbnN0IGFsbCA9IFsuLi50aGlzLnNlc3Npb25zKCldO1xuICAgIHJldHVybiBhbGwuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGEuaXNDdXJyZW50ICYmICFiLmlzQ3VycmVudCkgcmV0dXJuIC0xO1xuICAgICAgaWYgKCFhLmlzQ3VycmVudCAmJiBiLmlzQ3VycmVudCkgcmV0dXJuIDE7XG4gICAgICByZXR1cm4gKGIuY3JlYXRlZEF0IHx8ICcnKS5sb2NhbGVDb21wYXJlKGEuY3JlYXRlZEF0IHx8ICcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIExpbWl0IGRlIHNlc2lvbmVzIG1vc3RyYWRhcyBpbmxpbmUuIFNpIHRvdGFsID4gbGltaXQsIFwiVmVyIHRvZGFzXCIgYWJyZSBtb2RhbC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBWSVNJQkxFX0xJTUlUID0gMztcblxuICByZWFkb25seSB2aXNpYmxlU2Vzc2lvbnMgPSBjb21wdXRlZDxTZXNzaW9uSW5mb1tdPigoKSA9PiB0aGlzLnNvcnRlZFNlc3Npb25zKCkuc2xpY2UoMCwgdGhpcy5WSVNJQkxFX0xJTUlUKSk7XG5cbiAgcmVhZG9ubHkgaGFzTW9yZVNlc3Npb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zb3J0ZWRTZXNzaW9ucygpLmxlbmd0aCA+IHRoaXMuVklTSUJMRV9MSU1JVCk7XG5cbiAgLyoqIFRpdHVsbyBjb24gY291bnQ6IFwiU2VzaW9uZXMgYWN0aXZhcyAoNClcIi4gU2luIGNvdW50IHNpIE49MC4gKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbnNUaXRsZVdpdGhDb3VudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBuID0gdGhpcy5zb3J0ZWRTZXNzaW9ucygpLmxlbmd0aDtcbiAgICBpZiAobiA9PT0gMCkgcmV0dXJuIHRoaXMuc2Vzc2lvbnNUaXRsZSgpO1xuICAgIHJldHVybiB0aGlzLnR0KCdzZXNzaW9uc1RpdGxlQ291bnQnKS5yZXBsYWNlKCd7bn0nLCBTdHJpbmcobikpO1xuICB9KTtcblxuICByZWFkb25seSByZXZva2VPbmVCdXR0b25Qcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIHRleHQ6IHRoaXMudHQoJ3Nlc3Npb25zUmV2b2tlJyksXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBmaWxsOiAnY2xlYXInLFxuICAgIHNpemU6ICdzbWFsbCcsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgdG9rZW46ICdzZXNzaW9uLXJldm9rZScsXG4gIH0pKTtcblxuICByZWFkb25seSB2aWV3QWxsQnV0dG9uUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiB0aGlzLnR0KCdzZXNzaW9uc1ZpZXdBbGwnKSxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIGZpbGw6ICdjbGVhcicsXG4gICAgc2l6ZTogJ3NtYWxsJyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gIH0pKTtcblxuICAvKiogQWN0aW9uLWhlYWRlciBkZSBTZXNpb25lczogdGl0bGUgKyBjb3VudCArIGJvdG9uIFwiQ2VycmFyIHRvZGFzIGxhcyBkZW1hc1wiLiAqL1xuICByZWFkb25seSBzZXNzaW9uc0hlYWRlciA9IGNvbXB1dGVkPEFjdGlvbkhlYWRlck1ldGFkYXRhPigoKSA9PiAoe1xuICAgIGhlYWRpbmdLaW5kOiAndGl0bGUnLFxuICAgIHRpdGxlOiB7XG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgY29udGVudDogdGhpcy5zZXNzaW9uc1RpdGxlV2l0aENvdW50KCksXG4gICAgfSxcbiAgICBhY3Rpb246IHtcbiAgICAgIHRleHQ6IHRoaXMudHQoJ3Nlc3Npb25zUmV2b2tlQWxsJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgdG9rZW46ICdzZXNzaW9uLXJldm9rZS1hbGwnLFxuICAgICAgaGFuZGxlcjogKCkgPT4gdGhpcy5vblJldm9rZUFsbCgpLFxuICAgIH0sXG4gIH0pKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBucyA9IHRoaXMubnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMobnMsIFNFQ1VSSVRZX1ZJRVdfSTE4Tik7XG4gICAgdGhpcy5uYXYuc2V0QmFja0hlYWRlcigncGFnZVRpdGxlJywgbnMsIHsgd2l0aE1lbnU6IHRydWUgfSk7XG5cbiAgICAvLyBDYXJnYSBpbmljaWFsIGRlIHNlc2lvbmVzIC0gcmVjYXJnYSByZWFjdGl2YSBhIGNhbWJpbyBkZSBsb2NhbGUgcGFyYVxuICAgIC8vIHF1ZSBsb3MgdGV4dG9zIHkgbWV0YWRhdG9zIHNlIG1hbnRlbmdhbiBmcmVzY29zLiBMb3MgZGV2aWNlcyBzb2xvIHNlXG4gICAgLy8gY2FyZ2FuIG9uLWRlbWFuZCBkZXNkZSBlbCBmbHVqbyBkZWwgbW9kYWwgKGhhbmRsZUFjdGlvblRva2VuRnJvbVVybCkuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgICAgICBjb25zdCBzaG93U2Vzc2lvbnMgPSB0aGlzLnJlc29sdmVkQ29uZmlnKCkuc2hvd1Nlc3Npb25zO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIGlmIChzaG93U2Vzc2lvbnMpIHZvaWQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIFB1bGwtdG8tcmVmcmVzaCBlc3RhbmRhciAoUmVnbGEgIzMpIC0gcmUtZmV0Y2hlYSBsYXMgc2VzaW9uZXMgYWN0aXZhcy5cbiAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5sb2FkU2Vzc2lvbnMoKSk7XG5cbiAgICAvLyBEZWVwLWxpbmtzIGRlbCBlbWFpbCAtIHNvbG8gc2kgZXN0YW4gaGFiaWxpdGFkb3MgWSBoYXkgcnV0YSAobW9udGFkYSBjb21vXG4gICAgLy8gcm91dGUpLiBFbiBtb2RvIGVtYmViaWRvIHNpbiBydXRhIGVzIG5vLW9wLlxuICAgIGlmICh0aGlzLnJlc29sdmVkQ29uZmlnKCkuaGFuZGxlRGVlcExpbmtzICYmIHRoaXMucm91dGUpIHtcbiAgICAgIC8vIFNpIGVsIHVzZXIgbGxlZ28gdmlhIGxpbmsgZGVsIGVtYWlsICg/dG9rZW49Li4uJmFjdGlvbj0uLi4pLCBhYnJlIGVsXG4gICAgICAvLyBtb2RhbCBkZSBjb25maXJtYWNpb24gcGFyYSBhdXRvcml6YXIvcmVjaGF6YXIgZWwgaW50ZW50by5cbiAgICAgIHZvaWQgdGhpcy5oYW5kbGVBY3Rpb25Ub2tlbkZyb21VcmwoKTtcbiAgICAgIC8vIERlZXAtbGluayBkZWwgZW1haWwgZGUgc2V0dXAgTUZBLWVtYWlsICg/bWZhQ29kZT0uLi4pLlxuICAgICAgdGhpcy5oYW5kbGVNZmFDb2RlRnJvbVVybCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMbGVnYSB2w61hIGxpbmsgZGVsIGVtYWlsIGRlIFwibnVldm8gYWNjZXNvXCIgKGA/dG9rZW49Li4uYCkuIFZhbGlkYSBlbCB0b2tlblxuICAgKiAoc2luIGVqZWN1dGFyKSB5IGxldmFudGEgZWwgbW9kYWwgZGUgY29uZmlybWFjacOzbi4gRWwgYmxvcXVlbyBzb2xvIHNlXG4gICAqIGVqZWN1dGEgc2kgZWwgdXNlciBjb25maXJtYSBcIm5vIGZ1aSB5b1wiIGRlbnRybyBkZWwgbW9kYWwuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFjdGlvblRva2VuRnJvbVVybCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMucm91dGU/LnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0b2tlbicpO1xuICAgIGlmICghdG9rZW4pIHJldHVybjtcblxuICAgIC8vIExpbXBpYSA/dG9rZW4vP2FjdGlvbiBkZSBsYSBVUkwgeWEgLSBlbCBtb2RhbCBlcyBsYSBmdWVudGUgZGUgdmVyZGFkO1xuICAgIC8vIHVuIHJlZnJlc2ggbm8gZGViZSByZS1hYnJpcmxvIG5pIHJlLXZhbGlkYXIuXG4gICAgdm9pZCB0aGlzLnJvdXRlcj8ubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUgPz8gdW5kZWZpbmVkLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdG9rZW46IG51bGwsIGFjdGlvbjogbnVsbCB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBsZXQgdmFsaWRhdGlvbjogVmFsaWRhdGVBY3Rpb25SZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZGV2aWNlU2VydmljZS52YWxpZGF0ZUFjdGlvbih0b2tlbikpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnc2VjdXJpdHkudmFsaWRhdGVBY3Rpb25Ub2tlbicsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAndG9rZW5BY3Rpb25GYWlsZWQnLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdmFsaWRhdGlvbi52YWxpZCkge1xuICAgICAgdGhpcy50b2FzdFRva2VuSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlc3VlbHZlIGVsIGRpc3Bvc2l0aXZvIG9iamV0aXZvIGRlc2RlIGxhIGxpc3RhIGNhcmdhZGEgcGFyYSBtb3N0cmFybG8uXG4gICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlcygpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZGV2aWNlcygpLmZpbmQoZCA9PiBkLmRldmljZUlkID09PSB2YWxpZGF0aW9uLnRhcmdldElkKTtcbiAgICBjb25zdCBpc01vYmlsZSA9IHRhcmdldD8ucGxhdGZvcm0gPT09ICdpb3MnIHx8IHRhcmdldD8ucGxhdGZvcm0gPT09ICdhbmRyb2lkJztcblxuICAgIGNvbnN0IG9uQmxvY2sgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmRldmljZVNlcnZpY2UuZXhlY3V0ZUFjdGlvbih0b2tlbikpO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlcygpO1xuICAgIH07XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1vZGFsU2VydmljZS5vcGVuPExvZ2luQXR0ZW1wdE1vZGFsQ29tcG9uZW50Pih7XG4gICAgICBjb21wb25lbnQ6IExvZ2luQXR0ZW1wdE1vZGFsQ29tcG9uZW50LFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdFRpdGxlJyksXG4gICAgICAgIGJvZHk6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdEJvZHknKSxcbiAgICAgICAgZGV2aWNlTGFiZWw6IHRhcmdldCA/IHRoaXMuZGVzY3JpYmVEZXZpY2UodGFyZ2V0KSA6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdFVua25vd25EZXZpY2UnKSxcbiAgICAgICAgbWV0YUxhYmVsOiB0YXJnZXQgPyB0aGlzLmZvcm1hdERhdGUodGFyZ2V0Lmxhc3RBY3RpdmUpIDogJycsXG4gICAgICAgIG1pbmVMYWJlbDogdGhpcy50dCgnbG9naW5BdHRlbXB0TWluZScpLFxuICAgICAgICBibG9ja0xhYmVsOiB0aGlzLnR0KCdsb2dpbkF0dGVtcHRCbG9jaycpLFxuICAgICAgICBjbG9zZUxhYmVsOiB0aGlzLnR0KCdsb2dpbkF0dGVtcHRDbG9zZScpLFxuICAgICAgICBkb25lTGFiZWw6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdERvbmUnKSxcbiAgICAgICAgaXNNb2JpbGUsXG4gICAgICAgIG9uQmxvY2ssXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5yb2xlID09PSAnYmxvY2tlZCcpIHtcbiAgICAgIHRoaXMudG9hc3RPayh0aGlzLnR0KCdibG9ja2VkJykpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnJvbGUgPT09ICdlcnJvcicpIHtcbiAgICAgIHRoaXMudG9hc3RUb2tlbkludmFsaWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvYXN0VG9rZW5JbnZhbGlkKCk6IHZvaWQge1xuICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICBtZXNzYWdlOiB0aGlzLnR0KCd0b2tlbkFjdGlvbkZhaWxlZCcpLFxuICAgICAgZHVyYXRpb246IDM1MDAsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZERldmljZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxpc3QgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmRldmljZVNlcnZpY2UubGlzdERldmljZXMoKSk7XG4gICAgICB0aGlzLmRldmljZXMuc2V0KGxpc3QgfHwgW10pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5kZXZpY2VzLnNldChbXSk7XG4gICAgfVxuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IEFjdGlvbkNhcmRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChhY3Rpb24udG9rZW4gPT09ICdhY3Rpb24tY2hhbmdlLXBhc3N3b3JkJykge1xuICAgICAgdGhpcy5pc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuLnNldCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFjdGlvbi50b2tlbiA9PT0gJ2FjdGlvbi1jaGFuZ2UtZW1haWwnKSB7XG4gICAgICB0aGlzLmlzQ2hhbmdlRW1haWxNb2RhbE9wZW4uc2V0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYWN0aW9uLnRva2VuID09PSAnYWN0aW9uLW1mYScpIHtcbiAgICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmlzTWZhTW9kYWxPcGVuLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBvbk1mYU1vZGFsRGlzbWlzc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNZmFNb2RhbE9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLm1mYVByZWZpbGxDb2RlLnNldCh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVsIHVzZXIgbGxlZ8OzIHbDrWEgbGluayBkZWwgZW1haWwsIGNvbmZpcm3DsyBNRkEgZW4gZWwgbW9kYWwuIENlcnJhbW9zIGVsXG4gICAqIG1vZGFsIHksIHNpIGhheSBob29rIGBvbk1mYUNvbXBsZXRlZGAsIGxvIGludm9jYW1vczsgc2kgbm8sIG5hdmVnYW1vcyBhbFxuICAgKiBgaG9tZVJvdXRlYCBjb25maWd1cmFkbyDigJQgcXVlZGFyc2UgZW4gU2V0dGluZ3Mg4oaSIFNlY3VyaXR5IGRhcsOtYSBsYVxuICAgKiBzZW5zYWNpw7NuIGRlIFwidGFyZWEgaW5jb25jbHVzYVwiIGN1YW5kbyBlbCBmbG93IHlhIHRlcm1pbsOzLlxuICAgKi9cbiAgb25NZmFFbmFibGVkVmlhRGVlcGxpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5pc01mYU1vZGFsT3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5yZXNvbHZlZENvbmZpZygpO1xuICAgIGlmIChjZmcub25NZmFDb21wbGV0ZWQpIHtcbiAgICAgIGNmZy5vbk1mYUNvbXBsZXRlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2b2lkIHRoaXMucm91dGVyPy5uYXZpZ2F0ZUJ5VXJsKGNmZy5ob21lUm91dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWVwLWxpbmsgYC92ZXJpZnk/Li4uJnZlcmlmeS1jb2RlPWAg4oaSIHJlZGlyaWdlIGEgZXN0YSB2aXN0YSBjb24gYD9tZmFDb2RlPWAuXG4gICAqIEFicmUgZWwgbW9kYWwgTUZBIGNvbiBlbCBjw7NkaWdvIHByZS1jYXJnYWRvIGVuIGVsIHBhc28gZGUgY29uZmlybWFjacOzbi5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlTWZhQ29kZUZyb21VcmwoKTogdm9pZCB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMucm91dGU/LnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdtZmFDb2RlJyk7XG4gICAgaWYgKCFjb2RlKSByZXR1cm47XG4gICAgLy8gTGltcGlhIGVsIHF1ZXJ5IHBhcmFtIC0gdW4gcmVmcmVzaCBubyBkZWJlIHJlLWFicmlyIGVsIG1vZGFsLlxuICAgIHZvaWQgdGhpcy5yb3V0ZXI/Lm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1mYUNvZGU6IG51bGwgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KGNvZGUpO1xuICAgIHRoaXMuaXNNZmFNb2RhbE9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlc2NyaWJlRGV2aWNlKGQ6IERldmljZUluZm8pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzID0gW2QucGxhdGZvcm0sIGQuYnJvd3NlciwgZC5sb2NhdGlvbl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgwrcgJykgfHwgZC5kZXZpY2VJZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXREYXRlKGlzbz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFpc28pIHJldHVybiAnJztcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGlzbykudG9Mb2NhbGVTdHJpbmcodGhpcy5pMThuLmxhbmcoKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gaXNvO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9hc3RPayhtc2c6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICBtZXNzYWdlOiBtc2csXG4gICAgICBkdXJhdGlvbjogMjIwMCxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgfSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU2Vzc2lvbnMgLSBtw6l0b2Rvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogSWNvbm8gc2Vnw7puIGRldmljZTogcGhvbmUgc2kgVUEgbW9iaWxlLCBzaW5vIGxhcHRvcC4gKi9cbiAgZGV2aWNlSWNvbihzOiBTZXNzaW9uSW5mbyk6IHN0cmluZyB7XG4gICAgY29uc3QgdWEgPSAocy5kZXZpY2VJbmZvIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzTW9iaWxlID0gL2lwaG9uZXxpcGFkfGlwb2R8YW5kcm9pZHxtb2JpbGUvLnRlc3QodWEpO1xuICAgIHJldHVybiBpc01vYmlsZSA/ICdwaG9uZS1wb3J0cmFpdC1vdXRsaW5lJyA6ICdsYXB0b3Atb3V0bGluZSc7XG4gIH1cblxuICBmb3JtYXRTZXNzaW9uTWV0YShzOiBTZXNzaW9uSW5mbyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHMubG9jYXRpb24pIHBhcnRzLnB1c2gocy5sb2NhdGlvbik7XG4gICAgZWxzZSBpZiAocy5pcCkgcGFydHMucHVzaChzLmlwKTtcbiAgICBpZiAocy5jcmVhdGVkQXQpIHBhcnRzLnB1c2gobmV3IERhdGUocy5jcmVhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgwrcgJyk7XG4gIH1cblxuICBhc3luYyBvblJldm9rZU9uZShzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLnJldm9rZVNlc3Npb24oc2Vzc2lvbklkKSk7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc1Jldm9rZWQnKSxcbiAgICAgICAgZHVyYXRpb246IDI1MDAsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3NlY3VyaXR5LnJldm9rZVNlc3Npb24nLFxuICAgICAgICBmYWxsYmFja0tleTogJ3Nlc3Npb25zRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25SZXZva2VBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb25maXJtRGlhbG9nLmNvbmZpcm1EZXN0cnVjdGl2ZSh7XG4gICAgICB0aXRsZTogdGhpcy50dCgncmV2b2tlQWxsQ29uZmlybVRpdGxlJyksXG4gICAgICBtZXNzYWdlOiB0aGlzLnR0KCdyZXZva2VBbGxDb25maXJtTWVzc2FnZScpLFxuICAgICAgY29uZmlybUJ1dHRvbjogeyB0ZXh0OiB0aGlzLnR0KCdyZXZva2VBbGxDb25maXJtJykgfSxcbiAgICAgIGNhbmNlbEJ1dHRvbjogeyB0ZXh0OiB0aGlzLnR0KCdjYW5jZWwnKSB9LFxuICAgIH0pO1xuICAgIGlmICghcmVzdWx0LmNvbmZpcm1lZCkgcmV0dXJuO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UucmV2b2tlQWxsU2Vzc2lvbnMoKSk7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc0FsbFJldm9rZWQnKSxcbiAgICAgICAgZHVyYXRpb246IDI1MDAsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3NlY3VyaXR5LnJldm9rZUFsbFNlc3Npb25zJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZXNzaW9uc0Vycm9yJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBYnJlIG1vZGFsIGNvbiBsYSBsaXN0YSBjb21wbGV0YS4gQ2FkYSByZXZva2UgcGFzYSBwb3IgYG9uUmV2b2tlYC4gKi9cbiAgYXN5bmMgb3BlblNlc3Npb25zTW9kYWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb25SZXZva2UgPSBhc3luYyAoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPFNlc3Npb25JbmZvW10+ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UucmV2b2tlU2Vzc2lvbihzZXNzaW9uSWQpKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc1Jldm9rZWQnKSxcbiAgICAgICAgICBkdXJhdGlvbjogMjUwMCxcbiAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICAgIGNvbnRleHQ6ICdzZWN1cml0eS5yZXZva2VTZXNzaW9uLm1vZGFsJyxcbiAgICAgICAgICBmYWxsYmFja0tleTogJ3Nlc3Npb25zRXJyb3InLFxuICAgICAgICAgIGkxOG5OYW1lc3BhY2U6IHRoaXMubnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLmxvYWRTZXNzaW9ucygpO1xuICAgICAgcmV0dXJuIHRoaXMuc29ydGVkU2Vzc2lvbnMoKTtcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5tb2RhbFNlcnZpY2Uub3BlblNoZWV0PFNlc3Npb25MaXN0TW9kYWxDb21wb25lbnQ+KHtcbiAgICAgIGNvbXBvbmVudDogU2Vzc2lvbkxpc3RNb2RhbENvbXBvbmVudCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB7XG4gICAgICAgIHNlc3Npb25zOiB0aGlzLnNvcnRlZFNlc3Npb25zKCksXG4gICAgICAgIHRpdGxlOiB0aGlzLnR0KCdzZXNzaW9uc01vZGFsVGl0bGUnKSxcbiAgICAgICAgY2xvc2VMYWJlbDogdGhpcy50dCgnbG9naW5BdHRlbXB0Q2xvc2UnKSxcbiAgICAgICAgdGhpc0xhYmVsOiB0aGlzLnNlc3Npb25zVGhpcygpLFxuICAgICAgICByZXZva2VMYWJlbDogdGhpcy50dCgnc2Vzc2lvbnNSZXZva2UnKSxcbiAgICAgICAgb25SZXZva2UsXG4gICAgICB9LFxuICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDEsXG4gICAgICBicmVha3BvaW50czogWzAsIDFdLFxuICAgICAgc2hvd0hhbmRsZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRTZXNzaW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnNlc3Npb25zTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxpc3QgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLmxpc3RTZXNzaW9ucygpKTtcbiAgICAgIHRoaXMuc2Vzc2lvbnMuc2V0KGxpc3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NlY3VyaXR5XSBsaXN0U2Vzc2lvbnMgZmFpbGVkOicsIGVycik7XG4gICAgICB0aGlzLnNlc3Npb25zLnNldChbXSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2Vzc2lvbnNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIExlZSBkZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvLiAqL1xuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG59XG4iXX0=
|
|
823
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3NlY3VyaXR5LXZpZXcvc2VjdXJpdHktdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlD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OU90Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtJVCxzL0NBcEpDLFlBQVksK0JBQ1osT0FBTyx3RUFDUCxNQUFNLG9EQUNOLE1BQU0sa1RBQ04sT0FBTywySkFDUCxnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixlQUFlLDBHQUNmLG1CQUFtQixvV0FDbkIscUJBQXFCLGlGQUNyQixrQkFBa0IsOEVBQ2xCLHVCQUF1QixtRkFDdkIseUJBQXlCLDBIQUN6Qiw0QkFBNEIsNkhBQzVCLGlCQUFpQixzSkFDakIsa0JBQWtCOzs0RkFnUFQscUJBQXFCO2tCQXBRakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxNQUFNO3dCQUNOLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0lUO3dEQThIUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25Db2wsIElvbkdyaWQsIElvbkljb24sIElvblJvdyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBsYXB0b3BPdXRsaW5lLCBwaG9uZVBvcnRyYWl0T3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWhlYWRlci9hY3Rpb24taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24taGVhZGVyL3R5cGVzJztcbmltcG9ydCB7IFBhZ2VMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wYWdlLWxpbmtzL3BhZ2UtbGlua3MuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VMaW5rc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BhZ2UtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9za2VsZXRvbi1sYXlvdXQvc2tlbGV0b24tbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFuZ2VFbWFpbE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hhbmdlLWVtYWlsLW1vZGFsL2NoYW5nZS1lbWFpbC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2NoYW5nZS1wYXNzd29yZC1tb2RhbC9jaGFuZ2UtcGFzc3dvcmQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE1mYU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vbWZhLW1vZGFsL21mYS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9naW5BdHRlbXB0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9sb2dpbi1hdHRlbXB0LW1vZGFsL2xvZ2luLWF0dGVtcHQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNlc3Npb25MaXN0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9zZXNzaW9uLWxpc3QtbW9kYWwvc2Vzc2lvbi1saXN0LW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBEZXZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9kZXZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IERldmljZUluZm8sIFNlc3Npb25JbmZvLCBWYWxpZGF0ZUFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC90eXBlcyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTGVnYWxMaW5rU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xlZ2FsLWxpbmsvbGVnYWwtbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29ubmVjdFBhZ2VSZWZyZXNoIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1yZWZyZXNoL3BhZ2UtcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy92YWx0ZWNoLWVycm9yLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTZWN1cml0eVZpZXdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNFQ1VSSVRZX1ZJRVdfSTE4TiB9IGZyb20gJy4vc2VjdXJpdHktdmlldy5pMThuJztcblxuYWRkSWNvbnMoeyBsYXB0b3BPdXRsaW5lLCBwaG9uZVBvcnRyYWl0T3V0bGluZSB9KTtcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuU2VjdXJpdHknO1xuXG4vKipcbiAqIGB2YWwtc2VjdXJpdHktdmlld2Ag4oCUIHZpc3RhIFNlZ3VyaWRhZCBmdWxsLWZlYXR1cmUgYXV0b2NvbnRlbmlkYSAob3JnYW5pc20pLlxuICpcbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLiBSZcO6bmUgZW4gdW5hIHNvbGEgdmlzdGE6XG4gKiAgLSAqKlNlc2lvbmVzIGFjdGl2YXMqKiDigJQgw7puaWNhIHZpc3RhIHVzZXItZmFjaW5nIGRlIFwiZMOzbmRlIHRlbmdvIHNlc2nDs25cIi5cbiAqICAgIExpc3RhIGlubGluZSAobGltaXQgMykgKyBtb2RhbCBcIlZlciB0b2Rhc1wiIChgdmFsLXNlc3Npb24tbGlzdC1tb2RhbGApICtcbiAqICAgIHJldm9rZSBpbmRpdmlkdWFsIC8gcmV2b2tlLWFsbCAoY29uIGNvbmZpcm1hY2nDs24pLlxuICogIC0gKipBY3Rpb24tY2FyZHMqKiDigJQgY2FtYmlhciBjb250cmFzZcOxYSwgY2FtYmlhciBlbWFpbCB5IE1GQSAoY2FkYSB1bmEgYWJyZVxuICogICAgZWwgbW9kYWwgY29ycmVzcG9uZGllbnRlIGRlIGxhIGxpYikuXG4gKiAgLSAqKlBvbMOtdGljYXMgbGVnYWxlcyoqIOKAlCBsaW5rcyByZXN1ZWx0b3MgdsOtYSBgTGVnYWxMaW5rU2VydmljZWAgKGFwcHNcbiAqICAgIHNhdMOpbGl0ZSBhcHVudGFuIGFsIG1haW4gc2l0ZSkuXG4gKlxuICogRGVlcC1saW5rcyBkZWwgZW1haWwgKGdhdGVhZG9zIHBvciBgY29uZmlnLmhhbmRsZURlZXBMaW5rc2AsIGRlZmF1bHQgYHRydWVgKTpcbiAqICAtIGA/dG9rZW49Li4uJmFjdGlvbj0uLi5gIOKGkiBtb2RhbCBgdmFsLWxvZ2luLWF0dGVtcHQtbW9kYWxgIChhdXRvcml6YXIvYmxvcXVlYXJcbiAqICAgIGVsIG51ZXZvIGFjY2VzbykuXG4gKiAgLSBgP21mYUNvZGU9Li4uYCDihpIgYWJyZSBlbCBtb2RhbCBNRkEgY29uIGVsIGPDs2RpZ28gcHJlLWNhcmdhZG8uXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRlZmF1bHRzIGkxOG4gKGVzL2VuKSBlbiBlbCBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBub1xuICogcHJvdmV5w7MgZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvIChkZWZhdWx0IGBTZXR0aW5ncy5TZWN1cml0eWApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VjdXJpdHktdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uR3JpZCxcbiAgICBJb25Sb3csXG4gICAgSW9uQ29sLFxuICAgIElvbkljb24sXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25DYXJkQ29tcG9uZW50LFxuICAgIEFjdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBQYWdlTGlua3NDb21wb25lbnQsXG4gICAgU2tlbGV0b25MYXlvdXRDb21wb25lbnQsXG4gICAgQ2hhbmdlRW1haWxNb2RhbENvbXBvbmVudCxcbiAgICBDaGFuZ2VQYXNzd29yZE1vZGFsQ29tcG9uZW50LFxuICAgIE1mYU1vZGFsQ29tcG9uZW50LFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLWNvbnRhaW5lciBbcHJvcHNdPVwieyBzaXplOiAnbWQnLCBwYWRkaW5nOiAnbm9uZScgfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VcIj5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cInBhZ2UtaGVhZGVyXCI+XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHBhZ2VUaXRsZSgpIH1cIiAvPlxuICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICBjb250ZW50OiBwYWdlRGVzY3JpcHRpb24oKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93U2Vzc2lvbnMpIHtcbiAgICAgICAgICA8IS0tIDEuIEFjdGl2ZSBzZXNzaW9ucyAtIHVuaWNhIHZpc3RhIHVzZXItZmFjaW5nIGRlIGRvbmRlIHRlbmdvIHNlc2lvbi4gLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKGhhc090aGVyU2Vzc2lvbnMoKSkge1xuICAgICAgICAgICAgICA8dmFsLWFjdGlvbi1oZWFkZXIgW3Byb3BzXT1cInNlc3Npb25zSGVhZGVyKClcIiAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNlc3Npb25zVGl0bGVXaXRoQ291bnQoKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tYm9keVwiPlxuICAgICAgICAgICAgICBAaWYgKHNlc3Npb25zTG9hZGluZygpKSB7XG4gICAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbi1sYXlvdXQgW3Byb3BzXT1cInsgcHJlc2V0OiAnbGlzdCcsIHJvd3M6IDMgfVwiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHNlc3Npb25zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBzZXNzaW9uc0VtcHR5TGFiZWwoKSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNlc3Npb25zXCI+XG4gICAgICAgICAgICAgICAgICBAZm9yIChzIG9mIHZpc2libGVTZXNzaW9ucygpOyB0cmFjayBzLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzZXNzaW9uXCIgW2NsYXNzLnNlc3Npb24tLWN1cnJlbnRdPVwicy5pc0N1cnJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJzZXNzaW9uX19pY29uXCIgW25hbWVdPVwiZGV2aWNlSWNvbihzKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Npb25fX2JvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHMuZGV2aWNlSW5mbyB8fCBzLmRldmljZUlkIHx8ICfigJQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogZm9ybWF0U2Vzc2lvbk1ldGEocyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbl9fZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHMuaXNDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2Vzc2lvbl9fYmFkZ2VcIj57eyBzZXNzaW9uc1RoaXMoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmV2b2tlT25lQnV0dG9uUHJvcHMoKVwiIChjbGljayk9XCJvblJldm9rZU9uZShzLnNlc3Npb25JZClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgQGlmIChoYXNNb3JlU2Vzc2lvbnMoKSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1hY3Rpb25zIHJvdy1hY3Rpb25zLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInZpZXdBbGxCdXR0b25Qcm9wcygpXCIgKGNsaWNrKT1cIm9wZW5TZXNzaW9uc01vZGFsKClcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGhhc0FjdGlvbkNhcmRzKCkpIHtcbiAgICAgICAgICA8IS0tIDIuIFF1aWNrIGFjdGlvbnM6IGNoYW5nZSBwYXNzd29yZCwgY2hhbmdlIGVtYWlsLCBNRkEgLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8aDI+e3sgcXVpY2tBY3Rpb25zVGl0bGUoKSB9fTwvaDI+XG4gICAgICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJjYXJkcy1ncmlkXCI+XG4gICAgICAgICAgICAgIDxpb24tcm93PlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25DYXJkcygpOyB0cmFjayBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtc209XCI2XCI+XG4gICAgICAgICAgICAgICAgICAgIDx2YWwtYWN0aW9uLWNhcmQgW3Byb3BzXT1cImFjdGlvblwiIChvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICA8L2lvbi1ncmlkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93UG9saWNpZXMpIHtcbiAgICAgICAgICA8IS0tIDMuIFJlbGF0ZWQgcG9saWNpZXMgLS0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8aDI+e3sgcG9saWNpZXNUaXRsZSgpIH19PC9oMj5cbiAgICAgICAgICAgIDx2YWwtcGFnZS1saW5rcyBbcHJvcHNdPVwicG9saWN5TGlua3NQcm9wcygpXCIgLz5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICA8dmFsLWNoYW5nZS1lbWFpbC1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNDaGFuZ2VFbWFpbE1vZGFsT3BlbigpXCJcbiAgICAgICAgICAoY2hhbmdlZCk9XCJpc0NoYW5nZUVtYWlsTW9kYWxPcGVuLnNldChmYWxzZSlcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwiaXNDaGFuZ2VFbWFpbE1vZGFsT3Blbi5zZXQoZmFsc2UpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8dmFsLWNoYW5nZS1wYXNzd29yZC1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNDaGFuZ2VQYXNzd29yZE1vZGFsT3BlbigpXCJcbiAgICAgICAgICAoY2hhbmdlZCk9XCJpc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuLnNldChmYWxzZSlcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwiaXNDaGFuZ2VQYXNzd29yZE1vZGFsT3Blbi5zZXQoZmFsc2UpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8dmFsLW1mYS1tb2RhbFxuICAgICAgICAgIFtpc09wZW5dPVwiaXNNZmFNb2RhbE9wZW4oKVwiXG4gICAgICAgICAgW3ByZWZpbGxDb2RlXT1cIm1mYVByZWZpbGxDb2RlKClcIlxuICAgICAgICAgIChkaXNtaXNzZWQpPVwib25NZmFNb2RhbERpc21pc3NlZCgpXCJcbiAgICAgICAgICAoZW5hYmxlZFZpYURlZXBsaW5rKT1cIm9uTWZhRW5hYmxlZFZpYURlZXBsaW5rKClcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC92YWwtY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiBBbmNobyB5IGNyZWNpbWllbnRvIGNvbiBlbCByYWlsIGNvbGFwc2FkbyBsb3MgZGEgdmFsLWNvbnRhaW5lciAoc2l6ZVxuICAgICAgICAgJ21kJyksIG5vIENTUyBsb2NhbDogdmVyIGNvbnRhaW5lci5jb21wb25lbnQuc2Nzcy4gKi9cbiAgICAgIC5wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIH1cbiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgICAgLnNldHRpbmdzLXNlY3Rpb24gKyAuc2V0dGluZ3Mtc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogMCAtNHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCBpb24tY29sIHtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgLmNhcmRzLWdyaWQgaW9uLWNvbCB2YWwtYWN0aW9uLWNhcmQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAvKiAtLS0gU2Vzc2lvbnMgc2VjdGlvbiAtLS0gKi9cbiAgICAgIC5zZWN0aW9uLWJvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm93LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuICAgICAgLnJvdy1hY3Rpb25zLS1jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuICAgICAgLnNlc3Npb25zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAuc2Vzc2lvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsXG4gICAgICAgICAgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG4gICAgICAuc2Vzc2lvbi0tY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDUsIDIxMSwgMTExLCAwLjEpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNDUsIDIxMSwgMTExLCAwLjMpO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2ljb24ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzFhMWExYSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnNlc3Npb24tLWN1cnJlbnQgLnNlc3Npb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2VuZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnNlc3Npb25fX2JhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAyMTEsIDExMSwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5Vmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlID0gaW5qZWN0KERldmljZVNlcnZpY2UpO1xuICBwcml2YXRlIGxlZ2FsTGluayA9IGluamVjdChMZWdhbExpbmtTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIGVycm9ycyA9IGluamVjdChWYWx0ZWNoRXJyb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBtb2RhbFNlcnZpY2UgPSBpbmplY3QoTW9kYWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjb25maXJtRGlhbG9nID0gaW5qZWN0KENvbmZpcm1hdGlvbkRpYWxvZ1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBzZWN1cml0eUNvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGBASW5wdXRgIGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZz86IFNlY3VyaXR5Vmlld0NvbmZpZztcblxuICByZWFkb25seSByZXNvbHZlZENvbmZpZyA9IGNvbXB1dGVkPFxuICAgIFJlcXVpcmVkPE9taXQ8U2VjdXJpdHlWaWV3Q29uZmlnLCAnb25NZmFDb21wbGV0ZWQnPj4gJiBQaWNrPFNlY3VyaXR5Vmlld0NvbmZpZywgJ29uTWZhQ29tcGxldGVkJz5cbiAgPigoKSA9PiB7XG4gICAgY29uc3QgZnJvbVJvdXRlID0gKHRoaXMucm91dGU/LnNuYXBzaG90LmRhdGFbJ3NlY3VyaXR5Q29uZmlnJ10gPz8ge30pIGFzIFNlY3VyaXR5Vmlld0NvbmZpZztcbiAgICBjb25zdCBtZXJnZWQ6IFNlY3VyaXR5Vmlld0NvbmZpZyA9IHsgLi4uZnJvbVJvdXRlLCAuLi4odGhpcy5jb25maWcgPz8ge30pIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIHNob3dTZXNzaW9uczogbWVyZ2VkLnNob3dTZXNzaW9ucyA/PyB0cnVlLFxuICAgICAgc2hvd0NoYW5nZVBhc3N3b3JkOiBtZXJnZWQuc2hvd0NoYW5nZVBhc3N3b3JkID8/IHRydWUsXG4gICAgICBzaG93Q2hhbmdlRW1haWw6IG1lcmdlZC5zaG93Q2hhbmdlRW1haWwgPz8gdHJ1ZSxcbiAgICAgIHNob3dNZmE6IG1lcmdlZC5zaG93TWZhID8/IHRydWUsXG4gICAgICBzaG93UG9saWNpZXM6IG1lcmdlZC5zaG93UG9saWNpZXMgPz8gdHJ1ZSxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTkFNRVNQQUNFLFxuICAgICAgaGFuZGxlRGVlcExpbmtzOiBtZXJnZWQuaGFuZGxlRGVlcExpbmtzID8/IHRydWUsXG4gICAgICBob21lUm91dGU6IG1lcmdlZC5ob21lUm91dGUgPz8gJy9hcHAvaG9tZScsXG4gICAgICBvbk1mYUNvbXBsZXRlZDogbWVyZ2VkLm9uTWZhQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biByZXN1ZWx0byAoY2FwdHVyYWRvIHBhcmEgbGxhbWFkYXMgbm8tcmVhY3RpdmFzKS4gKi9cbiAgcHJpdmF0ZSBnZXQgbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgZGUgZGlzcG9zaXRpdm9zIGRlbCB1c2VyLiBObyBzZSByZW5kZXJpemEg4oCUIHNvbG8gYWxpbWVudGEgZWwgbW9kYWxcbiAgICogZGUgY29uZmlybWFjacOzbiBkZSBpbmljaW8gZGUgc2VzacOzbiAoYGhhbmRsZUFjdGlvblRva2VuRnJvbVVybGApIHBhcmFcbiAgICogcmVzb2x2ZXIgdW4gbGFiZWwgbGVnaWJsZSBkZXNkZSBlbCBgdGFyZ2V0SWRgIGRlbCB0b2tlbi5cbiAgICovXG4gIHByb3RlY3RlZCBkZXZpY2VzID0gc2lnbmFsPERldmljZUluZm9bXT4oW10pO1xuXG4gIHJlYWRvbmx5IHNlc3Npb25zID0gc2lnbmFsPFNlc3Npb25JbmZvW10+KFtdKTtcbiAgcmVhZG9ubHkgc2Vzc2lvbnNMb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuXG4gIHJlYWRvbmx5IGlzQ2hhbmdlRW1haWxNb2RhbE9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBpc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNNZmFNb2RhbE9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAvKiogQ8OzZGlnbyBNRkEgZGVsIGRlZXAtbGluayBgL3ZlcmlmeWAg4oCUIHByZS1jYXJnYSBlbCBtb2RhbCBlbiBjb25maXJtYWNpw7NuLiAqL1xuICByZWFkb25seSBtZmFQcmVmaWxsQ29kZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgcGFnZVRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50dCgncGFnZVRpdGxlJykpO1xuICByZWFkb25seSBwYWdlRGVzY3JpcHRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdwYWdlRGVzY3JpcHRpb24nKSk7XG5cbiAgcmVhZG9ubHkgcXVpY2tBY3Rpb25zVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdxdWlja0FjdGlvbnNUaXRsZScpKTtcbiAgcmVhZG9ubHkgcG9saWNpZXNUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudHQoJ3BvbGljaWVzVGl0bGUnKSk7XG5cbiAgcmVhZG9ubHkgaGFzQWN0aW9uQ2FyZHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFjdGlvbkNhcmRzKCkubGVuZ3RoID4gMCk7XG5cbiAgcmVhZG9ubHkgYWN0aW9uQ2FyZHMgPSBjb21wdXRlZDxBY3Rpb25DYXJkTWV0YWRhdGFbXT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5yZXNvbHZlZENvbmZpZygpO1xuICAgIGNvbnN0IGNhcmRzOiBBY3Rpb25DYXJkTWV0YWRhdGFbXSA9IFtdO1xuICAgIGlmIChjZmcuc2hvd0NoYW5nZVBhc3N3b3JkKSB7XG4gICAgICBjYXJkcy5wdXNoKHtcbiAgICAgICAgdG9rZW46ICdhY3Rpb24tY2hhbmdlLXBhc3N3b3JkJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2NoYW5nZVBhc3N3b3JkJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdjaGFuZ2VQYXNzd29yZERlc2MnKSxcbiAgICAgICAgaWNvbjogeyBpb25pY29uOiAna2V5LW91dGxpbmUnLCBjb2xvcjogJ2RhcmsnLCBiYWNrZ3JvdW5kQ29sb3I6ICdsaWdodCcgfSxcbiAgICAgICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgICAgIHNoYWRvd2VkOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjZmcuc2hvd0NoYW5nZUVtYWlsKSB7XG4gICAgICBjYXJkcy5wdXNoKHtcbiAgICAgICAgdG9rZW46ICdhY3Rpb24tY2hhbmdlLWVtYWlsJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2NoYW5nZUVtYWlsJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdjaGFuZ2VFbWFpbERlc2MnKSxcbiAgICAgICAgaWNvbjogeyBpb25pY29uOiAnbWFpbC1vdXRsaW5lJywgY29sb3I6ICdkYXJrJywgYmFja2dyb3VuZENvbG9yOiAnbGlnaHQnIH0sXG4gICAgICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgICAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2ZnLnNob3dNZmEpIHtcbiAgICAgIGNhcmRzLnB1c2goe1xuICAgICAgICB0b2tlbjogJ2FjdGlvbi1tZmEnLFxuICAgICAgICB0aXRsZTogdGhpcy50dCgnbWZhJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdtZmFEZXNjJyksXG4gICAgICAgIGljb246IHsgaW9uaWNvbjogJ3NoaWVsZC1jaGVja21hcmstb3V0bGluZScsIGNvbG9yOiAnZGFyaycsIGJhY2tncm91bmRDb2xvcjogJ2xpZ2h0JyB9LFxuICAgICAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICAgICAgc2hhZG93ZWQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNhcmRzO1xuICB9KTtcblxuICAvKipcbiAgICogRnVlbnRlIMO6bmljYSBkZSBsaW5rcyBsZWdhbGVzIGRlbCBwcm9kdWN0by4gU2UgcmVzdWVsdmVuIHbDrWFcbiAgICogYExlZ2FsTGlua1NlcnZpY2VgIOKAlCBhcHBzIHNhdMOpbGl0ZSBhcHVudGFuIGFsIG1haW4gc2l0ZSwgZWwgbWFpbiBzaXRlIGxvc1xuICAgKiBkZWphIHJlbGF0aXZvcy5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeUxpbmtzUHJvcHMgPSBjb21wdXRlZDxQYWdlTGlua3NNZXRhZGF0YT4oKCkgPT4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgbGluayA9IChwYXRoOiBzdHJpbmcsIGxhYmVsS2V5OiBzdHJpbmcpID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50dChsYWJlbEtleSksXG4gICAgICBocmVmOiB0aGlzLmxlZ2FsTGluay5yZXNvbHZlKHBhdGgsIHsgbG9jYWxlIH0pLFxuICAgICAgZXh0ZXJuYWw6IHRoaXMubGVnYWxMaW5rLmlzRXh0ZXJuYWwocGF0aCksXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmtzOiBbXG4gICAgICAgIGxpbmsoJy9sZWdhbC90ZXJtcycsICd0ZXJtc0xpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL3ByaXZhY3knLCAncHJpdmFjeUxpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2Nvb2tpZXMnLCAnY29va2llc0xpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2RhdGEtdXNhZ2UnLCAnZGF0YVVzYWdlTGluaycpLFxuICAgICAgICBsaW5rKCcvbGVnYWwvdGhpcmQtcGFydHknLCAndGhpcmRQYXJ0eUxpbmsnKSxcbiAgICAgICAgbGluaygnL2xlZ2FsL2xlZ2FsLW5vdGljZScsICdsZWdhbE5vdGljZUxpbmsnKSxcbiAgICAgIF0sXG4gICAgICBzaG93RGl2aWRlcnM6IHRydWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlc3Npb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIHJlYWRvbmx5IHNlc3Npb25zVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc1RpdGxlJykpO1xuICByZWFkb25seSBzZXNzaW9uc0VtcHR5TGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc0VtcHR5JykpO1xuICByZWFkb25seSBzZXNzaW9uc1RoaXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnR0KCdzZXNzaW9uc1RoaXMnKSk7XG5cbiAgcmVhZG9ubHkgaGFzT3RoZXJTZXNzaW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2Vzc2lvbnMoKS5zb21lKHMgPT4gIXMuaXNDdXJyZW50KSk7XG5cbiAgLyoqIFNlc2lvbmVzIG9yZGVuYWRhczogY3VycmVudCBwcmltZXJvLCByZXN0byBwb3IgY3JlYXRlZEF0IGRlc2MuICovXG4gIHJlYWRvbmx5IHNvcnRlZFNlc3Npb25zID0gY29tcHV0ZWQ8U2Vzc2lvbkluZm9bXT4oKCkgPT4ge1xuICAgIGNvbnN0IGFsbCA9IFsuLi50aGlzLnNlc3Npb25zKCldO1xuICAgIHJldHVybiBhbGwuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGEuaXNDdXJyZW50ICYmICFiLmlzQ3VycmVudCkgcmV0dXJuIC0xO1xuICAgICAgaWYgKCFhLmlzQ3VycmVudCAmJiBiLmlzQ3VycmVudCkgcmV0dXJuIDE7XG4gICAgICByZXR1cm4gKGIuY3JlYXRlZEF0IHx8ICcnKS5sb2NhbGVDb21wYXJlKGEuY3JlYXRlZEF0IHx8ICcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIExpbWl0IGRlIHNlc2lvbmVzIG1vc3RyYWRhcyBpbmxpbmUuIFNpIHRvdGFsID4gbGltaXQsIFwiVmVyIHRvZGFzXCIgYWJyZSBtb2RhbC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBWSVNJQkxFX0xJTUlUID0gMztcblxuICByZWFkb25seSB2aXNpYmxlU2Vzc2lvbnMgPSBjb21wdXRlZDxTZXNzaW9uSW5mb1tdPigoKSA9PiB0aGlzLnNvcnRlZFNlc3Npb25zKCkuc2xpY2UoMCwgdGhpcy5WSVNJQkxFX0xJTUlUKSk7XG5cbiAgcmVhZG9ubHkgaGFzTW9yZVNlc3Npb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zb3J0ZWRTZXNzaW9ucygpLmxlbmd0aCA+IHRoaXMuVklTSUJMRV9MSU1JVCk7XG5cbiAgLyoqIFRpdHVsbyBjb24gY291bnQ6IFwiU2VzaW9uZXMgYWN0aXZhcyAoNClcIi4gU2luIGNvdW50IHNpIE49MC4gKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbnNUaXRsZVdpdGhDb3VudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBuID0gdGhpcy5zb3J0ZWRTZXNzaW9ucygpLmxlbmd0aDtcbiAgICBpZiAobiA9PT0gMCkgcmV0dXJuIHRoaXMuc2Vzc2lvbnNUaXRsZSgpO1xuICAgIHJldHVybiB0aGlzLnR0KCdzZXNzaW9uc1RpdGxlQ291bnQnKS5yZXBsYWNlKCd7bn0nLCBTdHJpbmcobikpO1xuICB9KTtcblxuICByZWFkb25seSByZXZva2VPbmVCdXR0b25Qcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIHRleHQ6IHRoaXMudHQoJ3Nlc3Npb25zUmV2b2tlJyksXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBmaWxsOiAnY2xlYXInLFxuICAgIHNpemU6ICdzbWFsbCcsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgdG9rZW46ICdzZXNzaW9uLXJldm9rZScsXG4gIH0pKTtcblxuICByZWFkb25seSB2aWV3QWxsQnV0dG9uUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiB0aGlzLnR0KCdzZXNzaW9uc1ZpZXdBbGwnKSxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIGZpbGw6ICdjbGVhcicsXG4gICAgc2l6ZTogJ3NtYWxsJyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gIH0pKTtcblxuICAvKiogQWN0aW9uLWhlYWRlciBkZSBTZXNpb25lczogdGl0bGUgKyBjb3VudCArIGJvdG9uIFwiQ2VycmFyIHRvZGFzIGxhcyBkZW1hc1wiLiAqL1xuICByZWFkb25seSBzZXNzaW9uc0hlYWRlciA9IGNvbXB1dGVkPEFjdGlvbkhlYWRlck1ldGFkYXRhPigoKSA9PiAoe1xuICAgIGhlYWRpbmdLaW5kOiAndGl0bGUnLFxuICAgIHRpdGxlOiB7XG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgY29udGVudDogdGhpcy5zZXNzaW9uc1RpdGxlV2l0aENvdW50KCksXG4gICAgfSxcbiAgICBhY3Rpb246IHtcbiAgICAgIHRleHQ6IHRoaXMudHQoJ3Nlc3Npb25zUmV2b2tlQWxsJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgdG9rZW46ICdzZXNzaW9uLXJldm9rZS1hbGwnLFxuICAgICAgaGFuZGxlcjogKCkgPT4gdGhpcy5vblJldm9rZUFsbCgpLFxuICAgIH0sXG4gIH0pKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBucyA9IHRoaXMubnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMobnMsIFNFQ1VSSVRZX1ZJRVdfSTE4Tik7XG4gICAgdGhpcy5uYXYuc2V0QmFja0hlYWRlcigncGFnZVRpdGxlJywgbnMsIHsgd2l0aE1lbnU6IHRydWUgfSk7XG5cbiAgICAvLyBDYXJnYSBpbmljaWFsIGRlIHNlc2lvbmVzIC0gcmVjYXJnYSByZWFjdGl2YSBhIGNhbWJpbyBkZSBsb2NhbGUgcGFyYVxuICAgIC8vIHF1ZSBsb3MgdGV4dG9zIHkgbWV0YWRhdG9zIHNlIG1hbnRlbmdhbiBmcmVzY29zLiBMb3MgZGV2aWNlcyBzb2xvIHNlXG4gICAgLy8gY2FyZ2FuIG9uLWRlbWFuZCBkZXNkZSBlbCBmbHVqbyBkZWwgbW9kYWwgKGhhbmRsZUFjdGlvblRva2VuRnJvbVVybCkuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgICAgICBjb25zdCBzaG93U2Vzc2lvbnMgPSB0aGlzLnJlc29sdmVkQ29uZmlnKCkuc2hvd1Nlc3Npb25zO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIGlmIChzaG93U2Vzc2lvbnMpIHZvaWQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIFB1bGwtdG8tcmVmcmVzaCBlc3RhbmRhciAoUmVnbGEgIzMpIC0gcmUtZmV0Y2hlYSBsYXMgc2VzaW9uZXMgYWN0aXZhcy5cbiAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5sb2FkU2Vzc2lvbnMoKSk7XG5cbiAgICAvLyBEZWVwLWxpbmtzIGRlbCBlbWFpbCAtIHNvbG8gc2kgZXN0YW4gaGFiaWxpdGFkb3MgWSBoYXkgcnV0YSAobW9udGFkYSBjb21vXG4gICAgLy8gcm91dGUpLiBFbiBtb2RvIGVtYmViaWRvIHNpbiBydXRhIGVzIG5vLW9wLlxuICAgIGlmICh0aGlzLnJlc29sdmVkQ29uZmlnKCkuaGFuZGxlRGVlcExpbmtzICYmIHRoaXMucm91dGUpIHtcbiAgICAgIC8vIFNpIGVsIHVzZXIgbGxlZ28gdmlhIGxpbmsgZGVsIGVtYWlsICg/dG9rZW49Li4uJmFjdGlvbj0uLi4pLCBhYnJlIGVsXG4gICAgICAvLyBtb2RhbCBkZSBjb25maXJtYWNpb24gcGFyYSBhdXRvcml6YXIvcmVjaGF6YXIgZWwgaW50ZW50by5cbiAgICAgIHZvaWQgdGhpcy5oYW5kbGVBY3Rpb25Ub2tlbkZyb21VcmwoKTtcbiAgICAgIC8vIERlZXAtbGluayBkZWwgZW1haWwgZGUgc2V0dXAgTUZBLWVtYWlsICg/bWZhQ29kZT0uLi4pLlxuICAgICAgdGhpcy5oYW5kbGVNZmFDb2RlRnJvbVVybCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMbGVnYSB2w61hIGxpbmsgZGVsIGVtYWlsIGRlIFwibnVldm8gYWNjZXNvXCIgKGA/dG9rZW49Li4uYCkuIFZhbGlkYSBlbCB0b2tlblxuICAgKiAoc2luIGVqZWN1dGFyKSB5IGxldmFudGEgZWwgbW9kYWwgZGUgY29uZmlybWFjacOzbi4gRWwgYmxvcXVlbyBzb2xvIHNlXG4gICAqIGVqZWN1dGEgc2kgZWwgdXNlciBjb25maXJtYSBcIm5vIGZ1aSB5b1wiIGRlbnRybyBkZWwgbW9kYWwuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFjdGlvblRva2VuRnJvbVVybCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMucm91dGU/LnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0b2tlbicpO1xuICAgIGlmICghdG9rZW4pIHJldHVybjtcblxuICAgIC8vIExpbXBpYSA/dG9rZW4vP2FjdGlvbiBkZSBsYSBVUkwgeWEgLSBlbCBtb2RhbCBlcyBsYSBmdWVudGUgZGUgdmVyZGFkO1xuICAgIC8vIHVuIHJlZnJlc2ggbm8gZGViZSByZS1hYnJpcmxvIG5pIHJlLXZhbGlkYXIuXG4gICAgdm9pZCB0aGlzLnJvdXRlcj8ubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUgPz8gdW5kZWZpbmVkLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdG9rZW46IG51bGwsIGFjdGlvbjogbnVsbCB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBsZXQgdmFsaWRhdGlvbjogVmFsaWRhdGVBY3Rpb25SZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZGV2aWNlU2VydmljZS52YWxpZGF0ZUFjdGlvbih0b2tlbikpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnc2VjdXJpdHkudmFsaWRhdGVBY3Rpb25Ub2tlbicsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAndG9rZW5BY3Rpb25GYWlsZWQnLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdmFsaWRhdGlvbi52YWxpZCkge1xuICAgICAgdGhpcy50b2FzdFRva2VuSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlc3VlbHZlIGVsIGRpc3Bvc2l0aXZvIG9iamV0aXZvIGRlc2RlIGxhIGxpc3RhIGNhcmdhZGEgcGFyYSBtb3N0cmFybG8uXG4gICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlcygpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZGV2aWNlcygpLmZpbmQoZCA9PiBkLmRldmljZUlkID09PSB2YWxpZGF0aW9uLnRhcmdldElkKTtcbiAgICBjb25zdCBpc01vYmlsZSA9IHRhcmdldD8ucGxhdGZvcm0gPT09ICdpb3MnIHx8IHRhcmdldD8ucGxhdGZvcm0gPT09ICdhbmRyb2lkJztcblxuICAgIGNvbnN0IG9uQmxvY2sgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmRldmljZVNlcnZpY2UuZXhlY3V0ZUFjdGlvbih0b2tlbikpO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlcygpO1xuICAgIH07XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1vZGFsU2VydmljZS5vcGVuPExvZ2luQXR0ZW1wdE1vZGFsQ29tcG9uZW50Pih7XG4gICAgICBjb21wb25lbnQ6IExvZ2luQXR0ZW1wdE1vZGFsQ29tcG9uZW50LFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgdGl0bGU6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdFRpdGxlJyksXG4gICAgICAgIGJvZHk6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdEJvZHknKSxcbiAgICAgICAgZGV2aWNlTGFiZWw6IHRhcmdldCA/IHRoaXMuZGVzY3JpYmVEZXZpY2UodGFyZ2V0KSA6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdFVua25vd25EZXZpY2UnKSxcbiAgICAgICAgbWV0YUxhYmVsOiB0YXJnZXQgPyB0aGlzLmZvcm1hdERhdGUodGFyZ2V0Lmxhc3RBY3RpdmUpIDogJycsXG4gICAgICAgIG1pbmVMYWJlbDogdGhpcy50dCgnbG9naW5BdHRlbXB0TWluZScpLFxuICAgICAgICBibG9ja0xhYmVsOiB0aGlzLnR0KCdsb2dpbkF0dGVtcHRCbG9jaycpLFxuICAgICAgICBjbG9zZUxhYmVsOiB0aGlzLnR0KCdsb2dpbkF0dGVtcHRDbG9zZScpLFxuICAgICAgICBkb25lTGFiZWw6IHRoaXMudHQoJ2xvZ2luQXR0ZW1wdERvbmUnKSxcbiAgICAgICAgaXNNb2JpbGUsXG4gICAgICAgIG9uQmxvY2ssXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5yb2xlID09PSAnYmxvY2tlZCcpIHtcbiAgICAgIHRoaXMudG9hc3RPayh0aGlzLnR0KCdibG9ja2VkJykpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnJvbGUgPT09ICdlcnJvcicpIHtcbiAgICAgIHRoaXMudG9hc3RUb2tlbkludmFsaWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvYXN0VG9rZW5JbnZhbGlkKCk6IHZvaWQge1xuICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICBtZXNzYWdlOiB0aGlzLnR0KCd0b2tlbkFjdGlvbkZhaWxlZCcpLFxuICAgICAgZHVyYXRpb246IDM1MDAsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZERldmljZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxpc3QgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmRldmljZVNlcnZpY2UubGlzdERldmljZXMoKSk7XG4gICAgICB0aGlzLmRldmljZXMuc2V0KGxpc3QgfHwgW10pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5kZXZpY2VzLnNldChbXSk7XG4gICAgfVxuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IEFjdGlvbkNhcmRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChhY3Rpb24udG9rZW4gPT09ICdhY3Rpb24tY2hhbmdlLXBhc3N3b3JkJykge1xuICAgICAgdGhpcy5pc0NoYW5nZVBhc3N3b3JkTW9kYWxPcGVuLnNldCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFjdGlvbi50b2tlbiA9PT0gJ2FjdGlvbi1jaGFuZ2UtZW1haWwnKSB7XG4gICAgICB0aGlzLmlzQ2hhbmdlRW1haWxNb2RhbE9wZW4uc2V0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYWN0aW9uLnRva2VuID09PSAnYWN0aW9uLW1mYScpIHtcbiAgICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmlzTWZhTW9kYWxPcGVuLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBvbk1mYU1vZGFsRGlzbWlzc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNZmFNb2RhbE9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLm1mYVByZWZpbGxDb2RlLnNldCh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVsIHVzZXIgbGxlZ8OzIHbDrWEgbGluayBkZWwgZW1haWwsIGNvbmZpcm3DsyBNRkEgZW4gZWwgbW9kYWwuIENlcnJhbW9zIGVsXG4gICAqIG1vZGFsIHksIHNpIGhheSBob29rIGBvbk1mYUNvbXBsZXRlZGAsIGxvIGludm9jYW1vczsgc2kgbm8sIG5hdmVnYW1vcyBhbFxuICAgKiBgaG9tZVJvdXRlYCBjb25maWd1cmFkbyDigJQgcXVlZGFyc2UgZW4gU2V0dGluZ3Mg4oaSIFNlY3VyaXR5IGRhcsOtYSBsYVxuICAgKiBzZW5zYWNpw7NuIGRlIFwidGFyZWEgaW5jb25jbHVzYVwiIGN1YW5kbyBlbCBmbG93IHlhIHRlcm1pbsOzLlxuICAgKi9cbiAgb25NZmFFbmFibGVkVmlhRGVlcGxpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5pc01mYU1vZGFsT3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5yZXNvbHZlZENvbmZpZygpO1xuICAgIGlmIChjZmcub25NZmFDb21wbGV0ZWQpIHtcbiAgICAgIGNmZy5vbk1mYUNvbXBsZXRlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2b2lkIHRoaXMucm91dGVyPy5uYXZpZ2F0ZUJ5VXJsKGNmZy5ob21lUm91dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWVwLWxpbmsgYC92ZXJpZnk/Li4uJnZlcmlmeS1jb2RlPWAg4oaSIHJlZGlyaWdlIGEgZXN0YSB2aXN0YSBjb24gYD9tZmFDb2RlPWAuXG4gICAqIEFicmUgZWwgbW9kYWwgTUZBIGNvbiBlbCBjw7NkaWdvIHByZS1jYXJnYWRvIGVuIGVsIHBhc28gZGUgY29uZmlybWFjacOzbi5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlTWZhQ29kZUZyb21VcmwoKTogdm9pZCB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMucm91dGU/LnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdtZmFDb2RlJyk7XG4gICAgaWYgKCFjb2RlKSByZXR1cm47XG4gICAgLy8gTGltcGlhIGVsIHF1ZXJ5IHBhcmFtIC0gdW4gcmVmcmVzaCBubyBkZWJlIHJlLWFicmlyIGVsIG1vZGFsLlxuICAgIHZvaWQgdGhpcy5yb3V0ZXI/Lm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1mYUNvZGU6IG51bGwgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMubWZhUHJlZmlsbENvZGUuc2V0KGNvZGUpO1xuICAgIHRoaXMuaXNNZmFNb2RhbE9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlc2NyaWJlRGV2aWNlKGQ6IERldmljZUluZm8pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzID0gW2QucGxhdGZvcm0sIGQuYnJvd3NlciwgZC5sb2NhdGlvbl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgwrcgJykgfHwgZC5kZXZpY2VJZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXREYXRlKGlzbz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFpc28pIHJldHVybiAnJztcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGlzbykudG9Mb2NhbGVTdHJpbmcodGhpcy5pMThuLmxhbmcoKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gaXNvO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9hc3RPayhtc2c6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICBtZXNzYWdlOiBtc2csXG4gICAgICBkdXJhdGlvbjogMjIwMCxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgfSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU2Vzc2lvbnMgLSBtw6l0b2Rvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogSWNvbm8gc2Vnw7puIGRldmljZTogcGhvbmUgc2kgVUEgbW9iaWxlLCBzaW5vIGxhcHRvcC4gKi9cbiAgZGV2aWNlSWNvbihzOiBTZXNzaW9uSW5mbyk6IHN0cmluZyB7XG4gICAgY29uc3QgdWEgPSAocy5kZXZpY2VJbmZvIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzTW9iaWxlID0gL2lwaG9uZXxpcGFkfGlwb2R8YW5kcm9pZHxtb2JpbGUvLnRlc3QodWEpO1xuICAgIHJldHVybiBpc01vYmlsZSA/ICdwaG9uZS1wb3J0cmFpdC1vdXRsaW5lJyA6ICdsYXB0b3Atb3V0bGluZSc7XG4gIH1cblxuICBmb3JtYXRTZXNzaW9uTWV0YShzOiBTZXNzaW9uSW5mbyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHMubG9jYXRpb24pIHBhcnRzLnB1c2gocy5sb2NhdGlvbik7XG4gICAgZWxzZSBpZiAocy5pcCkgcGFydHMucHVzaChzLmlwKTtcbiAgICBpZiAocy5jcmVhdGVkQXQpIHBhcnRzLnB1c2gobmV3IERhdGUocy5jcmVhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgwrcgJyk7XG4gIH1cblxuICBhc3luYyBvblJldm9rZU9uZShzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLnJldm9rZVNlc3Npb24oc2Vzc2lvbklkKSk7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc1Jldm9rZWQnKSxcbiAgICAgICAgZHVyYXRpb246IDI1MDAsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3NlY3VyaXR5LnJldm9rZVNlc3Npb24nLFxuICAgICAgICBmYWxsYmFja0tleTogJ3Nlc3Npb25zRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25SZXZva2VBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb25maXJtRGlhbG9nLmNvbmZpcm1EZXN0cnVjdGl2ZSh7XG4gICAgICB0aXRsZTogdGhpcy50dCgncmV2b2tlQWxsQ29uZmlybVRpdGxlJyksXG4gICAgICBtZXNzYWdlOiB0aGlzLnR0KCdyZXZva2VBbGxDb25maXJtTWVzc2FnZScpLFxuICAgICAgY29uZmlybUJ1dHRvbjogeyB0ZXh0OiB0aGlzLnR0KCdyZXZva2VBbGxDb25maXJtJykgfSxcbiAgICAgIGNhbmNlbEJ1dHRvbjogeyB0ZXh0OiB0aGlzLnR0KCdjYW5jZWwnKSB9LFxuICAgIH0pO1xuICAgIGlmICghcmVzdWx0LmNvbmZpcm1lZCkgcmV0dXJuO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UucmV2b2tlQWxsU2Vzc2lvbnMoKSk7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc0FsbFJldm9rZWQnKSxcbiAgICAgICAgZHVyYXRpb246IDI1MDAsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkU2Vzc2lvbnMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3NlY3VyaXR5LnJldm9rZUFsbFNlc3Npb25zJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZXNzaW9uc0Vycm9yJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBYnJlIG1vZGFsIGNvbiBsYSBsaXN0YSBjb21wbGV0YS4gQ2FkYSByZXZva2UgcGFzYSBwb3IgYG9uUmV2b2tlYC4gKi9cbiAgYXN5bmMgb3BlblNlc3Npb25zTW9kYWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb25SZXZva2UgPSBhc3luYyAoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPFNlc3Npb25JbmZvW10+ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UucmV2b2tlU2Vzc2lvbihzZXNzaW9uSWQpKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCdzZXNzaW9uc1Jldm9rZWQnKSxcbiAgICAgICAgICBkdXJhdGlvbjogMjUwMCxcbiAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICAgIGNvbnRleHQ6ICdzZWN1cml0eS5yZXZva2VTZXNzaW9uLm1vZGFsJyxcbiAgICAgICAgICBmYWxsYmFja0tleTogJ3Nlc3Npb25zRXJyb3InLFxuICAgICAgICAgIGkxOG5OYW1lc3BhY2U6IHRoaXMubnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLmxvYWRTZXNzaW9ucygpO1xuICAgICAgcmV0dXJuIHRoaXMuc29ydGVkU2Vzc2lvbnMoKTtcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5tb2RhbFNlcnZpY2Uub3BlblNoZWV0PFNlc3Npb25MaXN0TW9kYWxDb21wb25lbnQ+KHtcbiAgICAgIGNvbXBvbmVudDogU2Vzc2lvbkxpc3RNb2RhbENvbXBvbmVudCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB7XG4gICAgICAgIHNlc3Npb25zOiB0aGlzLnNvcnRlZFNlc3Npb25zKCksXG4gICAgICAgIHRpdGxlOiB0aGlzLnR0KCdzZXNzaW9uc01vZGFsVGl0bGUnKSxcbiAgICAgICAgY2xvc2VMYWJlbDogdGhpcy50dCgnbG9naW5BdHRlbXB0Q2xvc2UnKSxcbiAgICAgICAgdGhpc0xhYmVsOiB0aGlzLnNlc3Npb25zVGhpcygpLFxuICAgICAgICByZXZva2VMYWJlbDogdGhpcy50dCgnc2Vzc2lvbnNSZXZva2UnKSxcbiAgICAgICAgb25SZXZva2UsXG4gICAgICB9LFxuICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDEsXG4gICAgICBicmVha3BvaW50czogWzAsIDFdLFxuICAgICAgc2hvd0hhbmRsZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRTZXNzaW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnNlc3Npb25zTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxpc3QgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLmxpc3RTZXNzaW9ucygpKTtcbiAgICAgIHRoaXMuc2Vzc2lvbnMuc2V0KGxpc3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NlY3VyaXR5XSBsaXN0U2Vzc2lvbnMgZmFpbGVkOicsIGVycik7XG4gICAgICB0aGlzLnNlc3Npb25zLnNldChbXSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2Vzc2lvbnNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIExlZSBkZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvLiAqL1xuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -123,7 +123,7 @@ export class SettingsHubComponent {
|
|
|
123
123
|
</ion-grid>
|
|
124
124
|
</div>
|
|
125
125
|
</val-container>
|
|
126
|
-
`, isInline: true, styles: [".page{padding:16px 0}.page-header{margin-bottom:16px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px}\n"], dependencies: [{ kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: ActionCardComponent, selector: "val-action-card", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
|
|
126
|
+
`, isInline: true, styles: [".page{padding:16px 0}.page-header{margin-bottom:16px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px}\n"], dependencies: [{ kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: ActionCardComponent, selector: "val-action-card, vds-action-card", inputs: ["props", "title", "titleKey", "description", "descriptionKey", "i18nNamespace", "icon", "size", "variant", "bordered", "borderColor", "backgroundColor", "shadowed", "disabled", "routerLink", "queryParams", "href", "badge", "showChevron", "token"], outputs: ["onClick"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
|
|
127
127
|
}
|
|
128
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsHubComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
159
159
|
}], config: [{
|
|
160
160
|
type: Input
|
|
161
161
|
}] } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtaHViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc2V0dGluZ3MtaHViL3NldHRpbmdzLWh1Yi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RixNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQUN0QyxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQXFESCxN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b0RBQUUsTUFBTSxrVEFBRSxtQkFBbUIscUdBQUUsZ0JBQWdCLDJFQUFFLGNBQWMseUVBQUUsa0JBQWtCOzs0RkFpRGpHLG9CQUFvQjtrQkFwRGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxZQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7d0RBMkJtQixTQUFTO3NCQUE1QixRQUFRO2dCQU9BLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkNvbCwgSW9uR3JpZCwgSW9uUm93IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5cbmltcG9ydCB7IFNldHRpbmdzSHViQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZFNldHRpbmdzQ2FyZHMgfSBmcm9tICcuL3NldHRpbmdzLXNlY3Rpb25zJztcbmltcG9ydCB7IFNFVFRJTkdTX0hVQl9MQUJFTFNfSTE4TiwgU0VUVElOR1NfSFVCX1BBR0VfSTE4TiB9IGZyb20gJy4vc2V0dGluZ3MtaHViLmkxOG4nO1xuXG5jb25zdCBERUZBVUxUX0xBQkVMU19OUyA9ICdEYXNoYm9hcmQnO1xuY29uc3QgREVGQVVMVF9QQUdFX05TID0gJ1NldHRpbmdzLlByZWZlcmVuY2VzJztcblxuLyoqXG4gKiBgdmFsLXNldHRpbmdzLWh1YmAg4oCUIHBvcnRhZGEgZGUgbGEgc2VjY2nDs24gU2V0dGluZ3MgKG9yZ2FuaXNtKS4gUmVuZGVyaXphIHVuXG4gKiBoZWFkZXIgKHTDrXR1bG8gKyBkZXNjcmlwY2nDs24pICsgdW4gZ3JpZCBkZSBgdmFsLWFjdGlvbi1jYXJkYCBxdWUgbmF2ZWdhIGEgbGFzXG4gKiBzdWItdmlzdGFzLiBQcm9tb3ZpZG8gZGVzZGUgYHNob3djYXNlYCAoYHBhZ2VzL3NldHRpbmdzL3BhZ2VzL3ByZWZlcmVuY2VzYClcbiAqIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqIExhcyBjYXJkcyBzYWxlbiBkZSBgYnVpbGRTZXR0aW5nc0NhcmRzYCBzb2JyZSBlbCBjYXTDoWxvZ28gZGVmYXVsdFxuICogKGBTRVRUSU5HU19TRUNUSU9OU19DQVRBTE9HYCksIGZpbHRyYWRvL2V4dGVuZGlkby9yZW9yZGVuYWRvIHBvciBsYSBjb25maWcuXG4gKlxuICogTmF2ZWdhY2nDs246IGNhcmRzIGNvbiBgcm91dGVyTGlua2AgbmF2ZWdhbiB2w61hIGBSb3V0ZXJgOyBsYSBjYXJkIGRlIGxvZ291dFxuICogKHNpbiBydXRhKSBpbnZvY2EgYGNvbmZpZy5vbkxvZ291dGAuIENhZGEgY2xpY2sgZW1pdGUgYGNvbmZpZy5vblNlY3Rpb25DbGlja2AuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRvcyBzZXRzIGRlIGRlZmF1bHRzIGkxOG4gKGxhYmVscyArIGhlYWRlcikgZW4gc3VzXG4gKiByZXNwZWN0aXZvcyBuYW1lc3BhY2VzIHNpIGVsIGNvbnN1bWVyIG5vIGxvcyBwcm92ZXnDsy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNldHRpbmdzLWh1YicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25HcmlkLCBJb25Sb3csIElvbkNvbCwgQWN0aW9uQ2FyZENvbXBvbmVudCwgRGlzcGxheUNvbXBvbmVudCwgVGl0bGVDb21wb25lbnQsIENvbnRhaW5lckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1jb250YWluZXIgW3Byb3BzXT1cInsgc2l6ZTogJ21kJywgcGFkZGluZzogJ25vbmUnIH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnLCBjb250ZW50OiBwYWdlVGl0bGUoKSB9XCIgLz5cbiAgICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgY29udGVudDogcGFnZURlc2NyaXB0aW9uKCksXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJjYXJkcy1ncmlkXCI+XG4gICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uQ2FyZHMoKTsgdHJhY2sgYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtc209XCI2XCI+XG4gICAgICAgICAgICAgICAgPHZhbC1hY3Rpb24tY2FyZCBbcHJvcHNdPVwiYWN0aW9uXCIgKG9uQ2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCIgLz5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgPC9pb24tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsLWNvbnRhaW5lcj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLyogQW5jaG8geSBjcmVjaW1pZW50byBjb24gZWwgcmFpbCBjb2xhcHNhZG8gbG9zIGRhIHZhbC1jb250YWluZXIgKHNpemVcbiAgICAgICAgICdtZCcpLCBubyBDU1MgbG9jYWw6IHZlciBjb250YWluZXIuY29tcG9uZW50LnNjc3MuIEFjw6Egc29sbyBlbFxuICAgICAgICAgcGFkZGluZyB2ZXJ0aWNhbCwgcXVlIHZhbC1jb250YWluZXIgbm8gdGllbmUgb3BpbmnDs24gc29icmUuICovXG4gICAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogMCAtNHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgICAgLmNhcmRzLWdyaWQgaW9uLWNvbCB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc0h1YkNvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIENvbmZpZyB2w61hIEBJbnB1dCAob2JqZWN0LWZpcnN0KS4gU2kgbm8gc2UgcGFzYSwgY2FlIGFsIHJvdXRlIGRhdGFcbiAgICogYHNldHRpbmdzSHViQ29uZmlnYCAocG9ibGFkbyBwb3IgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgKS5cbiAgICogYHJlc29sdmVkQ29uZmlnYCBtZXJnZWEgY29uIGRlZmF1bHRzIOKAlCBASW5wdXQgZ2FuYSBzb2JyZSByb3V0ZSBkYXRhLlxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnPzogU2V0dGluZ3NIdWJDb25maWc7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRDb25maWcgPSBjb21wdXRlZDxcbiAgICBSZXF1aXJlZDxQaWNrPFNldHRpbmdzSHViQ29uZmlnLCAnaTE4bk5hbWVzcGFjZScgfCAncGFnZUkxOG5OYW1lc3BhY2UnPj4gJiBTZXR0aW5nc0h1YkNvbmZpZ1xuICA+KCgpID0+IHtcbiAgICBjb25zdCBmcm9tUm91dGUgPSAodGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YVsnc2V0dGluZ3NIdWJDb25maWcnXSA/PyB7fSkgYXMgU2V0dGluZ3NIdWJDb25maWc7XG4gICAgY29uc3QgbWVyZ2VkOiBTZXR0aW5nc0h1YkNvbmZpZyA9IHsgLi4uZnJvbVJvdXRlLCAuLi4odGhpcy5jb25maWcgPz8ge30pIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1lcmdlZCxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTEFCRUxTX05TLFxuICAgICAgcGFnZUkxOG5OYW1lc3BhY2U6IG1lcmdlZC5wYWdlSTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX1BBR0VfTlMsXG4gICAgfTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBnZXQgbGFiZWxzTnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgcGFnZU5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRDb25maWcoKS5wYWdlSTE4bk5hbWVzcGFjZTtcbiAgfVxuXG4gIHJlYWRvbmx5IHBhZ2VUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgncGFnZVRpdGxlJywgdGhpcy5wYWdlTnMpO1xuICB9KTtcbiAgcmVhZG9ubHkgcGFnZURlc2NyaXB0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdwYWdlRGVzY3JpcHRpb24nLCB0aGlzLnBhZ2VOcyk7XG4gIH0pO1xuXG4gIC8qKiBDYXJkcyBkZWwgSFVCLCByZXN1ZWx0YXMgZGVzZGUgbGEgY29uZmlnLiAqL1xuICByZWFkb25seSBhY3Rpb25DYXJkcyA9IGNvbXB1dGVkPEFjdGlvbkNhcmRNZXRhZGF0YVtdPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnJlc29sdmVkQ29uZmlnKCk7XG4gICAgcmV0dXJuIGJ1aWxkU2V0dGluZ3NDYXJkcyhrID0+IHRoaXMuaTE4bi50KGssIGNmZy5pMThuTmFtZXNwYWNlKSwge1xuICAgICAgZXhjbHVkZTogY2ZnLmV4Y2x1ZGUsXG4gICAgICBpbmNsdWRlOiBjZmcuaW5jbHVkZSxcbiAgICAgIG9yZGVyOiBjZmcub3JkZXIsXG4gICAgICBpbmNsdWRlTG9nb3V0OiBjZmcuaW5jbHVkZUxvZ291dCxcbiAgICAgIGJhc2VQYXRoOiBjZmcuYmFzZVBhdGgsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEF1dG8tcmVnaXN0cm8gaTE4biDigJQgcmVzcGV0YSBvdmVycmlkZSBkZWwgY29uc3VtZXIuIExvcyBuYW1lc3BhY2VzIHB1ZWRlblxuICAgIC8vIHZlbmlyIGRlIEBJbnB1dC5jb25maWcgbyBkZWwgcm91dGUgZGF0YTsgbG9zIHJlc29sdmVtb3MgYWPDoS5cbiAgICBjb25zdCBsYWJlbHNOcyA9IHRoaXMubGFiZWxzTnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMobGFiZWxzTnMsIFNFVFRJTkdTX0hVQl9MQUJFTFNfSTE4Tik7XG4gICAgY29uc3QgcGFnZU5zID0gdGhpcy5wYWdlTnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMocGFnZU5zLCBTRVRUSU5HU19IVUJfUEFHRV9JMThOKTtcblxuICAgIHRoaXMubmF2LnNldEJhY2tIZWFkZXIoJ3BhZ2VUaXRsZScsIHBhZ2VOcywgeyB3aXRoTWVudTogdHJ1ZSB9KTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soYWN0aW9uOiBBY3Rpb25DYXJkTWV0YWRhdGEpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbiA9IGFjdGlvbi50b2tlbjtcbiAgICB0aGlzLnJlc29sdmVkQ29uZmlnKCkub25TZWN0aW9uQ2xpY2s/Lih0b2tlbiA/PyAnJyk7XG4gICAgaWYgKHRva2VuID09PSAnYWN0aW9uLWxvZ291dCcpIHtcbiAgICAgIHRoaXMucmVzb2x2ZWRDb25maWcoKS5vbkxvZ291dD8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIEF1dG8tbG9nIHNlY3Rpb24gdmlldyBjdWFuZG8gZXMgdW5hIHNlY2Npw7NuIGNvbm9jaWRhXG4gICAgaWYgKHRva2VuICYmIHRva2VuLnN0YXJ0c1dpdGgoJ2FjdGlvbi0nKSAmJiB0aGlzLmFuYWx5dGljcykge1xuICAgICAgY29uc3Qgc2VjdGlvbiA9IHRva2VuLnJlcGxhY2UoL15hY3Rpb24tLywgJycpIGFzXG4gICAgICAgIHwgJ3Byb2ZpbGUnXG4gICAgICAgIHwgJ3ByZWZlcmVuY2VzJ1xuICAgICAgICB8ICdzZWN1cml0eSdcbiAgICAgICAgfCAnYWNjb3VudCdcbiAgICAgICAgfCAnZ2VuZXJhbCdcbiAgICAgICAgfCAnb3JnYW5pemF0aW9uJ1xuICAgICAgICB8ICdub3RpZmljYXRpb25zJztcbiAgICAgIHRoaXMuYW5hbHl0aWNzLmxvZ0V2ZW50KCdzZXR0aW5nc19zZWN0aW9uX3ZpZXdlZCcsIHsgc2VjdGlvbiB9KTtcbiAgICB9XG4gICAgaWYgKGFjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShBcnJheS5pc0FycmF5KGFjdGlvbi5yb3V0ZXJMaW5rKSA/IGFjdGlvbi5yb3V0ZXJMaW5rIDogW2FjdGlvbi5yb3V0ZXJMaW5rXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtaHViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc2V0dGluZ3MtaHViL3NldHRpbmdzLWh1Yi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RixNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQUN0QyxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQXFESCxN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b0RBQUUsTUFBTSxrVEFBRSxtQkFBbUIsb1dBQUUsZ0JBQWdCLDJFQUFFLGNBQWMseUVBQUUsa0JBQWtCOzs0RkFpRGpHLG9CQUFvQjtrQkFwRGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxZQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7d0RBMkJtQixTQUFTO3NCQUE1QixRQUFRO2dCQU9BLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkNvbCwgSW9uR3JpZCwgSW9uUm93IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5cbmltcG9ydCB7IFNldHRpbmdzSHViQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZFNldHRpbmdzQ2FyZHMgfSBmcm9tICcuL3NldHRpbmdzLXNlY3Rpb25zJztcbmltcG9ydCB7IFNFVFRJTkdTX0hVQl9MQUJFTFNfSTE4TiwgU0VUVElOR1NfSFVCX1BBR0VfSTE4TiB9IGZyb20gJy4vc2V0dGluZ3MtaHViLmkxOG4nO1xuXG5jb25zdCBERUZBVUxUX0xBQkVMU19OUyA9ICdEYXNoYm9hcmQnO1xuY29uc3QgREVGQVVMVF9QQUdFX05TID0gJ1NldHRpbmdzLlByZWZlcmVuY2VzJztcblxuLyoqXG4gKiBgdmFsLXNldHRpbmdzLWh1YmAg4oCUIHBvcnRhZGEgZGUgbGEgc2VjY2nDs24gU2V0dGluZ3MgKG9yZ2FuaXNtKS4gUmVuZGVyaXphIHVuXG4gKiBoZWFkZXIgKHTDrXR1bG8gKyBkZXNjcmlwY2nDs24pICsgdW4gZ3JpZCBkZSBgdmFsLWFjdGlvbi1jYXJkYCBxdWUgbmF2ZWdhIGEgbGFzXG4gKiBzdWItdmlzdGFzLiBQcm9tb3ZpZG8gZGVzZGUgYHNob3djYXNlYCAoYHBhZ2VzL3NldHRpbmdzL3BhZ2VzL3ByZWZlcmVuY2VzYClcbiAqIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqIExhcyBjYXJkcyBzYWxlbiBkZSBgYnVpbGRTZXR0aW5nc0NhcmRzYCBzb2JyZSBlbCBjYXTDoWxvZ28gZGVmYXVsdFxuICogKGBTRVRUSU5HU19TRUNUSU9OU19DQVRBTE9HYCksIGZpbHRyYWRvL2V4dGVuZGlkby9yZW9yZGVuYWRvIHBvciBsYSBjb25maWcuXG4gKlxuICogTmF2ZWdhY2nDs246IGNhcmRzIGNvbiBgcm91dGVyTGlua2AgbmF2ZWdhbiB2w61hIGBSb3V0ZXJgOyBsYSBjYXJkIGRlIGxvZ291dFxuICogKHNpbiBydXRhKSBpbnZvY2EgYGNvbmZpZy5vbkxvZ291dGAuIENhZGEgY2xpY2sgZW1pdGUgYGNvbmZpZy5vblNlY3Rpb25DbGlja2AuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRvcyBzZXRzIGRlIGRlZmF1bHRzIGkxOG4gKGxhYmVscyArIGhlYWRlcikgZW4gc3VzXG4gKiByZXNwZWN0aXZvcyBuYW1lc3BhY2VzIHNpIGVsIGNvbnN1bWVyIG5vIGxvcyBwcm92ZXnDsy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNldHRpbmdzLWh1YicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25HcmlkLCBJb25Sb3csIElvbkNvbCwgQWN0aW9uQ2FyZENvbXBvbmVudCwgRGlzcGxheUNvbXBvbmVudCwgVGl0bGVDb21wb25lbnQsIENvbnRhaW5lckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1jb250YWluZXIgW3Byb3BzXT1cInsgc2l6ZTogJ21kJywgcGFkZGluZzogJ25vbmUnIH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnLCBjb250ZW50OiBwYWdlVGl0bGUoKSB9XCIgLz5cbiAgICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgY29udGVudDogcGFnZURlc2NyaXB0aW9uKCksXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJjYXJkcy1ncmlkXCI+XG4gICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uQ2FyZHMoKTsgdHJhY2sgYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtc209XCI2XCI+XG4gICAgICAgICAgICAgICAgPHZhbC1hY3Rpb24tY2FyZCBbcHJvcHNdPVwiYWN0aW9uXCIgKG9uQ2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCIgLz5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgPC9pb24tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsLWNvbnRhaW5lcj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLyogQW5jaG8geSBjcmVjaW1pZW50byBjb24gZWwgcmFpbCBjb2xhcHNhZG8gbG9zIGRhIHZhbC1jb250YWluZXIgKHNpemVcbiAgICAgICAgICdtZCcpLCBubyBDU1MgbG9jYWw6IHZlciBjb250YWluZXIuY29tcG9uZW50LnNjc3MuIEFjw6Egc29sbyBlbFxuICAgICAgICAgcGFkZGluZyB2ZXJ0aWNhbCwgcXVlIHZhbC1jb250YWluZXIgbm8gdGllbmUgb3BpbmnDs24gc29icmUuICovXG4gICAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgICAuY2FyZHMtZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogMCAtNHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgICAgLmNhcmRzLWdyaWQgaW9uLWNvbCB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc0h1YkNvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIENvbmZpZyB2w61hIEBJbnB1dCAob2JqZWN0LWZpcnN0KS4gU2kgbm8gc2UgcGFzYSwgY2FlIGFsIHJvdXRlIGRhdGFcbiAgICogYHNldHRpbmdzSHViQ29uZmlnYCAocG9ibGFkbyBwb3IgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgKS5cbiAgICogYHJlc29sdmVkQ29uZmlnYCBtZXJnZWEgY29uIGRlZmF1bHRzIOKAlCBASW5wdXQgZ2FuYSBzb2JyZSByb3V0ZSBkYXRhLlxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnPzogU2V0dGluZ3NIdWJDb25maWc7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRDb25maWcgPSBjb21wdXRlZDxcbiAgICBSZXF1aXJlZDxQaWNrPFNldHRpbmdzSHViQ29uZmlnLCAnaTE4bk5hbWVzcGFjZScgfCAncGFnZUkxOG5OYW1lc3BhY2UnPj4gJiBTZXR0aW5nc0h1YkNvbmZpZ1xuICA+KCgpID0+IHtcbiAgICBjb25zdCBmcm9tUm91dGUgPSAodGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YVsnc2V0dGluZ3NIdWJDb25maWcnXSA/PyB7fSkgYXMgU2V0dGluZ3NIdWJDb25maWc7XG4gICAgY29uc3QgbWVyZ2VkOiBTZXR0aW5nc0h1YkNvbmZpZyA9IHsgLi4uZnJvbVJvdXRlLCAuLi4odGhpcy5jb25maWcgPz8ge30pIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1lcmdlZCxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTEFCRUxTX05TLFxuICAgICAgcGFnZUkxOG5OYW1lc3BhY2U6IG1lcmdlZC5wYWdlSTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX1BBR0VfTlMsXG4gICAgfTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBnZXQgbGFiZWxzTnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgcGFnZU5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRDb25maWcoKS5wYWdlSTE4bk5hbWVzcGFjZTtcbiAgfVxuXG4gIHJlYWRvbmx5IHBhZ2VUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgncGFnZVRpdGxlJywgdGhpcy5wYWdlTnMpO1xuICB9KTtcbiAgcmVhZG9ubHkgcGFnZURlc2NyaXB0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdwYWdlRGVzY3JpcHRpb24nLCB0aGlzLnBhZ2VOcyk7XG4gIH0pO1xuXG4gIC8qKiBDYXJkcyBkZWwgSFVCLCByZXN1ZWx0YXMgZGVzZGUgbGEgY29uZmlnLiAqL1xuICByZWFkb25seSBhY3Rpb25DYXJkcyA9IGNvbXB1dGVkPEFjdGlvbkNhcmRNZXRhZGF0YVtdPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnJlc29sdmVkQ29uZmlnKCk7XG4gICAgcmV0dXJuIGJ1aWxkU2V0dGluZ3NDYXJkcyhrID0+IHRoaXMuaTE4bi50KGssIGNmZy5pMThuTmFtZXNwYWNlKSwge1xuICAgICAgZXhjbHVkZTogY2ZnLmV4Y2x1ZGUsXG4gICAgICBpbmNsdWRlOiBjZmcuaW5jbHVkZSxcbiAgICAgIG9yZGVyOiBjZmcub3JkZXIsXG4gICAgICBpbmNsdWRlTG9nb3V0OiBjZmcuaW5jbHVkZUxvZ291dCxcbiAgICAgIGJhc2VQYXRoOiBjZmcuYmFzZVBhdGgsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEF1dG8tcmVnaXN0cm8gaTE4biDigJQgcmVzcGV0YSBvdmVycmlkZSBkZWwgY29uc3VtZXIuIExvcyBuYW1lc3BhY2VzIHB1ZWRlblxuICAgIC8vIHZlbmlyIGRlIEBJbnB1dC5jb25maWcgbyBkZWwgcm91dGUgZGF0YTsgbG9zIHJlc29sdmVtb3MgYWPDoS5cbiAgICBjb25zdCBsYWJlbHNOcyA9IHRoaXMubGFiZWxzTnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMobGFiZWxzTnMsIFNFVFRJTkdTX0hVQl9MQUJFTFNfSTE4Tik7XG4gICAgY29uc3QgcGFnZU5zID0gdGhpcy5wYWdlTnM7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMocGFnZU5zLCBTRVRUSU5HU19IVUJfUEFHRV9JMThOKTtcblxuICAgIHRoaXMubmF2LnNldEJhY2tIZWFkZXIoJ3BhZ2VUaXRsZScsIHBhZ2VOcywgeyB3aXRoTWVudTogdHJ1ZSB9KTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soYWN0aW9uOiBBY3Rpb25DYXJkTWV0YWRhdGEpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbiA9IGFjdGlvbi50b2tlbjtcbiAgICB0aGlzLnJlc29sdmVkQ29uZmlnKCkub25TZWN0aW9uQ2xpY2s/Lih0b2tlbiA/PyAnJyk7XG4gICAgaWYgKHRva2VuID09PSAnYWN0aW9uLWxvZ291dCcpIHtcbiAgICAgIHRoaXMucmVzb2x2ZWRDb25maWcoKS5vbkxvZ291dD8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIEF1dG8tbG9nIHNlY3Rpb24gdmlldyBjdWFuZG8gZXMgdW5hIHNlY2Npw7NuIGNvbm9jaWRhXG4gICAgaWYgKHRva2VuICYmIHRva2VuLnN0YXJ0c1dpdGgoJ2FjdGlvbi0nKSAmJiB0aGlzLmFuYWx5dGljcykge1xuICAgICAgY29uc3Qgc2VjdGlvbiA9IHRva2VuLnJlcGxhY2UoL15hY3Rpb24tLywgJycpIGFzXG4gICAgICAgIHwgJ3Byb2ZpbGUnXG4gICAgICAgIHwgJ3ByZWZlcmVuY2VzJ1xuICAgICAgICB8ICdzZWN1cml0eSdcbiAgICAgICAgfCAnYWNjb3VudCdcbiAgICAgICAgfCAnZ2VuZXJhbCdcbiAgICAgICAgfCAnb3JnYW5pemF0aW9uJ1xuICAgICAgICB8ICdub3RpZmljYXRpb25zJztcbiAgICAgIHRoaXMuYW5hbHl0aWNzLmxvZ0V2ZW50KCdzZXR0aW5nc19zZWN0aW9uX3ZpZXdlZCcsIHsgc2VjdGlvbiB9KTtcbiAgICB9XG4gICAgaWYgKGFjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShBcnJheS5pc0FycmF5KGFjdGlvbi5yb3V0ZXJMaW5rKSA/IGFjdGlvbi5yb3V0ZXJMaW5rIDogW2FjdGlvbi5yb3V0ZXJMaW5rXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Catálogo default de secciones del HUB de settings (
|
|
2
|
+
* Catálogo default de secciones del HUB de settings (6 entradas). `logout` va
|
|
3
3
|
* incluida pero sin `routerLink` (la maneja un callback). Mismo set, mismos
|
|
4
4
|
* tokens/iconos/rutas que el builder original de showcase
|
|
5
5
|
* (`shared/settings-action-cards.ts`) que esta promoción reemplaza.
|
|
@@ -44,15 +44,6 @@ export const SETTINGS_SECTIONS_CATALOG = [
|
|
|
44
44
|
showChevron: true,
|
|
45
45
|
shadowed: true,
|
|
46
46
|
},
|
|
47
|
-
{
|
|
48
|
-
token: 'action-preferences',
|
|
49
|
-
titleKey: 'preferences',
|
|
50
|
-
descKey: 'preferencesDesc',
|
|
51
|
-
ionicon: 'options-outline',
|
|
52
|
-
routerLink: '/app/settings/preferences',
|
|
53
|
-
showChevron: true,
|
|
54
|
-
shadowed: true,
|
|
55
|
-
},
|
|
56
47
|
{
|
|
57
48
|
token: 'action-notifications',
|
|
58
49
|
titleKey: 'notifications',
|
|
@@ -137,4 +128,4 @@ function rewriteBasePath(routerLink, basePath) {
|
|
|
137
128
|
}
|
|
138
129
|
return routerLink;
|
|
139
130
|
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mtc2VjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3NldHRpbmdzLWh1Yi9zZXR0aW5ncy1zZWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBc0I7SUFDMUQ7UUFDRSxLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsVUFBVSxFQUFFLHVCQUF1QjtRQUNuQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsSUFBSTtLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsVUFBVSxFQUFFLHVCQUF1QjtRQUNuQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsSUFBSTtLQUNmO0lBQ0Q7UUFDRSwwRUFBMEU7UUFDMUUsNkVBQTZFO1FBQzdFLHFFQUFxRTtRQUNyRSxLQUFLLEVBQUUscUJBQXFCO1FBQzVCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixVQUFVLEVBQUUsNEJBQTRCO1FBQ3hDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRDtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsUUFBUSxFQUFFLGFBQWE7UUFDdkIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFVBQVUsRUFBRSx1QkFBdUI7UUFDbkMsV0FBVyxFQUFFLElBQUk7UUFDakIs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QUMxRCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5cbi8qKlxuICogTW9kZWxvIGRlIHVuYSBzZWNjacOzbiBkZWwgSFVCIGRlIHNldHRpbmdzLiBDYWRhIHNlY2Npw7NuIHNlIHByb3llY3RhIGEgdW5cbiAqIGB2YWwtYWN0aW9uLWNhcmRgICh2w61hIGBidWlsZFNldHRpbmdzQ2FyZHNgKS4gRWwgY2F0w6Fsb2dvIGRlZmF1bHRcbiAqIChgU0VUVElOR1NfU0VDVElPTlNfQ0FUQUxPR2ApIGN1YnJlIGxhcyBzZWNjaW9uZXMgZXN0w6FuZGFyIGRlbCBmYWN0b3J5O1xuICogZWwgY29uc3VtZXIgcHVlZGUgZmlsdHJhciAoYGV4Y2x1ZGVgKSwgcmVvcmRlbmFyIChgb3JkZXJgKSwgcmVlc2NyaWJpciBsYXNcbiAqIHJ1dGFzIGJhc2UgKGBiYXNlUGF0aGApIG8gc3VtYXIgbGFzIHN1eWFzIChgaW5jbHVkZWApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzU2VjdGlvbiB7XG4gIC8qKiBJZGVudGlmaWNhZG9yIGVzdGFibGUgZGUgbGEgc2VjY2nDs24gKGRpc3BhdGNoIGRlIGNsaWNrICsgZmlsdHJhZG8pLiAqL1xuICB0b2tlbjogc3RyaW5nO1xuICAvKiogaTE4biBrZXkgZGVsIHTDrXR1bG8gZGUgbGEgY2FyZCAocmVzdWVsdG8gY29udHJhIGVsIG5hbWVzcGFjZSBkZSBsYWJlbHMpLiAqL1xuICB0aXRsZUtleTogc3RyaW5nO1xuICAvKiogaTE4biBrZXkgZGUgbGEgZGVzY3JpcGNpw7NuIChvcGNpb25hbCDigJQgbG9nb3V0IG5vIGxhIHRpZW5lKS4gKi9cbiAgZGVzY0tleT86IHN0cmluZztcbiAgLyoqIElvbmljb24gZGUgbGEgY2FyZC4gKi9cbiAgaW9uaWNvbjogc3RyaW5nO1xuICAvKipcbiAgICogUnV0YSBkZSBuYXZlZ2FjacOzbi4gTGFzIHNlY2Npb25lcyBiYWpvIGAvYXBwL3NldHRpbmdzYCBzZSByZWVzY3JpYmVuIHNpIGVsXG4gICAqIGNvbnN1bWVyIHBhc2EgYGJhc2VQYXRoYC4gYGFjdGlvbi1sb2dvdXRgIG5vIHRpZW5lIHJ1dGEgKGNhbGxiYWNrKS5cbiAgICovXG4gIHJvdXRlckxpbms/OiBzdHJpbmc7XG4gIC8qKiBNdWVzdHJhIGVsIGNoZXZyb24gYSBsYSBkZXJlY2hhLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hvd0NoZXZyb24/OiBib29sZWFuO1xuICAvKiogQ2FyZCBjb24gc29tYnJhLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hhZG93ZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENhdMOhbG9nbyBkZWZhdWx0IGRlIHNlY2Npb25lcyBkZWwgSFVCIGRlIHNldHRpbmdzICg3IGVudHJhZGFzKS4gYGxvZ291dGAgdmFcbiAqIGluY2x1aWRhIHBlcm8gc2luIGByb3V0ZXJMaW5rYCAobGEgbWFuZWphIHVuIGNhbGxiYWNrKS4gTWlzbW8gc2V0LCBtaXNtb3NcbiAqIHRva2Vucy9pY29ub3MvcnV0YXMgcXVlIGVsIGJ1aWxkZXIgb3JpZ2luYWwgZGUgc2hvd2Nhc2VcbiAqIChgc2hhcmVkL3NldHRpbmdzLWFjdGlvbi1jYXJkcy50c2ApIHF1ZSBlc3RhIHByb21vY2nDs24gcmVlbXBsYXphLlxuICovXG5leHBvcnQgY29uc3QgU0VUVElOR1NfU0VDVElPTlNfQ0FUQUxPRzogU2V0dGluZ3NTZWN0aW9uW10gPSBbXG4gIHtcbiAgICB0b2tlbjogJ2FjdGlvbi1nZW5lcmFsJyxcbiAgICB0aXRsZUtleTogJ2dlbmVyYWwnLFxuICAgIGRlc2NLZXk6ICdnZW5lcmFsRGVzYycsXG4gICAgaW9uaWNvbjogJ29wdGlvbnMtb3V0bGluZScsXG4gICAgcm91dGVyTGluazogJy9hcHAvc2V0dGluZ3MvZ2VuZXJhbCcsXG4gICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG4gIHtcbiAgICB0b2tlbjogJ2FjdGlvbi1hY2NvdW50JyxcbiAgICB0aXRsZUtleTogJ2FjY291bnQnLFxuICAgIGRlc2NLZXk6ICdhY2NvdW50RGVzYycsXG4gICAgaW9uaWNvbjogJ2J1c2luZXNzLW91dGxpbmUnLFxuICAgIHJvdXRlckxpbms6ICcvYXBwL3NldHRpbmdzL2FjY291bnQnLFxuICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgIHNoYWRvd2VkOiB0cnVlLFxuICB9LFxuICB7XG4gICAgLy8gQ09SRTogZ2VzdGnDs24gZGUgb3JnYW5pemFjacOzbiAobWllbWJyb3MsIHJvbGVzLCB0cmFuc2ZlcmVuY2lhKS4gTW9udGFkYVxuICAgIC8vIHBvciBgcHJvdmlkZVZhbHRlY2hTZXR0aW5nc1JvdXRlc2AgKGluY2x1ZGVPcmdhbml6YXRpb24gZGVmYXVsdCB0cnVlKSwgYXPDrVxuICAgIC8vIHF1ZSBUT0RBUyBsYXMgYXBwcyBkZWwgZmFjdG9yeSBsYSBoZXJlZGFuIGVuIGVsIGh1YiBzaW4gYGluY2x1ZGVgLlxuICAgIHRva2VuOiAnYWN0aW9uLW9yZ2FuaXphdGlvbicsXG4gICAgdGl0bGVLZXk6ICdvcmdhbml6YXRpb24nLFxuICAgIGRlc2NLZXk6ICdvcmdhbml6YXRpb25EZXNjJyxcbiAgICBpb25pY29uOiAncGVvcGxlLW91dGxpbmUnLFxuICAgIHJvdXRlckxpbms6ICcvYXBwL3NldHRpbmdzL29yZ2FuaXphdGlvbicsXG4gICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG4gIHtcbiAgICB0b2tlbjogJ2FjdGlvbi1wcm9maWxlJyxcbiAgICB0aXRsZUtleTogJ2VkaXRQcm9maWxlJyxcbiAgICBkZXNjS2V5OiAnZWRpdFByb2ZpbGVEZXNjJyxcbiAgICBpb25pY29uOiAncGVyc29uLW91dGxpbmUnLFxuICAgIHJvdXRlckxpbms6ICcvYXBwL3NldHRpbmdzL3Byb2ZpbGUnLFxuICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgIHNoYWRvd2VkOiB0cnVlLFxuICB9LFxuICB7XG4gICAgdG9rZW46ICdhY3Rpb24tcHJlZmVyZW5jZXMnLFxuICAgIHRpdGxlS2V5OiAncHJlZmVyZW5jZXMnLFxuICAgIGRlc2NLZXk6ICdwcmVmZXJlbmNlc0Rlc2MnLFxuICAgIGlvbmljb246ICdvcHRpb25zLW91dGxpbmUnLFxuICAgIHJvdXRlckxpbms6ICcvYXBwL3NldHRpbmdzL3ByZWZlcmVuY2VzJyxcbiAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHRva2VuOiAnYWN0aW9uLW5vdGlmaWNhdGlvbnMnLFxuICAgIHRpdGxlS2V5OiAnbm90aWZpY2F0aW9ucycsXG4gICAgZGVzY0tleTogJ25vdGlmaWNhdGlvbnNEZXNjJyxcbiAgICBpb25pY29uOiAnbm90aWZpY2F0aW9ucy1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9ub3RpZmljYXRpb25zJyxcbiAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHRva2VuOiAnYWN0aW9uLXNlY3VyaXR5JyxcbiAgICB0aXRsZUtleTogJ3NlY3VyaXR5JyxcbiAgICBkZXNjS2V5OiAnc2VjdXJpdHlEZXNjJyxcbiAgICBpb25pY29uOiAnc2hpZWxkLWNoZWNrbWFyay1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9zZWN1cml0eScsXG4gICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG4gIHtcbiAgICB0b2tlbjogJ2FjdGlvbi1sb2dvdXQnLFxuICAgIHRpdGxlS2V5OiAnbG9nb3V0JyxcbiAgICBpb25pY29uOiAnbG9nLW91dC1vdXRsaW5lJyxcbiAgICBzaG93Q2hldnJvbjogZmFsc2UsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG5dO1xuXG4vKiogT3BjaW9uZXMgZGVsIGJ1aWxkZXIgYGJ1aWxkU2V0dGluZ3NDYXJkc2AuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzQ2FyZHNPcHRpb25zIHtcbiAgLyoqIE9jdWx0YSBzZWNjaW9uZXMgcG9yIHRva2VuICh0w61waWNhbWVudGUgbGEgZW50cmFkYSBkZSBsYSBww6FnaW5hIGFjdHVhbCkuICovXG4gIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgLyoqIFNlY2Npb25lcyBleHRyYSBhIHN1bWFyIGFsIGNhdMOhbG9nbyAobGFzIGRlIGxhIGFwcCBhw7puIG5vIHByb21vdmlkYXMpLiAqL1xuICBpbmNsdWRlPzogU2V0dGluZ3NTZWN0aW9uW107XG4gIC8qKiBPcmRlbiBleHBsw61jaXRvIHBvciB0b2tlbi4gTGFzIG5vIGxpc3RhZGFzIHF1ZWRhbiBhbCBmaW5hbCwgZW4gc3Ugb3JkZW4uICovXG4gIG9yZGVyPzogc3RyaW5nW107XG4gIC8qKiBJbmNsdXllIGxhIGNhcmQgZGUgbG9nb3V0IChzaW4gcnV0YSkuIERlZmF1bHQgYGZhbHNlYC4gKi9cbiAgaW5jbHVkZUxvZ291dD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWVzY3JpYmUgZWwgcHJlZmlqbyBgL2FwcC9zZXR0aW5nc2AgZGUgbGFzIHJ1dGFzIGRlbCBjYXTDoWxvZ28uIEVqLlxuICAgKiBgYmFzZVBhdGg6ICcvYXBwL2NvbmZpZydgIOKGkiBgL2FwcC9jb25maWcvZ2VuZXJhbGAuIFNpIHNlIG9taXRlLCBsYXMgcnV0YXNcbiAgICogcXVlZGFuIHRhbCBjdWFsIGVsIGNhdMOhbG9nby5cbiAgICovXG4gIGJhc2VQYXRoPzogc3RyaW5nO1xufVxuXG5jb25zdCBDQVRBTE9HX0JBU0UgPSAnL2FwcC9zZXR0aW5ncyc7XG5cbi8qKlxuICogQ29uc3RydXllIGVsIGdyaWQgZGUgY2FyZHMgZGUgbmF2ZWdhY2nDs24gZGVsIEhVQiBkZSBzZXR0aW5ncyAodmVyc2nDs25cbiAqIHByb21vdmlkYSBkZWwgYGJ1aWxkU2V0dGluZ3NBY3Rpb25DYXJkc2AgZGUgc2hvd2Nhc2UpLiBVc2EgZWwgY2F0w6Fsb2dvXG4gKiBkZWZhdWx0ICsgbGFzIGBpbmNsdWRlYCBkZWwgY29uc3VtZXIsIGZpbHRyYSBgZXhjbHVkZWAsIGdhdGVhIGxvZ291dCBwb3JcbiAqIGBpbmNsdWRlTG9nb3V0YCwgcmVvcmRlbmEgcG9yIGBvcmRlcmAgeSByZWVzY3JpYmUgbGFzIHJ1dGFzIHBvciBgYmFzZVBhdGhgLlxuICpcbiAqIEVsIGB0YCByZXN1ZWx2ZSBsb3MgYHRpdGxlS2V5YC9gZGVzY0tleWAgY29udHJhIGVsIG5hbWVzcGFjZSBkZSBsYWJlbHNcbiAqIChkZWZhdWx0IGRlbCBjb21wb25lbnRlOiBgRGFzaGJvYXJkYCkuIGBsb2dvdXRgIE5PIHRpZW5lIGByb3V0ZXJMaW5rYCDigJQgZWxcbiAqIGNvbnN1bWVyIG1hbmVqYSBlbCBmbHVqbyBkZSBjaWVycmUgZGUgc2VzacOzbiBwb3IgdG9rZW4gLyBjYWxsYmFjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2V0dGluZ3NDYXJkcyhcbiAgdDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcsXG4gIG9wdGlvbnM6IFNldHRpbmdzQ2FyZHNPcHRpb25zID0ge31cbik6IEFjdGlvbkNhcmRNZXRhZGF0YVtdIHtcbiAgY29uc3QgZXhjbHVkZSA9IG5ldyBTZXQ8c3RyaW5nPihvcHRpb25zLmV4Y2x1ZGUgPz8gW10pO1xuICBjb25zdCBpbmNsdWRlTG9nb3V0ID0gb3B0aW9ucy5pbmNsdWRlTG9nb3V0ID8/IGZhbHNlO1xuICBjb25zdCBiYXNlUGF0aCA9IG9wdGlvbnMuYmFzZVBhdGg7XG5cbiAgY29uc3Qgc2VjdGlvbnM6IFNldHRpbmdzU2VjdGlvbltdID0gWy4uLlNFVFRJTkdTX1NFQ1RJT05TX0NBVEFMT0csIC4uLihvcHRpb25zLmluY2x1ZGUgPz8gW10pXTtcblxuICBsZXQgcmVzb2x2ZWQgPSBzZWN0aW9ucy5maWx0ZXIocyA9PiB7XG4gICAgaWYgKGV4Y2x1ZGUuaGFzKHMudG9rZW4pKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHMudG9rZW4gPT09ICdhY3Rpb24tbG9nb3V0JyAmJiAhaW5jbHVkZUxvZ291dCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICBpZiAob3B0aW9ucy5vcmRlciAmJiBvcHRpb25zLm9yZGVyLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCByYW5rID0gbmV3IE1hcChvcHRpb25zLm9yZGVyLm1hcCgodG9rZW4sIGkpID0+IFt0b2tlbiwgaV0pKTtcbiAgICByZXNvbHZlZCA9IFsuLi5yZXNvbHZlZF0uc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcmEgPSByYW5rLmhhcyhhLnRva2VuKSA/IHJhbmsuZ2V0KGEudG9rZW4pISA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgY29uc3QgcmIgPSByYW5rLmhhcyhiLnRva2VuKSA/IHJhbmsuZ2V0KGIudG9rZW4pISA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgcmV0dXJuIHJhIC0gcmI7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWQubWFwKHMgPT4ge1xuICAgIGNvbnN0IGNhcmQ6IEFjdGlvbkNhcmRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiBzLnRva2VuLFxuICAgICAgdGl0bGU6IHQocy50aXRsZUtleSksXG4gICAgICBpY29uOiB7XG4gICAgICAgIGlvbmljb246IHMuaW9uaWNvbixcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnbGlnaHQnLFxuICAgICAgfSxcbiAgICAgIHNob3dDaGV2cm9uOiBzLnNob3dDaGV2cm9uID8/IHRydWUsXG4gICAgICBzaGFkb3dlZDogcy5zaGFkb3dlZCA/PyB0cnVlLFxuICAgIH07XG4gICAgaWYgKHMuZGVzY0tleSkgY2FyZC5kZXNjcmlwdGlvbiA9IHQocy5kZXNjS2V5KTtcbiAgICBpZiAocy5yb3V0ZXJMaW5rKSB7XG4gICAgICBjYXJkLnJvdXRlckxpbmsgPSBiYXNlUGF0aCA/IHJld3JpdGVCYXNlUGF0aChzLnJvdXRlckxpbmssIGJhc2VQYXRoKSA6IHMucm91dGVyTGluaztcbiAgICB9XG4gICAgcmV0dXJuIGNhcmQ7XG4gIH0pO1xufVxuXG4vKiogUmVlc2NyaWJlIGVsIHByZWZpam8gYC9hcHAvc2V0dGluZ3NgIGRlIHVuYSBydXRhIGRlbCBjYXTDoWxvZ28gcG9yIGBiYXNlUGF0aGAuICovXG5mdW5jdGlvbiByZXdyaXRlQmFzZVBhdGgocm91dGVyTGluazogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHJvdXRlckxpbmsuc3RhcnRzV2l0aChDQVRBTE9HX0JBU0UpKSB7XG4gICAgcmV0dXJuIGJhc2VQYXRoICsgcm91dGVyTGluay5zbGljZShDQVRBTE9HX0JBU0UubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcm91dGVyTGluaztcbn1cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mtc2VjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3NldHRpbmdzLWh1Yi9zZXR0aW5ncy1zZWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBc0I7SUFDMUQ7UUFDRSxLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsVUFBVSxFQUFFLHVCQUF1QjtRQUNuQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsSUFBSTtLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsVUFBVSxFQUFFLHVCQUF1QjtRQUNuQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsSUFBSTtLQUNmO0lBQ0Q7UUFDRSwwRUFBMEU7UUFDMUUsNkVBQTZFO1FBQzdFLHFFQUFxRTtRQUNyRSxLQUFLLEVBQUUscUJBQXFCO1FBQzVCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixVQUFVLEVBQUUsNEJBQTRCO1FBQ3hDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRDtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsUUFBUSxFQUFFLGFBQWE7UUFDdkIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFVBQVUsRUFBRSx1QkFBdUI7UUFDbkMsV0FBVyxFQUFFLElBQUk7UUFDakIs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O1lBQy9CLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztZQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwQixJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO2dCQUNsQixLQUFLLEVBQUUsTUFBTTtnQkFDYixlQUFlLEVBQUUsT0FBTzthQUN6QjtZQUNELFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDbEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSTtTQUM3QixDQUFDO1FBQ0YsSUFBSSxDQUFDLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDdEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLFNBQVMsZUFBZSxDQUFDLFVBQWtCLEVBQUUsUUFBZ0I7SUFDM0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25DYXJkTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvdHlwZXMnO1xuXG4vKipcbiAqIE1vZGVsbyBkZSB1bmEgc2VjY2nDs24gZGVsIEhVQiBkZSBzZXR0aW5ncy4gQ2FkYSBzZWNjacOzbiBzZSBwcm95ZWN0YSBhIHVuXG4gKiBgdmFsLWFjdGlvbi1jYXJkYCAodsOtYSBgYnVpbGRTZXR0aW5nc0NhcmRzYCkuIEVsIGNhdMOhbG9nbyBkZWZhdWx0XG4gKiAoYFNFVFRJTkdTX1NFQ1RJT05TX0NBVEFMT0dgKSBjdWJyZSBsYXMgc2VjY2lvbmVzIGVzdMOhbmRhciBkZWwgZmFjdG9yeTtcbiAqIGVsIGNvbnN1bWVyIHB1ZWRlIGZpbHRyYXIgKGBleGNsdWRlYCksIHJlb3JkZW5hciAoYG9yZGVyYCksIHJlZXNjcmliaXIgbGFzXG4gKiBydXRhcyBiYXNlIChgYmFzZVBhdGhgKSBvIHN1bWFyIGxhcyBzdXlhcyAoYGluY2x1ZGVgKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXR0aW5nc1NlY3Rpb24ge1xuICAvKiogSWRlbnRpZmljYWRvciBlc3RhYmxlIGRlIGxhIHNlY2Npw7NuIChkaXNwYXRjaCBkZSBjbGljayArIGZpbHRyYWRvKS4gKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIGkxOG4ga2V5IGRlbCB0w610dWxvIGRlIGxhIGNhcmQgKHJlc3VlbHRvIGNvbnRyYSBlbCBuYW1lc3BhY2UgZGUgbGFiZWxzKS4gKi9cbiAgdGl0bGVLZXk6IHN0cmluZztcbiAgLyoqIGkxOG4ga2V5IGRlIGxhIGRlc2NyaXBjacOzbiAob3BjaW9uYWwg4oCUIGxvZ291dCBubyBsYSB0aWVuZSkuICovXG4gIGRlc2NLZXk/OiBzdHJpbmc7XG4gIC8qKiBJb25pY29uIGRlIGxhIGNhcmQuICovXG4gIGlvbmljb246IHN0cmluZztcbiAgLyoqXG4gICAqIFJ1dGEgZGUgbmF2ZWdhY2nDs24uIExhcyBzZWNjaW9uZXMgYmFqbyBgL2FwcC9zZXR0aW5nc2Agc2UgcmVlc2NyaWJlbiBzaSBlbFxuICAgKiBjb25zdW1lciBwYXNhIGBiYXNlUGF0aGAuIGBhY3Rpb24tbG9nb3V0YCBubyB0aWVuZSBydXRhIChjYWxsYmFjaykuXG4gICAqL1xuICByb3V0ZXJMaW5rPzogc3RyaW5nO1xuICAvKiogTXVlc3RyYSBlbCBjaGV2cm9uIGEgbGEgZGVyZWNoYS4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dDaGV2cm9uPzogYm9vbGVhbjtcbiAgLyoqIENhcmQgY29uIHNvbWJyYS4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNoYWRvd2VkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDYXTDoWxvZ28gZGVmYXVsdCBkZSBzZWNjaW9uZXMgZGVsIEhVQiBkZSBzZXR0aW5ncyAoNiBlbnRyYWRhcykuIGBsb2dvdXRgIHZhXG4gKiBpbmNsdWlkYSBwZXJvIHNpbiBgcm91dGVyTGlua2AgKGxhIG1hbmVqYSB1biBjYWxsYmFjaykuIE1pc21vIHNldCwgbWlzbW9zXG4gKiB0b2tlbnMvaWNvbm9zL3J1dGFzIHF1ZSBlbCBidWlsZGVyIG9yaWdpbmFsIGRlIHNob3djYXNlXG4gKiAoYHNoYXJlZC9zZXR0aW5ncy1hY3Rpb24tY2FyZHMudHNgKSBxdWUgZXN0YSBwcm9tb2Npw7NuIHJlZW1wbGF6YS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFVFRJTkdTX1NFQ1RJT05TX0NBVEFMT0c6IFNldHRpbmdzU2VjdGlvbltdID0gW1xuICB7XG4gICAgdG9rZW46ICdhY3Rpb24tZ2VuZXJhbCcsXG4gICAgdGl0bGVLZXk6ICdnZW5lcmFsJyxcbiAgICBkZXNjS2V5OiAnZ2VuZXJhbERlc2MnLFxuICAgIGlvbmljb246ICdvcHRpb25zLW91dGxpbmUnLFxuICAgIHJvdXRlckxpbms6ICcvYXBwL3NldHRpbmdzL2dlbmVyYWwnLFxuICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgIHNoYWRvd2VkOiB0cnVlLFxuICB9LFxuICB7XG4gICAgdG9rZW46ICdhY3Rpb24tYWNjb3VudCcsXG4gICAgdGl0bGVLZXk6ICdhY2NvdW50JyxcbiAgICBkZXNjS2V5OiAnYWNjb3VudERlc2MnLFxuICAgIGlvbmljb246ICdidXNpbmVzcy1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9hY2NvdW50JyxcbiAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIC8vIENPUkU6IGdlc3Rpw7NuIGRlIG9yZ2FuaXphY2nDs24gKG1pZW1icm9zLCByb2xlcywgdHJhbnNmZXJlbmNpYSkuIE1vbnRhZGFcbiAgICAvLyBwb3IgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgIChpbmNsdWRlT3JnYW5pemF0aW9uIGRlZmF1bHQgdHJ1ZSksIGFzw61cbiAgICAvLyBxdWUgVE9EQVMgbGFzIGFwcHMgZGVsIGZhY3RvcnkgbGEgaGVyZWRhbiBlbiBlbCBodWIgc2luIGBpbmNsdWRlYC5cbiAgICB0b2tlbjogJ2FjdGlvbi1vcmdhbml6YXRpb24nLFxuICAgIHRpdGxlS2V5OiAnb3JnYW5pemF0aW9uJyxcbiAgICBkZXNjS2V5OiAnb3JnYW5pemF0aW9uRGVzYycsXG4gICAgaW9uaWNvbjogJ3Blb3BsZS1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9vcmdhbml6YXRpb24nLFxuICAgIHNob3dDaGV2cm9uOiB0cnVlLFxuICAgIHNoYWRvd2VkOiB0cnVlLFxuICB9LFxuICB7XG4gICAgdG9rZW46ICdhY3Rpb24tcHJvZmlsZScsXG4gICAgdGl0bGVLZXk6ICdlZGl0UHJvZmlsZScsXG4gICAgZGVzY0tleTogJ2VkaXRQcm9maWxlRGVzYycsXG4gICAgaW9uaWNvbjogJ3BlcnNvbi1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9wcm9maWxlJyxcbiAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHRva2VuOiAnYWN0aW9uLW5vdGlmaWNhdGlvbnMnLFxuICAgIHRpdGxlS2V5OiAnbm90aWZpY2F0aW9ucycsXG4gICAgZGVzY0tleTogJ25vdGlmaWNhdGlvbnNEZXNjJyxcbiAgICBpb25pY29uOiAnbm90aWZpY2F0aW9ucy1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9ub3RpZmljYXRpb25zJyxcbiAgICBzaG93Q2hldnJvbjogdHJ1ZSxcbiAgICBzaGFkb3dlZDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHRva2VuOiAnYWN0aW9uLXNlY3VyaXR5JyxcbiAgICB0aXRsZUtleTogJ3NlY3VyaXR5JyxcbiAgICBkZXNjS2V5OiAnc2VjdXJpdHlEZXNjJyxcbiAgICBpb25pY29uOiAnc2hpZWxkLWNoZWNrbWFyay1vdXRsaW5lJyxcbiAgICByb3V0ZXJMaW5rOiAnL2FwcC9zZXR0aW5ncy9zZWN1cml0eScsXG4gICAgc2hvd0NoZXZyb246IHRydWUsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG4gIHtcbiAgICB0b2tlbjogJ2FjdGlvbi1sb2dvdXQnLFxuICAgIHRpdGxlS2V5OiAnbG9nb3V0JyxcbiAgICBpb25pY29uOiAnbG9nLW91dC1vdXRsaW5lJyxcbiAgICBzaG93Q2hldnJvbjogZmFsc2UsXG4gICAgc2hhZG93ZWQ6IHRydWUsXG4gIH0sXG5dO1xuXG4vKiogT3BjaW9uZXMgZGVsIGJ1aWxkZXIgYGJ1aWxkU2V0dGluZ3NDYXJkc2AuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzQ2FyZHNPcHRpb25zIHtcbiAgLyoqIE9jdWx0YSBzZWNjaW9uZXMgcG9yIHRva2VuICh0w61waWNhbWVudGUgbGEgZW50cmFkYSBkZSBsYSBww6FnaW5hIGFjdHVhbCkuICovXG4gIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgLyoqIFNlY2Npb25lcyBleHRyYSBhIHN1bWFyIGFsIGNhdMOhbG9nbyAobGFzIGRlIGxhIGFwcCBhw7puIG5vIHByb21vdmlkYXMpLiAqL1xuICBpbmNsdWRlPzogU2V0dGluZ3NTZWN0aW9uW107XG4gIC8qKiBPcmRlbiBleHBsw61jaXRvIHBvciB0b2tlbi4gTGFzIG5vIGxpc3RhZGFzIHF1ZWRhbiBhbCBmaW5hbCwgZW4gc3Ugb3JkZW4uICovXG4gIG9yZGVyPzogc3RyaW5nW107XG4gIC8qKiBJbmNsdXllIGxhIGNhcmQgZGUgbG9nb3V0IChzaW4gcnV0YSkuIERlZmF1bHQgYGZhbHNlYC4gKi9cbiAgaW5jbHVkZUxvZ291dD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWVzY3JpYmUgZWwgcHJlZmlqbyBgL2FwcC9zZXR0aW5nc2AgZGUgbGFzIHJ1dGFzIGRlbCBjYXTDoWxvZ28uIEVqLlxuICAgKiBgYmFzZVBhdGg6ICcvYXBwL2NvbmZpZydgIOKGkiBgL2FwcC9jb25maWcvZ2VuZXJhbGAuIFNpIHNlIG9taXRlLCBsYXMgcnV0YXNcbiAgICogcXVlZGFuIHRhbCBjdWFsIGVsIGNhdMOhbG9nby5cbiAgICovXG4gIGJhc2VQYXRoPzogc3RyaW5nO1xufVxuXG5jb25zdCBDQVRBTE9HX0JBU0UgPSAnL2FwcC9zZXR0aW5ncyc7XG5cbi8qKlxuICogQ29uc3RydXllIGVsIGdyaWQgZGUgY2FyZHMgZGUgbmF2ZWdhY2nDs24gZGVsIEhVQiBkZSBzZXR0aW5ncyAodmVyc2nDs25cbiAqIHByb21vdmlkYSBkZWwgYGJ1aWxkU2V0dGluZ3NBY3Rpb25DYXJkc2AgZGUgc2hvd2Nhc2UpLiBVc2EgZWwgY2F0w6Fsb2dvXG4gKiBkZWZhdWx0ICsgbGFzIGBpbmNsdWRlYCBkZWwgY29uc3VtZXIsIGZpbHRyYSBgZXhjbHVkZWAsIGdhdGVhIGxvZ291dCBwb3JcbiAqIGBpbmNsdWRlTG9nb3V0YCwgcmVvcmRlbmEgcG9yIGBvcmRlcmAgeSByZWVzY3JpYmUgbGFzIHJ1dGFzIHBvciBgYmFzZVBhdGhgLlxuICpcbiAqIEVsIGB0YCByZXN1ZWx2ZSBsb3MgYHRpdGxlS2V5YC9gZGVzY0tleWAgY29udHJhIGVsIG5hbWVzcGFjZSBkZSBsYWJlbHNcbiAqIChkZWZhdWx0IGRlbCBjb21wb25lbnRlOiBgRGFzaGJvYXJkYCkuIGBsb2dvdXRgIE5PIHRpZW5lIGByb3V0ZXJMaW5rYCDigJQgZWxcbiAqIGNvbnN1bWVyIG1hbmVqYSBlbCBmbHVqbyBkZSBjaWVycmUgZGUgc2VzacOzbiBwb3IgdG9rZW4gLyBjYWxsYmFjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2V0dGluZ3NDYXJkcyhcbiAgdDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcsXG4gIG9wdGlvbnM6IFNldHRpbmdzQ2FyZHNPcHRpb25zID0ge31cbik6IEFjdGlvbkNhcmRNZXRhZGF0YVtdIHtcbiAgY29uc3QgZXhjbHVkZSA9IG5ldyBTZXQ8c3RyaW5nPihvcHRpb25zLmV4Y2x1ZGUgPz8gW10pO1xuICBjb25zdCBpbmNsdWRlTG9nb3V0ID0gb3B0aW9ucy5pbmNsdWRlTG9nb3V0ID8/IGZhbHNlO1xuICBjb25zdCBiYXNlUGF0aCA9IG9wdGlvbnMuYmFzZVBhdGg7XG5cbiAgY29uc3Qgc2VjdGlvbnM6IFNldHRpbmdzU2VjdGlvbltdID0gWy4uLlNFVFRJTkdTX1NFQ1RJT05TX0NBVEFMT0csIC4uLihvcHRpb25zLmluY2x1ZGUgPz8gW10pXTtcblxuICBsZXQgcmVzb2x2ZWQgPSBzZWN0aW9ucy5maWx0ZXIocyA9PiB7XG4gICAgaWYgKGV4Y2x1ZGUuaGFzKHMudG9rZW4pKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHMudG9rZW4gPT09ICdhY3Rpb24tbG9nb3V0JyAmJiAhaW5jbHVkZUxvZ291dCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICBpZiAob3B0aW9ucy5vcmRlciAmJiBvcHRpb25zLm9yZGVyLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCByYW5rID0gbmV3IE1hcChvcHRpb25zLm9yZGVyLm1hcCgodG9rZW4sIGkpID0+IFt0b2tlbiwgaV0pKTtcbiAgICByZXNvbHZlZCA9IFsuLi5yZXNvbHZlZF0uc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcmEgPSByYW5rLmhhcyhhLnRva2VuKSA/IHJhbmsuZ2V0KGEudG9rZW4pISA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgY29uc3QgcmIgPSByYW5rLmhhcyhiLnRva2VuKSA/IHJhbmsuZ2V0KGIudG9rZW4pISA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgcmV0dXJuIHJhIC0gcmI7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWQubWFwKHMgPT4ge1xuICAgIGNvbnN0IGNhcmQ6IEFjdGlvbkNhcmRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiBzLnRva2VuLFxuICAgICAgdGl0bGU6IHQocy50aXRsZUtleSksXG4gICAgICBpY29uOiB7XG4gICAgICAgIGlvbmljb246IHMuaW9uaWNvbixcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnbGlnaHQnLFxuICAgICAgfSxcbiAgICAgIHNob3dDaGV2cm9uOiBzLnNob3dDaGV2cm9uID8/IHRydWUsXG4gICAgICBzaGFkb3dlZDogcy5zaGFkb3dlZCA/PyB0cnVlLFxuICAgIH07XG4gICAgaWYgKHMuZGVzY0tleSkgY2FyZC5kZXNjcmlwdGlvbiA9IHQocy5kZXNjS2V5KTtcbiAgICBpZiAocy5yb3V0ZXJMaW5rKSB7XG4gICAgICBjYXJkLnJvdXRlckxpbmsgPSBiYXNlUGF0aCA/IHJld3JpdGVCYXNlUGF0aChzLnJvdXRlckxpbmssIGJhc2VQYXRoKSA6IHMucm91dGVyTGluaztcbiAgICB9XG4gICAgcmV0dXJuIGNhcmQ7XG4gIH0pO1xufVxuXG4vKiogUmVlc2NyaWJlIGVsIHByZWZpam8gYC9hcHAvc2V0dGluZ3NgIGRlIHVuYSBydXRhIGRlbCBjYXTDoWxvZ28gcG9yIGBiYXNlUGF0aGAuICovXG5mdW5jdGlvbiByZXdyaXRlQmFzZVBhdGgocm91dGVyTGluazogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHJvdXRlckxpbmsuc3RhcnRzV2l0aChDQVRBTE9HX0JBU0UpKSB7XG4gICAgcmV0dXJuIGJhc2VQYXRoICsgcm91dGVyTGluay5zbGljZShDQVRBTE9HX0JBU0UubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcm91dGVyTGluaztcbn1cbiJdfQ==
|
|
@@ -68,7 +68,7 @@ export class WizardFooterComponent {
|
|
|
68
68
|
(onClick)="clickHandler($event)"
|
|
69
69
|
></val-button-group>
|
|
70
70
|
</val-footer>
|
|
71
|
-
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: FooterComponent, selector: "val-footer", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ProgressBarComponent, selector: "val-progress-bar", inputs: ["preset", "props"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }] }); }
|
|
71
|
+
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: FooterComponent, selector: "val-footer", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ProgressBarComponent, selector: "val-progress-bar, vds-progress-bar", inputs: ["preset", "props"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }] }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WizardFooterComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
102
102
|
}], onClick: [{
|
|
103
103
|
type: Output
|
|
104
104
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQtZm9vdGVyL3dpemFyZC1mb290ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDOUYsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBd0IsTUFBTSxVQUFVLENBQUM7O0FBaUN4RCxNQUFNLE9BQU8scUJBQXFCO0lBL0JsQztRQW9DRSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFFbEUsY0FBUyxHQUFHLGdCQUFnQixDQUFDO0tBeUM5QjtJQXZDQyxRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzNELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0EvQ1UscUJBQXFCO21HQUFyQixxQkFBcUIsMElBM0J0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULDBFQXpCUyxlQUFlLGdHQUFFLG9CQUFvQiw0R0FBRSxvQkFBb0I7OzRGQTRCMUQscUJBQXFCO2tCQS9CakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLFlBQzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7OEJBS0QsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1PVElPTiwgU3RlcCwgV2l6YXJkTWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC13aXphcmQtZm9vdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvb3RlckNvbXBvbmVudCwgUHJvZ3Jlc3NCYXJDb21wb25lbnQsIEJ1dHRvbkdyb3VwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLWZvb3RlclxuICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICB0cmFuc2x1Y2VudDogZmFsc2UsXG4gICAgICAgIHRvb2xiYXI6IHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgICAgY29sb3I6ICcnLFxuICAgICAgICAgIHdpdGhCYWNrOiBmYWxzZSxcbiAgICAgICAgICB3aXRoQWN0aW9uczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8dmFsLXByb2dyZXNzLWJhclxuICAgICAgICBleHRyYVxuICAgICAgICBbcHJvcHNdPVwieyBwcm9ncmVzczogUHJvZ3Jlc3MsIGNvbG9yOiAnJywgdHlwZTogJ2RldGVybWluYXRlJywgYnVmZmVyOiAxLCBzaXplOiAnc21hbGwnLCByb3VuZGVkOiBmYWxzZSB9XCJcbiAgICAgID48L3ZhbC1wcm9ncmVzcy1iYXI+XG4gICAgICA8dmFsLWJ1dHRvbi1ncm91cFxuICAgICAgICBleHRyYVxuICAgICAgICBbcHJvcHNdPVwieyBidXR0b25zOiBhY3Rpb25zLCBwb3NpdGlvbjogJ3NwYWNlZCcsIGNvbHVtbmVkOiBmYWxzZSB9XCJcbiAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgPjwvdmFsLWJ1dHRvbi1ncm91cD5cbiAgICA8L3ZhbC1mb290ZXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV2l6YXJkRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHM6IFdpemFyZE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IGN1cnJlbnQ6IG51bWJlcjsgbW90aW9uOiBNT1RJT04gfT4oKTtcblxuICB3cmFwcGVySWQgPSAnd2l6YXJkLXdyYXBwZXInO1xuXG4gIG5nT25Jbml0KCkge31cblxuICBjbGlja0hhbmRsZXIodG9rZW4/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0b2tlbi5pbmNsdWRlcygncmlnaHQnKSkge1xuICAgICAgdGhpcy50cnlUb1N0ZXAoTU9USU9OLkZPUldBUkQpO1xuICAgIH1cbiAgICBpZiAodG9rZW4uaW5jbHVkZXMoJ2xlZnQnKSkge1xuICAgICAgdGhpcy50cnlUb1N0ZXAoTU9USU9OLkJBQ0tXQVJEKTtcbiAgICB9XG4gIH1cblxuICBnZXQgQ3VycmVudCgpOiBTdGVwIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGVwc1t0aGlzLnByb3BzLmN1cnJlbnRdO1xuICB9XG5cbiAgZ2V0IFByb2dyZXNzKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucHJvcHMuc3RlcHMgJiYgdGhpcy5wcm9wcy5jdXJyZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW50IC8gT2JqZWN0LmtleXModGhpcy5wcm9wcy5zdGVwcykubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGdldCBhY3Rpb25zKCk6IEJ1dHRvbk1ldGFkYXRhW10ge1xuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSBDb21wb25lbnRTdGF0ZXMuRVJST1IgJiYgdGhpcy5DdXJyZW50LmJ1dHRvbnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5DdXJyZW50LmJ1dHRvbnNbMV0uc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuY3VycmVudCA9PT0gMSAmJiB0aGlzLkN1cnJlbnQuYnV0dG9ucy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gW3RoaXMuQ3VycmVudC5idXR0b25zWzFdXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuQ3VycmVudC5idXR0b25zO1xuICB9XG5cbiAgdHJ5VG9TdGVwKG1vdGlvbjogTU9USU9OKTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoeyBjdXJyZW50OiB0aGlzLnByb3BzLmN1cnJlbnQsIG1vdGlvbiB9KTtcbiAgfVxufVxuIl19
|