ngx-bimplus-components 0.0.160 → 0.0.162
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/assets/images/default/Attachment_18_gray.svg +1 -0
- package/assets/images/default/Attachment_18_maincolor.svg +3 -0
- package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
- package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
- package/assets/images/default/Calendar_18.svg +4 -0
- package/assets/images/default/Calendar_18_disabled.svg +1 -0
- package/assets/images/default/Calendar_18_gray.svg +1 -0
- package/assets/images/default/Comments_18_gray.svg +1 -0
- package/assets/images/default/Comments_18_maincolor.svg +4 -0
- package/assets/images/default/Links_18_gray.svg +1 -0
- package/assets/images/default/Links_18_maincolor.svg +4 -0
- package/assets/images/default/Refresh_18_gray.svg +1 -0
- package/assets/images/default/bimplus_WebIcons_Cross_Disabled.svg +1 -0
- package/assets/images/default/ic_models.svg +3 -0
- package/assets/images/default/ic_models_maincolor.svg +3 -0
- package/assets/images/default/icn_grid_attachments.png +0 -0
- package/assets/images/default/icn_grid_hyperlinks.png +0 -0
- package/assets/images/default/progress-spinner.svg +1 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +114 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +38 -0
- package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +95 -0
- package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +32 -0
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +40 -5
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
- package/esm2022/lib/components/bimplus-comment/IComment.mjs +2 -0
- package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +118 -0
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +115 -7
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-dialog-config-settings.mjs +1 -1
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-input-checkbox/bimplus-input-checkbox.component.mjs +64 -0
- package/esm2022/lib/components/bimplus-input-combobox/bimplus-input-combobox.component.mjs +161 -0
- package/esm2022/lib/components/bimplus-input-date/bimplus-input-date.component.mjs +271 -0
- package/esm2022/lib/components/bimplus-input-number/bimplus-input-number.component.mjs +85 -0
- package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +92 -0
- package/esm2022/lib/components/bimplus-link-tooltip-message/bimplus-link-tooltip-message.component.mjs +78 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +388 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.interface.mjs +3 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.service.mjs +104 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
- package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +6 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +42 -4
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.interface.mjs +4 -2
- package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +77 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +83 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +31 -8
- package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +34 -8
- package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-status-bar/bimplus-status-bar.component.mjs +35 -0
- package/esm2022/lib/components/bimplus-status-bar/bimplus-status-bar.service.mjs +35 -0
- package/esm2022/lib/components/bimplus-status-bar/statusBar.mjs +2 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
- package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
- package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +128 -0
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +376 -0
- package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +145 -0
- package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
- package/esm2022/lib/components/object-preview/object-preview.component.mjs +284 -0
- package/esm2022/lib/components/object-preview/object-preview.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties/object-properties.component.mjs +545 -0
- package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties/object-properties.service.mjs +26 -0
- package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +129 -0
- package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
- package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +48 -6
- package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
- package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +54 -10
- package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
- package/esm2022/lib/pipes/get-attribute-value-as-string.pipe.mjs +173 -0
- package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +156 -0
- package/esm2022/lib/pipes/round.pipe.mjs +20 -0
- package/esm2022/lib/services/decorators.service.mjs +65 -0
- package/esm2022/lib/utils/objectProperties.mjs +9 -0
- package/esm2022/lib/validators/double-enum.validator.mjs +20 -0
- package/esm2022/lib/validators/double.validator.mjs +23 -0
- package/esm2022/lib/validators/guid-enum.validator.mjs +20 -0
- package/esm2022/lib/validators/guid.validator.mjs +14 -0
- package/esm2022/lib/validators/integer.validator.mjs +23 -0
- package/esm2022/lib/validators/string-combobox.validator.mjs +20 -0
- package/esm2022/lib/validators/string-enum.validator.mjs +20 -0
- package/esm2022/public-api.mjs +22 -1
- package/fesm2022/ngx-bimplus-components.mjs +4618 -80
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +39 -0
- package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +33 -0
- package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +30 -0
- package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +8 -0
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +14 -3
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +7 -1
- package/lib/components/bimplus-comment/IComment.d.ts +4 -0
- package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +39 -0
- package/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.d.ts +16 -3
- package/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.d.ts +4 -0
- package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
- package/lib/components/bimplus-general-overlay-dialog/bimplus-general-dialog-config-settings.d.ts +3 -3
- package/lib/components/bimplus-input-checkbox/bimplus-input-checkbox.component.d.ts +18 -0
- package/lib/components/bimplus-input-combobox/bimplus-input-combobox.component.d.ts +41 -0
- package/lib/components/bimplus-input-date/bimplus-input-date.component.d.ts +46 -0
- package/lib/components/bimplus-input-number/bimplus-input-number.component.d.ts +26 -0
- package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +28 -0
- package/lib/components/bimplus-link-tooltip-message/bimplus-link-tooltip-message.component.d.ts +22 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +88 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.interface.d.ts +10 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.service.d.ts +20 -0
- package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
- package/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.d.ts +2 -1
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +12 -12
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
- package/lib/components/bimplus-object-structure/bimplus-object-structure.component.d.ts +5 -1
- package/lib/components/bimplus-object-structure/bimplus-object-structure.interface.d.ts +2 -0
- package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +29 -0
- package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +24 -0
- package/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.d.ts +8 -1
- package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +11 -1
- package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
- package/lib/components/bimplus-status-bar/bimplus-status-bar.component.d.ts +14 -0
- package/lib/components/bimplus-status-bar/bimplus-status-bar.service.d.ts +14 -0
- package/lib/components/bimplus-status-bar/statusBar.d.ts +4 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
- package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
- package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
- package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
- package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
- package/lib/components/links-to-documents/links-to-documents.component.d.ts +69 -0
- package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
- package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
- package/lib/components/object-preview/object-preview.component.d.ts +45 -0
- package/lib/components/object-preview/object-preview.interface.d.ts +5 -0
- package/lib/components/object-properties/object-properties.component.d.ts +79 -0
- package/lib/components/object-properties/object-properties.interface.d.ts +22 -0
- package/lib/components/object-properties/object-properties.service.d.ts +12 -0
- package/lib/components/object-properties-group/object-properties-group.component.d.ts +30 -0
- package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
- package/lib/components/object-properties-header/object-properties-header.component.d.ts +13 -4
- package/lib/components/object-properties-header/object-properties-header.interface.d.ts +8 -0
- package/lib/components/resizable-panel/resizable-panel.component.d.ts +12 -3
- package/lib/pipes/bit-converter.pipe.d.ts +17 -0
- package/lib/pipes/get-attribute-value-as-string.pipe.d.ts +35 -0
- package/lib/pipes/get-attribute-value.pipe.d.ts +35 -0
- package/lib/pipes/round.pipe.d.ts +7 -0
- package/lib/services/decorators.service.d.ts +12 -0
- package/lib/utils/objectProperties.d.ts +2 -0
- package/lib/validators/double-enum.validator.d.ts +2 -0
- package/lib/validators/double.validator.d.ts +2 -0
- package/lib/validators/guid-enum.validator.d.ts +2 -0
- package/lib/validators/guid.validator.d.ts +2 -0
- package/lib/validators/integer.validator.d.ts +2 -0
- package/lib/validators/string-combobox.validator.d.ts +2 -0
- package/lib/validators/string-enum.validator.d.ts +2 -0
- package/package.json +14 -4
- package/public-api.d.ts +21 -0
|
@@ -311,11 +311,11 @@ export class CriteriaSelectObjectPropertiesComponent extends BimplusLocalizedWid
|
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
313
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, deps: [{ token: i1.TranslateService }, { token: i2.FormatValuePipe }, { token: i3.DateTimePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: CriteriaSelectObjectPropertiesComponent, isStandalone: true, selector: "lib-criteria-select-object-properties", inputs: { api: "api", rootObjectId: "rootObjectId", revision: "revision", filterCriteria: "filterCriteria" }, outputs: { filterCriteriaChange: "filterCriteriaChange" }, providers: [FormatValuePipe, DateTimePipe], usesInheritance: true, ngImport: i0, template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object structure\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n
|
|
314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: CriteriaSelectObjectPropertiesComponent, isStandalone: true, selector: "lib-criteria-select-object-properties", inputs: { api: "api", rootObjectId: "rootObjectId", revision: "revision", filterCriteria: "filterCriteria" }, outputs: { filterCriteriaChange: "filterCriteriaChange" }, providers: [FormatValuePipe, DateTimePipe], usesInheritance: true, ngImport: i0, template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object structure\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure>\r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object multiproperties tree\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties>\r\n</lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object properties\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\">\r\n {{ attribGroup.name }}\r\n </span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\"\r\n >\r\n <label\r\n class=\"criteria-select-object-properties-attrib-row-cell-label\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"\r\n filterCriteria.length === MaxFilterCriteria && !attrib.checked\r\n \"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n />\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">\r\n {{ attrib.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\"\r\n >\r\n <label\r\n class=\"criteria-select-object-properties-attrib-row-cell-label\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"\r\n filterCriteria.length === MaxFilterCriteria && !attrib.checked\r\n \"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n />\r\n <span></span>\r\n </label>\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell-text\"\r\n title=\"{{ titleForAttribute(attrib) }}\"\r\n >\r\n {{ normalizedValue(attrib) }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel>\r\n }\r\n</lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->\r\n", styles: ["lib-bimplus-object-structure{--bimplus-object-structure-background-color: transparent}lib-bimplus-object-complex-properties{--bimplus-object-complex-properties-background-color: transparent}.criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}lib-bimplus-object-structure{--flat-tree-container-background-color-enabled: transparent}\n"], dependencies: [{ kind: "component", type: ExpansionPanelHeaderComponent, selector: "lib-expansion-panel-header" }, { kind: "component", type: ExpansionPanelComponent, selector: "lib-expansion-panel", inputs: ["expanded"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusObjectStructureComponent, selector: "lib-bimplus-object-structure", inputs: ["objectStructure"], outputs: ["nodeSelected", "nodeVisible", "nodeOpaque"] }, { kind: "component", type: BimplusObjectComplexPropertiesComponent, selector: "lib-bimplus-object-complex-properties", inputs: ["complexProperties"], outputs: ["nodeSelected"] }] }); }
|
|
315
315
|
}
|
|
316
316
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, decorators: [{
|
|
317
317
|
type: Component,
|
|
318
|
-
args: [{ selector: 'lib-criteria-select-object-properties', standalone: true, imports: [ExpansionPanelHeaderComponent, ExpansionPanelComponent, TranslateModule, BimplusObjectStructureComponent, BimplusObjectComplexPropertiesComponent], providers: [FormatValuePipe, DateTimePipe], template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object structure\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n
|
|
318
|
+
args: [{ selector: 'lib-criteria-select-object-properties', standalone: true, imports: [ExpansionPanelHeaderComponent, ExpansionPanelComponent, TranslateModule, BimplusObjectStructureComponent, BimplusObjectComplexPropertiesComponent], providers: [FormatValuePipe, DateTimePipe], template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object structure\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure>\r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object multiproperties tree\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties>\r\n</lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\">\r\n {{ \"_Object properties\" | translate }}</span\r\n >\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\">\r\n {{ attribGroup.name }}\r\n </span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\"\r\n >\r\n <label\r\n class=\"criteria-select-object-properties-attrib-row-cell-label\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"\r\n filterCriteria.length === MaxFilterCriteria && !attrib.checked\r\n \"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n />\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">\r\n {{ attrib.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\"\r\n >\r\n <label\r\n class=\"criteria-select-object-properties-attrib-row-cell-label\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"\r\n filterCriteria.length === MaxFilterCriteria && !attrib.checked\r\n \"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n />\r\n <span></span>\r\n </label>\r\n <div\r\n class=\"criteria-select-object-properties-attrib-row-cell-text\"\r\n title=\"{{ titleForAttribute(attrib) }}\"\r\n >\r\n {{ normalizedValue(attrib) }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel>\r\n }\r\n</lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->\r\n", styles: ["lib-bimplus-object-structure{--bimplus-object-structure-background-color: transparent}lib-bimplus-object-complex-properties{--bimplus-object-complex-properties-background-color: transparent}.criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}lib-bimplus-object-structure{--flat-tree-container-background-color-enabled: transparent}\n"] }]
|
|
319
319
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.FormatValuePipe }, { type: i3.DateTimePipe }], propDecorators: { api: [{
|
|
320
320
|
type: Input
|
|
321
321
|
}], rootObjectId: [{
|
|
@@ -327,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
327
327
|
}], filterCriteriaChange: [{
|
|
328
328
|
type: Output
|
|
329
329
|
}] } });
|
|
330
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLHVDQUF1QyxFQUFF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RSxlQUFlLDRGQUFFLCtCQUErQixpSUFBRSx1Q0FBdUM7OzRGQUtoSix1Q0FBdUM7a0JBUm5ELFNBQVM7K0JBQ0UsdUNBQXVDLGNBQ3JDLElBQUksV0FDUCxDQUFDLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSwrQkFBK0IsRUFBRSx1Q0FBdUMsQ0FBQyxhQUNqSixDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7OElBZ0MxQyxHQUFHO3NCQURGLEtBQUs7Z0JBSUYsWUFBWTtzQkFEZixLQUFLO2dCQWFOLFFBQVE7c0JBRFAsS0FBSztnQkFjRixjQUFjO3NCQURqQixLQUFLO2dCQU1JLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgV2ViU2RrIGZyb20gJ2JpbXBsdXMtd2Vic2RrJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBFeHBhbnNpb25QYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwYW5zaW9uUGFuZWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVyQ3JpdGVyaXVtLCBNYXhGaWx0ZXJDcml0ZXJpYSB9IGZyb20gJy4uL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT2JqZWN0Q29tcGxleFByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9iamVjdFN0cnVjdHVyZU5vZGUsIE9iamVjdFN0cnVjdHVyZU5vZGVCdWlsZGVyIH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb21wbGV4UHJvcGVydGllc05vZGUsIENvbXBsZXhQcm9wZXJ0aWVzTm9kZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9iamVjdEF0dHJpYnV0ZSwgT2JqZWN0QXR0cmlidXRlR3JvdXAgfSBmcm9tICcuL2NyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBGb3JtYXRWYWx1ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9mb3JtYXQtdmFsdWUucGlwZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2RhdGV0aW1lLnBpcGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtFeHBhbnNpb25QYW5lbEhlYWRlckNvbXBvbmVudCwgRXhwYW5zaW9uUGFuZWxDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudCwgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtGb3JtYXRWYWx1ZVBpcGUsIERhdGVUaW1lUGlwZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy5jb21wb25lbnQubGVzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENyaXRlcmlhU2VsZWN0T2JqZWN0UHJvcGVydGllc0NvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZvcm1hdFZhbHVlUGlwZTogRm9ybWF0VmFsdWVQaXBlLFxyXG4gICAgcHJpdmF0ZSBkYXRldGltZVBpcGU6IERhdGVUaW1lUGlwZSkge1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY3VycmVudFByb3BlcnRpZXNPYmplY3RJZCQuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGlkKSA9PiB7XHJcbiAgICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGVPYmplY3RQcm9wZXJ0aWVzKGlkLCB0aGlzLnJldmlzaW9uKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fY3VycmVudE9iamVjdElkJC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoaWQpID0+IHtcclxuICAgICAgICB0aGlzLl9jdXJyZW50UHJvcGVydGllc09iamVjdElkJC5uZXh0KGlkKTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVDb21wbGV4UHJvcGVydGllc3RydWN0dXJlKGlkLCB0aGlzLnJldmlzaW9uKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBhcGk6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcm9vdE9iamVjdElkKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRPYmplY3RJZCQubmV4dChpZCk7XHJcbiAgICB0aGlzLl9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUoaWQsIHRoaXMucmV2aXNpb24pO1xyXG5cclxuICAgIHRoaXMuX3Jvb3RPYmplY3RJZCA9IGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJvb3RPYmplY3RJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jvb3RPYmplY3RJZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmV2aXNpb246IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudE9iamVjdElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihcIlwiKTtcclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudFByb3BlcnRpZXNPYmplY3RJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oXCJcIik7XHJcblxyXG4gIG9iamVjdEF0dHJpYnV0ZUdyb3VwczogT2JqZWN0QXR0cmlidXRlR3JvdXBbXSA9IFtdO1xyXG5cclxuICBNYXhGaWx0ZXJDcml0ZXJpYSA9IE1heEZpbHRlckNyaXRlcmlhOyAvLyBGb3IgZXhwb3N1cmUgdG8gdGVtcGxhdGVcclxuXHJcbiAgcHJpdmF0ZSBfcm9vdE9iamVjdElkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWx0ZXJDcml0ZXJpYShjcml0ZXJpYTogRmlsdGVyQ3JpdGVyaXVtW10pIHtcclxuICAgIHRoaXMuX2ZpbHRlckNyaXRlcmlhID0gY3JpdGVyaWE7XHJcbiAgICB0aGlzLl9zeW5jQXR0cmlidXRlU3RhdGVzRnJvbUNyaXRlcmlhKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZmlsdGVyQ3JpdGVyaWFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckNyaXRlcml1bVtdPigpO1xyXG5cclxuICBnZXQgZmlsdGVyQ3JpdGVyaWEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ3JpdGVyaWE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWx0ZXJDcml0ZXJpYTogRmlsdGVyQ3JpdGVyaXVtW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfb2JqZWN0U3RydWN0dXJlOiBPYmplY3RTdHJ1Y3R1cmVOb2RlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGdldCBvYmplY3RTdHJ1Y3R1cmUoKTogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX29iamVjdFN0cnVjdHVyZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29tcGxleFByb3BlcnRpZXM6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBnZXQgY29tcGxleFByb3BlcnRpZXMoKTogQ29tcGxleFByb3BlcnRpZXNOb2RlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcGxleFByb3BlcnRpZXM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBdHRyaWJ1dGUoYXR0cmliOiBPYmplY3RBdHRyaWJ1dGUpIHtcclxuICAgIGF0dHJpYi5jaGVja2VkID0gIWF0dHJpYi5jaGVja2VkO1xyXG4gICAgaWYgKGF0dHJpYi5jaGVja2VkID09PSBmYWxzZSkge1xyXG4gICAgICBhdHRyaWIudmFsdWVDaGVja2VkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oYW5kbGVGaWx0ZXJDcml0ZXJpdW1BdHRyaWJ1dGVTdGF0ZUNoYW5nZShhdHRyaWIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliOiBPYmplY3RBdHRyaWJ1dGUpIHtcclxuICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSAhYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuICAgIGF0dHJpYi5jaGVja2VkID0gYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLmhhbmRsZUZpbHRlckNyaXRlcml1bUF0dHJpYnV0ZVN0YXRlQ2hhbmdlKGF0dHJpYik7XHJcbiAgfVxyXG5cclxuICBfZGVmaW5lRmlsdGVyU3RyaW5nKGF0dHJpYjogT2JqZWN0QXR0cmlidXRlKSB7XHJcbiAgICBsZXQgc3Vic3RyaW5nID0gYFtJXVske2F0dHJpYi5pZH1dLlZhbHVlYDtcclxuXHJcbiAgICBpZiAoYXR0cmliLnZhbHVlQ2hlY2tlZCkge1xyXG4gICAgICBzdWJzdHJpbmcgKz0gYFtGXVswXT0ke3RoaXMuZm9ybWF0VmFsdWVQaXBlLnRyYW5zZm9ybShhdHRyaWIudmFsdWUpfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Vic3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgX2FkZEZpbHRlckNyaXRlcmlhKGF0dHJpYjogT2JqZWN0QXR0cmlidXRlKSB7XHJcbiAgICAvLyBhZGQgYSBuZXcgZW50cnlcclxuICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWEucHVzaCh7XHJcbiAgICAgIG5hbWU6IGF0dHJpYi5uYW1lLFxyXG4gICAgICB2YWx1ZTogYXR0cmliLnZhbHVlQ2hlY2tlZCA/IGF0dHJpYi52YWx1ZSA6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZWRWYWx1ZTogYXR0cmliLnZhbHVlQ2hlY2tlZCA/IHRoaXMubm9ybWFsaXplZFZhbHVlKGF0dHJpYiwgdHJ1ZSkgOiB1bmRlZmluZWQsXHJcbiAgICAgIGlkOiBhdHRyaWIuaWQsXHJcbiAgICAgIHN1YlN0cmluZzogdGhpcy5fZGVmaW5lRmlsdGVyU3RyaW5nKGF0dHJpYiksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF91cGRhdGVGaWx0ZXJDcml0ZXJpYShhdHRyaWI6IE9iamVjdEF0dHJpYnV0ZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgLy8gdXBkYXRlIGFuIGV4aXN0aW5nIGVudHJ5XHJcbiAgICB0aGlzLmZpbHRlckNyaXRlcmlhW2luZGV4XSA9IHtcclxuICAgICAgLi4udGhpcy5maWx0ZXJDcml0ZXJpYVtpbmRleF0sXHJcbiAgICAgIG5hbWU6IGF0dHJpYi5uYW1lLFxyXG4gICAgICB2YWx1ZTogYXR0cmliLnZhbHVlQ2hlY2tlZCA/IGF0dHJpYi52YWx1ZSA6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZWRWYWx1ZTogYXR0cmliLnZhbHVlQ2hlY2tlZCA/IHRoaXMubm9ybWFsaXplZFZhbHVlKGF0dHJpYiwgdHJ1ZSkgOiB1bmRlZmluZWQsXHJcbiAgICAgIHN1YlN0cmluZzogdGhpcy5fZGVmaW5lRmlsdGVyU3RyaW5nKGF0dHJpYiksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyIGZ1bmN0aW9uIGZvciByb3VuZGluZyB0byBzcGVjaWZpZWQgZGVjaW1hbHNcclxuICBwcml2YXRlIHJvdW5kVG9EZWNpbWFsKHZhbHVlOiBudW1iZXIsIGRlY2ltYWw6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gTWF0aC5wb3coMTAsIGRlY2ltYWwpO1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiBtdWx0aXBsaWVyKSAvIG11bHRpcGxpZXI7XHJcbiAgfVxyXG5cclxuICB0aXRsZUZvckF0dHJpYnV0ZShhdHRyaWJ1dGU6IE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICAvLyBUcmFuc2xhdGlvbiBtb3ZlZCB0byBpbXBsZW1lbnRhdGlvbiB0byBub3QgcnVuIHRoZSB0cmFuc2xhdGlvbiBcclxuICAgIC8vIGZvciBtYW55IHZhbHVlcyB3aGljaCBkb24ndCBuZWVkIGl0XHJcbiAgICBpZiAoYXR0cmlidXRlLnZhbHVlID09PSBudWxsIHx8IGF0dHJpYnV0ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX05vdF9kZWZpbmVkJyk7XHJcbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfRW1wdHlfdmFsdWUnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBTdHJpbmcoYXR0cmlidXRlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5vcm1hbGl6ZWRWYWx1ZShhdHRyaWJ1dGU6IE9iamVjdEF0dHJpYnV0ZSwgZm9yRmlsdGVyQ3JpdGVyaWE6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICAvLyBUcmFuc2xhdGlvbiBtb3ZlZCB0byBpbXBsZW1lbnRhdGlvbiB0byBub3QgcnVuIHRoZSB0cmFuc2xhdGlvbiBcclxuICAgIC8vIGZvciBtYW55IHZhbHVlcyB3aGljaCBkb24ndCBuZWVkIGl0XHJcbiAgICBpZiAoYXR0cmlidXRlLnZhbHVlID09PSBudWxsIHx8IGF0dHJpYnV0ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmb3JGaWx0ZXJDcml0ZXJpYSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiX05vdF9kZWZpbmVkXCIpIDogXCIuLi5cIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYXR0cmlidXRlLnZhbHVlID09PSAnJykge1xyXG4gICAgICByZXR1cm4gZm9yRmlsdGVyQ3JpdGVyaWEgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcIl9FbXB0eV92YWx1ZVwiKSA6IFwiJydcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYXR0cmlidXRlPy5jb250cm9sID09PSBcIkVudW1lcmF0aW9uXCIgJiYgYXR0cmlidXRlLmVudW1WYWx1ZXMpIHtcclxuICAgICAgY29uc3QgcmVzdWx0OiBzdHJpbmcgPSBTdHJpbmcoYXR0cmlidXRlLmVudW1WYWx1ZXNbTnVtYmVyKGF0dHJpYnV0ZS52YWx1ZSldKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIYW5kbGUgbnVtZXJpYyByb3VuZGluZ1xyXG4gICAgaWYgKCFmb3JGaWx0ZXJDcml0ZXJpYSAmJlxyXG4gICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ2RvdWJsZScgJiZcclxuICAgICAgYXR0cmlidXRlLmRlY2ltYWwgJiZcclxuICAgICAgdHlwZW9mIChhdHRyaWJ1dGUudmFsdWUpID09PSAnbnVtYmVyJykge1xyXG4gICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSB0aGlzLnJvdW5kVG9EZWNpbWFsKGF0dHJpYnV0ZS52YWx1ZSwgYXR0cmlidXRlLmRlY2ltYWwpO1xyXG4gICAgICByZXR1cm4gU3RyaW5nKHJvdW5kZWRWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGF0dHJpYnV0ZT8uY29udHJvbCA9PT0gXCJDaGVja2JveFwiKSB7XHJcbiAgICAgIHJldHVybiAoYXR0cmlidXRlLnZhbHVlID09PSAxKSA/IFwiVHJ1ZVwiIDogXCJGYWxzZVwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBkYXRldGltZSB0cmFuc2Zvcm1hdGlvblxyXG4gICAgaWYgKGF0dHJpYnV0ZT8udHlwZSA9PT0gXCJkYXRldGltZVwiICYmIHR5cGVvZiAoYXR0cmlidXRlLnZhbHVlKSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZXRpbWVQaXBlLnRyYW5zZm9ybShhdHRyaWJ1dGUudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBTdHJpbmcoYXR0cmlidXRlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZpbHRlckNyaXRlcml1bUF0dHJpYnV0ZVN0YXRlQ2hhbmdlKGF0dHJpYjogT2JqZWN0QXR0cmlidXRlKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVyQ3JpdGVyaWEuZmluZEluZGV4KHggPT4geC5pZCA9PT0gYXR0cmliLmlkKTtcclxuICAgIC8vIEZJTFRFUiBDUklURVJJQSBBTFJFQURZIEVYSVNUU1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgaWYgKGF0dHJpYi5jaGVja2VkID09PSBmYWxzZSAmJiBhdHRyaWIudmFsdWVDaGVja2VkID09PSBmYWxzZSkge1xyXG4gICAgICAgIC8vIFJFTU9WRVxyXG4gICAgICAgIC8vIGZpbHRlckNyaXRlcmlhIG5vIGxvbmdlciB1c2VkIChsZWZ0IC8gcmlnaHQgY2hlY2tib3hlcyBub3QgY2hlY2tlZClcclxuICAgICAgICB0aGlzLmZpbHRlckNyaXRlcmlhLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gVVBEQVRFXHJcbiAgICAgICAgLy8gZmlsdGVyQ3JpdGVyaWEgc3RpbGwgdXNlZCwgYnV0IHZhbHVlIHNob3VsZCBiZSB1c2VkIChyaWdodCBjaGVja2JveCBjaGVja2VkKVxyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUZpbHRlckNyaXRlcmlhKGF0dHJpYiwgaW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWFDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlckNyaXRlcmlhKTtcclxuICAgIH1cclxuICAgIC8vIEZJTFRFUiBDUklURVJJQSBET0VTIE5PVCBFWElTVCBhbmQgTUFYIENSSVRFUklBIE5PVCBSRUFDSEVEXHJcbiAgICBlbHNlIGlmICh0aGlzLmZpbHRlckNyaXRlcmlhLmxlbmd0aCA8IE1heEZpbHRlckNyaXRlcmlhKSB7XHJcbiAgICAgIC8vIEFERFxyXG4gICAgICB0aGlzLl9hZGRGaWx0ZXJDcml0ZXJpYShhdHRyaWIpO1xyXG4gICAgICB0aGlzLmZpbHRlckNyaXRlcmlhQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJDcml0ZXJpYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVPYmplY3RTdHJ1Y3R1cmVOb2RlU2VsZWN0ZWQobm9kZTogT2JqZWN0U3RydWN0dXJlTm9kZSkge1xyXG4gICAgdGhpcy5fY3VycmVudE9iamVjdElkJC5uZXh0KG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ29tcGxleFByb3BlcnR5Tm9kZVNlbGVjdGVkKG5vZGU6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSkge1xyXG4gICAgdGhpcy5fY3VycmVudFByb3BlcnRpZXNPYmplY3RJZCQubmV4dChub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZU9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQ6IHN0cmluZywgcmV2aXNpb246IG51bWJlciB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fbG9hZE9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuXHJcbiAgICAgIC8vIHByb3BlcnRpZXMgcmVzcG9uc2UgaXMgYmFkbHkgc3RydWN0dXJlZCwgbmVhcmx5IGltcG9zc2libGUgdG8gY3JlYXRlIGNsYXNzIHN0cnVjdHVyZSBmcm9tIGl0LiBUaGVyZWZvcmUgdXNpbmcgc2hvcnRjdXRcclxuICAgICAgLy8gYW55IGZvciBqc29uIHJlc3BvbnNlXHJcblxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgbmV4dDogKHByb3BlcnRpZXNEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3VwcyA9IHRoaXMuX2NyZWF0ZUF0dHJpYnV0ZUdyb3Vwc0Zyb21SZXNwb25zZShwcm9wZXJ0aWVzRGF0YSk7XHJcbiAgICAgICAgdGhpcy5fc3luY0F0dHJpYnV0ZVN0YXRlc0Zyb21Dcml0ZXJpYSgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub2JqZWN0QXR0cmlidXRlR3JvdXBzID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIClcclxuXHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9jcmVhdGVBdHRyaWJ1dGVHcm91cHNGcm9tUmVzcG9uc2UocHJvcGVydGllc0RhdGE6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGdyb3VwczogQXJyYXk8T2JqZWN0QXR0cmlidXRlR3JvdXA+ID0gW107XHJcbiAgICBsZXQgbG9jYWxpemVkQXR0cmliR3JvdXBzID0gbnVsbDtcclxuICAgIGlmIChwcm9wZXJ0aWVzRGF0YS5sb2NhbGl6ZWRBdHRyaWJ1dGVHcm91cHMpIHtcclxuICAgICAgbG9jYWxpemVkQXR0cmliR3JvdXBzID0gcHJvcGVydGllc0RhdGEubG9jYWxpemVkQXR0cmlidXRlR3JvdXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghcHJvcGVydGllc0RhdGEuYXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gZ3JvdXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGF0dHJpYkdyb3VwcyA9IHByb3BlcnRpZXNEYXRhLmF0dHJpYnV0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IFtncm91cE5hbWUsIGF0dHJpYnNPYmplY3RdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYkdyb3VwcykpIHtcclxuXHJcbiAgICAgIGNvbnN0IG5ld0dyb3VwOiBPYmplY3RBdHRyaWJ1dGVHcm91cCA9IHtcclxuICAgICAgICBuYW1lOiBncm91cE5hbWUsXHJcbiAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxyXG4gICAgICAgIGF0dHJpYnV0ZXM6IFtdXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZiAobG9jYWxpemVkQXR0cmliR3JvdXBzPy5bZ3JvdXBOYW1lXSkge1xyXG4gICAgICAgIG5ld0dyb3VwLm5hbWUgPSBsb2NhbGl6ZWRBdHRyaWJHcm91cHNbZ3JvdXBOYW1lXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFhdHRyaWJzT2JqZWN0KSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3QgYXR0cmliIG9mIE9iamVjdC52YWx1ZXMoYXR0cmlic09iamVjdCkpIHtcclxuXHJcbiAgICAgICAgY29uc3QgbmV3QXR0cmliOiBPYmplY3RBdHRyaWJ1dGUgPSB7XHJcbiAgICAgICAgICBpZDogYXR0cmliLmlkLFxyXG4gICAgICAgICAgbmFtZTogYXR0cmliLm5hbWUsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYXR0cmliLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgdmFsdWU6IGF0dHJpYi52YWx1ZSxcclxuICAgICAgICAgIGlzQ2hhbmdlYWJsZTogYXR0cmliLmlzQ2hhbmdlYWJsZSxcclxuICAgICAgICAgIHR5cGU6IGF0dHJpYi50eXBlLFxyXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICB2YWx1ZUNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgZ3JvdXA6IGF0dHJpYi5ncm91cCxcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFkZCBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gd2hpY2ggaXMgbm90IGFsd2F5cyBwcmVzZW50XHJcbiAgICAgICAgaWYgKGF0dHJpYi5jb250cm9sKSB7XHJcbiAgICAgICAgICBuZXdBdHRyaWIuY29udHJvbCA9IGF0dHJpYi5jb250cm9sO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXR0cmliLmRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICAgICAgbmV3QXR0cmliLmRlZmF1bHRWYWx1ZSA9IGF0dHJpYi5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhdHRyaWIudW5pdCkge1xyXG4gICAgICAgICAgbmV3QXR0cmliLnVuaXQgPSBhdHRyaWIudW5pdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGF0dHJpYi5kZWNpbWFsKSB7XHJcbiAgICAgICAgICBuZXdBdHRyaWIuZGVjaW1hbCA9IGF0dHJpYi5kZWNpbWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXR0cmliLmVudW1kZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICBuZXdBdHRyaWIuZW51bVZhbHVlcyA9IGF0dHJpYi5lbnVtZGVmaW5pdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5ld0dyb3VwLmF0dHJpYnV0ZXMucHVzaChuZXdBdHRyaWIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBncm91cHMucHVzaChuZXdHcm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdyb3VwcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N5bmNBdHRyaWJ1dGVTdGF0ZXNGcm9tQ3JpdGVyaWEoKSB7XHJcbiAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgZ3JvdXAuYXR0cmlidXRlcy5mb3JFYWNoKGF0dHJpYiA9PiB7XHJcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSB0aGlzLl9maWx0ZXJDcml0ZXJpYS5maW5kKHggPT4geC5pZCA9PSBhdHRyaWIuaWQpXHJcbiAgICAgICAgaWYgKGNyaXRlcmlhKSB7XHJcbiAgICAgICAgICBhdHRyaWIuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICBhdHRyaWIudmFsdWVDaGVja2VkID0gY3JpdGVyaWEudmFsdWUgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYXR0cmliLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZE9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQ6IHN0cmluZywgcmV2aXNpb246IG51bWJlciB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKCF0aGlzLmFwaSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGkub2JqZWN0cy5nZXQob2JqZWN0SWQsIHJldmlzaW9uLCBcIjhcIiwgdW5kZWZpbmVkLCBmYWxzZSwgdW5kZWZpbmVkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkT2JqZWN0U3RydWN0dXJlKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghdGhpcy5hcGkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0VG9wb2xvZ3kob2JqZWN0SWQsIHJldmlzaW9uLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZE9iamVjdENvbXBsZXhQcm9wZXJ0aWVzU3RydWN0dXJlKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghdGhpcy5hcGkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0Q29tcGxleFByb3BlcnRpZXNUb3BvbG9neShvYmplY3RJZCwgcmV2aXNpb24pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUNvbXBsZXhQcm9wZXJ0aWVzdHJ1Y3R1cmUob2JqZWN0SWQ6IHN0cmluZywgcmV2aXNpb246IG51bWJlciB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fbG9hZE9iamVjdENvbXBsZXhQcm9wZXJ0aWVzU3RydWN0dXJlKG9iamVjdElkLCByZXZpc2lvbik/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChzdHJ1Y3R1cmVEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0cnVjdHVyZURhdGEpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbXBsZXhQcm9wcyA9IENvbXBsZXhQcm9wZXJ0aWVzTm9kZUJ1aWxkZXIuY3JlYXRlRnJvbVJlc3BvbnNlKHN0cnVjdHVyZURhdGEpO1xyXG4gICAgICAgICAgaWYgKGNvbXBsZXhQcm9wcz8uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wbGV4UHJvcGVydGllcyA9IGNvbXBsZXhQcm9wcztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQ6IHN0cmluZywgcmV2aXNpb246IG51bWJlciB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fbG9hZE9iamVjdFN0cnVjdHVyZShvYmplY3RJZCwgcmV2aXNpb24pPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoc3RydWN0dXJlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChzdHJ1Y3R1cmVEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUgPSBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlci5jcmVhdGVGcm9tUmVzcG9uc2Uoc3RydWN0dXJlRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iLCI8IS0tIE9iamVjdCBzdHJ1Y3R1cmUtLT5cclxuPGxpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgPGxpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtaGVhZGVyXCI+XHJcbiAgICAgIHt7IFwiX09iamVjdCBzdHJ1Y3R1cmVcIiB8IHRyYW5zbGF0ZSB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgQGlmKG9iamVjdFN0cnVjdHVyZSl7XHJcbiAgPGxpYi1iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmVcclxuICAgIFtvYmplY3RTdHJ1Y3R1cmVdPVwib2JqZWN0U3RydWN0dXJlXCJcclxuICAgIChub2RlU2VsZWN0ZWQpPVwiaGFuZGxlT2JqZWN0U3RydWN0dXJlTm9kZVNlbGVjdGVkKCRldmVudClcIlxyXG4gID5cclxuICA8L2xpYi1iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmU+XHJcbiAgfVxyXG48L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbjwhLS0gRW5kIE9iamVjdCBzdHJ1Y3R1cmUtLT5cclxuXHJcbjwhLS0gQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcbkBpZihjb21wbGV4UHJvcGVydGllcyl7XHJcbjxsaWItZXhwYW5zaW9uLXBhbmVsPlxyXG4gIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPlxyXG4gICAgICB7eyBcIl9PYmplY3QgbXVsdGlwcm9wZXJ0aWVzIHRyZWVcIiB8IHRyYW5zbGF0ZSB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgPGxpYi1iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXNcclxuICAgIFtjb21wbGV4UHJvcGVydGllc109XCJjb21wbGV4UHJvcGVydGllc1wiXHJcbiAgICAobm9kZVNlbGVjdGVkKT1cImhhbmRsZUNvbXBsZXhQcm9wZXJ0eU5vZGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC9saWItYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzPlxyXG48L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbn1cclxuPCEtLSBFbmQgQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcblxyXG48IS0tIFByb3BlcnRpZXMgbGlzdC0tPlxyXG5AaWYob2JqZWN0QXR0cmlidXRlR3JvdXBzLmxlbmd0aCA+IDApe1xyXG48bGliLWV4cGFuc2lvbi1wYW5lbD5cclxuICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1oZWFkZXJcIj5cclxuICAgICAge3sgXCJfT2JqZWN0IHByb3BlcnRpZXNcIiB8IHRyYW5zbGF0ZSB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gIEBmb3IgKGF0dHJpYkdyb3VwIG9mIG9iamVjdEF0dHJpYnV0ZUdyb3VwczsgdHJhY2sgYXR0cmliR3JvdXApIHtcclxuICA8bGliLWV4cGFuc2lvbi1wYW5lbCBbZXhwYW5kZWRdPVwiYXR0cmliR3JvdXAuZXhwYW5kZWRcIj5cclxuICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtZ3JvdXAtaGVhZGVyXCI+XHJcbiAgICAgICAge3sgYXR0cmliR3JvdXAubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2xpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPGRpdj5cclxuICAgICAgQGZvciAoYXR0cmliIG9mIGF0dHJpYkdyb3VwLmF0dHJpYnV0ZXM7IHRyYWNrIGF0dHJpYikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwgY3JpdGVyaWEtc2VsZWN0LWNoZWNrYm94XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtYXR0cmliLXJvdy1jZWxsLWxhYmVsXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImF0dHJpYi5jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcclxuICAgICAgICAgICAgICAgICAgZmlsdGVyQ3JpdGVyaWEubGVuZ3RoID09PSBNYXhGaWx0ZXJDcml0ZXJpYSAmJiAhYXR0cmliLmNoZWNrZWRcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQXR0cmlidXRlKGF0dHJpYilcIlxyXG4gICAgICAgICAgICAgICAgKGtleXByZXNzKT1cInRvZ2dsZUF0dHJpYnV0ZShhdHRyaWIpXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IGF0dHJpYi5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbCBjcml0ZXJpYS1zZWxlY3QtY2hlY2tib3hcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiYXR0cmliLnZhbHVlQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXHJcbiAgICAgICAgICAgICAgICAgIGZpbHRlckNyaXRlcmlhLmxlbmd0aCA9PT0gTWF4RmlsdGVyQ3JpdGVyaWEgJiYgIWF0dHJpYi5jaGVja2VkXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUF0dHJpYnV0ZVZhbHVlKGF0dHJpYilcIlxyXG4gICAgICAgICAgICAgICAgKGtleXByZXNzKT1cInRvZ2dsZUF0dHJpYnV0ZVZhbHVlKGF0dHJpYilcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtYXR0cmliLXJvdy1jZWxsLXRleHRcIlxyXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgdGl0bGVGb3JBdHRyaWJ1dGUoYXR0cmliKSB9fVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBub3JtYWxpemVkVmFsdWUoYXR0cmliKSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9saWItZXhwYW5zaW9uLXBhbmVsPlxyXG4gIH1cclxuPC9saWItZXhwYW5zaW9uLXBhbmVsPlxyXG59XHJcbjwhLS0gRW5kIFByb3BlcnRpZXMgbGlzdC0tPlxyXG4iXX0=
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLHVDQUF1QyxFQUFF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RSxlQUFlLDRGQUFFLCtCQUErQiw4SkFBRSx1Q0FBdUM7OzRGQUtoSix1Q0FBdUM7a0JBUm5ELFNBQVM7K0JBQ0UsdUNBQXVDLGNBQ3JDLElBQUksV0FDUCxDQUFDLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSwrQkFBK0IsRUFBRSx1Q0FBdUMsQ0FBQyxhQUNqSixDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7OElBZ0MxQyxHQUFHO3NCQURGLEtBQUs7Z0JBSUYsWUFBWTtzQkFEZixLQUFLO2dCQWFOLFFBQVE7c0JBRFAsS0FBSztnQkFjRixjQUFjO3NCQURqQixLQUFLO2dCQU1JLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgV2ViU2RrIGZyb20gJ2JpbXBsdXMtd2Vic2RrJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBFeHBhbnNpb25QYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwYW5zaW9uUGFuZWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVyQ3JpdGVyaXVtLCBNYXhGaWx0ZXJDcml0ZXJpYSB9IGZyb20gJy4uL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT2JqZWN0Q29tcGxleFByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9iamVjdFN0cnVjdHVyZU5vZGUsIE9iamVjdFN0cnVjdHVyZU5vZGVCdWlsZGVyIH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb21wbGV4UHJvcGVydGllc05vZGUsIENvbXBsZXhQcm9wZXJ0aWVzTm9kZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlLCBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZUdyb3VwIH0gZnJvbSAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRm9ybWF0VmFsdWVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvZm9ybWF0LXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlVGltZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9kYXRldGltZS5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRXhwYW5zaW9uUGFuZWxIZWFkZXJDb21wb25lbnQsIEV4cGFuc2lvblBhbmVsQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIEJpbXBsdXNPYmplY3RTdHJ1Y3R1cmVDb21wb25lbnQsIEJpbXBsdXNPYmplY3RDb21wbGV4UHJvcGVydGllc0NvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbRm9ybWF0VmFsdWVQaXBlLCBEYXRlVGltZVBpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcml0ZXJpYVNlbGVjdE9iamVjdFByb3BlcnRpZXNDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmb3JtYXRWYWx1ZVBpcGU6IEZvcm1hdFZhbHVlUGlwZSxcclxuICAgIHByaXZhdGUgZGF0ZXRpbWVQaXBlOiBEYXRlVGltZVBpcGUpIHtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpZCkgPT4ge1xyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlT2JqZWN0UHJvcGVydGllcyhpZCwgdGhpcy5yZXZpc2lvbilcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX2N1cnJlbnRPYmplY3RJZCQuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGlkKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudFByb3BlcnRpZXNPYmplY3RJZCQubmV4dChpZCk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ29tcGxleFByb3BlcnRpZXN0cnVjdHVyZShpZCwgdGhpcy5yZXZpc2lvbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYXBpOiBXZWJTZGsuQXBpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHJvb3RPYmplY3RJZChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jdXJyZW50T2JqZWN0SWQkLm5leHQoaWQpO1xyXG4gICAgdGhpcy5fY3JlYXRlT2JqZWN0U3RydWN0dXJlKGlkLCB0aGlzLnJldmlzaW9uKTtcclxuXHJcbiAgICB0aGlzLl9yb290T2JqZWN0SWQgPSBpZDtcclxuICB9XHJcblxyXG4gIGdldCByb290T2JqZWN0SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9yb290T2JqZWN0SWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRPYmplY3RJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oXCJcIik7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFwiXCIpO1xyXG5cclxuICBvYmplY3RBdHRyaWJ1dGVHcm91cHM6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlR3JvdXBbXSA9IFtdO1xyXG5cclxuICBNYXhGaWx0ZXJDcml0ZXJpYSA9IE1heEZpbHRlckNyaXRlcmlhOyAvLyBGb3IgZXhwb3N1cmUgdG8gdGVtcGxhdGVcclxuXHJcbiAgcHJpdmF0ZSBfcm9vdE9iamVjdElkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWx0ZXJDcml0ZXJpYShjcml0ZXJpYTogRmlsdGVyQ3JpdGVyaXVtW10pIHtcclxuICAgIHRoaXMuX2ZpbHRlckNyaXRlcmlhID0gY3JpdGVyaWE7XHJcbiAgICB0aGlzLl9zeW5jQXR0cmlidXRlU3RhdGVzRnJvbUNyaXRlcmlhKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZmlsdGVyQ3JpdGVyaWFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckNyaXRlcml1bVtdPigpO1xyXG5cclxuICBnZXQgZmlsdGVyQ3JpdGVyaWEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ3JpdGVyaWE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWx0ZXJDcml0ZXJpYTogRmlsdGVyQ3JpdGVyaXVtW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfb2JqZWN0U3RydWN0dXJlOiBPYmplY3RTdHJ1Y3R1cmVOb2RlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGdldCBvYmplY3RTdHJ1Y3R1cmUoKTogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX29iamVjdFN0cnVjdHVyZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29tcGxleFByb3BlcnRpZXM6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBnZXQgY29tcGxleFByb3BlcnRpZXMoKTogQ29tcGxleFByb3BlcnRpZXNOb2RlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcGxleFByb3BlcnRpZXM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBdHRyaWJ1dGUoYXR0cmliOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSkge1xyXG4gICAgYXR0cmliLmNoZWNrZWQgPSAhYXR0cmliLmNoZWNrZWQ7XHJcbiAgICBpZiAoYXR0cmliLmNoZWNrZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhhbmRsZUZpbHRlckNyaXRlcml1bUF0dHJpYnV0ZVN0YXRlQ2hhbmdlKGF0dHJpYik7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBdHRyaWJ1dGVWYWx1ZShhdHRyaWI6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlKSB7XHJcbiAgICBhdHRyaWIudmFsdWVDaGVja2VkID0gIWF0dHJpYi52YWx1ZUNoZWNrZWQ7XHJcbiAgICBhdHRyaWIuY2hlY2tlZCA9IGF0dHJpYi52YWx1ZUNoZWNrZWQ7XHJcblxyXG4gICAgdGhpcy5oYW5kbGVGaWx0ZXJDcml0ZXJpdW1BdHRyaWJ1dGVTdGF0ZUNoYW5nZShhdHRyaWIpO1xyXG4gIH1cclxuXHJcbiAgX2RlZmluZUZpbHRlclN0cmluZyhhdHRyaWI6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlKSB7XHJcbiAgICBsZXQgc3Vic3RyaW5nID0gYFtJXVske2F0dHJpYi5pZH1dLlZhbHVlYDtcclxuXHJcbiAgICBpZiAoYXR0cmliLnZhbHVlQ2hlY2tlZCkge1xyXG4gICAgICBzdWJzdHJpbmcgKz0gYFtGXVswXT0ke3RoaXMuZm9ybWF0VmFsdWVQaXBlLnRyYW5zZm9ybShhdHRyaWIudmFsdWUpfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Vic3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgX2FkZEZpbHRlckNyaXRlcmlhKGF0dHJpYjogQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGUpIHtcclxuICAgIC8vIGFkZCBhIG5ldyBlbnRyeVxyXG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYS5wdXNoKHtcclxuICAgICAgbmFtZTogYXR0cmliLm5hbWUsXHJcbiAgICAgIHZhbHVlOiBhdHRyaWIudmFsdWVDaGVja2VkID8gYXR0cmliLnZhbHVlIDogdW5kZWZpbmVkLFxyXG4gICAgICBuYW1lZFZhbHVlOiBhdHRyaWIudmFsdWVDaGVja2VkID8gdGhpcy5ub3JtYWxpemVkVmFsdWUoYXR0cmliLCB0cnVlKSA6IHVuZGVmaW5lZCxcclxuICAgICAgaWQ6IGF0dHJpYi5pZCxcclxuICAgICAgc3ViU3RyaW5nOiB0aGlzLl9kZWZpbmVGaWx0ZXJTdHJpbmcoYXR0cmliKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX3VwZGF0ZUZpbHRlckNyaXRlcmlhKGF0dHJpYjogQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIC8vIHVwZGF0ZSBhbiBleGlzdGluZyBlbnRyeVxyXG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYVtpbmRleF0gPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyQ3JpdGVyaWFbaW5kZXhdLFxyXG4gICAgICBuYW1lOiBhdHRyaWIubmFtZSxcclxuICAgICAgdmFsdWU6IGF0dHJpYi52YWx1ZUNoZWNrZWQgPyBhdHRyaWIudmFsdWUgOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWVkVmFsdWU6IGF0dHJpYi52YWx1ZUNoZWNrZWQgPyB0aGlzLm5vcm1hbGl6ZWRWYWx1ZShhdHRyaWIsIHRydWUpIDogdW5kZWZpbmVkLFxyXG4gICAgICBzdWJTdHJpbmc6IHRoaXMuX2RlZmluZUZpbHRlclN0cmluZyhhdHRyaWIpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIEhlbHBlciBmdW5jdGlvbiBmb3Igcm91bmRpbmcgdG8gc3BlY2lmaWVkIGRlY2ltYWxzXHJcbiAgcHJpdmF0ZSByb3VuZFRvRGVjaW1hbCh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgbXVsdGlwbGllciA9IE1hdGgucG93KDEwLCBkZWNpbWFsKTtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogbXVsdGlwbGllcikgLyBtdWx0aXBsaWVyO1xyXG4gIH1cclxuXHJcbiAgdGl0bGVGb3JBdHRyaWJ1dGUoYXR0cmlidXRlOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICAvLyBUcmFuc2xhdGlvbiBtb3ZlZCB0byBpbXBsZW1lbnRhdGlvbiB0byBub3QgcnVuIHRoZSB0cmFuc2xhdGlvbiBcclxuICAgIC8vIGZvciBtYW55IHZhbHVlcyB3aGljaCBkb24ndCBuZWVkIGl0XHJcbiAgICBpZiAoYXR0cmlidXRlLnZhbHVlID09PSBudWxsIHx8IGF0dHJpYnV0ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX05vdF9kZWZpbmVkJyk7XHJcbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfRW1wdHlfdmFsdWUnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBTdHJpbmcoYXR0cmlidXRlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5vcm1hbGl6ZWRWYWx1ZShhdHRyaWJ1dGU6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlLCBmb3JGaWx0ZXJDcml0ZXJpYTogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIC8vIFRyYW5zbGF0aW9uIG1vdmVkIHRvIGltcGxlbWVudGF0aW9uIHRvIG5vdCBydW4gdGhlIHRyYW5zbGF0aW9uIFxyXG4gICAgLy8gZm9yIG1hbnkgdmFsdWVzIHdoaWNoIGRvbid0IG5lZWQgaXRcclxuICAgIGlmIChhdHRyaWJ1dGUudmFsdWUgPT09IG51bGwgfHwgYXR0cmlidXRlLnZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZvckZpbHRlckNyaXRlcmlhID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJfTm90X2RlZmluZWRcIikgOiBcIi4uLlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhdHRyaWJ1dGUudmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiBmb3JGaWx0ZXJDcml0ZXJpYSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiX0VtcHR5X3ZhbHVlXCIpIDogXCInJ1wiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhdHRyaWJ1dGU/LmNvbnRyb2wgPT09IFwiRW51bWVyYXRpb25cIiAmJiBhdHRyaWJ1dGUuZW51bVZhbHVlcykge1xyXG4gICAgICBjb25zdCByZXN1bHQ6IHN0cmluZyA9IFN0cmluZyhhdHRyaWJ1dGUuZW51bVZhbHVlc1tOdW1iZXIoYXR0cmlidXRlLnZhbHVlKV0pO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBudW1lcmljIHJvdW5kaW5nXHJcbiAgICBpZiAoIWZvckZpbHRlckNyaXRlcmlhICYmXHJcbiAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnZG91YmxlJyAmJlxyXG4gICAgICBhdHRyaWJ1dGUuZGVjaW1hbCAmJlxyXG4gICAgICB0eXBlb2YgKGF0dHJpYnV0ZS52YWx1ZSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHRoaXMucm91bmRUb0RlY2ltYWwoYXR0cmlidXRlLnZhbHVlLCBhdHRyaWJ1dGUuZGVjaW1hbCk7XHJcbiAgICAgIHJldHVybiBTdHJpbmcocm91bmRlZFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYXR0cmlidXRlPy5jb250cm9sID09PSBcIkNoZWNrYm94XCIpIHtcclxuICAgICAgcmV0dXJuIChhdHRyaWJ1dGUudmFsdWUgPT09IDEpID8gXCJUcnVlXCIgOiBcIkZhbHNlXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFuZGxlIGRhdGV0aW1lIHRyYW5zZm9ybWF0aW9uXHJcbiAgICBpZiAoYXR0cmlidXRlPy50eXBlID09PSBcImRhdGV0aW1lXCIgJiYgdHlwZW9mIChhdHRyaWJ1dGUudmFsdWUpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRldGltZVBpcGUudHJhbnNmb3JtKGF0dHJpYnV0ZS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFN0cmluZyhhdHRyaWJ1dGUudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRmlsdGVyQ3JpdGVyaXVtQXR0cmlidXRlU3RhdGVDaGFuZ2UoYXR0cmliOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlckNyaXRlcmlhLmZpbmRJbmRleCh4ID0+IHguaWQgPT09IGF0dHJpYi5pZCk7XHJcbiAgICAvLyBGSUxURVIgQ1JJVEVSSUEgQUxSRUFEWSBFWElTVFNcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChhdHRyaWIuY2hlY2tlZCA9PT0gZmFsc2UgJiYgYXR0cmliLnZhbHVlQ2hlY2tlZCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAvLyBSRU1PVkVcclxuICAgICAgICAvLyBmaWx0ZXJDcml0ZXJpYSBubyBsb25nZXIgdXNlZCAobGVmdCAvIHJpZ2h0IGNoZWNrYm94ZXMgbm90IGNoZWNrZWQpXHJcbiAgICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFVQREFURVxyXG4gICAgICAgIC8vIGZpbHRlckNyaXRlcmlhIHN0aWxsIHVzZWQsIGJ1dCB2YWx1ZSBzaG91bGQgYmUgdXNlZCAocmlnaHQgY2hlY2tib3ggY2hlY2tlZClcclxuICAgICAgICB0aGlzLl91cGRhdGVGaWx0ZXJDcml0ZXJpYShhdHRyaWIsIGluZGV4KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlckNyaXRlcmlhQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJDcml0ZXJpYSk7XHJcbiAgICB9XHJcbiAgICAvLyBGSUxURVIgQ1JJVEVSSUEgRE9FUyBOT1QgRVhJU1QgYW5kIE1BWCBDUklURVJJQSBOT1QgUkVBQ0hFRFxyXG4gICAgZWxzZSBpZiAodGhpcy5maWx0ZXJDcml0ZXJpYS5sZW5ndGggPCBNYXhGaWx0ZXJDcml0ZXJpYSkge1xyXG4gICAgICAvLyBBRERcclxuICAgICAgdGhpcy5fYWRkRmlsdGVyQ3JpdGVyaWEoYXR0cmliKTtcclxuICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYUNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyQ3JpdGVyaWEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlT2JqZWN0U3RydWN0dXJlTm9kZVNlbGVjdGVkKG5vZGU6IE9iamVjdFN0cnVjdHVyZU5vZGUpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRPYmplY3RJZCQubmV4dChub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNvbXBsZXhQcm9wZXJ0eU5vZGVTZWxlY3RlZChub2RlOiBDb21wbGV4UHJvcGVydGllc05vZGUpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLm5leHQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVPYmplY3RQcm9wZXJ0aWVzKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RQcm9wZXJ0aWVzKG9iamVjdElkLCByZXZpc2lvbik/LnN1YnNjcmliZSh7XHJcblxyXG4gICAgICAvLyBwcm9wZXJ0aWVzIHJlc3BvbnNlIGlzIGJhZGx5IHN0cnVjdHVyZWQsIG5lYXJseSBpbXBvc3NpYmxlIHRvIGNyZWF0ZSBjbGFzcyBzdHJ1Y3R1cmUgZnJvbSBpdC4gVGhlcmVmb3JlIHVzaW5nIHNob3J0Y3V0XHJcbiAgICAgIC8vIGFueSBmb3IganNvbiByZXNwb25zZVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIG5leHQ6IChwcm9wZXJ0aWVzRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5vYmplY3RBdHRyaWJ1dGVHcm91cHMgPSB0aGlzLl9jcmVhdGVBdHRyaWJ1dGVHcm91cHNGcm9tUmVzcG9uc2UocHJvcGVydGllc0RhdGEpO1xyXG4gICAgICAgIHRoaXMuX3N5bmNBdHRyaWJ1dGVTdGF0ZXNGcm9tQ3JpdGVyaWEoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3VwcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfY3JlYXRlQXR0cmlidXRlR3JvdXBzRnJvbVJlc3BvbnNlKHByb3BlcnRpZXNEYXRhOiBhbnkpIHtcclxuXHJcbiAgICBjb25zdCBncm91cHM6IEFycmF5PENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlR3JvdXA+ID0gW107XHJcbiAgICBsZXQgbG9jYWxpemVkQXR0cmliR3JvdXBzID0gbnVsbDtcclxuICAgIGlmIChwcm9wZXJ0aWVzRGF0YS5sb2NhbGl6ZWRBdHRyaWJ1dGVHcm91cHMpIHtcclxuICAgICAgbG9jYWxpemVkQXR0cmliR3JvdXBzID0gcHJvcGVydGllc0RhdGEubG9jYWxpemVkQXR0cmlidXRlR3JvdXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghcHJvcGVydGllc0RhdGEuYXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gZ3JvdXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGF0dHJpYkdyb3VwcyA9IHByb3BlcnRpZXNEYXRhLmF0dHJpYnV0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IFtncm91cE5hbWUsIGF0dHJpYnNPYmplY3RdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYkdyb3VwcykpIHtcclxuXHJcbiAgICAgIGNvbnN0IG5ld0dyb3VwOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZUdyb3VwID0ge1xyXG4gICAgICAgIG5hbWU6IGdyb3VwTmFtZSxcclxuICAgICAgICBleHBhbmRlZDogZmFsc2UsXHJcbiAgICAgICAgYXR0cmlidXRlczogW11cclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChsb2NhbGl6ZWRBdHRyaWJHcm91cHM/Lltncm91cE5hbWVdKSB7XHJcbiAgICAgICAgbmV3R3JvdXAubmFtZSA9IGxvY2FsaXplZEF0dHJpYkdyb3Vwc1tncm91cE5hbWVdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIWF0dHJpYnNPYmplY3QpIHtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChjb25zdCBhdHRyaWIgb2YgT2JqZWN0LnZhbHVlcyhhdHRyaWJzT2JqZWN0KSkge1xyXG5cclxuICAgICAgICBjb25zdCBuZXdBdHRyaWI6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlID0ge1xyXG4gICAgICAgICAgaWQ6IGF0dHJpYi5pZCxcclxuICAgICAgICAgIG5hbWU6IGF0dHJpYi5uYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IGF0dHJpYi5kZXNjcmlwdGlvbixcclxuICAgICAgICAgIHZhbHVlOiBhdHRyaWIudmFsdWUsXHJcbiAgICAgICAgICBpc0NoYW5nZWFibGU6IGF0dHJpYi5pc0NoYW5nZWFibGUsXHJcbiAgICAgICAgICB0eXBlOiBhdHRyaWIudHlwZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgdmFsdWVDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgIGdyb3VwOiBhdHRyaWIuZ3JvdXAsXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgYXR0cmlidXRlIGluZm9ybWF0aW9uIHdoaWNoIGlzIG5vdCBhbHdheXMgcHJlc2VudFxyXG4gICAgICAgIGlmIChhdHRyaWIuY29udHJvbCkge1xyXG4gICAgICAgICAgbmV3QXR0cmliLmNvbnRyb2wgPSBhdHRyaWIuY29udHJvbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGF0dHJpYi5kZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICAgIG5ld0F0dHJpYi5kZWZhdWx0VmFsdWUgPSBhdHRyaWIuZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXR0cmliLnVuaXQpIHtcclxuICAgICAgICAgIG5ld0F0dHJpYi51bml0ID0gYXR0cmliLnVuaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhdHRyaWIuZGVjaW1hbCkge1xyXG4gICAgICAgICAgbmV3QXR0cmliLmRlY2ltYWwgPSBhdHRyaWIuZGVjaW1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGF0dHJpYi5lbnVtZGVmaW5pdGlvbikge1xyXG4gICAgICAgICAgbmV3QXR0cmliLmVudW1WYWx1ZXMgPSBhdHRyaWIuZW51bWRlZmluaXRpb247XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBuZXdHcm91cC5hdHRyaWJ1dGVzLnB1c2gobmV3QXR0cmliKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZ3JvdXBzLnB1c2gobmV3R3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBncm91cHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zeW5jQXR0cmlidXRlU3RhdGVzRnJvbUNyaXRlcmlhKCkge1xyXG4gICAgdGhpcy5vYmplY3RBdHRyaWJ1dGVHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XHJcbiAgICAgIGdyb3VwLmF0dHJpYnV0ZXMuZm9yRWFjaChhdHRyaWIgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNyaXRlcmlhID0gdGhpcy5fZmlsdGVyQ3JpdGVyaWEuZmluZCh4ID0+IHguaWQgPT0gYXR0cmliLmlkKVxyXG4gICAgICAgIGlmIChjcml0ZXJpYSkge1xyXG4gICAgICAgICAgYXR0cmliLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgYXR0cmliLnZhbHVlQ2hlY2tlZCA9IGNyaXRlcmlhLnZhbHVlICE9PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGF0dHJpYi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICBhdHRyaWIudmFsdWVDaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRPYmplY3RQcm9wZXJ0aWVzKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghdGhpcy5hcGkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0KG9iamVjdElkLCByZXZpc2lvbiwgXCI4XCIsIHVuZGVmaW5lZCwgZmFsc2UsIHVuZGVmaW5lZCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZE9iamVjdFN0cnVjdHVyZShvYmplY3RJZDogc3RyaW5nLCByZXZpc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIXRoaXMuYXBpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLmdldFRvcG9sb2d5KG9iamVjdElkLCByZXZpc2lvbiwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRPYmplY3RDb21wbGV4UHJvcGVydGllc1N0cnVjdHVyZShvYmplY3RJZDogc3RyaW5nLCByZXZpc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIXRoaXMuYXBpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLmdldENvbXBsZXhQcm9wZXJ0aWVzVG9wb2xvZ3kob2JqZWN0SWQsIHJldmlzaW9uKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVDb21wbGV4UHJvcGVydGllc3RydWN0dXJlKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RDb21wbGV4UHJvcGVydGllc1N0cnVjdHVyZShvYmplY3RJZCwgcmV2aXNpb24pPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoc3RydWN0dXJlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChzdHJ1Y3R1cmVEYXRhKSB7XHJcbiAgICAgICAgICBjb25zdCBjb21wbGV4UHJvcHMgPSBDb21wbGV4UHJvcGVydGllc05vZGVCdWlsZGVyLmNyZWF0ZUZyb21SZXNwb25zZShzdHJ1Y3R1cmVEYXRhKTtcclxuICAgICAgICAgIGlmIChjb21wbGV4UHJvcHM/LmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29tcGxleFByb3BlcnRpZXMgPSBjb21wbGV4UHJvcHM7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wbGV4UHJvcGVydGllcyA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlT2JqZWN0U3RydWN0dXJlKG9iamVjdElkOiBzdHJpbmcsIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHN0cnVjdHVyZURhdGEpID0+IHtcclxuICAgICAgICBpZiAoc3RydWN0dXJlRGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5fb2JqZWN0U3RydWN0dXJlID0gT2JqZWN0U3RydWN0dXJlTm9kZUJ1aWxkZXIuY3JlYXRlRnJvbVJlc3BvbnNlKHN0cnVjdHVyZURhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPCEtLSBPYmplY3Qgc3RydWN0dXJlLS0+XHJcbjxsaWItZXhwYW5zaW9uLXBhbmVsPlxyXG4gIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPlxyXG4gICAgICB7eyBcIl9PYmplY3Qgc3RydWN0dXJlXCIgfCB0cmFuc2xhdGUgfX08L3NwYW5cclxuICAgID5cclxuICA8L2xpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIEBpZihvYmplY3RTdHJ1Y3R1cmUpe1xyXG4gICAgPGxpYi1iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmVcclxuICAgICAgW29iamVjdFN0cnVjdHVyZV09XCJvYmplY3RTdHJ1Y3R1cmVcIlxyXG4gICAgICAobm9kZVNlbGVjdGVkKT1cImhhbmRsZU9iamVjdFN0cnVjdHVyZU5vZGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvbGliLWJpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZT5cclxuICB9XHJcbjwvbGliLWV4cGFuc2lvbi1wYW5lbD5cclxuPCEtLSBFbmQgT2JqZWN0IHN0cnVjdHVyZS0tPlxyXG5cclxuPCEtLSBDb21wbGV4IHByb3BlcnRpZXMtLT5cclxuQGlmKGNvbXBsZXhQcm9wZXJ0aWVzKXtcclxuPGxpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgPGxpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtaGVhZGVyXCI+XHJcbiAgICAgIHt7IFwiX09iamVjdCBtdWx0aXByb3BlcnRpZXMgdHJlZVwiIHwgdHJhbnNsYXRlIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICA8bGliLWJpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllc1xyXG4gICAgW2NvbXBsZXhQcm9wZXJ0aWVzXT1cImNvbXBsZXhQcm9wZXJ0aWVzXCJcclxuICAgIChub2RlU2VsZWN0ZWQpPVwiaGFuZGxlQ29tcGxleFByb3BlcnR5Tm9kZVNlbGVjdGVkKCRldmVudClcIlxyXG4gID5cclxuICA8L2xpYi1iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXM+XHJcbjwvbGliLWV4cGFuc2lvbi1wYW5lbD5cclxufVxyXG48IS0tIEVuZCBDb21wbGV4IHByb3BlcnRpZXMtLT5cclxuXHJcbjwhLS0gUHJvcGVydGllcyBsaXN0LS0+XHJcbkBpZihvYmplY3RBdHRyaWJ1dGVHcm91cHMubGVuZ3RoID4gMCl7XHJcbjxsaWItZXhwYW5zaW9uLXBhbmVsPlxyXG4gIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPlxyXG4gICAgICB7eyBcIl9PYmplY3QgcHJvcGVydGllc1wiIHwgdHJhbnNsYXRlIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgQGZvciAoYXR0cmliR3JvdXAgb2Ygb2JqZWN0QXR0cmlidXRlR3JvdXBzOyB0cmFjayBhdHRyaWJHcm91cCkge1xyXG4gIDxsaWItZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJhdHRyaWJHcm91cC5leHBhbmRlZFwiPlxyXG4gICAgPGxpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1ncm91cC1oZWFkZXJcIj5cclxuICAgICAgICB7eyBhdHRyaWJHcm91cC5uYW1lIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICBAZm9yIChhdHRyaWIgb2YgYXR0cmliR3JvdXAuYXR0cmlidXRlczsgdHJhY2sgYXR0cmliKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtYXR0cmliLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtYXR0cmliLXJvdy1jb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbCBjcml0ZXJpYS1zZWxlY3QtY2hlY2tib3hcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiYXR0cmliLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJDcml0ZXJpYS5sZW5ndGggPT09IE1heEZpbHRlckNyaXRlcmlhICYmICFhdHRyaWIuY2hlY2tlZFxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBdHRyaWJ1dGUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwidG9nZ2xlQXR0cmlidXRlKGF0dHJpYilcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbC10ZXh0XCI+XHJcbiAgICAgICAgICAgICAge3sgYXR0cmliLm5hbWUgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtYXR0cmliLXJvdy1jZWxsIGNyaXRlcmlhLXNlbGVjdC1jaGVja2JveFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbC1sYWJlbFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhdHRyaWIudmFsdWVDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcclxuICAgICAgICAgICAgICAgICAgZmlsdGVyQ3JpdGVyaWEubGVuZ3RoID09PSBNYXhGaWx0ZXJDcml0ZXJpYSAmJiAhYXR0cmliLmNoZWNrZWRcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiXHJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyB0aXRsZUZvckF0dHJpYnV0ZShhdHRyaWIpIH19XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IG5vcm1hbGl6ZWRWYWx1ZShhdHRyaWIpIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgfVxyXG48L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbn1cclxuPCEtLSBFbmQgUHJvcGVydGllcyBsaXN0LS0+XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZXtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgdmFsdWVDaGVja2VkOiBib29sZWFuO1xyXG4gIGlzQ2hhbmdlYWJsZTogYm9vbGVhbjtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgY29udHJvbD86IHN0cmluZztcclxuICB1bml0Pzogc3RyaW5nO1xyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcclxuICBkZWNpbWFsPzogbnVtYmVyO1xyXG4gIGVudW1WYWx1ZXM/OiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlR3JvdXB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGF0dHJpYnV0ZXM6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlW107XHJcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -141,11 +141,11 @@ export class ObjectFilterResultComponent {
|
|
|
141
141
|
this.treeComponent?.expand_node(node.id);
|
|
142
142
|
}
|
|
143
143
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObjectFilterResultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ObjectFilterResultComponent, isStandalone: true, selector: "lib-object-filter-result", inputs: { filterResult: "filterResult", selectedObjects: "selectedObjects" }, outputs: { nodeSelectionChanged: "nodeSelectionChanged", nodeDoubleClicked: "nodeDoubleClicked", nodeMouseEntered: "nodeMouseEntered", nodeMouseLeft: "nodeMouseLeft" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ObjectFilterResultComponent, isStandalone: true, selector: "lib-object-filter-result", inputs: { filterResult: "filterResult", selectedObjects: "selectedObjects" }, outputs: { nodeSelectionChanged: "nodeSelectionChanged", nodeDoubleClicked: "nodeDoubleClicked", nodeMouseEntered: "nodeMouseEntered", nodeMouseLeft: "nodeMouseLeft" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700;--flat-tree-background-color: var(--bimplus-object-filter-result-background-color, var(--flat-tree-container-background-color-enabled))}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
145
145
|
}
|
|
146
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObjectFilterResultComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
|
-
args: [{ selector: 'lib-object-filter-result', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
|
|
148
|
+
args: [{ selector: 'lib-object-filter-result', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} ( {{getNodeObjectCounter(node.id)}} )</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700;--flat-tree-background-color: var(--bimplus-object-filter-result-background-color, var(--flat-tree-container-background-color-enabled))}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
|
|
149
149
|
}], propDecorators: { treeComponent: [{
|
|
150
150
|
type: ViewChild,
|
|
151
151
|
args: [BimplusFlatTreeComponent]
|
|
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
162
162
|
}], nodeMouseLeft: [{
|
|
163
163
|
type: Output
|
|
164
164
|
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL29iamVjdC1maWx0ZXItcmVzdWx0L29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9vYmplY3QtZmlsdGVyLXJlc3VsdC9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBYy9GLE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFTRSx3QkFBd0I7UUFDYSxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFrQmpGLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXlDckQsNEJBQTRCO1FBRTVCLHlCQUF5QjtRQUNqQixrQkFBYSxHQUFnRCxJQUFJLENBQUM7UUFDbEUsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBb0IsRUFBRSxDQUFDO1FBQ3ZDLDBCQUFxQixHQUF5QixFQUFFLENB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LENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0E3S1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsMFhBRzNCLHdCQUF3QixnRENsQnJDLG9uQ0E2QkEsb2lCRGxCWSx3QkFBd0I7OzRGQUl2QiwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLHdCQUF3QixDQUFDOzhCQU9FLGFBQWE7c0JBQWpELFNBQVM7dUJBQUMsd0JBQXdCO2dCQUcvQixZQUFZO3NCQURmLEtBQUs7Z0JBT0YsZUFBZTtzQkFEbEIsS0FBSztnQkFVSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgKiBhcyBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xyXG5cclxudHlwZSBUcmVlTm9kZXNMb29rdXAgPSBSZWNvcmQ8c3RyaW5nLCBUcmVlTm9kZT47XHJcbnR5cGUgVHJlZU5vZGVPYmplY3RDb3VudHMgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItb2JqZWN0LWZpbHRlci1yZXN1bHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0JpbXBsdXNGbGF0VHJlZUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RGaWx0ZXJSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLy8gI3JlZ2lvbiBwdWJsaWMgZmllbGRzXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWx0ZXJSZXN1bHQocmVzOiBXZWJTZGsuT2JqZWN0RmlsdGVyU3RydWN0dXJlUmVzcG9uc2UgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9maWx0ZXJSZXN1bHQgPSByZXM7XHJcbiAgICB0aGlzLl91cGRhdGVUcmVlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRPYmplY3RzKHNlbGVjdGVkT2JqZWN0czogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyA9IHNlbGVjdGVkT2JqZWN0cztcclxuICAgIHRoaXMuX3N5bmNTZWxlY3RlZE9iamVjdHMoKTtcclxuICB9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLl90cmVlRGF0YTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBub2RlU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVEb3VibGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVNb3VzZUVudGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlTGVmdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIC8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3RyZWVEYXRhICYmIHRoaXMuX3RyZWVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5fZXhwYW5kVG9PYmplY3RMZXZlbCh0aGlzLl90cmVlRGF0YVswXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWxlY3RlZE5vZGVzKG5vZGVzOiBGbGF0Tm9kZVtdKSB7XHJcbiAgICB0aGlzLm5vZGVTZWxlY3Rpb25DaGFuZ2VkLmVtaXQobm9kZXMubWFwKHggPT4geC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm9kZU9iamVjdENvdW50ZXIoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVOb2RlT2JqZWN0Q291bnRzW2lkXTtcclxuICB9XHJcblxyXG4gIGRibENsaWNrZWRPYmplY3ROb2RlKG5vZGU6IFRyZWVOb2RlKSB7XHJcbiAgICB0aGlzLm5vZGVEb3VibGVDbGlja2VkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUVudGVyT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VFbnRlcmVkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUxlYXZlT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VMZWZ0LmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBleHBhbmRUb09iamVjdExldmVsKCkge1xyXG4gICAgaWYgKHRoaXMudHJlZURhdGEubGVuZ3RoID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXhwYW5kVG9PYmplY3RMZXZlbCh0aGlzLl90cmVlRGF0YVswXSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlclJlc3VsdCgpIHtcclxuICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IG51bGw7XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFtdO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBmaWVsZHNcclxuICBwcml2YXRlIF9maWx0ZXJSZXN1bHQ6IFdlYlNkay5PYmplY3RGaWx0ZXJTdHJ1Y3R1cmVSZXNwb25zZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3RyZWVEYXRhOiBUcmVlTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVzTG9va3VwOiBUcmVlTm9kZXNMb29rdXAgPSB7fTtcclxuICBwcml2YXRlIF90cmVlTm9kZU9iamVjdENvdW50czogVHJlZU5vZGVPYmplY3RDb3VudHMgPSB7fTtcclxuICBwcml2YXRlIF9zZWxlY3RlZE9iamVjdHM6IHN0cmluZ1tdID0gW107XHJcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIGZpZWxkc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xyXG4gIHByaXZhdGUgX3N5bmNTZWxlY3RlZE9iamVjdHMoKSB7XHJcblxyXG4gICAgY29uc3Qgbm9kZXM6IFRyZWVOb2RlW10gPSBbXVxyXG5cclxuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5fc2VsZWN0ZWRPYmplY3RzKSB7XHJcbiAgICAgIGNvbnN0IHRyZWVOb2RlID0gdGhpcy5fdHJlZU5vZGVzTG9va3VwW2lkXTtcclxuICAgICAgaWYgKHRyZWVOb2RlKSB7XHJcbiAgICAgICAgbm9kZXMucHVzaCh0cmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnJlc2V0X3NlbGVjdGlvbigpO1xyXG5cclxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnNlbGVjdF9ub2RlKG5vZGUuaWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU9iamVjdENvdW50ZXJzKCkge1xyXG4gICAgdGhpcy5fdHJlZU5vZGVPYmplY3RDb3VudHMgPSB7fTtcclxuICAgIHRoaXMuX2NvdW50T2JqZWN0cyh0aGlzLnRyZWVEYXRhWzBdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvdW50T2JqZWN0cyhub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgaWYgKG5vZGUubm9kZVR5cGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gXCJvYmplY3ROb2RlXCIpXHJcbiAgICAgIHJldHVybiAxO1xyXG5cclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICBpZiAoIW5vZGUuY2hpbGRyZW4pXHJcbiAgICAgIHJldHVybiAwO1xyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbikge1xyXG4gICAgICBpZiAoIWNoaWxkKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY291bnQgKz0gdGhpcy5fY291bnRPYmplY3RzKGNoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50c1tub2RlLmlkXSA9IGNvdW50O1xyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZURhdGEoKSB7XHJcbiAgICBpZiAoIXRoaXMuX2ZpbHRlclJlc3VsdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFt0aGlzLl9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZSh0aGlzLl9maWx0ZXJSZXN1bHQuc3RydWN0dXJlLCB0aGlzLl90cmVlTm9kZXNMb29rdXApXTtcclxuICAgIHRoaXMuX3VwZGF0ZU9iamVjdENvdW50ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZShub2RlOiBXZWJTZGsuU3RydWN0dXJlTm9kZSwgbm9kZXNMb29rdXA6IFRyZWVOb2Rlc0xvb2t1cCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFRyZWVOb2RlIHtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZTogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnRcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRGaWx0ZXJSZXN1bHRUb1RyZWVOb2RlKGNoaWxkLCBub2Rlc0xvb2t1cCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdHJlZU5vZGUucGFyZW50KSB7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJyb290Tm9kZVwiO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiU3RydWN0dXJlXCIpIHtcclxuICAgICAgdHJlZU5vZGUubm9kZVR5cGUgPSBcInN0cnVjdHVyZU5vZGVcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJvYmplY3ROb2RlXCJcclxuICAgIH1cclxuXHJcbiAgICBpZiAobm9kZXNMb29rdXApIHtcclxuICAgICAgbm9kZXNMb29rdXBbdHJlZU5vZGUuaWRdID0gdHJlZU5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyZWVOb2RlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZXhwYW5kVG9PYmplY3RMZXZlbChub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlICYmIGNoaWxkLm5vZGVUeXBlID09PSBcIm9iamVjdE5vZGVcIikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9leHBhbmRUb09iamVjdExldmVsKGNoaWxkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5leHBhbmRfbm9kZShub2RlLmlkKTtcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxuXHJcbn1cclxuIiwiPGxpYi1iaW1wbHVzLWZsYXQtdHJlZVxyXG4gIHBhZGRpbmdJbmRlbnQ9XCIxLjRyZW1cIlxyXG4gIFt0cmVlRGF0YV09XCJ0cmVlRGF0YVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIG9uZUxldmVsTXVsdGlTZWxlY3Q9XCJmYWxzZVwiXHJcbiAgbXVsdGlTZWxlY3Q9XCJ0cnVlXCJcclxuICBkYXRhVGVzdFByZWZpeD1cIm9iamVjdC1maWx0ZXItcmVzdWx0LXRyZWUtXCJcclxuICAoc2VsZWN0ZWROb2Rlcyk9XCJoYW5kbGVTZWxlY3RlZE5vZGVzKCRldmVudClcIlxyXG4gIFtjdXN0b21Ob2RlVGVtcGxhdGVdPVwib2JqRmlsdGVyUmVzdWx0Tm9kZVwiXHJcbj5cclxuPC9saWItYmltcGx1cy1mbGF0LXRyZWU+XHJcblxyXG48bmctdGVtcGxhdGUgI29iakZpbHRlclJlc3VsdE5vZGUgbGV0LW5vZGU9J25vZGUnPlxyXG4gIEBzd2l0Y2ggKG5vZGUubm9kZVR5cGUpIHtcclxuICAgIEBjYXNlIChcInJvb3ROb2RlXCIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItZmlsdGVyLXJlc3VsdC1yb290LW5vZGUgbm9zZWxlY3RcIj4ge3tub2RlLm5hbWV9fSAmbmJzcDsmIzQwOyB7e2dldE5vZGVPYmplY3RDb3VudGVyKG5vZGUuaWQpfX0gJiM0MTs8L2Rpdj5cclxuICAgIH1cclxuICAgIEBjYXNlIChcInN0cnVjdHVyZU5vZGVcIikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibm9zZWxlY3RcIj4ge3tub2RlLm5hbWV9fSAmbmJzcDsmIzQwOyB7e2dldE5vZGVPYmplY3RDb3VudGVyKG5vZGUuaWQpfX0gJiM0MTs8L2Rpdj5cclxuICAgIH1cclxuICAgIEBjYXNlIChcIm9iamVjdE5vZGVcIikge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vc2VsZWN0XCIgKGRibGNsaWNrKT1cImRibENsaWNrZWRPYmplY3ROb2RlKG5vZGUpXCIgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlck9iamVjdE5vZGUobm9kZSlcIiAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZU9iamVjdE5vZGUobm9kZSlcIj5cclxuICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zcGFuPiAgICAgICAgICBcclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL29iamVjdC1maWx0ZXItcmVzdWx0L29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9vYmplY3QtZmlsdGVyLXJlc3VsdC9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBYy9GLE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFTRSx3QkFBd0I7UUFDYSxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFrQmpGLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXlDckQsNEJBQTRCO1FBRTVCLHlCQUF5QjtRQUNqQixrQkFBYSxHQUFnRCxJQUFJLENBQUM7UUFDbEUsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBb0IsRUFBRSxDQUFDO1FBQ3ZDLDBCQUFxQixHQUF5QixFQUFFLENB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LENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0E3S1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsMFhBRzNCLHdCQUF3QixnRENsQnJDLG9uQ0E2QkEsNHFCRGxCWSx3QkFBd0I7OzRGQUl2QiwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLHdCQUF3QixDQUFDOzhCQU9FLGFBQWE7c0JBQWpELFNBQVM7dUJBQUMsd0JBQXdCO2dCQUcvQixZQUFZO3NCQURmLEtBQUs7Z0JBT0YsZUFBZTtzQkFEbEIsS0FBSztnQkFVSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuLi8uLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgKiBhcyBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xyXG5cclxudHlwZSBUcmVlTm9kZXNMb29rdXAgPSBSZWNvcmQ8c3RyaW5nLCBUcmVlTm9kZT47XHJcbnR5cGUgVHJlZU5vZGVPYmplY3RDb3VudHMgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItb2JqZWN0LWZpbHRlci1yZXN1bHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0JpbXBsdXNGbGF0VHJlZUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RGaWx0ZXJSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLy8gI3JlZ2lvbiBwdWJsaWMgZmllbGRzXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWx0ZXJSZXN1bHQocmVzOiBXZWJTZGsuT2JqZWN0RmlsdGVyU3RydWN0dXJlUmVzcG9uc2UgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9maWx0ZXJSZXN1bHQgPSByZXM7XHJcbiAgICB0aGlzLl91cGRhdGVUcmVlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRPYmplY3RzKHNlbGVjdGVkT2JqZWN0czogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyA9IHNlbGVjdGVkT2JqZWN0cztcclxuICAgIHRoaXMuX3N5bmNTZWxlY3RlZE9iamVjdHMoKTtcclxuICB9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLl90cmVlRGF0YTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBub2RlU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVEb3VibGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVNb3VzZUVudGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlTGVmdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIC8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3RyZWVEYXRhICYmIHRoaXMuX3RyZWVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5fZXhwYW5kVG9PYmplY3RMZXZlbCh0aGlzLl90cmVlRGF0YVswXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWxlY3RlZE5vZGVzKG5vZGVzOiBGbGF0Tm9kZVtdKSB7XHJcbiAgICB0aGlzLm5vZGVTZWxlY3Rpb25DaGFuZ2VkLmVtaXQobm9kZXMubWFwKHggPT4geC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm9kZU9iamVjdENvdW50ZXIoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVOb2RlT2JqZWN0Q291bnRzW2lkXTtcclxuICB9XHJcblxyXG4gIGRibENsaWNrZWRPYmplY3ROb2RlKG5vZGU6IFRyZWVOb2RlKSB7XHJcbiAgICB0aGlzLm5vZGVEb3VibGVDbGlja2VkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUVudGVyT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VFbnRlcmVkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUxlYXZlT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VMZWZ0LmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBleHBhbmRUb09iamVjdExldmVsKCkge1xyXG4gICAgaWYgKHRoaXMudHJlZURhdGEubGVuZ3RoID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXhwYW5kVG9PYmplY3RMZXZlbCh0aGlzLl90cmVlRGF0YVswXSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlclJlc3VsdCgpIHtcclxuICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IG51bGw7XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFtdO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBmaWVsZHNcclxuICBwcml2YXRlIF9maWx0ZXJSZXN1bHQ6IFdlYlNkay5PYmplY3RGaWx0ZXJTdHJ1Y3R1cmVSZXNwb25zZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3RyZWVEYXRhOiBUcmVlTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVzTG9va3VwOiBUcmVlTm9kZXNMb29rdXAgPSB7fTtcclxuICBwcml2YXRlIF90cmVlTm9kZU9iamVjdENvdW50czogVHJlZU5vZGVPYmplY3RDb3VudHMgPSB7fTtcclxuICBwcml2YXRlIF9zZWxlY3RlZE9iamVjdHM6IHN0cmluZ1tdID0gW107XHJcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIGZpZWxkc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xyXG4gIHByaXZhdGUgX3N5bmNTZWxlY3RlZE9iamVjdHMoKSB7XHJcblxyXG4gICAgY29uc3Qgbm9kZXM6IFRyZWVOb2RlW10gPSBbXVxyXG5cclxuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5fc2VsZWN0ZWRPYmplY3RzKSB7XHJcbiAgICAgIGNvbnN0IHRyZWVOb2RlID0gdGhpcy5fdHJlZU5vZGVzTG9va3VwW2lkXTtcclxuICAgICAgaWYgKHRyZWVOb2RlKSB7XHJcbiAgICAgICAgbm9kZXMucHVzaCh0cmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnJlc2V0X3NlbGVjdGlvbigpO1xyXG5cclxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnNlbGVjdF9ub2RlKG5vZGUuaWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU9iamVjdENvdW50ZXJzKCkge1xyXG4gICAgdGhpcy5fdHJlZU5vZGVPYmplY3RDb3VudHMgPSB7fTtcclxuICAgIHRoaXMuX2NvdW50T2JqZWN0cyh0aGlzLnRyZWVEYXRhWzBdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvdW50T2JqZWN0cyhub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgaWYgKG5vZGUubm9kZVR5cGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gXCJvYmplY3ROb2RlXCIpXHJcbiAgICAgIHJldHVybiAxO1xyXG5cclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICBpZiAoIW5vZGUuY2hpbGRyZW4pXHJcbiAgICAgIHJldHVybiAwO1xyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbikge1xyXG4gICAgICBpZiAoIWNoaWxkKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY291bnQgKz0gdGhpcy5fY291bnRPYmplY3RzKGNoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50c1tub2RlLmlkXSA9IGNvdW50O1xyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZURhdGEoKSB7XHJcbiAgICBpZiAoIXRoaXMuX2ZpbHRlclJlc3VsdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFt0aGlzLl9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZSh0aGlzLl9maWx0ZXJSZXN1bHQuc3RydWN0dXJlLCB0aGlzLl90cmVlTm9kZXNMb29rdXApXTtcclxuICAgIHRoaXMuX3VwZGF0ZU9iamVjdENvdW50ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZShub2RlOiBXZWJTZGsuU3RydWN0dXJlTm9kZSwgbm9kZXNMb29rdXA6IFRyZWVOb2Rlc0xvb2t1cCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFRyZWVOb2RlIHtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZTogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnRcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRGaWx0ZXJSZXN1bHRUb1RyZWVOb2RlKGNoaWxkLCBub2Rlc0xvb2t1cCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdHJlZU5vZGUucGFyZW50KSB7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJyb290Tm9kZVwiO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiU3RydWN0dXJlXCIpIHtcclxuICAgICAgdHJlZU5vZGUubm9kZVR5cGUgPSBcInN0cnVjdHVyZU5vZGVcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJvYmplY3ROb2RlXCJcclxuICAgIH1cclxuXHJcbiAgICBpZiAobm9kZXNMb29rdXApIHtcclxuICAgICAgbm9kZXNMb29rdXBbdHJlZU5vZGUuaWRdID0gdHJlZU5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyZWVOb2RlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZXhwYW5kVG9PYmplY3RMZXZlbChub2RlOiBUcmVlTm9kZSkge1xyXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlICYmIGNoaWxkLm5vZGVUeXBlID09PSBcIm9iamVjdE5vZGVcIikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9leHBhbmRUb09iamVjdExldmVsKGNoaWxkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5leHBhbmRfbm9kZShub2RlLmlkKTtcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxuXHJcbn1cclxuIiwiPGxpYi1iaW1wbHVzLWZsYXQtdHJlZVxyXG4gIHBhZGRpbmdJbmRlbnQ9XCIxLjRyZW1cIlxyXG4gIFt0cmVlRGF0YV09XCJ0cmVlRGF0YVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIG9uZUxldmVsTXVsdGlTZWxlY3Q9XCJmYWxzZVwiXHJcbiAgbXVsdGlTZWxlY3Q9XCJ0cnVlXCJcclxuICBkYXRhVGVzdFByZWZpeD1cIm9iamVjdC1maWx0ZXItcmVzdWx0LXRyZWUtXCJcclxuICAoc2VsZWN0ZWROb2Rlcyk9XCJoYW5kbGVTZWxlY3RlZE5vZGVzKCRldmVudClcIlxyXG4gIFtjdXN0b21Ob2RlVGVtcGxhdGVdPVwib2JqRmlsdGVyUmVzdWx0Tm9kZVwiXHJcbj5cclxuPC9saWItYmltcGx1cy1mbGF0LXRyZWU+XHJcblxyXG48bmctdGVtcGxhdGUgI29iakZpbHRlclJlc3VsdE5vZGUgbGV0LW5vZGU9J25vZGUnPlxyXG4gIEBzd2l0Y2ggKG5vZGUubm9kZVR5cGUpIHtcclxuICAgIEBjYXNlIChcInJvb3ROb2RlXCIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItZmlsdGVyLXJlc3VsdC1yb290LW5vZGUgbm9zZWxlY3RcIj4ge3tub2RlLm5hbWV9fSAmbmJzcDsmIzQwOyB7e2dldE5vZGVPYmplY3RDb3VudGVyKG5vZGUuaWQpfX0gJiM0MTs8L2Rpdj5cclxuICAgIH1cclxuICAgIEBjYXNlIChcInN0cnVjdHVyZU5vZGVcIikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibm9zZWxlY3RcIj4ge3tub2RlLm5hbWV9fSAmbmJzcDsmIzQwOyB7e2dldE5vZGVPYmplY3RDb3VudGVyKG5vZGUuaWQpfX0gJiM0MTs8L2Rpdj5cclxuICAgIH1cclxuICAgIEBjYXNlIChcIm9iamVjdE5vZGVcIikge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vc2VsZWN0XCIgKGRibGNsaWNrKT1cImRibENsaWNrZWRPYmplY3ROb2RlKG5vZGUpXCIgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlck9iamVjdE5vZGUobm9kZSlcIiAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZU9iamVjdE5vZGUobm9kZSlcIj5cclxuICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zcGFuPiAgICAgICAgICBcclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs
CHANGED
|
@@ -6,7 +6,9 @@ export class BimplusObjectStructureComponent {
|
|
|
6
6
|
this._objectStructure = signal({
|
|
7
7
|
id: "",
|
|
8
8
|
name: "",
|
|
9
|
-
parent: ""
|
|
9
|
+
parent: "",
|
|
10
|
+
visible: true,
|
|
11
|
+
opaque: true
|
|
10
12
|
});
|
|
11
13
|
this.treeComponent = null;
|
|
12
14
|
this.treeData = computed(() => {
|
|
@@ -21,6 +23,8 @@ export class BimplusObjectStructureComponent {
|
|
|
21
23
|
return [root];
|
|
22
24
|
});
|
|
23
25
|
this.nodeSelected = new EventEmitter();
|
|
26
|
+
this.nodeVisible = new EventEmitter();
|
|
27
|
+
this.nodeOpaque = new EventEmitter();
|
|
24
28
|
}
|
|
25
29
|
/** TODO remove @Input once signal inputs release from developer preview. */
|
|
26
30
|
/* eslint-disable @angular-eslint/no-input-rename */
|
|
@@ -64,15 +68,45 @@ export class BimplusObjectStructureComponent {
|
|
|
64
68
|
}
|
|
65
69
|
}
|
|
66
70
|
}
|
|
71
|
+
handleVisibleNodes(nodes) {
|
|
72
|
+
if (nodes.length === 1) {
|
|
73
|
+
const visibleNode = this._findNode(nodes[0].id, this._objectStructure());
|
|
74
|
+
if (visibleNode) {
|
|
75
|
+
const outpuData = {
|
|
76
|
+
name: visibleNode.name,
|
|
77
|
+
parent: visibleNode.parent,
|
|
78
|
+
id: visibleNode.id,
|
|
79
|
+
visible: nodes[0].isChecked2,
|
|
80
|
+
opaque: nodes[0].isChecked1,
|
|
81
|
+
};
|
|
82
|
+
this.nodeVisible.emit(outpuData);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
handleOpaqueNodes(nodes) {
|
|
87
|
+
if (nodes.length === 1) {
|
|
88
|
+
const opaqueNode = this._findNode(nodes[0].id, this._objectStructure());
|
|
89
|
+
if (opaqueNode) {
|
|
90
|
+
const outpuData = {
|
|
91
|
+
name: opaqueNode.name,
|
|
92
|
+
parent: opaqueNode.parent,
|
|
93
|
+
id: opaqueNode.id,
|
|
94
|
+
visible: nodes[0].isChecked2,
|
|
95
|
+
opaque: nodes[0].isChecked1,
|
|
96
|
+
};
|
|
97
|
+
this.nodeOpaque.emit(outpuData);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
67
101
|
expandTree() {
|
|
68
102
|
this.treeComponent?.expandTree();
|
|
69
103
|
}
|
|
70
104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)
|
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected", nodeVisible: "nodeVisible", nodeOpaque: "nodeOpaque" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
72
106
|
}
|
|
73
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, decorators: [{
|
|
74
108
|
type: Component,
|
|
75
|
-
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)
|
|
109
|
+
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
|
|
76
110
|
}], propDecorators: { objectStructureValue: [{
|
|
77
111
|
type: Input,
|
|
78
112
|
args: [{ alias: 'objectStructure' }]
|
|
@@ -81,5 +115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
81
115
|
args: [BimplusFlatTreeComponent]
|
|
82
116
|
}], nodeSelected: [{
|
|
83
117
|
type: Output
|
|
118
|
+
}], nodeVisible: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], nodeOpaque: [{
|
|
121
|
+
type: Output
|
|
84
122
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBRWtDLGtCQUFhLEdBQW9DLElBQUksQ0FBQztRQXFCbEYsYUFBUSxHQUFHLFFBQVEsQ0FBYSxHQUFHLEVBQUU7WUFDNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDaEQsSUFBRyxDQUFDLGVBQWUsRUFBQyxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekUsSUFBRyxDQUFDLElBQUksRUFBQyxDQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtRQWlDUSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO0tBQ2xFO0lBaEZDLDRFQUE0RTtJQUM1RSxvREFBb0Q7SUFDcEQsSUFDSSxvQkFBb0IsQ0FBQyxJQUEwQjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFVTyxxQ0FBcUMsQ0FBQyxJQUEwQjtRQUV0RSxNQUFNLFFBQVEsR0FBYztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUVGLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2hCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNoQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQWlCTyxTQUFTLENBQUMsRUFBUyxFQUFFLElBQTBCO1FBQ3JELElBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixLQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLElBQUcsR0FBRyxFQUFDLENBQUM7b0JBQ04sT0FBTyxHQUFHLENBQUM7Z0JBQ2IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBa0I7UUFDcEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQyxDQUFDO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLElBQUcsWUFBWSxFQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0E5RVUsK0JBQStCO21HQUEvQiwrQkFBK0IsaVFBYy9CLHdCQUF3QixnREMxQnJDLGtRQU9BLGlKRENZLHdCQUF3Qjs7NEZBSXZCLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBUS9CLG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFXRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrRXpCLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9iamVjdFN0cnVjdHVyZU5vZGUgfSBmcm9tICcuL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50e1xyXG4gIC8qKiBUT0RPIHJlbW92ZSBASW5wdXQgb25jZSBzaWduYWwgaW5wdXRzIHJlbGVhc2UgZnJvbSBkZXZlbG9wZXIgcHJldmlldy4gKi9cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdvYmplY3RTdHJ1Y3R1cmUnIH0pXHJcbiAgc2V0IG9iamVjdFN0cnVjdHVyZVZhbHVlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKXtcclxuICAgIHRoaXMuX29iamVjdFN0cnVjdHVyZS5zZXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9vYmplY3RTdHJ1Y3R1cmUgPSBzaWduYWw8T2JqZWN0U3RydWN0dXJlTm9kZT4oe1xyXG4gICAgaWQgOiBcIlwiLFxyXG4gICAgbmFtZSA6IFwiXCIsXHJcbiAgICBwYXJlbnQ6IFwiXCJcclxuICB9KTtcclxuXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG4gIFxyXG4gIHByaXZhdGUgX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSkgOiBUcmVlTm9kZXtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZSA6IFRyZWVOb2RlID0ge1xyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGlkOiBub2RlLmlkLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50IFxyXG4gICAgfTtcclxuXHJcbiAgICBpZihub2RlLmNoaWxkcmVuKXtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICAgIGNvbnN0IGNoaWxkVHJlZU5vZGUgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUoY2hpbGQpO1xyXG4gICAgICAgIHRyZWVOb2RlLmNoaWxkcmVuLnB1c2goY2hpbGRUcmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB0cmVlRGF0YSA9IGNvbXB1dGVkPFRyZWVOb2RlW10+KCgpID0+IHtcclxuICAgIGNvbnN0IG9iamVjdFN0cnVjdHVyZSA9IHRoaXMuX29iamVjdFN0cnVjdHVyZSgpO1xyXG4gICAgaWYoIW9iamVjdFN0cnVjdHVyZSl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByb290ID0gdGhpcy5fY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG9iamVjdFN0cnVjdHVyZSk7XHJcbiAgICBpZighcm9vdCl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gW3Jvb3RdO1xyXG4gIH0pXHJcblxyXG5cclxuICBwcml2YXRlIF9maW5kTm9kZShpZDpzdHJpbmcsIG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IE9iamVjdFN0cnVjdHVyZU5vZGUgfCBudWxse1xyXG4gICAgaWYobm9kZS5pZCA9PSBpZCl7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5fZmluZE5vZGUoaWQsIGNoaWxkKTtcclxuICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNlbGVjdGVkTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IHRoaXMuX2ZpbmROb2RlKG5vZGVzWzBdLmlkLCB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUoKSk7XHJcbiAgICAgIGlmKHNlbGVjdGVkTm9kZSl7XHJcbiAgICAgICAgdGhpcy5ub2RlU2VsZWN0ZWQuZW1pdChzZWxlY3RlZE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgZXhwYW5kVHJlZSgpe1xyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5leHBhbmRUcmVlKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbm9kZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3Qtc3RydWN0dXJlLXRyZWUtXCJcclxuPjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztRQUVrQyxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFxQmxGLGFBQVEsR0FBRyxRQUFRLENBQWEsR0FBRyxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hELElBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pFLElBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUE7UUFpRVEsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN2RCxnQkFBVyxHQUFJLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3ZELGVBQVUsR0FBSyxJQUFJLFlBQVksRUFBdUIsQ0FBQztLQUNsRTtJQXBIQyw0RUFBNEU7SUFDNUUsb0RBQW9EO0lBQ3BELElBQ0ksb0JBQW9CLENBQUMsSUFBMEI7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBWU8scUNBQXFDLENBQUMsSUFBMEI7UUFFdEUsTUFBTSxRQUFRLEdBQWM7WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7UUFFRixJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixRQUFRLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUN2QixLQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDaEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFpQk8sU0FBUyxDQUFDLEVBQVMsRUFBRSxJQUEwQjtRQUNyRCxJQUFHLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFDLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDaEIsS0FBSSxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxJQUFHLEdBQUcsRUFBQyxDQUFDO29CQUNOLE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWtCO1FBQ3BDLElBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUMsQ0FBQztZQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUMxRSxJQUFHLFlBQVksRUFBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWtCO1FBQ25DLElBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUMsQ0FBQztZQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUN6RSxJQUFHLFdBQVcsRUFBQyxDQUFDO2dCQUNkLE1BQU0sU0FBUyxHQUFzQjtvQkFDbkMsSUFBSSxFQUFDLFdBQVcsQ0FBQyxJQUFJO29CQUNyQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07b0JBQzFCLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRTtvQkFDbEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO29CQUM1QixNQUFNLEVBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7aUJBQzdCLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBa0I7UUFDbEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQyxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLElBQUcsVUFBVSxFQUFDLENBQUM7Z0JBQ2IsTUFBTSxTQUFTLEdBQXNCO29CQUNuQyxJQUFJLEVBQUMsVUFBVSxDQUFDLElBQUk7b0JBQ3BCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFO29CQUNqQixPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7b0JBQzVCLE1BQU0sRUFBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtpQkFDN0IsQ0FBQTtnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDOytHQWhIVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1VEFnQi9CLHdCQUF3QixnREM1QnJDLHlhQVdBLHFSREhZLHdCQUF3Qjs7NEZBSXZCLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBUS9CLG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFhRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrR3pCLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBPYmplY3RTdHJ1Y3R1cmVOb2RlIH0gZnJvbSAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudHtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnb2JqZWN0U3RydWN0dXJlJyB9KVxyXG4gIHNldCBvYmplY3RTdHJ1Y3R1cmVWYWx1ZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSl7XHJcbiAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUuc2V0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb2JqZWN0U3RydWN0dXJlID0gc2lnbmFsPE9iamVjdFN0cnVjdHVyZU5vZGU+KHtcclxuICAgIGlkIDogXCJcIixcclxuICAgIG5hbWUgOiBcIlwiLFxyXG4gICAgcGFyZW50OiBcIlwiLFxyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIG9wYXF1ZTogdHJ1ZVxyXG4gIH0pO1xyXG5cclxuICBAVmlld0NoaWxkKEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCkgdHJlZUNvbXBvbmVudDogQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgcHJpdmF0ZSBfY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IFRyZWVOb2Rle1xyXG5cclxuICAgIGNvbnN0IHRyZWVOb2RlIDogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShjaGlsZCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmVlTm9kZTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHRyZWVEYXRhID0gY29tcHV0ZWQ8VHJlZU5vZGVbXT4oKCkgPT4ge1xyXG4gICAgY29uc3Qgb2JqZWN0U3RydWN0dXJlID0gdGhpcy5fb2JqZWN0U3RydWN0dXJlKCk7XHJcbiAgICBpZighb2JqZWN0U3RydWN0dXJlKXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUob2JqZWN0U3RydWN0dXJlKTtcclxuICAgIGlmKCFyb290KXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbcm9vdF07XHJcbiAgfSlcclxuXHJcblxyXG4gIHByaXZhdGUgX2ZpbmROb2RlKGlkOnN0cmluZywgbm9kZSA6IE9iamVjdFN0cnVjdHVyZU5vZGUpIDogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGx7XHJcbiAgICBpZihub2RlLmlkID09IGlkKXtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobm9kZS5jaGlsZHJlbil7XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9maW5kTm9kZShpZCwgY2hpbGQpO1xyXG4gICAgICAgIGlmKHJlcyl7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlID0gdGhpcy5fZmluZE5vZGUobm9kZXNbMF0uaWQsIHRoaXMuX29iamVjdFN0cnVjdHVyZSgpKTtcclxuICAgICAgaWYoc2VsZWN0ZWROb2RlKXtcclxuICAgICAgICB0aGlzLm5vZGVTZWxlY3RlZC5lbWl0KHNlbGVjdGVkTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG4gIFxyXG4gIGhhbmRsZVZpc2libGVOb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3QgdmlzaWJsZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZih2aXNpYmxlTm9kZSl7XHJcbiAgICAgICAgY29uc3Qgb3V0cHVEYXRhOk9iamVjdFN0cnVjdHVyZU5vZGUgPXtcclxuICAgICAgICAgIG5hbWU6dmlzaWJsZU5vZGUubmFtZSxcclxuICAgICAgICAgIHBhcmVudDogdmlzaWJsZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiB2aXNpYmxlTm9kZS5pZCxcclxuICAgICAgICAgIHZpc2libGU6IG5vZGVzWzBdLmlzQ2hlY2tlZDIsXHJcbiAgICAgICAgICBvcGFxdWU6ICBub2Rlc1swXS5pc0NoZWNrZWQxLFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGVWaXNpYmxlLmVtaXQob3V0cHVEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcbiAgXHJcbiAgaGFuZGxlT3BhcXVlTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IG9wYXF1ZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZihvcGFxdWVOb2RlKXtcclxuICAgICAgICBjb25zdCBvdXRwdURhdGE6T2JqZWN0U3RydWN0dXJlTm9kZSA9e1xyXG4gICAgICAgICAgbmFtZTpvcGFxdWVOb2RlLm5hbWUsXHJcbiAgICAgICAgICBwYXJlbnQ6IG9wYXF1ZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiBvcGFxdWVOb2RlLmlkLFxyXG4gICAgICAgICAgdmlzaWJsZTogbm9kZXNbMF0uaXNDaGVja2VkMixcclxuICAgICAgICAgIG9wYXF1ZTogIG5vZGVzWzBdLmlzQ2hlY2tlZDEsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZU9wYXF1ZS5lbWl0KG91dHB1RGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBleHBhbmRUcmVlKCl7XHJcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LmV4cGFuZFRyZWUoKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBub2RlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdFN0cnVjdHVyZU5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVWaXNpYmxlICA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0U3RydWN0dXJlTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU9wYXF1ZSAgID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKSA9IFwiaGFuZGxlU2VsZWN0ZWROb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDJOb2RlcykgPSBcImhhbmRsZVZpc2libGVOb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDFOb2RlcykgPSBcImhhbmRsZU9wYXF1ZU5vZGVzKCRldmVudClcIlxyXG4gIGRhdGFUZXN0UHJlZml4PVwib2JqZWN0LXN0cnVjdHVyZS10cmVlLVwiXHJcbiAgW2hhc0NoZWNrQm94MV09XCJ0cnVlXCJcclxuICBbaGFzQ2hlY2tCb3gyXT1cInRydWVcIlxyXG4+PC9saWItYmltcGx1cy1mbGF0LXRyZWU+XHJcbiJdfQ==
|
package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.interface.mjs
CHANGED
|
@@ -3,7 +3,9 @@ export class ObjectStructureNodeBuilder {
|
|
|
3
3
|
const node = {
|
|
4
4
|
id: response.id,
|
|
5
5
|
name: response.name ? `${response.type}(${response.name})` : response.type,
|
|
6
|
-
parent: response.parent
|
|
6
|
+
parent: response.parent,
|
|
7
|
+
visible: true,
|
|
8
|
+
opaque: true
|
|
7
9
|
};
|
|
8
10
|
if (response.children) {
|
|
9
11
|
node.children = [];
|
|
@@ -14,4 +16,4 @@ export class ObjectStructureNodeBuilder {
|
|
|
14
16
|
return node;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQXdDO1FBQ2hFLE1BQU0sSUFBSSxHQUF5QjtZQUNqQyxFQUFFLEVBQUcsUUFBUSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxFQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQzVFLE1BQU0sRUFBRyxRQUFRLENBQUMsTUFBTTtZQUN4QixPQUFPLEVBQUcsSUFBSTtZQUNkLE1BQU0sRUFBRyxJQUFJO1NBQ2QsQ0FBQTtRQUVELElBQUcsUUFBUSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLEtBQUksTUFBTSxLQUFLLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFzQyxDQUFDLENBQUMsQ0FBQztZQUM1RyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgV2ViU2RrIGZyb20gJ2JpbXBsdXMtd2Vic2RrJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0U3RydWN0dXJlTm9kZXtcclxuICBpZDogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPyA6IE9iamVjdFN0cnVjdHVyZU5vZGVbXTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGFyZW50OiBzdHJpbmc7XHJcbiAgdmlzaWJsZTogYm9vbGVhbjtcclxuICBvcGFxdWU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlcntcclxuICBzdGF0aWMgY3JlYXRlRnJvbVJlc3BvbnNlKHJlc3BvbnNlIDogV2ViU2RrLk9iamVjdFRvcG9sb2d5UmVzcG9uc2UpIDogT2JqZWN0U3RydWN0dXJlTm9kZXtcclxuICAgIGNvbnN0IG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlID0ge1xyXG4gICAgICBpZCA6IHJlc3BvbnNlLmlkLFxyXG4gICAgICBuYW1lIDogcmVzcG9uc2UubmFtZSA/ICBgJHtyZXNwb25zZS50eXBlfSgke3Jlc3BvbnNlLm5hbWV9KWAgOiByZXNwb25zZS50eXBlLFxyXG4gICAgICBwYXJlbnQgOiByZXNwb25zZS5wYXJlbnQsXHJcbiAgICAgIHZpc2libGUgOiB0cnVlLFxyXG4gICAgICBvcGFxdWUgOiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgaWYocmVzcG9uc2UuY2hpbGRyZW4pe1xyXG4gICAgICBub2RlLmNoaWxkcmVuID0gW107XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiByZXNwb25zZS5jaGlsZHJlbil7XHJcbiAgICAgICAgbm9kZS5jaGlsZHJlbi5wdXNoKE9iamVjdFN0cnVjdHVyZU5vZGVCdWlsZGVyLmNyZWF0ZUZyb21SZXNwb25zZShjaGlsZCBhcyBXZWJTZGsuT2JqZWN0VG9wb2xvZ3lSZXNwb25zZSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5vZGU7XHJcbiAgfVxyXG59Il19
|