otimus-library 0.1.82 → 0.1.84

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.
@@ -4,13 +4,15 @@ import { FormsModule } from '@angular/forms';
4
4
  import { InternationalizationService } from '../../services/internationalization.service';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../services/internationalization.service";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/forms";
7
+ import * as i2 from "../../services/style-theme.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/forms";
9
10
  export class OcAutocompleteComponent {
10
- constructor(renderer, el, translateService) {
11
+ constructor(renderer, el, translateService, styleThemeService) {
11
12
  this.renderer = renderer;
12
13
  this.el = el;
13
14
  this.translateService = translateService;
15
+ this.styleThemeService = styleThemeService;
14
16
  this.ocSize = 'medium';
15
17
  this.ocData = [];
16
18
  this.ocValue = '';
@@ -18,7 +20,8 @@ export class OcAutocompleteComponent {
18
20
  this.ocRequired = false;
19
21
  this.ocAllowNotListedValue = false;
20
22
  this.ocLoading = false;
21
- this.ocSemanticLike = false;
23
+ this.ocSemanticLike = false; // deprecated. Prefer using ocStyleTheme instead
24
+ this.ocStyle = 'otimus';
22
25
  this.ocValueChange = new EventEmitter();
23
26
  this.ocChange = new EventEmitter();
24
27
  this.ocOptionNotFound = new EventEmitter();
@@ -52,6 +55,7 @@ export class OcAutocompleteComponent {
52
55
  this.loadOptions();
53
56
  }
54
57
  ngAfterViewInit() {
58
+ this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
55
59
  if (this.ocPrefix) {
56
60
  this.hasPrefix = true;
57
61
  }
@@ -91,7 +95,7 @@ export class OcAutocompleteComponent {
91
95
  }
92
96
  if (inputBox) {
93
97
  const inputElement = inputBox.querySelector('input');
94
- if (inputElement && !this.ocSemanticLike) {
98
+ if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {
95
99
  this.renderer.setAttribute(inputElement, 'placeholder', '');
96
100
  this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString());
97
101
  }
@@ -170,8 +174,8 @@ export class OcAutocompleteComponent {
170
174
  this.ocValue = '';
171
175
  this.filteredData = this.ocData;
172
176
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.InternationalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocData: "ocData", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocOptionsWidth: "ocOptionsWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText", ocLoading: "ocLoading", ocSemanticLike: "ocSemanticLike" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange", ocOptionNotFound: "ocOptionNotFound", ocClick: "ocClick" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, providers: [InternationalizationService], queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike,\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n }\">\r\n <ng-content></ng-content>\r\n <input [placeholder]=\"ocPlaceholder\" #input (click)=\"toggleOptions(); ocClick.emit()\" type=\"text\"\r\n (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event;\r\n ocValueChange.emit($event)\" [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike,\r\n }\">\r\n @if(!ocSemanticLike) {\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if(isOptionsShown && !ocLoading){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n 'width': ocOptionsWidth\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{getTranslation(1)}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) { \r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{getTranslation(2)}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\">\r\n progress_activity\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.InternationalizationService }, { token: i2.StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
178
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocData: "ocData", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocOptionsWidth: "ocOptionsWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText", ocLoading: "ocLoading", ocSemanticLike: "ocSemanticLike", ocStyle: "ocStyle" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange", ocOptionNotFound: "ocOptionNotFound", ocClick: "ocClick" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, providers: [InternationalizationService], queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n }\">\r\n <ng-content></ng-content>\r\n <input [placeholder]=\"ocPlaceholder\" #input (click)=\"toggleOptions(); ocClick.emit()\" type=\"text\"\r\n (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event;\r\n ocValueChange.emit($event)\" [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\">\r\n @if(!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if(isOptionsShown && !ocLoading){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n 'width': ocOptionsWidth\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) { <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite para ver mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\">\r\n progress_activity\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
175
179
  }
176
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
177
181
  type: Component,
@@ -179,8 +183,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
179
183
  '[style.width]': 'computedWidth',
180
184
  '[style.min-width]': 'computedMinWidth',
181
185
  '[style.max-width]': 'computedMaxWidth',
182
- }, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike,\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n }\">\r\n <ng-content></ng-content>\r\n <input [placeholder]=\"ocPlaceholder\" #input (click)=\"toggleOptions(); ocClick.emit()\" type=\"text\"\r\n (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event;\r\n ocValueChange.emit($event)\" [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike,\r\n }\">\r\n @if(!ocSemanticLike) {\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if(isOptionsShown && !ocLoading){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n 'width': ocOptionsWidth\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{getTranslation(1)}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) { \r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{getTranslation(2)}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\">\r\n progress_activity\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
183
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.InternationalizationService }], propDecorators: { input: [{
186
+ }, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n }\">\r\n <ng-content></ng-content>\r\n <input [placeholder]=\"ocPlaceholder\" #input (click)=\"toggleOptions(); ocClick.emit()\" type=\"text\"\r\n (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event;\r\n ocValueChange.emit($event)\" [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\">\r\n @if(!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if(isOptionsShown && !ocLoading){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n 'width': ocOptionsWidth\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) { <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite para ver mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\">\r\n progress_activity\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
187
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.InternationalizationService }, { type: i2.StyleThemeService }], propDecorators: { input: [{
184
188
  type: ViewChild,
185
189
  args: ['input']
186
190
  }], options: [{
@@ -231,6 +235,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
231
235
  type: Input
232
236
  }], ocSemanticLike: [{
233
237
  type: Input
238
+ }], ocStyle: [{
239
+ type: Input
234
240
  }], ocValueChange: [{
235
241
  type: Output
236
242
  }], ocChange: [{
@@ -249,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
249
255
  type: HostBinding,
250
256
  args: ['style.max-width']
251
257
  }] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTs7Ozs7QUFlekYsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxnQkFBNkM7UUFGN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQVc5QyxXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FBSyxDQUFBO1FBTWhDLGVBQVUsR0FBWSxLQUFLLENBQUE7UUFFM0IsMEJBQXFCLEdBQVksS0FBSyxDQUFBO1FBR3RDLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFDMUIsbUJBQWMs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O3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQWFILGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsYUFBYTtnQkFNdEIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNMUIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NBdXRvQ29tcGxldGVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1hdXRvY29tcGxldGUnXHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVybmF0aW9uYWxpemF0aW9uLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWF1dG9jb21wbGV0ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXSxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcclxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcclxuICAgICdbc3R5bGUubWF4LXdpZHRoXSc6ICdjb21wdXRlZE1heFdpZHRoJyxcclxuICB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuICBASW5wdXQoKSBvY1BsYWNlaG9sZGVyPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KCkgb2NWYWx1ZTogYW55ID0gJydcclxuICBASW5wdXQoKSBvY0NsZWFyT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01pbldpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNYXhXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jT3B0aW9uc1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NNYXhSZXN1bHRzPzogbnVtYmVyXHJcbiAgQElucHV0KCkgb2NBbGxvd05vdExpc3RlZFZhbHVlOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQ/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQ/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jU2VtYW50aWNMaWtlOiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgQE91dHB1dCgpIG9jVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxyXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKVxyXG4gIEBPdXRwdXQoKSBvY09wdGlvbk5vdEZvdW5kID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgQE91dHB1dCgpIG9jQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuXHJcbiAgaGFzU3VmZml4OiBib29sZWFuID0gZmFsc2VcclxuICBoYXNQcmVmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBpc09wdGlvbnNTaG93bjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgZmlsdGVyZWREYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgc2VsZWN0ZWRWYWx1ZTogT2NBdXRvQ29tcGxldGVUeXBlID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNaW5XaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWluV2lkdGggfHwgJzAnXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01heFdpZHRoIHx8ICcxMDAlJ1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRUcmFuc2xhdGlvbnNCeUxhbmd1YWdlKClcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtYXRPY1ZhbHVlVHlwZSgpIHtcclxuICAgIGlmICh0aGlzLm9jVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgZ2V0VHJhbnNsYXRpb24oY29kZTogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKGNvZGUpXHJcbiAgfVxyXG5cclxuICBsb2FkT3B0aW9ucygpIHtcclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcclxuXHJcbiAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5vY0RhdGEuZmluZCgoZWwpID0+IGVsLnZhbHVlID09IHRoaXMub2NWYWx1ZSlcclxuICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZC5uYW1lXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGlucHV0Qm94LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JylcclxuXHJcbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCAmJiAhdGhpcy5vY1NlbWFudGljTGlrZSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3JlcXVpcmVkJywgdGhpcy5vY1JlcXVpcmVkLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCA1MClcclxuICB9XHJcblxyXG4gIGNsb3NlT25DbGlja091dCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5vcHRpb25zKSB7XHJcbiAgICAgICAgaWYgKGUudGFyZ2V0ICE9PSB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgJiYgZS50YXJnZXQgIT09IHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maW5kQnlUeXBpbmcoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGZpbmRCeVR5cGluZygpIHtcclxuICAgIGlmICghdGhpcy5vY1ZhbHVlPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub2NDaGFuZ2UuZW1pdChudWxsKVxyXG4gICAgICB0aGlzLm9jT3B0aW9uTm90Rm91bmQuZW1pdCgpXHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChcclxuICAgICAgKGRhdGEpID0+IGRhdGEubmFtZS50b0xvd2VyQ2FzZSgpID09IHRoaXMub2NWYWx1ZT8udG9Mb3dlckNhc2UoKVxyXG4gICAgKVxyXG5cclxuICAgIGlmICghZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLm9jQWxsb3dOb3RMaXN0ZWRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICB9XHJcblxyXG4gIGZpbHRlckRhdGEobmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gdHJ1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShkYXRhLm5hbWUpLmluY2x1ZGVzKHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShuYW1lKSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRGb3JtYXR0ZWROYW1lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHJcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyBSZW1vdmUgbWFyY2FzIGRpYWNyw610aWNhc1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3B0aW9ucygpIHtcclxuICAgIHRoaXMuY2xvc2VPbkNsaWNrT3V0KClcclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSAhdGhpcy5pc09wdGlvbnNTaG93blxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoKGRhdGEpID0+IGRhdGEudmFsdWUgPT0gdmFsdWUpXHJcblxyXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgfVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgICBpZiAodGhpcy5vY0NsZWFyT25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmRWYWx1ZS5uYW1lXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vY0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSlcclxuICB9XHJcblxyXG4gIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgIG5hbWU6ICcnLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgIH1cclxuICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwie1xyXG4gICdvYy1pbnB1dC1ib3gnOiAhb2NTZW1hbnRpY0xpa2UsXHJcbiAgJ3NtYWxsJzogb2NTaXplID09PSAnc21hbGwnLFxyXG4gICdsYXJnZSc6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcclxuICBlcnJvcjogISFvY0Vycm9yLFxyXG4gIHByZWZpeDogaGFzUHJlZml4LFxyXG4gIHN1ZmZpeDogaGFzU3VmZml4LFxyXG4gIH1cIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCIgI2lucHV0IChjbGljayk9XCJ0b2dnbGVPcHRpb25zKCk7IG9jQ2xpY2suZW1pdCgpXCIgdHlwZT1cInRleHRcIlxyXG4gICAgKGlucHV0KT1cImZpbHRlckRhdGEob2NWYWx1ZSlcIiBbKG5nTW9kZWwpXT1cIm9jVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvY1ZhbHVlID0gJGV2ZW50O1xyXG4gICAgb2NWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdzZW1hbnRpYy1pbnB1dCc6IG9jU2VtYW50aWNMaWtlLFxyXG4gICAgfVwiPlxyXG4gIEBpZighb2NTZW1hbnRpY0xpa2UpIHtcclxuICA8bGFiZWw+e3tvY1BsYWNlaG9sZGVyfX1cclxuICAgIEBpZihvY1JlcXVpcmVkKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIH1cclxuICA8c21hbGwgKm5nSWY9XCJvY0Vycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57e29jRXJyb3J9fTwvc21hbGw+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NTdWZmaXhcIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJvYy1vcHRpb25zLWRpdlwiPlxyXG4gICAgQGlmKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcpe1xyXG4gICAgPHVsICNvcHRpb25zIGNsYXNzPVwib2Mtb3B0aW9uc1wiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgJ21heC1oZWlnaHQnOiBvY09wdGlvbnNNYXhIZWlnaHQsXHJcbiAgICAgICd3aWR0aCc6IG9jT3B0aW9uc1dpZHRoXHJcbiAgICB9XCI+XHJcbiAgICAgIEBpZighZmlsdGVyZWREYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAge3tnZXRUcmFuc2xhdGlvbigxKX19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfUBlbHNlIHtcclxuICAgICAgICBAZm9yKGRhdGEgb2YgZmlsdGVyZWREYXRhOyB0cmFjayBkYXRhLnZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgQGlmKCFvY01heFJlc3VsdHMgfHwgaSA8IG9jTWF4UmVzdWx0cykgeyBcclxuICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RWYWx1ZShkYXRhLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAge3tkYXRhLm5hbWV9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYob2NNYXhSZXN1bHRzICYmIGZpbHRlcmVkRGF0YS5sZW5ndGggPiBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAge3tnZXRUcmFuc2xhdGlvbigyKX19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC91bD5cclxuICAgIH0gQGVsc2UgaWYgKGlzT3B0aW9uc1Nob3duICYmIG9jTG9hZGluZykge1xyXG4gICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+XHJcbiAgICAgICAgcHJvZ3Jlc3NfYWN0aXZpdHlcclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTs7Ozs7O0FBaUJ6RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1UsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGdCQUE2QyxFQUM3QyxpQkFBb0M7UUFIcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBV3JDLFdBQU0sR0FBaUMsUUFBUSxDQUFBO1FBQy9DLFdBQU0sR0FBeUIsRUFBRSxDQUFBO1FBQ2pDLFlBQU8sR0FBUSxFQUFFLENBQUE7UUFDakIsb0JBQWUsR0FBWSxLQUFLLENBQUE7UUFNaEMsZUFBVSxHQUFZLEtBQUssQ0FBQTtRQUUzQiwwQkFBcUIsR0FBWSxL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O3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFhSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NBdXRvQ29tcGxldGVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1hdXRvY29tcGxldGUnXHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVybmF0aW9uYWxpemF0aW9uLnNlcnZpY2UnXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWF1dG9jb21wbGV0ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXSxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcclxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcclxuICAgICdbc3R5bGUubWF4LXdpZHRoXSc6ICdjb21wdXRlZE1heFdpZHRoJyxcclxuICB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdHlsZVRoZW1lU2VydmljZTogU3R5bGVUaGVtZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3B0aW9ucycpIG9wdGlvbnMhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3V0ZXJEaXYnKSBvdXRlckRpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ29jUHJlZml4Jykgb2NQcmVmaXg6IGFueVxyXG4gIEBDb250ZW50Q2hpbGQoJ29jU3VmZml4Jykgb2NTdWZmaXg6IGFueVxyXG4gIEBJbnB1dCgpIG9jUGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NTaXplOiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdtZWRpdW0nID0gJ21lZGl1bSdcclxuICBASW5wdXQoKSBvY0RhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cclxuICBASW5wdXQoKSBvY1ZhbHVlOiBhbnkgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zTWF4SGVpZ2h0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY01heFJlc3VsdHM/OiBudW1iZXJcclxuICBASW5wdXQoKSBvY0FsbG93Tm90TGlzdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcclxuXHJcbiAgQE91dHB1dCgpIG9jVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxyXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKVxyXG4gIEBPdXRwdXQoKSBvY09wdGlvbk5vdEZvdW5kID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgQE91dHB1dCgpIG9jQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuXHJcbiAgaGFzU3VmZml4OiBib29sZWFuID0gZmFsc2VcclxuICBoYXNQcmVmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBpc09wdGlvbnNTaG93bjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgZmlsdGVyZWREYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgc2VsZWN0ZWRWYWx1ZTogT2NBdXRvQ29tcGxldGVUeXBlID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNaW5XaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWluV2lkdGggfHwgJzAnXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01heFdpZHRoIHx8ICcxMDAlJ1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHRoaXMubG9hZE9wdGlvbnMoKVxyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uc0J5TGFuZ3VhZ2UoKVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdE9jVmFsdWVUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5vY1ZhbHVlfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oY29kZSlcclxuICB9XHJcblxyXG4gIGxvYWRPcHRpb25zKCkge1xyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFxyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kLm5hbWVcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlucHV0Qm94KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRCb3gucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgICBpZiAoaW5wdXRFbGVtZW50ICYmICF0aGlzLm9jU2VtYW50aWNMaWtlICYmIFsnb3RpbXVzJywgJ3NodWknXS5pbmNsdWRlcyh0aGlzLm9jU3R5bGUpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdwbGFjZWhvbGRlcicsICcnKVxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncmVxdWlyZWQnLCB0aGlzLm9jUmVxdWlyZWQudG9TdHJpbmcoKSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDUwKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VPbkNsaWNrT3V0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsIChlOiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgICBpZiAoZS50YXJnZXQgIT09IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCAmJiBlLnRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbmRCeVR5cGluZygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZmluZEJ5VHlwaW5nKCkge1xyXG4gICAgaWYgKCF0aGlzLm9jVmFsdWU/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXHJcbiAgICAgIHRoaXMub2NPcHRpb25Ob3RGb3VuZC5lbWl0KClcclxuICAgIH1cclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKFxyXG4gICAgICAoZGF0YSkgPT4gZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkgPT0gdGhpcy5vY1ZhbHVlPy50b0xvd2VyQ2FzZSgpXHJcbiAgICApXHJcblxyXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMub2NBbGxvd05vdExpc3RlZFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRWYWx1ZVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyRGF0YShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSB0cnVlXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhLmZpbHRlcigoZGF0YSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWROYW1lKGRhdGEubmFtZSkuaW5jbHVkZXModGhpcy5nZXRGb3JtYXR0ZWROYW1lKG5hbWUpKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEZvcm1hdHRlZE5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0clxyXG4gICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpIC8vIFJlbW92ZSBtYXJjYXMgZGlhY3LDrXRpY2FzXHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcHRpb25zKCkge1xyXG4gICAgdGhpcy5jbG9zZU9uQ2xpY2tPdXQoKVxyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9ICF0aGlzLmlzT3B0aW9uc1Nob3duXHJcbiAgfVxyXG5cclxuICBzZWxlY3RWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZCgoZGF0YSkgPT4gZGF0YS52YWx1ZSA9PSB2YWx1ZSlcclxuXHJcbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICAgIGlmICh0aGlzLm9jQ2xlYXJPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgY2xlYXJWYWx1ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgbmFtZTogJycsXHJcbiAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgfVxyXG4gICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7XHJcbiAgJ29jLWlucHV0LWJveCc6ICFvY1NlbWFudGljTGlrZSAmJiBvY1N0eWxlID09PSAnb3RpbXVzJyxcclxuICAnc21hbGwnOiBvY1NpemUgPT09ICdzbWFsbCcsXHJcbiAgJ2xhcmdlJzogb2NTaXplID09PSAnbGFyZ2UnLFxyXG4gIGVycm9yOiAhIW9jRXJyb3IsXHJcbiAgcHJlZml4OiBoYXNQcmVmaXgsXHJcbiAgc3VmZml4OiBoYXNTdWZmaXgsXHJcbiAgJ3NodWknOiBvY1N0eWxlID09PSAnc2h1aScsXHJcbiAgJ3NodWktaW5wdXQtYm94Jzogb2NTdHlsZSA9PT0gJ3NodWknXHJcbiAgfVwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cIm9jUGxhY2Vob2xkZXJcIiAjaW5wdXQgKGNsaWNrKT1cInRvZ2dsZU9wdGlvbnMoKTsgb2NDbGljay5lbWl0KClcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAoaW5wdXQpPVwiZmlsdGVyRGF0YShvY1ZhbHVlKVwiIFsobmdNb2RlbCldPVwib2NWYWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7XHJcbiAgICBvY1ZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbWFudGljLWlucHV0Jzogb2NTZW1hbnRpY0xpa2UgfHwgb2NTdHlsZSA9PT0gJ3NlbWFudGljJyxcclxuICAgIH1cIj5cclxuICBAaWYoIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgIT09ICdzZW1hbnRpYycpIHtcclxuICA8bGFiZWw+e3tvY1BsYWNlaG9sZGVyfX1cclxuICAgIEBpZihvY1JlcXVpcmVkKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIH1cclxuICA8c21hbGwgKm5nSWY9XCJvY0Vycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57e29jRXJyb3J9fTwvc21hbGw+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NTdWZmaXhcIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJvYy1vcHRpb25zLWRpdlwiPlxyXG4gICAgQGlmKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcpe1xyXG4gICAgPHVsICNvcHRpb25zIGNsYXNzPVwib2Mtb3B0aW9uc1wiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgJ21heC1oZWlnaHQnOiBvY09wdGlvbnNNYXhIZWlnaHQsXHJcbiAgICAgICd3aWR0aCc6IG9jT3B0aW9uc1dpZHRoXHJcbiAgICB9XCI+XHJcbiAgICAgIEBpZighZmlsdGVyZWREYXRhLmxlbmd0aCl7XHJcbiAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICB7e29jTm9BdmFpbGFibGVPcHRpb25zVGV4dCB8fCAnTmVuaHVtIHJlc3VsdGFkbyBkaXNwb27DrXZlbCd9fVxyXG4gICAgICA8L2xpPlxyXG4gICAgICB9QGVsc2Uge1xyXG4gICAgICBAZm9yKGRhdGEgb2YgZmlsdGVyZWREYXRhOyB0cmFjayBkYXRhLnZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICBAaWYoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7IDxsaT5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0VmFsdWUoZGF0YS52YWx1ZSlcIj5cclxuICAgICAgICAgIHt7ZGF0YS5uYW1lfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAge3tvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQgfHwgJ0RpZ2l0ZSBwYXJhIHZlciBtYWlzIHJlc3VsdGFkb3MnfX1cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICA8L3VsPlxyXG4gICAgfSBAZWxzZSBpZiAoaXNPcHRpb25zU2hvd24gJiYgb2NMb2FkaW5nKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwib2Mtb3B0aW9ucyBsb2FkZXJcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGxvYWRpbmdcIj5cclxuICAgICAgICBwcm9ncmVzc19hY3Rpdml0eVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,7 +1,8 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, ContentChild, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
4
+ import * as i1 from "../../services/style-theme.service";
5
+ import * as i2 from "@angular/common";
5
6
  export class OcInputComponent {
6
7
  get computedWidth() {
7
8
  return this.ocWidth ? this.ocWidth : null;
@@ -12,12 +13,14 @@ export class OcInputComponent {
12
13
  get computedMaxWidth() {
13
14
  return this.ocMaxWidth || '100%';
14
15
  }
15
- constructor(el, renderer) {
16
+ constructor(el, renderer, styleThemeService) {
16
17
  this.el = el;
17
18
  this.renderer = renderer;
19
+ this.styleThemeService = styleThemeService;
18
20
  this.ocSize = 'medium';
19
21
  this.ocPlaceholder = '';
20
22
  this.ocRequired = false;
23
+ this.ocStyle = 'otimus';
21
24
  this.inputId = `oc-${Math.random()}`;
22
25
  this.hasSuffix = false;
23
26
  this.hasPrefix = false;
@@ -31,6 +34,7 @@ export class OcInputComponent {
31
34
  }
32
35
  }
33
36
  ngAfterViewInit() {
37
+ this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
34
38
  const inputBox = this.el.nativeElement;
35
39
  if (inputBox) {
36
40
  const inputElement = inputBox.querySelector('input');
@@ -48,8 +52,8 @@ export class OcInputComponent {
48
52
  this.hasSuffix = true;
49
53
  }
50
54
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcInputComponent, isStandalone: true, selector: "oc-input", inputs: { ocError: "ocError", ocSize: "ocSize", ocPlaceholder: "ocPlaceholder", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocRequired: "ocRequired" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcInputComponent, isStandalone: true, selector: "oc-input", inputs: { ocError: "ocError", ocSize: "ocSize", ocPlaceholder: "ocPlaceholder", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocRequired: "ocRequired", ocStyle: "ocStyle" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n}\" [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);padding:1px 7px;font-size:.6rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label,.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
53
57
  }
54
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcInputComponent, decorators: [{
55
59
  type: Component,
@@ -57,8 +61,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
57
61
  '[style.width]': 'computedWidth',
58
62
  '[style.min-width]': 'computedMinWidth',
59
63
  '[style.max-width]': 'computedMaxWidth',
60
- }, standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}\n"] }]
61
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { ocPrefix: [{
64
+ }, standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div [ngClass]=\"{\r\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n}\" [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n</div>", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);padding:1px 7px;font-size:.6rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label,.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}\n"] }]
65
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.StyleThemeService }], propDecorators: { ocPrefix: [{
62
66
  type: ContentChild,
63
67
  args: ['ocPrefix']
64
68
  }], ocSuffix: [{
@@ -78,6 +82,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
78
82
  type: Input
79
83
  }], ocRequired: [{
80
84
  type: Input
85
+ }], ocStyle: [{
86
+ type: Input
81
87
  }], computedWidth: [{
82
88
  type: HostBinding,
83
89
  args: ['style.width']
@@ -88,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
88
94
  type: HostBinding,
89
95
  args: ['style.max-width']
90
96
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWlucHV0L29jLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1pbnB1dC9vYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLEtBQUssRUFJTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7OztBQWV0QixNQUFNLE9BQU8sZ0JBQWdCO0lBZ0IzQixJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUMzQyxDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtJQUMvQixDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQTtJQUNsQyxDQUFDO0lBRUQsWUFDVSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUE1QnBCLFdBQU0sR0FBa0MsUUFBUSxDQUFBO1FBQ2hELGtCQUFhLEdBQVcsRUFBRSxDQUFBO1FBSTFCLGVBQVUsR0FBWSxLQUFLLENBQUE7UUFFcEMsWUFBTyxHQUFXLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7UUFDdkMsY0FBUyxHQUFZLEtBQUssQ0FBQTtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFBO0lBb0J2QixDQUFDO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQTtRQUV0QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUVwRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOytHQWpFVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw2bEJDNUI3Qixta0JBc0JBLG96SERDWSxZQUFZOzs0RkFLWCxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxRQUNkO3dCQUNKLGVBQWUsRUFBRSxlQUFlO3dCQUNoQyxtQkFBbUIsRUFBRSxrQkFBa0I7d0JBQ3ZDLG1CQUFtQixFQUFFLGtCQUFrQjtxQkFDeEMsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTt1R0FHWCxRQUFRO3NCQUFqQyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBakMsWUFBWTt1QkFBQyxVQUFVO2dCQUVmLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0YsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWlucHV0JyxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcclxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcclxuICAgICdbc3R5bGUubWF4LXdpZHRoXSc6ICdjb21wdXRlZE1heFdpZHRoJyxcclxuICB9LFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vYy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xyXG4gIEBJbnB1dCgpIG9jUGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIGlucHV0SWQ6IHN0cmluZyA9IGBvYy0ke01hdGgucmFuZG9tKCl9YFxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY1dpZHRoID8gdGhpcy5vY1dpZHRoIDogbnVsbFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1pbldpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNYXhXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWF4V2lkdGggfHwgJzEwMCUnXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtaW5wdXQtYm94XCIgW25nQ2xhc3NdPVwie1xyXG4gICdzbWFsbCc6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAnbGFyZ2UnOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgZXJyb3I6ICEhb2NFcnJvcixcclxuICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICBzdWZmaXg6IGhhc1N1ZmZpeFxyXG59XCJcclxuICBbaWRdPVwiaW5wdXRJZFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1ByZWZpeFwiPjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICA8bGFiZWw+e3tvY1BsYWNlaG9sZGVyfX1cclxuICAgIEBpZihvY1JlcXVpcmVkKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvbGFiZWw+XHJcbiAgPHNtYWxsXHJcbiAgICAqbmdJZj1cIm9jRXJyb3JcIlxyXG4gICAgY2xhc3M9XCJlcnJvci1tc2dcIlxyXG4gID57e29jRXJyb3J9fTwvc21hbGw+XHJcbjwvZGl2PlxyXG5cclxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWlucHV0L29jLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1pbnB1dC9vYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLEtBQUssRUFJTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7Ozs7QUFpQnRCLE1BQU0sT0FBTyxnQkFBZ0I7SUFpQjNCLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQzNDLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFBO0lBQy9CLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFBO0lBQ2xDLENBQUM7SUFFRCxZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixpQkFBb0M7UUFGcEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTlCckMsV0FBTSxHQUFrQyxRQUFRLENBQUE7UUFDaEQsa0JBQWEsR0FBVyxFQUFFLENBQUE7UUFJMUIsZUFBVSxHQUFZLEtBQUssQ0FBQTtRQUMzQixZQUFPLEdBQXFCLFFBQVEsQ0FBQTtRQUU3QyxZQUFPLEdBQVcsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQTtRQUN2QyxjQUFTLEdBQVksS0FBSyxDQUFBO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUE7SUFxQnZCLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDckUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUE7UUFFdEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFcEQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDbEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0FwRVUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsaW5CQzlCN0IseW9CQW1CTSxnek5ETU0sWUFBWTs7NEZBS1gsZ0JBQWdCO2tCQWI1QixTQUFTOytCQUNFLFVBQVUsUUFDZDt3QkFDSixlQUFlLEVBQUUsZUFBZTt3QkFDaEMsbUJBQW1CLEVBQUUsa0JBQWtCO3dCQUN2QyxtQkFBbUIsRUFBRSxrQkFBa0I7cUJBQ3hDLGNBQ1csSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7dUlBR1gsUUFBUTtzQkFBakMsWUFBWTt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQWpDLFlBQVk7dUJBQUMsVUFBVTtnQkFFZixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFPRixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NTdHlsZVRoZW1lVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2Mtc3R5bGUtdGhlbWUnXHJcbmltcG9ydCB7IFN0eWxlVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3R5bGUtdGhlbWUuc2VydmljZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtaW5wdXQnLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnLFxyXG4gIH0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29jLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIEBDb250ZW50Q2hpbGQoJ29jUHJlZml4Jykgb2NQcmVmaXg6IGFueVxyXG4gIEBDb250ZW50Q2hpbGQoJ29jU3VmZml4Jykgb2NTdWZmaXg6IGFueVxyXG5cclxuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NTaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcjogc3RyaW5nID0gJydcclxuICBASW5wdXQoKSBvY1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWF4V2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcclxuXHJcbiAgaW5wdXRJZDogc3RyaW5nID0gYG9jLSR7TWF0aC5yYW5kb20oKX1gXHJcbiAgaGFzU3VmZml4OiBib29sZWFuID0gZmFsc2VcclxuICBoYXNQcmVmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcclxuICBnZXQgY29tcHV0ZWRXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01pbldpZHRoIHx8ICcwJ1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1heFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIntcclxuICAnb2MtaW5wdXQtYm94JzogICFvY1N0eWxlIHx8IG9jU3R5bGUgPT09ICdvdGltdXMnLFxyXG4gIHNtYWxsOiBvY1NpemUgPT09ICdzbWFsbCcsXHJcbiAgbGFyZ2U6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcclxuICBlcnJvcjogISFvY0Vycm9yLFxyXG4gIHByZWZpeDogaGFzUHJlZml4LFxyXG4gIHN1ZmZpeDogaGFzU3VmZml4LFxyXG4gICdzaHVpJzogb2NTdHlsZSA9PT0gJ3NodWknLFxyXG4gICdzaHVpLWlucHV0LWJveCc6IG9jU3R5bGUgPT09ICdzaHVpJ1xyXG59XCIgW2lkXT1cImlucHV0SWRcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NTdWZmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPGxhYmVsPnt7b2NQbGFjZWhvbGRlcn19XHJcbiAgICBAaWYob2NSZXF1aXJlZCkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJvYyBjb2xvciBlcnJvclwiPio8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8c21hbGwgKm5nSWY9XCJvY0Vycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57e29jRXJyb3J9fTwvc21hbGw+XHJcbjwvZGl2PiJdfQ==