@eqproject/eqp-dynamic-module 2.11.5 → 2.11.7

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 (37) hide show
  1. package/README.md +4 -0
  2. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +3 -3
  3. package/esm2020/lib/components/private/dynamic-module-field-extra-fix/dynamic-module-field-extra-fix.component.mjs +3 -3
  4. package/esm2020/lib/components/private/field-graphics-editor/field-graphics-editor.component.mjs +115 -27
  5. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +28 -6
  6. package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +25 -5
  7. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +12 -3
  8. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +26 -4
  9. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +28 -6
  10. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +27 -5
  11. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +1 -1
  12. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +1 -1
  13. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +1 -1
  14. package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +3 -3
  15. package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +3 -3
  16. package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +3 -3
  17. package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +3 -3
  18. package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +7 -2
  19. package/esm2020/lib/utils/css-property-catalog.mjs +45 -2
  20. package/esm2020/lib/utils/field-style-catalog.mjs +45 -19
  21. package/esm2020/lib/utils/floating-label-styles.mjs +155 -0
  22. package/esm2020/lib/utils/refresh-outline-notch.mjs +38 -0
  23. package/fesm2015/eqproject-eqp-dynamic-module.mjs +799 -339
  24. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  25. package/fesm2020/eqproject-eqp-dynamic-module.mjs +779 -325
  26. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  27. package/lib/components/private/field-graphics-editor/field-graphics-editor.component.d.ts +19 -1
  28. package/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.d.ts +6 -2
  29. package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +6 -2
  30. package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +6 -2
  31. package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +6 -2
  32. package/lib/directives/speech-to-text/speech-to-text.directive.d.ts +3 -1
  33. package/lib/utils/css-property-catalog.d.ts +25 -0
  34. package/lib/utils/field-style-catalog.d.ts +5 -0
  35. package/lib/utils/floating-label-styles.d.ts +73 -0
  36. package/lib/utils/refresh-outline-notch.d.ts +15 -0
  37. package/package.json +1 -1
@@ -99,10 +99,10 @@ export class TextFilterTemplateComponent {
99
99
  }
100
100
  }
101
101
  TextFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- TextFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFilterTemplateComponent, selector: "text-filter-template", inputs: { field: "field", record: "record", Statistic: "Statistic" }, outputs: { recordChange: "recordChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n \r\n </div>\r\n</div>\r\n", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
102
+ TextFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFilterTemplateComponent, selector: "text-filter-template", inputs: { field: "field", record: "record", Statistic: "Statistic" }, outputs: { recordChange: "recordChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"record[field.Name]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n \r\n </div>\r\n</div>\r\n", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"], exportAs: ["speechToText"] }] });
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterTemplateComponent, decorators: [{
104
104
  type: Component,
105
- args: [{ selector: 'text-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-12 rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n \r\n </div>\r\n</div>\r\n", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
105
+ args: [{ selector: 'text-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-12 rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"record[field.Name]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n \r\n </div>\r\n</div>\r\n", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
106
106
  }], ctorParameters: function () { return []; }, propDecorators: { field: [{
107
107
  type: Input
108
108
  }], record: [{
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
114
114
  }], filterChange: [{
115
115
  type: Output
116
116
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL3RleHQtZmlsdGVyLXRlbXBsYXRlL3RleHQtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0LWZpbHRlci10ZW1wbGF0ZS90ZXh0LWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDZCQUE2QixFQUFhLE1BQU0sdUNBQXVDLENBQUM7QUFDbkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLDJCQUEyQjtJQWtDdEM7UUFoQ0EsOEJBQThCO1FBQzlCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxD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SSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFDO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FBRTtRQUMvSixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7eUhBMUdVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGdPQ2R4Qyw2bUZBdUVBOzRGRHpEYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQVl2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUksWUFBWTtzQkFBckIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBOb3ROdW1iZXJBZ2dyZWdhdGlvbkZ1bmN0aW9uRW51bSwgTnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0sIFN0YXRpc3RpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9zdGF0aXN0aWMubW9kZWwnO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0ZXh0LWZpbHRlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RmlsdGVyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgLy92YXJpYWJpbGkgZXN0ZXJuZSBwZXIgbCdpbnB1dCBkZWkgY2FtcGlcclxuICBASW5wdXQoKSBmaWVsZDogVGV4dEZpZWxkO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBJbnB1dCgpIFN0YXRpc3RpYzogU3RhdGlzdGljID0gbnVsbDtcclxuICBTVFQ6Ym9vbGVhbiA9dHJ1ZTtcclxuICAvL3ZhcmlhYmlsaSBwZXIgZ2VzdGlyZSBpbCBjc3MgZGVsbGEgbGFiZWwgZSBkZWwgZmllbGRcclxuICBGaWVsZHN0eWxlT2JqOiBhbnk7XHJcbiAgTGFiZWxzdHlsZU9iajogYW55O1xyXG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjdXJyZW50U3RhdGlzdGljOiBTdGF0aXN0aWMgPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJyddO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwbGF0Zm9ybTogc3RyaW5nID0gQ2FwYWNpdG9yLmdldFBsYXRmb3JtKCk7XHJcblxyXG4gIGFnZ3JlZ2F0aW9uczogQXJyYXk8TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+IHwgQXJyYXk8Tm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+O1xyXG4gIGFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtID0gTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW07XHJcblxyXG4gIG9wZXJhdG9yc0dyb3VwQnk6IEFycmF5PE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtPjtcclxuICBvcGVyYXRvcnNHcm91cEJ5RW51bSA9IE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU3RhdGlzdGljICE9IG51bGwpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9ICh0aGlzLlN0YXRpc3RpYy5sb2dpY29wZXJhdG9yIGFzIExvZ2ljT3BlcmF0b3JUZXh0KTtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMuU3RhdGlzdGljLnZhbHVlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0aGlzLlN0YXRpc3RpYy52aXNpYmxlO1xyXG4gICAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuU3RhdGlzdGljLmFnZ3JlZ2F0aW9ucztcclxuICAgICAgdGhpcy5vcGVyYXRvcnNHcm91cEJ5ID0gdGhpcy5TdGF0aXN0aWMub3BlcmF0b3JzR3JvdXBCeTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ1N0YXRpc3RpYycpICYmICFjaGFuZ2VzWydTdGF0aXN0aWMnXS5maXJzdENoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuaGFzT3duUHJvcGVydHkoJ2FnZ3JlZ2F0aW9ucycpID8gY2hhbmdlc1snU3RhdGlzdGljJ10uY3VycmVudFZhbHVlLmFnZ3JlZ2F0aW9ucyA6IG51bGw7XHJcbiAgICAgICAgdGhpcy5vcGVyYXRvcnNHcm91cEJ5ID0gY2hhbmdlc1snU3RhdGlzdGljJ10uY3VycmVudFZhbHVlLmhhc093blByb3BlcnR5KCdvcGVyYXRvcnNHcm91cEJ5JykgPyBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUub3BlcmF0b3JzR3JvdXBCeSA6IG51bGw7XHJcbiAgICAgIH1cclxuICB9ICAgXHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKE51bWJlcih0aGlzLmZpZWxkLlRleHRNYXNrKSkge1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5FbWFpbDpcclxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uUGFzc3dvcmQ6XHJcbiAgICAgICAgcmV0dXJuICdwYXNzd29yZCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlRlbGVmb25vOlxyXG4gICAgICAgIHJldHVybiAndGVsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVXJsOlxyXG4gICAgICAgIHJldHVybiAndXJsJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICAgIGlmICgodGhpcy5hZ2dyZWdhdGlvbnMgIT0gbnVsbCAmJiB0aGlzLmFnZ3JlZ2F0aW9ucy5sZW5ndGggPiAwKSB8fCAodGhpcy5vcGVyYXRvcnNHcm91cEJ5ICE9IG51bGwgJiYgdGhpcy5vcGVyYXRvcnNHcm91cEJ5Lmxlbmd0aCA+IDApKXsgdGhpcy52aXNpYmxlID0gdHJ1ZTsgfVxyXG5cclxuICAgIHZhciBzdGF0aXN0aWM6IFN0YXRpc3RpYyA9IHtcclxuICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGR0eXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxyXG4gICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICBvcGVyYXRvcnNHcm91cEJ5OiB0aGlzLm9wZXJhdG9yc0dyb3VwQnlcclxuICAgIH0gICAgXHJcblxyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChzdGF0aXN0aWMpO1xyXG59XHJcblxyXG4vKipcclxuICogR2VzdGlvbmUgdmlzaWJpbGl0w6BcclxuICovXHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VWaXNpYmlsaXR5KCl7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gICAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93Q29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidmlzaWJsZUNvbFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBbbmdDbGFzc109XCJ7J2J0bi1zdWNjZXNzJzogdmlzaWJsZSAsICdidG4tZGFuZ2VyJzogIXZpc2libGUgfVwiIChjbGljayk9XCJjaGFuZ2VWaXNpYmlsaXR5KClcIj5cclxuICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cInZpc2libGVcIiBuYW1lPVwiZXllXCI+PC90bXctaWNvbj5cclxuICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cIiF2aXNpYmxlXCIgbmFtZT1cImV5ZS1vZmZcIj48L3Rtdy1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJncm91cEJ5Q29sXCI+XHJcbiAgICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPcGVyYXRvcmkgZGkgY29uZnJvbnRvJ1wiXHJcbiAgICAgICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbZW51bURhdGFdPVwib3BlcmF0b3JzR3JvdXBCeUVudW1cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwib3BlcmF0b3JzR3JvdXBCeVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgICAgPjwvdG13LXNlbGVjdD5cclxuICAgIDwvZGl2PiAgICAgICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZUNvbFwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICAgICAgICB7eyBmaWVsZC5EZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW3R5cGVdPVwiZ2V0SW5wdXRUeXBlKClcIlxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAhZmllbGQuRm9ybUZvcm1Hcm91cC52YWxpZCAmJlxyXG4gICAgICAgICAgICBmaWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLk5hbWVdLnRvdWNoZWRcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgTWluLiBDYXJhdHRlcmk6IHt7IGZpZWxkLk1pbkxlbmdodCB9fSAtIE1heC4gQ2FyYXR0ZXJpOlxyXG4gICAgICAgICAge3sgZmllbGQuTWF4TGVuZ2h0IH19XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIlxyXG4gICAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFNwZWVjaFRvVGV4dFxyXG4gICAgICAgICAgWyhiaW5kZWRUZXh0KV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgICAgICAgbmFtZT1cIm1pY3JvcGhvbmVcIj48L3Rtdy1pY29uPlxyXG5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yQ29sXCI+XHJcbiAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JUZXh0XCJcclxuICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRMb2dpY09wZXJhdG9yXCJcclxuICAgICAgICBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgPjwvdG13LXNlbGVjdD5cclxuICAgIDwvZGl2PiAgICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJhZ2dyZWdhdG9yQ29sXCI+XHJcbiAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBZ2dyZWdhemlvbmknXCJcclxuICAgICAgICBbaXNNdWx0aVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICBbZW51bURhdGFdPVwiYWdncmVnYXRpb25GdW5jdGlvbkVudW1cIlxyXG4gICAgICAgIFsobmdNb2RlbElucHV0KV09XCJhZ2dyZWdhdGlvbnNcIlxyXG4gICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gIFxyXG4gICAgIFxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL3RleHQtZmlsdGVyLXRlbXBsYXRlL3RleHQtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0LWZpbHRlci10ZW1wbGF0ZS90ZXh0LWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDZCQUE2QixFQUFhLE1BQU0sdUNBQXVDLENBQUM7QUFDbkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLDJCQUEyQjtJQWtDdEM7UUFoQ0EsOEJBQThCO1FBQzlCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxD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SSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFDO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FBRTtRQUMvSixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7eUhBMUdVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGdPQ2R4Qyw4dEZBeUVBOzRGRDNEYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQVl2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUksWUFBWTtzQkFBckIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBOb3ROdW1iZXJBZ2dyZWdhdGlvbkZ1bmN0aW9uRW51bSwgTnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0sIFN0YXRpc3RpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9zdGF0aXN0aWMubW9kZWwnO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0ZXh0LWZpbHRlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RmlsdGVyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgLy92YXJpYWJpbGkgZXN0ZXJuZSBwZXIgbCdpbnB1dCBkZWkgY2FtcGlcclxuICBASW5wdXQoKSBmaWVsZDogVGV4dEZpZWxkO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBJbnB1dCgpIFN0YXRpc3RpYzogU3RhdGlzdGljID0gbnVsbDtcclxuICBTVFQ6Ym9vbGVhbiA9dHJ1ZTtcclxuICAvL3ZhcmlhYmlsaSBwZXIgZ2VzdGlyZSBpbCBjc3MgZGVsbGEgbGFiZWwgZSBkZWwgZmllbGRcclxuICBGaWVsZHN0eWxlT2JqOiBhbnk7XHJcbiAgTGFiZWxzdHlsZU9iajogYW55O1xyXG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjdXJyZW50U3RhdGlzdGljOiBTdGF0aXN0aWMgPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJyddO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwbGF0Zm9ybTogc3RyaW5nID0gQ2FwYWNpdG9yLmdldFBsYXRmb3JtKCk7XHJcblxyXG4gIGFnZ3JlZ2F0aW9uczogQXJyYXk8TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+IHwgQXJyYXk8Tm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+O1xyXG4gIGFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtID0gTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW07XHJcblxyXG4gIG9wZXJhdG9yc0dyb3VwQnk6IEFycmF5PE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtPjtcclxuICBvcGVyYXRvcnNHcm91cEJ5RW51bSA9IE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU3RhdGlzdGljICE9IG51bGwpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9ICh0aGlzLlN0YXRpc3RpYy5sb2dpY29wZXJhdG9yIGFzIExvZ2ljT3BlcmF0b3JUZXh0KTtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMuU3RhdGlzdGljLnZhbHVlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0aGlzLlN0YXRpc3RpYy52aXNpYmxlO1xyXG4gICAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuU3RhdGlzdGljLmFnZ3JlZ2F0aW9ucztcclxuICAgICAgdGhpcy5vcGVyYXRvcnNHcm91cEJ5ID0gdGhpcy5TdGF0aXN0aWMub3BlcmF0b3JzR3JvdXBCeTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ1N0YXRpc3RpYycpICYmICFjaGFuZ2VzWydTdGF0aXN0aWMnXS5maXJzdENoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuaGFzT3duUHJvcGVydHkoJ2FnZ3JlZ2F0aW9ucycpID8gY2hhbmdlc1snU3RhdGlzdGljJ10uY3VycmVudFZhbHVlLmFnZ3JlZ2F0aW9ucyA6IG51bGw7XHJcbiAgICAgICAgdGhpcy5vcGVyYXRvcnNHcm91cEJ5ID0gY2hhbmdlc1snU3RhdGlzdGljJ10uY3VycmVudFZhbHVlLmhhc093blByb3BlcnR5KCdvcGVyYXRvcnNHcm91cEJ5JykgPyBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUub3BlcmF0b3JzR3JvdXBCeSA6IG51bGw7XHJcbiAgICAgIH1cclxuICB9ICAgXHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKE51bWJlcih0aGlzLmZpZWxkLlRleHRNYXNrKSkge1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5FbWFpbDpcclxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uUGFzc3dvcmQ6XHJcbiAgICAgICAgcmV0dXJuICdwYXNzd29yZCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlRlbGVmb25vOlxyXG4gICAgICAgIHJldHVybiAndGVsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVXJsOlxyXG4gICAgICAgIHJldHVybiAndXJsJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICAgIGlmICgodGhpcy5hZ2dyZWdhdGlvbnMgIT0gbnVsbCAmJiB0aGlzLmFnZ3JlZ2F0aW9ucy5sZW5ndGggPiAwKSB8fCAodGhpcy5vcGVyYXRvcnNHcm91cEJ5ICE9IG51bGwgJiYgdGhpcy5vcGVyYXRvcnNHcm91cEJ5Lmxlbmd0aCA+IDApKXsgdGhpcy52aXNpYmxlID0gdHJ1ZTsgfVxyXG5cclxuICAgIHZhciBzdGF0aXN0aWM6IFN0YXRpc3RpYyA9IHtcclxuICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGR0eXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxyXG4gICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICBvcGVyYXRvcnNHcm91cEJ5OiB0aGlzLm9wZXJhdG9yc0dyb3VwQnlcclxuICAgIH0gICAgXHJcblxyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChzdGF0aXN0aWMpO1xyXG59XHJcblxyXG4vKipcclxuICogR2VzdGlvbmUgdmlzaWJpbGl0w6BcclxuICovXHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VWaXNpYmlsaXR5KCl7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gICAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93Q29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidmlzaWJsZUNvbFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBbbmdDbGFzc109XCJ7J2J0bi1zdWNjZXNzJzogdmlzaWJsZSAsICdidG4tZGFuZ2VyJzogIXZpc2libGUgfVwiIChjbGljayk9XCJjaGFuZ2VWaXNpYmlsaXR5KClcIj5cclxuICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cInZpc2libGVcIiBuYW1lPVwiZXllXCI+PC90bXctaWNvbj5cclxuICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cIiF2aXNpYmxlXCIgbmFtZT1cImV5ZS1vZmZcIj48L3Rtdy1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJncm91cEJ5Q29sXCI+XHJcbiAgICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPcGVyYXRvcmkgZGkgY29uZnJvbnRvJ1wiXHJcbiAgICAgICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbZW51bURhdGFdPVwib3BlcmF0b3JzR3JvdXBCeUVudW1cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwib3BlcmF0b3JzR3JvdXBCeVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgICAgPjwvdG13LXNlbGVjdD5cclxuICAgIDwvZGl2PiAgICAgICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZUNvbFwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICAgICAgICB7eyBmaWVsZC5EZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW3R5cGVdPVwiZ2V0SW5wdXRUeXBlKClcIlxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAhZmllbGQuRm9ybUZvcm1Hcm91cC52YWxpZCAmJlxyXG4gICAgICAgICAgICBmaWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLk5hbWVdLnRvdWNoZWRcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgTWluLiBDYXJhdHRlcmk6IHt7IGZpZWxkLk1pbkxlbmdodCB9fSAtIE1heC4gQ2FyYXR0ZXJpOlxyXG4gICAgICAgICAge3sgZmllbGQuTWF4TGVuZ2h0IH19XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIlxyXG4gICAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFNwZWVjaFRvVGV4dFxyXG4gICAgICAgICAgI21pY1NwZWVjaD1cInNwZWVjaFRvVGV4dFwiXHJcbiAgICAgICAgICBbKGJpbmRlZFRleHQpXT1cInJlY29yZFtmaWVsZC5OYW1lXVwiXHJcbiAgICAgICAgICBbdmFyaWFudF09XCJtaWNTcGVlY2guaXNMaXN0ZW5pbmcgPyAnZmlsbGVkJyA6ICdvdXRsaW5lJ1wiXHJcbiAgICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgICBuYW1lPVwibWljcm9waG9uZVwiPjwvdG13LWljb24+XHJcblxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3JDb2xcIj5cclxuICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICBbZW51bURhdGFdPVwibG9naWNPcGVyYXRvclRleHRcIlxyXG4gICAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIlxyXG4gICAgICAgIFtzaG93Q2FuY2VsQnV0dG9uXT1cImZhbHNlXCJcclxuICAgICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIlxyXG4gICAgICA+PC90bXctc2VsZWN0PlxyXG4gICAgPC9kaXY+ICAgICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImFnZ3JlZ2F0b3JDb2xcIj5cclxuICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FnZ3JlZ2F6aW9uaSdcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgIFtlbnVtRGF0YV09XCJhZ2dyZWdhdGlvbkZ1bmN0aW9uRW51bVwiXHJcbiAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImFnZ3JlZ2F0aW9uc1wiXHJcbiAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgPjwvdG13LXNlbGVjdD5cclxuICAgIDwvZGl2PiAgXHJcbiAgICAgXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -126,10 +126,10 @@ export class TextareaFilterTemplateComponent {
126
126
  }
127
127
  }
128
128
  TextareaFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
129
- TextareaFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaFilterTemplateComponent, selector: "textarea-filter-template", inputs: { field: "field", record: "record", Statistic: "Statistic" }, outputs: { recordChange: "recordChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 textareaFilterTemplate rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModel)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n </div>\r\n</div>", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .valueCol textarea{resize:none;height:25px}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:56px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep .valueCol .mat-form-field{height:56px;overflow:hidden}::ng-deep .valueCol .mat-mdc-text-field-wrapper{min-height:56px;height:56px}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
129
+ TextareaFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaFilterTemplateComponent, selector: "textarea-filter-template", inputs: { field: "field", record: "record", Statistic: "Statistic" }, outputs: { recordChange: "recordChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 textareaFilterTemplate rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"record[field.Name]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModel)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n </div>\r\n</div>", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .valueCol textarea{resize:none;height:25px}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:56px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep .valueCol .mat-form-field{height:56px;overflow:hidden}::ng-deep .valueCol .mat-mdc-text-field-wrapper{min-height:56px;height:56px}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"], exportAs: ["speechToText"] }] });
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaFilterTemplateComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'textarea-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-12 textareaFilterTemplate rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModel)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n </div>\r\n</div>", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .valueCol textarea{resize:none;height:25px}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:56px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep .valueCol .mat-form-field{height:56px;overflow:hidden}::ng-deep .valueCol .mat-mdc-text-field-wrapper{min-height:56px;height:56px}\n"] }]
132
+ args: [{ selector: 'textarea-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-12 textareaFilterTemplate rowCol\">\r\n <div class=\"visibleCol\">\r\n <button class=\"btn\" [ngClass]=\"{'btn-success': visible , 'btn-danger': !visible }\" (click)=\"changeVisibility()\">\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"visible\" name=\"eye\"></tmw-icon>\r\n <tmw-icon class=\"mat-icon\" *ngIf=\"!visible\" name=\"eye-off\"></tmw-icon>\r\n </button>\r\n </div> \r\n <div class=\"groupByCol\">\r\n <tmw-select\r\n [placeholder]=\"'Operatori di confronto'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"operatorsGroupByEnum\"\r\n [(ngModelInput)]=\"operatorsGroupBy\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"record[field.Name]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModel)]=\"selectedLogicOperator\"\r\n [showCancelButton]=\"false\"\r\n (ngModelChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n <div class=\"aggregatorCol\">\r\n <tmw-select\r\n [placeholder]=\"'Aggregazioni'\"\r\n [isMultiSelect]=\"true\"\r\n [enumData]=\"aggregationFunctionEnum\"\r\n [(ngModelInput)]=\"aggregations\"\r\n (ngModelInputChange)=\"onFilterChange()\"\r\n ></tmw-select>\r\n </div> \r\n </div>\r\n</div>", styles: [".rowCol{display:flex;height:56px}.rowCol>*{height:100%}.rowCol .valueCol{padding-right:0;width:100%}.rowCol .valueCol textarea{resize:none;height:25px}.rowCol .operatorCol{padding-left:0;padding-right:0;width:110px;min-width:110px}.rowCol .visibleCol{display:flex;justify-content:center;align-items:flex-start;border-top-left-radius:0;border-bottom-left-radius:0;width:50px;min-width:50px}.rowCol .visibleCol button{height:100%}.rowCol .coordinatesCol{width:35px;min-width:35px}.rowCol .aggregatorCol{min-width:219px}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:56px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep .valueCol .mat-form-field{height:56px;overflow:hidden}::ng-deep .valueCol .mat-mdc-text-field-wrapper{min-height:56px;height:56px}\n"] }]
133
133
  }], ctorParameters: function () { return []; }, propDecorators: { field: [{
134
134
  type: Input
135
135
  }], record: [{
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
141
141
  }], filterChange: [{
142
142
  type: Output
143
143
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUvdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUvdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLCtCQUErQjtJQW1DMUM7UUFqQ0EsOEJBQThCO1FBQzlCLHFCQUFnQixHQUFHLEtB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QyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBQztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQUU7UUFDL0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzZIQXZJVSwrQkFBK0I7aUhBQS9CLCtCQUErQixvT0NkNUMsaXhGQW9FTTs0RkR0RE8sK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDBCQUEwQjswRUFZM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1JLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0sIE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtLCBTdGF0aXN0aWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvc3RhdGlzdGljLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FwYWNpdG9yIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCB7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvL3ZhcmlhYmlsaSBlc3Rlcm5lIHBlciBsJ2lucHV0IGRlaSBjYW1waVxyXG4gIEBJbnB1dCgpIGZpZWxkOiBUZXh0RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQElucHV0KCkgU3RhdGlzdGljOiBTdGF0aXN0aWMgPSBudWxsO1xyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWNvcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBsb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0O1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dFsnJ107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGN1cnJlbnRTdGF0aXN0aWM6IFN0YXRpc3RpYyA9IG51bGw7XHJcblxyXG4gIGFnZ3JlZ2F0aW9uczogQXJyYXk8TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+IHwgQXJyYXk8Tm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+O1xyXG4gIGFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtID0gTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW07XHJcblxyXG4gIG9wZXJhdG9yc0dyb3VwQnk6IEFycmF5PE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtPjtcclxuICBvcGVyYXRvcnNHcm91cEJ5RW51bSA9IE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLlN0YXRpc3RpYyAhPSBudWxsKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPSAodGhpcy5TdGF0aXN0aWMubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dCk7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLlN0YXRpc3RpYy52YWx1ZTtcclxuICAgICAgdGhpcy52aXNpYmxlID0gdGhpcy5TdGF0aXN0aWMudmlzaWJsZTtcclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSB0aGlzLlN0YXRpc3RpYy5hZ2dyZWdhdGlvbnM7XHJcbiAgICAgIHRoaXMub3BlcmF0b3JzR3JvdXBCeSA9IHRoaXMuU3RhdGlzdGljLm9wZXJhdG9yc0dyb3VwQnk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbiAgfVxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuVGV4dE1hc2spIHtcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uRW1haWw6XHJcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlBhc3N3b3JkOlxyXG4gICAgICAgIHJldHVybiAncGFzc3dvcmQnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5UZWxlZm9ubzpcclxuICAgICAgICByZXR1cm4gJ3RlbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlVybDpcclxuICAgICAgICByZXR1cm4gJ3VybCdcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnU3RhdGlzdGljJykgJiYgIWNoYW5nZXNbJ1N0YXRpc3RpYyddLmZpcnN0Q2hhbmdlKXtcclxuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IGNoYW5nZXNbJ1N0YXRpc3RpYyddLmN1cnJlbnRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnYWdncmVnYXRpb25zJykgPyBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuYWdncmVnYXRpb25zIDogbnVsbDtcclxuICAgICAgICB0aGlzLm9wZXJhdG9yc0dyb3VwQnkgPSBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuaGFzT3duUHJvcGVydHkoJ29wZXJhdG9yc0dyb3VwQnknKSA/IGNoYW5nZXNbJ1N0YXRpc3RpYyddLmN1cnJlbnRWYWx1ZS5vcGVyYXRvcnNHcm91cEJ5IDogbnVsbDtcclxuICAgICAgfVxyXG4gIH0gICBcclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBudWxsICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gXCJcIiAmJiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciAhPSBudWxsKXtcclxuICAgIHRoaXMuYWN0aXZlQ29uZGl0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImFjdGl2ZVwiKSk7XHJcbiAgfVxyXG4gIGlmICh0aGlzLmFjdGl2ZUNvbmRpdGlvbiAmJiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gXCJcIiB8fCB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9PSBudWxsKSl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdlbmVyYXRlQ29uZGl0aW9uKFwiZGVhY3RpdmF0ZWRcIikpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1ldG9kbyBjaGUgZ2VuZXJhIGwnb2dnZXR0byBkYSBpbnZpYXJlIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5cclxuZ2VuZXJhdGVDb25kaXRpb24obW9kZSl7XHJcbiAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcblxyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgICBmaWVsZHR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlLFxyXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXHJcbiAgICAgIGFnZ3JlZ2F0aW9uczogdGhpcy5hZ2dyZWdhdGlvbnMsXHJcbiAgICAgIG9wZXJhdG9yc0dyb3VwQnk6IHRoaXMub3BlcmF0b3JzR3JvdXBCeVxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IG51bGwsXHJcbiAgICAgIGZpZWxkdHlwZTogbnVsbCxcclxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxyXG4gICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICBvcGVyYXRvcnNHcm91cEJ5OiB0aGlzLm9wZXJhdG9yc0dyb3VwQnlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG4vKipcclxuICogR2VzdGlvbmUgdmlzaWJpbGl0w6BcclxuICovXHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VWaXNpYmlsaXR5KCl7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gICAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHRhcmVhRmlsdGVyVGVtcGxhdGUgcm93Q29sXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2aXNpYmxlQ29sXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgW25nQ2xhc3NdPVwieydidG4tc3VjY2Vzcyc6IHZpc2libGUgLCAnYnRuLWRhbmdlcic6ICF2aXNpYmxlIH1cIiAoY2xpY2spPVwiY2hhbmdlVmlzaWJpbGl0eSgpXCI+XHJcbiAgICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cInZpc2libGVcIiBuYW1lPVwiZXllXCI+PC90bXctaWNvbj5cclxuICAgICAgICAgICAgICA8dG13LWljb24gY2xhc3M9XCJtYXQtaWNvblwiICpuZ0lmPVwiIXZpc2libGVcIiBuYW1lPVwiZXllLW9mZlwiPjwvdG13LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+ICAgICAgICAgICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwQnlDb2xcIj5cclxuICAgICAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPcGVyYXRvcmkgZGkgY29uZnJvbnRvJ1wiXHJcbiAgICAgICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2VudW1EYXRhXT1cIm9wZXJhdG9yc0dyb3VwQnlFbnVtXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwib3BlcmF0b3JzR3JvdXBCeVwiXHJcbiAgICAgICAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PiAgICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXBcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAgICAgICAgICB7eyBmaWVsZC5EZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiXHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICFmaWVsZC5Gb3JtRm9ybUdyb3VwLnZhbGlkICYmXHJcbiAgICAgICAgICAgICAgZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5OYW1lXS50b3VjaGVkXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIE1pbi4gQ2FyYXR0ZXJpOiB7eyBmaWVsZC5NaW5MZW5naHQgfX0gLSBNYXguIENhcmF0dGVyaTpcclxuICAgICAgICAgICAge3sgZmllbGQuTWF4TGVuZ2h0IH19XHJcbiAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgIDx0bXctaWNvbiBjbGFzcz1cIm1hdC1pY29uXCJcclxuICAgICAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICAgICAgWyhiaW5kZWRUZXh0KV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJtaWNyb3Bob25lXCI+PC90bXctaWNvbj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICAgIFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yVGV4dFwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiXHJcbiAgICAgICAgICBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICA+PC90bXctc2VsZWN0PlxyXG4gICAgICA8L2Rpdj4gICAgIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdncmVnYXRvckNvbFwiPlxyXG4gICAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FnZ3JlZ2F6aW9uaSdcIlxyXG4gICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbZW51bURhdGFdPVwiYWdncmVnYXRpb25GdW5jdGlvbkVudW1cIlxyXG4gICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImFnZ3JlZ2F0aW9uc1wiXHJcbiAgICAgICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIlxyXG4gICAgICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUvdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUvdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLCtCQUErQjtJQW1DMUM7UUFqQ0EsOEJBQThCO1FBQzlCLHFCQUFnQixHQUFHLEtB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QyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBQztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQUU7UUFDL0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzZIQXZJVSwrQkFBK0I7aUhBQS9CLCtCQUErQixvT0NkNUMsczRGQXNFTTs0RkR4RE8sK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDBCQUEwQjswRUFZM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1JLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0sIE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtLCBTdGF0aXN0aWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvc3RhdGlzdGljLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FwYWNpdG9yIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCB7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvL3ZhcmlhYmlsaSBlc3Rlcm5lIHBlciBsJ2lucHV0IGRlaSBjYW1waVxyXG4gIEBJbnB1dCgpIGZpZWxkOiBUZXh0RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQElucHV0KCkgU3RhdGlzdGljOiBTdGF0aXN0aWMgPSBudWxsO1xyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWNvcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBsb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0O1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dFsnJ107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGN1cnJlbnRTdGF0aXN0aWM6IFN0YXRpc3RpYyA9IG51bGw7XHJcblxyXG4gIGFnZ3JlZ2F0aW9uczogQXJyYXk8TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+IHwgQXJyYXk8Tm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW0+O1xyXG4gIGFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtID0gTm90TnVtYmVyQWdncmVnYXRpb25GdW5jdGlvbkVudW07XHJcblxyXG4gIG9wZXJhdG9yc0dyb3VwQnk6IEFycmF5PE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtPjtcclxuICBvcGVyYXRvcnNHcm91cEJ5RW51bSA9IE51bWJlckFnZ3JlZ2F0aW9uRnVuY3Rpb25FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLlN0YXRpc3RpYyAhPSBudWxsKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPSAodGhpcy5TdGF0aXN0aWMubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dCk7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLlN0YXRpc3RpYy52YWx1ZTtcclxuICAgICAgdGhpcy52aXNpYmxlID0gdGhpcy5TdGF0aXN0aWMudmlzaWJsZTtcclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSB0aGlzLlN0YXRpc3RpYy5hZ2dyZWdhdGlvbnM7XHJcbiAgICAgIHRoaXMub3BlcmF0b3JzR3JvdXBCeSA9IHRoaXMuU3RhdGlzdGljLm9wZXJhdG9yc0dyb3VwQnk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbiAgfVxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuVGV4dE1hc2spIHtcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uRW1haWw6XHJcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlBhc3N3b3JkOlxyXG4gICAgICAgIHJldHVybiAncGFzc3dvcmQnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5UZWxlZm9ubzpcclxuICAgICAgICByZXR1cm4gJ3RlbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlVybDpcclxuICAgICAgICByZXR1cm4gJ3VybCdcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnU3RhdGlzdGljJykgJiYgIWNoYW5nZXNbJ1N0YXRpc3RpYyddLmZpcnN0Q2hhbmdlKXtcclxuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IGNoYW5nZXNbJ1N0YXRpc3RpYyddLmN1cnJlbnRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnYWdncmVnYXRpb25zJykgPyBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuYWdncmVnYXRpb25zIDogbnVsbDtcclxuICAgICAgICB0aGlzLm9wZXJhdG9yc0dyb3VwQnkgPSBjaGFuZ2VzWydTdGF0aXN0aWMnXS5jdXJyZW50VmFsdWUuaGFzT3duUHJvcGVydHkoJ29wZXJhdG9yc0dyb3VwQnknKSA/IGNoYW5nZXNbJ1N0YXRpc3RpYyddLmN1cnJlbnRWYWx1ZS5vcGVyYXRvcnNHcm91cEJ5IDogbnVsbDtcclxuICAgICAgfVxyXG4gIH0gICBcclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBudWxsICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gXCJcIiAmJiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciAhPSBudWxsKXtcclxuICAgIHRoaXMuYWN0aXZlQ29uZGl0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImFjdGl2ZVwiKSk7XHJcbiAgfVxyXG4gIGlmICh0aGlzLmFjdGl2ZUNvbmRpdGlvbiAmJiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gXCJcIiB8fCB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9PSBudWxsKSl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdlbmVyYXRlQ29uZGl0aW9uKFwiZGVhY3RpdmF0ZWRcIikpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1ldG9kbyBjaGUgZ2VuZXJhIGwnb2dnZXR0byBkYSBpbnZpYXJlIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5cclxuZ2VuZXJhdGVDb25kaXRpb24obW9kZSl7XHJcbiAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcblxyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgICBmaWVsZHR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlLFxyXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXHJcbiAgICAgIGFnZ3JlZ2F0aW9uczogdGhpcy5hZ2dyZWdhdGlvbnMsXHJcbiAgICAgIG9wZXJhdG9yc0dyb3VwQnk6IHRoaXMub3BlcmF0b3JzR3JvdXBCeVxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IG51bGwsXHJcbiAgICAgIGZpZWxkdHlwZTogbnVsbCxcclxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxyXG4gICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICBvcGVyYXRvcnNHcm91cEJ5OiB0aGlzLm9wZXJhdG9yc0dyb3VwQnlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG4vKipcclxuICogR2VzdGlvbmUgdmlzaWJpbGl0w6BcclxuICovXHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VWaXNpYmlsaXR5KCl7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gICAgaWYgKCh0aGlzLmFnZ3JlZ2F0aW9ucyAhPSBudWxsICYmIHRoaXMuYWdncmVnYXRpb25zLmxlbmd0aCA+IDApIHx8ICh0aGlzLm9wZXJhdG9yc0dyb3VwQnkgIT0gbnVsbCAmJiB0aGlzLm9wZXJhdG9yc0dyb3VwQnkubGVuZ3RoID4gMCkpeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XHJcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHRhcmVhRmlsdGVyVGVtcGxhdGUgcm93Q29sXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2aXNpYmxlQ29sXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgW25nQ2xhc3NdPVwieydidG4tc3VjY2Vzcyc6IHZpc2libGUgLCAnYnRuLWRhbmdlcic6ICF2aXNpYmxlIH1cIiAoY2xpY2spPVwiY2hhbmdlVmlzaWJpbGl0eSgpXCI+XHJcbiAgICAgICAgICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIiAqbmdJZj1cInZpc2libGVcIiBuYW1lPVwiZXllXCI+PC90bXctaWNvbj5cclxuICAgICAgICAgICAgICA8dG13LWljb24gY2xhc3M9XCJtYXQtaWNvblwiICpuZ0lmPVwiIXZpc2libGVcIiBuYW1lPVwiZXllLW9mZlwiPjwvdG13LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+ICAgICAgICAgICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwQnlDb2xcIj5cclxuICAgICAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPcGVyYXRvcmkgZGkgY29uZnJvbnRvJ1wiXHJcbiAgICAgICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2VudW1EYXRhXT1cIm9wZXJhdG9yc0dyb3VwQnlFbnVtXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwib3BlcmF0b3JzR3JvdXBCeVwiXHJcbiAgICAgICAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PiAgICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXBcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAgICAgICAgICB7eyBmaWVsZC5EZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiXHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICFmaWVsZC5Gb3JtRm9ybUdyb3VwLnZhbGlkICYmXHJcbiAgICAgICAgICAgICAgZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5OYW1lXS50b3VjaGVkXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIE1pbi4gQ2FyYXR0ZXJpOiB7eyBmaWVsZC5NaW5MZW5naHQgfX0gLSBNYXguIENhcmF0dGVyaTpcclxuICAgICAgICAgICAge3sgZmllbGQuTWF4TGVuZ2h0IH19XHJcbiAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgIDx0bXctaWNvbiBjbGFzcz1cIm1hdC1pY29uXCJcclxuICAgICAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICAgICAgI21pY1NwZWVjaD1cInNwZWVjaFRvVGV4dFwiXHJcbiAgICAgICAgICAgIFsoYmluZGVkVGV4dCldPVwicmVjb3JkW2ZpZWxkLk5hbWVdXCJcclxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwibWljU3BlZWNoLmlzTGlzdGVuaW5nID8gJ2ZpbGxlZCcgOiAnb3V0bGluZSdcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJtaWNyb3Bob25lXCI+PC90bXctaWNvbj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPHRtdy1zZWxlY3RcclxuICAgICAgICAgIFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yVGV4dFwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiXHJcbiAgICAgICAgICBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCJcclxuICAgICAgICA+PC90bXctc2VsZWN0PlxyXG4gICAgICA8L2Rpdj4gICAgIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdncmVnYXRvckNvbFwiPlxyXG4gICAgICAgIDx0bXctc2VsZWN0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FnZ3JlZ2F6aW9uaSdcIlxyXG4gICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbZW51bURhdGFdPVwiYWdncmVnYXRpb25GdW5jdGlvbkVudW1cIlxyXG4gICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImFnZ3JlZ2F0aW9uc1wiXHJcbiAgICAgICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIlxyXG4gICAgICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -72,10 +72,10 @@ export class TextTriggerTemplateComponent {
72
72
  }
73
73
  }
74
74
  TextTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- TextTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextTriggerTemplateComponent, selector: "text-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
75
+ TextTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextTriggerTemplateComponent, selector: "text-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"], exportAs: ["speechToText"] }] });
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, decorators: [{
77
77
  type: Component,
78
- args: [{ selector: 'text-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
78
+ args: [{ selector: 'text-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
79
79
  }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
80
80
  type: Input
81
81
  }], recordChange: [{
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
83
83
  }], triggerChange: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvdGV4dC10cmlnZ2VyLXRlbXBsYXRlL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS90ZXh0LXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQU81QyxNQUFNLE9BQU8sNEJBQTRCO0lBK0J2QztRQTFCWSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hFLGtCQUFhLEdBQXNCLElB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QUFTO3NCQUFqQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLCBDb25kaXRpb24sIFRyaWdnZXJDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvdHJpZ2dlci5tb2RlbCc7XHJcbmltcG9ydCB7IENhcGFjaXRvciB9IGZyb20gJ0BjYXBhY2l0b3IvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHQtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIGxvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0Wyc9J107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZTtcclxuICBzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUuQU5EO1xyXG4gIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIGdldElucHV0VHlwZSgpIHtcclxuICAgIHN3aXRjaCAoTnVtYmVyKHRoaXMuZmllbGQuVGV4dE1hc2spKSB7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVGVsZWZvbm86XHJcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5Vcmw6XHJcbiAgICAgICAgcmV0dXJuICd1cmwnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAndGV4dCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICovXHJcbiBcclxuICBvblRyaWdnZXJDaGFuZ2UoKSB7XHJcblxyXG4gICAgbGV0IG91dHB1dDpDb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKCk7XHJcbiAgICBvdXRwdXQgPSB7XHJcbiAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lIHx8IHRoaXMuZmllbGQuTGFiZWwsXHJcbiAgICAgIHZhbHVlOiB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lIHx8IHRoaXMuZmllbGQuTGFiZWxdLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGRUeXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJDaGFuZ2UuZW1pdChvdXRwdXQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPHRtdy1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JUZXh0XCJcclxuICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiXHJcbiAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgPjwvdG13LXNlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdmFsdWVDb2xcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICAgICAge3sgZmllbGQuRGVzY3JpcHRpb24gfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW3R5cGVdPVwiZ2V0SW5wdXRUeXBlKClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lIHx8IGZpZWxkLkxhYmVsXVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8dG13LWljb24gY2xhc3M9XCJtYXQtaWNvblwiXHJcbiAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgU3BlZWNoVG9UZXh0XHJcbiAgICAgICAgWyhiaW5kZWRUZXh0KV09XCJ0aGlzLmNvbmRpdGlvbi5yZWNvcmRbZmllbGQuTmFtZSB8fCBmaWVsZC5MYWJlbF1cIlxyXG4gICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgICBuYW1lPVwibWljcm9waG9uZVwiPjwvdG13LWljb24+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPHRtdy1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZVwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXCJcclxuICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvblRyaWdnZXJDaGFuZ2UoKVwiXHJcbiAgICA+PC90bXctc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvdGV4dC10cmlnZ2VyLXRlbXBsYXRlL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS90ZXh0LXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQU81QyxNQUFNLE9BQU8sNEJBQTRCO0lBK0J2QztRQTFCWSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hFLGtCQUFhLEdBQXNCLElB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QUFTO3NCQUFqQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLCBDb25kaXRpb24sIFRyaWdnZXJDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvdHJpZ2dlci5tb2RlbCc7XHJcbmltcG9ydCB7IENhcGFjaXRvciB9IGZyb20gJ0BjYXBhY2l0b3IvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHQtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIGxvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0Wyc9J107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZTtcclxuICBzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUuQU5EO1xyXG4gIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIGdldElucHV0VHlwZSgpIHtcclxuICAgIHN3aXRjaCAoTnVtYmVyKHRoaXMuZmllbGQuVGV4dE1hc2spKSB7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVGVsZWZvbm86XHJcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5Vcmw6XHJcbiAgICAgICAgcmV0dXJuICd1cmwnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAndGV4dCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICovXHJcbiBcclxuICBvblRyaWdnZXJDaGFuZ2UoKSB7XHJcblxyXG4gICAgbGV0IG91dHB1dDpDb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKCk7XHJcbiAgICBvdXRwdXQgPSB7XHJcbiAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lIHx8IHRoaXMuZmllbGQuTGFiZWwsXHJcbiAgICAgIHZhbHVlOiB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lIHx8IHRoaXMuZmllbGQuTGFiZWxdLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGRUeXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJDaGFuZ2UuZW1pdChvdXRwdXQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPHRtdy1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JUZXh0XCJcclxuICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiXHJcbiAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgPjwvdG13LXNlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdmFsdWVDb2xcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICAgICAge3sgZmllbGQuRGVzY3JpcHRpb24gfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW3R5cGVdPVwiZ2V0SW5wdXRUeXBlKClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lIHx8IGZpZWxkLkxhYmVsXVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8dG13LWljb24gY2xhc3M9XCJtYXQtaWNvblwiXHJcbiAgICAgICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZSB8fCBwbGF0Zm9ybSAhPSAnd2ViJ1wiXHJcbiAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgU3BlZWNoVG9UZXh0XHJcbiAgICAgICAgI21pY1NwZWVjaD1cInNwZWVjaFRvVGV4dFwiXHJcbiAgICAgICAgWyhiaW5kZWRUZXh0KV09XCJ0aGlzLmNvbmRpdGlvbi5yZWNvcmRbZmllbGQuTmFtZSB8fCBmaWVsZC5MYWJlbF1cIlxyXG4gICAgICAgIFt2YXJpYW50XT1cIm1pY1NwZWVjaC5pc0xpc3RlbmluZyA/ICdmaWxsZWQnIDogJ291dGxpbmUnXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgbmFtZT1cIm1pY3JvcGhvbmVcIj48L3Rtdy1pY29uPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgIDx0bXctc2VsZWN0XHJcbiAgICAgIFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIlxyXG4gICAgICBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiXHJcbiAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgPjwvdG13LXNlbGVjdD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -72,10 +72,10 @@ export class TextareaTriggerTemplateComponent {
72
72
  }
73
73
  }
74
74
  TextareaTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- TextareaTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaTriggerTemplateComponent, selector: "textarea-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
75
+ TextareaTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaTriggerTemplateComponent, selector: "textarea-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.TmwSelectComponent, selector: "tmw-select", inputs: ["placeholder", "arrayData", "arrayKeyProperty", "arrayValueProperty", "includeFullObject", "enumData", "enumDataToExclude", "isMultiLanguage", "multilanguagePrefixKey", "isMultiSelect", "isRequired", "isDisabled", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "toolbarButtons", "showAddButton", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i6.TmwIconComponent, selector: "tmw-icon", inputs: ["name", "size", "ariaLabel", "variant", "strokeWidth"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"], exportAs: ["speechToText"] }] });
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, decorators: [{
77
77
  type: Component,
78
- args: [{ selector: 'textarea-trigger-template', template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
78
+ args: [{ selector: 'textarea-trigger-template', template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name || field.Label]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <tmw-icon class=\"mat-icon\"\r\n [hidden]=\"!field.Microphone || platform != 'web'\"\r\n matSuffix\r\n SpeechToText\r\n #micSpeech=\"speechToText\"\r\n [(bindedText)]=\"this.condition.record[field.Name || field.Label]\"\r\n [variant]=\"micSpeech.isListening ? 'filled' : 'outline'\"\r\n style=\"cursor: pointer\"\r\n name=\"microphone\"></tmw-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <tmw-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></tmw-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep tmw-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
79
79
  }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
80
80
  type: Input
81
81
  }], recordChange: [{
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
83
83
  }], triggerChange: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQW9CLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBTzVDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFpQzNDO1FBNUJZLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7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TzFCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmlnZ2VyQ29uZGl0aW9uLCBDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy90cmlnZ2VyLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FwYWNpdG9yIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgU1RUOmJvb2xlYW4gPXRydWU7XHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgXHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJz0nXTtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlO1xyXG4gIHNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3I6IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZS5BTkQ7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuICBpbml0U3R5bGVzKCkge1xyXG4gICAgICAvL0Z1bnppb25lIHBlciBwYXJzYXJlIGlsIGNhbXBvIHN0eWxlY3NzIGRlbGwnb2dnZXR0byBmaWVsZCBlZCBhcHBsaWNhcmxvIGFsbCdodG1sXHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxuIH1cclxuXHJcbiAgZ2V0SW5wdXRUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLlRleHRNYXNrKSB7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVGVsZWZvbm86XHJcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5Vcmw6XHJcbiAgICAgICAgcmV0dXJuICd1cmwnXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4vKipcclxuKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuKi9cclxub25UcmlnZ2VyQ2hhbmdlKCkge1xyXG5cclxuICBsZXQgb3V0cHV0OkNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oKTtcclxuICBvdXRwdXQgPSB7XHJcbiAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSB8fCB0aGlzLmZpZWxkLkxhYmVsLFxyXG4gICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWUgfHwgdGhpcy5maWVsZC5MYWJlbF0sXHJcbiAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZC5GaWVsZFR5cGUsXHJcbiAgICBib29sZWFubG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXHJcbiAgfTtcclxuXHJcbiAgdGhpcy50cmlnZ2VyQ2hhbmdlLmVtaXQob3V0cHV0KTtcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IHRleHRhcmVhRmlsdGVyVGVtcGxhdGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgIDx0bXctc2VsZWN0XHJcbiAgICAgIFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yVGV4dFwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIlxyXG4gICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHZhbHVlQ29sXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAgICAgIHt7IGZpZWxkLkRlc2NyaXB0aW9uIH19XHJcbiAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICA8dGV4dGFyZWFcclxuICAgICAgICBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCJcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0aGlzLmNvbmRpdGlvbi5yZWNvcmRbZmllbGQuTmFtZSB8fCBmaWVsZC5MYWJlbF1cIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgIDx0bXctaWNvbiBjbGFzcz1cIm1hdC1pY29uXCJcclxuICAgICAgICBbaGlkZGVuXT1cIiFmaWVsZC5NaWNyb3Bob25lIHx8IHBsYXRmb3JtICE9ICd3ZWInXCJcclxuICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICBbKGJpbmRlZFRleHQpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lIHx8IGZpZWxkLkxhYmVsXVwiXHJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgICAgIG5hbWU9XCJtaWNyb3Bob25lXCI+PC90bXctaWNvbj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICA8dG13LXNlbGVjdFxyXG4gICAgICBbZW51bURhdGFdPVwiYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlXCJcclxuICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3JcIlxyXG4gICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQW9CLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBTzVDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFpQzNDO1FBNUJZLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7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TzFCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmlnZ2VyQ29uZGl0aW9uLCBDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy90cmlnZ2VyLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FwYWNpdG9yIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgU1RUOmJvb2xlYW4gPXRydWU7XHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgXHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJz0nXTtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlO1xyXG4gIHNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3I6IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZS5BTkQ7XHJcblxyXG4gIHBsYXRmb3JtOiBzdHJpbmcgPSBDYXBhY2l0b3IuZ2V0UGxhdGZvcm0oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuICBpbml0U3R5bGVzKCkge1xyXG4gICAgICAvL0Z1bnppb25lIHBlciBwYXJzYXJlIGlsIGNhbXBvIHN0eWxlY3NzIGRlbGwnb2dnZXR0byBmaWVsZCBlZCBhcHBsaWNhcmxvIGFsbCdodG1sXHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxuIH1cclxuXHJcbiAgZ2V0SW5wdXRUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLlRleHRNYXNrKSB7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVGVsZWZvbm86XHJcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5Vcmw6XHJcbiAgICAgICAgcmV0dXJuICd1cmwnXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4vKipcclxuKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuKi9cclxub25UcmlnZ2VyQ2hhbmdlKCkge1xyXG5cclxuICBsZXQgb3V0cHV0OkNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oKTtcclxuICBvdXRwdXQgPSB7XHJcbiAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSB8fCB0aGlzLmZpZWxkLkxhYmVsLFxyXG4gICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWUgfHwgdGhpcy5maWVsZC5MYWJlbF0sXHJcbiAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZC5GaWVsZFR5cGUsXHJcbiAgICBib29sZWFubG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXHJcbiAgfTtcclxuXHJcbiAgdGhpcy50cmlnZ2VyQ2hhbmdlLmVtaXQob3V0cHV0KTtcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IHRleHRhcmVhRmlsdGVyVGVtcGxhdGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgIDx0bXctc2VsZWN0XHJcbiAgICAgIFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yVGV4dFwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIlxyXG4gICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgID48L3Rtdy1zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHZhbHVlQ29sXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAgICAgIHt7IGZpZWxkLkRlc2NyaXB0aW9uIH19XHJcbiAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICA8dGV4dGFyZWFcclxuICAgICAgICBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCJcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0aGlzLmNvbmRpdGlvbi5yZWNvcmRbZmllbGQuTmFtZSB8fCBmaWVsZC5MYWJlbF1cIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgIDx0bXctaWNvbiBjbGFzcz1cIm1hdC1pY29uXCJcclxuICAgICAgICBbaGlkZGVuXT1cIiFmaWVsZC5NaWNyb3Bob25lIHx8IHBsYXRmb3JtICE9ICd3ZWInXCJcclxuICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICAjbWljU3BlZWNoPVwic3BlZWNoVG9UZXh0XCJcclxuICAgICAgICBbKGJpbmRlZFRleHQpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lIHx8IGZpZWxkLkxhYmVsXVwiXHJcbiAgICAgICAgW3ZhcmlhbnRdPVwibWljU3BlZWNoLmlzTGlzdGVuaW5nID8gJ2ZpbGxlZCcgOiAnb3V0bGluZSdcIlxyXG4gICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgICBuYW1lPVwibWljcm9waG9uZVwiPjwvdG13LWljb24+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPHRtdy1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZVwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXCJcclxuICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvblRyaWdnZXJDaGFuZ2UoKVwiXHJcbiAgICA+PC90bXctc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19