@senior-gestao-relacionamento/angular-components 2.0.0-master-81752a2d → 2.0.0-master-b895cb27
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/schedule/schedule-detail/schedule-detail.component.mjs +3 -3
- package/esm2022/lib/components/schedule/schedule-form/schedule-form.component.mjs +2 -2
- package/fesm2022/senior-gestao-relacionamento-angular-components.mjs +3 -3
- package/fesm2022/senior-gestao-relacionamento-angular-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -66,14 +66,14 @@ export class ScheduleDetailComponent {
|
|
|
66
66
|
getConfirmationSeverity(c) { return getConfirmationSeverity(c); }
|
|
67
67
|
getConfirmationLabel(c) { return getConfirmationLabel(this.t, c); }
|
|
68
68
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleDetailComponent, deps: [{ token: i1.ScheduleService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScheduleDetailComponent, isStandalone: true, selector: "s-schedule-detail", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [(visible)]=\"visible\"\n [header]=\"schedule?.name || ''\"\n [modal]=\"true\"\n styleClass=\"detail-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onClose()\"\n>\n <div class=\"detail-dialog-body\" *ngIf=\"schedule\">\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-dialog-row\">\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_priority' | translate }}\n </span>\n <p-tag\n [value]=\"getPriorityLabel(schedule.priority)\"\n [severity]=\"getPrioritySeverity(schedule.priority)\"\n ></p-tag>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.scheduleType\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_type' | translate }}\n </span>\n <span>{{ schedule.scheduleType.name }}</span>\n </div>\n <div class=\"detail-dialog-row\">\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_start_date' | translate }}\n </span>\n <span>{{ scheduleData.startDate | dateFormat }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"scheduleData.endDate\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_end_date' | translate }}\n </span>\n <span>{{ scheduleData.endDate | dateFormat }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"!schedule.allDay && schedule.startTime\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_start_time' | translate }}\n </span>\n <span>\n {{ schedule.startTime }} - {{ schedule.endTime }}\n </span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.allDay\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_start_time' | translate }}\n </span>\n <span>\n {{ 'crmx.components.schedule_all_day' | translate }}\n </span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.whenOccurs\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_recurrence' | translate }}\n </span>\n <span>{{ schedule.whenOccurs }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"scheduleData.comments\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_comments' | translate }}\n </span>\n <span>{{ scheduleData.comments }}</span>\n </div>\n </div>\n <p-divider *ngIf=\"scheduleData\"></p-divider>\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-section-header\">\n <i class=\"pi pi-users\"></i>\n <span>\n {{ 'crmx.components.schedule_participants' | translate }}\n </span>\n </div>\n <p-table\n [value]=\"participants\"\n [loading]=\"participantsLoading\"\n styleClass=\"p-datatable-sm p-datatable-striped\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\">\n {{ 'crmx.components.schedule_name' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-participant-type\"\n >\n {{ 'crmx.components.schedule_participant_type' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-status\"\n >\n {{ 'crmx.components.schedule_status' | translate }}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-p>\n <tr>\n <td>\n <span>{{ getParticipantName(p) }}</span>\n </td>\n <td>\n <div class=\"participant-type-cell\">\n <i\n [class]=\"getParticipantTypeIcon(p)\"\n ></i>\n <span>\n {{ getParticipantType(p) }}\n </span>\n </div>\n </td>\n <td>\n <p-tag\n *ngIf=\"p.organizer\"\n [value]=\"\n 'crmx.components.schedule_participant_organizer_label'\n | translate\n \"\n severity=\"info\"\n ></p-tag>\n <p-tag\n *ngIf=\"!p.organizer\"\n [value]=\"\n getConfirmationLabel(p.confirmation)\n \"\n [severity]=\"\n getConfirmationSeverity(p.confirmation)\n \"\n ></p-tag>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"3\">\n <div class=\"participants-empty\">\n <i class=\"pi pi-users\"></i>\n <p>\n {{\n 'crmx.components.schedule_no_participants'\n | translate\n }}\n </p>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n</p-dialog>\n", styles: [":host ::ng-deep .detail-dialog{width:600px}.detail-dialog-body{display:flex;flex-direction:column;gap:.5rem}.detail-dialog-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0}.detail-label{font-weight:500;color:var(--p-text-secondary-color);min-width:8rem}.detail-section-header{display:flex;align-items:center;gap:.5rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--p-surface-200);font-weight:600;font-size:.95rem;color:var(--p-text-color)}.detail-section-header i{color:var(--p-primary-color);font-size:1rem}.participant-type-cell{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--p-text-secondary-color)}.participant-type-cell i{font-size:.9rem}.col-participant-type{width:10rem}.col-status{width:8rem}.participants-empty{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--p-text-secondary-color);border:1px dashed var(--p-surface-300);border-radius:8px}.participants-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.4}.participants-empty p{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i7.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: DateFormatPipe, name: "dateFormat" }] });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScheduleDetailComponent, isStandalone: true, selector: "s-schedule-detail", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [(visible)]=\"visible\"\n [header]=\"schedule?.name || ''\"\n [modal]=\"true\"\n styleClass=\"detail-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onClose()\"\n>\n <div class=\"detail-dialog-body\" *ngIf=\"schedule\">\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-dialog-row\">\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_priority' | translate }}\n </span>\n <p-tag\n [value]=\"getPriorityLabel(schedule.priority)\"\n [severity]=\"getPrioritySeverity(schedule.priority)\"\n ></p-tag>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.scheduleType\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_type' | translate }}\n </span>\n <span>{{ schedule.scheduleType.name }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.whenOccurs\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_recurrence' | translate }}\n </span>\n <span>{{ schedule.whenOccurs }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"scheduleData.comments\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_comments' | translate }}\n </span>\n <span>{{ scheduleData.comments }}</span>\n </div>\n </div>\n <p-divider *ngIf=\"scheduleData\"></p-divider>\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-section-header\">\n <i class=\"pi pi-users\"></i>\n <span>\n {{ 'crmx.components.schedule_participants' | translate }}\n </span>\n </div>\n <p-table\n [value]=\"participants\"\n [loading]=\"participantsLoading\"\n styleClass=\"p-datatable-sm p-datatable-striped\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\">\n {{ 'crmx.components.schedule_name' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-participant-type\"\n >\n {{ 'crmx.components.schedule_participant_type' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-status\"\n >\n {{ 'crmx.components.schedule_status' | translate }}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-p>\n <tr>\n <td>\n <span>{{ getParticipantName(p) }}</span>\n </td>\n <td>\n <div class=\"participant-type-cell\">\n <i\n [class]=\"getParticipantTypeIcon(p)\"\n ></i>\n <span>\n {{ getParticipantType(p) }}\n </span>\n </div>\n </td>\n <td>\n <p-tag\n *ngIf=\"p.organizer\"\n [value]=\"\n 'crmx.components.schedule_participant_organizer_label'\n | translate\n \"\n severity=\"info\"\n ></p-tag>\n <p-tag\n *ngIf=\"!p.organizer\"\n [value]=\"\n getConfirmationLabel(p.confirmation)\n \"\n [severity]=\"\n getConfirmationSeverity(p.confirmation)\n \"\n ></p-tag>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"3\">\n <div class=\"participants-empty\">\n <i class=\"pi pi-users\"></i>\n <p>\n {{\n 'crmx.components.schedule_no_participants'\n | translate\n }}\n </p>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n</p-dialog>\n", styles: [":host ::ng-deep .detail-dialog{width:600px}.detail-dialog-body{display:flex;flex-direction:column;gap:.5rem}.detail-dialog-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0}.detail-label{font-weight:500;color:var(--p-text-secondary-color);min-width:8rem}.detail-section-header{display:flex;align-items:center;gap:.5rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--p-surface-200);font-weight:600;font-size:.95rem;color:var(--p-text-color)}.detail-section-header i{color:var(--p-primary-color);font-size:1rem}.participant-type-cell{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--p-text-secondary-color)}.participant-type-cell i{font-size:.9rem}.col-participant-type{width:10rem}.col-status{width:8rem}.participants-empty{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--p-text-secondary-color);border:1px dashed var(--p-surface-300);border-radius:8px}.participants-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.4}.participants-empty p{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i7.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
70
70
|
}
|
|
71
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleDetailComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
|
-
args: [{ selector: 's-schedule-detail', standalone: true, imports: [CommonModule, DialogModule, DividerModule, TagModule, TableModule, TranslatePipe, DateFormatPipe], template: "<p-dialog\n [(visible)]=\"visible\"\n [header]=\"schedule?.name || ''\"\n [modal]=\"true\"\n styleClass=\"detail-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onClose()\"\n>\n <div class=\"detail-dialog-body\" *ngIf=\"schedule\">\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-dialog-row\">\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_priority' | translate }}\n </span>\n <p-tag\n [value]=\"getPriorityLabel(schedule.priority)\"\n [severity]=\"getPrioritySeverity(schedule.priority)\"\n ></p-tag>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.scheduleType\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_type' | translate }}\n </span>\n <span>{{ schedule.scheduleType.name }}</span>\n </div>\n <div
|
|
73
|
+
args: [{ selector: 's-schedule-detail', standalone: true, imports: [CommonModule, DialogModule, DividerModule, TagModule, TableModule, TranslatePipe, DateFormatPipe], template: "<p-dialog\n [(visible)]=\"visible\"\n [header]=\"schedule?.name || ''\"\n [modal]=\"true\"\n styleClass=\"detail-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onClose()\"\n>\n <div class=\"detail-dialog-body\" *ngIf=\"schedule\">\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-dialog-row\">\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_priority' | translate }}\n </span>\n <p-tag\n [value]=\"getPriorityLabel(schedule.priority)\"\n [severity]=\"getPrioritySeverity(schedule.priority)\"\n ></p-tag>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.scheduleType\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_type' | translate }}\n </span>\n <span>{{ schedule.scheduleType.name }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"schedule.whenOccurs\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_recurrence' | translate }}\n </span>\n <span>{{ schedule.whenOccurs }}</span>\n </div>\n <div\n class=\"detail-dialog-row\"\n *ngIf=\"scheduleData.comments\"\n >\n <span class=\"detail-label\">\n {{ 'crmx.components.schedule_comments' | translate }}\n </span>\n <span>{{ scheduleData.comments }}</span>\n </div>\n </div>\n <p-divider *ngIf=\"scheduleData\"></p-divider>\n <div\n class=\"detail-dialog-section\"\n *ngIf=\"scheduleData\"\n >\n <div class=\"detail-section-header\">\n <i class=\"pi pi-users\"></i>\n <span>\n {{ 'crmx.components.schedule_participants' | translate }}\n </span>\n </div>\n <p-table\n [value]=\"participants\"\n [loading]=\"participantsLoading\"\n styleClass=\"p-datatable-sm p-datatable-striped\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\">\n {{ 'crmx.components.schedule_name' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-participant-type\"\n >\n {{ 'crmx.components.schedule_participant_type' | translate }}\n </th>\n <th\n scope=\"col\"\n class=\"col-status\"\n >\n {{ 'crmx.components.schedule_status' | translate }}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-p>\n <tr>\n <td>\n <span>{{ getParticipantName(p) }}</span>\n </td>\n <td>\n <div class=\"participant-type-cell\">\n <i\n [class]=\"getParticipantTypeIcon(p)\"\n ></i>\n <span>\n {{ getParticipantType(p) }}\n </span>\n </div>\n </td>\n <td>\n <p-tag\n *ngIf=\"p.organizer\"\n [value]=\"\n 'crmx.components.schedule_participant_organizer_label'\n | translate\n \"\n severity=\"info\"\n ></p-tag>\n <p-tag\n *ngIf=\"!p.organizer\"\n [value]=\"\n getConfirmationLabel(p.confirmation)\n \"\n [severity]=\"\n getConfirmationSeverity(p.confirmation)\n \"\n ></p-tag>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"3\">\n <div class=\"participants-empty\">\n <i class=\"pi pi-users\"></i>\n <p>\n {{\n 'crmx.components.schedule_no_participants'\n | translate\n }}\n </p>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n</p-dialog>\n", styles: [":host ::ng-deep .detail-dialog{width:600px}.detail-dialog-body{display:flex;flex-direction:column;gap:.5rem}.detail-dialog-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0}.detail-label{font-weight:500;color:var(--p-text-secondary-color);min-width:8rem}.detail-section-header{display:flex;align-items:center;gap:.5rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--p-surface-200);font-weight:600;font-size:.95rem;color:var(--p-text-color)}.detail-section-header i{color:var(--p-primary-color);font-size:1rem}.participant-type-cell{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--p-text-secondary-color)}.participant-type-cell i{font-size:.9rem}.col-participant-type{width:10rem}.col-status{width:8rem}.participants-empty{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--p-text-secondary-color);border:1px dashed var(--p-surface-300);border-radius:8px}.participants-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.4}.participants-empty p{margin:0}\n"] }]
|
|
74
74
|
}], ctorParameters: () => [{ type: i1.ScheduleService }, { type: i2.TranslationService }], propDecorators: { visible: [{
|
|
75
75
|
type: Input
|
|
76
76
|
}], visibleChange: [{
|
|
77
77
|
type: Output
|
|
78
78
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUtZGV0YWlsL3NjaGVkdWxlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlL3NjaGVkdWxlLWRldGFpbC9zY2hlZHVsZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBc0IsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHbEcsT0FBTyxFQUNMLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUM5RCxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFDOUQsb0JBQW9CLEVBQ3JCLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7QUFTN0MsTUFBTSxPQUFPLHVCQUF1QjtJQWlCZjtJQUNBO0lBakJWLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDZixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcs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TyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkYsZ0JBQWdCLENBQUMsQ0FBUyxJQUFZLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsdUJBQXVCLENBQUMsQ0FBUyxJQUEwQixPQUFPLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixvQkFBb0IsQ0FBQyxDQUFTLElBQVksT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3R0EzRHhFLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDBKQ3RCcEMsMDNLQWtMQSw0bENEaEtZLFlBQVksa0lBQUUsWUFBWSwwZ0NBQUUsYUFBYSwwSkFBRSxTQUFTLCtKQUFFLFdBQVcsdStEQUFFLGFBQWEsNkNBQUUsY0FBYzs7NEZBSS9GLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO3FIQUtsRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgRGl2aWRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGl2aWRlcic7XG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhZyc7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBEYXRlRm9ybWF0UGlwZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9jb21wb25lbnRzLWFpJztcbmltcG9ydCB7IFNjaGVkdWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NjaGVkdWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NoZWR1bGUsIFNjaGVkdWxlUGFydGljaXBhbnQgfSBmcm9tICcuLi9lbnRpdGllcy9zY2hlZHVsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgZ2V0UGFydGljaXBhbnROYW1lLCBnZXRQYXJ0aWNpcGFudFR5cGUsIGdldFBhcnRpY2lwYW50VHlwZUljb24sXG4gIGdldFByaW9yaXR5U2V2ZXJpdHksIGdldFByaW9yaXR5TGFiZWwsIGdldENvbmZpcm1hdGlvblNldmVyaXR5LFxuICBnZXRDb25maXJtYXRpb25MYWJlbCwgUHJpb3JpdHlTZXZlcml0eSwgQ29uZmlybWF0aW9uU2V2ZXJpdHlcbn0gZnJvbSAnLi4vaGVscGVycy9zY2hlZHVsZS1kaXNwbGF5LmhlbHBlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXNjaGVkdWxlLWRldGFpbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgRGl2aWRlck1vZHVsZSwgVGFnTW9kdWxlLCBUYWJsZU1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgRGF0ZUZvcm1hdFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGUtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NjaGVkdWxlLWRldGFpbC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVEZXRhaWxDb21wb25lbnQge1xuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHNjaGVkdWxlOiB7XG4gICAgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nO1xuICAgIHNjaGVkdWxlVHlwZTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfSB8IG51bGw7XG4gICAgd2l0aFJlY3VycmVuY2U6IGJvb2xlYW47IHdoZW5PY2N1cnM6IHN0cmluZztcbiAgICBhbGxEYXk6IGJvb2xlYW47IHN0YXJ0VGltZT86IHN0cmluZzsgZW5kVGltZT86IHN0cmluZztcbiAgICBwcmlvcml0eTogc3RyaW5nOyBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICB9IHwgbnVsbCA9IG51bGw7XG4gIHNjaGVkdWxlRGF0YTogU2NoZWR1bGUgfCBudWxsID0gbnVsbDtcbiAgcGFydGljaXBhbnRzOiBTY2hlZHVsZVBhcnRpY2lwYW50W10gPSBbXTtcbiAgcGFydGljaXBhbnRzTG9hZGluZyA9IGZhbHNlO1xuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY2hlZHVsZVNlcnZpY2U6IFNjaGVkdWxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHQ6IFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgb3BlbihzY2hlZHVsZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNjaGVkdWxlID0gbnVsbDtcbiAgICB0aGlzLnNjaGVkdWxlRGF0YSA9IG51bGw7XG4gICAgdGhpcy5wYXJ0aWNpcGFudHMgPSBbXTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucGFydGljaXBhbnRzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0cnVlKTtcblxuICAgIHRoaXMuc2NoZWR1bGVTZXJ2aWNlLmdldChzY2hlZHVsZUlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZURhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnNjaGVkdWxlID0ge1xuICAgICAgICAgIGlkOiBkYXRhLmlkLCBuYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgc2NoZWR1bGVUeXBlOiBkYXRhLnR5cGUgPz8gbnVsbCxcbiAgICAgICAgICB3aXRoUmVjdXJyZW5jZTogZGF0YS53aXRoUmVjdXJyZW5jZSxcbiAgICAgICAgICB3aGVuT2NjdXJzOiBkYXRhLndoZW5PY2N1cnMgPz8gJycsXG4gICAgICAgICAgYWxsRGF5OiBkYXRhLmFsbERheSwgc3RhcnRUaW1lOiBkYXRhLnN0YXJ0VGltZSxcbiAgICAgICAgICBlbmRUaW1lOiBkYXRhLmVuZFRpbWUsIHByaW9yaXR5OiBkYXRhLnByaW9yaXR5XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7IHRoaXMubG9hZGluZyA9IGZhbHNlOyB9XG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZVNlcnZpY2UubGlzdFBhcnRpY2lwYW50cyhzY2hlZHVsZUlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHIpID0+IHsgdGhpcy5wYXJ0aWNpcGFudHMgPSByLmNvbnRlbnRzID8/IFtdOyB0aGlzLnBhcnRpY2lwYW50c0xvYWRpbmcgPSBmYWxzZTsgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7IHRoaXMucGFydGljaXBhbnRzTG9hZGluZyA9IGZhbHNlOyB9XG4gICAgfSk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQgeyB0aGlzLnZpc2libGUgPSBmYWxzZTsgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpOyB9XG5cbiAgZ2V0UGFydGljaXBhbnROYW1lKHA6IFNjaGVkdWxlUGFydGljaXBhbnQpOiBzdHJpbmcgeyByZXR1cm4gZ2V0UGFydGljaXBhbnROYW1lKHApOyB9XG4gIGdldFBhcnRpY2lwYW50VHlwZShwOiBTY2hlZHVsZVBhcnRpY2lwYW50KTogc3RyaW5nIHsgcmV0dXJuIGdldFBhcnRpY2lwYW50VHlwZSh0aGlzLnQsIHApOyB9XG4gIGdldFBhcnRpY2lwYW50VHlwZUljb24ocDogU2NoZWR1bGVQYXJ0aWNpcGFudCk6IHN0cmluZyB7IHJldHVybiBnZXRQYXJ0aWNpcGFudFR5cGVJY29uKHApOyB9XG4gIGdldFByaW9yaXR5U2V2ZXJpdHkocDogc3RyaW5nKTogUHJpb3JpdHlTZXZlcml0eSB7IHJldHVybiBnZXRQcmlvcml0eVNldmVyaXR5KHApOyB9XG4gIGdldFByaW9yaXR5TGFiZWwocDogc3RyaW5nKTogc3RyaW5nIHsgcmV0dXJuIGdldFByaW9yaXR5TGFiZWwodGhpcy50LCBwKTsgfVxuICBnZXRDb25maXJtYXRpb25TZXZlcml0eShjOiBzdHJpbmcpOiBDb25maXJtYXRpb25TZXZlcml0eSB7IHJldHVybiBnZXRDb25maXJtYXRpb25TZXZlcml0eShjKTsgfVxuICBnZXRDb25maXJtYXRpb25MYWJlbChjOiBzdHJpbmcpOiBzdHJpbmcgeyByZXR1cm4gZ2V0Q29uZmlybWF0aW9uTGFiZWwodGhpcy50LCBjKTsgfVxufVxuIiwiPHAtZGlhbG9nXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXG4gIFtoZWFkZXJdPVwic2NoZWR1bGU/Lm5hbWUgfHwgJydcIlxuICBbbW9kYWxdPVwidHJ1ZVwiXG4gIHN0eWxlQ2xhc3M9XCJkZXRhaWwtZGlhbG9nXCJcbiAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXG4gIFtyZXNpemFibGVdPVwiZmFsc2VcIlxuICAob25IaWRlKT1cIm9uQ2xvc2UoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLWJvZHlcIiAqbmdJZj1cInNjaGVkdWxlXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXNlY3Rpb25cIlxuICAgICAgKm5nSWY9XCJzY2hlZHVsZURhdGFcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXJvd1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRldGFpbC1sYWJlbFwiPlxuICAgICAgICAgIHt7ICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfcHJpb3JpdHknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHAtdGFnXG4gICAgICAgICAgW3ZhbHVlXT1cImdldFByaW9yaXR5TGFiZWwoc2NoZWR1bGUucHJpb3JpdHkpXCJcbiAgICAgICAgICBbc2V2ZXJpdHldPVwiZ2V0UHJpb3JpdHlTZXZlcml0eShzY2hlZHVsZS5wcmlvcml0eSlcIlxuICAgICAgICA+PC9wLXRhZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRldGFpbC1kaWFsb2ctcm93XCJcbiAgICAgICAgKm5nSWY9XCJzY2hlZHVsZS5zY2hlZHVsZVR5cGVcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRldGFpbC1sYWJlbFwiPlxuICAgICAgICAgIHt7ICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfdHlwZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBzY2hlZHVsZS5zY2hlZHVsZVR5cGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1kaWFsb2ctcm93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGV0YWlsLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9zdGFydF9kYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IHNjaGVkdWxlRGF0YS5zdGFydERhdGUgfCBkYXRlRm9ybWF0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1yb3dcIlxuICAgICAgICAqbmdJZj1cInNjaGVkdWxlRGF0YS5lbmREYXRlXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXRhaWwtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX2VuZF9kYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IHNjaGVkdWxlRGF0YS5lbmREYXRlIHwgZGF0ZUZvcm1hdCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRldGFpbC1kaWFsb2ctcm93XCJcbiAgICAgICAgKm5nSWY9XCIhc2NoZWR1bGUuYWxsRGF5ICYmIHNjaGVkdWxlLnN0YXJ0VGltZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGV0YWlsLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9zdGFydF90aW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHt7IHNjaGVkdWxlLnN0YXJ0VGltZSB9fSAtIHt7IHNjaGVkdWxlLmVuZFRpbWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1yb3dcIlxuICAgICAgICAqbmdJZj1cInNjaGVkdWxlLmFsbERheVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGV0YWlsLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9zdGFydF90aW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHt7ICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfYWxsX2RheScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1yb3dcIlxuICAgICAgICAqbmdJZj1cInNjaGVkdWxlLndoZW5PY2N1cnNcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRldGFpbC1sYWJlbFwiPlxuICAgICAgICAgIHt7ICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfcmVjdXJyZW5jZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBzY2hlZHVsZS53aGVuT2NjdXJzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1yb3dcIlxuICAgICAgICAqbmdJZj1cInNjaGVkdWxlRGF0YS5jb21tZW50c1wiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGV0YWlsLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9jb21tZW50cycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBzY2hlZHVsZURhdGEuY29tbWVudHMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8cC1kaXZpZGVyICpuZ0lmPVwic2NoZWR1bGVEYXRhXCI+PC9wLWRpdmlkZXI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXNlY3Rpb25cIlxuICAgICAgKm5nSWY9XCJzY2hlZHVsZURhdGFcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS11c2Vyc1wiPjwvaT5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9wYXJ0aWNpcGFudHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAtdGFibGVcbiAgICAgICAgW3ZhbHVlXT1cInBhcnRpY2lwYW50c1wiXG4gICAgICAgIFtsb2FkaW5nXT1cInBhcnRpY2lwYW50c0xvYWRpbmdcIlxuICAgICAgICBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc20gcC1kYXRhdGFibGUtc3RyaXBlZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9uYW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY29sLXBhcnRpY2lwYW50LXR5cGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX3BhcnRpY2lwYW50X3R5cGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtc3RhdHVzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9zdGF0dXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXA+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRQYXJ0aWNpcGFudE5hbWUocCkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFydGljaXBhbnQtdHlwZS1jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRQYXJ0aWNpcGFudFR5cGVJY29uKHApXCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0UGFydGljaXBhbnRUeXBlKHApIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxwLXRhZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwicC5vcmdhbml6ZXJcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgICAgICAgICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfcGFydGljaXBhbnRfb3JnYW5pemVyX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJpbmZvXCJcbiAgICAgICAgICAgICAgPjwvcC10YWc+XG4gICAgICAgICAgICAgIDxwLXRhZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXAub3JnYW5pemVyXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiXG4gICAgICAgICAgICAgICAgICBnZXRDb25maXJtYXRpb25MYWJlbChwLmNvbmZpcm1hdGlvbilcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtzZXZlcml0eV09XCJcbiAgICAgICAgICAgICAgICAgIGdldENvbmZpcm1hdGlvblNldmVyaXR5KHAuY29uZmlybWF0aW9uKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L3AtdGFnPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNpcGFudHMtZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXVzZXJzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9ub19wYXJ0aWNpcGFudHMnXG4gICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcC10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3AtZGlhbG9nPlxuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUtZGV0YWlsL3NjaGVkdWxlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlL3NjaGVkdWxlLWRldGFpbC9zY2hlZHVsZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBc0IsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHbEcsT0FBTyxFQUNMLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUM5RCxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFDOUQsb0JBQW9CLEVBQ3JCLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7QUFTN0MsTUFBTSxPQUFPLHVCQUF1QjtJQWlCZjtJQUNBO0lBakJWLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDZixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcs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TyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkYsZ0JBQWdCLENBQUMsQ0FBUyxJQUFZLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsdUJBQXVCLENBQUMsQ0FBUyxJQUEwQixPQUFPLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixvQkFBb0IsQ0FBQyxDQUFTLElBQVksT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3R0EzRHhFLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDBKQ3RCcEMsK3JJQTZJQSw0bENEM0hZLFlBQVksa0lBQUUsWUFBWSwwZ0NBQUUsYUFBYSwwSkFBRSxTQUFTLCtKQUFFLFdBQVcsdStEQUFFLGFBQWE7OzRGQUkvRSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQztxSEFLbEcsT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IERpdmlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpdmlkZXInO1xuaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWcnO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0aW9uU2VydmljZSwgRGF0ZUZvcm1hdFBpcGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvY29tcG9uZW50cy1haSc7XG5pbXBvcnQgeyBTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zY2hlZHVsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjaGVkdWxlLCBTY2hlZHVsZVBhcnRpY2lwYW50IH0gZnJvbSAnLi4vZW50aXRpZXMvc2NoZWR1bGUuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIGdldFBhcnRpY2lwYW50TmFtZSwgZ2V0UGFydGljaXBhbnRUeXBlLCBnZXRQYXJ0aWNpcGFudFR5cGVJY29uLFxuICBnZXRQcmlvcml0eVNldmVyaXR5LCBnZXRQcmlvcml0eUxhYmVsLCBnZXRDb25maXJtYXRpb25TZXZlcml0eSxcbiAgZ2V0Q29uZmlybWF0aW9uTGFiZWwsIFByaW9yaXR5U2V2ZXJpdHksIENvbmZpcm1hdGlvblNldmVyaXR5XG59IGZyb20gJy4uL2hlbHBlcnMvc2NoZWR1bGUtZGlzcGxheS5oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy1zY2hlZHVsZS1kZXRhaWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEaWFsb2dNb2R1bGUsIERpdmlkZXJNb2R1bGUsIFRhZ01vZHVsZSwgVGFibGVNb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIERhdGVGb3JtYXRQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zY2hlZHVsZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlRGV0YWlsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzY2hlZHVsZToge1xuICAgIGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZztcbiAgICBzY2hlZHVsZVR5cGU6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0gfCBudWxsO1xuICAgIHdpdGhSZWN1cnJlbmNlOiBib29sZWFuOyB3aGVuT2NjdXJzOiBzdHJpbmc7XG4gICAgYWxsRGF5OiBib29sZWFuOyBzdGFydFRpbWU/OiBzdHJpbmc7IGVuZFRpbWU/OiBzdHJpbmc7XG4gICAgcHJpb3JpdHk6IHN0cmluZzsgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSB8IG51bGwgPSBudWxsO1xuICBzY2hlZHVsZURhdGE6IFNjaGVkdWxlIHwgbnVsbCA9IG51bGw7XG4gIHBhcnRpY2lwYW50czogU2NoZWR1bGVQYXJ0aWNpcGFudFtdID0gW107XG4gIHBhcnRpY2lwYW50c0xvYWRpbmcgPSBmYWxzZTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NoZWR1bGVTZXJ2aWNlOiBTY2hlZHVsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0OiBUcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIG9wZW4oc2NoZWR1bGVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zY2hlZHVsZSA9IG51bGw7XG4gICAgdGhpcy5zY2hlZHVsZURhdGEgPSBudWxsO1xuICAgIHRoaXMucGFydGljaXBhbnRzID0gW107XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnBhcnRpY2lwYW50c0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodHJ1ZSk7XG5cbiAgICB0aGlzLnNjaGVkdWxlU2VydmljZS5nZXQoc2NoZWR1bGVJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVEYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy5zY2hlZHVsZSA9IHtcbiAgICAgICAgICBpZDogZGF0YS5pZCwgbmFtZTogZGF0YS5uYW1lLFxuICAgICAgICAgIHNjaGVkdWxlVHlwZTogZGF0YS50eXBlID8/IG51bGwsXG4gICAgICAgICAgd2l0aFJlY3VycmVuY2U6IGRhdGEud2l0aFJlY3VycmVuY2UsXG4gICAgICAgICAgd2hlbk9jY3VyczogZGF0YS53aGVuT2NjdXJzID8/ICcnLFxuICAgICAgICAgIGFsbERheTogZGF0YS5hbGxEYXksIHN0YXJ0VGltZTogZGF0YS5zdGFydFRpbWUsXG4gICAgICAgICAgZW5kVGltZTogZGF0YS5lbmRUaW1lLCBwcmlvcml0eTogZGF0YS5wcmlvcml0eVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLmxvYWRpbmcgPSBmYWxzZTsgfVxuICAgIH0pO1xuICAgIHRoaXMuc2NoZWR1bGVTZXJ2aWNlLmxpc3RQYXJ0aWNpcGFudHMoc2NoZWR1bGVJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyKSA9PiB7IHRoaXMucGFydGljaXBhbnRzID0gci5jb250ZW50cyA/PyBbXTsgdGhpcy5wYXJ0aWNpcGFudHNMb2FkaW5nID0gZmFsc2U7IH0sXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLnBhcnRpY2lwYW50c0xvYWRpbmcgPSBmYWxzZTsgfVxuICAgIH0pO1xuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHsgdGhpcy52aXNpYmxlID0gZmFsc2U7IHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTsgfVxuXG4gIGdldFBhcnRpY2lwYW50TmFtZShwOiBTY2hlZHVsZVBhcnRpY2lwYW50KTogc3RyaW5nIHsgcmV0dXJuIGdldFBhcnRpY2lwYW50TmFtZShwKTsgfVxuICBnZXRQYXJ0aWNpcGFudFR5cGUocDogU2NoZWR1bGVQYXJ0aWNpcGFudCk6IHN0cmluZyB7IHJldHVybiBnZXRQYXJ0aWNpcGFudFR5cGUodGhpcy50LCBwKTsgfVxuICBnZXRQYXJ0aWNpcGFudFR5cGVJY29uKHA6IFNjaGVkdWxlUGFydGljaXBhbnQpOiBzdHJpbmcgeyByZXR1cm4gZ2V0UGFydGljaXBhbnRUeXBlSWNvbihwKTsgfVxuICBnZXRQcmlvcml0eVNldmVyaXR5KHA6IHN0cmluZyk6IFByaW9yaXR5U2V2ZXJpdHkgeyByZXR1cm4gZ2V0UHJpb3JpdHlTZXZlcml0eShwKTsgfVxuICBnZXRQcmlvcml0eUxhYmVsKHA6IHN0cmluZyk6IHN0cmluZyB7IHJldHVybiBnZXRQcmlvcml0eUxhYmVsKHRoaXMudCwgcCk7IH1cbiAgZ2V0Q29uZmlybWF0aW9uU2V2ZXJpdHkoYzogc3RyaW5nKTogQ29uZmlybWF0aW9uU2V2ZXJpdHkgeyByZXR1cm4gZ2V0Q29uZmlybWF0aW9uU2V2ZXJpdHkoYyk7IH1cbiAgZ2V0Q29uZmlybWF0aW9uTGFiZWwoYzogc3RyaW5nKTogc3RyaW5nIHsgcmV0dXJuIGdldENvbmZpcm1hdGlvbkxhYmVsKHRoaXMudCwgYyk7IH1cbn1cbiIsIjxwLWRpYWxvZ1xuICBbKHZpc2libGUpXT1cInZpc2libGVcIlxuICBbaGVhZGVyXT1cInNjaGVkdWxlPy5uYW1lIHx8ICcnXCJcbiAgW21vZGFsXT1cInRydWVcIlxuICBzdHlsZUNsYXNzPVwiZGV0YWlsLWRpYWxvZ1wiXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxuICBbcmVzaXphYmxlXT1cImZhbHNlXCJcbiAgKG9uSGlkZSk9XCJvbkNsb3NlKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1ib2R5XCIgKm5nSWY9XCJzY2hlZHVsZVwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1zZWN0aW9uXCJcbiAgICAgICpuZ0lmPVwic2NoZWR1bGVEYXRhXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWRpYWxvZy1yb3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXRhaWwtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX3ByaW9yaXR5JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxwLXRhZ1xuICAgICAgICAgIFt2YWx1ZV09XCJnZXRQcmlvcml0eUxhYmVsKHNjaGVkdWxlLnByaW9yaXR5KVwiXG4gICAgICAgICAgW3NldmVyaXR5XT1cImdldFByaW9yaXR5U2V2ZXJpdHkoc2NoZWR1bGUucHJpb3JpdHkpXCJcbiAgICAgICAgPjwvcC10YWc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXJvd1wiXG4gICAgICAgICpuZ0lmPVwic2NoZWR1bGUuc2NoZWR1bGVUeXBlXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXRhaWwtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX3R5cGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgc2NoZWR1bGUuc2NoZWR1bGVUeXBlLm5hbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXJvd1wiXG4gICAgICAgICpuZ0lmPVwic2NoZWR1bGUud2hlbk9jY3Vyc1wiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGV0YWlsLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9yZWN1cnJlbmNlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IHNjaGVkdWxlLndoZW5PY2N1cnMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkZXRhaWwtZGlhbG9nLXJvd1wiXG4gICAgICAgICpuZ0lmPVwic2NoZWR1bGVEYXRhLmNvbW1lbnRzXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXRhaWwtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX2NvbW1lbnRzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IHNjaGVkdWxlRGF0YS5jb21tZW50cyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxwLWRpdmlkZXIgKm5nSWY9XCJzY2hlZHVsZURhdGFcIj48L3AtZGl2aWRlcj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRldGFpbC1kaWFsb2ctc2VjdGlvblwiXG4gICAgICAqbmdJZj1cInNjaGVkdWxlRGF0YVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1zZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXVzZXJzXCI+PC9pPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX3BhcnRpY2lwYW50cycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8cC10YWJsZVxuICAgICAgICBbdmFsdWVdPVwicGFydGljaXBhbnRzXCJcbiAgICAgICAgW2xvYWRpbmddPVwicGFydGljaXBhbnRzTG9hZGluZ1wiXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbSBwLWRhdGF0YWJsZS1zdHJpcGVkXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX25hbWUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtcGFydGljaXBhbnQtdHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdjcm14LmNvbXBvbmVudHMuc2NoZWR1bGVfcGFydGljaXBhbnRfdHlwZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgc2NvcGU9XCJjb2xcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNvbC1zdGF0dXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX3N0YXR1cycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtcD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGdldFBhcnRpY2lwYW50TmFtZShwKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNpcGFudC10eXBlLWNlbGxcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImdldFBhcnRpY2lwYW50VHlwZUljb24ocClcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRQYXJ0aWNpcGFudFR5cGUocCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPHAtdGFnXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwLm9yZ2FuaXplclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIlxuICAgICAgICAgICAgICAgICAgJ2NybXguY29tcG9uZW50cy5zY2hlZHVsZV9wYXJ0aWNpcGFudF9vcmdhbml6ZXJfbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cImluZm9cIlxuICAgICAgICAgICAgICA+PC9wLXRhZz5cbiAgICAgICAgICAgICAgPHAtdGFnXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcC5vcmdhbml6ZXJcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgICAgICAgIGdldENvbmZpcm1hdGlvbkxhYmVsKHAuY29uZmlybWF0aW9uKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3NldmVyaXR5XT1cIlxuICAgICAgICAgICAgICAgICAgZ2V0Q29uZmlybWF0aW9uU2V2ZXJpdHkocC5jb25maXJtYXRpb24pXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvcC10YWc+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhcnRpY2lwYW50cy1lbXB0eVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktdXNlcnNcIj48L2k+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnY3JteC5jb21wb25lbnRzLnNjaGVkdWxlX25vX3BhcnRpY2lwYW50cydcbiAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9wLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcC1kaWFsb2c+XG4iXX0=
|