@pepperi-addons/ngx-composite-lib 0.5.0-ng16.3 → 0.5.0-ng17.1

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.
Files changed (100) hide show
  1. package/esm2022/color-settings/color-settings.component.mjs +5 -5
  2. package/esm2022/color-settings/color-settings.module.mjs +4 -4
  3. package/esm2022/core/common/directives/reset-configuration-field.directive.mjs +5 -5
  4. package/esm2022/core/common/services/dimx.service.mjs +4 -4
  5. package/esm2022/core/common/services/utilities.service.mjs +4 -4
  6. package/esm2022/data-view-builder/data-view-builder.component.mjs +5 -5
  7. package/esm2022/data-view-builder/data-view-builder.module.mjs +5 -5
  8. package/esm2022/data-view-builder/data-view-builder.service.mjs +4 -4
  9. package/esm2022/data-view-builder/menu-data-view/menu-data-view.component.mjs +5 -5
  10. package/esm2022/file-status-panel/file-status-panel.component.mjs +6 -6
  11. package/esm2022/file-status-panel/file-status-panel.module.mjs +5 -5
  12. package/esm2022/flow-picker-button/flow-picker-button.component.mjs +5 -5
  13. package/esm2022/flow-picker-button/flow-picker-button.module.mjs +4 -4
  14. package/esm2022/flow-picker-button/flow-picker-button.service.mjs +4 -4
  15. package/esm2022/generic-fields-builder/field-container/field-container.component.mjs +4 -4
  16. package/esm2022/generic-fields-builder/generic-fields-builder.component.mjs +5 -5
  17. package/esm2022/generic-fields-builder/generic-fields-builder.module.mjs +5 -5
  18. package/esm2022/generic-fields-builder/generic-fields-builder.service.mjs +4 -4
  19. package/esm2022/generic-form/generic-form.component.mjs +5 -5
  20. package/esm2022/generic-form/generic-form.module.mjs +4 -4
  21. package/esm2022/generic-form/generic-form.service.mjs +4 -4
  22. package/esm2022/generic-list/generic-list.component.mjs +5 -5
  23. package/esm2022/generic-list/generic-list.module.mjs +5 -5
  24. package/esm2022/generic-list/generic-list.service.mjs +4 -4
  25. package/esm2022/group-buttons-settings/group-buttons-settings.component.mjs +5 -5
  26. package/esm2022/group-buttons-settings/group-buttons-settings.module.mjs +5 -5
  27. package/esm2022/icon-picker/icon-picker.component.mjs +5 -5
  28. package/esm2022/icon-picker/icon-picker.module.mjs +4 -4
  29. package/esm2022/icon-picker/icon-picker.service.mjs +4 -4
  30. package/esm2022/layout-builder/hide-in/hide-in.component.mjs +5 -5
  31. package/esm2022/layout-builder/hide-in/hide-in.module.mjs +5 -5
  32. package/esm2022/layout-builder/layout/layout.component.mjs +6 -6
  33. package/esm2022/layout-builder/layout/layout.module.mjs +4 -4
  34. package/esm2022/layout-builder/layout-builder-editor/layout-builder-editor.component.mjs +5 -5
  35. package/esm2022/layout-builder/layout-builder-editor/layout-builder-editor.module.mjs +5 -5
  36. package/esm2022/layout-builder/layout-builder-internal.service.mjs +5 -5
  37. package/esm2022/layout-builder/layout-builder.component.mjs +5 -5
  38. package/esm2022/layout-builder/layout-builder.module.mjs +5 -5
  39. package/esm2022/layout-builder/layout-builder.service.mjs +4 -4
  40. package/esm2022/layout-builder/main-editor/main-editor.component.mjs +5 -5
  41. package/esm2022/layout-builder/main-editor/main-editor.module.mjs +5 -5
  42. package/esm2022/layout-builder/section/section.component.mjs +5 -5
  43. package/esm2022/layout-builder/section/section.module.mjs +4 -4
  44. package/esm2022/layout-builder/section-block/section-block.component.mjs +5 -5
  45. package/esm2022/layout-builder/section-block/section-block.module.mjs +4 -4
  46. package/esm2022/layout-builder/section-editor/section-editor.component.mjs +5 -5
  47. package/esm2022/layout-builder/section-editor/section-editor.module.mjs +4 -4
  48. package/esm2022/manage-parameters/manage-parameter/manage-parameter.component.mjs +5 -5
  49. package/esm2022/manage-parameters/manage-parameters.component.mjs +5 -5
  50. package/esm2022/manage-parameters/manage-parameters.module.mjs +4 -4
  51. package/esm2022/manage-parameters/manage-parameters.service.mjs +4 -4
  52. package/esm2022/mapping-parameters/mapping-parameters.component.mjs +5 -5
  53. package/esm2022/mapping-parameters/mapping-parameters.module.mjs +4 -4
  54. package/esm2022/mapping-parameters/mapping-parameters.service.mjs +3 -3
  55. package/esm2022/mapping-parameters/param-map/param-map.component.mjs +5 -5
  56. package/esm2022/ngx-composite-lib.module.mjs +5 -5
  57. package/esm2022/padding-settings/padding-settings.component.mjs +5 -5
  58. package/esm2022/padding-settings/padding-settings.module.mjs +4 -4
  59. package/esm2022/rich-text/rich-text.component.mjs +5 -5
  60. package/esm2022/rich-text/rich-text.module.mjs +5 -5
  61. package/esm2022/rich-text/rich-text.service.mjs +4 -4
  62. package/esm2022/shadow-settings/shadow-settings.component.mjs +5 -5
  63. package/esm2022/shadow-settings/shadow-settings.module.mjs +4 -4
  64. package/esm2022/show-if-badge/show-if-badge.component.mjs +5 -5
  65. package/esm2022/show-if-badge/show-if-badge.module.mjs +5 -5
  66. package/fesm2022/pepperi-addons-ngx-composite-lib-color-settings.mjs +9 -9
  67. package/fesm2022/pepperi-addons-ngx-composite-lib-color-settings.mjs.map +1 -1
  68. package/fesm2022/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +18 -18
  69. package/fesm2022/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
  70. package/fesm2022/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +11 -11
  71. package/fesm2022/pepperi-addons-ngx-composite-lib-file-status-panel.mjs.map +1 -1
  72. package/fesm2022/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +13 -13
  73. package/fesm2022/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs.map +1 -1
  74. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs +18 -18
  75. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs.map +1 -1
  76. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-form.mjs +13 -13
  77. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
  78. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-list.mjs +14 -14
  79. package/fesm2022/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
  80. package/fesm2022/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +10 -10
  81. package/fesm2022/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs.map +1 -1
  82. package/fesm2022/pepperi-addons-ngx-composite-lib-icon-picker.mjs +13 -13
  83. package/fesm2022/pepperi-addons-ngx-composite-lib-icon-picker.mjs.map +1 -1
  84. package/fesm2022/pepperi-addons-ngx-composite-lib-layout-builder.mjs +78 -78
  85. package/fesm2022/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
  86. package/fesm2022/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +18 -18
  87. package/fesm2022/pepperi-addons-ngx-composite-lib-manage-parameters.mjs.map +1 -1
  88. package/fesm2022/pepperi-addons-ngx-composite-lib-mapping-parameters.mjs +16 -16
  89. package/fesm2022/pepperi-addons-ngx-composite-lib-mapping-parameters.mjs.map +1 -1
  90. package/fesm2022/pepperi-addons-ngx-composite-lib-padding-settings.mjs +9 -9
  91. package/fesm2022/pepperi-addons-ngx-composite-lib-padding-settings.mjs.map +1 -1
  92. package/fesm2022/pepperi-addons-ngx-composite-lib-rich-text.mjs +14 -14
  93. package/fesm2022/pepperi-addons-ngx-composite-lib-rich-text.mjs.map +1 -1
  94. package/fesm2022/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +9 -9
  95. package/fesm2022/pepperi-addons-ngx-composite-lib-shadow-settings.mjs.map +1 -1
  96. package/fesm2022/pepperi-addons-ngx-composite-lib-show-if-badge.mjs +10 -10
  97. package/fesm2022/pepperi-addons-ngx-composite-lib-show-if-badge.mjs.map +1 -1
  98. package/fesm2022/pepperi-addons-ngx-composite-lib.mjs +18 -18
  99. package/fesm2022/pepperi-addons-ngx-composite-lib.mjs.map +1 -1
  100. package/package.json +25 -25
@@ -111,13 +111,13 @@ export class MainEditorComponent extends BaseDestroyerDirective {
111
111
  this.onBlockDragEnd.emit(event);
112
112
  // this.layoutBuilderInternalService.onBlockDragEnd(event);
113
113
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainEditorComponent, selector: "main-editor", inputs: { availableBlocksForDrag: "availableBlocksForDrag", sectionsColumnsDropList: "sectionsColumnsDropList", hostObject: "hostObject" }, outputs: { hostObjectChange: "hostObjectChange", addSectionClick: "addSectionClick", onBlockDragStart: "onBlockDragStart", onBlockDragEnd: "onBlockDragEnd" }, viewQueries: [{ propertyName: "_topContentRef", first: true, predicate: ["topContentRef"], descendants: true, static: true }, { propertyName: "availableBlocksContainer", first: true, predicate: ["availableBlocksContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<pep-layout-builder-editor [editorTabs]=\"[\n {key: '1', title: 'LAYOUT_BUILDER.GENERAL', templateRef: firstTabTemplate}, \n {key: '2', title: 'LAYOUT_BUILDER.DESIGN', templateRef: secondTabTemplate}]\">\n</pep-layout-builder-editor>\n\n<ng-template #firstTabTemplate let-tabKey=\"tabKey\">\n <div #topContentRef class=\"layout-builder-editor-group\">\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n <div *ngIf=\"showTopContent\" class=\"editor-separator\"></div>\n </div>\n <div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.SECTIONS_TITLE' | translate}}</label>\n <pep-button class=\"add-section-button\" value=\"{{'LAYOUT_BUILDER.ADD_SECTION' | translate}}\" styleType=\"regular\" iconName=\"number_plus\" iconPosition=\"end\"\n (buttonClick)=\"onAddSectionClick($event)\"></pep-button>\n </div>\n <div class=\"editor-separator\"></div>\n <pep-draggable-items class=\"available-blocks\" [containerId]=\"availableBlocksContainerId\" [items]=\"availableBlocksForDrag\" [title]=\"'LAYOUT_BUILDER.BLOCKS_TITLE' | translate\"\n titleSizeType=\"xl\" titleType=\"with-bottom-border\" [showSearch]=\"true\" [dropAreaIds]=\"sectionsColumnsDropList\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n <!-- <div #bottomContentRef class=\"layout-builder-editor-group\">\n <div *ngIf=\"showBottomContent\" class=\"editor-separator\"></div>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </div> -->\n</ng-template>\n\n<ng-template #secondTabTemplate let-tabKey=\"tabKey\">\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"isFullWidth\" [label]=\"'LAYOUT_BUILDER.FULL_WIDTH_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"isFullWidthChange($event)\"></pep-checkbox>\n <pep-textbox [label]=\"'LAYOUT_BUILDER.MAX_WIDTH_TITLE' | translate\" type=\"int\" [disabled]=\"isFullWidth\" [value]=\"maxWidth.toString()\" (valueChange)=\"onMaxWidthChange($event)\"></pep-textbox>\n </div>\n <div class=\"editor-separator\"></div>\n <!-- Spacing -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.SPACING_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SPACING_HORIZONTAL_TITLE' | translate\"\n [btnKey]=\"horizontalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsHorizntalGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.SPACING_VERTICAL_TITLE' | translate\"\n [btnKey]=\"verticalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsVerticalGap($event)\">\n </pep-group-buttons-settings>\n <div class=\"editor-separator\"></div>\n <!-- Gaps -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.GAPS_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SECTIONS_GAP_TITLE' | translate\"\n [btnKey]=\"sectionsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setSectionGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.COLUMNS_GAP_TITLE' | translate\"\n [btnKey]=\"columnsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsGap($event)\">\n </pep-group-buttons-settings>\n <!-- Rounded Corners -->\n <!--\n <div class=\"editor-separator\"></div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.ROUNDED_CORNERS_TITLE' | translate}}</label><br>\n <label class=\"body-xs ellipsis\">{{'LAYOUT_BUILDER.BORDER_RADIUS_TITLE' | translate}}</label>\n <pep-group-buttons [buttons]=\"sizesGroupButtons\" [selectedButtonKey]=\"roundedCorners\" buttonsClass=\"ms regular\" viewType=\"toggle\"\n (buttonClick)=\"setRoundedCorners($event)\"></pep-group-buttons> -->\n</ng-template>\n", styles: [":host pep-draggable-items ::ng-deep .draggable-items-overflow{padding-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i3.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i4.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i5.GroupButtonsSettingsComponent, selector: "pep-group-buttons-settings", inputs: ["header", "subHeader", "groupType", "btnsArray", "excludeKeys", "useNone", "disabled", "dir", "titleSize", "bold", "btnKey"], outputs: ["btnkeyChange"] }, { kind: "component", type: i6.PepDraggableItemsComponent, selector: "pep-draggable-items", inputs: ["containerId", "showSearch", "title", "titleType", "titleSizeType", "itemPlaceholderType", "dropAreaIds", "items"], outputs: ["itemDragStarted", "itemDragEnded"] }, { kind: "component", type: i7.PepLayoutBuilderEditorComponent, selector: "pep-layout-builder-editor", inputs: ["editorTabs"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MainEditorComponent, selector: "main-editor", inputs: { availableBlocksForDrag: "availableBlocksForDrag", sectionsColumnsDropList: "sectionsColumnsDropList", hostObject: "hostObject" }, outputs: { hostObjectChange: "hostObjectChange", addSectionClick: "addSectionClick", onBlockDragStart: "onBlockDragStart", onBlockDragEnd: "onBlockDragEnd" }, viewQueries: [{ propertyName: "_topContentRef", first: true, predicate: ["topContentRef"], descendants: true, static: true }, { propertyName: "availableBlocksContainer", first: true, predicate: ["availableBlocksContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<pep-layout-builder-editor [editorTabs]=\"[\n {key: '1', title: 'LAYOUT_BUILDER.GENERAL', templateRef: firstTabTemplate}, \n {key: '2', title: 'LAYOUT_BUILDER.DESIGN', templateRef: secondTabTemplate}]\">\n</pep-layout-builder-editor>\n\n<ng-template #firstTabTemplate let-tabKey=\"tabKey\">\n <div #topContentRef class=\"layout-builder-editor-group\">\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n <div *ngIf=\"showTopContent\" class=\"editor-separator\"></div>\n </div>\n <div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.SECTIONS_TITLE' | translate}}</label>\n <pep-button class=\"add-section-button\" value=\"{{'LAYOUT_BUILDER.ADD_SECTION' | translate}}\" styleType=\"regular\" iconName=\"number_plus\" iconPosition=\"end\"\n (buttonClick)=\"onAddSectionClick($event)\"></pep-button>\n </div>\n <div class=\"editor-separator\"></div>\n <pep-draggable-items class=\"available-blocks\" [containerId]=\"availableBlocksContainerId\" [items]=\"availableBlocksForDrag\" [title]=\"'LAYOUT_BUILDER.BLOCKS_TITLE' | translate\"\n titleSizeType=\"xl\" titleType=\"with-bottom-border\" [showSearch]=\"true\" [dropAreaIds]=\"sectionsColumnsDropList\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n <!-- <div #bottomContentRef class=\"layout-builder-editor-group\">\n <div *ngIf=\"showBottomContent\" class=\"editor-separator\"></div>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </div> -->\n</ng-template>\n\n<ng-template #secondTabTemplate let-tabKey=\"tabKey\">\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"isFullWidth\" [label]=\"'LAYOUT_BUILDER.FULL_WIDTH_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"isFullWidthChange($event)\"></pep-checkbox>\n <pep-textbox [label]=\"'LAYOUT_BUILDER.MAX_WIDTH_TITLE' | translate\" type=\"int\" [disabled]=\"isFullWidth\" [value]=\"maxWidth.toString()\" (valueChange)=\"onMaxWidthChange($event)\"></pep-textbox>\n </div>\n <div class=\"editor-separator\"></div>\n <!-- Spacing -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.SPACING_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SPACING_HORIZONTAL_TITLE' | translate\"\n [btnKey]=\"horizontalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsHorizntalGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.SPACING_VERTICAL_TITLE' | translate\"\n [btnKey]=\"verticalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsVerticalGap($event)\">\n </pep-group-buttons-settings>\n <div class=\"editor-separator\"></div>\n <!-- Gaps -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.GAPS_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SECTIONS_GAP_TITLE' | translate\"\n [btnKey]=\"sectionsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setSectionGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.COLUMNS_GAP_TITLE' | translate\"\n [btnKey]=\"columnsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsGap($event)\">\n </pep-group-buttons-settings>\n <!-- Rounded Corners -->\n <!--\n <div class=\"editor-separator\"></div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.ROUNDED_CORNERS_TITLE' | translate}}</label><br>\n <label class=\"body-xs ellipsis\">{{'LAYOUT_BUILDER.BORDER_RADIUS_TITLE' | translate}}</label>\n <pep-group-buttons [buttons]=\"sizesGroupButtons\" [selectedButtonKey]=\"roundedCorners\" buttonsClass=\"ms regular\" viewType=\"toggle\"\n (buttonClick)=\"setRoundedCorners($event)\"></pep-group-buttons> -->\n</ng-template>\n", styles: [":host pep-draggable-items ::ng-deep .draggable-items-overflow{padding-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i3.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i4.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i5.GroupButtonsSettingsComponent, selector: "pep-group-buttons-settings", inputs: ["header", "subHeader", "groupType", "btnsArray", "excludeKeys", "useNone", "disabled", "dir", "titleSize", "bold", "btnKey"], outputs: ["btnkeyChange"] }, { kind: "component", type: i6.PepDraggableItemsComponent, selector: "pep-draggable-items", inputs: ["containerId", "showSearch", "title", "titleType", "titleSizeType", "itemPlaceholderType", "dropAreaIds", "items"], outputs: ["itemDragStarted", "itemDragEnded"] }, { kind: "component", type: i7.PepLayoutBuilderEditorComponent, selector: "pep-layout-builder-editor", inputs: ["editorTabs"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainEditorComponent, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainEditorComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'main-editor', template: "<pep-layout-builder-editor [editorTabs]=\"[\n {key: '1', title: 'LAYOUT_BUILDER.GENERAL', templateRef: firstTabTemplate}, \n {key: '2', title: 'LAYOUT_BUILDER.DESIGN', templateRef: secondTabTemplate}]\">\n</pep-layout-builder-editor>\n\n<ng-template #firstTabTemplate let-tabKey=\"tabKey\">\n <div #topContentRef class=\"layout-builder-editor-group\">\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n <div *ngIf=\"showTopContent\" class=\"editor-separator\"></div>\n </div>\n <div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.SECTIONS_TITLE' | translate}}</label>\n <pep-button class=\"add-section-button\" value=\"{{'LAYOUT_BUILDER.ADD_SECTION' | translate}}\" styleType=\"regular\" iconName=\"number_plus\" iconPosition=\"end\"\n (buttonClick)=\"onAddSectionClick($event)\"></pep-button>\n </div>\n <div class=\"editor-separator\"></div>\n <pep-draggable-items class=\"available-blocks\" [containerId]=\"availableBlocksContainerId\" [items]=\"availableBlocksForDrag\" [title]=\"'LAYOUT_BUILDER.BLOCKS_TITLE' | translate\"\n titleSizeType=\"xl\" titleType=\"with-bottom-border\" [showSearch]=\"true\" [dropAreaIds]=\"sectionsColumnsDropList\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n <!-- <div #bottomContentRef class=\"layout-builder-editor-group\">\n <div *ngIf=\"showBottomContent\" class=\"editor-separator\"></div>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </div> -->\n</ng-template>\n\n<ng-template #secondTabTemplate let-tabKey=\"tabKey\">\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"isFullWidth\" [label]=\"'LAYOUT_BUILDER.FULL_WIDTH_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"isFullWidthChange($event)\"></pep-checkbox>\n <pep-textbox [label]=\"'LAYOUT_BUILDER.MAX_WIDTH_TITLE' | translate\" type=\"int\" [disabled]=\"isFullWidth\" [value]=\"maxWidth.toString()\" (valueChange)=\"onMaxWidthChange($event)\"></pep-textbox>\n </div>\n <div class=\"editor-separator\"></div>\n <!-- Spacing -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.SPACING_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SPACING_HORIZONTAL_TITLE' | translate\"\n [btnKey]=\"horizontalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsHorizntalGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.SPACING_VERTICAL_TITLE' | translate\"\n [btnKey]=\"verticalSpacing.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsVerticalGap($event)\">\n </pep-group-buttons-settings>\n <div class=\"editor-separator\"></div>\n <!-- Gaps -->\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [header]=\"'LAYOUT_BUILDER.GAPS_TITLE' | translate\" [subHeader]=\"'LAYOUT_BUILDER.SECTIONS_GAP_TITLE' | translate\"\n [btnKey]=\"sectionsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setSectionGap($event)\">\n </pep-group-buttons-settings>\n <pep-group-buttons-settings [groupType]=\"'sizes'\" \n [subHeader]=\"'LAYOUT_BUILDER.COLUMNS_GAP_TITLE' | translate\"\n [btnKey]=\"columnsGap.toLowerCase()\" [excludeKeys]=\"['xs','xl','2xl']\" [useNone]=\"true\"\n (btnkeyChange)=\"setColumnsGap($event)\">\n </pep-group-buttons-settings>\n <!-- Rounded Corners -->\n <!--\n <div class=\"editor-separator\"></div>\n <label class=\"editor-title\">{{'LAYOUT_BUILDER.ROUNDED_CORNERS_TITLE' | translate}}</label><br>\n <label class=\"body-xs ellipsis\">{{'LAYOUT_BUILDER.BORDER_RADIUS_TITLE' | translate}}</label>\n <pep-group-buttons [buttons]=\"sizesGroupButtons\" [selectedButtonKey]=\"roundedCorners\" buttonsClass=\"ms regular\" viewType=\"toggle\"\n (buttonClick)=\"setRoundedCorners($event)\"></pep-group-buttons> -->\n</ng-template>\n", styles: [":host pep-draggable-items ::ng-deep .draggable-items-overflow{padding-bottom:0!important}\n"] }]
120
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { _topContentRef: [{
120
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { _topContentRef: [{
121
121
  type: ViewChild,
122
122
  args: ['topContentRef', { static: true }]
123
123
  }], availableBlocksContainer: [{
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
138
138
  }], onBlockDragEnd: [{
139
139
  type: Output
140
140
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsT0FBTyxFQUFvQixVQUFVLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBVSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHakUsT0FBTyxFQUFpQiw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBUWpHLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxzQkFBc0I7SUFVM0QsSUFDSSxVQUFVLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMs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QUNsQyw2REFBNkQ7SUFDakUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQywyREFBMkQ7SUFDL0QsQ0FBQzsrR0FwSVEsbUJBQW1CO21HQUFuQixtQkFBbUIsK2pCQUltQixVQUFVLG9EQ25CN0QsZzRJQThEQTs7NEZEL0NhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxhQUFhO3lIQUt1QixjQUFjO3NCQUEzRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR2lCLHdCQUF3QjtzQkFBcEYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRWxELHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBSUYsVUFBVTtzQkFEYixLQUFLO2dCQWdCSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka0RyYWdFbmQsIENka0RyYWdTdGFydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uSW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBJUGVwRHJhZ2dhYmxlSXRlbSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5pbXBvcnQgeyBQZXBMYXlvdXRTaXplVHlwZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLm1vZGVsJztcbmltcG9ydCB7IElMYXlvdXRFZGl0b3IsIExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci1pbnRlcm5hbC5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21haW4tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1haW5FZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAVmlld0NoaWxkKCd0b3BDb250ZW50UmVmJywgeyBzdGF0aWM6IHRydWUgfSkgX3RvcENvbnRlbnRSZWYhOiBFbGVtZW50UmVmO1xuICAgIC8vIEBWaWV3Q2hpbGQoJ2JvdHRvbUNvbnRlbnRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBfYm90dG9tQ29udGVudFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgXG4gICAgQFZpZXdDaGlsZCgnYXZhaWxhYmxlQmxvY2tzQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGF2YWlsYWJsZUJsb2Nrc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG4gICAgICAgIFxuICAgIEBJbnB1dCgpIGF2YWlsYWJsZUJsb2Nrc0ZvckRyYWc6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPiA9IFtdO1xuICAgIEBJbnB1dCgpIHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0ID0gW107XG5cbiAgICBwcml2YXRlIF9ob3N0T2JqZWN0ITogSUxheW91dEVkaXRvcjtcbiAgICBASW5wdXQoKVxuICAgIHNldCBob3N0T2JqZWN0KHZhbHVlOiBJTGF5b3V0RWRpdG9yKSB7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gIXZhbHVlLm1heFdpZHRoIHx8IHZhbHVlLm1heFdpZHRoID09PSAwO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gdmFsdWUubWF4V2lkdGg7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSB0aGlzLl9ob3N0T2JqZWN0Lmhvcml6b250YWxTcGFjaW5nIHx8ICdtZCc7XG4gICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0gdGhpcy5faG9zdE9iamVjdC52ZXJ0aWNhbFNwYWNpbmcgfHwgJ21kJztcbiAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IHRoaXMuX2hvc3RPYmplY3Quc2VjdGlvbnNHYXAgfHwgJ21kJztcbiAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0gdGhpcy5faG9zdE9iamVjdC5jb2x1bW5zR2FwIHx8ICdtZCc7XG4gICAgICAgIHRoaXMucm91bmRlZENvcm5lcnMgPSB0aGlzLl9ob3N0T2JqZWN0LnJvdW5kZWRDb3JuZXJzIHx8ICdub25lJztcbiAgICB9XG4gICAgZ2V0IGhvc3RPYmplY3QoKTogSUxheW91dEVkaXRvciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3N0T2JqZWN0O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBob3N0T2JqZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SUxheW91dEVkaXRvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPElMYXlvdXRFZGl0b3I+KCk7XG4gICAgQE91dHB1dCgpIGFkZFNlY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBvbkJsb2NrRHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8Q2RrRHJhZ1N0YXJ0PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2RrRHJhZ1N0YXJ0PigpO1xuICAgIEBPdXRwdXQoKSBvbkJsb2NrRHJhZ0VuZDogRXZlbnRFbWl0dGVyPENka0RyYWdFbmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDZGtEcmFnRW5kPigpO1xuICAgIFxuICAgIHByb3RlY3RlZCBpc0Z1bGxXaWR0aCE6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIG1heFdpZHRoITogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBob3Jpem9udGFsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbWQnO1xuICAgIHByb3RlY3RlZCB2ZXJ0aWNhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlID0gJ21kJztcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNHYXA6IFBlcExheW91dFNpemVUeXBlID0gJ21kJztcbiAgICBwcm90ZWN0ZWQgY29sdW1uc0dhcDogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbWQnO1xuICAgIHByb3RlY3RlZCByb3VuZGVkQ29ybmVyczogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbm9uZSc7XG5cbiAgICAvLyBwcm90ZWN0ZWQgc2l6ZXNHcm91cEJ1dHRvbnMgPSBBcnJheTxJU3BhY2luZ09wdGlvbj4oKTtcbiAgICBcbiAgICBwcm90ZWN0ZWQgYXZhaWxhYmxlQmxvY2tzQ29udGFpbmVySWQgPSBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLkFWQUlMQUJMRV9CTE9DS1NfQ09OVEFJTkVSX0lEO1xuICAgIFxuICAgIHByb3RlY3RlZCBzaG93VG9wQ29udGVudCA9IGZhbHNlO1xuICAgIC8vIHByb3RlY3RlZCBzaG93Qm90dG9tQ29udGVudCA9IGZhbHNlO1xuXG4gICAgLy8gb25Mb2FkRmxvd0hvc3RPYmplY3Q7XG4gICAgLy8gb25DaGFuZ2VGbG93SG9zdE9iamVjdDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1sYXlvdXQtbWFpbi1lZGl0b3InKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhvc3RPYmplY3QoKSB7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QubWF4V2lkdGggPSB0aGlzLmlzRnVsbFdpZHRoID8gMCA6IHRoaXMubWF4V2lkdGg7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QuaG9yaXpvbnRhbFNwYWNpbmcgPSB0aGlzLmhvcml6b250YWxTcGFjaW5nO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnZlcnRpY2FsU3BhY2luZyA9IHRoaXMudmVydGljYWxTcGFjaW5nO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnNlY3Rpb25zR2FwID0gdGhpcy5zZWN0aW9uc0dhcDtcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdC5jb2x1bW5zR2FwID0gdGhpcy5jb2x1bW5zR2FwO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnJvdW5kZWRDb3JuZXJzID0gdGhpcy5yb3VuZGVkQ29ybmVycyA9PT0gJ25vbmUnID8gdW5kZWZpbmVkIDogdGhpcy5yb3VuZGVkQ29ybmVycztcblxuICAgICAgICB0aGlzLmhvc3RPYmplY3RDaGFuZ2UuZW1pdCh0aGlzLmhvc3RPYmplY3QpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnN1YnNjcmliZSgoc2VjdGlvbnNDb2x1bW5zRHJvcExpc3Q6IGFueSkgPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90b3BDb250ZW50UmVmPy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvcENvbnRlbnQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgKHRoaXMuX2JvdHRvbUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNob3dCb3R0b21Db250ZW50ID0gdHJ1ZTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIG9uQWRkU2VjdGlvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5hZGRTZWN0aW9uQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIGlzRnVsbFdpZHRoQ2hhbmdlKGlzQ2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gaXNDaGVja2VkO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gaXNDaGVja2VkID8gMCA6IDk2MDtcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuXG4gICAgb25NYXhXaWR0aENoYW5nZShtYXhXaWR0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubWF4V2lkdGggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eShtYXhXaWR0aCwgdGhpcy5tYXhXaWR0aCk7XG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cbiAgICBcbiAgICBzZXRDb2x1bW5zSG9yaXpudGFsR2FwKGtleTogc3RyaW5nICl7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSBrZXkgYXMgUGVwTGF5b3V0U2l6ZVR5cGU7IFxuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RPYmplY3QoKTtcbiAgICB9XG4gICAgXG4gICAgc2V0Q29sdW1uc1ZlcnRpY2FsR2FwKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0ga2V5IGFzIFBlcExheW91dFNpemVUeXBlOyBcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuICAgIFxuICAgIHNldFNlY3Rpb25HYXAoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IGtleSBhcyBQZXBMYXlvdXRTaXplVHlwZTsgXG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIHNldENvbHVtbnNHYXAoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0ga2V5IGFzIFBlcExheW91dFNpemVUeXBlOyBcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuXG4gICAgc2V0Um91bmRlZENvcm5lcnMoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQ29ybmVycyA9IGtleSBhcyBQZXBMYXlvdXRTaXplVHlwZTsgXG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5vbkJsb2NrRHJhZ1N0YXJ0LmVtaXQoZXZlbnQpO1xuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25CbG9ja0RyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMub25CbG9ja0RyYWdFbmQuZW1pdChldmVudCk7XG4gICAgICAgIC8vIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vbkJsb2NrRHJhZ0VuZChldmVudCk7XG4gICAgfVxufVxuIiwiPHBlcC1sYXlvdXQtYnVpbGRlci1lZGl0b3IgW2VkaXRvclRhYnNdPVwiW1xuICAgIHtrZXk6ICcxJywgdGl0bGU6ICdMQVlPVVRfQlVJTERFUi5HRU5FUkFMJywgdGVtcGxhdGVSZWY6IGZpcnN0VGFiVGVtcGxhdGV9LCBcbiAgICB7a2V5OiAnMicsIHRpdGxlOiAnTEFZT1VUX0JVSUxERVIuREVTSUdOJywgdGVtcGxhdGVSZWY6IHNlY29uZFRhYlRlbXBsYXRlfV1cIj5cbjwvcGVwLWxheW91dC1idWlsZGVyLWVkaXRvcj5cblxuPG5nLXRlbXBsYXRlICNmaXJzdFRhYlRlbXBsYXRlIGxldC10YWJLZXk9XCJ0YWJLZXlcIj5cbiAgICA8ZGl2ICN0b3BDb250ZW50UmVmIGNsYXNzPVwibGF5b3V0LWJ1aWxkZXItZWRpdG9yLWdyb3VwXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYXlvdXQtZWRpdG9yLXRvcC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dUb3BDb250ZW50XCIgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZWRpdG9yLXRpdGxlXCI+e3snTEFZT1VUX0JVSUxERVIuU0VDVElPTlNfVElUTEUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICA8cGVwLWJ1dHRvbiBjbGFzcz1cImFkZC1zZWN0aW9uLWJ1dHRvblwiIHZhbHVlPVwie3snTEFZT1VUX0JVSUxERVIuQUREX1NFQ1RJT04nIHwgdHJhbnNsYXRlfX1cIiBzdHlsZVR5cGU9XCJyZWd1bGFyXCIgaWNvbk5hbWU9XCJudW1iZXJfcGx1c1wiIGljb25Qb3NpdGlvbj1cImVuZFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25BZGRTZWN0aW9uQ2xpY2soJGV2ZW50KVwiPjwvcGVwLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxwZXAtZHJhZ2dhYmxlLWl0ZW1zIGNsYXNzPVwiYXZhaWxhYmxlLWJsb2Nrc1wiIFtjb250YWluZXJJZF09XCJhdmFpbGFibGVCbG9ja3NDb250YWluZXJJZFwiIFtpdGVtc109XCJhdmFpbGFibGVCbG9ja3NGb3JEcmFnXCIgW3RpdGxlXT1cIidMQVlPVVRfQlVJTERFUi5CTE9DS1NfVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgdGl0bGVTaXplVHlwZT1cInhsXCIgdGl0bGVUeXBlPVwid2l0aC1ib3R0b20tYm9yZGVyXCIgW3Nob3dTZWFyY2hdPVwidHJ1ZVwiIFtkcm9wQXJlYUlkc109XCJzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdFwiIChpdGVtRHJhZ1N0YXJ0ZWQpPVwib25EcmFnU3RhcnQoJGV2ZW50KVwiIChpdGVtRHJhZ0VuZGVkKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZHJhZ2dhYmxlLWl0ZW1zPlxuICAgIDwhLS0gPGRpdiAjYm90dG9tQ29udGVudFJlZiBjbGFzcz1cImxheW91dC1idWlsZGVyLWVkaXRvci1ncm91cFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0JvdHRvbUNvbnRlbnRcIiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xheW91dC1lZGl0b3ItYm90dG9tLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PiAtLT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2Vjb25kVGFiVGVtcGxhdGUgbGV0LXRhYktleT1cInRhYktleVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxwZXAtY2hlY2tib3ggY2xhc3M9XCJjaGVja2JveC1hcy10aXRsZVwiIFt2YWx1ZV09XCJpc0Z1bGxXaWR0aFwiIFtsYWJlbF09XCInTEFZT1VUX0JVSUxERVIuRlVMTF9XSURUSF9USVRMRScgfCB0cmFuc2xhdGVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwiaXNGdWxsV2lkdGhDaGFuZ2UoJGV2ZW50KVwiPjwvcGVwLWNoZWNrYm94PlxuICAgICAgICA8cGVwLXRleHRib3ggW2xhYmVsXT1cIidMQVlPVVRfQlVJTERFUi5NQVhfV0lEVEhfVElUTEUnIHwgdHJhbnNsYXRlXCIgdHlwZT1cImludFwiIFtkaXNhYmxlZF09XCJpc0Z1bGxXaWR0aFwiIFt2YWx1ZV09XCJtYXhXaWR0aC50b1N0cmluZygpXCIgKHZhbHVlQ2hhbmdlKT1cIm9uTWF4V2lkdGhDaGFuZ2UoJGV2ZW50KVwiPjwvcGVwLXRleHRib3g+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8IS0tIFNwYWNpbmcgLS0+XG4gICAgPHBlcC1ncm91cC1idXR0b25zLXNldHRpbmdzIFtncm91cFR5cGVdPVwiJ3NpemVzJ1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyXT1cIidMQVlPVVRfQlVJTERFUi5TUEFDSU5HX1RJVExFJyB8IHRyYW5zbGF0ZVwiIFtzdWJIZWFkZXJdPVwiJ0xBWU9VVF9CVUlMREVSLlNQQUNJTkdfSE9SSVpPTlRBTF9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnRuS2V5XT1cImhvcml6b250YWxTcGFjaW5nLnRvTG93ZXJDYXNlKClcIiBbZXhjbHVkZUtleXNdPVwiWyd4cycsJ3hsJywnMnhsJ11cIiBbdXNlTm9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ0bmtleUNoYW5nZSk9XCJzZXRDb2x1bW5zSG9yaXpudGFsR2FwKCRldmVudClcIj5cbiAgICA8L3BlcC1ncm91cC1idXR0b25zLXNldHRpbmdzPlxuICAgIDxwZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncyBbZ3JvdXBUeXBlXT1cIidzaXplcydcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N1YkhlYWRlcl09XCInTEFZT1VUX0JVSUxERVIuU1BBQ0lOR19WRVJUSUNBTF9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnRuS2V5XT1cInZlcnRpY2FsU3BhY2luZy50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0Q29sdW1uc1ZlcnRpY2FsR2FwKCRldmVudClcIj5cbiAgICA8L3BlcC1ncm91cC1idXR0b25zLXNldHRpbmdzPlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPCEtLSBHYXBzIC0tPlxuICAgIDxwZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncyBbZ3JvdXBUeXBlXT1cIidzaXplcydcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlcl09XCInTEFZT1VUX0JVSUxERVIuR0FQU19USVRMRScgfCB0cmFuc2xhdGVcIiBbc3ViSGVhZGVyXT1cIidMQVlPVVRfQlVJTERFUi5TRUNUSU9OU19HQVBfVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J0bktleV09XCJzZWN0aW9uc0dhcC50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0U2VjdGlvbkdhcCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncz5cbiAgICA8cGVwLWdyb3VwLWJ1dHRvbnMtc2V0dGluZ3MgW2dyb3VwVHlwZV09XCInc2l6ZXMnXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJIZWFkZXJdPVwiJ0xBWU9VVF9CVUlMREVSLkNPTFVNTlNfR0FQX1RJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidG5LZXldPVwiY29sdW1uc0dhcC50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0Q29sdW1uc0dhcCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncz5cbiAgICA8IS0tIFJvdW5kZWQgQ29ybmVycyAtLT5cbiAgICA8IS0tXG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8bGFiZWwgY2xhc3M9XCJlZGl0b3ItdGl0bGVcIj57eydMQVlPVVRfQlVJTERFUi5ST1VOREVEX0NPUk5FUlNfVElUTEUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxicj5cbiAgICA8bGFiZWwgY2xhc3M9XCJib2R5LXhzIGVsbGlwc2lzXCI+e3snTEFZT1VUX0JVSUxERVIuQk9SREVSX1JBRElVU19USVRMRScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPHBlcC1ncm91cC1idXR0b25zIFtidXR0b25zXT1cInNpemVzR3JvdXBCdXR0b25zXCIgW3NlbGVjdGVkQnV0dG9uS2V5XT1cInJvdW5kZWRDb3JuZXJzXCIgYnV0dG9uc0NsYXNzPVwibXMgcmVndWxhclwiIHZpZXdUeXBlPVwidG9nZ2xlXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInNldFJvdW5kZWRDb3JuZXJzKCRldmVudClcIj48L3BlcC1ncm91cC1idXR0b25zPiAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsT0FBTyxFQUFvQixVQUFVLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBVSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHakUsT0FBTyxFQUFpQiw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBUWpHLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxzQkFBc0I7SUFVM0QsSUFDSSxVQUFVLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMs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QUNsQyw2REFBNkQ7SUFDakUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQywyREFBMkQ7SUFDL0QsQ0FBQzsrR0FwSVEsbUJBQW1CO21HQUFuQixtQkFBbUIsK2pCQUltQixVQUFVLG9EQ25CN0QsZzRJQThEQTs7NEZEL0NhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxhQUFhO3VHQUt1QixjQUFjO3NCQUEzRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR2lCLHdCQUF3QjtzQkFBcEYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRWxELHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBSUYsVUFBVTtzQkFEYixLQUFLO2dCQWdCSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka0RyYWdFbmQsIENka0RyYWdTdGFydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uSW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBJUGVwRHJhZ2dhYmxlSXRlbSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5pbXBvcnQgeyBQZXBMYXlvdXRTaXplVHlwZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLm1vZGVsJztcbmltcG9ydCB7IElMYXlvdXRFZGl0b3IsIExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci1pbnRlcm5hbC5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21haW4tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1haW5FZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAVmlld0NoaWxkKCd0b3BDb250ZW50UmVmJywgeyBzdGF0aWM6IHRydWUgfSkgX3RvcENvbnRlbnRSZWYhOiBFbGVtZW50UmVmO1xuICAgIC8vIEBWaWV3Q2hpbGQoJ2JvdHRvbUNvbnRlbnRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBfYm90dG9tQ29udGVudFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgXG4gICAgQFZpZXdDaGlsZCgnYXZhaWxhYmxlQmxvY2tzQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGF2YWlsYWJsZUJsb2Nrc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG4gICAgICAgIFxuICAgIEBJbnB1dCgpIGF2YWlsYWJsZUJsb2Nrc0ZvckRyYWc6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPiA9IFtdO1xuICAgIEBJbnB1dCgpIHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0ID0gW107XG5cbiAgICBwcml2YXRlIF9ob3N0T2JqZWN0ITogSUxheW91dEVkaXRvcjtcbiAgICBASW5wdXQoKVxuICAgIHNldCBob3N0T2JqZWN0KHZhbHVlOiBJTGF5b3V0RWRpdG9yKSB7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gIXZhbHVlLm1heFdpZHRoIHx8IHZhbHVlLm1heFdpZHRoID09PSAwO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gdmFsdWUubWF4V2lkdGg7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSB0aGlzLl9ob3N0T2JqZWN0Lmhvcml6b250YWxTcGFjaW5nIHx8ICdtZCc7XG4gICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0gdGhpcy5faG9zdE9iamVjdC52ZXJ0aWNhbFNwYWNpbmcgfHwgJ21kJztcbiAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IHRoaXMuX2hvc3RPYmplY3Quc2VjdGlvbnNHYXAgfHwgJ21kJztcbiAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0gdGhpcy5faG9zdE9iamVjdC5jb2x1bW5zR2FwIHx8ICdtZCc7XG4gICAgICAgIHRoaXMucm91bmRlZENvcm5lcnMgPSB0aGlzLl9ob3N0T2JqZWN0LnJvdW5kZWRDb3JuZXJzIHx8ICdub25lJztcbiAgICB9XG4gICAgZ2V0IGhvc3RPYmplY3QoKTogSUxheW91dEVkaXRvciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3N0T2JqZWN0O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBob3N0T2JqZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SUxheW91dEVkaXRvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPElMYXlvdXRFZGl0b3I+KCk7XG4gICAgQE91dHB1dCgpIGFkZFNlY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBvbkJsb2NrRHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8Q2RrRHJhZ1N0YXJ0PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2RrRHJhZ1N0YXJ0PigpO1xuICAgIEBPdXRwdXQoKSBvbkJsb2NrRHJhZ0VuZDogRXZlbnRFbWl0dGVyPENka0RyYWdFbmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDZGtEcmFnRW5kPigpO1xuICAgIFxuICAgIHByb3RlY3RlZCBpc0Z1bGxXaWR0aCE6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIG1heFdpZHRoITogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBob3Jpem9udGFsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbWQnO1xuICAgIHByb3RlY3RlZCB2ZXJ0aWNhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlID0gJ21kJztcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNHYXA6IFBlcExheW91dFNpemVUeXBlID0gJ21kJztcbiAgICBwcm90ZWN0ZWQgY29sdW1uc0dhcDogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbWQnO1xuICAgIHByb3RlY3RlZCByb3VuZGVkQ29ybmVyczogUGVwTGF5b3V0U2l6ZVR5cGUgPSAnbm9uZSc7XG5cbiAgICAvLyBwcm90ZWN0ZWQgc2l6ZXNHcm91cEJ1dHRvbnMgPSBBcnJheTxJU3BhY2luZ09wdGlvbj4oKTtcbiAgICBcbiAgICBwcm90ZWN0ZWQgYXZhaWxhYmxlQmxvY2tzQ29udGFpbmVySWQgPSBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLkFWQUlMQUJMRV9CTE9DS1NfQ09OVEFJTkVSX0lEO1xuICAgIFxuICAgIHByb3RlY3RlZCBzaG93VG9wQ29udGVudCA9IGZhbHNlO1xuICAgIC8vIHByb3RlY3RlZCBzaG93Qm90dG9tQ29udGVudCA9IGZhbHNlO1xuXG4gICAgLy8gb25Mb2FkRmxvd0hvc3RPYmplY3Q7XG4gICAgLy8gb25DaGFuZ2VGbG93SG9zdE9iamVjdDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1sYXlvdXQtbWFpbi1lZGl0b3InKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhvc3RPYmplY3QoKSB7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QubWF4V2lkdGggPSB0aGlzLmlzRnVsbFdpZHRoID8gMCA6IHRoaXMubWF4V2lkdGg7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QuaG9yaXpvbnRhbFNwYWNpbmcgPSB0aGlzLmhvcml6b250YWxTcGFjaW5nO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnZlcnRpY2FsU3BhY2luZyA9IHRoaXMudmVydGljYWxTcGFjaW5nO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnNlY3Rpb25zR2FwID0gdGhpcy5zZWN0aW9uc0dhcDtcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdC5jb2x1bW5zR2FwID0gdGhpcy5jb2x1bW5zR2FwO1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LnJvdW5kZWRDb3JuZXJzID0gdGhpcy5yb3VuZGVkQ29ybmVycyA9PT0gJ25vbmUnID8gdW5kZWZpbmVkIDogdGhpcy5yb3VuZGVkQ29ybmVycztcblxuICAgICAgICB0aGlzLmhvc3RPYmplY3RDaGFuZ2UuZW1pdCh0aGlzLmhvc3RPYmplY3QpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnN1YnNjcmliZSgoc2VjdGlvbnNDb2x1bW5zRHJvcExpc3Q6IGFueSkgPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90b3BDb250ZW50UmVmPy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvcENvbnRlbnQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgKHRoaXMuX2JvdHRvbUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNob3dCb3R0b21Db250ZW50ID0gdHJ1ZTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIG9uQWRkU2VjdGlvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5hZGRTZWN0aW9uQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIGlzRnVsbFdpZHRoQ2hhbmdlKGlzQ2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gaXNDaGVja2VkO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gaXNDaGVja2VkID8gMCA6IDk2MDtcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuXG4gICAgb25NYXhXaWR0aENoYW5nZShtYXhXaWR0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubWF4V2lkdGggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eShtYXhXaWR0aCwgdGhpcy5tYXhXaWR0aCk7XG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cbiAgICBcbiAgICBzZXRDb2x1bW5zSG9yaXpudGFsR2FwKGtleTogc3RyaW5nICl7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSBrZXkgYXMgUGVwTGF5b3V0U2l6ZVR5cGU7IFxuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RPYmplY3QoKTtcbiAgICB9XG4gICAgXG4gICAgc2V0Q29sdW1uc1ZlcnRpY2FsR2FwKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0ga2V5IGFzIFBlcExheW91dFNpemVUeXBlOyBcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuICAgIFxuICAgIHNldFNlY3Rpb25HYXAoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IGtleSBhcyBQZXBMYXlvdXRTaXplVHlwZTsgXG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIHNldENvbHVtbnNHYXAoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0ga2V5IGFzIFBlcExheW91dFNpemVUeXBlOyBcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuXG4gICAgc2V0Um91bmRlZENvcm5lcnMoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQ29ybmVycyA9IGtleSBhcyBQZXBMYXlvdXRTaXplVHlwZTsgXG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5vbkJsb2NrRHJhZ1N0YXJ0LmVtaXQoZXZlbnQpO1xuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25CbG9ja0RyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMub25CbG9ja0RyYWdFbmQuZW1pdChldmVudCk7XG4gICAgICAgIC8vIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vbkJsb2NrRHJhZ0VuZChldmVudCk7XG4gICAgfVxufVxuIiwiPHBlcC1sYXlvdXQtYnVpbGRlci1lZGl0b3IgW2VkaXRvclRhYnNdPVwiW1xuICAgIHtrZXk6ICcxJywgdGl0bGU6ICdMQVlPVVRfQlVJTERFUi5HRU5FUkFMJywgdGVtcGxhdGVSZWY6IGZpcnN0VGFiVGVtcGxhdGV9LCBcbiAgICB7a2V5OiAnMicsIHRpdGxlOiAnTEFZT1VUX0JVSUxERVIuREVTSUdOJywgdGVtcGxhdGVSZWY6IHNlY29uZFRhYlRlbXBsYXRlfV1cIj5cbjwvcGVwLWxheW91dC1idWlsZGVyLWVkaXRvcj5cblxuPG5nLXRlbXBsYXRlICNmaXJzdFRhYlRlbXBsYXRlIGxldC10YWJLZXk9XCJ0YWJLZXlcIj5cbiAgICA8ZGl2ICN0b3BDb250ZW50UmVmIGNsYXNzPVwibGF5b3V0LWJ1aWxkZXItZWRpdG9yLWdyb3VwXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYXlvdXQtZWRpdG9yLXRvcC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dUb3BDb250ZW50XCIgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZWRpdG9yLXRpdGxlXCI+e3snTEFZT1VUX0JVSUxERVIuU0VDVElPTlNfVElUTEUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICA8cGVwLWJ1dHRvbiBjbGFzcz1cImFkZC1zZWN0aW9uLWJ1dHRvblwiIHZhbHVlPVwie3snTEFZT1VUX0JVSUxERVIuQUREX1NFQ1RJT04nIHwgdHJhbnNsYXRlfX1cIiBzdHlsZVR5cGU9XCJyZWd1bGFyXCIgaWNvbk5hbWU9XCJudW1iZXJfcGx1c1wiIGljb25Qb3NpdGlvbj1cImVuZFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25BZGRTZWN0aW9uQ2xpY2soJGV2ZW50KVwiPjwvcGVwLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxwZXAtZHJhZ2dhYmxlLWl0ZW1zIGNsYXNzPVwiYXZhaWxhYmxlLWJsb2Nrc1wiIFtjb250YWluZXJJZF09XCJhdmFpbGFibGVCbG9ja3NDb250YWluZXJJZFwiIFtpdGVtc109XCJhdmFpbGFibGVCbG9ja3NGb3JEcmFnXCIgW3RpdGxlXT1cIidMQVlPVVRfQlVJTERFUi5CTE9DS1NfVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgdGl0bGVTaXplVHlwZT1cInhsXCIgdGl0bGVUeXBlPVwid2l0aC1ib3R0b20tYm9yZGVyXCIgW3Nob3dTZWFyY2hdPVwidHJ1ZVwiIFtkcm9wQXJlYUlkc109XCJzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdFwiIChpdGVtRHJhZ1N0YXJ0ZWQpPVwib25EcmFnU3RhcnQoJGV2ZW50KVwiIChpdGVtRHJhZ0VuZGVkKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZHJhZ2dhYmxlLWl0ZW1zPlxuICAgIDwhLS0gPGRpdiAjYm90dG9tQ29udGVudFJlZiBjbGFzcz1cImxheW91dC1idWlsZGVyLWVkaXRvci1ncm91cFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0JvdHRvbUNvbnRlbnRcIiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xheW91dC1lZGl0b3ItYm90dG9tLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PiAtLT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2Vjb25kVGFiVGVtcGxhdGUgbGV0LXRhYktleT1cInRhYktleVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxwZXAtY2hlY2tib3ggY2xhc3M9XCJjaGVja2JveC1hcy10aXRsZVwiIFt2YWx1ZV09XCJpc0Z1bGxXaWR0aFwiIFtsYWJlbF09XCInTEFZT1VUX0JVSUxERVIuRlVMTF9XSURUSF9USVRMRScgfCB0cmFuc2xhdGVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwiaXNGdWxsV2lkdGhDaGFuZ2UoJGV2ZW50KVwiPjwvcGVwLWNoZWNrYm94PlxuICAgICAgICA8cGVwLXRleHRib3ggW2xhYmVsXT1cIidMQVlPVVRfQlVJTERFUi5NQVhfV0lEVEhfVElUTEUnIHwgdHJhbnNsYXRlXCIgdHlwZT1cImludFwiIFtkaXNhYmxlZF09XCJpc0Z1bGxXaWR0aFwiIFt2YWx1ZV09XCJtYXhXaWR0aC50b1N0cmluZygpXCIgKHZhbHVlQ2hhbmdlKT1cIm9uTWF4V2lkdGhDaGFuZ2UoJGV2ZW50KVwiPjwvcGVwLXRleHRib3g+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8IS0tIFNwYWNpbmcgLS0+XG4gICAgPHBlcC1ncm91cC1idXR0b25zLXNldHRpbmdzIFtncm91cFR5cGVdPVwiJ3NpemVzJ1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyXT1cIidMQVlPVVRfQlVJTERFUi5TUEFDSU5HX1RJVExFJyB8IHRyYW5zbGF0ZVwiIFtzdWJIZWFkZXJdPVwiJ0xBWU9VVF9CVUlMREVSLlNQQUNJTkdfSE9SSVpPTlRBTF9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnRuS2V5XT1cImhvcml6b250YWxTcGFjaW5nLnRvTG93ZXJDYXNlKClcIiBbZXhjbHVkZUtleXNdPVwiWyd4cycsJ3hsJywnMnhsJ11cIiBbdXNlTm9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ0bmtleUNoYW5nZSk9XCJzZXRDb2x1bW5zSG9yaXpudGFsR2FwKCRldmVudClcIj5cbiAgICA8L3BlcC1ncm91cC1idXR0b25zLXNldHRpbmdzPlxuICAgIDxwZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncyBbZ3JvdXBUeXBlXT1cIidzaXplcydcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N1YkhlYWRlcl09XCInTEFZT1VUX0JVSUxERVIuU1BBQ0lOR19WRVJUSUNBTF9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnRuS2V5XT1cInZlcnRpY2FsU3BhY2luZy50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0Q29sdW1uc1ZlcnRpY2FsR2FwKCRldmVudClcIj5cbiAgICA8L3BlcC1ncm91cC1idXR0b25zLXNldHRpbmdzPlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPCEtLSBHYXBzIC0tPlxuICAgIDxwZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncyBbZ3JvdXBUeXBlXT1cIidzaXplcydcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlcl09XCInTEFZT1VUX0JVSUxERVIuR0FQU19USVRMRScgfCB0cmFuc2xhdGVcIiBbc3ViSGVhZGVyXT1cIidMQVlPVVRfQlVJTERFUi5TRUNUSU9OU19HQVBfVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J0bktleV09XCJzZWN0aW9uc0dhcC50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0U2VjdGlvbkdhcCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncz5cbiAgICA8cGVwLWdyb3VwLWJ1dHRvbnMtc2V0dGluZ3MgW2dyb3VwVHlwZV09XCInc2l6ZXMnXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJIZWFkZXJdPVwiJ0xBWU9VVF9CVUlMREVSLkNPTFVNTlNfR0FQX1RJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidG5LZXldPVwiY29sdW1uc0dhcC50b0xvd2VyQ2FzZSgpXCIgW2V4Y2x1ZGVLZXlzXT1cIlsneHMnLCd4bCcsJzJ4bCddXCIgW3VzZU5vbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG5rZXlDaGFuZ2UpPVwic2V0Q29sdW1uc0dhcCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncz5cbiAgICA8IS0tIFJvdW5kZWQgQ29ybmVycyAtLT5cbiAgICA8IS0tXG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8bGFiZWwgY2xhc3M9XCJlZGl0b3ItdGl0bGVcIj57eydMQVlPVVRfQlVJTERFUi5ST1VOREVEX0NPUk5FUlNfVElUTEUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxicj5cbiAgICA8bGFiZWwgY2xhc3M9XCJib2R5LXhzIGVsbGlwc2lzXCI+e3snTEFZT1VUX0JVSUxERVIuQk9SREVSX1JBRElVU19USVRMRScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPHBlcC1ncm91cC1idXR0b25zIFtidXR0b25zXT1cInNpemVzR3JvdXBCdXR0b25zXCIgW3NlbGVjdGVkQnV0dG9uS2V5XT1cInJvdW5kZWRDb3JuZXJzXCIgYnV0dG9uc0NsYXNzPVwibXMgcmVndWxhclwiIHZpZXdUeXBlPVwidG9nZ2xlXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInNldFJvdW5kZWRDb3JuZXJzKCRldmVudClcIj48L3BlcC1ncm91cC1idXR0b25zPiAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -27,8 +27,8 @@ export class MainEditorModule {
27
27
  constructor() {
28
28
  // this.pepIconRegistry.registerIcons(pepIcons);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MainEditorModule, declarations: [MainEditorComponent], imports: [CommonModule,
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MainEditorModule, declarations: [MainEditorComponent], imports: [CommonModule,
32
32
  HttpClientModule,
33
33
  DragDropModule,
34
34
  OverlayModule,
@@ -46,7 +46,7 @@ export class MainEditorModule {
46
46
  PepDraggableItemsModule,
47
47
  PepDialogModule,
48
48
  PepLayoutBuilderEditorModule, i1.TranslateModule], exports: [MainEditorComponent] }); }
49
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainEditorModule, imports: [CommonModule,
49
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainEditorModule, imports: [CommonModule,
50
50
  HttpClientModule,
51
51
  DragDropModule,
52
52
  OverlayModule,
@@ -66,7 +66,7 @@ export class MainEditorModule {
66
66
  PepLayoutBuilderEditorModule,
67
67
  TranslateModule.forChild()] }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainEditorModule, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainEditorModule, decorators: [{
70
70
  type: NgModule,
71
71
  args: [{
72
72
  declarations: [
@@ -95,5 +95,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
95
  ],
96
96
  exports: [MainEditorComponent]
97
97
  }]
98
- }], ctorParameters: function () { return []; } });
98
+ }], ctorParameters: () => [] });
99
99
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUV6RyxtR0FBbUc7QUFDbkcsb0dBQW9HO0FBRXBHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7O0FBNkJyRyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCO1FBR0ksZ0RBQWdEO0lBQ3BELENBQUM7K0dBTFEsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBekJyQixtQkFBbUIsYUFHbkIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGNBQWM7WUFDZCw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZiw0QkFBNEIsaUNBR3ZCLG1CQUFtQjtnSEFFbkIsZ0JBQWdCLFlBdEJyQixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsY0FBYztZQUNkLDZCQUE2QjtZQUM3Qix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixlQUFlLENBQUMsUUFBUSxFQUFFOzs0RkFJckIsZ0JBQWdCO2tCQTNCNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLDRCQUE0Qjt3QkFDNUIsZUFBZSxDQUFDLFFBQVEsRUFBRTtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFDLENBQUMsbUJBQW1CLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgUGVwR3JvdXBCdXR0b25zTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZ3JvdXAtYnV0dG9ucyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlICB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBlcFNlbGVjdE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NlbGVjdCc7XG5pbXBvcnQgeyBQZXBUZXh0Ym94TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdGV4dGJveCc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgUGVwQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9jaGVja2JveCc7XG5pbXBvcnQgeyBQZXBDb2xvck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2NvbG9yJztcbmltcG9ydCB7IFBlcEltYWdlTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaW1hZ2UnO1xuaW1wb3J0IHsgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kcmFnZ2FibGUtaXRlbXMnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJ1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuaW1wb3J0IHsgUGVwR3JvdXBCdXR0b25zU2V0dGluZ3NNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncyc7XG5cbi8vIGltcG9ydCB7IFBlcE1hbmFnZVBhcmFtZXRlcnNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvbWFuYWdlLXBhcmFtZXRlcnMnO1xuLy8gaW1wb3J0IHsgUGVwRmxvd1BpY2tlckJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtY29tcG9zaXRlLWxpYi9mbG93LXBpY2tlci1idXR0b24nO1xuXG5pbXBvcnQgeyBNYWluRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXItZWRpdG9yL2xheW91dC1idWlsZGVyLWVkaXRvci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBNYWluRWRpdG9yQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICAgICAgUGVwTmd4TGliTW9kdWxlLFxuICAgICAgICBQZXBTZWxlY3RNb2R1bGUsXG4gICAgICAgIFBlcFRleHRib3hNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIFBlcEdyb3VwQnV0dG9uc01vZHVsZSxcbiAgICAgICAgUGVwQ29sb3JNb2R1bGUsXG4gICAgICAgIFBlcEltYWdlTW9kdWxlLFxuICAgICAgICBQZXBHcm91cEJ1dHRvbnNTZXR0aW5nc01vZHVsZSxcbiAgICAgICAgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICAgICAgUGVwTGF5b3V0QnVpbGRlckVkaXRvck1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKClcbiAgICBdLFxuICAgIGV4cG9ydHM6W01haW5FZGl0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE1haW5FZGl0b3JNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvLyBwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5XG4gICAgICAgICkge1xuICAgICAgICAvLyB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKHBlcEljb25zKTtcbiAgICB9XG59XG4iXX0=
@@ -334,13 +334,13 @@ export class SectionComponent extends BaseDestroyerDirective {
334
334
  'padding': padding
335
335
  };
336
336
  }
337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LayoutBuilderInternalService }], target: i0.ɵɵFactoryTarget.Component }); }
338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SectionComponent, selector: "section", inputs: { blockTemplate: "blockTemplate", key: "key", name: "name", split: "split", height: "height", collapseOnTablet: "collapseOnTablet", padding: "padding", columns: "columns", hideIn: "hideIn", columnsGap: "columnsGap" }, host: { properties: { "style.max-height": "this.styleMaxHeight", "style.height": "this.styleHeight" } }, viewQueries: [{ propertyName: "sectionContainerRef", first: true, predicate: ["sectionContainer"], descendants: true }, { propertyName: "columnsElementRef", predicate: ["columnsWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #sectionContainer *ngIf=\"editable || (containsBlocks && !hideForCurrentScreenType)\" class=\"section-container \"\n [ngStyle]=\"getPadding()\"\n [ngClass]=\"{ \n 'mobile': screenType === 'Phablet',\n 'editable-state': editable, 'main-editor-state': isMainEditorState, 'default-height': shouldSetDefaultHeight, 'active-section': isEditing,\n 'section-hidden-state': hideForCurrentScreenType, 'section-is-dragging': draggingSectionKey !== '', 'show-hover-state': hoverState }\" \n cdkDragBoundary=\".layout-builder-wrapper\" cdkDrag [cdkDragData]=\"key\" [cdkDragDisabled]=\"!editable || selectedSectionKey.length > 0 || selectedBlockKey.length > 0\" (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\" \n >\n <pep-draggable-item *ngIf=\"editable && isMainEditorState && draggingSectionKey === ''\" cdkDragHandle style=\"cursor: grab;\"\n class=\"section-toolbar\" [ngClass]=\"{ 'hide-toolbar': !hoverState }\" [title]=\"name\">\n <ng-container pep-actions>\n <pep-button classNames=\"caution\" sizeType=\"xs\" iconName=\"system_bin\" (buttonClick)=\"onRemoveSectionClick();\"></pep-button>\n <hide-in [hideIn]=\"hideIn\" (hideInChange)=\"onHideSectionChange($event)\" (menuClosed)=\"onHideInMenuClosed()\" (menuOpened)=\"onHideInMenuOpened()\"></hide-in>\n <pep-button sizeType=\"xs\" iconName=\"system_edit\" (buttonClick)=\"onEditSectionClick();\"></pep-button>\n </ng-container>\n </pep-draggable-item>\n\n <div *ngIf=\"editable\" class=\"section-background\">\n <div class=\"back-template\" *ngFor=\"let number of [0,1,2,3,4,5,6,7,8,9,10,11]\"></div>\n </div>\n <div #columnsWrapper class=\"columns-wrapper gap-{{ columnsGap }}\" \n [ngClass]=\"{ 'mobile': screenType === 'Phablet', 'is-dragging': editable && getIsDragging }\">\n <ng-container *ngFor=\"let column of columns; let i=index;\">\n \n <!-- This is moved to the section-block component cause when we change to work with 'grid-column' style we have to draw the columns.\n *ngIf=\"editable || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && !getIsHidden(column?.BlockContainer?.Hide, screenType))\" \n -->\n <div *ngIf=\"editable || isHorizontalView || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0)\"\n [id]=\"sectionColumnKeyPrefix + i\" \n class=\"section-column {{isHorizontalView ? 'horizontal' : 'vertical'}}\"\n [ngClass]=\"{ 'active-column': selectedBlockKey === column.BlockContainer?.BlockKey, \n 'is-hidden': getIsHidden(column?.BlockContainer?.Hide, screenType),\n 'already-contains-block': editable && column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && \n draggingBlockKey && draggingBlockKey.length > 0 && column.BlockContainer.BlockKey !== draggingBlockKey }\"\n cdkDropList\n [cdkDropListData]=\"column\"\n [cdkDropListOrientation]=\"isHorizontalView ? 'horizontal' : 'vertical'\" \n [cdkDropListConnectedTo]=\"sectionsColumnsDropList\"\n (cdkDropListDropped)=\"onBlockDropped($event)\"\n [cdkDropListEnterPredicate]=\"canDropPredicate(i)\"\n >\n <section-block *ngIf=\"column.BlockContainer?.BlockKey\" \n class=\"section-block\" [sectionKey]=\"key\" [blockTemplate]=\"blockTemplate\"\n [blockContainer]=\"column.BlockContainer\" [editable]=\"editable\" [isMainEditorState]=\"isMainEditorState\" [sectionHeight]=\"styleHeight\"\n [active]=\"selectedBlockKey === column.BlockContainer?.BlockKey\" [screenType]=\"screenType\"\n (dragExited)=\"onSectionBlockDragExited($event)\" (dragEntered)=\"onSectionBlockDragEntered($event)\"></section-block>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".section-container{position:relative;display:grid;height:100%;max-height:inherit}.section-container.editable-state{min-height:2.5rem}.section-container.editable-state.default-height{min-height:16rem}.section-container.editable-state.active-section{z-index:11}.section-container.editable-state.active-section .columns-wrapper{z-index:1}.section-container.editable-state.active-section ::ng-deep .block-template-wrapper .block-template{pointer-events:unset!important;opacity:unset!important}.section-container.editable-state.cdk-drag-placeholder{opacity:.5}.section-container.editable-state:not(.cdk-drag-placeholder):hover .section-toolbar,.section-container.editable-state:not(.cdk-drag-placeholder).show-hover-state .section-toolbar{display:block!important}.section-container.editable-state:not(.cdk-drag-preview) .hide-toolbar{display:none}.section-container.editable-state.main-editor-state .mobile .is-hidden{display:none}.section-container.editable-state .mobile .is-hidden{display:block}.section-container.editable-state .section-toolbar{position:absolute;top:0;height:2.625rem;z-index:11}.section-container.editable-state .section-toolbar ::ng-deep .pep-draggable-item-container{border-radius:0 0 var(--pep-border-radius-md, .25rem) 0}.section-container.editable-state .section-background{position:absolute;width:100%;height:100%;z-index:0;display:grid;grid-template-columns:repeat(12,1fr)}.section-container.editable-state .section-background .back-template{opacity:.1}.section-container.editable-state .section-background .back-template:last-of-type{border-right:0 none}.section-container .columns-wrapper{display:grid;grid-auto-flow:column;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper.is-dragging{overflow:unset}.section-container .columns-wrapper.gap-none{gap:0}.section-container .columns-wrapper.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.section-container .columns-wrapper.gap-md{gap:var(--pep-spacing-lg, 1rem)}.section-container .columns-wrapper.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.section-container .columns-wrapper .section-column{position:relative;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper .section-column .section-block{height:inherit;max-height:inherit}\n", ".section-container{background:transparent}.section-container.editable-state.active-section{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.active-section .columns-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state.section-hidden-state:not(.active-section){background:repeating-linear-gradient(45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem),repeating-linear-gradient(-45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem)}.section-container.editable-state.main-editor-state.cdk-drag-preview{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state.cdk-drag-placeholder{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.main-editor-state.cdk-drag-placeholder:hover,.section-container.editable-state.main-editor-state.cdk-drag-placeholder.show-hover-state{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)!important}.section-container.editable-state.main-editor-state:hover:not(.section-is-dragging),.section-container.editable-state.main-editor-state.show-hover-state:not(.section-is-dragging){box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state .section-toolbar ::ng-deep .pep-draggable-item-container{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .section-background .back-template{background-color:#bec3e5;border-right:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column{border:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column.active-column{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state .columns-wrapper .section-column.cdk-drop-list-dragging{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state .columns-wrapper .section-column.already-contains-block:hover{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal{border-left:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal.cdk-drop-list-dragging{border-left:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical{border-top:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical.cdk-drop-list-dragging{border-top:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.SectionBlockComponent, selector: "section-block", inputs: ["blockTemplate", "sectionKey", "sectionHeight", "isMainEditorState", "editable", "active", "blockContainer", "screenType"], outputs: ["dragExited", "dragEntered"] }, { kind: "component", type: i6.HideInComponent, selector: "hide-in", inputs: ["hideIn"], outputs: ["hideInChange", "menuOpened", "menuClosed"] }, { kind: "component", type: i7.DraggableItemComponent, selector: "pep-draggable-item", inputs: ["title", "titlePrefix", "titleClassNames", "data", "disabled", "shadow", "styleType", "toggleContent", "isToggleContentOpen", "actionsMenu", "menuStyleType"], outputs: ["contentToggle", "actionsMenuItemClick"] }] }); }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LayoutBuilderInternalService }], target: i0.ɵɵFactoryTarget.Component }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionComponent, selector: "section", inputs: { blockTemplate: "blockTemplate", key: "key", name: "name", split: "split", height: "height", collapseOnTablet: "collapseOnTablet", padding: "padding", columns: "columns", hideIn: "hideIn", columnsGap: "columnsGap" }, host: { properties: { "style.max-height": "this.styleMaxHeight", "style.height": "this.styleHeight" } }, viewQueries: [{ propertyName: "sectionContainerRef", first: true, predicate: ["sectionContainer"], descendants: true }, { propertyName: "columnsElementRef", predicate: ["columnsWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #sectionContainer *ngIf=\"editable || (containsBlocks && !hideForCurrentScreenType)\" class=\"section-container \"\n [ngStyle]=\"getPadding()\"\n [ngClass]=\"{ \n 'mobile': screenType === 'Phablet',\n 'editable-state': editable, 'main-editor-state': isMainEditorState, 'default-height': shouldSetDefaultHeight, 'active-section': isEditing,\n 'section-hidden-state': hideForCurrentScreenType, 'section-is-dragging': draggingSectionKey !== '', 'show-hover-state': hoverState }\" \n cdkDragBoundary=\".layout-builder-wrapper\" cdkDrag [cdkDragData]=\"key\" [cdkDragDisabled]=\"!editable || selectedSectionKey.length > 0 || selectedBlockKey.length > 0\" (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\" \n >\n <pep-draggable-item *ngIf=\"editable && isMainEditorState && draggingSectionKey === ''\" cdkDragHandle style=\"cursor: grab;\"\n class=\"section-toolbar\" [ngClass]=\"{ 'hide-toolbar': !hoverState }\" [title]=\"name\">\n <ng-container pep-actions>\n <pep-button classNames=\"caution\" sizeType=\"xs\" iconName=\"system_bin\" (buttonClick)=\"onRemoveSectionClick();\"></pep-button>\n <hide-in [hideIn]=\"hideIn\" (hideInChange)=\"onHideSectionChange($event)\" (menuClosed)=\"onHideInMenuClosed()\" (menuOpened)=\"onHideInMenuOpened()\"></hide-in>\n <pep-button sizeType=\"xs\" iconName=\"system_edit\" (buttonClick)=\"onEditSectionClick();\"></pep-button>\n </ng-container>\n </pep-draggable-item>\n\n <div *ngIf=\"editable\" class=\"section-background\">\n <div class=\"back-template\" *ngFor=\"let number of [0,1,2,3,4,5,6,7,8,9,10,11]\"></div>\n </div>\n <div #columnsWrapper class=\"columns-wrapper gap-{{ columnsGap }}\" \n [ngClass]=\"{ 'mobile': screenType === 'Phablet', 'is-dragging': editable && getIsDragging }\">\n <ng-container *ngFor=\"let column of columns; let i=index;\">\n \n <!-- This is moved to the section-block component cause when we change to work with 'grid-column' style we have to draw the columns.\n *ngIf=\"editable || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && !getIsHidden(column?.BlockContainer?.Hide, screenType))\" \n -->\n <div *ngIf=\"editable || isHorizontalView || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0)\"\n [id]=\"sectionColumnKeyPrefix + i\" \n class=\"section-column {{isHorizontalView ? 'horizontal' : 'vertical'}}\"\n [ngClass]=\"{ 'active-column': selectedBlockKey === column.BlockContainer?.BlockKey, \n 'is-hidden': getIsHidden(column?.BlockContainer?.Hide, screenType),\n 'already-contains-block': editable && column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && \n draggingBlockKey && draggingBlockKey.length > 0 && column.BlockContainer.BlockKey !== draggingBlockKey }\"\n cdkDropList\n [cdkDropListData]=\"column\"\n [cdkDropListOrientation]=\"isHorizontalView ? 'horizontal' : 'vertical'\" \n [cdkDropListConnectedTo]=\"sectionsColumnsDropList\"\n (cdkDropListDropped)=\"onBlockDropped($event)\"\n [cdkDropListEnterPredicate]=\"canDropPredicate(i)\"\n >\n <section-block *ngIf=\"column.BlockContainer?.BlockKey\" \n class=\"section-block\" [sectionKey]=\"key\" [blockTemplate]=\"blockTemplate\"\n [blockContainer]=\"column.BlockContainer\" [editable]=\"editable\" [isMainEditorState]=\"isMainEditorState\" [sectionHeight]=\"styleHeight\"\n [active]=\"selectedBlockKey === column.BlockContainer?.BlockKey\" [screenType]=\"screenType\"\n (dragExited)=\"onSectionBlockDragExited($event)\" (dragEntered)=\"onSectionBlockDragEntered($event)\"></section-block>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".section-container{position:relative;display:grid;height:100%;max-height:inherit}.section-container.editable-state{min-height:2.5rem}.section-container.editable-state.default-height{min-height:16rem}.section-container.editable-state.active-section{z-index:11}.section-container.editable-state.active-section .columns-wrapper{z-index:1}.section-container.editable-state.active-section ::ng-deep .block-template-wrapper .block-template{pointer-events:unset!important;opacity:unset!important}.section-container.editable-state.cdk-drag-placeholder{opacity:.5}.section-container.editable-state:not(.cdk-drag-placeholder):hover .section-toolbar,.section-container.editable-state:not(.cdk-drag-placeholder).show-hover-state .section-toolbar{display:block!important}.section-container.editable-state:not(.cdk-drag-preview) .hide-toolbar{display:none}.section-container.editable-state.main-editor-state .mobile .is-hidden{display:none}.section-container.editable-state .mobile .is-hidden{display:block}.section-container.editable-state .section-toolbar{position:absolute;top:0;height:2.625rem;z-index:11}.section-container.editable-state .section-toolbar ::ng-deep .pep-draggable-item-container{border-radius:0 0 var(--pep-border-radius-md, .25rem) 0}.section-container.editable-state .section-background{position:absolute;width:100%;height:100%;z-index:0;display:grid;grid-template-columns:repeat(12,1fr)}.section-container.editable-state .section-background .back-template{opacity:.1}.section-container.editable-state .section-background .back-template:last-of-type{border-right:0 none}.section-container .columns-wrapper{display:grid;grid-auto-flow:column;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper.is-dragging{overflow:unset}.section-container .columns-wrapper.gap-none{gap:0}.section-container .columns-wrapper.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.section-container .columns-wrapper.gap-md{gap:var(--pep-spacing-lg, 1rem)}.section-container .columns-wrapper.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.section-container .columns-wrapper .section-column{position:relative;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper .section-column .section-block{height:inherit;max-height:inherit}\n", ".section-container{background:transparent}.section-container.editable-state.active-section{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.active-section .columns-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state.section-hidden-state:not(.active-section){background:repeating-linear-gradient(45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem),repeating-linear-gradient(-45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem)}.section-container.editable-state.main-editor-state.cdk-drag-preview{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state.cdk-drag-placeholder{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.main-editor-state.cdk-drag-placeholder:hover,.section-container.editable-state.main-editor-state.cdk-drag-placeholder.show-hover-state{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)!important}.section-container.editable-state.main-editor-state:hover:not(.section-is-dragging),.section-container.editable-state.main-editor-state.show-hover-state:not(.section-is-dragging){box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state .section-toolbar ::ng-deep .pep-draggable-item-container{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .section-background .back-template{background-color:#bec3e5;border-right:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column{border:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column.active-column{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state .columns-wrapper .section-column.cdk-drop-list-dragging{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state .columns-wrapper .section-column.already-contains-block:hover{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal{border-left:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal.cdk-drop-list-dragging{border-left:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical{border-top:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical.cdk-drop-list-dragging{border-top:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.SectionBlockComponent, selector: "section-block", inputs: ["blockTemplate", "sectionKey", "sectionHeight", "isMainEditorState", "editable", "active", "blockContainer", "screenType"], outputs: ["dragExited", "dragEntered"] }, { kind: "component", type: i6.HideInComponent, selector: "hide-in", inputs: ["hideIn"], outputs: ["hideInChange", "menuOpened", "menuClosed"] }, { kind: "component", type: i7.DraggableItemComponent, selector: "pep-draggable-item", inputs: ["title", "titlePrefix", "titleClassNames", "data", "disabled", "shadow", "styleType", "toggleContent", "isToggleContentOpen", "actionsMenu", "menuStyleType"], outputs: ["contentToggle", "actionsMenuItemClick"] }] }); }
339
339
  }
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, decorators: [{
341
341
  type: Component,
342
342
  args: [{ selector: 'section', template: "<div #sectionContainer *ngIf=\"editable || (containsBlocks && !hideForCurrentScreenType)\" class=\"section-container \"\n [ngStyle]=\"getPadding()\"\n [ngClass]=\"{ \n 'mobile': screenType === 'Phablet',\n 'editable-state': editable, 'main-editor-state': isMainEditorState, 'default-height': shouldSetDefaultHeight, 'active-section': isEditing,\n 'section-hidden-state': hideForCurrentScreenType, 'section-is-dragging': draggingSectionKey !== '', 'show-hover-state': hoverState }\" \n cdkDragBoundary=\".layout-builder-wrapper\" cdkDrag [cdkDragData]=\"key\" [cdkDragDisabled]=\"!editable || selectedSectionKey.length > 0 || selectedBlockKey.length > 0\" (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\" \n >\n <pep-draggable-item *ngIf=\"editable && isMainEditorState && draggingSectionKey === ''\" cdkDragHandle style=\"cursor: grab;\"\n class=\"section-toolbar\" [ngClass]=\"{ 'hide-toolbar': !hoverState }\" [title]=\"name\">\n <ng-container pep-actions>\n <pep-button classNames=\"caution\" sizeType=\"xs\" iconName=\"system_bin\" (buttonClick)=\"onRemoveSectionClick();\"></pep-button>\n <hide-in [hideIn]=\"hideIn\" (hideInChange)=\"onHideSectionChange($event)\" (menuClosed)=\"onHideInMenuClosed()\" (menuOpened)=\"onHideInMenuOpened()\"></hide-in>\n <pep-button sizeType=\"xs\" iconName=\"system_edit\" (buttonClick)=\"onEditSectionClick();\"></pep-button>\n </ng-container>\n </pep-draggable-item>\n\n <div *ngIf=\"editable\" class=\"section-background\">\n <div class=\"back-template\" *ngFor=\"let number of [0,1,2,3,4,5,6,7,8,9,10,11]\"></div>\n </div>\n <div #columnsWrapper class=\"columns-wrapper gap-{{ columnsGap }}\" \n [ngClass]=\"{ 'mobile': screenType === 'Phablet', 'is-dragging': editable && getIsDragging }\">\n <ng-container *ngFor=\"let column of columns; let i=index;\">\n \n <!-- This is moved to the section-block component cause when we change to work with 'grid-column' style we have to draw the columns.\n *ngIf=\"editable || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && !getIsHidden(column?.BlockContainer?.Hide, screenType))\" \n -->\n <div *ngIf=\"editable || isHorizontalView || (column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0)\"\n [id]=\"sectionColumnKeyPrefix + i\" \n class=\"section-column {{isHorizontalView ? 'horizontal' : 'vertical'}}\"\n [ngClass]=\"{ 'active-column': selectedBlockKey === column.BlockContainer?.BlockKey, \n 'is-hidden': getIsHidden(column?.BlockContainer?.Hide, screenType),\n 'already-contains-block': editable && column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && \n draggingBlockKey && draggingBlockKey.length > 0 && column.BlockContainer.BlockKey !== draggingBlockKey }\"\n cdkDropList\n [cdkDropListData]=\"column\"\n [cdkDropListOrientation]=\"isHorizontalView ? 'horizontal' : 'vertical'\" \n [cdkDropListConnectedTo]=\"sectionsColumnsDropList\"\n (cdkDropListDropped)=\"onBlockDropped($event)\"\n [cdkDropListEnterPredicate]=\"canDropPredicate(i)\"\n >\n <section-block *ngIf=\"column.BlockContainer?.BlockKey\" \n class=\"section-block\" [sectionKey]=\"key\" [blockTemplate]=\"blockTemplate\"\n [blockContainer]=\"column.BlockContainer\" [editable]=\"editable\" [isMainEditorState]=\"isMainEditorState\" [sectionHeight]=\"styleHeight\"\n [active]=\"selectedBlockKey === column.BlockContainer?.BlockKey\" [screenType]=\"screenType\"\n (dragExited)=\"onSectionBlockDragExited($event)\" (dragEntered)=\"onSectionBlockDragEntered($event)\"></section-block>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".section-container{position:relative;display:grid;height:100%;max-height:inherit}.section-container.editable-state{min-height:2.5rem}.section-container.editable-state.default-height{min-height:16rem}.section-container.editable-state.active-section{z-index:11}.section-container.editable-state.active-section .columns-wrapper{z-index:1}.section-container.editable-state.active-section ::ng-deep .block-template-wrapper .block-template{pointer-events:unset!important;opacity:unset!important}.section-container.editable-state.cdk-drag-placeholder{opacity:.5}.section-container.editable-state:not(.cdk-drag-placeholder):hover .section-toolbar,.section-container.editable-state:not(.cdk-drag-placeholder).show-hover-state .section-toolbar{display:block!important}.section-container.editable-state:not(.cdk-drag-preview) .hide-toolbar{display:none}.section-container.editable-state.main-editor-state .mobile .is-hidden{display:none}.section-container.editable-state .mobile .is-hidden{display:block}.section-container.editable-state .section-toolbar{position:absolute;top:0;height:2.625rem;z-index:11}.section-container.editable-state .section-toolbar ::ng-deep .pep-draggable-item-container{border-radius:0 0 var(--pep-border-radius-md, .25rem) 0}.section-container.editable-state .section-background{position:absolute;width:100%;height:100%;z-index:0;display:grid;grid-template-columns:repeat(12,1fr)}.section-container.editable-state .section-background .back-template{opacity:.1}.section-container.editable-state .section-background .back-template:last-of-type{border-right:0 none}.section-container .columns-wrapper{display:grid;grid-auto-flow:column;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper.is-dragging{overflow:unset}.section-container .columns-wrapper.gap-none{gap:0}.section-container .columns-wrapper.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.section-container .columns-wrapper.gap-md{gap:var(--pep-spacing-lg, 1rem)}.section-container .columns-wrapper.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.section-container .columns-wrapper .section-column{position:relative;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper .section-column .section-block{height:inherit;max-height:inherit}\n", ".section-container{background:transparent}.section-container.editable-state.active-section{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.active-section .columns-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state.section-hidden-state:not(.active-section){background:repeating-linear-gradient(45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem),repeating-linear-gradient(-45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem .8rem)}.section-container.editable-state.main-editor-state.cdk-drag-preview{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state.cdk-drag-placeholder{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.main-editor-state.cdk-drag-placeholder:hover,.section-container.editable-state.main-editor-state.cdk-drag-placeholder.show-hover-state{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)!important}.section-container.editable-state.main-editor-state:hover:not(.section-is-dragging),.section-container.editable-state.main-editor-state.show-hover-state:not(.section-is-dragging){box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state .section-toolbar ::ng-deep .pep-draggable-item-container{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .section-background .back-template{background-color:#bec3e5;border-right:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column{border:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column.active-column{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state .columns-wrapper .section-column.cdk-drop-list-dragging{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state .columns-wrapper .section-column.already-contains-block:hover{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal{border-left:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal.cdk-drop-list-dragging{border-left:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical{border-top:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical.cdk-drop-list-dragging{border-top:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}\n"] }]
343
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.LayoutBuilderInternalService }]; }, propDecorators: { sectionContainerRef: [{
343
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.LayoutBuilderInternalService }], propDecorators: { sectionContainerRef: [{
344
344
  type: ViewChild,
345
345
  args: ['sectionContainer']
346
346
  }], columnsElementRef: [{
@@ -373,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
373
373
  type: HostBinding,
374
374
  args: ['style.height']
375
375
  }] } });
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9sYXlvdXQtYnVpbGRlci9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFnQixLQUFLLEVBQXVFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEwsT0FBTyxFQUFFLHNCQUFzQixFQUFvQixpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7QUFPeEYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHNCQUFzQjtJQVV4RCxJQUNJLEtBQUssQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFDSSxNQUFNLENBQUMsS0FBeUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQ0ksZ0JBQWdCLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FB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QWtCO2dCQUkvQixXQUFXO3NCQURWLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJhZ1N0YXJ0LCBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplLCBTcGxpdFR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwTGF5b3V0U2VjdGlvbkNvbHVtbiwgUGVwTGF5b3V0U2l6ZVR5cGUgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBQYWRkaW5nU2V0dGluZ3MgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvcGFkZGluZy1zZXR0aW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlY3Rpb24uY29tcG9uZW50LnNjc3MnLCAnLi9zZWN0aW9uLmNvbXBvbmVudC50aGVtZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25Db250YWluZXInKSBzZWN0aW9uQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCdjb2x1bW5zV3JhcHBlcicpIGNvbHVtbnNFbGVtZW50UmVmITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQElucHV0KCkgYmxvY2tUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIG5hbWUgPSAnJztcblxuICAgIHByaXZhdGUgX3NwbGl0OiBTcGxpdFR5cGUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KClcbiAgICBzZXQgc3BsaXQodmFsdWU6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCApIHtcbiAgICAgICAgdGhpcy5fc3BsaXQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICB9XG4gICAgZ2V0IHNwbGl0KCk6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcGxpdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBoZWlnaHQodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTdHlsZUhlaWdodCgpO1xuICAgIH1cbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VPblRhYmxldCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbGxhcHNlT25UYWJsZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY29sbGFwc2VPblRhYmxldCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnBlcFNjcmVlblNpemVUb0ZsaXBUb1ZlcnRpY2FsID0gdmFsdWUgPyBQZXBTY3JlZW5TaXplVHlwZS5NRCA6IFBlcFNjcmVlblNpemVUeXBlLlhTO1xuICAgICAgICB0aGlzLnJlZnJlc2hTcGxpdCgpO1xuICAgIH1cbiAgICBnZXQgY29sbGFwc2VPblRhYmxldCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlT25UYWJsZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcGFkZGluZyA9IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3ModHJ1ZSwgJzAnKTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBwYWRkaW5nKHZhbHVlOiBQZXBQYWRkaW5nU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fcGFkZGluZyA9IHZhbHVlIHx8IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3ModHJ1ZSwgJzAnKTtcbiAgICB9XG4gICAgZ2V0IHBhZGRpbmcoKTogUGVwUGFkZGluZ1NldHRpbmdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZGRpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+ID0gW107XG4gICAgQElucHV0KClcbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+KSB7XG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSB2YWx1ZSB8fCBbXTtcbiAgICB9XG4gICAgZ2V0IGNvbHVtbnMoKTogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgX2hpZGVJbjogRGF0YVZpZXdTY3JlZW5TaXplW10gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBoaWRlSW4odmFsdWU6IERhdGFWaWV3U2NyZWVuU2l6ZVtdKSB7XG4gICAgICAgIHRoaXMuX2hpZGVJbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldElmSGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlKCk7XG4gICAgfVxuICAgIGdldCBoaWRlSW4oKTogRGF0YVZpZXdTY3JlZW5TaXplW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZUluO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbHVtbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICAgICAgXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgICBzdHlsZU1heEhlaWdodCA9ICd1bnNldCc7XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICAgIHN0eWxlSGVpZ2h0ID0gJ3Vuc2V0JztcbiAgICBcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNDb2x1bW5zRHJvcExpc3Q6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBwcml2YXRlIF9lZGl0YWJsZSA9IGZhbHNlO1xuICAgIC8vIHByb3RlY3RlZCBzZXQgZWRpdGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAvLyAgICAgdGhpcy5fZWRpdGFibGUgPSB2YWx1ZTtcbiAgICAvLyAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICAvLyB9XG4gICAgcHJvdGVjdGVkIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0YWJsZVN0YXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NjcmVlblNpemUhOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgc2V0IHNjcmVlblNpemUodmFsdWU6IFBlcFNjcmVlblNpemVUeXBlKSB7XG4gICAgICAgIHRoaXMuX3NjcmVlblNpemUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgc2NyZWVuU2l6ZSgpOiBQZXBTY3JlZW5TaXplVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JlZW5TaXplO1xuICAgIH1cblxuICAgIC8vIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIHNlY3Rpb25Db2x1bW5LZXlQcmVmaXggPSAnJztcbiAgICBcbiAgICBwcm90ZWN0ZWQgaXNNYWluRWRpdG9yU3RhdGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaXNFZGl0aW5nID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkU2VjdGlvbktleSA9ICcnO1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZEJsb2NrS2V5ID0gJyc7XG4gICAgXG4gICAgcHJvdGVjdGVkIGNvbnRhaW5zQmxvY2tzID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNob3VsZFNldERlZmF1bHRIZWlnaHQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcGVwU2NyZWVuU2l6ZVRvRmxpcFRvVmVydGljYWwgPSBQZXBTY3JlZW5TaXplVHlwZS5TTTtcbiAgICBwcm90ZWN0ZWQgc2NyZWVuVHlwZSE6IERhdGFWaWV3U2NyZWVuU2l6ZTtcbiAgICBwcm90ZWN0ZWQgaGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGRyYWdnaW5nQmxvY2tLZXkgPSAnJztcbiAgICBwcm90ZWN0ZWQgZHJhZ2dpbmdTZWN0aW9uS2V5ID0gJyc7XG4gICAgcHJvdGVjdGVkIGhvdmVyU3RhdGUgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBpc0hvcml6b250YWxWaWV3ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICApIHsgXG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVJZlNlY3Rpb25Db250YWluc0Jsb2NrcygpIHtcbiAgICAgICAgdGhpcy5jb250YWluc0Jsb2NrcyA9IHRoaXMuY29sdW1ucy5zb21lKGNvbHVtbiA9PiBjb2x1bW4uQmxvY2tDb250YWluZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3VsZFNldERlZmF1bHRIZWlnaHQgPSAhdGhpcy5jb250YWluc0Jsb2NrcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVuVHlwZSgpIHtcbiAgICAgICAgdGhpcy5zY3JlZW5UeXBlID0gdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmdldFNjcmVlblR5cGUodGhpcy5zY3JlZW5TaXplKTtcbiAgICAgICAgdGhpcy5zZXRJZkhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSgpO1xuICAgICAgICB0aGlzLnNldFN0eWxlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJZkhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlRm9yQ3VycmVudFNjcmVlblR5cGUgPSB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZ2V0SXNIaWRkZW4odGhpcy5oaWRlSW4sIHRoaXMuc2NyZWVuVHlwZSk7XG4gICAgfVxuICAgIFxuICAgIC8vIHByaXZhdGUgZ2V0Q3NzU3BsaXRTdHJpbmcoKSB7XG4gICAgLy8gICAgIHN3aXRjaCAodGhpcy5zcGxpdCkge1xuICAgIC8vICAgICAgICAgY2FzZSAnMS8yIDEvMic6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMiAxLzQgMS80JzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMyAxLzMgMS8zJzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzFmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMyAyLzMnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDJmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS8yIDEvNCc6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMmZyIDFmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS80IDEvMic6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyIDJmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS80IDEvNCAxLzQnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDFmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvNCAzLzQnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDNmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcyLzMgMS8zJzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnInO1xuICAgIC8vICAgICAgICAgY2FzZSAnMy80IDEvNCc6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICczZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6IC8vIEZvciBvbmUgY29sdW1uLlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyJztcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIHByaXZhdGUgZ2V0Q3NzR3JpZENvbHVtbihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGxldCByZXMgPSAnMS8xMyc7XG4gICAgICAgIGxldCBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvMTMnXTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3BsaXQpIHtcbiAgICAgICAgICAgIGNhc2UgJzEvMiAxLzInOlxuICAgICAgICAgICAgICAgIGdyaWRDb2x1bW5WYWx1ZUFyciA9IFsnMS83JywgJzcvMTMnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEvMiAxLzQgMS80JzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNycsICc3LzEwJywgJzEwLzEzJ107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcxLzMgMS8zIDEvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzUnLCAnNS85JywgJzkvMTMnXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS8zIDIvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzUnLCAnNS8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDEvMiAxLzQnOlxuICAgICAgICAgICAgICAgIGdyaWRDb2x1bW5WYWx1ZUFyciA9IFsnMS80JywgJzQvMTAnLCAnMTAvMTMnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEvNCAxLzQgMS8yJzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNCcsICc0LzcnLCAnNy8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDEvNCAxLzQgMS80JzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNCcsICc0LzcnLCAnNy8xMCcsICcxMC8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDMvNCc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzQnLCAnNC8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMi8zIDEvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzknLCAnOS8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMy80IDEvNCc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzEwJywgJzEwLzEzJ107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JpZENvbHVtblZhbHVlQXJyLmxlbmd0aCA+IGNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICByZXMgPSBncmlkQ29sdW1uVmFsdWVBcnJbY29sdW1uSW5kZXhdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlY3Rpb25Db2x1bW5TdHlsZShzZWN0aW9uQ29sdW1uRWxlbWVudDogYW55LCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbFZpZXcpIHtcbiAgICAgICAgICAgIGNvbnN0IGdyaWRDb2x1bW5WYWx1ZSA9IHRoaXMuZ2V0Q3NzR3JpZENvbHVtbihjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb25Db2x1bW5FbGVtZW50LCAnZ3JpZC1jb2x1bW4nLCBncmlkQ29sdW1uVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uQ29sdW1uRWxlbWVudCwgJ2dyaWQtY29sdW1uJywgJ3Vuc2V0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hTcGxpdCgpIHtcbiAgICAgICAgLy8gSG9yaXpvbnRhbCAodHJ1ZSkgZm9yIGxhcmdlIHNjcmVlbnMsIGZhbHNlIGZvciBzbWFsbCBzY3JlZW5zLlxuICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbFZpZXcgPSB0aGlzLnNjcmVlblNpemUgPCB0aGlzLnBlcFNjcmVlblNpemVUb0ZsaXBUb1ZlcnRpY2FsO1xuICAgICAgICBcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWN0aW9uQ29udGFpbmVyUmVmKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc3QgY3NzU3BsaXRTdHJpbmcgPSB0aGlzLmdldENzc1NwbGl0U3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gR28gZm9yIGFsbCB0aGUgY29sdW1ucyBpbiB0aGUgY29sdW1uc1dyYXBwZXJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnNFbGVtZW50UmVmLnRvQXJyYXkoKS5tYXAoKHNlY3Rpb24sIHNlY3Rpb25JbmRleCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbFZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC1hdXRvLWZsb3cnLCAnY29sdW1uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsICd1bnNldCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnLCBjc3NTcGxpdFN0cmluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsICdyZXBlYXQoMTIsIDFmciknKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC1hdXRvLWZsb3cnLCAncm93Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsICd1bnNldCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLXRlbXBsYXRlLXJvd3MnLCAndW5zZXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW4gcnVudGltZSAob3IgcHJldmlldyBtb2RlKS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGNzc1NwbGl0QXJyYXkgPSBjc3NTcGxpdFN0cmluZy5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC8vIElmIHRoZXJlIGFyZSBzb21lIGhpZGRlbiBjb2x1bW5zIGNoYW5nZSB0aGUgY29sdW1uIHdpZHRoIHRvIDAgKGZvciBjdXQgdGhlIHNwYWNpbmcgaW4gdGhlIGdyaWQtdGVtcGxhdGUtcm93cykuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5jb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgaWYgKCFjb2x1bW4uQmxvY2tDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGNzc1NwbGl0QXJyYXlbaW5kZXhdID0gJzAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsIGNzc1NwbGl0QXJyYXkuam9pbignICcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsICdhdXRvJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBHbyBmb3IgYWxsIHRoZSBjb2x1bW5zIGluIHRoZSBzZWN0aW9uIGFuZCBzZXQgdGhlcmUgc3R5bGUuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlY3Rpb25Db2x1bW5zID0gc2VjdGlvbi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uLWNvbHVtbicpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IHNlY3Rpb25Db2x1bW5zLmxlbmd0aDsgY29sdW1uSW5kZXgrKykgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbkNvbHVtblN0eWxlKHNlY3Rpb25Db2x1bW5zW2NvbHVtbkluZGV4XSwgY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3R5bGVIZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmhlaWdodCAmJiB0aGlzLmhlaWdodCA+IDAgJiYgdGhpcy5zY3JlZW5UeXBlICE9PSAnUGhhYmxldCcpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVIZWlnaHQgPSB0aGlzLnN0eWxlTWF4SGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHR9cHhgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUhlaWdodCA9IHRoaXMuc3R5bGVNYXhIZWlnaHQgPSAndW5zZXQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SXNEcmFnZ2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ2dpbmdCbG9ja0tleS5sZW5ndGggPiAwICYmIHRoaXMuZHJhZ2dpbmdTZWN0aW9uS2V5Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0SXNIaWRkZW4oaGlkZUluOiBEYXRhVmlld1NjcmVlblNpemVbXSB8IHVuZGVmaW5lZCwgY3VycmVudFNjcmVlblR5cGU6IERhdGFWaWV3U2NyZWVuU2l6ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmdldElzSGlkZGVuKGhpZGVJbiwgY3VycmVudFNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UucHJldmlld01vZGVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKHByZXZpZXdNb2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFNwbGl0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEp1c3QgdG8gY2FsY3VsYXRlIGlmIHNlY3Rpb25zIGNvbnRhaW5zIGJsb2Nrc1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUlmU2VjdGlvbkNvbnRhaW5zQmxvY2tzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5zY3JlZW5TaXplID0gc2l6ZTtcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNjcmVlblNpemVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0b3JDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChlZGl0b3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNYWluRWRpdG9yU3RhdGUgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdsYXlvdXQtYnVpbGRlcic7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VkaXRpbmcgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdzZWN0aW9uJyAmJiBlZGl0b3IuaWQgPT09IHRoaXMua2V5O1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTZWN0aW9uS2V5ID0gZWRpdG9yICYmIGVkaXRvci50eXBlID09PSAnc2VjdGlvbicgPyBlZGl0b3IuaWQgOiAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQmxvY2tLZXkgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdibG9jaycgPyBlZGl0b3IuaWQgOiAnJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZHJhZ2dpbmdCbG9ja0tleS5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZHJhZ2dpbmdCbG9ja0tleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ0Jsb2NrS2V5ID0gZHJhZ2dpbmdCbG9ja0tleTtcblxuICAgICAgICAgICAgICAgIGlmIChkcmFnZ2luZ0Jsb2NrS2V5ID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUlmU2VjdGlvbkNvbnRhaW5zQmxvY2tzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgb25seSBvbmUgYmxvY2sgaW4gdGhlIHNlY3Rpb24gYW5kIG5vdyBpdCdzIHRoaXMgYmxvY2sgdGhhdCB0aGUgdXNlciBpcyBkcmFnZ2luZy5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tzTGVuZ3RoID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLkJsb2NrQ29udGFpbmVyKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9ja3NMZW5ndGggPT09IDEgJiYgdGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleSA9PT0gdGhpcy5kcmFnZ2luZ0Jsb2NrS2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG91bGRTZXREZWZhdWx0SGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5kcmFnZ2luZ1NlY3Rpb25LZXkucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKGRyYWdnaW5nU2VjdGlvbktleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ1NlY3Rpb25LZXkgPSBkcmFnZ2luZ1NlY3Rpb25LZXk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VjdGlvbkNvbHVtbktleVByZWZpeCA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTZWN0aW9uQ29sdW1uS2V5KHRoaXMua2V5KTtcbiAgICB9XG5cbiAgICBvbkVkaXRTZWN0aW9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5uYXZpZ2F0ZVRvRWRpdG9yKCdzZWN0aW9uJywgdGhpcy5rZXkpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlU2VjdGlvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UucmVtb3ZlU2VjdGlvbih0aGlzLmtleSk7XG4gICAgfVxuXG4gICAgb25IaWRlU2VjdGlvbkNoYW5nZShoaWRlSW46IERhdGFWaWV3U2NyZWVuU2l6ZVtdKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5oaWRlU2VjdGlvbih0aGlzLmtleSwgaGlkZUluKTtcbiAgICB9XG5cbiAgICBvbkhpZGVJbk1lbnVPcGVuZWQoKSB7XG4gICAgICAgIHRoaXMuaG92ZXJTdGF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgb25IaWRlSW5NZW51Q2xvc2VkKCkge1xuICAgICAgICB0aGlzLmhvdmVyU3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkJsb2NrRHJvcHBlZChldmVudDogQ2RrRHJhZ0Ryb3A8SVBlcExheW91dFNlY3Rpb25Db2x1bW4sIGFueSwgYW55Pikge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25CbG9ja0Ryb3BwZWQoZXZlbnQsIHRoaXMua2V5KTtcbiAgICB9XG5cbiAgICBjYW5Ecm9wUHJlZGljYXRlKGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIChkcmFnOiBDZGtEcmFnLCBkcm9wOiBDZGtEcm9wTGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzID0gIXRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5kb2VzQ29sdW1uQ29udGFpbkJsb2NrKHRoaXMua2V5LCBjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblNlY3Rpb25CbG9ja0RyYWdFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0KSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgb25TZWN0aW9uQmxvY2tEcmFnRW50ZXJlZChldmVudDogQ2RrRHJhZ0VudGVyKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UGFkZGluZygpe1xuICAgICAgICAvLyBjYWxjIGJ1dHRvbnMgYmFyIHBhZGRpbmdcbiAgICAgICAgIGxldCBwYWRkaW5nID0gJzByZW0nO1xuICAgICAgICAgY29uc3QgcGFkZGluZ09iaiA9IHRoaXMuX3BhZGRpbmcgIHx8IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3MoKTtcbiAgICAgICAgIGlmKHBhZGRpbmdPYmo/LklzVW5pZm9ybSl7XG4gICAgICAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdPYmouUGFkZGluZ1ZhbHVlICsgJ3JlbSc7IFxuICAgICAgICAgfVxuICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICBjb25zdCBudW0gPSBwYWRkaW5nT2JqLlBhZGRpbmdWYWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgIHBhZGRpbmcgPSAgbnVtWzBdICsgJ3JlbSAnICsgbnVtWzFdICsgJ3JlbSAnICsgbnVtWzJdICsgJ3JlbSAnICsgbnVtWzNdICsgJ3JlbSc7XG4gICAgICAgICB9XG4gICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICdwYWRkaW5nJzogcGFkZGluZ1xuICAgICAgICAgfTtcbiB9XG59XG4iLCI8ZGl2ICNzZWN0aW9uQ29udGFpbmVyICpuZ0lmPVwiZWRpdGFibGUgfHwgKGNvbnRhaW5zQmxvY2tzICYmICFoaWRlRm9yQ3VycmVudFNjcmVlblR5cGUpXCIgY2xhc3M9XCJzZWN0aW9uLWNvbnRhaW5lciBcIlxuICAgIFtuZ1N0eWxlXT1cImdldFBhZGRpbmcoKVwiXG4gICAgW25nQ2xhc3NdPVwieyBcbiAgICAgICAgJ21vYmlsZSc6IHNjcmVlblR5cGUgPT09ICdQaGFibGV0JyxcbiAgICAgICAgJ2VkaXRhYmxlLXN0YXRlJzogZWRpdGFibGUsICdtYWluLWVkaXRvci1zdGF0ZSc6IGlzTWFpbkVkaXRvclN0YXRlLCAnZGVmYXVsdC1oZWlnaHQnOiBzaG91bGRTZXREZWZhdWx0SGVpZ2h0LCAnYWN0aXZlLXNlY3Rpb24nOiBpc0VkaXRpbmcsXG4gICAgICAgICdzZWN0aW9uLWhpZGRlbi1zdGF0ZSc6IGhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSwgJ3NlY3Rpb24taXMtZHJhZ2dpbmcnOiBkcmFnZ2luZ1NlY3Rpb25LZXkgIT09ICcnLCAnc2hvdy1ob3Zlci1zdGF0ZSc6IGhvdmVyU3RhdGUgfVwiIFxuICAgICAgICBjZGtEcmFnQm91bmRhcnk9XCIubGF5b3V0LWJ1aWxkZXItd3JhcHBlclwiIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImtleVwiIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IHNlbGVjdGVkU2VjdGlvbktleS5sZW5ndGggPiAwIHx8IHNlbGVjdGVkQmxvY2tLZXkubGVuZ3RoID4gMFwiIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydCgkZXZlbnQpXCIgKGNka0RyYWdFbmRlZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiIFxuICAgID5cbiAgICA8cGVwLWRyYWdnYWJsZS1pdGVtICpuZ0lmPVwiZWRpdGFibGUgJiYgaXNNYWluRWRpdG9yU3RhdGUgJiYgZHJhZ2dpbmdTZWN0aW9uS2V5ID09PSAnJ1wiIGNka0RyYWdIYW5kbGUgc3R5bGU9XCJjdXJzb3I6IGdyYWI7XCJcbiAgICAgICAgY2xhc3M9XCJzZWN0aW9uLXRvb2xiYXJcIiBbbmdDbGFzc109XCJ7ICdoaWRlLXRvb2xiYXInOiAhaG92ZXJTdGF0ZSB9XCIgW3RpdGxlXT1cIm5hbWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBwZXAtYWN0aW9ucz5cbiAgICAgICAgICAgIDxwZXAtYnV0dG9uIGNsYXNzTmFtZXM9XCJjYXV0aW9uXCIgc2l6ZVR5cGU9XCJ4c1wiIGljb25OYW1lPVwic3lzdGVtX2JpblwiIChidXR0b25DbGljayk9XCJvblJlbW92ZVNlY3Rpb25DbGljaygpO1wiPjwvcGVwLWJ1dHRvbj5cbiAgICAgICAgICAgIDxoaWRlLWluIFtoaWRlSW5dPVwiaGlkZUluXCIgKGhpZGVJbkNoYW5nZSk9XCJvbkhpZGVTZWN0aW9uQ2hhbmdlKCRldmVudClcIiAobWVudUNsb3NlZCk9XCJvbkhpZGVJbk1lbnVDbG9zZWQoKVwiIChtZW51T3BlbmVkKT1cIm9uSGlkZUluTWVudU9wZW5lZCgpXCI+PC9oaWRlLWluPlxuICAgICAgICAgICAgPHBlcC1idXR0b24gc2l6ZVR5cGU9XCJ4c1wiIGljb25OYW1lPVwic3lzdGVtX2VkaXRcIiAoYnV0dG9uQ2xpY2spPVwib25FZGl0U2VjdGlvbkNsaWNrKCk7XCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3BlcC1kcmFnZ2FibGUtaXRlbT5cblxuICAgIDxkaXYgKm5nSWY9XCJlZGl0YWJsZVwiIGNsYXNzPVwic2VjdGlvbi1iYWNrZ3JvdW5kXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrLXRlbXBsYXRlXCIgKm5nRm9yPVwibGV0IG51bWJlciBvZiBbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMV1cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNjb2x1bW5zV3JhcHBlciBjbGFzcz1cImNvbHVtbnMtd3JhcHBlciBnYXAte3sgY29sdW1uc0dhcCB9fVwiIFxuICAgICAgICBbbmdDbGFzc109XCJ7ICdtb2JpbGUnOiBzY3JlZW5UeXBlID09PSAnUGhhYmxldCcsICdpcy1kcmFnZ2luZyc6IGVkaXRhYmxlICYmIGdldElzRHJhZ2dpbmcgfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGk9aW5kZXg7XCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBtb3ZlZCB0byB0aGUgc2VjdGlvbi1ibG9jayBjb21wb25lbnQgY2F1c2Ugd2hlbiB3ZSBjaGFuZ2UgdG8gd29yayB3aXRoICdncmlkLWNvbHVtbicgc3R5bGUgd2UgaGF2ZSB0byBkcmF3IHRoZSBjb2x1bW5zLlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGFibGUgfHwgKGNvbHVtbi5CbG9ja0NvbnRhaW5lciAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyLkJsb2NrS2V5Lmxlbmd0aCA+IDAgJiYgIWdldElzSGlkZGVuKGNvbHVtbj8uQmxvY2tDb250YWluZXI/LkhpZGUsIHNjcmVlblR5cGUpKVwiICBcbiAgICAgICAgICAgIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRhYmxlIHx8IGlzSG9yaXpvbnRhbFZpZXcgfHwgKGNvbHVtbi5CbG9ja0NvbnRhaW5lciAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyLkJsb2NrS2V5Lmxlbmd0aCA+IDApXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwic2VjdGlvbkNvbHVtbktleVByZWZpeCArIGlcIiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlY3Rpb24tY29sdW1uIHt7aXNIb3Jpem9udGFsVmlldyA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCd9fVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlLWNvbHVtbic6IHNlbGVjdGVkQmxvY2tLZXkgPT09IGNvbHVtbi5CbG9ja0NvbnRhaW5lcj8uQmxvY2tLZXksIFxuICAgICAgICAgICAgICAgICAgICAnaXMtaGlkZGVuJzogZ2V0SXNIaWRkZW4oY29sdW1uPy5CbG9ja0NvbnRhaW5lcj8uSGlkZSwgc2NyZWVuVHlwZSksXG4gICAgICAgICAgICAgICAgICAgICdhbHJlYWR5LWNvbnRhaW5zLWJsb2NrJzogZWRpdGFibGUgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyICYmIGNvbHVtbi5CbG9ja0NvbnRhaW5lci5CbG9ja0tleSAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkubGVuZ3RoID4gMCAmJiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnaW5nQmxvY2tLZXkgJiYgZHJhZ2dpbmdCbG9ja0tleS5sZW5ndGggPiAwICYmIGNvbHVtbi5CbG9ja0NvbnRhaW5lci5CbG9ja0tleSAhPT0gZHJhZ2dpbmdCbG9ja0tleSB9XCJcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3RPcmllbnRhdGlvbl09XCJpc0hvcml6b250YWxWaWV3ID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJ1wiIFxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cInNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0XCJcbiAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uQmxvY2tEcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImNhbkRyb3BQcmVkaWNhdGUoaSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uLWJsb2NrICpuZ0lmPVwiY29sdW1uLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleVwiIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlY3Rpb24tYmxvY2tcIiBbc2VjdGlvbktleV09XCJrZXlcIiBbYmxvY2tUZW1wbGF0ZV09XCJibG9ja1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Jsb2NrQ29udGFpbmVyXT1cImNvbHVtbi5CbG9ja0NvbnRhaW5lclwiIFtlZGl0YWJsZV09XCJlZGl0YWJsZVwiIFtpc01haW5FZGl0b3JTdGF0ZV09XCJpc01haW5FZGl0b3JTdGF0ZVwiIFtzZWN0aW9uSGVpZ2h0XT1cInN0eWxlSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJzZWxlY3RlZEJsb2NrS2V5ID09PSBjb2x1bW4uQmxvY2tDb250YWluZXI/LkJsb2NrS2V5XCIgW3NjcmVlblR5cGVdPVwic2NyZWVuVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIChkcmFnRXhpdGVkKT1cIm9uU2VjdGlvbkJsb2NrRHJhZ0V4aXRlZCgkZXZlbnQpXCIgKGRyYWdFbnRlcmVkKT1cIm9uU2VjdGlvbkJsb2NrRHJhZ0VudGVyZWQoJGV2ZW50KVwiPjwvc2VjdGlvbi1ibG9jaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9sYXlvdXQtYnVpbGRlci9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFnQixLQUFLLEVBQXVFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEwsT0FBTyxFQUFFLHNCQUFzQixFQUFvQixpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7QUFPeEYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHNCQUFzQjtJQVV4RCxJQUNJLEtBQUssQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFDSSxNQUFNLENBQUMsS0FBeUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQ0ksZ0JBQWdCLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3pGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUdELElBQ0ksT0FBTyxDQUFDLEtBQXFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksT0FBTyxDQUFDLEtBQXFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLE1BQU0sQ0FBQyxLQUEyQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFZRCw2QkFBNkI7SUFDN0IsMkNBQTJDO0lBQzNDLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0IsSUFBSTtJQUNKLElBQWMsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUM7SUFDM0QsQ0FBQztJQUdELElBQWMsVUFBVSxDQUFDLEtBQXdCO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELElBQWMsVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQXFCRCxZQUNZLFFBQW1CLEVBQ25CLDRCQUEwRDtRQUdsRSxLQUFLLEVBQUUsQ0FBQztRQUpBLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtRQWhIN0QsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFNBQUksR0FBRyxFQUFFLENBQUM7UUFFWCxXQUFNLEdBQTBCLFNBQVMsQ0FBQztRQVUxQyxZQUFPLEdBQXVCLFNBQVMsQ0FBQztRQVV4QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFXMUIsYUFBUSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBUzdDLGFBQVEsR0FBbUMsRUFBRSxDQUFDO1FBUzlDLFlBQU8sR0FBeUIsRUFBRSxDQUFDO1FBYTNDLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBR3pCLGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBRVosNEJBQXVCLEdBQWEsRUFBRSxDQUFDO1FBcUJqRCx5Q0FBeUM7UUFDL0IsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBRTVCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLGtDQUE2QixHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDakMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQVFuQyxDQUFDO0lBRU8sZ0NBQWdDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyw2QkFBNkI7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsb0NBQW9DO0lBQ3BDLDhCQUE4QjtJQUM5QixvQ0FBb0M7SUFDcEMsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsb0NBQW9DO0lBQ3BDLDhCQUE4QjtJQUM5QixvQ0FBb0M7SUFDcEMsa0NBQWtDO0lBQ2xDLHdDQUF3QztJQUN4QywwQkFBMEI7SUFDMUIsZ0NBQWdDO0lBQ2hDLDBCQUEwQjtJQUMxQixnQ0FBZ0M7SUFDaEMsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyxzQ0FBc0M7SUFDdEMsNEJBQTRCO0lBQzVCLFFBQVE7SUFDUixJQUFJO0lBRUksZ0JBQWdCLENBQUMsV0FBbUI7UUFDeEMsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDaEIsS0FBSyxTQUFTO2dCQUNWLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1YsS0FBSyxhQUFhO2dCQUNkLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDOUMsTUFBTTtZQUNWLEtBQUssYUFBYTtnQkFDZCxrQkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2hELE1BQU07WUFDTixLQUFLLFNBQVM7Z0JBQ1Ysa0JBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLGFBQWE7Z0JBQ2Qsa0JBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QyxNQUFNO1lBQ1YsS0FBSyxhQUFhO2dCQUNkLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNWLEtBQUssaUJBQWlCO2dCQUNsQixrQkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLGtCQUFrQixHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1NBQ2I7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUU7WUFDekMsR0FBRyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU8scUJBQXFCLENBQUMsb0JBQXlCLEVBQUUsV0FBbUI7UUFDeEUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztTQUNoRjthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hFO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDaEIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUU3RSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzFCLG1EQUFtRDtnQkFFbkQsK0NBQStDO2dCQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFO29CQUUzRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDN0UsMEZBQTBGO3dCQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDLENBQUM7cUJBQzdGO3lCQUFNO3dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBRTdFLGdDQUFnQzt3QkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7NEJBQ2hCLG1EQUFtRDs0QkFFbkQsb0hBQW9IOzRCQUNwSCw0Q0FBNEM7NEJBQzVDLG9DQUFvQzs0QkFDcEMsc0NBQXNDOzRCQUN0QyxRQUFROzRCQUNSLE1BQU07NEJBQ04sK0ZBQStGOzRCQUMvRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxDQUFDO3lCQUMvRTtxQkFDSjtvQkFFRCw2REFBNkQ7b0JBQzdELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFFakYsS0FBSyxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUUsV0FBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7d0JBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7cUJBQ3hFO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQy9EO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0MsRUFBRSxpQkFBcUM7UUFDdkYsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbkcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4RixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVILG9GQUFvRjtRQUNwRiw4QkFBOEI7UUFDOUIsTUFBTTtRQUVOLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsNEJBQTRCLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLHVCQUE0QixFQUFFLEVBQUU7Z0JBQ2xJLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztZQUMzRCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUNoRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0UsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFxQixFQUFFLEVBQUU7Z0JBQzdHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztnQkFFekMsSUFBSSxnQkFBZ0IsS0FBSyxFQUFFLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO2lCQUMzQztxQkFBTTtvQkFDSCwrRkFBK0Y7b0JBQy9GLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDakYsSUFBSSxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxRQUFRLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7d0JBQ3BHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7cUJBQ3RDO2lCQUNKO1lBRUwsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGtCQUF1QixFQUFFLEVBQUU7Z0JBQ2pILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQTRCO1FBQzVDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBcUQ7UUFDaEUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUFtQjtRQUNoQyxPQUFPLENBQUMsSUFBYSxFQUFFLElBQWlCLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzdGLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWtCO1FBQ3ZDLEVBQUU7SUFDTixDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBbUI7UUFDekMsRUFBRTtJQUNOLENBQUM7SUFFRCxVQUFVO1FBQ04sMkJBQTJCO1FBQzFCLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFLLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUM5RCxJQUFHLFVBQVUsRUFBRSxTQUFTLEVBQUM7WUFDckIsT0FBTyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzdDO2FBQ0c7WUFDQSxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxPQUFPLEdBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNuRjtRQUNELE9BQU87WUFDSCxTQUFTLEVBQUUsT0FBTztTQUNyQixDQUFDO0lBQ1YsQ0FBQzsrR0EvWVcsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbW1CQ2I3QixnbElBa0RBOzs0RkRyQ2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLFNBQVM7eUhBS1ksbUJBQW1CO3NCQUFqRCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDRyxpQkFBaUI7c0JBQWhELFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUVyQixhQUFhO3NCQUFyQixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO2dCQVdGLE1BQU07c0JBRFQsS0FBSztnQkFXRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBWUYsT0FBTztzQkFEVixLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUs7Z0JBU0csVUFBVTtzQkFBbEIsS0FBSztnQkFHTixjQUFjO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUkvQixXQUFXO3NCQURWLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJhZ1N0YXJ0LCBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplLCBTcGxpdFR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwTGF5b3V0U2VjdGlvbkNvbHVtbiwgUGVwTGF5b3V0U2l6ZVR5cGUgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBQYWRkaW5nU2V0dGluZ3MgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvcGFkZGluZy1zZXR0aW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlY3Rpb24uY29tcG9uZW50LnNjc3MnLCAnLi9zZWN0aW9uLmNvbXBvbmVudC50aGVtZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25Db250YWluZXInKSBzZWN0aW9uQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCdjb2x1bW5zV3JhcHBlcicpIGNvbHVtbnNFbGVtZW50UmVmITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQElucHV0KCkgYmxvY2tUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIG5hbWUgPSAnJztcblxuICAgIHByaXZhdGUgX3NwbGl0OiBTcGxpdFR5cGUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KClcbiAgICBzZXQgc3BsaXQodmFsdWU6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCApIHtcbiAgICAgICAgdGhpcy5fc3BsaXQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICB9XG4gICAgZ2V0IHNwbGl0KCk6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcGxpdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBoZWlnaHQodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTdHlsZUhlaWdodCgpO1xuICAgIH1cbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VPblRhYmxldCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbGxhcHNlT25UYWJsZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY29sbGFwc2VPblRhYmxldCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnBlcFNjcmVlblNpemVUb0ZsaXBUb1ZlcnRpY2FsID0gdmFsdWUgPyBQZXBTY3JlZW5TaXplVHlwZS5NRCA6IFBlcFNjcmVlblNpemVUeXBlLlhTO1xuICAgICAgICB0aGlzLnJlZnJlc2hTcGxpdCgpO1xuICAgIH1cbiAgICBnZXQgY29sbGFwc2VPblRhYmxldCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlT25UYWJsZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcGFkZGluZyA9IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3ModHJ1ZSwgJzAnKTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBwYWRkaW5nKHZhbHVlOiBQZXBQYWRkaW5nU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fcGFkZGluZyA9IHZhbHVlIHx8IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3ModHJ1ZSwgJzAnKTtcbiAgICB9XG4gICAgZ2V0IHBhZGRpbmcoKTogUGVwUGFkZGluZ1NldHRpbmdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZGRpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+ID0gW107XG4gICAgQElucHV0KClcbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+KSB7XG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSB2YWx1ZSB8fCBbXTtcbiAgICB9XG4gICAgZ2V0IGNvbHVtbnMoKTogQXJyYXk8SVBlcExheW91dFNlY3Rpb25Db2x1bW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgX2hpZGVJbjogRGF0YVZpZXdTY3JlZW5TaXplW10gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBoaWRlSW4odmFsdWU6IERhdGFWaWV3U2NyZWVuU2l6ZVtdKSB7XG4gICAgICAgIHRoaXMuX2hpZGVJbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldElmSGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlKCk7XG4gICAgfVxuICAgIGdldCBoaWRlSW4oKTogRGF0YVZpZXdTY3JlZW5TaXplW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZUluO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbHVtbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICAgICAgXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgICBzdHlsZU1heEhlaWdodCA9ICd1bnNldCc7XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICAgIHN0eWxlSGVpZ2h0ID0gJ3Vuc2V0JztcbiAgICBcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNDb2x1bW5zRHJvcExpc3Q6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBwcml2YXRlIF9lZGl0YWJsZSA9IGZhbHNlO1xuICAgIC8vIHByb3RlY3RlZCBzZXQgZWRpdGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAvLyAgICAgdGhpcy5fZWRpdGFibGUgPSB2YWx1ZTtcbiAgICAvLyAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICAvLyB9XG4gICAgcHJvdGVjdGVkIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0YWJsZVN0YXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NjcmVlblNpemUhOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgc2V0IHNjcmVlblNpemUodmFsdWU6IFBlcFNjcmVlblNpemVUeXBlKSB7XG4gICAgICAgIHRoaXMuX3NjcmVlblNpemUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU3BsaXQoKTtcbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgc2NyZWVuU2l6ZSgpOiBQZXBTY3JlZW5TaXplVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JlZW5TaXplO1xuICAgIH1cblxuICAgIC8vIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIHNlY3Rpb25Db2x1bW5LZXlQcmVmaXggPSAnJztcbiAgICBcbiAgICBwcm90ZWN0ZWQgaXNNYWluRWRpdG9yU3RhdGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaXNFZGl0aW5nID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkU2VjdGlvbktleSA9ICcnO1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZEJsb2NrS2V5ID0gJyc7XG4gICAgXG4gICAgcHJvdGVjdGVkIGNvbnRhaW5zQmxvY2tzID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNob3VsZFNldERlZmF1bHRIZWlnaHQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcGVwU2NyZWVuU2l6ZVRvRmxpcFRvVmVydGljYWwgPSBQZXBTY3JlZW5TaXplVHlwZS5TTTtcbiAgICBwcm90ZWN0ZWQgc2NyZWVuVHlwZSE6IERhdGFWaWV3U2NyZWVuU2l6ZTtcbiAgICBwcm90ZWN0ZWQgaGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGRyYWdnaW5nQmxvY2tLZXkgPSAnJztcbiAgICBwcm90ZWN0ZWQgZHJhZ2dpbmdTZWN0aW9uS2V5ID0gJyc7XG4gICAgcHJvdGVjdGVkIGhvdmVyU3RhdGUgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBpc0hvcml6b250YWxWaWV3ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICApIHsgXG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVJZlNlY3Rpb25Db250YWluc0Jsb2NrcygpIHtcbiAgICAgICAgdGhpcy5jb250YWluc0Jsb2NrcyA9IHRoaXMuY29sdW1ucy5zb21lKGNvbHVtbiA9PiBjb2x1bW4uQmxvY2tDb250YWluZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3VsZFNldERlZmF1bHRIZWlnaHQgPSAhdGhpcy5jb250YWluc0Jsb2NrcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVuVHlwZSgpIHtcbiAgICAgICAgdGhpcy5zY3JlZW5UeXBlID0gdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmdldFNjcmVlblR5cGUodGhpcy5zY3JlZW5TaXplKTtcbiAgICAgICAgdGhpcy5zZXRJZkhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSgpO1xuICAgICAgICB0aGlzLnNldFN0eWxlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJZkhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlRm9yQ3VycmVudFNjcmVlblR5cGUgPSB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZ2V0SXNIaWRkZW4odGhpcy5oaWRlSW4sIHRoaXMuc2NyZWVuVHlwZSk7XG4gICAgfVxuICAgIFxuICAgIC8vIHByaXZhdGUgZ2V0Q3NzU3BsaXRTdHJpbmcoKSB7XG4gICAgLy8gICAgIHN3aXRjaCAodGhpcy5zcGxpdCkge1xuICAgIC8vICAgICAgICAgY2FzZSAnMS8yIDEvMic6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMiAxLzQgMS80JzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMyAxLzMgMS8zJzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzFmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvMyAyLzMnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDJmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS8yIDEvNCc6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMmZyIDFmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS80IDEvMic6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyIDJmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcxLzQgMS80IDEvNCAxLzQnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDFmciAxZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGNhc2UgJzEvNCAzLzQnOlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyIDNmcic7XG4gICAgLy8gICAgICAgICBjYXNlICcyLzMgMS8zJzpcbiAgICAvLyAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnInO1xuICAgIC8vICAgICAgICAgY2FzZSAnMy80IDEvNCc6XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuICczZnIgMWZyJztcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6IC8vIEZvciBvbmUgY29sdW1uLlxuICAgIC8vICAgICAgICAgICAgIHJldHVybiAnMWZyJztcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIHByaXZhdGUgZ2V0Q3NzR3JpZENvbHVtbihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGxldCByZXMgPSAnMS8xMyc7XG4gICAgICAgIGxldCBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvMTMnXTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3BsaXQpIHtcbiAgICAgICAgICAgIGNhc2UgJzEvMiAxLzInOlxuICAgICAgICAgICAgICAgIGdyaWRDb2x1bW5WYWx1ZUFyciA9IFsnMS83JywgJzcvMTMnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEvMiAxLzQgMS80JzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNycsICc3LzEwJywgJzEwLzEzJ107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcxLzMgMS8zIDEvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzUnLCAnNS85JywgJzkvMTMnXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS8zIDIvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzUnLCAnNS8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDEvMiAxLzQnOlxuICAgICAgICAgICAgICAgIGdyaWRDb2x1bW5WYWx1ZUFyciA9IFsnMS80JywgJzQvMTAnLCAnMTAvMTMnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEvNCAxLzQgMS8yJzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNCcsICc0LzcnLCAnNy8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDEvNCAxLzQgMS80JzpcbiAgICAgICAgICAgICAgICBncmlkQ29sdW1uVmFsdWVBcnIgPSBbJzEvNCcsICc0LzcnLCAnNy8xMCcsICcxMC8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS80IDMvNCc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzQnLCAnNC8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMi8zIDEvMyc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzknLCAnOS8xMyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMy80IDEvNCc6XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtblZhbHVlQXJyID0gWycxLzEwJywgJzEwLzEzJ107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JpZENvbHVtblZhbHVlQXJyLmxlbmd0aCA+IGNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICByZXMgPSBncmlkQ29sdW1uVmFsdWVBcnJbY29sdW1uSW5kZXhdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlY3Rpb25Db2x1bW5TdHlsZShzZWN0aW9uQ29sdW1uRWxlbWVudDogYW55LCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbFZpZXcpIHtcbiAgICAgICAgICAgIGNvbnN0IGdyaWRDb2x1bW5WYWx1ZSA9IHRoaXMuZ2V0Q3NzR3JpZENvbHVtbihjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb25Db2x1bW5FbGVtZW50LCAnZ3JpZC1jb2x1bW4nLCBncmlkQ29sdW1uVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uQ29sdW1uRWxlbWVudCwgJ2dyaWQtY29sdW1uJywgJ3Vuc2V0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hTcGxpdCgpIHtcbiAgICAgICAgLy8gSG9yaXpvbnRhbCAodHJ1ZSkgZm9yIGxhcmdlIHNjcmVlbnMsIGZhbHNlIGZvciBzbWFsbCBzY3JlZW5zLlxuICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbFZpZXcgPSB0aGlzLnNjcmVlblNpemUgPCB0aGlzLnBlcFNjcmVlblNpemVUb0ZsaXBUb1ZlcnRpY2FsO1xuICAgICAgICBcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWN0aW9uQ29udGFpbmVyUmVmKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc3QgY3NzU3BsaXRTdHJpbmcgPSB0aGlzLmdldENzc1NwbGl0U3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gR28gZm9yIGFsbCB0aGUgY29sdW1ucyBpbiB0aGUgY29sdW1uc1dyYXBwZXJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnNFbGVtZW50UmVmLnRvQXJyYXkoKS5tYXAoKHNlY3Rpb24sIHNlY3Rpb25JbmRleCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbFZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC1hdXRvLWZsb3cnLCAnY29sdW1uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsICd1bnNldCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnLCBjc3NTcGxpdFN0cmluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsICdyZXBlYXQoMTIsIDFmciknKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC1hdXRvLWZsb3cnLCAncm93Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsICd1bnNldCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLXRlbXBsYXRlLXJvd3MnLCAndW5zZXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW4gcnVudGltZSAob3IgcHJldmlldyBtb2RlKS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGNzc1NwbGl0QXJyYXkgPSBjc3NTcGxpdFN0cmluZy5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC8vIElmIHRoZXJlIGFyZSBzb21lIGhpZGRlbiBjb2x1bW5zIGNoYW5nZSB0aGUgY29sdW1uIHdpZHRoIHRvIDAgKGZvciBjdXQgdGhlIHNwYWNpbmcgaW4gdGhlIGdyaWQtdGVtcGxhdGUtcm93cykuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5jb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgaWYgKCFjb2x1bW4uQmxvY2tDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGNzc1NwbGl0QXJyYXlbaW5kZXhdID0gJzAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsIGNzc1NwbGl0QXJyYXkuam9pbignICcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtcm93cycsICdhdXRvJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBHbyBmb3IgYWxsIHRoZSBjb2x1bW5zIGluIHRoZSBzZWN0aW9uIGFuZCBzZXQgdGhlcmUgc3R5bGUuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlY3Rpb25Db2x1bW5zID0gc2VjdGlvbi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uLWNvbHVtbicpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IHNlY3Rpb25Db2x1bW5zLmxlbmd0aDsgY29sdW1uSW5kZXgrKykgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbkNvbHVtblN0eWxlKHNlY3Rpb25Db2x1bW5zW2NvbHVtbkluZGV4XSwgY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3R5bGVIZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmhlaWdodCAmJiB0aGlzLmhlaWdodCA+IDAgJiYgdGhpcy5zY3JlZW5UeXBlICE9PSAnUGhhYmxldCcpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVIZWlnaHQgPSB0aGlzLnN0eWxlTWF4SGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHR9cHhgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUhlaWdodCA9IHRoaXMuc3R5bGVNYXhIZWlnaHQgPSAndW5zZXQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SXNEcmFnZ2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ2dpbmdCbG9ja0tleS5sZW5ndGggPiAwICYmIHRoaXMuZHJhZ2dpbmdTZWN0aW9uS2V5Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0SXNIaWRkZW4oaGlkZUluOiBEYXRhVmlld1NjcmVlblNpemVbXSB8IHVuZGVmaW5lZCwgY3VycmVudFNjcmVlblR5cGU6IERhdGFWaWV3U2NyZWVuU2l6ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmdldElzSGlkZGVuKGhpZGVJbiwgY3VycmVudFNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UucHJldmlld01vZGVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKHByZXZpZXdNb2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFNwbGl0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEp1c3QgdG8gY2FsY3VsYXRlIGlmIHNlY3Rpb25zIGNvbnRhaW5zIGJsb2Nrc1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUlmU2VjdGlvbkNvbnRhaW5zQmxvY2tzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5zY3JlZW5TaXplID0gc2l6ZTtcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNjcmVlblNpemVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0b3JDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChlZGl0b3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNYWluRWRpdG9yU3RhdGUgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdsYXlvdXQtYnVpbGRlcic7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VkaXRpbmcgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdzZWN0aW9uJyAmJiBlZGl0b3IuaWQgPT09IHRoaXMua2V5O1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTZWN0aW9uS2V5ID0gZWRpdG9yICYmIGVkaXRvci50eXBlID09PSAnc2VjdGlvbicgPyBlZGl0b3IuaWQgOiAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQmxvY2tLZXkgPSBlZGl0b3IgJiYgZWRpdG9yLnR5cGUgPT09ICdibG9jaycgPyBlZGl0b3IuaWQgOiAnJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZHJhZ2dpbmdCbG9ja0tleS5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZHJhZ2dpbmdCbG9ja0tleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ0Jsb2NrS2V5ID0gZHJhZ2dpbmdCbG9ja0tleTtcblxuICAgICAgICAgICAgICAgIGlmIChkcmFnZ2luZ0Jsb2NrS2V5ID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUlmU2VjdGlvbkNvbnRhaW5zQmxvY2tzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgb25seSBvbmUgYmxvY2sgaW4gdGhlIHNlY3Rpb24gYW5kIG5vdyBpdCdzIHRoaXMgYmxvY2sgdGhhdCB0aGUgdXNlciBpcyBkcmFnZ2luZy5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tzTGVuZ3RoID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLkJsb2NrQ29udGFpbmVyKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9ja3NMZW5ndGggPT09IDEgJiYgdGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleSA9PT0gdGhpcy5kcmFnZ2luZ0Jsb2NrS2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG91bGRTZXREZWZhdWx0SGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5kcmFnZ2luZ1NlY3Rpb25LZXkucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKGRyYWdnaW5nU2VjdGlvbktleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ1NlY3Rpb25LZXkgPSBkcmFnZ2luZ1NlY3Rpb25LZXk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VjdGlvbkNvbHVtbktleVByZWZpeCA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTZWN0aW9uQ29sdW1uS2V5KHRoaXMua2V5KTtcbiAgICB9XG5cbiAgICBvbkVkaXRTZWN0aW9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5uYXZpZ2F0ZVRvRWRpdG9yKCdzZWN0aW9uJywgdGhpcy5rZXkpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlU2VjdGlvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UucmVtb3ZlU2VjdGlvbih0aGlzLmtleSk7XG4gICAgfVxuXG4gICAgb25IaWRlU2VjdGlvbkNoYW5nZShoaWRlSW46IERhdGFWaWV3U2NyZWVuU2l6ZVtdKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5oaWRlU2VjdGlvbih0aGlzLmtleSwgaGlkZUluKTtcbiAgICB9XG5cbiAgICBvbkhpZGVJbk1lbnVPcGVuZWQoKSB7XG4gICAgICAgIHRoaXMuaG92ZXJTdGF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgb25IaWRlSW5NZW51Q2xvc2VkKCkge1xuICAgICAgICB0aGlzLmhvdmVyU3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkJsb2NrRHJvcHBlZChldmVudDogQ2RrRHJhZ0Ryb3A8SVBlcExheW91dFNlY3Rpb25Db2x1bW4sIGFueSwgYW55Pikge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25CbG9ja0Ryb3BwZWQoZXZlbnQsIHRoaXMua2V5KTtcbiAgICB9XG5cbiAgICBjYW5Ecm9wUHJlZGljYXRlKGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIChkcmFnOiBDZGtEcmFnLCBkcm9wOiBDZGtEcm9wTGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzID0gIXRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5kb2VzQ29sdW1uQ29udGFpbkJsb2NrKHRoaXMua2V5LCBjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblNlY3Rpb25CbG9ja0RyYWdFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0KSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgb25TZWN0aW9uQmxvY2tEcmFnRW50ZXJlZChldmVudDogQ2RrRHJhZ0VudGVyKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UGFkZGluZygpe1xuICAgICAgICAvLyBjYWxjIGJ1dHRvbnMgYmFyIHBhZGRpbmdcbiAgICAgICAgIGxldCBwYWRkaW5nID0gJzByZW0nO1xuICAgICAgICAgY29uc3QgcGFkZGluZ09iaiA9IHRoaXMuX3BhZGRpbmcgIHx8IG5ldyBQZXBQYWRkaW5nU2V0dGluZ3MoKTtcbiAgICAgICAgIGlmKHBhZGRpbmdPYmo/LklzVW5pZm9ybSl7XG4gICAgICAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdPYmouUGFkZGluZ1ZhbHVlICsgJ3JlbSc7IFxuICAgICAgICAgfVxuICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICBjb25zdCBudW0gPSBwYWRkaW5nT2JqLlBhZGRpbmdWYWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgIHBhZGRpbmcgPSAgbnVtWzBdICsgJ3JlbSAnICsgbnVtWzFdICsgJ3JlbSAnICsgbnVtWzJdICsgJ3JlbSAnICsgbnVtWzNdICsgJ3JlbSc7XG4gICAgICAgICB9XG4gICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICdwYWRkaW5nJzogcGFkZGluZ1xuICAgICAgICAgfTtcbiB9XG59XG4iLCI8ZGl2ICNzZWN0aW9uQ29udGFpbmVyICpuZ0lmPVwiZWRpdGFibGUgfHwgKGNvbnRhaW5zQmxvY2tzICYmICFoaWRlRm9yQ3VycmVudFNjcmVlblR5cGUpXCIgY2xhc3M9XCJzZWN0aW9uLWNvbnRhaW5lciBcIlxuICAgIFtuZ1N0eWxlXT1cImdldFBhZGRpbmcoKVwiXG4gICAgW25nQ2xhc3NdPVwieyBcbiAgICAgICAgJ21vYmlsZSc6IHNjcmVlblR5cGUgPT09ICdQaGFibGV0JyxcbiAgICAgICAgJ2VkaXRhYmxlLXN0YXRlJzogZWRpdGFibGUsICdtYWluLWVkaXRvci1zdGF0ZSc6IGlzTWFpbkVkaXRvclN0YXRlLCAnZGVmYXVsdC1oZWlnaHQnOiBzaG91bGRTZXREZWZhdWx0SGVpZ2h0LCAnYWN0aXZlLXNlY3Rpb24nOiBpc0VkaXRpbmcsXG4gICAgICAgICdzZWN0aW9uLWhpZGRlbi1zdGF0ZSc6IGhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSwgJ3NlY3Rpb24taXMtZHJhZ2dpbmcnOiBkcmFnZ2luZ1NlY3Rpb25LZXkgIT09ICcnLCAnc2hvdy1ob3Zlci1zdGF0ZSc6IGhvdmVyU3RhdGUgfVwiIFxuICAgICAgICBjZGtEcmFnQm91bmRhcnk9XCIubGF5b3V0LWJ1aWxkZXItd3JhcHBlclwiIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImtleVwiIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IHNlbGVjdGVkU2VjdGlvbktleS5sZW5ndGggPiAwIHx8IHNlbGVjdGVkQmxvY2tLZXkubGVuZ3RoID4gMFwiIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydCgkZXZlbnQpXCIgKGNka0RyYWdFbmRlZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiIFxuICAgID5cbiAgICA8cGVwLWRyYWdnYWJsZS1pdGVtICpuZ0lmPVwiZWRpdGFibGUgJiYgaXNNYWluRWRpdG9yU3RhdGUgJiYgZHJhZ2dpbmdTZWN0aW9uS2V5ID09PSAnJ1wiIGNka0RyYWdIYW5kbGUgc3R5bGU9XCJjdXJzb3I6IGdyYWI7XCJcbiAgICAgICAgY2xhc3M9XCJzZWN0aW9uLXRvb2xiYXJcIiBbbmdDbGFzc109XCJ7ICdoaWRlLXRvb2xiYXInOiAhaG92ZXJTdGF0ZSB9XCIgW3RpdGxlXT1cIm5hbWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBwZXAtYWN0aW9ucz5cbiAgICAgICAgICAgIDxwZXAtYnV0dG9uIGNsYXNzTmFtZXM9XCJjYXV0aW9uXCIgc2l6ZVR5cGU9XCJ4c1wiIGljb25OYW1lPVwic3lzdGVtX2JpblwiIChidXR0b25DbGljayk9XCJvblJlbW92ZVNlY3Rpb25DbGljaygpO1wiPjwvcGVwLWJ1dHRvbj5cbiAgICAgICAgICAgIDxoaWRlLWluIFtoaWRlSW5dPVwiaGlkZUluXCIgKGhpZGVJbkNoYW5nZSk9XCJvbkhpZGVTZWN0aW9uQ2hhbmdlKCRldmVudClcIiAobWVudUNsb3NlZCk9XCJvbkhpZGVJbk1lbnVDbG9zZWQoKVwiIChtZW51T3BlbmVkKT1cIm9uSGlkZUluTWVudU9wZW5lZCgpXCI+PC9oaWRlLWluPlxuICAgICAgICAgICAgPHBlcC1idXR0b24gc2l6ZVR5cGU9XCJ4c1wiIGljb25OYW1lPVwic3lzdGVtX2VkaXRcIiAoYnV0dG9uQ2xpY2spPVwib25FZGl0U2VjdGlvbkNsaWNrKCk7XCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3BlcC1kcmFnZ2FibGUtaXRlbT5cblxuICAgIDxkaXYgKm5nSWY9XCJlZGl0YWJsZVwiIGNsYXNzPVwic2VjdGlvbi1iYWNrZ3JvdW5kXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrLXRlbXBsYXRlXCIgKm5nRm9yPVwibGV0IG51bWJlciBvZiBbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMV1cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNjb2x1bW5zV3JhcHBlciBjbGFzcz1cImNvbHVtbnMtd3JhcHBlciBnYXAte3sgY29sdW1uc0dhcCB9fVwiIFxuICAgICAgICBbbmdDbGFzc109XCJ7ICdtb2JpbGUnOiBzY3JlZW5UeXBlID09PSAnUGhhYmxldCcsICdpcy1kcmFnZ2luZyc6IGVkaXRhYmxlICYmIGdldElzRHJhZ2dpbmcgfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGk9aW5kZXg7XCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBtb3ZlZCB0byB0aGUgc2VjdGlvbi1ibG9jayBjb21wb25lbnQgY2F1c2Ugd2hlbiB3ZSBjaGFuZ2UgdG8gd29yayB3aXRoICdncmlkLWNvbHVtbicgc3R5bGUgd2UgaGF2ZSB0byBkcmF3IHRoZSBjb2x1bW5zLlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGFibGUgfHwgKGNvbHVtbi5CbG9ja0NvbnRhaW5lciAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyLkJsb2NrS2V5Lmxlbmd0aCA+IDAgJiYgIWdldElzSGlkZGVuKGNvbHVtbj8uQmxvY2tDb250YWluZXI/LkhpZGUsIHNjcmVlblR5cGUpKVwiICBcbiAgICAgICAgICAgIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRhYmxlIHx8IGlzSG9yaXpvbnRhbFZpZXcgfHwgKGNvbHVtbi5CbG9ja0NvbnRhaW5lciAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyLkJsb2NrS2V5Lmxlbmd0aCA+IDApXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwic2VjdGlvbkNvbHVtbktleVByZWZpeCArIGlcIiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlY3Rpb24tY29sdW1uIHt7aXNIb3Jpem9udGFsVmlldyA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCd9fVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlLWNvbHVtbic6IHNlbGVjdGVkQmxvY2tLZXkgPT09IGNvbHVtbi5CbG9ja0NvbnRhaW5lcj8uQmxvY2tLZXksIFxuICAgICAgICAgICAgICAgICAgICAnaXMtaGlkZGVuJzogZ2V0SXNIaWRkZW4oY29sdW1uPy5CbG9ja0NvbnRhaW5lcj8uSGlkZSwgc2NyZWVuVHlwZSksXG4gICAgICAgICAgICAgICAgICAgICdhbHJlYWR5LWNvbnRhaW5zLWJsb2NrJzogZWRpdGFibGUgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyICYmIGNvbHVtbi5CbG9ja0NvbnRhaW5lci5CbG9ja0tleSAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkubGVuZ3RoID4gMCAmJiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnaW5nQmxvY2tLZXkgJiYgZHJhZ2dpbmdCbG9ja0tleS5sZW5ndGggPiAwICYmIGNvbHVtbi5CbG9ja0NvbnRhaW5lci5CbG9ja0tleSAhPT0gZHJhZ2dpbmdCbG9ja0tleSB9XCJcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3RPcmllbnRhdGlvbl09XCJpc0hvcml6b250YWxWaWV3ID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJ1wiIFxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cInNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0XCJcbiAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uQmxvY2tEcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImNhbkRyb3BQcmVkaWNhdGUoaSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uLWJsb2NrICpuZ0lmPVwiY29sdW1uLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleVwiIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlY3Rpb24tYmxvY2tcIiBbc2VjdGlvbktleV09XCJrZXlcIiBbYmxvY2tUZW1wbGF0ZV09XCJibG9ja1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Jsb2NrQ29udGFpbmVyXT1cImNvbHVtbi5CbG9ja0NvbnRhaW5lclwiIFtlZGl0YWJsZV09XCJlZGl0YWJsZVwiIFtpc01haW5FZGl0b3JTdGF0ZV09XCJpc01haW5FZGl0b3JTdGF0ZVwiIFtzZWN0aW9uSGVpZ2h0XT1cInN0eWxlSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJzZWxlY3RlZEJsb2NrS2V5ID09PSBjb2x1bW4uQmxvY2tDb250YWluZXI/LkJsb2NrS2V5XCIgW3NjcmVlblR5cGVdPVwic2NyZWVuVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIChkcmFnRXhpdGVkKT1cIm9uU2VjdGlvbkJsb2NrRHJhZ0V4aXRlZCgkZXZlbnQpXCIgKGRyYWdFbnRlcmVkKT1cIm9uU2VjdGlvbkJsb2NrRHJhZ0VudGVyZWQoJGV2ZW50KVwiPjwvc2VjdGlvbi1ibG9jaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -10,14 +10,14 @@ import { HideInModule } from '../hide-in/hide-in.module';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@ngx-translate/core";
12
12
  export class SectionModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SectionModule, declarations: [SectionComponent], imports: [CommonModule,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SectionModule, declarations: [SectionComponent], imports: [CommonModule,
15
15
  DragDropModule,
16
16
  PepButtonModule,
17
17
  SectionBlockModule,
18
18
  HideInModule,
19
19
  PepDraggableItemsModule, i1.TranslateModule], exports: [SectionComponent] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionModule, imports: [CommonModule,
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionModule, imports: [CommonModule,
21
21
  DragDropModule,
22
22
  PepButtonModule,
23
23
  SectionBlockModule,
@@ -25,7 +25,7 @@ export class SectionModule {
25
25
  PepDraggableItemsModule,
26
26
  TranslateModule.forChild()] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  declarations: [SectionComponent],