@sarasanalytics-com/design-system 0.0.71 → 0.0.73

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 (77) hide show
  1. package/assets/add.svg +1 -0
  2. package/assets/analysis.svg +1 -0
  3. package/assets/arrowRightOutlined.svg +1 -0
  4. package/assets/avatar.svg +1 -0
  5. package/assets/bpn.svg +1 -0
  6. package/assets/businessStatsFilled.svg +1 -0
  7. package/assets/calendar.svg +3 -0
  8. package/assets/channelkey.svg +1 -0
  9. package/assets/chatHelpOutlined.svg +1 -0
  10. package/assets/chatIcon.svg +1 -0
  11. package/assets/checkCircleFilled.svg +1 -0
  12. package/assets/checkCircleOutlined.svg +1 -0
  13. package/assets/checkOutlined.svg +1 -0
  14. package/assets/circleFilled.svg +1 -0
  15. package/assets/closeBlueOutlined.svg +1 -0
  16. package/assets/closeCircleFilled.svg +1 -0
  17. package/assets/closeOutlined.svg +1 -0
  18. package/assets/compassNorthWest.svg +1 -0
  19. package/assets/dataonavatar.svg +1 -0
  20. package/assets/desktopSpeakerOutlined.svg +1 -0
  21. package/assets/disabledCheckboxFilled.svg +1 -0
  22. package/assets/doubleDownOutlined.svg +1 -0
  23. package/assets/downChevronOutlined.svg +5 -0
  24. package/assets/downOutlined.svg +1 -0
  25. package/assets/errorCircleOutlined.svg +1 -0
  26. package/assets/errorCrossOutlined.svg +3 -0
  27. package/assets/eyeFilled.svg +1 -0
  28. package/assets/eyeOff.svg +3 -0
  29. package/assets/eyeOutlined.svg +1 -0
  30. package/assets/formDetailsOutlined.svg +1 -0
  31. package/assets/gridViewOutlined.svg +1 -0
  32. package/assets/headsetOutlined.svg +3 -0
  33. package/assets/homeOutlined.svg +1 -0
  34. package/assets/infoCircleOutlined.svg +3 -0
  35. package/assets/infoTriangleFilled.svg +1 -0
  36. package/assets/infoTriangleOutlined.svg +1 -0
  37. package/assets/innosupps.svg +1 -0
  38. package/assets/leftChevronCircle.svg +2 -0
  39. package/assets/locationOutlined.svg +1 -0
  40. package/assets/lost-connection.svg +100 -0
  41. package/assets/mailOutlined.svg +1 -0
  42. package/assets/multiConnectionHub.svg +1 -0
  43. package/assets/multipleDocumentPercentage.svg +1 -0
  44. package/assets/murad.svg +1 -0
  45. package/assets/peopleAudience.svg +1 -0
  46. package/assets/personOutlined.svg +1 -0
  47. package/assets/personSupport.svg +1 -0
  48. package/assets/pricingIcon.svg +3 -0
  49. package/assets/refresh.svg +3 -0
  50. package/assets/rightChevronCircle.svg +1 -0
  51. package/assets/rightChevronOutlined.svg +1 -0
  52. package/assets/sarasFullLogo.svg +13 -0
  53. package/assets/sarasWhite.svg +1 -0
  54. package/assets/screenPerson.svg +1 -0
  55. package/assets/settingsOutlined.svg +1 -0
  56. package/assets/slideSettings.svg +1 -0
  57. package/assets/sourcesOutlined.svg +1 -0
  58. package/assets/tabDesktopArrowClockwiseOutlined.svg +1 -0
  59. package/assets/targetScanOutlined.svg +1 -0
  60. package/assets/timerOutlined.svg +5 -0
  61. package/assets/upwardTriangleFilled.svg +1 -0
  62. package/esm2022/lib/accordion/accordion.component.mjs +13 -5
  63. package/esm2022/lib/card/guide-card/guide-card.component.mjs +16 -9
  64. package/esm2022/lib/card/menu-card/menu-card.component.mjs +19 -17
  65. package/esm2022/lib/form-input/form-input.component.mjs +23 -4
  66. package/esm2022/lib/form-select/form-select.component.mjs +9 -3
  67. package/esm2022/lib/icon/icon.component.mjs +3 -3
  68. package/esm2022/utils/validators.mjs +22 -1
  69. package/fesm2022/sarasanalytics-com-design-system.mjs +128 -77
  70. package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
  71. package/lib/accordion/accordion.component.d.ts +3 -1
  72. package/lib/card/guide-card/guide-card.component.d.ts +3 -3
  73. package/lib/card/menu-card/menu-card.component.d.ts +5 -10
  74. package/lib/form-input/form-input.component.d.ts +2 -0
  75. package/package.json +2 -2
  76. package/styles/styles.css +29 -1
  77. package/utils/validators.d.ts +6 -0
@@ -5,11 +5,14 @@ import { FieldType } from '@ngx-formly/core';
5
5
  import { NgSelectModule } from '@ng-select/ng-select';
6
6
  import { ChipsComponent } from '../chips/chips.component';
7
7
  import { NgIf, NgFor } from '@angular/common';
8
+ import { IconComponent } from '../icon/icon.component';
9
+ import { CommonModule } from '@angular/common';
8
10
  import { MatTooltipModule } from '@angular/material/tooltip';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "@angular/forms";
11
13
  import * as i2 from "@ngx-formly/core";
12
14
  import * as i3 from "@ng-select/ng-select";
15
+ import * as i4 from "@angular/material/tooltip";
13
16
  export class FormSelectComponent extends FieldType {
14
17
  constructor() {
15
18
  super(...arguments);
@@ -75,7 +78,7 @@ export class FormSelectComponent extends FieldType {
75
78
  }
76
79
  }
77
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: FormSelectComponent, isStandalone: true, selector: "lib-form-select", outputs: { hoverEvent: "hoverEvent" }, usesInheritance: true, ngImport: i0, template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper,::ng-deep .ng-select-filtered .ng-select-container .ng-value-container .ng-value{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}.ng-select ::ng-deep .ng-dropdown-panel{width:calc(100% + 24px);left:-12px;margin-top:6px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatTooltipModule }] }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormSelectComponent, isStandalone: true, selector: "lib-form-select", outputs: { hoverEvent: "hoverEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sa-select-container {{props?.['inputContainerClass']}}\">\n @if(!!props?.['label']){\n <div class=\"sa-select-label-container\">\n <div class=\"sa-select-label-tooltip-container\">\n <span class=\"sa-select-label\">\n {{props?.['label']}}\n </span>\n @if(!!props?.['tooltip']){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\n [size]=\"props?.['tooltipIconSize'] || '20'\"></sa-icon>\n </span>\n }\n </div>\n @if(!!props?.['description']) {\n <p class=\"sa-select-description\">\n {{props?.['description']}}\n </p>\n }\n </div>\n }\n <div class=\"sa-select-field-container\">\n <div [style.visibility]=\"(props?.['showTag'] !== false && (openState || topLabel)) ? 'visible' : 'hidden'\"\n class=\"clicked-label\">{{params.label}}\n </div>\n <div\n class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}} {{formControl.valid ? '' : 'invalid'}}\">\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\"\n *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\"\n class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n <div *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\" class=\"right-icon\">\n <sa-icon [icon]=\"'downChevronOutlined'\" class=\"d-flex\" [size]=\"'18'\" (click)=\"openClose(true)\"\n (blur)=\"openClose(false)\"></sa-icon>\n </div>\n <!-- <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div> -->\n\n </div>\n </div>\n @if(!formControl.valid){\n <div class=\"error-message-container\">\n <span class=\"error-message\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </span>\n </div>\n }\n <div class=\"support-label\">{{params.supportText}}</div>\n</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.invalid{border:1px solid var(--semantic-error-500, #BD271E)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.custom-select-container .ng-select{padding-left:1.25rem}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper,::ng-deep .ng-select-filtered .ng-select-container .ng-value-container .ng-value{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}.ng-select ::ng-deep .ng-dropdown-panel{width:calc(100% + 24px);left:-12px;margin-top:6px}.custom-select-container .ng-select ::ng-deep .ng-dropdown-panel{left:.45rem}.d-flex{display:flex}.custom-select-container.sa-select-container{display:flex;flex-direction:column;gap:var(--small-12px, 12px)}.sa-select-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-select-label{color:var(--text-highemphasis, #1B1D20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}.right-icon{padding-right:1.2rem;color:#757575}.invalid .right-icon{color:var(--semantic-error-500, #BD271E)}.error-message{color:var(--semantic-error-500, #BD271E);font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:var(--small-16px);letter-spacing:.5px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass"] }, { kind: "ngmodule", type: CommonModule }] }); }
79
82
  }
80
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectComponent, decorators: [{
81
84
  type: Component,
@@ -87,10 +90,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
87
90
  ChipsComponent,
88
91
  NgIf,
89
92
  NgFor,
93
+ MatTooltipModule,
94
+ IconComponent,
95
+ CommonModule,
90
96
  MatTooltipModule
91
- ], template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper,::ng-deep .ng-select-filtered .ng-select-container .ng-value-container .ng-value{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}.ng-select ::ng-deep .ng-dropdown-panel{width:calc(100% + 24px);left:-12px;margin-top:6px}\n"] }]
97
+ ], template: "<div class=\"sa-select-container {{props?.['inputContainerClass']}}\">\n @if(!!props?.['label']){\n <div class=\"sa-select-label-container\">\n <div class=\"sa-select-label-tooltip-container\">\n <span class=\"sa-select-label\">\n {{props?.['label']}}\n </span>\n @if(!!props?.['tooltip']){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\n [size]=\"props?.['tooltipIconSize'] || '20'\"></sa-icon>\n </span>\n }\n </div>\n @if(!!props?.['description']) {\n <p class=\"sa-select-description\">\n {{props?.['description']}}\n </p>\n }\n </div>\n }\n <div class=\"sa-select-field-container\">\n <div [style.visibility]=\"(props?.['showTag'] !== false && (openState || topLabel)) ? 'visible' : 'hidden'\"\n class=\"clicked-label\">{{params.label}}\n </div>\n <div\n class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}} {{formControl.valid ? '' : 'invalid'}}\">\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\"\n *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\"\n class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n <div *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\" class=\"right-icon\">\n <sa-icon [icon]=\"'downChevronOutlined'\" class=\"d-flex\" [size]=\"'18'\" (click)=\"openClose(true)\"\n (blur)=\"openClose(false)\"></sa-icon>\n </div>\n <!-- <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div> -->\n\n </div>\n </div>\n @if(!formControl.valid){\n <div class=\"error-message-container\">\n <span class=\"error-message\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </span>\n </div>\n }\n <div class=\"support-label\">{{params.supportText}}</div>\n</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.invalid{border:1px solid var(--semantic-error-500, #BD271E)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.custom-select-container .ng-select{padding-left:1.25rem}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper,::ng-deep .ng-select-filtered .ng-select-container .ng-value-container .ng-value{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}.ng-select ::ng-deep .ng-dropdown-panel{width:calc(100% + 24px);left:-12px;margin-top:6px}.custom-select-container .ng-select ::ng-deep .ng-dropdown-panel{left:.45rem}.d-flex{display:flex}.custom-select-container.sa-select-container{display:flex;flex-direction:column;gap:var(--small-12px, 12px)}.sa-select-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-select-label{color:var(--text-highemphasis, #1B1D20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}.right-icon{padding-right:1.2rem;color:#757575}.invalid .right-icon{color:var(--semantic-error-500, #BD271E)}.error-message{color:var(--semantic-error-500, #BD271E);font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:var(--small-16px);letter-spacing:.5px}\n"] }]
92
98
  }], propDecorators: { hoverEvent: [{
93
99
  type: Output,
94
100
  args: ['hoverEvent']
95
101
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0tc2VsZWN0L2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBbUJ6RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBMEI7SUFoQm5FOztRQW9CRSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFHRCxlQUFVLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7S0FtRHZGO0lBakRDLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENB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bUJBQW1CLHlJQzFCaEMseTNFQXFDdUQsMm5GRHZCbkQsbUJBQW1CLHlUQUNuQixZQUFZLHFKQUVaLGNBQWMscy9CQUNkLGNBQWMsbU1BQ2QsSUFBSSw2RkFDSixLQUFLLGtIQUNMLGdCQUFnQjs7MkZBS1AsbUJBQW1CO2tCQWhCL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxnQkFBZ0I7cUJBQ2pCOzhCQWVxQixVQUFVO3NCQUEvQixNQUFNO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwLCBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBTZWxlY3RJbnRlcmZhY2UsIFNlbGVjdFN1YkludGVyZmFjZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBDaGlwc0NvbXBvbmVudCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XG4gIHNlbGVjdGFibGVzOiBhbnk7XG4gIHBhcmFtczogYW55O1xuXG4gIHN2Z1N0eWxlID0ge307XG4gIG9wZW5TdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3BMYWJlbDogYm9vbGVhbjtcbiAgc3RhcnRJbmQ6IG51bWJlciA9IDA7XG4gIGxhYmVsTGltaXQ6IG51bWJlciA9IDI7XG5cbiAgcGxhY2Vob2xkZXJMYWJlbDogc3RyaW5nO1xuICBAT3V0cHV0KCdob3ZlckV2ZW50JykgaG92ZXJFdmVudDogRXZlbnRFbWl0dGVyPHNlbGVjdEhvdmVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0YWJsZXMgPSB0aGlzLmZpZWxkLnByb3BzLm9wdGlvbnM7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLnBhcmFtcy5sYWJlbDtcbiAgICB0aGlzLnN2Z1N0eWxlID0ge1xuICAgICAgJy13ZWJraXQtbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLnBhcmFtcy5kcm9wSWNvbn0pfSlgLFxuICAgICAgJ21hc2staW1hZ2UnOiBgdXJsKCR7dGhpcy5wYXJhbXMuZHJvcEljb259KWAsXG4gICAgfVxuICB9XG4gIG9wZW5DbG9zZShzdGF0ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmZpZWxkLnByb3BzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBzdGF0ZTtcbiAgICBpZiAoc3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9IHRoaXMucGFyYW1zLmxhYmVsO1xuICAgIH1cbiAgfVxuICBzaGlmdExhYmVsKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGFjdGlvbiA9PSAnY2xpY2tlZCcpIHRoaXMuc3RhcnRJbmQrKztcbiAgICBpZiAoYWN0aW9uID09ICdjbGVhcmVkJykgdGhpcy5zdGFydEluZCA9IDA7XG4gICAgaWYgKGFjdGlvbiA9PSAncmVtb3ZlZCcgJiYgdGhpcy5zdGFydEluZCA+IDApIHRoaXMuc3RhcnRJbmQtLTtcbiAgICB0aGlzLnRvcExhYmVsID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMDsgXG4gICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5vcGVuU3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCBcbiAgICAgID8gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXIgXG4gICAgICA6IHRoaXMucGFyYW1zLmxhYmVsO1xuICB9XG4gIGNoZWNrRm9yWmVybyhzZWxlY3RlZDogYW55LCBzdGF0ZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvcExhYmVsID0gc2VsZWN0ZWQ/Lmxlbmd0aCA9PSAwID8gZmFsc2UgOiB0cnVlO1xuICAgIC8vIGNvbnNvbGUubG9nKFwidGVzdFwiLCB0aGlzLmZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGgpXG4gICAgLy8gY29uc29sZS5sb2coXCJ0ZXN0XCIsIHRoaXMub3BlblN0YXRlKVxuICAgIC8vIGNvbnNvbGUubG9nKFwicGxhY2Vob2xkZXItLS0gXCIsIHRoaXMucGxhY2Vob2xkZXJMYWJlbClcbiAgICAvLyBjb25zb2xlLmxvZyhcInBhcmFtcy5sYWJlbC0tLSBcIiwgdGhpcy5wYXJhbXMubGFiZWwpXG4gICAgdGhpcy5vcGVuU3RhdGUgPSBzdGF0ZTtcbiAgICBpZiAoc3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLnBhcmFtcy5sYWJlbDtcbiAgICB9XG4gIH1cbiAgbW91c2VIb3ZlcihpdGVtOiBTZWxlY3RTdWJJbnRlcmZhY2UsIGV2ZW50OiBhbnkgPSBudWxsLCB0b29sdGlwOiBNYXRUb29sdGlwKSB7ICAvLyBOZXcgbWV0aG9kIGZvciBtb3VzZWVudGVyIGV2ZW50XG4gICAgdGhpcy5ob3ZlckV2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICBpdGVtXG4gICAgfSk7XG4gICAgaWYgKHRvb2x0aXApIHtcbiAgICAgIHRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHNlbGVjdEhvdmVyRXZlbnQge1xuICBldmVudDogYW55LFxuICBpdGVtOiBTZWxlY3RTdWJJbnRlcmZhY2Vcbn0iLCI8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cIihvcGVuU3RhdGUgfHwgdG9wTGFiZWwpID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIiBjbGFzcz1cImNsaWNrZWQtbGFiZWxcIj57e3BhcmFtcy5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwibmctc2VsZWN0LWZpZWxkIHt7b3BlblN0YXRlID8gJ2FjdGl2YXRlZCcgOiAnaWRsZSd9fSB7e2ZpZWxkLnByb3BzLmRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnfX1cIj5cblxuICA8ZGl2IHJvbGU9XCJidXR0b25cIiB0aXRsZT1cImRyb3AtYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJsZWZ0LWljb24gc3ZnLWljb25cIiBbc3R5bGVdPVwic3ZnU3R5bGVcIlxuICAgIChjbGljayk9XCJvcGVuQ2xvc2UodHJ1ZSlcIiAoYmx1cik9XCJvcGVuQ2xvc2UoZmFsc2UpXCJcbiAgICAqbmdJZj1cIihwYXJhbXMuZHJvcEljb25Qb3NpdGlvbiA9PSAnbGVmdCcgfHwgcGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ2JvdGgnKVwiPlxuICA8L2Rpdj5cblxuICA8bmctc2VsZWN0IChjaGFuZ2UpPVwiY2hlY2tGb3JaZXJvKCRldmVudClcIiAocmVtb3ZlKT1cInNoaWZ0TGFiZWwoJ3JlbW92ZWQnKVwiIChjbGVhcik9XCJzaGlmdExhYmVsKCdjbGVhcmVkJylcIlxuICAgIChzZWFyY2gpPVwib3BlbkNsb3NlKHRydWUpXCIgKGZvY3VzKT1cIm9wZW5DbG9zZSh0cnVlKVwiIChibHVyKT1cIiBvcGVuQ2xvc2UoZmFsc2UpXCIgW2lzT3Blbl09XCJvcGVuU3RhdGVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlckxhYmVsXCIgYmluZExhYmVsPVwibmFtZVwiIFtpdGVtc109XCJzZWxlY3RhYmxlc1wiIFttdWx0aXBsZV09XCJwYXJhbXMubXVsdGlwbGVcIlxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtzdHlsZV0gW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIiBbc2VhcmNoYWJsZV09XCJmaWVsZC5wcm9wc1snc2VhcmNoYWJsZSddXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIChpdGVtcyA/IGl0ZW1zLnNsaWNlKHN0YXJ0SW5kLHN0YXJ0SW5kK2xhYmVsTGltaXQpOiBbXSlcIj5cbiAgICAgICAgPHNhLWNoaXAgKG9uQ2xpY2tFdmVudCk9XCIgKCFmaWVsZC5wcm9wcy5kaXNhYmxlZCkgPyAgY2xlYXIoaXRlbSkgOiBudWxsXCIgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgIFtpY29uUGF0aF09XCJwYXJhbXMuaWNvblBhdGhcIiBbdGV4dF09XCJpdGVtLm5hbWVcIiBbdHlwZV09XCJwYXJhbXMudHlwZVwiXG4gICAgICAgICAgW3N0YXRlXT1cImZpZWxkLnByb3BzLmRpc2FibGVkID8gJ25ldXRyYWwnIDogcGFyYW1zLnN0YXRlXCIgW2ZpbGxpbmddPVwicGFyYW1zLmZpbGxpbmdcIlxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwicGFyYW1zLmljb25Qb3NpdGlvblwiPlxuICAgICAgICA8L3NhLWNoaXA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKGNsaWNrKT1cInNoaWZ0TGFiZWwoJ2NsaWNrZWQnKVwiIGNsYXNzPVwibmctdmFsdWUgb3ZlcmZsb3ctbGFiZWxcIiAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IChzdGFydEluZCtsYWJlbExpbWl0KVwiPlxuICAgICAgICA8c2EtY2hpcCB0ZXh0PVwiK3t7aXRlbXMubGVuZ3RoLShzdGFydEluZCtsYWJlbExpbWl0KX19XCIgdHlwZT1cInJlZ3VsYXJcIiBzdGF0ZT1cImRlZmF1bHRcIiBmaWxsaW5nPVwiZmlsbGVkXCI+XG4gICAgICAgIDwvc2EtY2hpcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAoY2xpY2spPVwic2hpZnRMYWJlbCgnY2xlYXJlZCcpXCIgKm5nSWY9XCJzdGFydEluZCA9PSBpdGVtcy5sZW5ndGgtbGFiZWxMaW1pdFwiIGNsYXNzPVwibmctdmFsdWUgb3ZlcmZsb3ctbGFiZWxcIj5cbiAgICAgICAgPHNhLWNoaXAgdGV4dD1cIi4uLlwiIHR5cGU9XCJyZWd1bGFyXCIgc3RhdGU9XCJkZWZhdWx0XCIgZmlsbGluZz1cImZpbGxlZFwiPlxuICAgICAgICA8L3NhLWNoaXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXNlbGVjdD5cblxuICA8ZGl2IHJvbGU9XCJidXR0b25cIiB0aXRsZT1cImRyb3AtYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJyaWdodC1pY29uIHN2Zy1pY29uXCIgW3N0eWxlXT1cInN2Z1N0eWxlXCJcbiAgICAoY2xpY2spPVwib3BlbkNsb3NlKHRydWUpXCIgKGJsdXIpPVwib3BlbkNsb3NlKGZhbHNlKVwiXG4gICAgKm5nSWY9XCIocGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ3JpZ2h0JyB8fCBwYXJhbXMuZHJvcEljb25Qb3NpdGlvbiA9PSAnYm90aCcpXCI+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdXBwb3J0LWxhYmVsXCI+e3twYXJhbXMuc3VwcG9ydFRleHR9fTwvZGl2PiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0tc2VsZWN0L2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBc0J6RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBMEI7SUFuQm5FOztRQXVCRSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFHRCxlQUFV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T0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7OEdBN0RVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHlJQy9CaEMsNitIQTJFTSx5L0dEM0RGLG1CQUFtQix5VEFDbkIsWUFBWSx5UUFFWixjQUFjLHMvQkFDZCxjQUFjLG1NQUNkLElBQUksNkZBQ0osS0FBSyxrSEFDTCxnQkFBZ0IsNlRBQ2hCLGFBQWEsbUlBQ2IsWUFBWTs7MkZBTUgsbUJBQW1CO2tCQW5CL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCOzhCQWVxQixVQUFVO3NCQUEvQixNQUFNO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcCwgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU2VsZWN0SW50ZXJmYWNlLCBTZWxlY3RTdWJJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XG4gIHNlbGVjdGFibGVzOiBhbnk7XG4gIHBhcmFtczogYW55O1xuXG4gIHN2Z1N0eWxlID0ge307XG4gIG9wZW5TdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3BMYWJlbDogYm9vbGVhbjtcbiAgc3RhcnRJbmQ6IG51bWJlciA9IDA7XG4gIGxhYmVsTGltaXQ6IG51bWJlciA9IDI7XG5cbiAgcGxhY2Vob2xkZXJMYWJlbDogc3RyaW5nO1xuICBAT3V0cHV0KCdob3ZlckV2ZW50JykgaG92ZXJFdmVudDogRXZlbnRFbWl0dGVyPHNlbGVjdEhvdmVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0YWJsZXMgPSB0aGlzLmZpZWxkLnByb3BzLm9wdGlvbnM7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLnBhcmFtcy5sYWJlbDtcbiAgICB0aGlzLnN2Z1N0eWxlID0ge1xuICAgICAgJy13ZWJraXQtbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLnBhcmFtcy5kcm9wSWNvbn0pfSlgLFxuICAgICAgJ21hc2staW1hZ2UnOiBgdXJsKCR7dGhpcy5wYXJhbXMuZHJvcEljb259KWAsXG4gICAgfVxuICB9XG4gIG9wZW5DbG9zZShzdGF0ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmZpZWxkLnByb3BzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBzdGF0ZTtcbiAgICBpZiAoc3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9IHRoaXMucGFyYW1zLmxhYmVsO1xuICAgIH1cbiAgfVxuICBzaGlmdExhYmVsKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGFjdGlvbiA9PSAnY2xpY2tlZCcpIHRoaXMuc3RhcnRJbmQrKztcbiAgICBpZiAoYWN0aW9uID09ICdjbGVhcmVkJykgdGhpcy5zdGFydEluZCA9IDA7XG4gICAgaWYgKGFjdGlvbiA9PSAncmVtb3ZlZCcgJiYgdGhpcy5zdGFydEluZCA+IDApIHRoaXMuc3RhcnRJbmQtLTtcbiAgICB0aGlzLnRvcExhYmVsID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMDsgXG4gICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5vcGVuU3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCBcbiAgICAgID8gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXIgXG4gICAgICA6IHRoaXMucGFyYW1zLmxhYmVsO1xuICB9XG4gIGNoZWNrRm9yWmVybyhzZWxlY3RlZDogYW55LCBzdGF0ZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvcExhYmVsID0gc2VsZWN0ZWQ/Lmxlbmd0aCA9PSAwID8gZmFsc2UgOiB0cnVlO1xuICAgIC8vIGNvbnNvbGUubG9nKFwidGVzdFwiLCB0aGlzLmZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGgpXG4gICAgLy8gY29uc29sZS5sb2coXCJ0ZXN0XCIsIHRoaXMub3BlblN0YXRlKVxuICAgIC8vIGNvbnNvbGUubG9nKFwicGxhY2Vob2xkZXItLS0gXCIsIHRoaXMucGxhY2Vob2xkZXJMYWJlbClcbiAgICAvLyBjb25zb2xlLmxvZyhcInBhcmFtcy5sYWJlbC0tLSBcIiwgdGhpcy5wYXJhbXMubGFiZWwpXG4gICAgdGhpcy5vcGVuU3RhdGUgPSBzdGF0ZTtcbiAgICBpZiAoc3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5wYXJhbXMucGxhY2Vob2xkZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLnBhcmFtcy5sYWJlbDtcbiAgICB9XG4gIH1cbiAgbW91c2VIb3ZlcihpdGVtOiBTZWxlY3RTdWJJbnRlcmZhY2UsIGV2ZW50OiBhbnkgPSBudWxsLCB0b29sdGlwOiBNYXRUb29sdGlwKSB7ICAvLyBOZXcgbWV0aG9kIGZvciBtb3VzZWVudGVyIGV2ZW50XG4gICAgdGhpcy5ob3ZlckV2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICBpdGVtXG4gICAgfSk7XG4gICAgaWYgKHRvb2x0aXApIHtcbiAgICAgIHRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHNlbGVjdEhvdmVyRXZlbnQge1xuICBldmVudDogYW55LFxuICBpdGVtOiBTZWxlY3RTdWJJbnRlcmZhY2Vcbn0iLCI8ZGl2IGNsYXNzPVwic2Etc2VsZWN0LWNvbnRhaW5lciB7e3Byb3BzPy5bJ2lucHV0Q29udGFpbmVyQ2xhc3MnXX19XCI+XG4gIEBpZighIXByb3BzPy5bJ2xhYmVsJ10pe1xuICA8ZGl2IGNsYXNzPVwic2Etc2VsZWN0LWxhYmVsLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzYS1zZWxlY3QtbGFiZWwtdG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2Etc2VsZWN0LWxhYmVsXCI+XG4gICAgICAgIHt7cHJvcHM/LlsnbGFiZWwnXX19XG4gICAgICA8L3NwYW4+XG4gICAgICBAaWYoISFwcm9wcz8uWyd0b29sdGlwJ10pe1xuICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWyd0b29sdGlwSWNvbiddIHx8ICdpbmZvQ2lyY2xlT3V0bGluZWQnXCIgY3VzdG9tQ2xhc3M9XCJpbmZvLWljb25cIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cInByb3BzPy5bJ3Rvb2x0aXAnXVwiIG1hdFRvb2x0aXBDbGFzcz1cImN1c3RvbS10b29sdGlwXCIgY2xhc3M9XCJ0b29sdGlwLWljb24gZC1mbGV4XCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcz8uWyd0b29sdGlwSWNvblNpemUnXSB8fCAnMjAnXCI+PC9zYS1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZighIXByb3BzPy5bJ2Rlc2NyaXB0aW9uJ10pIHtcbiAgICA8cCBjbGFzcz1cInNhLXNlbGVjdC1kZXNjcmlwdGlvblwiPlxuICAgICAge3twcm9wcz8uWydkZXNjcmlwdGlvbiddfX1cbiAgICA8L3A+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwic2Etc2VsZWN0LWZpZWxkLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwiKHByb3BzPy5bJ3Nob3dUYWcnXSAhPT0gZmFsc2UgJiYgKG9wZW5TdGF0ZSB8fCB0b3BMYWJlbCkpID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIlxuICAgICAgY2xhc3M9XCJjbGlja2VkLWxhYmVsXCI+e3twYXJhbXMubGFiZWx9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibmctc2VsZWN0LWZpZWxkIHt7b3BlblN0YXRlID8gJ2FjdGl2YXRlZCcgOiAnaWRsZSd9fSB7e2ZpZWxkLnByb3BzLmRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnfX0ge3tmb3JtQ29udHJvbC52YWxpZCA/ICcnIDogJ2ludmFsaWQnfX1cIj5cbiAgICAgIDxkaXYgcm9sZT1cImJ1dHRvblwiIHRpdGxlPVwiZHJvcC1idXR0b25cIiB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImxlZnQtaWNvbiBzdmctaWNvblwiIFtzdHlsZV09XCJzdmdTdHlsZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuQ2xvc2UodHJ1ZSlcIiAoYmx1cik9XCJvcGVuQ2xvc2UoZmFsc2UpXCJcbiAgICAgICAgKm5nSWY9XCIocGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ2xlZnQnIHx8IHBhcmFtcy5kcm9wSWNvblBvc2l0aW9uID09ICdib3RoJylcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXNlbGVjdCAoY2hhbmdlKT1cImNoZWNrRm9yWmVybygkZXZlbnQpXCIgKHJlbW92ZSk9XCJzaGlmdExhYmVsKCdyZW1vdmVkJylcIiAoY2xlYXIpPVwic2hpZnRMYWJlbCgnY2xlYXJlZCcpXCJcbiAgICAgICAgKHNlYXJjaCk9XCJvcGVuQ2xvc2UodHJ1ZSlcIiAoZm9jdXMpPVwib3BlbkNsb3NlKHRydWUpXCIgKGJsdXIpPVwiIG9wZW5DbG9zZShmYWxzZSlcIiBbaXNPcGVuXT1cIm9wZW5TdGF0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlckxhYmVsXCIgYmluZExhYmVsPVwibmFtZVwiIFtpdGVtc109XCJzZWxlY3RhYmxlc1wiIFttdWx0aXBsZV09XCJwYXJhbXMubXVsdGlwbGVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbc3R5bGVdIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCIgW3NlYXJjaGFibGVdPVwiZmllbGQucHJvcHNbJ3NlYXJjaGFibGUnXVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIChpdGVtcyA/IGl0ZW1zLnNsaWNlKHN0YXJ0SW5kLHN0YXJ0SW5kK2xhYmVsTGltaXQpOiBbXSlcIj5cbiAgICAgICAgICAgIDxzYS1jaGlwIChvbkNsaWNrRXZlbnQpPVwiICghZmllbGQucHJvcHMuZGlzYWJsZWQpID8gIGNsZWFyKGl0ZW0pIDogbnVsbFwiIFtpZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICAgICAgW2ljb25QYXRoXT1cInBhcmFtcy5pY29uUGF0aFwiIFt0ZXh0XT1cIml0ZW0ubmFtZVwiIFt0eXBlXT1cInBhcmFtcy50eXBlXCJcbiAgICAgICAgICAgICAgW3N0YXRlXT1cImZpZWxkLnByb3BzLmRpc2FibGVkID8gJ25ldXRyYWwnIDogcGFyYW1zLnN0YXRlXCIgW2ZpbGxpbmddPVwicGFyYW1zLmZpbGxpbmdcIlxuICAgICAgICAgICAgICBbaWNvblBvc2l0aW9uXT1cInBhcmFtcy5pY29uUG9zaXRpb25cIj5cbiAgICAgICAgICAgIDwvc2EtY2hpcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJzaGlmdExhYmVsKCdjbGlja2VkJylcIiBjbGFzcz1cIm5nLXZhbHVlIG92ZXJmbG93LWxhYmVsXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gKHN0YXJ0SW5kK2xhYmVsTGltaXQpXCI+XG4gICAgICAgICAgICA8c2EtY2hpcCB0ZXh0PVwiK3t7aXRlbXMubGVuZ3RoLShzdGFydEluZCtsYWJlbExpbWl0KX19XCIgdHlwZT1cInJlZ3VsYXJcIiBzdGF0ZT1cImRlZmF1bHRcIiBmaWxsaW5nPVwiZmlsbGVkXCI+XG4gICAgICAgICAgICA8L3NhLWNoaXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwic2hpZnRMYWJlbCgnY2xlYXJlZCcpXCIgKm5nSWY9XCJzdGFydEluZCA9PSBpdGVtcy5sZW5ndGgtbGFiZWxMaW1pdFwiXG4gICAgICAgICAgICBjbGFzcz1cIm5nLXZhbHVlIG92ZXJmbG93LWxhYmVsXCI+XG4gICAgICAgICAgICA8c2EtY2hpcCB0ZXh0PVwiLi4uXCIgdHlwZT1cInJlZ3VsYXJcIiBzdGF0ZT1cImRlZmF1bHRcIiBmaWxsaW5nPVwiZmlsbGVkXCI+XG4gICAgICAgICAgICA8L3NhLWNoaXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCIocGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ3JpZ2h0JyB8fCBwYXJhbXMuZHJvcEljb25Qb3NpdGlvbiA9PSAnYm90aCcpXCIgY2xhc3M9XCJyaWdodC1pY29uXCI+XG4gICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidkb3duQ2hldnJvbk91dGxpbmVkJ1wiIGNsYXNzPVwiZC1mbGV4XCIgW3NpemVdPVwiJzE4J1wiIChjbGljayk9XCJvcGVuQ2xvc2UodHJ1ZSlcIlxuICAgICAgICAgIChibHVyKT1cIm9wZW5DbG9zZShmYWxzZSlcIj48L3NhLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gPGRpdiByb2xlPVwiYnV0dG9uXCIgdGl0bGU9XCJkcm9wLWJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwicmlnaHQtaWNvbiBzdmctaWNvblwiIFtzdHlsZV09XCJzdmdTdHlsZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuQ2xvc2UodHJ1ZSlcIiAoYmx1cik9XCJvcGVuQ2xvc2UoZmFsc2UpXCJcbiAgICAgICAgKm5nSWY9XCIocGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ3JpZ2h0JyB8fCBwYXJhbXMuZHJvcEljb25Qb3NpdGlvbiA9PSAnYm90aCcpXCI+XG4gICAgICA8L2Rpdj4gLS0+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZighZm9ybUNvbnRyb2wudmFsaWQpe1xuICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZS1jb250YWluZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICB9XG4gIDxkaXYgY2xhc3M9XCJzdXBwb3J0LWxhYmVsXCI+e3twYXJhbXMuc3VwcG9ydFRleHR9fTwvZGl2PlxuPC9kaXY+Il19
@@ -45,11 +45,11 @@ export class IconComponent {
45
45
  }
46
46
  }
47
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IconComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: IconComponent, isStandalone: true, selector: "sa-icon", inputs: { img: "img", icon: "icon", size: "size", color: "color", iconPath: "iconPath", iconUrl: "iconUrl", customClass: "customClass" }, usesOnChanges: true, ngImport: i0, template: "@if(img){\n<img [src]=\"img\" [height]=\"size\" [width]=\"size\">\n}@else{\n<span class=\"sa-icon\" [ngClass]=\"{\n 'url-icon': iconUrl\n }\" [ngClass]=\"customClass ? [customClass] : []\" [innerHTML]=\"svgIcon\" [ngStyle]=\"iconStyles\">\n\n</span>\n}", styles: [".sa-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;font-size:inherit}.sa-icon>svg{width:1em;height:1em;vertical-align:middle}.sa-icon.auto-dimensions>svg{width:fit-content;height:fit-content}.colored-icon{color:var(--primary-500)}.disabled-icon{color:var(--icon-grey1)}.disabled-checkbox-icon{color:var(--grey-200)}.accordion-info-icon{color:var(--icon-grey1)}.sa-card-checkbox-wrapper .sa-card-title-logo .sa-icon{display:flex;width:var(--medium-28px, 28px);padding:var(--small-4px, 4px);align-items:center;border-radius:var(--small-4px, 4px);background:var(--primary-50, #F4EBFF)}.sa-card-checkbox-wrapper .sa-card-title-logo.disabled-card .sa-icon{background:var(--grey-50, #F2F4F7)}.checkbox-card-action-button .sa-icon>svg{height:1.3rem;width:1.05rem}.sa-icon.accordion-info-icon>svg{width:var(--medium-20px, 20px);height:var(--medium-20px, 20px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: IconComponent, isStandalone: true, selector: "sa-icon", inputs: { img: "img", icon: "icon", size: "size", color: "color", iconPath: "iconPath", iconUrl: "iconUrl", customClass: "customClass" }, usesOnChanges: true, ngImport: i0, template: "@if(img){\n<img [src]=\"img\" [height]=\"size\" [width]=\"size\">\n}@else{\n<span class=\"sa-icon\" [ngClass]=\"{\n 'url-icon': iconUrl\n }\" [ngClass]=\"customClass ? [customClass] : []\" [innerHTML]=\"svgIcon\" [ngStyle]=\"iconStyles\">\n\n</span>\n}", styles: [".sa-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;font-size:inherit}.sa-icon>svg{width:1em;height:1em;vertical-align:middle}.sa-icon.auto-dimensions>svg{width:fit-content;height:fit-content}.colored-icon{color:var(--primary-500)}.disabled-icon{color:var(--icon-grey1)}.disabled-checkbox-icon{color:var(--grey-200)}.info-icon{color:var(--icon-grey1);cursor:pointer}.sa-card-checkbox-wrapper .sa-card-title-logo .sa-icon{display:flex;width:var(--medium-28px, 28px);padding:var(--small-4px, 4px);align-items:center;border-radius:var(--small-4px, 4px);background:var(--primary-50, #F4EBFF)}.sa-card-checkbox-wrapper .sa-card-title-logo.disabled-card .sa-icon{background:var(--grey-50, #F2F4F7)}.checkbox-card-action-button .sa-icon>svg{height:1.3rem;width:1.05rem}.sa-icon.info-icon>svg{width:var(--medium-20px, 20px);height:var(--medium-20px, 20px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IconComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'sa-icon', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "@if(img){\n<img [src]=\"img\" [height]=\"size\" [width]=\"size\">\n}@else{\n<span class=\"sa-icon\" [ngClass]=\"{\n 'url-icon': iconUrl\n }\" [ngClass]=\"customClass ? [customClass] : []\" [innerHTML]=\"svgIcon\" [ngStyle]=\"iconStyles\">\n\n</span>\n}", styles: [".sa-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;font-size:inherit}.sa-icon>svg{width:1em;height:1em;vertical-align:middle}.sa-icon.auto-dimensions>svg{width:fit-content;height:fit-content}.colored-icon{color:var(--primary-500)}.disabled-icon{color:var(--icon-grey1)}.disabled-checkbox-icon{color:var(--grey-200)}.accordion-info-icon{color:var(--icon-grey1)}.sa-card-checkbox-wrapper .sa-card-title-logo .sa-icon{display:flex;width:var(--medium-28px, 28px);padding:var(--small-4px, 4px);align-items:center;border-radius:var(--small-4px, 4px);background:var(--primary-50, #F4EBFF)}.sa-card-checkbox-wrapper .sa-card-title-logo.disabled-card .sa-icon{background:var(--grey-50, #F2F4F7)}.checkbox-card-action-button .sa-icon>svg{height:1.3rem;width:1.05rem}.sa-icon.accordion-info-icon>svg{width:var(--medium-20px, 20px);height:var(--medium-20px, 20px)}\n"] }]
52
+ args: [{ selector: 'sa-icon', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "@if(img){\n<img [src]=\"img\" [height]=\"size\" [width]=\"size\">\n}@else{\n<span class=\"sa-icon\" [ngClass]=\"{\n 'url-icon': iconUrl\n }\" [ngClass]=\"customClass ? [customClass] : []\" [innerHTML]=\"svgIcon\" [ngStyle]=\"iconStyles\">\n\n</span>\n}", styles: [".sa-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;font-size:inherit}.sa-icon>svg{width:1em;height:1em;vertical-align:middle}.sa-icon.auto-dimensions>svg{width:fit-content;height:fit-content}.colored-icon{color:var(--primary-500)}.disabled-icon{color:var(--icon-grey1)}.disabled-checkbox-icon{color:var(--grey-200)}.info-icon{color:var(--icon-grey1);cursor:pointer}.sa-card-checkbox-wrapper .sa-card-title-logo .sa-icon{display:flex;width:var(--medium-28px, 28px);padding:var(--small-4px, 4px);align-items:center;border-radius:var(--small-4px, 4px);background:var(--primary-50, #F4EBFF)}.sa-card-checkbox-wrapper .sa-card-title-logo.disabled-card .sa-icon{background:var(--grey-50, #F2F4F7)}.checkbox-card-action-button .sa-icon>svg{height:1.3rem;width:1.05rem}.sa-icon.info-icon>svg{width:var(--medium-20px, 20px);height:var(--medium-20px, 20px)}\n"] }]
53
53
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { img: [{
54
54
  type: Input,
55
55
  args: ['img']
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
70
70
  type: Input,
71
71
  args: ['customClass']
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVy9DLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxCMUMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQU9kLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDaEMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNSLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRy9DLGVBQVUsR0FBUTtRQUNoQixvQkFBb0I7UUFDcEIsZUFBZTtTQUNoQixDQUFDO0lBRTRDLENBQUM7SUFDL0MsUUFBUTtJQUNSLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFHaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO2dCQUMxQixDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7OEdBL0NVLGFBQWE7a0dBQWIsYUFBYSxrT0NkMUIsa1FBUUMsaTdCRENXLFlBQVk7OzJGQUtYLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJO3NGQU12QixHQUFHO3NCQUFoQixLQUFLO3VCQUFDLEtBQUs7Z0JBRUgsSUFBSTtzQkFBWixLQUFLO2dCQUNTLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDRyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNSLE9BQU87c0JBQWYsS0FBSztnQkFDZ0IsV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5jc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBpY29uU2VydmljZSA9IGluamVjdChJY29uU2VydmljZSk7XG4gIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIEBJbnB1dCgnaW1nJykgaW1nOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaWNvbj86IEljb25OYW1lO1xuICBASW5wdXQoJ3NpemUnKSBzaXplOiBzdHJpbmc7XG4gIEBJbnB1dCgnY29sb3InKSBjb2xvcjogc3RyaW5nO1xuICBASW5wdXQoJ2ljb25QYXRoJykgaWNvblBhdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGljb25Vcmw6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgnY3VzdG9tQ2xhc3MnKSBjdXN0b21DbGFzczogc3RyaW5nID0gXCJcIjtcblxuICBzdmdJY29uOiBhbnk7XG4gIGljb25TdHlsZXM6IGFueSA9IHtcbiAgICAvLyBmb250U2l6ZTogJzQ0cHgnLFxuICAgIC8vIGNvbG9yOiAncmVkJ1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG4gIG5nT25Jbml0KCkge1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcblxuXG4gICAgaWYgKGNoYW5nZXNbJ2ljb25QYXRoJ10gJiYgISF0aGlzLmljb25QYXRoLnRyaW0oKSkge1xuICAgICAgdGhpcy5pY29uU2VydmljZS5nZXRTdmcodGhpcy5pY29uIHx8IFwiXCIsIHRoaXMuaWNvblBhdGgpLnN1YnNjcmliZSgoc3ZnKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZnSWNvbiA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snaWNvbiddIHx8IGNoYW5nZXNbJ2ljb25VcmwnXSkge1xuICAgICAgY29uc3QgaWNvbiA9IHRoaXMuaWNvbiB8fCB0aGlzLmljb25Vcmw7XG4gICAgICBpZiAoaWNvbikge1xuICAgICAgICB0aGlzLmljb25TZXJ2aWNlLmdldFN2ZyhpY29uKS5zdWJzY3JpYmUoKHN2ZykgPT4ge1xuICAgICAgICAgIHRoaXMuc3ZnSWNvbiA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN2Z0ljb24gPSAnJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3NpemUnXSB8fCBjaGFuZ2VzWydjb2xvciddKSB7XG4gICAgICB0aGlzLmljb25TdHlsZXMuZm9udFNpemUgPSB0aGlzLnNpemUgKyAncHgnO1xuICAgICAgdGhpcy5pY29uU3R5bGVzLndpZHRoID0gdGhpcy5pY29uVXJsID8gXCJmaXQtY29udGVudFwiIDogJzFlbSc7XG4gICAgICB0aGlzLmljb25TdHlsZXMuaGVpZ2h0ID0gdGhpcy5pY29uVXJsID8gXCJmaXQtY29udGVudFwiIDogJzFlbSc7XG4gICAgICB0aGlzLmljb25TdHlsZXMuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgIH1cbiAgfVxuXG59IiwiQGlmKGltZyl7XG48aW1nIFtzcmNdPVwiaW1nXCIgW2hlaWdodF09XCJzaXplXCIgW3dpZHRoXT1cInNpemVcIj5cbn1AZWxzZXtcbjxzcGFuIGNsYXNzPVwic2EtaWNvblwiIFtuZ0NsYXNzXT1cIntcbiAgICAndXJsLWljb24nOiBpY29uVXJsXG4gIH1cIiBbbmdDbGFzc109XCJjdXN0b21DbGFzcyA/IFtjdXN0b21DbGFzc10gOiBbXVwiIFtpbm5lckhUTUxdPVwic3ZnSWNvblwiIFtuZ1N0eWxlXT1cImljb25TdHlsZXNcIj5cblxuPC9zcGFuPlxufSJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVy9DLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxCMUMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQU9kLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDaEMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNSLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRy9DLGVBQVUsR0FBUTtRQUNoQixvQkFBb0I7UUFDcEIsZUFBZTtTQUNoQixDQUFDO0lBRTRDLENBQUM7SUFDL0MsUUFBUTtJQUNSLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFHaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO2dCQUMxQixDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7OEdBL0NVLGFBQWE7a0dBQWIsYUFBYSxrT0NkMUIsa1FBUUMsNDZCRENXLFlBQVk7OzJGQUtYLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJO3NGQU12QixHQUFHO3NCQUFoQixLQUFLO3VCQUFDLEtBQUs7Z0JBRUgsSUFBSTtzQkFBWixLQUFLO2dCQUNTLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDRyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNSLE9BQU87c0JBQWYsS0FBSztnQkFDZ0IsV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5jc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBpY29uU2VydmljZSA9IGluamVjdChJY29uU2VydmljZSk7XG4gIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIEBJbnB1dCgnaW1nJykgaW1nOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaWNvbj86IEljb25OYW1lO1xuICBASW5wdXQoJ3NpemUnKSBzaXplOiBzdHJpbmc7XG4gIEBJbnB1dCgnY29sb3InKSBjb2xvcjogc3RyaW5nO1xuICBASW5wdXQoJ2ljb25QYXRoJykgaWNvblBhdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGljb25Vcmw6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgnY3VzdG9tQ2xhc3MnKSBjdXN0b21DbGFzczogc3RyaW5nID0gXCJcIjtcblxuICBzdmdJY29uOiBhbnk7XG4gIGljb25TdHlsZXM6IGFueSA9IHtcbiAgICAvLyBmb250U2l6ZTogJzQ0cHgnLFxuICAgIC8vIGNvbG9yOiAncmVkJ1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG4gIG5nT25Jbml0KCkge1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcblxuXG4gICAgaWYgKGNoYW5nZXNbJ2ljb25QYXRoJ10gJiYgISF0aGlzLmljb25QYXRoLnRyaW0oKSkge1xuICAgICAgdGhpcy5pY29uU2VydmljZS5nZXRTdmcodGhpcy5pY29uIHx8IFwiXCIsIHRoaXMuaWNvblBhdGgpLnN1YnNjcmliZSgoc3ZnKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZnSWNvbiA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snaWNvbiddIHx8IGNoYW5nZXNbJ2ljb25VcmwnXSkge1xuICAgICAgY29uc3QgaWNvbiA9IHRoaXMuaWNvbiB8fCB0aGlzLmljb25Vcmw7XG4gICAgICBpZiAoaWNvbikge1xuICAgICAgICB0aGlzLmljb25TZXJ2aWNlLmdldFN2ZyhpY29uKS5zdWJzY3JpYmUoKHN2ZykgPT4ge1xuICAgICAgICAgIHRoaXMuc3ZnSWNvbiA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN2Z0ljb24gPSAnJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3NpemUnXSB8fCBjaGFuZ2VzWydjb2xvciddKSB7XG4gICAgICB0aGlzLmljb25TdHlsZXMuZm9udFNpemUgPSB0aGlzLnNpemUgKyAncHgnO1xuICAgICAgdGhpcy5pY29uU3R5bGVzLndpZHRoID0gdGhpcy5pY29uVXJsID8gXCJmaXQtY29udGVudFwiIDogJzFlbSc7XG4gICAgICB0aGlzLmljb25TdHlsZXMuaGVpZ2h0ID0gdGhpcy5pY29uVXJsID8gXCJmaXQtY29udGVudFwiIDogJzFlbSc7XG4gICAgICB0aGlzLmljb25TdHlsZXMuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgIH1cbiAgfVxuXG59IiwiQGlmKGltZyl7XG48aW1nIFtzcmNdPVwiaW1nXCIgW2hlaWdodF09XCJzaXplXCIgW3dpZHRoXT1cInNpemVcIj5cbn1AZWxzZXtcbjxzcGFuIGNsYXNzPVwic2EtaWNvblwiIFtuZ0NsYXNzXT1cIntcbiAgICAndXJsLWljb24nOiBpY29uVXJsXG4gIH1cIiBbbmdDbGFzc109XCJjdXN0b21DbGFzcyA/IFtjdXN0b21DbGFzc10gOiBbXVwiIFtpbm5lckhUTUxdPVwic3ZnSWNvblwiIFtuZ1N0eWxlXT1cImljb25TdHlsZXNcIj5cblxuPC9zcGFuPlxufSJdfQ==
@@ -1,3 +1,4 @@
1
+ import { startCase as _startCase, get as _get } from 'lodash';
1
2
  export function phoneNumberValidator(dependent) {
2
3
  return (control) => {
3
4
  const dependentFormControl = dependent ? control.parent?.get(dependent) : null;
@@ -94,4 +95,24 @@ export function getValidationMessage(errors, placeholder = 'Input') {
94
95
  }
95
96
  return `Invalid ${placeholder}`;
96
97
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxTQUFrQjtJQUNuRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRSxJQUFJLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNoQyxPQUF3QixFQUNRLEVBQUU7SUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixtRUFBbUU7SUFFbkUsTUFBTSxZQUFZLEdBQUcsbURBQW1ELENBQUM7SUFFekUsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLENBQUMsY0FBYztJQUMvQixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU87WUFDSCxPQUFPLEVBQ0gsbUZBQW1GO1NBQzFGLENBQUMsQ0FBQyxnQkFBZ0I7SUFDdkIsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDM0MsTUFBTSxpQkFBaUIsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQTtBQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQVcsRUFBRSxjQUFzQixPQUFPO0lBQzNFLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sV0FBVyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7UUFDbEYsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxjQUFjLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUNyRixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEdBQUcsV0FBVyxrQkFBa0IsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLHFCQUFxQixDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sNEJBQTRCLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFdBQVcsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFdBQVcsV0FBVyxFQUFFLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZU51bWJlclZhbGlkYXRvcihkZXBlbmRlbnQ/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVudEZvcm1Db250cm9sID0gZGVwZW5kZW50ID8gY29udHJvbC5wYXJlbnQ/LmdldChkZXBlbmRlbnQpIDogbnVsbDtcbiAgICAgICAgaWYgKGRlcGVuZGVudEZvcm1Db250cm9sICYmICEhZGVwZW5kZW50Rm9ybUNvbnRyb2wudmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZhbGlkYXRvcicsIGRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKGRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlWzBdLmlkID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEvXlxcKzFbMi05XVxcZHsyfVsyLTldXFxkezZ9JC8udGVzdChjb250cm9sLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkOiAnaW52YWxpZCBwaG9uZSBudW1iZXInIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGN1c3RvbUVtYWlsVmFsaWRhdG9yID0gKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbFxuKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IGVtYWlsID0gY29udHJvbC52YWx1ZTtcbiAgICAvLyBSZXBsYWNlIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gd2l0aCB0aGUgcGF0dGVybiB5b3Ugd2FudCB0byB1c2UuXG5cbiAgICBjb25zdCBlbWFpbFBhdHRlcm4gPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvO1xuXG4gICAgaWYgKGVtYWlsUGF0dGVybi50ZXN0KGVtYWlsKSAmJiBpc1dvcmtFbWFpbChlbWFpbCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7IC8vIFZhbGlkIGVtYWlsXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgICAgICAgJ1BsZWFzZSB1c2UgYSB3b3JrIGVtYWlsOyBwZXJzb25hbCBlbWFpbHMgKGUuZy4sIEBnbWFpbCwgQHlhaG9vKSBhcmUgbm90IGFjY2VwdGVkLicsXG4gICAgICAgIH07IC8vIEludmFsaWQgZW1haWxcbiAgICB9XG59O1xuY29uc3QgaXNXb3JrRW1haWwgPSAoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGludmFsaWRFbWFpbEhvc3RzOiBzdHJpbmdbXSA9IFsnZ21haWwnLCAneWFob28nLCAnaG90bWFpbCddO1xuICAgIGlmIChlbWFpbCkge1xuICAgICAgICBsZXQgW3VzZXJOYW1lLCBkb21haW5OYW1lXSA9IGVtYWlsLnNwbGl0KCdAJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW52YWxpZEVtYWlsSG9zdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCByZSA9IG5ldyBSZWdFeHAoYC4qJHtpbnZhbGlkRW1haWxIb3N0c1tpXX1cXC4uKmApO1xuICAgICAgICAgICAgaWYgKHJlLnRlc3QoZG9tYWluTmFtZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbi8qXG5leHBvcnQgZnVuY3Rpb24gd29ya0VtYWlsVmFsaWRhdGlvbigpOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcbiAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7IC8vIE5vIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICAgIH1cblxuICAgICAgICAhY29udHJvbC5wZW5kaW5nICYmIGNvbnRyb2wubWFya0FzUGVuZGluZygpO1xuICAgICAgICAvLyAhY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAvLyByZXR1cm4gb2YoeyBpbnZhbGlkOiAnRW50ZXIgeW91ciB3b3JrIGVtYWlsJyB9KTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9iKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gJ3NhaXJhakBnbWFpbC5jb20nKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2IubmV4dChudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybiBvYi5uZXh0KHsgaW52YWxpZDogJ1RoaXMgaXMgbm90IGEgd29ya2VtYWlsJyB9KTtcbiAgICAgICAgICAgIH0sIDUwMClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG9mKGNvbnRyb2wudmFsdWUpLnBpcGUoXG4gICAgICAgICAgICBkZWxheSg1MDApLCAvLyBTaW11bGF0ZSBuZXR3b3JrIGRlbGF5XG5cbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgaW52YWxpZDogJ1RoaXMgaXMgbm90IGEgd29ya2VtYWlsJyB9KS8vZXhpc3RpbmdVc2VybmFtZXMuaW5jbHVkZXModXNlcm5hbWUpID8geyB1c2VybmFtZVRha2VuOiB0cnVlIH0gOiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC8vIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpIC8vIEhhbmRsZSBhbnkgZXJyb3JzXG4gICAgICAgICk7XG4gICAgfTtcbn0qL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRpb25NZXNzYWdlKGVycm9yczogYW55LCBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ0lucHV0Jyk6IHN0cmluZyB7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgICBpZiAoZXJyb3JzWydtaW5sZW5ndGgnXSkge1xuICAgICAgICAgICAgcmV0dXJuIGBNaW5pbXVtICR7ZXJyb3JzWydtaW5sZW5ndGgnXVsncmVxdWlyZWRMZW5ndGgnXX0gY2hhcmFjdGVycyByZXF1aXJlZGA7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydtYXhsZW5ndGgnXSkge1xuICAgICAgICAgICAgcmV0dXJuIGBNYXhpbXVtIG9mICR7ZXJyb3JzWydtYXhsZW5ndGgnXVsncmVxdWlyZWRMZW5ndGgnXX0gY2hhcmFjdGVycyBhY2NlcHRlZGA7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7cGxhY2Vob2xkZXJ9IGNhbm5vdCBiZSBlbXB0eWA7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydpbnZhbGlkJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvcnNbJ2ludmFsaWQnXTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvcnNbJ2VtYWlsJ10pIHtcbiAgICAgICAgICAgIHJldHVybiAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydwYXR0ZXJuJ10pIHtcbiAgICAgICAgICAgIHJldHVybiAnRW50ZXIgYSB2YWxpZCBwaG9uZSBudW1iZXInO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBJbnZhbGlkICR7cGxhY2Vob2xkZXJ9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYEludmFsaWQgJHtwbGFjZWhvbGRlcn1gO1xufSJdfQ==
98
+ export function numberRangeValidator(range, type = null) {
99
+ return (control) => {
100
+ let value = control.value;
101
+ if (type === 'percentage' && typeof value === 'string') {
102
+ value = value.replace('%', '');
103
+ }
104
+ // Convert to a number if it's not null or undefined
105
+ const numericValue = value !== null && value !== undefined ? parseFloat(value) : NaN;
106
+ // Check if the value is a valid number and within the range
107
+ if (isNaN(numericValue) || numericValue < range.min || numericValue > range.max) {
108
+ return {
109
+ invalid: `Please enter a valid number between ${range.min} and ${range.max}`
110
+ };
111
+ }
112
+ return null;
113
+ };
114
+ }
115
+ export const requiredValidatorMessage = (error, field) => {
116
+ return `${_startCase(_get(field, 'props.label'))} is required.`;
117
+ };
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLElBQUksVUFBVSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFN0QsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFNBQWtCO0lBQ25ELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQ3pELE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9FLElBQUksb0JBQW9CLElBQUksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVyRCxJQUFJLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztnQkFDL0MsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2hDLE9BQXdCLEVBQ1EsRUFBRTtJQUNsQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLG1FQUFt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UUFFRCxvREFBb0Q7UUFDcEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVyRiw0REFBNEQ7UUFDNUQsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM5RSxPQUFPO2dCQUNILE9BQU8sRUFBRSx1Q0FBdUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO2FBQy9FLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBVSxFQUFFLEtBQXdCLEVBQUUsRUFBRTtJQUM3RSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsZUFBZSxDQUFDO0FBQ3BFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRDYXNlIGFzIF9zdGFydENhc2UsIGdldCBhcyBfZ2V0IH0gZnJvbSAnbG9kYXNoJ1xuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVOdW1iZXJWYWxpZGF0b3IoZGVwZW5kZW50Pzogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBkZXBlbmRlbnRGb3JtQ29udHJvbCA9IGRlcGVuZGVudCA/IGNvbnRyb2wucGFyZW50Py5nZXQoZGVwZW5kZW50KSA6IG51bGw7XG4gICAgICAgIGlmIChkZXBlbmRlbnRGb3JtQ29udHJvbCAmJiAhIWRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0b3InLCBkZXBlbmRlbnRGb3JtQ29udHJvbC52YWx1ZSk7XG5cbiAgICAgICAgICAgIGlmIChkZXBlbmRlbnRGb3JtQ29udHJvbC52YWx1ZVswXS5pZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmICghL15cXCsxWzItOV1cXGR7Mn1bMi05XVxcZHs2fSQvLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogJ2ludmFsaWQgcGhvbmUgbnVtYmVyJyB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjdXN0b21FbWFpbFZhbGlkYXRvciA9IChcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcbik6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsID0+IHtcbiAgICBjb25zdCBlbWFpbCA9IGNvbnRyb2wudmFsdWU7XG4gICAgLy8gUmVwbGFjZSB0aGUgcmVndWxhciBleHByZXNzaW9uIHdpdGggdGhlIHBhdHRlcm4geW91IHdhbnQgdG8gdXNlLlxuXG4gICAgY29uc3QgZW1haWxQYXR0ZXJuID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsNH0kLztcblxuICAgIGlmIChlbWFpbFBhdHRlcm4udGVzdChlbWFpbCkgJiYgaXNXb3JrRW1haWwoZW1haWwpKSB7XG4gICAgICAgIHJldHVybiBudWxsOyAvLyBWYWxpZCBlbWFpbFxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgICAgICAgICdQbGVhc2UgdXNlIGEgd29yayBlbWFpbDsgcGVyc29uYWwgZW1haWxzIChlLmcuLCBAZ21haWwsIEB5YWhvbykgYXJlIG5vdCBhY2NlcHRlZC4nLFxuICAgICAgICB9OyAvLyBJbnZhbGlkIGVtYWlsXG4gICAgfVxufTtcbmNvbnN0IGlzV29ya0VtYWlsID0gKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBpbnZhbGlkRW1haWxIb3N0czogc3RyaW5nW10gPSBbJ2dtYWlsJywgJ3lhaG9vJywgJ2hvdG1haWwnXTtcbiAgICBpZiAoZW1haWwpIHtcbiAgICAgICAgbGV0IFt1c2VyTmFtZSwgZG9tYWluTmFtZV0gPSBlbWFpbC5zcGxpdCgnQCcpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGludmFsaWRFbWFpbEhvc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgcmUgPSBuZXcgUmVnRXhwKGAuKiR7aW52YWxpZEVtYWlsSG9zdHNbaV19XFwuLipgKTtcbiAgICAgICAgICAgIGlmIChyZS50ZXN0KGRvbWFpbk5hbWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG4vKlxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtFbWFpbFZhbGlkYXRpb24oKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpOyAvLyBObyB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgIWNvbnRyb2wucGVuZGluZyAmJiBjb250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICAgICAgLy8gIWNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgLy8gcmV0dXJuIG9mKHsgaW52YWxpZDogJ0VudGVyIHlvdXIgd29yayBlbWFpbCcgfSk7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYikgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgPT09ICdzYWlyYWpAZ21haWwuY29tJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iLm5leHQobnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm4gb2IubmV4dCh7IGludmFsaWQ6ICdUaGlzIGlzIG5vdCBhIHdvcmtlbWFpbCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBvZihjb250cm9sLnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgZGVsYXkoNTAwKSwgLy8gU2ltdWxhdGUgbmV0d29yayBkZWxheVxuXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih7IGludmFsaWQ6ICdUaGlzIGlzIG5vdCBhIHdvcmtlbWFpbCcgfSkvL2V4aXN0aW5nVXNlcm5hbWVzLmluY2x1ZGVzKHVzZXJuYW1lKSA/IHsgdXNlcm5hbWVUYWtlbjogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAvLyBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSAvLyBIYW5kbGUgYW55IGVycm9yc1xuICAgICAgICApO1xuICAgIH07XG59Ki9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uTWVzc2FnZShlcnJvcnM6IGFueSwgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdJbnB1dCcpOiBzdHJpbmcge1xuICAgIGlmIChlcnJvcnMpIHtcbiAgICAgICAgaWYgKGVycm9yc1snbWlubGVuZ3RoJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBgTWluaW11bSAke2Vycm9yc1snbWlubGVuZ3RoJ11bJ3JlcXVpcmVkTGVuZ3RoJ119IGNoYXJhY3RlcnMgcmVxdWlyZWRgO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1snbWF4bGVuZ3RoJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBgTWF4aW11bSBvZiAke2Vycm9yc1snbWF4bGVuZ3RoJ11bJ3JlcXVpcmVkTGVuZ3RoJ119IGNoYXJhY3RlcnMgYWNjZXB0ZWRgO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1sncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3BsYWNlaG9sZGVyfSBjYW5ub3QgYmUgZW1wdHlgO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1snaW52YWxpZCddKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzWydpbnZhbGlkJ107XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydlbWFpbCddKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0VudGVyIGEgdmFsaWQgZW1haWwnO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1sncGF0dGVybiddKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0VudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgSW52YWxpZCAke3BsYWNlaG9sZGVyfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGBJbnZhbGlkICR7cGxhY2Vob2xkZXJ9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG51bWJlclJhbmdlVmFsaWRhdG9yKHJhbmdlOiB7IG1pbjogbnVtYmVyOyBtYXg6IG51bWJlciB9LCB0eXBlID0gbnVsbCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgICAgICBpZiAodHlwZSA9PT0gJ3BlcmNlbnRhZ2UnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnJScsICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnZlcnQgdG8gYSBudW1iZXIgaWYgaXQncyBub3QgbnVsbCBvciB1bmRlZmluZWRcbiAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCA/IHBhcnNlRmxvYXQodmFsdWUpIDogTmFOO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIHZhbGlkIG51bWJlciBhbmQgd2l0aGluIHRoZSByYW5nZVxuICAgICAgICBpZiAoaXNOYU4obnVtZXJpY1ZhbHVlKSB8fCBudW1lcmljVmFsdWUgPCByYW5nZS5taW4gfHwgbnVtZXJpY1ZhbHVlID4gcmFuZ2UubWF4KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGludmFsaWQ6IGBQbGVhc2UgZW50ZXIgYSB2YWxpZCBudW1iZXIgYmV0d2VlbiAke3JhbmdlLm1pbn0gYW5kICR7cmFuZ2UubWF4fWBcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCByZXF1aXJlZFZhbGlkYXRvck1lc3NhZ2UgPSAoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgcmV0dXJuIGAke19zdGFydENhc2UoX2dldChmaWVsZCwgJ3Byb3BzLmxhYmVsJykpfSBpcyByZXF1aXJlZC5gO1xufSJdfQ==