@dsivd/prestations-ng 15.3.0 → 15.3.1-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -1
- package/dsivd-prestations-ng-v15.3.1-beta3.tgz +0 -0
- package/esm2020/directives/currency-formatter.directive.mjs +1 -1
- package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +3 -3
- package/esm2020/foehn-help-modal/foehn-help-modal.type.mjs +1 -1
- package/esm2020/foehn-input/foehn-input-email.component.mjs +8 -6
- package/esm2020/foehn-input/foehn-input-hidden.component.mjs +3 -3
- package/esm2020/foehn-input/foehn-input-number.component.mjs +4 -3
- package/esm2020/foehn-input/foehn-input-password.component.mjs +3 -3
- package/esm2020/foehn-input/foehn-input-phone.component.mjs +3 -3
- package/esm2020/foehn-input/foehn-input-text.component.mjs +3 -3
- package/esm2020/foehn-input/foehn-input.component.mjs +3 -8
- package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +3 -6
- package/esm2020/sdk-dictionary/default-dictionary.mjs +3 -2
- package/fesm2015/dsivd-prestations-ng.mjs +25 -30
- package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
- package/fesm2020/dsivd-prestations-ng.mjs +25 -30
- package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-help-modal/foehn-help-modal.type.d.ts +3 -0
- package/foehn-input/foehn-input.component.d.ts +3 -4
- package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +1 -2
- package/package.json +1 -1
- package/dsivd-prestations-ng-v15.3.0.tgz +0 -0
|
@@ -37,7 +37,7 @@ FoehnInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
37
37
|
useExisting: forwardRef(() => FoehnInputPasswordComponent),
|
|
38
38
|
multi: true
|
|
39
39
|
}
|
|
40
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
40
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i3.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i6.SdkDictionaryPipe, "async": i4.AsyncPipe } });
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnInputPasswordComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'foehn-input-password', providers: [
|
|
@@ -46,6 +46,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
46
46
|
useExisting: forwardRef(() => FoehnInputPasswordComponent),
|
|
47
47
|
multi: true
|
|
48
48
|
}
|
|
49
|
-
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
49
|
+
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"] }]
|
|
50
50
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWN2QyxNQUFNLE9BQU8sMkJBQ1QsU0FBUSx5QkFBeUI7SUFFakMsWUFBb0IsTUFBYztRQUM5QixLQUFLLEVBQUUsQ0FBQztRQURRLFdBQU0sR0FBTixNQUFNLENBQVE7SUFFbEMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzt5SEFyQlEsMkJBQTJCOzZHQUEzQiwyQkFBMkIsK0NBUnpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ2ZMLGl3RkFpRkE7NEZEaEVhLDJCQUEyQjtrQkFadkMsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4taW5wdXQtcGFzc3dvcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4taW5wdXQuY29tcG9uZW50LmNzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5JbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRQYXNzd29yZENvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMudHlwZSA9ICdwYXNzd29yZCc7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gJ2N1cnJlbnQtcGFzc3dvcmQnO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCAhIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25NaWNyb3Rhc2tFbXB0eS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCJcbiAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhYmVsICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAnc3Itb25seScgOiBsYWJlbFN0eWxlTW9kaWZpZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICA8Zm9laG4taGVscC1tb2RhbFxuICAgICAgICAgICAgY2xhc3M9XCJyZW1vdmVQYWRkaW5nQnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiISFoZWxwTW9kYWxcIlxuICAgICAgICAgICAgW21vZGFsQ29udGVudF09XCJoZWxwTW9kYWxcIlxuICAgICAgICA+PC9mb2Vobi1oZWxwLW1vZGFsPlxuICAgIDwvZGl2PlxuXG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxpbnB1dFxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KClcIlxuICAgICAgICBbY2xhc3MuY2xlYXJhYmxlLWlucHV0XT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwiZ2V0TWF4TGVuZ3RoKClcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiZ2V0QXV0b0NvbXBsZXRlKClcIlxuICAgICAgICBbYXR0ci5hdXRvY2FwaXRhbGl6ZV09XCJhdXRvY2FwaXRhbGl6ZVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -72,7 +72,7 @@ FoehnInputPhoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
72
72
|
useExisting: forwardRef(() => FoehnInputPhoneComponent),
|
|
73
73
|
multi: true
|
|
74
74
|
}
|
|
75
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
75
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i3.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i6.SdkDictionaryPipe, "async": i4.AsyncPipe } });
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnInputPhoneComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{ selector: 'foehn-input-phone', providers: [
|
|
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
81
81
|
useExisting: forwardRef(() => FoehnInputPhoneComponent),
|
|
82
82
|
multi: true
|
|
83
83
|
}
|
|
84
|
-
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
84
|
+
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"] }]
|
|
85
85
|
}], propDecorators: { acceptInternational: [{
|
|
86
86
|
type: Input
|
|
87
87
|
}], acceptMobilePhone: [{
|
|
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
89
89
|
}], acceptPhone: [{
|
|
90
90
|
type: Input
|
|
91
91
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUMzQywwRUFBMEU7SUFDMUUscUZBQXFGLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ2pELDBFQUEwRTtJQUMxRSxxRkFBcUYsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FDbEQsMEVBQTBFO0lBQzFFLHFGQUFxRixDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUN4QywwRUFBMEU7SUFDMUUsMEdBQTBHLENBQUM7QUFDL0csTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQ2hDLGtJQUFrSSxDQUFDO0FBQ3ZJLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUN0QyxrSUFBa0ksQ0FBQztBQUN2SSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FDN0Msa0lBQWtJLENBQUM7QUFFdkksTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQzdCLCtHQUErRyxDQUFDO0FBY3BILE1BQU0sT0FBTyx3QkFDVCxTQUFRLHlCQUF5QjtJQWJyQzs7UUFnQkksd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRzVCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUd6QixnQkFBVyxHQUFHLElBQUksQ0FBQztLQTBDdEI7SUF4Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQix3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sV0FBVztRQUNmLElBQ0ksSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2pCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUN6QjtZQUNFLE9BQU8sa0NBQWtDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0MsT0FBTyx3Q0FBd0MsQ0FBQztTQUNuRDtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELE9BQU8seUNBQXlDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixPQUFPLCtCQUErQixDQUFDO1NBQzFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxPQUFPLHVCQUF1QixDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU8sNkJBQTZCLENBQUM7U0FDeEM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixPQUFPLG9DQUFvQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDOztzSEFuRFEsd0JBQXdCOzBHQUF4Qix3QkFBd0Isd0tBUnRCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ3JDTCwwMUZBb0ZBOzRGRDdDYSx3QkFBd0I7a0JBWnBDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBR2xCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjs4QkFNRCxtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSFRNTF9QSE9ORV9QQVRURVJOIH0gZnJvbSAnLi9wYXR0ZXJuLmNvbnN0JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1MgPVxuICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAnPGxpPiszMzYxMjM0NTY3OCw8L2xpPjxsaT4rNDkgMTIzIDQ1NiA3OCA5MDEgb3U8L2xpPjxsaT4rMzkgMzEyIDM0NSA2Nzg5PC9saT48L3VsPiknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkUgPVxuICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAnPGxpPis0MTc5MTIzNDU2Nyw8L2xpPjxsaT4wMDQxIDc4IDEyMyA0NSA1NiBvdTwvbGk+PGxpPiszMyA2IDEyIDM0IDU2IDc4PC9saT48L3VsPiknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rNDEyMTEyMzQ1NjcsPC9saT48bGk+MDA0MSAyMSAxMjMgNDUgNTYgb3U8L2xpPjxsaT4rMzMgNiAxMiAzNCA1NiA3ODwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rNDE3OTEyMzQ1NjcsPC9saT48bGk+KzQxIDIyIDAxMiAzNCA1Niw8L2xpPjxsaT4wMDQxIDc5IDAxMiAzNCA1NjwvbGk+PGxpPm91ICszMzYxMjM0NTY3ODwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NXSVNTX0hFTFBfVEVYVCA9XG4gICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjA3OSAxMjMgNDUgNjcsPC9saT48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4rNDEgNzkgMTIzIDQ1IDY3IG91PC9saT48bGk+KzQxMjExMjM0NTY3PC9saT48L3VsPlwiO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1dJU1NfUEhPTkVfSEVMUF9URVhUID1cbiAgICBcImV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4wMjEgMTIzIDQ1IDY3LDwvbGk+PGxpPis0MTIxMTIzNDU2NyBvdTwvbGk+PGxpPis0MSAyMSAxMjMgNDUgNjc8L2xpPjwvdWw+XCI7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUID1cbiAgICBcImV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz48bGk+MDc5MTIzNDU2Nyw8L2xpPjxsaT4wNzkgMTIzIDQ1IDY3LDwvbGk+PGxpPis0MTc5MTIzNDU2NyBvdTwvbGk+PGxpPis0MSA3OSAxMjMgNDUgNjc8L2xpPjwvdWw+XCI7XG5cbmV4cG9ydCBjb25zdCBCQURfUEFSQU1TX0hFTFBfVEVYVCA9XG4gICAgJ01hdXZhaXMgcGFyYW3DqXRyYWdlIGR1IGNvbXBvc2FudC4gVW4gdMOpbMOpcGhvbmUgZXN0IHNvaXQgaW50ZXJuYXRpb25hbCwgbW9iaWxlLCBmaXhlIG91IGxlcyBkZXV4IG1haXMgcGFzIHJpZW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWlucHV0LXBob25lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0UGhvbmVDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhY2NlcHRJbnRlcm5hdGlvbmFsID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFjY2VwdE1vYmlsZVBob25lID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0UGhvbmUgPSB0cnVlO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMudHlwZSA9ICd0ZWwnO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSA9ICd0ZWwnO1xuICAgICAgICAvLyBQYXR0ZXJuIHVzZWQgb25seSBmb3IgbnVtcGFkIHRyaWdnZXIgb24gbW9iaWxlIHBob25lc1xuICAgICAgICB0aGlzLnBhdHRlcm4gPSBIVE1MX1BIT05FX1BBVFRFUk47XG5cbiAgICAgICAgdGhpcy5oZWxwVGV4dCA9IFt0aGlzLmhlbHBUZXh0LCB0aGlzLmdldEhlbHBUZXh0KCldXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwpXG4gICAgICAgICAgICAuam9pbignPGJyLz4nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlbHBUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJlxuICAgICAgICAgICAgIXRoaXMuYWNjZXB0UGhvbmUgJiZcbiAgICAgICAgICAgICF0aGlzLmFjY2VwdE1vYmlsZVBob25lXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRNb2JpbGVQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdEludGVybmF0aW9uYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lICYmIHRoaXMuYWNjZXB0UGhvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX1NXSVNTX0hFTFBfVEVYVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfU1dJU1NfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lKSB7XG4gICAgICAgICAgICByZXR1cm4gREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCQURfUEFSQU1TX0hFTFBfVEVYVDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCJcbiAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhYmVsICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAnc3Itb25seScgOiBsYWJlbFN0eWxlTW9kaWZpZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICA8Zm9laG4taGVscC1tb2RhbFxuICAgICAgICAgICAgY2xhc3M9XCJyZW1vdmVQYWRkaW5nQnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0hlbHBNb2RhbFwiXG4gICAgICAgICAgICBbbW9kYWxDb250ZW50XT1cIntcbiAgICAgICAgICAgICAgICB0aXRsZTogaGVscE1vZGFsVGl0bGUsXG4gICAgICAgICAgICAgICAgYm9keTogaGVscE1vZGFsQ29udGVudFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID48L2ZvZWhuLWhlbHAtbW9kYWw+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0ICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGlucHV0XG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IGhhc0luaGVyaXRFcnJvckZyb21QYXJlbnQoKVwiXG4gICAgICAgIFtjbGFzcy5jbGVhcmFibGUtaW5wdXRdPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJnZXRNYXhMZW5ndGgoKVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJnZXRBdXRvQ29tcGxldGUoKVwiXG4gICAgICAgIFthdHRyLmF1dG9jYXBpdGFsaXplXT1cImF1dG9jYXBpdGFsaXplXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnR5cGVdPVwidHlwZVwiXG4gICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgIFthdHRyLm1pbl09XCJtaW5cIlxuICAgICAgICBbYXR0ci5tYXhdPVwibWF4XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImdldERlc2NyaWJlZEJ5KClcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KCkgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgfHwgbnVsbFwiXG4gICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcbiAgICAgICAgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU5nTW9kZWwoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJoYW5kbGVDaGFuZ2UoZW50cnlDb21wb25lbnQudmFsdWUpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAjZW50cnlDb21wb25lbnRcbiAgICAvPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0NsZWFyQnV0dG9uJ1wiXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwiY2xlYXJhYmxlLWlucHV0LWNsZWFyLWJ1dHRvbiBidG5cIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhcigpXCJcbiAgICA+XG4gICAgICAgIDxmb2Vobi1pY29uLXRpbWVzXG4gICAgICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24taWNvblwiXG4gICAgICAgICAgICB0aXRsZT1cIlLDqWluaXRpYWxpc2VyIGxlIGNoYW1wc1wiXG4gICAgICAgID48L2ZvZWhuLWljb24tdGltZXM+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUMzQywwRUFBMEU7SUFDMUUscUZBQXFGLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ2pELDBFQUEwRTtJQUMxRSxxRkFBcUYsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FDbEQsMEVBQTBFO0lBQzFFLHFGQUFxRixDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUN4QywwRUFBMEU7SUFDMUUsMEdBQTBHLENBQUM7QUFDL0csTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQ2hDLGtJQUFrSSxDQUFDO0FBQ3ZJLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUN0QyxrSUFBa0ksQ0FBQztBQUN2SSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FDN0Msa0lBQWtJLENBQUM7QUFFdkksTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQzdCLCtHQUErRyxDQUFDO0FBY3BILE1BQU0sT0FBTyx3QkFDVCxTQUFRLHlCQUF5QjtJQWJyQzs7UUFnQkksd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRzVCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUd6QixnQkFBVyxHQUFHLElBQUksQ0FBQztLQTBDdEI7SUF4Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQix3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sV0FBVztRQUNmLElBQ0ksSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2pCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUN6QjtZQUNFLE9BQU8sa0NBQWtDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0MsT0FBTyx3Q0FBd0MsQ0FBQztTQUNuRDtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELE9BQU8seUNBQXlDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixPQUFPLCtCQUErQixDQUFDO1NBQzFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxPQUFPLHVCQUF1QixDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU8sNkJBQTZCLENBQUM7U0FDeEM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixPQUFPLG9DQUFvQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDOztzSEFuRFEsd0JBQXdCOzBHQUF4Qix3QkFBd0Isd0tBUnRCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ3JDTCxpd0ZBaUZBOzRGRDFDYSx3QkFBd0I7a0JBWnBDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBR2xCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjs4QkFNRCxtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSFRNTF9QSE9ORV9QQVRURVJOIH0gZnJvbSAnLi9wYXR0ZXJuLmNvbnN0JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1MgPVxuICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAnPGxpPiszMzYxMjM0NTY3OCw8L2xpPjxsaT4rNDkgMTIzIDQ1NiA3OCA5MDEgb3U8L2xpPjxsaT4rMzkgMzEyIDM0NSA2Nzg5PC9saT48L3VsPiknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkUgPVxuICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAnPGxpPis0MTc5MTIzNDU2Nyw8L2xpPjxsaT4wMDQxIDc4IDEyMyA0NSA1NiBvdTwvbGk+PGxpPiszMyA2IDEyIDM0IDU2IDc4PC9saT48L3VsPiknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rNDEyMTEyMzQ1NjcsPC9saT48bGk+MDA0MSAyMSAxMjMgNDUgNTYgb3U8L2xpPjxsaT4rMzMgNiAxMiAzNCA1NiA3ODwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rNDE3OTEyMzQ1NjcsPC9saT48bGk+KzQxIDIyIDAxMiAzNCA1Niw8L2xpPjxsaT4wMDQxIDc5IDAxMiAzNCA1NjwvbGk+PGxpPm91ICszMzYxMjM0NTY3ODwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NXSVNTX0hFTFBfVEVYVCA9XG4gICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjA3OSAxMjMgNDUgNjcsPC9saT48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4rNDEgNzkgMTIzIDQ1IDY3IG91PC9saT48bGk+KzQxMjExMjM0NTY3PC9saT48L3VsPlwiO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1dJU1NfUEhPTkVfSEVMUF9URVhUID1cbiAgICBcImV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4wMjEgMTIzIDQ1IDY3LDwvbGk+PGxpPis0MTIxMTIzNDU2NyBvdTwvbGk+PGxpPis0MSAyMSAxMjMgNDUgNjc8L2xpPjwvdWw+XCI7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUID1cbiAgICBcImV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz48bGk+MDc5MTIzNDU2Nyw8L2xpPjxsaT4wNzkgMTIzIDQ1IDY3LDwvbGk+PGxpPis0MTc5MTIzNDU2NyBvdTwvbGk+PGxpPis0MSA3OSAxMjMgNDUgNjc8L2xpPjwvdWw+XCI7XG5cbmV4cG9ydCBjb25zdCBCQURfUEFSQU1TX0hFTFBfVEVYVCA9XG4gICAgJ01hdXZhaXMgcGFyYW3DqXRyYWdlIGR1IGNvbXBvc2FudC4gVW4gdMOpbMOpcGhvbmUgZXN0IHNvaXQgaW50ZXJuYXRpb25hbCwgbW9iaWxlLCBmaXhlIG91IGxlcyBkZXV4IG1haXMgcGFzIHJpZW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWlucHV0LXBob25lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0UGhvbmVDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhY2NlcHRJbnRlcm5hdGlvbmFsID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFjY2VwdE1vYmlsZVBob25lID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0UGhvbmUgPSB0cnVlO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMudHlwZSA9ICd0ZWwnO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSA9ICd0ZWwnO1xuICAgICAgICAvLyBQYXR0ZXJuIHVzZWQgb25seSBmb3IgbnVtcGFkIHRyaWdnZXIgb24gbW9iaWxlIHBob25lc1xuICAgICAgICB0aGlzLnBhdHRlcm4gPSBIVE1MX1BIT05FX1BBVFRFUk47XG5cbiAgICAgICAgdGhpcy5oZWxwVGV4dCA9IFt0aGlzLmhlbHBUZXh0LCB0aGlzLmdldEhlbHBUZXh0KCldXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwpXG4gICAgICAgICAgICAuam9pbignPGJyLz4nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlbHBUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJlxuICAgICAgICAgICAgIXRoaXMuYWNjZXB0UGhvbmUgJiZcbiAgICAgICAgICAgICF0aGlzLmFjY2VwdE1vYmlsZVBob25lXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRNb2JpbGVQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdEludGVybmF0aW9uYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lICYmIHRoaXMuYWNjZXB0UGhvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX1NXSVNTX0hFTFBfVEVYVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfU1dJU1NfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lKSB7XG4gICAgICAgICAgICByZXR1cm4gREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCQURfUEFSQU1TX0hFTFBfVEVYVDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCJcbiAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhYmVsICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAnc3Itb25seScgOiBsYWJlbFN0eWxlTW9kaWZpZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICA8Zm9laG4taGVscC1tb2RhbFxuICAgICAgICAgICAgY2xhc3M9XCJyZW1vdmVQYWRkaW5nQnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiISFoZWxwTW9kYWxcIlxuICAgICAgICAgICAgW21vZGFsQ29udGVudF09XCJoZWxwTW9kYWxcIlxuICAgICAgICA+PC9mb2Vobi1oZWxwLW1vZGFsPlxuICAgIDwvZGl2PlxuXG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxpbnB1dFxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KClcIlxuICAgICAgICBbY2xhc3MuY2xlYXJhYmxlLWlucHV0XT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwiZ2V0TWF4TGVuZ3RoKClcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiZ2V0QXV0b0NvbXBsZXRlKClcIlxuICAgICAgICBbYXR0ci5hdXRvY2FwaXRhbGl6ZV09XCJhdXRvY2FwaXRhbGl6ZVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -60,7 +60,7 @@ FoehnInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
60
60
|
useExisting: forwardRef(() => FoehnInputTextComponent),
|
|
61
61
|
multi: true
|
|
62
62
|
}
|
|
63
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
63
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i3.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i6.SdkDictionaryPipe, "async": i4.AsyncPipe } });
|
|
64
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnInputTextComponent, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
66
|
args: [{ selector: 'foehn-input-text', providers: [
|
|
@@ -69,8 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
69
69
|
useExisting: forwardRef(() => FoehnInputTextComponent),
|
|
70
70
|
multi: true
|
|
71
71
|
}
|
|
72
|
-
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"
|
|
72
|
+
], template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n style=\"display: inline-block\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"] }]
|
|
73
73
|
}], propDecorators: { numberOnly: [{
|
|
74
74
|
type: Input
|
|
75
75
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQWM5RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEseUJBQXlCO0lBT2xFLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNUO0lBQ0wsQ0FBQztJQUVELDhEQUE4RDtJQUN0RCxVQUFVLENBQUMsS0FBb0I7UUFDbkMseUVBQXlFO1FBQ3pFLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLE9BQU8sSUFBSSxFQUFFLElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRTtZQUNqQyxjQUFjO1lBQ2QsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNqQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFvQjtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLHNFQUFzRTtRQUN0RSxPQUFPLENBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlDLGdCQUFnQjtZQUNoQixDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxnQkFBZ0I7WUFDaEIsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsZ0JBQWdCO1lBQ2hCLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELGdCQUFnQjtZQUNoQixDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxnQ0FBZ0M7WUFDaEMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDaEMsdUJBQXVCO1lBQ3ZCLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksRUFBRSxDQUFDLENBQ25DLENBQUM7SUFDTixDQUFDOztxSEFyRFEsdUJBQXVCO3lHQUF2Qix1QkFBdUIsaUZBUnJCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ2RMLDAxRkFvRkE7NEZEcEVhLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDSSxrQkFBa0IsYUFHakI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUlELFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBudW1iZXJPbmx5OiBib29sZWFuO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aW1lb3V0UmVmZXJlbmNlOiBhbnk7XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubnVtYmVyT25seSAmJiAhdGhpcy5hY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZWZlcmVuY2UpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0UmVmZXJlbmNlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKG51bGwpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgZ2V0S2V5Q29kZShldmVudDogS2V5Ym9hcmRFdmVudCk6IGFueSB7XG4gICAgICAgIC8vIFRPRE86IENoZWNrIGlmIHdlIHN0aWxsIG5lZWQgdG8gc3VwcG9ydCBJRTExIGFuZCBpZiBub3QsIHVzZSBldmVudC5rZXlcbiAgICAgICAgbGV0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoO1xuICAgICAgICBpZiAoa2V5Q29kZSA+PSA5NiAmJiBrZXlDb2RlIDw9IDEwNSkge1xuICAgICAgICAgICAgLy8gTnVtcGFkIGtleXNcbiAgICAgICAgICAgIGtleUNvZGUgLT0gNDg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleUNvZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IHRoaXMuZ2V0S2V5Q29kZShldmVudCk7XG4gICAgICAgIC8vIEFsbG93OiBkZWxldGUsIGJhY2tzcGFjZSwgdGFiLCBlc2NhcGUsIGVudGVyLCBkZWNpbWFsIHBvaW50LCBwZXJpb2RcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFs0NiwgOCwgOSwgMjcsIDEzLCAxMTAsIDE5MF0uaW5jbHVkZXMoa2V5Q29kZSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0FcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NSAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0NcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NyAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1ZcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4NiAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1hcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4OCAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBob21lLCBlbmQsIGxlZnQsIHJpZ2h0XG4gICAgICAgICAgICAoa2V5Q29kZSA+PSAzNSAmJiBrZXlDb2RlIDw9IDM5KSB8fFxuICAgICAgICAgICAgLy8gQWxsb3c6IG51bWJlcnMgWzAtOV1cbiAgICAgICAgICAgIChrZXlDb2RlID49IDQ4ICYmIGtleUNvZGUgPD0gNTcpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cCBjbGVhcmFibGUtaW5wdXQtZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9ja1wiXG4gICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYWJlbCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPGZvZWhuLWhlbHAtbW9kYWxcbiAgICAgICAgICAgIGNsYXNzPVwicmVtb3ZlUGFkZGluZ0J1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cInNob3dIZWxwTW9kYWxcIlxuICAgICAgICAgICAgW21vZGFsQ29udGVudF09XCJ7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGhlbHBNb2RhbFRpdGxlLFxuICAgICAgICAgICAgICAgIGJvZHk6IGhlbHBNb2RhbENvbnRlbnRcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+PC9mb2Vobi1oZWxwLW1vZGFsPlxuICAgIDwvZGl2PlxuXG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxpbnB1dFxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KClcIlxuICAgICAgICBbY2xhc3MuY2xlYXJhYmxlLWlucHV0XT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwiZ2V0TWF4TGVuZ3RoKClcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiZ2V0QXV0b0NvbXBsZXRlKClcIlxuICAgICAgICBbYXR0ci5hdXRvY2FwaXRhbGl6ZV09XCJhdXRvY2FwaXRhbGl6ZVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQWM5RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEseUJBQXlCO0lBT2xFLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNUO0lBQ0wsQ0FBQztJQUVELDhEQUE4RDtJQUN0RCxVQUFVLENBQUMsS0FBb0I7UUFDbkMseUVBQXlFO1FBQ3pFLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLE9BQU8sSUFBSSxFQUFFLElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRTtZQUNqQyxjQUFjO1lBQ2QsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNqQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFvQjtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLHNFQUFzRTtRQUN0RSxPQUFPLENBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlDLGdCQUFnQjtZQUNoQixDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxnQkFBZ0I7WUFDaEIsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsZ0JBQWdCO1lBQ2hCLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELGdCQUFnQjtZQUNoQixDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxnQ0FBZ0M7WUFDaEMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDaEMsdUJBQXVCO1lBQ3ZCLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksRUFBRSxDQUFDLENBQ25DLENBQUM7SUFDTixDQUFDOztxSEFyRFEsdUJBQXVCO3lHQUF2Qix1QkFBdUIsaUZBUnJCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ2RMLGl3RkFpRkE7NEZEakVhLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDSSxrQkFBa0IsYUFHakI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUlELFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBudW1iZXJPbmx5OiBib29sZWFuO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aW1lb3V0UmVmZXJlbmNlOiBhbnk7XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubnVtYmVyT25seSAmJiAhdGhpcy5hY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZWZlcmVuY2UpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0UmVmZXJlbmNlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKG51bGwpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgZ2V0S2V5Q29kZShldmVudDogS2V5Ym9hcmRFdmVudCk6IGFueSB7XG4gICAgICAgIC8vIFRPRE86IENoZWNrIGlmIHdlIHN0aWxsIG5lZWQgdG8gc3VwcG9ydCBJRTExIGFuZCBpZiBub3QsIHVzZSBldmVudC5rZXlcbiAgICAgICAgbGV0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoO1xuICAgICAgICBpZiAoa2V5Q29kZSA+PSA5NiAmJiBrZXlDb2RlIDw9IDEwNSkge1xuICAgICAgICAgICAgLy8gTnVtcGFkIGtleXNcbiAgICAgICAgICAgIGtleUNvZGUgLT0gNDg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleUNvZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IHRoaXMuZ2V0S2V5Q29kZShldmVudCk7XG4gICAgICAgIC8vIEFsbG93OiBkZWxldGUsIGJhY2tzcGFjZSwgdGFiLCBlc2NhcGUsIGVudGVyLCBkZWNpbWFsIHBvaW50LCBwZXJpb2RcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFs0NiwgOCwgOSwgMjcsIDEzLCAxMTAsIDE5MF0uaW5jbHVkZXMoa2V5Q29kZSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0FcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NSAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0NcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NyAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1ZcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4NiAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1hcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4OCAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBob21lLCBlbmQsIGxlZnQsIHJpZ2h0XG4gICAgICAgICAgICAoa2V5Q29kZSA+PSAzNSAmJiBrZXlDb2RlIDw9IDM5KSB8fFxuICAgICAgICAgICAgLy8gQWxsb3c6IG51bWJlcnMgWzAtOV1cbiAgICAgICAgICAgIChrZXlDb2RlID49IDQ4ICYmIGtleUNvZGUgPD0gNTcpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cCBjbGVhcmFibGUtaW5wdXQtZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9ja1wiXG4gICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYWJlbCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPGZvZWhuLWhlbHAtbW9kYWxcbiAgICAgICAgICAgIGNsYXNzPVwicmVtb3ZlUGFkZGluZ0J1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cIiEhaGVscE1vZGFsXCJcbiAgICAgICAgICAgIFttb2RhbENvbnRlbnRdPVwiaGVscE1vZGFsXCJcbiAgICAgICAgPjwvZm9laG4taGVscC1tb2RhbD5cbiAgICA8L2Rpdj5cblxuICAgIDxmb2Vobi12YWxpZGF0aW9uLWFsZXJ0cyBbY29tcG9uZW50XT1cInRoaXNcIj48L2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzPlxuXG4gICAgPHNtYWxsXG4gICAgICAgICpuZ0lmPVwiaGVscFRleHQgJiYgdHlwZSAhPT0gJ2hpZGRlbidcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoKSArICdIZWxwJ1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJoZWxwVGV4dFwiXG4gICAgPjwvc21hbGw+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8aW5wdXRcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KCkgfHwgaGFzSW5oZXJpdEVycm9yRnJvbVBhcmVudCgpXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyYWJsZS1pbnB1dF09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBbbmFtZV09XCJuYW1lIHx8IGxhYmVsXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cImdldE1heExlbmd0aCgpXCJcbiAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImdldEF1dG9Db21wbGV0ZSgpXCJcbiAgICAgICAgW2F0dHIuYXV0b2NhcGl0YWxpemVdPVwiYXV0b2NhcGl0YWxpemVcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJwYXR0ZXJuXCJcbiAgICAgICAgW2F0dHIubWluXT1cIm1pblwiXG4gICAgICAgIFthdHRyLm1heF09XCJtYXhcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZ2V0RGVzY3JpYmVkQnkoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCB8fCBudWxsXCJcbiAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTmdNb2RlbCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZShlbnRyeUNvbXBvbmVudC52YWx1ZSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICNlbnRyeUNvbXBvbmVudFxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnQ2xlYXJCdXR0b24nXCJcbiAgICAgICAgKm5nSWY9XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uIGJ0blwiXG4gICAgICAgIChjbGljayk9XCJvbkNsZWFyKClcIlxuICAgID5cbiAgICAgICAgPGZvZWhuLWljb24tdGltZXNcbiAgICAgICAgICAgIGNsYXNzPVwiY2xlYXJhYmxlLWlucHV0LWNsZWFyLWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgIHRpdGxlPVwiUsOpaW5pdGlhbGlzZXIgbGUgY2hhbXBzXCJcbiAgICAgICAgPjwvZm9laG4taWNvbi10aW1lcz5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -26,7 +26,6 @@ export class FoehnInputComponent {
|
|
|
26
26
|
* When set to TRUE: Shows error even if input is disabled
|
|
27
27
|
*/
|
|
28
28
|
this.showErrorWhenDisabled = false;
|
|
29
|
-
this.showHelpModal = false;
|
|
30
29
|
/**
|
|
31
30
|
* Fired when the model changes for any reason
|
|
32
31
|
*/
|
|
@@ -296,7 +295,7 @@ export class FoehnInputComponent {
|
|
|
296
295
|
}
|
|
297
296
|
}
|
|
298
297
|
FoehnInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
299
|
-
FoehnInputComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FoehnInputComponent, inputs: { id: "id", required: "required", label: "label", isLabelSrOnly: "isLabelSrOnly", helpText: "helpText", name: "name", pattern: "pattern", labelStyleModifier: "labelStyleModifier", customErrors: "customErrors", maxlength: "maxlength", overrideGesdemMaxlength: "overrideGesdemMaxlength", min: "min", max: "max", autocomplete: "autocomplete", disabled: "disabled", preventPaste: "preventPaste", clearButton: "clearButton", excludeFromErrorSummary: "excludeFromErrorSummary", hideNotRequiredExtraLabel: "hideNotRequiredExtraLabel", isErrorInherited: "isErrorInherited", showErrorWhenDisabled: "showErrorWhenDisabled", autocapitalize: "autocapitalize",
|
|
298
|
+
FoehnInputComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FoehnInputComponent, inputs: { id: "id", required: "required", label: "label", isLabelSrOnly: "isLabelSrOnly", helpText: "helpText", name: "name", pattern: "pattern", labelStyleModifier: "labelStyleModifier", customErrors: "customErrors", maxlength: "maxlength", overrideGesdemMaxlength: "overrideGesdemMaxlength", min: "min", max: "max", autocomplete: "autocomplete", disabled: "disabled", preventPaste: "preventPaste", clearButton: "clearButton", excludeFromErrorSummary: "excludeFromErrorSummary", hideNotRequiredExtraLabel: "hideNotRequiredExtraLabel", isErrorInherited: "isErrorInherited", showErrorWhenDisabled: "showErrorWhenDisabled", autocapitalize: "autocapitalize", helpModal: "helpModal", model: "model" }, outputs: { modelChange: "modelChange", userInput: "userInput", blurHandler: "blur", focusHandler: "focus" }, host: { properties: { "attr.id": "this.hostId" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["entryComponent"], descendants: true }, { propertyName: "inputModelList", predicate: NgModel, descendants: true }, { propertyName: "subComponents", predicate: FoehnInputComponent, descendants: true }], ngImport: i0 });
|
|
300
299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnInputComponent, decorators: [{
|
|
301
300
|
type: Directive
|
|
302
301
|
}], ctorParameters: function () { return []; }, propDecorators: { id: [{
|
|
@@ -343,11 +342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
343
342
|
type: Input
|
|
344
343
|
}], autocapitalize: [{
|
|
345
344
|
type: Input
|
|
346
|
-
}],
|
|
347
|
-
type: Input
|
|
348
|
-
}], helpModalTitle: [{
|
|
349
|
-
type: Input
|
|
350
|
-
}], helpModalContent: [{
|
|
345
|
+
}], helpModal: [{
|
|
351
346
|
type: Input
|
|
352
347
|
}], inputModelList: [{
|
|
353
348
|
type: ViewChildren,
|
|
@@ -376,4 +371,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
376
371
|
}], model: [{
|
|
377
372
|
type: Input
|
|
378
373
|
}] } });
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVuRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7QUFHNUMsTUFBTSxPQUFnQixtQkFBbUI7SUFpSnJDO1FBbkhBLGlCQUFZLEdBQThCLEVBQUUsQ0FBQztRQU03Qyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFtQmhDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCOztXQUVHO1FBRUgsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDOztXQUVHO1FBRUgsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBR2xDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qjs7V0FFRztRQUVILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQVc5QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQWtCdEI7O1dBRUc7UUFF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T0FBTztnQkFJckIsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGdCQUFnQjs7UUFJM0IsOERBQThEO1FBQzlELGFBQWE7c0JBRlosWUFBWTt1QkFBQyxtQkFBbUI7Z0JBUWpDLFdBQVc7c0JBRFYsTUFBTTtnQkFPUCxTQUFTO3NCQURSLE1BQU07Z0JBS1AsV0FBVztzQkFEVixNQUFNO3VCQUFDLE1BQU07Z0JBS2QsWUFBWTtzQkFEWCxNQUFNO3VCQUFDLE9BQU87Z0JBSWYsTUFBTTtzQkFETCxXQUFXO3VCQUFDLFNBQVM7Z0JBd0NsQixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3IgfSBmcm9tICcuLi9mb3JtLWVycm9yJztcbmltcG9ydCB7IFNlcnZpY2VMb2NhdG9yIH0gZnJvbSAnLi4vc2VydmljZS1sb2NhdG9yJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEdFU0RFTV9NQVhfREFUQV9MRU5HVEggPSAxMDAwMDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9laG5JbnB1dENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBUUlVFLCBhZGRzIGNsYXNzICdzci1vbmx5JyAob25seSBmb3Igc2NyZWVuIHJlYWRlcnMpIG9uIHRhZyA8bGFiZWw+IG9yIDxsZWdlbmQ+XG4gICAgICogZGVwZW5kaW5nIG9uIGNvbXBvbmVudCBleHRlbmRpbmcgdGhpcyBjbGFzc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNMYWJlbFNyT25seTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVscFRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwYXR0ZXJuOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsU3R5bGVNb2RpZmllcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4bGVuZ3RoOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIG92ZXJyaWRlR2VzZGVtTWF4bGVuZ3RoID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdHRyaWJ1dGUgbXVzdCB0YWtlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczpcbiAgICAgKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZnIvZG9jcy9XZWIvSFRNTC9BdHRyaWJ1dGVzL2F1dG9jb21wbGV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2ZW50UGFzdGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xlYXJCdXR0b24gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEV4Y2x1ZGUgdGhlIGNvbXBvbmVudCBmcm9tIHRoZSBlcnJvciBzdW1tYXJ5IGlmIHRoZSBjb21wb25lbnQgaGFzIGFuIGVycm9yLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhjbHVkZUZyb21FcnJvclN1bW1hcnkgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlICdmYWN1bHRhdGlmJyBleHRyYSBsYWJlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWwgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaXNFcnJvckluaGVyaXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBzZXQgdG8gVFJVRTogU2hvd3MgZXJyb3IgZXZlbiBpZiBpbnB1dCBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0Vycm9yV2hlbkRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXV0b2NhcGl0YWxpemUgYXR0cmlidXRlIG5ldmVyIGNhdXNlcyBhdXRvY2FwaXRhbGl6YXRpb24gdG8gYmUgZW5hYmxlZCBmb3JcbiAgICAgKiBhbiA8aW5wdXQ+IGVsZW1lbnQgd2l0aCBhIHR5cGUgYXR0cmlidXRlIHdob3NlIHZhbHVlIGlzIHVybCwgZW1haWwsIG9yIHBhc3N3b3JkLlxuICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2ZyL2RvY3MvV2ViL0hUTUwvR2xvYmFsX2F0dHJpYnV0ZXMvYXV0b2NhcGl0YWxpemVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGF1dG9jYXBpdGFsaXplOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dIZWxwTW9kYWwgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVscE1vZGFsVGl0bGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgaGVscE1vZGFsQ29udGVudDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZHJlbihOZ01vZGVsKVxuICAgIGlucHV0TW9kZWxMaXN0OiBRdWVyeUxpc3Q8TmdNb2RlbD47XG5cbiAgICBAVmlld0NoaWxkKCdlbnRyeUNvbXBvbmVudCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZHJlbihGb2VobklucHV0Q29tcG9uZW50KVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc3ViQ29tcG9uZW50czogUXVlcnlMaXN0PEZvZWhuSW5wdXRDb21wb25lbnQ8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiBGaXJlZCB3aGVuIHRoZSBtb2RlbCBjaGFuZ2VzIGZvciBhbnkgcmVhc29uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlZCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgYSB2YWx1ZSwgYWZ0ZXIgdGhlIG1vZGVsIGlzIHVwZGF0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgdXNlcklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlLEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lXG4gICAgQE91dHB1dCgnYmx1cicpXG4gICAgYmx1ckhhbmRsZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmUsQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWVcbiAgICBAT3V0cHV0KCdmb2N1cycpXG4gICAgZm9jdXNIYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBob3N0SWQ6IHN0cmluZztcblxuICAgIHR5cGU6IHN0cmluZztcblxuICAgIHZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlO1xuXG4gICAgbW9kZWxfOiBUO1xuXG4gICAgcHJpdmF0ZSBfZXJyb3JzOiBGb3JtRXJyb3JbXTtcblxuICAgIHByaXZhdGUgdmFsaWRhdGlvbkVycm9yc1N1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgc2hvd0NsZWFyQnV0dG9uOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHByaXZhdGUgdXNlcklucHV0T2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0PFQ+KCk7XG4gICAgcHJpdmF0ZSB1c2VySW5wdXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFZhbGlkYXRpb25IYW5kbGVyU2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzU3ViamVjdFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UudmFsaWRhdGlvbkVycm9yc1N1YmplY3QsXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS52YWxpZGF0aW9uRGlzcGxheVN1YmplY3RcbiAgICAgICAgXSkuc3Vic2NyaWJlKHZhbHVlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hFcnJvcnModmFsdWVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGVycm9ycygpOiBGb3JtRXJyb3JbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lcnJvcnM7XG4gICAgfVxuXG4gICAgZ2V0IG1vZGVsKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbF87XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbW9kZWwodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3N0IGhhcyBhbiBJZCBmb3IgaW5zdHJ1bWVudGFsaXphdGlvbiBvZiB0aGUgRE9NIGJ5IGF1dG9tYXRlZCB0ZXN0cy5cbiAgICAgICAgdGhpcy5ob3N0SWQgPSB0aGlzLmJ1aWxkSWQoKTtcblxuICAgICAgICB0aGlzLnNob3dDbGVhckJ1dHRvbiA9IHRoaXMubW9kZWxDaGFuZ2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUobWFwKG1vZGVsID0+IHRoaXMuY2xlYXJCdXR0b24gJiYgISFtb2RlbCAmJiAhdGhpcy5kaXNhYmxlZCkpO1xuXG4gICAgICAgIHRoaXMudXNlcklucHV0U3Vic2NyaXB0aW9uID0gdGhpcy51c2VySW5wdXRPYnNlcnZhYmxlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHRoYXQgd2Ugb25seSBjYXRjaCB0aGUgbGF0ZXN0IG9mIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgLy8gcXVpY2sgdXBkYXRlcywgYW5kIHRvIG1ha2Ugc3VyZSB0aGUgdXNlcklucHV0IGlzIGZpcmVkIHdoZW5cbiAgICAgICAgICAgICAgICAvLyB0aGUgY29tcG9uZW50IGlzIGRvbmUgdXBkYXRpbmcuXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJJbnB1dC5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uRXJyb3JzU3ViamVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzU3ViamVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudXNlcklucHV0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXJJbnB1dFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyaWdnZXJVc2VySW5wdXQodmFsdWUpO1xuICAgIH1cblxuICAgIHVwZGF0ZU5nTW9kZWwodmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbF8gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBoYXNFcnJvcnNUb0Rpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmhhc0Vycm9ycygpICYmICghdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnNob3dFcnJvcldoZW5EaXNhYmxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lcnJvcnMgJiYgdGhpcy5fZXJyb3JzLmxlbmd0aCA+IDAgJiYgdGhpcy5pc1ByaXN0aW5lKCk7XG4gICAgfVxuXG4gICAgaGFzSW5oZXJpdEVycm9yRnJvbVBhcmVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFcnJvckluaGVyaXRlZDtcbiAgICB9XG5cbiAgICBpc1ByaXN0aW5lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pbnB1dE1vZGVsTGlzdC5maWx0ZXIobSA9PiAhbS5wcmlzdGluZSkubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMuZmlsdGVyKGMgPT4gIWMuaXNQcmlzdGluZSgpKS5sZW5ndGggPT09IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dE1vZGVsTGlzdC5mb3JFYWNoKG5nTW9kZWwgPT4ge1xuICAgICAgICAgICAgbmdNb2RlbC5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgIGMubWFya0FzRGlydHkoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWFya0FzUHJpc3RpbmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRNb2RlbExpc3QuZm9yRWFjaChuZ01vZGVsID0+IHtcbiAgICAgICAgICAgIG5nTW9kZWwuY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICBjLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE5hdGl2ZUlucHV0TGlzdCgpOiBOZ01vZGVsW10ge1xuICAgICAgICBsZXQgcmVzdWx0OiBOZ01vZGVsW10gPSB0aGlzLmlucHV0TW9kZWxMaXN0LnRvQXJyYXkoKTtcbiAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGMuZ2V0TmF0aXZlSW5wdXRMaXN0KCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldE1lQW5kU3ViQ29tcG9uZW50cygpOiBGb2VobklucHV0Q29tcG9uZW50PGFueT5bXSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGxldCByZXN1bHQ6IEZvZWhuSW5wdXRDb21wb25lbnQ8YW55PltdID0gW3RoaXNdO1xuICAgICAgICBpZiAodGhpcy5zdWJDb21wb25lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGMuZ2V0TWVBbmRTdWJDb21wb25lbnRzKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlZnJlc2hFcnJvcnMocmVzdWx0czogYW55W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBGb3JtRXJyb3JbXSA9IHJlc3VsdHNbMF07XG4gICAgICAgIGNvbnN0IHNob3VsZERpc3BsYXlFcnJvcnM6IGJvb2xlYW4gPSByZXN1bHRzWzFdO1xuICAgICAgICBpZiAoc2hvdWxkRGlzcGxheUVycm9ycykge1xuICAgICAgICAgICAgdGhpcy5fZXJyb3JzID0gZXJyb3JzLmZpbHRlcihlID0+IGUubmFtZSA9PT0gdGhpcy5uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBsZXQgZWxlbWVudENvbnRhaW5lcjtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50ICYmIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSWQoJ0NvbnRhaW5lcicpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgaW4gdmlldyBzaG91bGQgYmUgZG9uZSBvbiBpbnB1dCBjb250YWluZXJcbiAgICAgICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzICYmXG4gICAgICAgICAgICB0aGlzLmdldEZpcnN0SW5wdXRDb21wb25lbnRFbmFibGVkKHRoaXMuc3ViQ29tcG9uZW50cylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbXBvbmVudCA9IHRoaXMuZ2V0Rmlyc3RJbnB1dENvbXBvbmVudEVuYWJsZWQoXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZWxlbWVudENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgICAgICAgICAgICAgIGlucHV0Q29tcG9uZW50LmJ1aWxkSWQoJ0NvbnRhaW5lcicpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgaW4gdmlldyBzaG91bGQgYmUgZG9uZSBvbiBpbnB1dCBjb250YWluZXJcbiAgICAgICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgaW5wdXRDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIENhc2UgZm9yIGNvbXBvbmVudCB3aG8gZG8gbm90IGhhdmUgYW55ICcjZW50cnlDb21wb25lbnQnIGluIHRoZWlyIGh0bWwgdGVtcGxhdGUgKGkuZS4gZm9laG4tcmFkaW8sIGZvZWhuLWNoZWNrYm94LC4uLilcbiAgICAgICAgICAgIGVsZW1lbnRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSWQoJ0NvbnRhaW5lcicpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgaW4gdmlldyBzaG91bGQgYmUgZG9uZSBvbiBpbnB1dCBjb250YWluZXJcbiAgICAgICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IGVsZW1lbnRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICBgaW5wdXRbaWRePVwiJHt0aGlzLm5hbWV9XCJdYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50Tm9kZUxpc3RPZiAmJiBlbGVtZW50Tm9kZUxpc3RPZi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5maW5kRmlyc3RIdG1sSW5wdXRFbGVtZW50RW5hYmxlZChcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudE5vZGVMaXN0T2ZcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9jdXMgc2hvdWxkIGJlIG9uIHRoZSBpbnB1dCBpdHNlbGZcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5tYXhsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBHRVNERU1fTUFYX0RBVEFfTEVOR1RIO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5tYXhsZW5ndGggPiBHRVNERU1fTUFYX0RBVEFfTEVOR1RIICYmXG4gICAgICAgICAgICAhdGhpcy5vdmVycmlkZUdlc2RlbU1heGxlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgIGBtYXhMZW5ndGggaW4gJHt0aGlzLm5hbWV9IGNhbm5vdCBiZSBtb3JlIHRoYW4gJHtHRVNERU1fTUFYX0RBVEFfTEVOR1RIfSAhYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBHRVNERU1fTUFYX0RBVEFfTEVOR1RIO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWF4bGVuZ3RoO1xuICAgIH1cblxuICAgIGJ1aWxkSWQoc3VmZml4OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRoZSBiYXNlSWQgaXMgZWl0aGVyIGFuIGlkIGdpdmVuIGJ5IHRoZSB1c2VyIG9yIHRoZSB2YWx1ZSBvZiB0aGUgbmFtZS5cbiAgICAgICAgLy8gRm9yIGludGVncmF0aW9uIHB1cnBvc2VzLCB0aGUgY29udGFpbmVyIGZvZWhuLSogbXVzdCBoYXZlIGFuIElkLlxuICAgICAgICBjb25zdCBiYXNlSWQgPSB0aGlzLmlkIHx8IHRoaXMubmFtZTtcbiAgICAgICAgaWYgKCFiYXNlSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2Jhc2VJZH0ke3N1ZmZpeH1gO1xuICAgIH1cblxuICAgIGJ1aWxkQ2hpbGRJZChzdWZmaXg6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJZChgQ2hpbGQke3N1ZmZpeH1gKTtcbiAgICB9XG5cbiAgICBidWlsZENoaWxkTmFtZShzdWZmaXg6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubmFtZX1DaGlsZCR7c3VmZml4fWA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIG9uS2V5ZG93bihrZXk6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90aGluZywgb3ZlcnJpZGVuIGJ5IHN1YmNvbXBvbmVudFxuICAgIH1cblxuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwobnVsbCk7XG4gICAgfVxuXG4gICAgb25QYXN0ZShlOiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50UGFzdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cihlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmx1ckhhbmRsZXIuZW1pdChlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0hhbmRsZXIuZW1pdChlKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwobnVsbCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKG51bGwpO1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgZGlzcGxheUNsZWFyQnV0dG9uKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICAvLyBUaGlzIGhhcyB0byBiZSBhbiBvYnNlcnZhYmxlIHRvIHJlYWN0IHRvIHRoZSBjaGFuZ2Ugb2YgbW9kZWwgdmFsdWUuXG4gICAgICAgIHJldHVybiB0aGlzLnNob3dDbGVhckJ1dHRvbjtcbiAgICB9XG5cbiAgICBnZXREZXNjcmliZWRCeSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBoZWxwVGV4dElkID0gdGhpcy5oZWxwVGV4dCA/IGAke3RoaXMuYnVpbGRDaGlsZElkKCl9SGVscGAgOiBudWxsO1xuICAgICAgICBjb25zdCBlcnJvcklkID0gdGhpcy5oYXNFcnJvcnNUb0Rpc3BsYXkoKVxuICAgICAgICAgICAgPyBgJHt0aGlzLmJ1aWxkSWQoKX1FcnJvcnNDb250YWluZXJgXG4gICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgLy8gYXJpYS1kZXNjcmliZWRieSBjYW4gYmUgbGlua2VkIHRvIG11bHRpcGxlIElkcyBzZXBhcmF0ZWQgYnkgYSBjb21tYS5cbiAgICAgICAgcmV0dXJuIFtoZWxwVGV4dElkLCBlcnJvcklkXS5maWx0ZXIoaWQgPT4gISFpZCkuam9pbignLCcpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0QXV0b0NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgICAgIC8vIHJldHJvIGNvbXBhdGliaWxpdHkgKGF1dG9jb21wbGV0ZSB1c2VkIHRvIGJlIGEgYm9vbGVhbilcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiAnb2ZmJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5hdXRvY29tcGxldGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Rmlyc3RJbnB1dENvbXBvbmVudEVuYWJsZWQoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHN1YkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxGb2VobklucHV0Q29tcG9uZW50PGFueT4+XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgKTogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+IHtcbiAgICAgICAgY29uc3QgZm9laG5JbnB1dENvbXBvbmVudHMgPSBzdWJDb21wb25lbnRzLmZpbHRlcihcbiAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS5pbnB1dEVsZW1lbnQgJiYgIWl0ZW0uZGlzYWJsZWRcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoISFmb2VobklucHV0Q29tcG9uZW50cyAmJiBmb2VobklucHV0Q29tcG9uZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmb2VobklucHV0Q29tcG9uZW50c1swXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaW5kRmlyc3RIdG1sSW5wdXRFbGVtZW50RW5hYmxlZChcbiAgICAgICAgZWxlbWVudE5vZGVMaXN0T2Y6IE5vZGVMaXN0T2Y8RWxlbWVudD5cbiAgICApOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50Tm9kZUxpc3RPZi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaHRtbElucHV0RWxlbWVudCA9IGVsZW1lbnROb2RlTGlzdE9mLml0ZW0oXG4gICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFodG1sSW5wdXRFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm90ZWN0ZWQgaXNFbXB0eShkYXRhOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEgPT09ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmlnZ2VyVXNlcklucHV0KHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIElmIHRoZSBjYWxsYmFjayBpcyBkZWZpbmVkXG4gICAgICAgICAgICAhIXRoaXMudXNlcklucHV0ICYmXG4gICAgICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgYWN0dWFsbHkgc29tZXRoaW5nIChUIG9yIG51bGwpXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51c2VySW5wdXRPYnNlcnZhYmxlLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
374
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUduRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7QUFHNUMsTUFBTSxPQUFnQixtQkFBbUI7SUEySXJDO1FBN0dBLGlCQUFZLEdBQThCLEVBQUUsQ0FBQztRQU03Qyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFtQmhDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCOztXQUVHO1FBRUgsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDOztXQUVHO1FBRUgsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBR2xDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qjs7V0FFRztRQUVILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQXVCOUI7O1dBRUc7UUFFSCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFL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QUFZO3VCQUFDLG1CQUFtQjtnQkFRakMsV0FBVztzQkFEVixNQUFNO2dCQU9QLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07dUJBQUMsTUFBTTtnQkFLZCxZQUFZO3NCQURYLE1BQU07dUJBQUMsT0FBTztnQkFJZixNQUFNO3NCQURMLFdBQVc7dUJBQUMsU0FBUztnQkF3Q2xCLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSGVscE1vZGFsIH0gZnJvbSAnLi4vZm9laG4taGVscC1tb2RhbC9mb2Vobi1oZWxwLW1vZGFsLnR5cGUnO1xuXG5leHBvcnQgY29uc3QgR0VTREVNX01BWF9EQVRBX0xFTkdUSCA9IDEwMDAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2VobklucHV0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIFRSVUUsIGFkZHMgY2xhc3MgJ3NyLW9ubHknIChvbmx5IGZvciBzY3JlZW4gcmVhZGVycykgb24gdGFnIDxsYWJlbD4gb3IgPGxlZ2VuZD5cbiAgICAgKiBkZXBlbmRpbmcgb24gY29tcG9uZW50IGV4dGVuZGluZyB0aGlzIGNsYXNzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc0xhYmVsU3JPbmx5OiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBoZWxwVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHBhdHRlcm46IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbGFiZWxTdHlsZU1vZGlmaWVyOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gICAgQElucHV0KClcbiAgICBtYXhsZW5ndGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgb3ZlcnJpZGVHZXNkZW1NYXhsZW5ndGggPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGF0dHJpYnV0ZSBtdXN0IHRha2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuICAgICAqIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9mci9kb2NzL1dlYi9IVE1ML0F0dHJpYnV0ZXMvYXV0b2NvbXBsZXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhdXRvY29tcGxldGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZlbnRQYXN0ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBjbGVhckJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXhjbHVkZSB0aGUgY29tcG9uZW50IGZyb20gdGhlIGVycm9yIHN1bW1hcnkgaWYgdGhlIGNvbXBvbmVudCBoYXMgYW4gZXJyb3IuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleGNsdWRlRnJvbUVycm9yU3VtbWFyeSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgJ2ZhY3VsdGF0aWYnIGV4dHJhIGxhYmVsLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBpc0Vycm9ySW5oZXJpdGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byBUUlVFOiBTaG93cyBlcnJvciBldmVuIGlmIGlucHV0IGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RXJyb3JXaGVuRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRvY2FwaXRhbGl6ZSBhdHRyaWJ1dGUgbmV2ZXIgY2F1c2VzIGF1dG9jYXBpdGFsaXphdGlvbiB0byBiZSBlbmFibGVkIGZvclxuICAgICAqIGFuIDxpbnB1dD4gZWxlbWVudCB3aXRoIGEgdHlwZSBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgaXMgdXJsLCBlbWFpbCwgb3IgcGFzc3dvcmQuXG4gICAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZnIvZG9jcy9XZWIvSFRNTC9HbG9iYWxfYXR0cmlidXRlcy9hdXRvY2FwaXRhbGl6ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b2NhcGl0YWxpemU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgaGVscE1vZGFsOiBIZWxwTW9kYWw7XG5cbiAgICBAVmlld0NoaWxkcmVuKE5nTW9kZWwpXG4gICAgaW5wdXRNb2RlbExpc3Q6IFF1ZXJ5TGlzdDxOZ01vZGVsPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2VudHJ5Q29tcG9uZW50JylcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkcmVuKEZvZWhuSW5wdXRDb21wb25lbnQpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdWJDb21wb25lbnRzOiBRdWVyeUxpc3Q8Rm9laG5JbnB1dENvbXBvbmVudDxhbnk+PjtcblxuICAgIC8qKlxuICAgICAqIEZpcmVkIHdoZW4gdGhlIG1vZGVsIGNoYW5nZXMgZm9yIGFueSByZWFzb25cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyBhIHZhbHVlLCBhZnRlciB0aGUgbW9kZWwgaXMgdXBkYXRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB1c2VySW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmUsQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWVcbiAgICBAT3V0cHV0KCdibHVyJylcbiAgICBibHVySGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZSxAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LXJlbmFtZVxuICAgIEBPdXRwdXQoJ2ZvY3VzJylcbiAgICBmb2N1c0hhbmRsZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGhvc3RJZDogc3RyaW5nO1xuXG4gICAgdHlwZTogc3RyaW5nO1xuXG4gICAgdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2U7XG5cbiAgICBtb2RlbF86IFQ7XG5cbiAgICBwcml2YXRlIF9lcnJvcnM6IEZvcm1FcnJvcltdO1xuXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uRXJyb3JzU3ViamVjdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBzaG93Q2xlYXJCdXR0b246IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSB1c2VySW5wdXRPYnNlcnZhYmxlID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgICBwcml2YXRlIHVzZXJJbnB1dFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnNTdWJqZWN0U3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS52YWxpZGF0aW9uRXJyb3JzU3ViamVjdCxcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnZhbGlkYXRpb25EaXNwbGF5U3ViamVjdFxuICAgICAgICBdKS5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEVycm9ycyh2YWx1ZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZXJyb3JzKCk6IEZvcm1FcnJvcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Vycm9ycztcbiAgICB9XG5cbiAgICBnZXQgbW9kZWwoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsXztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBtb2RlbCh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvc3QgaGFzIGFuIElkIGZvciBpbnN0cnVtZW50YWxpemF0aW9uIG9mIHRoZSBET00gYnkgYXV0b21hdGVkIHRlc3RzLlxuICAgICAgICB0aGlzLmhvc3RJZCA9IHRoaXMuYnVpbGRJZCgpO1xuXG4gICAgICAgIHRoaXMuc2hvd0NsZWFyQnV0dG9uID0gdGhpcy5tb2RlbENoYW5nZVxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShtYXAobW9kZWwgPT4gdGhpcy5jbGVhckJ1dHRvbiAmJiAhIW1vZGVsICYmICF0aGlzLmRpc2FibGVkKSk7XG5cbiAgICAgICAgdGhpcy51c2VySW5wdXRTdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJJbnB1dE9ic2VydmFibGVcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgdGhhdCB3ZSBvbmx5IGNhdGNoIHRoZSBsYXRlc3Qgb2YgbXVsdGlwbGVcbiAgICAgICAgICAgICAgICAvLyBxdWljayB1cGRhdGVzLCBhbmQgdG8gbWFrZSBzdXJlIHRoZSB1c2VySW5wdXQgaXMgZmlyZWQgd2hlblxuICAgICAgICAgICAgICAgIC8vIHRoZSBjb21wb25lbnQgaXMgZG9uZSB1cGRhdGluZy5cbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlcklucHV0LmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25FcnJvcnNTdWJqZWN0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnNTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51c2VySW5wdXRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXNlcklucHV0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJpZ2dlclVzZXJJbnB1dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTmdNb2RlbCh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsXyA9IHZhbHVlO1xuICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGhhc0Vycm9yc1RvRGlzcGxheSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaGFzRXJyb3JzKCkgJiYgKCF0aGlzLmRpc2FibGVkIHx8IHRoaXMuc2hvd0Vycm9yV2hlbkRpc2FibGVkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhc0Vycm9ycygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Vycm9ycyAmJiB0aGlzLl9lcnJvcnMubGVuZ3RoID4gMCAmJiB0aGlzLmlzUHJpc3RpbmUoKTtcbiAgICB9XG5cbiAgICBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Vycm9ySW5oZXJpdGVkO1xuICAgIH1cblxuICAgIGlzUHJpc3RpbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmlucHV0TW9kZWxMaXN0LmZpbHRlcihtID0+ICFtLnByaXN0aW5lKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5maWx0ZXIoYyA9PiAhYy5pc1ByaXN0aW5lKCkpLmxlbmd0aCA9PT0gMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG1hcmtBc0RpcnR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0TW9kZWxMaXN0LmZvckVhY2gobmdNb2RlbCA9PiB7XG4gICAgICAgICAgICBuZ01vZGVsLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICAgICAgYy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtYXJrQXNQcmlzdGluZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dE1vZGVsTGlzdC5mb3JFYWNoKG5nTW9kZWwgPT4ge1xuICAgICAgICAgICAgbmdNb2RlbC5jb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgIGMubWFya0FzRGlydHkoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TmF0aXZlSW5wdXRMaXN0KCk6IE5nTW9kZWxbXSB7XG4gICAgICAgIGxldCByZXN1bHQ6IE5nTW9kZWxbXSA9IHRoaXMuaW5wdXRNb2RlbExpc3QudG9BcnJheSgpO1xuICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoYy5nZXROYXRpdmVJbnB1dExpc3QoKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0TWVBbmRTdWJDb21wb25lbnRzKCk6IEZvZWhuSW5wdXRDb21wb25lbnQ8YW55PltdIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgbGV0IHJlc3VsdDogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+W10gPSBbdGhpc107XG4gICAgICAgIGlmICh0aGlzLnN1YkNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoYy5nZXRNZUFuZFN1YkNvbXBvbmVudHMoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVmcmVzaEVycm9ycyhyZXN1bHRzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBlcnJvcnM6IEZvcm1FcnJvcltdID0gcmVzdWx0c1swXTtcbiAgICAgICAgY29uc3Qgc2hvdWxkRGlzcGxheUVycm9yczogYm9vbGVhbiA9IHJlc3VsdHNbMV07XG4gICAgICAgIGlmIChzaG91bGREaXNwbGF5RXJyb3JzKSB7XG4gICAgICAgICAgICB0aGlzLl9lcnJvcnMgPSBlcnJvcnMuZmlsdGVyKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBlbGVtZW50Q29udGFpbmVyO1xuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQgJiYgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRJZCgnQ29udGFpbmVyJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudENvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIC8vIFNjcm9sbCBpbiB2aWV3IHNob3VsZCBiZSBkb25lIG9uIGlucHV0IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgIHRoaXMuZ2V0Rmlyc3RJbnB1dENvbXBvbmVudEVuYWJsZWQodGhpcy5zdWJDb21wb25lbnRzKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Q29tcG9uZW50ID0gdGhpcy5nZXRGaXJzdElucHV0Q29tcG9uZW50RW5hYmxlZChcbiAgICAgICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXG4gICAgICAgICAgICAgICAgaW5wdXRDb21wb25lbnQuYnVpbGRJZCgnQ29udGFpbmVyJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudENvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIC8vIFNjcm9sbCBpbiB2aWV3IHNob3VsZCBiZSBkb25lIG9uIGlucHV0IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICBpbnB1dENvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gQ2FzZSBmb3IgY29tcG9uZW50IHdobyBkbyBub3QgaGF2ZSBhbnkgJyNlbnRyeUNvbXBvbmVudCcgaW4gdGhlaXIgaHRtbCB0ZW1wbGF0ZSAoaS5lLiBmb2Vobi1yYWRpbywgZm9laG4tY2hlY2tib3gsLi4uKVxuICAgICAgICAgICAgZWxlbWVudENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRJZCgnQ29udGFpbmVyJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudENvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIC8vIFNjcm9sbCBpbiB2aWV3IHNob3VsZCBiZSBkb25lIG9uIGlucHV0IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnROb2RlTGlzdE9mID0gZWxlbWVudENvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgICAgIGBpbnB1dFtpZF49XCIke3RoaXMubmFtZX1cIl1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnROb2RlTGlzdE9mICYmIGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgICAgICAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRNYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLm1heGxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEdFU0RFTV9NQVhfREFUQV9MRU5HVEg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLm1heGxlbmd0aCA+IEdFU0RFTV9NQVhfREFUQV9MRU5HVEggJiZcbiAgICAgICAgICAgICF0aGlzLm92ZXJyaWRlR2VzZGVtTWF4bGVuZ3RoXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgYG1heExlbmd0aCBpbiAke3RoaXMubmFtZX0gY2Fubm90IGJlIG1vcmUgdGhhbiAke0dFU0RFTV9NQVhfREFUQV9MRU5HVEh9ICFgXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIEdFU0RFTV9NQVhfREFUQV9MRU5HVEg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tYXhsZW5ndGg7XG4gICAgfVxuXG4gICAgYnVpbGRJZChzdWZmaXg6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgLy8gVGhlIGJhc2VJZCBpcyBlaXRoZXIgYW4gaWQgZ2l2ZW4gYnkgdGhlIHVzZXIgb3IgdGhlIHZhbHVlIG9mIHRoZSBuYW1lLlxuICAgICAgICAvLyBGb3IgaW50ZWdyYXRpb24gcHVycG9zZXMsIHRoZSBjb250YWluZXIgZm9laG4tKiBtdXN0IGhhdmUgYW4gSWQuXG4gICAgICAgIGNvbnN0IGJhc2VJZCA9IHRoaXMuaWQgfHwgdGhpcy5uYW1lO1xuICAgICAgICBpZiAoIWJhc2VJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7YmFzZUlkfSR7c3VmZml4fWA7XG4gICAgfVxuXG4gICAgYnVpbGRDaGlsZElkKHN1ZmZpeDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZElkKGBDaGlsZCR7c3VmZml4fWApO1xuICAgIH1cblxuICAgIGJ1aWxkQ2hpbGROYW1lKHN1ZmZpeDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5uYW1lfUNoaWxkJHtzdWZmaXh9YDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgb25LZXlkb3duKGtleTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBEbyBub3RoaW5nLCBvdmVycmlkZW4gYnkgc3ViY29tcG9uZW50XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbChudWxsKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGU6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnByZXZlbnRQYXN0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyKGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ibHVySGFuZGxlci5lbWl0KGUpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoZTogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSGFuZGxlci5lbWl0KGUpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbChudWxsKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UobnVsbCk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIC8vIFRoaXMgaGFzIHRvIGJlIGFuIG9ic2VydmFibGUgdG8gcmVhY3QgdG8gdGhlIGNoYW5nZSBvZiBtb2RlbCB2YWx1ZS5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0NsZWFyQnV0dG9uO1xuICAgIH1cblxuICAgIGdldERlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGhlbHBUZXh0SWQgPSB0aGlzLmhlbHBUZXh0ID8gYCR7dGhpcy5idWlsZENoaWxkSWQoKX1IZWxwYCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGVycm9ySWQgPSB0aGlzLmhhc0Vycm9yc1RvRGlzcGxheSgpXG4gICAgICAgICAgICA/IGAke3RoaXMuYnVpbGRJZCgpfUVycm9yc0NvbnRhaW5lcmBcbiAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICAvLyBhcmlhLWRlc2NyaWJlZGJ5IGNhbiBiZSBsaW5rZWQgdG8gbXVsdGlwbGUgSWRzIHNlcGFyYXRlZCBieSBhIGNvbW1hLlxuICAgICAgICByZXR1cm4gW2hlbHBUZXh0SWQsIGVycm9ySWRdLmZpbHRlcihpZCA9PiAhIWlkKS5qb2luKCcsJykgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXRBdXRvQ29tcGxldGUoKTogc3RyaW5nIHtcbiAgICAgICAgLy8gcmV0cm8gY29tcGF0aWJpbGl0eSAoYXV0b2NvbXBsZXRlIHVzZWQgdG8gYmUgYSBib29sZWFuKVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuICdvZmYnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaXJzdElucHV0Q29tcG9uZW50RW5hYmxlZChcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgc3ViQ29tcG9uZW50czogUXVlcnlMaXN0PEZvZWhuSW5wdXRDb21wb25lbnQ8YW55Pj5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICApOiBGb2VobklucHV0Q29tcG9uZW50PGFueT4ge1xuICAgICAgICBjb25zdCBmb2VobklucHV0Q29tcG9uZW50cyA9IHN1YkNvbXBvbmVudHMuZmlsdGVyKFxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLmlucHV0RWxlbWVudCAmJiAhaXRlbS5kaXNhYmxlZFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghIWZvZWhuSW5wdXRDb21wb25lbnRzICYmIGZvZWhuSW5wdXRDb21wb25lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvZWhuSW5wdXRDb21wb25lbnRzWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZjogTm9kZUxpc3RPZjxFbGVtZW50PlxuICAgICk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBodG1sSW5wdXRFbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbShcbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWh0bWxJbnB1dEVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb3RlY3RlZCBpc0VtcHR5KGRhdGE6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJVc2VySW5wdXQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gSWYgdGhlIGNhbGxiYWNrIGlzIGRlZmluZWRcbiAgICAgICAgICAgICEhdGhpcy51c2VySW5wdXQgJiZcbiAgICAgICAgICAgIC8vIElmIHRoZSB2YWx1ZSBpcyBhY3R1YWxseSBzb21ldGhpbmcgKFQgb3IgbnVsbClcbiAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXJJbnB1dE9ic2VydmFibGUubmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|