@hmcts/ccd-case-ui-toolkit 7.0.21-case-flags-language-search-validation-v3 → 7.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +23 -34
  2. package/esm2020/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.mjs +1 -2
  3. package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +2 -1
  4. package/esm2020/lib/shared/domain/case-flag/index.mjs +1 -2
  5. package/esm2020/lib/shared/domain/index.mjs +1 -2
  6. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +62 -73
  7. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  8. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +61 -72
  9. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  10. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +4 -8
  11. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  12. package/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.d.ts +0 -1
  13. package/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.d.ts.map +1 -1
  14. package/lib/shared/domain/case-flag/flag-type.model.d.ts +5 -2
  15. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  16. package/lib/shared/domain/case-flag/index.d.ts +0 -1
  17. package/lib/shared/domain/case-flag/index.d.ts.map +1 -1
  18. package/lib/shared/domain/index.d.ts +0 -1
  19. package/lib/shared/domain/index.d.ts.map +1 -1
  20. package/package.json +1 -1
  21. package/esm2020/lib/shared/domain/case-flag/language-interpreter-list-of-values-type.model.mjs +0 -2
  22. package/lib/shared/domain/case-flag/language-interpreter-list-of-values-type.model.d.ts +0 -6
  23. package/lib/shared/domain/case-flag/language-interpreter-list-of-values-type.model.d.ts.map +0 -1
@@ -115,14 +115,20 @@ export class SearchLanguageInterpreterComponent {
115
115
  this.rpxTranslationService = rpxTranslationService;
116
116
  this.SearchLanguageInterpreterControlNames = SearchLanguageInterpreterControlNames;
117
117
  this.caseFlagStateEmitter = new EventEmitter();
118
- this.languageMaxCharLimit = 80;
119
- this.signLanguageFlagCode = 'RA0042';
120
118
  this.minSearchCharacters = 3;
121
119
  this.searchTerm = '';
122
120
  this.isCheckboxEnabled = false;
123
- this.searchLanguageInterpreterStep = SearchLanguageInterpreterStep;
124
121
  this.errorMessages = [];
122
+ this.languageNotSelectedErrorMessage = '';
123
+ this.languageNotEnteredErrorMessage = '';
124
+ this.languageCharLimitErrorMessage = '';
125
+ this.languageEnteredInBothFieldsErrorMessage = '';
125
126
  this.noResults = false;
127
+ this.languageMaxCharLimit = 80;
128
+ this.signLanguageFlagCode = 'RA0042';
129
+ }
130
+ get searchLanguageInterpreterStep() {
131
+ return SearchLanguageInterpreterStep;
126
132
  }
127
133
  ngOnInit() {
128
134
  this.searchLanguageInterpreterHint = this.flagType.flagCode === this.signLanguageFlagCode
@@ -133,11 +139,11 @@ export class SearchLanguageInterpreterComponent {
133
139
  this.filteredLanguages$ = this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).valueChanges.pipe(
134
140
  // Need to check type of input because it changes to object (i.e. Language) when a value is selected from the
135
141
  // autocomplete panel, instead of string when a value is being typed in
136
- map((input) => typeof input === 'string' ? input : input.value), map((searchTerm) => {
142
+ map(input => typeof input === 'string' ? input : input.value), map(searchTerm => {
137
143
  // Update the current search term
138
144
  this.searchTerm = searchTerm;
139
145
  return this.filterLanguages(searchTerm);
140
- }), tap((languages) => this.noResults = languages.length === 0));
146
+ }), tap(languages => this.noResults = languages.length === 0));
141
147
  }
142
148
  onNext() {
143
149
  // Validate language interpreter entry
@@ -159,35 +165,20 @@ export class SearchLanguageInterpreterComponent {
159
165
  displayLanguage(language) {
160
166
  return language ? language.value : undefined;
161
167
  }
162
- selectedOption(event) {
163
- this.selectedLanguage = event.option.value;
164
- }
165
168
  validateLanguageEntry() {
166
169
  this.languageNotSelectedErrorMessage = null;
167
170
  this.languageNotEnteredErrorMessage = null;
168
171
  this.languageCharLimitErrorMessage = null;
169
172
  this.languageEnteredInBothFieldsErrorMessage = null;
170
173
  this.errorMessages = [];
171
- const languageSearchTermValue = this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).value;
172
174
  // Checkbox not enabled means the user has opted to search for and select the language
173
- if (!this.isCheckboxEnabled) {
174
- // User searched for a language but not selected a language from the list of options
175
- if (this.selectedLanguage === undefined && typeof (languageSearchTermValue) !== 'object') {
176
- this.languageNotSelectedErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_SELECTED;
177
- this.errorMessages.push({
178
- title: '',
179
- description: SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_SELECTED,
180
- fieldId: SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM
181
- });
182
- }
183
- else if (!languageSearchTermValue) {
184
- this.languageNotSelectedErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED;
185
- this.errorMessages.push({
186
- title: '',
187
- description: SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED,
188
- fieldId: SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM
189
- });
190
- }
175
+ if (!this.isCheckboxEnabled && !this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).value) {
176
+ this.languageNotSelectedErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED;
177
+ this.errorMessages.push({
178
+ title: '',
179
+ description: SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED,
180
+ fieldId: SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM
181
+ });
191
182
  }
192
183
  // Checkbox enabled means the user has opted to enter the language manually
193
184
  if (this.isCheckboxEnabled) {
@@ -207,7 +198,7 @@ export class SearchLanguageInterpreterComponent {
207
198
  fieldId: SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY
208
199
  });
209
200
  }
210
- else if (languageSearchTermValue) {
201
+ else if (this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).value) {
211
202
  // Language entry is permitted in only one field at a time
212
203
  this.languageEnteredInBothFieldsErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_ENTERED_IN_BOTH_FIELDS;
213
204
  this.errorMessages.push({
@@ -219,12 +210,11 @@ export class SearchLanguageInterpreterComponent {
219
210
  }
220
211
  }
221
212
  filterLanguages(searchTerm) {
222
- this.selectedLanguage = undefined;
223
213
  if (searchTerm.length < this.minSearchCharacters) {
224
214
  return [];
225
215
  }
226
216
  return this.flagType.listOfValues
227
- ? this.flagType.listOfValues.filter((language) =>
217
+ ? this.flagType.listOfValues.filter(language =>
228
218
  // If a language has both English and Welsh values, match only on the value appropriate for the page language,
229
219
  // i.e. if RpxTranslationService.language is 'cy' then match on the value_cy property only. This is to prevent
230
220
  // cross-matches, where a user enters a search term in English and sees the corresponding Welsh value (because
@@ -239,7 +229,7 @@ export class SearchLanguageInterpreterComponent {
239
229
  }
240
230
  }
241
231
  SearchLanguageInterpreterComponent.ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
242
- SearchLanguageInterpreterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 29, vars: 28, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith", "optionSelected"], ["autoSearchLanguage", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
232
+ SearchLanguageInterpreterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 29, vars: 28, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], ["autoSearchLanguage", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
243
233
  i0.ɵɵelementContainerStart(0, 0);
244
234
  i0.ɵɵelementStart(1, "div", 1)(2, "h1", 2)(3, "label", 3);
245
235
  i0.ɵɵtext(4);
@@ -254,7 +244,6 @@ SearchLanguageInterpreterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent(
254
244
  i0.ɵɵtemplate(11, SearchLanguageInterpreterComponent_div_11_Template, 6, 6, "div", 7);
255
245
  i0.ɵɵelement(12, "input", 8);
256
246
  i0.ɵɵelementStart(13, "mat-autocomplete", 9, 10);
257
- i0.ɵɵlistener("optionSelected", function SearchLanguageInterpreterComponent_Template_mat_autocomplete_optionSelected_13_listener($event) { return ctx.selectedOption($event); });
258
247
  i0.ɵɵtemplate(15, SearchLanguageInterpreterComponent_mat_option_15_Template, 3, 4, "mat-option", 11);
259
248
  i0.ɵɵpipe(16, "async");
260
249
  i0.ɵɵtemplate(17, SearchLanguageInterpreterComponent_mat_option_17_Template, 3, 3, "mat-option", 12);
@@ -306,7 +295,7 @@ SearchLanguageInterpreterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent(
306
295
  } }, styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}.hidden[_ngcontent-%COMP%]{display:none}.search-language__input[_ngcontent-%COMP%]{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}"] });
307
296
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLanguageInterpreterComponent, [{
308
297
  type: Component,
309
- args: [{ selector: 'ccd-search-language-interpreter', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotSelectedErrorMessage || languageEnteredInBothFieldsErrorMessage}\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m\" [for]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </h1>\n <div id=\"language-search-box-hint\" class=\"govuk-hint\">\n {{searchLanguageInterpreterHint | rpxTranslate}}\n </div>\n <div class=\"auto-complete-container\">\n <div id=\"language-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-entered-in-both-fields-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageEnteredInBothFieldsErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageEnteredInBothFieldsErrorMessage | rpxTranslate}}\n </div>\n <input aria-label=\"Language search box\" matInput [formControlName]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\" [matAutocomplete]=\"autoSearchLanguage\"\n class=\"govuk-input search-language__input\" type=\"text\">\n <mat-autocomplete (optionSelected)=\"selectedOption($event)\" class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLanguage=\"matAutocomplete\"\n [displayWith]=\"displayLanguage\">\n <mat-option *ngFor=\"let language of filteredLanguages$ | async\" [value]=\"language\">\n {{language | languageInterpreterDisplay}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length >= minSearchCharacters\" disabled>{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </div>\n <div class=\"govuk-checkboxes govuk-checkboxes--small govuk-checkboxes--conditional\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-checkboxes__input\" id=\"enter-language-manually\" name=\"enter-language-manually\" type=\"checkbox\"\n (change)=\"onEnterLanguageManually($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"enter-language-manually\">\n {{searchLanguageInterpreterStep.CHECKBOX_LABEL | rpxTranslate}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"isCheckboxEnabled\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotEnteredErrorMessage || languageCharLimitErrorMessage }\">\n <label class=\"govuk-label\" for=\"manual-language-entry\">{{searchLanguageInterpreterStep.INPUT_LABEL | rpxTranslate}}</label>\n <div id=\"language-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-char-limit-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageCharLimitErrorMessage | rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-input--width-20\" id=\"manual-language-entry\" [name]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\" type=\"text\"\n [formControlName]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\">\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}.hidden{display:none}.search-language__input{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}\n"] }]
298
+ args: [{ selector: 'ccd-search-language-interpreter', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotSelectedErrorMessage || languageEnteredInBothFieldsErrorMessage}\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m\" [for]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </h1>\n <div id=\"language-search-box-hint\" class=\"govuk-hint\">\n {{searchLanguageInterpreterHint | rpxTranslate}}\n </div>\n <div class=\"auto-complete-container\">\n <div id=\"language-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-entered-in-both-fields-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageEnteredInBothFieldsErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageEnteredInBothFieldsErrorMessage | rpxTranslate}}\n </div>\n <input aria-label=\"Language search box\" matInput [formControlName]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\" [matAutocomplete]=\"autoSearchLanguage\"\n class=\"govuk-input search-language__input\" type=\"text\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLanguage=\"matAutocomplete\"\n [displayWith]=\"displayLanguage\">\n <mat-option *ngFor=\"let language of filteredLanguages$ | async\" [value]=\"language\">\n {{language | languageInterpreterDisplay}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length >= minSearchCharacters\" disabled>{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </div>\n <div class=\"govuk-checkboxes govuk-checkboxes--small govuk-checkboxes--conditional\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-checkboxes__input\" id=\"enter-language-manually\" name=\"enter-language-manually\" type=\"checkbox\"\n (change)=\"onEnterLanguageManually($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"enter-language-manually\">\n {{searchLanguageInterpreterStep.CHECKBOX_LABEL | rpxTranslate}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"isCheckboxEnabled\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotEnteredErrorMessage || languageCharLimitErrorMessage }\">\n <label class=\"govuk-label\" for=\"manual-language-entry\">{{searchLanguageInterpreterStep.INPUT_LABEL | rpxTranslate}}</label>\n <div id=\"language-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-char-limit-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageCharLimitErrorMessage | rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-input--width-20\" id=\"manual-language-entry\" [name]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\" type=\"text\"\n [formControlName]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\">\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}.hidden{display:none}.search-language__input{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}\n"] }]
310
299
  }], function () { return [{ type: i1.RpxTranslationService }]; }, { formGroup: [{
311
300
  type: Input
312
301
  }], flagType: [{
@@ -314,4 +303,4 @@ SearchLanguageInterpreterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent(
314
303
  }], caseFlagStateEmitter: [{
315
304
  type: Output
316
305
  }] }); })();
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0lDQW5HLCtCQUMwQyxlQUFBO0lBQ0osWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLDZGQUN6RTs7O0lBQ0EsK0JBQ2tELGVBQUE7SUFDWixZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUscUdBQ3pFOzs7SUFLRSxzQ0FBbUY7SUFDakYsWUFDRjs7SUFBQSxpQkFBYTs7O0lBRm1ELG1DQUFrQjtJQUNoRixlQUNGO0lBREUsa0VBQ0Y7OztJQUNBLHNDQUFpRztJQUFBLFlBQXFDOztJQUFBLGlCQUFhOztJQUFsRCxlQUFxQztJQUFyQyw4REFBcUM7OztJQWNwSSwrQkFDeUMsZUFBQTtJQUNILFlBQTJCOztJQUFBLGlCQUFPO0lBQUMsWUFDekU7O0lBQUEsaUJBQU07OztJQURnQyxlQUEyQjtJQUEzQixvREFBMkI7SUFBUSxlQUN6RTtJQUR5RSw0RkFDekU7OztJQUNBLCtCQUN3QyxlQUFBO0lBQ0YsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLDJGQUN6RTs7OztJQVZKLCtCQUFpRSxhQUFBLGdCQUFBO0lBRU4sWUFBNEQ7O0lBQUEsaUJBQVE7SUFDM0gsMkZBR007SUFDTiwyRkFHTTtJQUNOLDRCQUNrRjtJQUNwRixpQkFBTSxFQUFBOzs7SUFad0IsZUFBa0c7SUFBbEcsbUlBQWtHO0lBQ3ZFLGVBQTREO0lBQTVELDRGQUE0RDtJQUVoSCxlQUFvQztJQUFwQyw0REFBb0M7SUFJcEMsZUFBbUM7SUFBbkMsMkRBQW1DO0lBR3NDLGVBQW9FO0lBQXBFLHlGQUFvRSx1RkFBQTs7QUQ5QjFKLE1BQU0sT0FBTyxrQ0FBa0M7SUE2QjdDLFlBQTZCLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBNUJ6RCwwQ0FBcUMsR0FBRyxxQ0FBcUMsQ0FBQztRQVN2Rix5QkFBb0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFNUUseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLHlCQUFvQixHQUFHLFFBQVEsQ0FBQztRQUVqQyx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsa0NBQTZCLEdBQUcsNkJBQTZCLENBQUM7UUFHOUQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBS25DLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFFb0QsQ0FBQztJQUV2RSxRQUFRO1FBQ2IsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxvQkFBb0I7WUFDdkYsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLGNBQWM7WUFDOUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMscUNBQXFDLENBQUMscUJBQXFCLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJO1FBQ3hILDZHQUE2RztRQUM3Ryx1RUFBdUU7UUFDdkUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUMvRCxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU07UUFDWCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IseUJBQXlCLEVBQUUsa0JBQWtCLENBQUMseUJBQXlCO1lBQ3ZFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBWTtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsT0FBTyxDQUFDO1FBRXBFLGdIQUFnSDtRQUNoSCxpRUFBaUU7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoRztJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsUUFBbUI7UUFDeEMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQW1DO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxJQUFJLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNySCxzRkFBc0Y7UUFDdEYsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixvRkFBb0Y7WUFDcEYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxJQUFJLE9BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDdkYsSUFBSSxDQUFDLCtCQUErQixHQUFHLHFDQUFxQyxDQUFDLHFCQUFxQixDQUFDO2dCQUNuRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDdEIsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsV0FBVyxFQUFFLHFDQUFxQyxDQUFDLHFCQUFxQjtvQkFDeEUsT0FBTyxFQUFFLHFDQUFxQyxDQUFDLG9CQUFvQjtpQkFDcEUsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFO2dCQUNuQyxJQUFJLENBQUMsK0JBQStCLEdBQUcscUNBQXFDLENBQUMsb0JBQW9CLENBQUM7Z0JBQ2xHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUN0QixLQUFLLEVBQUUsRUFBRTtvQkFDVCxXQUFXLEVBQUUscUNBQXFDLENBQUMsb0JBQW9CO29CQUN2RSxPQUFPLEVBQUUscUNBQXFDLENBQUMsb0JBQW9CO2lCQUNwRSxDQUFDLENBQUM7YUFDSjtTQUNGO1FBQ0QsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDMUYsSUFBSSxDQUFDLDhCQUE4QixHQUFHLHFDQUFxQyxDQUFDLG9CQUFvQixDQUFDO2dCQUNqRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDdEIsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsV0FBVyxFQUFFLHFDQUFxQyxDQUFDLG9CQUFvQjtvQkFDdkUsT0FBTyxFQUFFLHFDQUFxQyxDQUFDLHFCQUFxQjtpQkFDckUsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUNuSSxJQUFJLENBQUMsNkJBQTZCLEdBQUcscUNBQXFDLENBQUMsNEJBQTRCLENBQUM7Z0JBQ3hHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUN0QixLQUFLLEVBQUUsRUFBRTtvQkFDVCxXQUFXLEVBQUUscUNBQXFDLENBQUMsNEJBQTRCO29CQUMvRSxPQUFPLEVBQUUscUNBQXFDLENBQUMscUJBQXFCO2lCQUNyRSxDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLHVCQUF1QixFQUFFO2dCQUNsQywwREFBMEQ7Z0JBQzFELElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxxQ0FBcUMsQ0FBQywrQkFBK0IsQ0FBQztnQkFDckgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLEtBQUssRUFBRSxFQUFFO29CQUNULFdBQVcsRUFBRSxxQ0FBcUMsQ0FBQywrQkFBK0I7b0JBQ2xGLE9BQU8sRUFBRSxxQ0FBcUMsQ0FBQyxvQkFBb0I7aUJBQ3BFLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNoRCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9DLDhHQUE4RztZQUM5Ryw4R0FBOEc7WUFDOUcsOEdBQThHO1lBQzlHLDZDQUE2QztZQUM3QyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxRQUFRO2dCQUNuRixRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxRQUFRO29CQUNuRixRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDeEYsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzRixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQzs7b0hBdkpVLGtDQUFrQztxRkFBbEMsa0NBQWtDO1FDbEIvQyxnQ0FBc0M7UUFDcEMsOEJBQTJJLFlBQUEsZUFBQTtRQUdySSxZQUNGOztRQUFBLGlCQUFRLEVBQUE7UUFFViw4QkFBc0Q7UUFDcEQsWUFDRjs7UUFBQSxpQkFBTTtRQUNOLDhCQUFxQztRQUNuQyxxRkFHTTtRQUNOLHFGQUdNO1FBQ04sNEJBQ3lEO1FBQ3pELGdEQUNrQztRQURoQixrSkFBa0IsMEJBQXNCLElBQUM7UUFFekQsb0dBRWE7O1FBQ2Isb0dBQW1KO1FBQ3JKLGlCQUFtQixFQUFBO1FBRXJCLGdDQUFtSCxlQUFBLGlCQUFBO1FBRzdHLHVIQUFVLG1DQUErQixJQUFDO1FBRDVDLGlCQUM2QztRQUM3QyxrQ0FBaUY7UUFDL0UsYUFDRjs7UUFBQSxpQkFBUSxFQUFBO1FBRVYsdUZBY007UUFDUixpQkFBTSxFQUFBO1FBRVYsMEJBQWU7UUFFZixnQ0FBZ0Msa0JBQUE7UUFDc0IsZ0hBQVMsWUFBUSxJQUFDO1FBQUMsYUFBeUI7O1FBQUEsaUJBQVMsRUFBQTs7O1FBekQ3Rix5Q0FBdUI7UUFDTCxlQUE0RztRQUE1Ryx5SUFBNEc7UUFFNUYsZUFBa0U7UUFBbEUsb0ZBQWtFO1FBQzFHLGVBQ0Y7UUFERSw0RUFDRjtRQUdBLGVBQ0Y7UUFERSx5RkFDRjtRQUdLLGVBQXFDO1FBQXJDLDBEQUFxQztRQUlyQyxlQUE2QztRQUE3QyxrRUFBNkM7UUFHQyxlQUE4RTtRQUE5RSxnR0FBOEUsd0JBQUE7UUFHN0gsZUFBK0I7UUFBL0IsaURBQStCO1FBQ0UsZUFBNkI7UUFBN0Isd0VBQTZCO1FBR2pELGVBQXlFO1FBQXpFLDBHQUF5RTtRQVFwRixlQUNGO1FBREUseUdBQ0Y7UUFFc0MsZUFBdUI7UUFBdkIsNENBQXVCO1FBb0JJLGVBQXlCO1FBQXpCLG9EQUF5Qjs7dUZEdkNyRixrQ0FBa0M7Y0FMOUMsU0FBUzsyQkFDRSxpQ0FBaUM7d0VBUXBDLFNBQVM7a0JBRGYsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLG9CQUFvQjtrQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZsYWcnO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLCBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcCB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMgfSBmcm9tICcuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci1jb250cm9sLW5hbWVzLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbGFnVHlwZTogRmxhZ1R5cGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VNYXhDaGFyTGltaXQgPSA4MDtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduTGFuZ3VhZ2VGbGFnQ29kZSA9ICdSQTAwNDInO1xuXG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIGZpbHRlcmVkTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZVtdPjtcbiAgcHVibGljIHNlYXJjaFRlcm0gPSAnJztcbiAgcHVibGljIGlzQ2hlY2tib3hFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcCA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwO1xuICBwdWJsaWMgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQ6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkTGFuZ3VhZ2U6IE1hdE9wdGlvbjtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIGxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIG5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJIaW50ID0gdGhpcy5mbGFnVHlwZS5mbGFnQ29kZSA9PT0gdGhpcy5zaWduTGFuZ3VhZ2VGbGFnQ29kZVxuICAgICAgPyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5TSUdOX0hJTlRfVEVYVFxuICAgICAgOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5ISU5UX1RFWFQ7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNLCBuZXcgRm9ybUNvbnRyb2woKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgLy8gTmVlZCB0byBjaGVjayB0eXBlIG9mIGlucHV0IGJlY2F1c2UgaXQgY2hhbmdlcyB0byBvYmplY3QgKGkuZS4gTGFuZ3VhZ2UpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcCgoaW5wdXQpID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dCA6IGlucHV0LnZhbHVlKSxcbiAgICAgIG1hcCgoc2VhcmNoVGVybSkgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgdGhlIGN1cnJlbnQgc2VhcmNoIHRlcm1cbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gc2VhcmNoVGVybTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm0pO1xuICAgICAgfSksXG4gICAgICB0YXAoKGxhbmd1YWdlcykgPT4gdGhpcy5ub1Jlc3VsdHMgPSBsYW5ndWFnZXMubGVuZ3RoID09PSAwKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGxhbmd1YWdlIGludGVycHJldGVyIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25FbnRlckxhbmd1YWdlTWFudWFsbHkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcblxuICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZCwgaS5lLiB1bmNoZWNrZWQsIHRoZW4gY2xlYXIgdGhlIG1hbnVhbCBsYW5ndWFnZSBlbnRyeSBGb3JtQ29udHJvbCBvZiBhbnkgdmFsdWUgdG9cbiAgICAvLyBwcmV2ZW50IGl0IGJlaW5nIHJldGFpbmVkIGV2ZW4gd2hlbiB0aGUgZmllbGQgaXRzZWxmIGlzIGhpZGRlblxuICAgIGlmICghdGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheUxhbmd1YWdlKGxhbmd1YWdlPzogTGFuZ3VhZ2UpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsYW5ndWFnZSA/IGxhbmd1YWdlLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkT3B0aW9uKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gZXZlbnQub3B0aW9uLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5sYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGNvbnN0IGxhbmd1YWdlU2VhcmNoVGVybVZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlO1xuICAgIC8vIENoZWNrYm94IG5vdCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBzZWFyY2ggZm9yIGFuZCBzZWxlY3QgdGhlIGxhbmd1YWdlXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tib3hFbmFibGVkKSB7XG4gICAgICAvLyBVc2VyIHNlYXJjaGVkIGZvciBhIGxhbmd1YWdlIGJ1dCBub3Qgc2VsZWN0ZWQgYSBsYW5ndWFnZSBmcm9tIHRoZSBsaXN0IG9mIG9wdGlvbnNcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YobGFuZ3VhZ2VTZWFyY2hUZXJtVmFsdWUpICE9PSAnb2JqZWN0Jykge1xuICAgICAgICB0aGlzLmxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX05PVF9TRUxFQ1RFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfU0VMRUNURUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIWxhbmd1YWdlU2VhcmNoVGVybVZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQ2hlY2tib3ggZW5hYmxlZCBtZWFucyB0aGUgdXNlciBoYXMgb3B0ZWQgdG8gZW50ZXIgdGhlIGxhbmd1YWdlIG1hbnVhbGx5XG4gICAgaWYgKHRoaXMuaXNDaGVja2JveEVuYWJsZWQpIHtcbiAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS52YWx1ZSkge1xuICAgICAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWSkudmFsdWUubGVuZ3RoID4gdGhpcy5sYW5ndWFnZU1heENoYXJMaW1pdCkge1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGxhbmd1YWdlU2VhcmNoVGVybVZhbHVlKSB7XG4gICAgICAgIC8vIExhbmd1YWdlIGVudHJ5IGlzIHBlcm1pdHRlZCBpbiBvbmx5IG9uZSBmaWVsZCBhdCBhIHRpbWVcbiAgICAgICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFM7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfRU5URVJFRF9JTl9CT1RIX0ZJRUxEUyxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm06IHN0cmluZyk6IExhbmd1YWdlW10ge1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPCB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mbGFnVHlwZS5saXN0T2ZWYWx1ZXNcbiAgICAgID8gdGhpcy5mbGFnVHlwZS5saXN0T2ZWYWx1ZXMuZmlsdGVyKChsYW5ndWFnZSkgPT5cbiAgICAgICAgLy8gSWYgYSBsYW5ndWFnZSBoYXMgYm90aCBFbmdsaXNoIGFuZCBXZWxzaCB2YWx1ZXMsIG1hdGNoIG9ubHkgb24gdGhlIHZhbHVlIGFwcHJvcHJpYXRlIGZvciB0aGUgcGFnZSBsYW5ndWFnZSxcbiAgICAgICAgLy8gaS5lLiBpZiBScHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgaXMgJ2N5JyB0aGVuIG1hdGNoIG9uIHRoZSB2YWx1ZV9jeSBwcm9wZXJ0eSBvbmx5LiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gY3Jvc3MtbWF0Y2hlcywgd2hlcmUgYSB1c2VyIGVudGVycyBhIHNlYXJjaCB0ZXJtIGluIEVuZ2xpc2ggYW5kIHNlZXMgdGhlIGNvcnJlc3BvbmRpbmcgV2Vsc2ggdmFsdWUgKGJlY2F1c2VcbiAgICAgICAgLy8gdGhlIHBhZ2UgbGFuZ3VhZ2UgaXMgV2Vsc2gpIGFuZCB2aWNlIHZlcnNhXG4gICAgICAgIHRoaXMucnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlID09PSAnY3knICYmIGxhbmd1YWdlLnZhbHVlICYmIGxhbmd1YWdlLnZhbHVlX2N5ICYmXG4gICAgICAgIGxhbmd1YWdlLnZhbHVlX2N5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSAhPT0gJ2N5JyAmJiBsYW5ndWFnZS52YWx1ZSAmJiBsYW5ndWFnZS52YWx1ZV9jeSAmJlxuICAgICAgICBsYW5ndWFnZS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkgfHxcbiAgICAgICAgIWxhbmd1YWdlLnZhbHVlX2N5ICYmIGxhbmd1YWdlLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICAhbGFuZ3VhZ2UudmFsdWUgJiYgbGFuZ3VhZ2UudmFsdWVfY3kudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApKVxuICAgICAgOiBbXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfHwgbGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlfVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1tXCIgW2Zvcl09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXCI+XG4gICAgICAgIHt7ZmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICA8L2xhYmVsPlxuICAgIDwvaDE+XG4gICAgPGRpdiBpZD1cImxhbmd1YWdlLXNlYXJjaC1ib3gtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2Utbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1lbnRlcmVkLWluLWJvdGgtZmllbGRzLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgYXJpYS1sYWJlbD1cIkxhbmd1YWdlIHNlYXJjaCBib3hcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9TZWFyY2hMYW5ndWFnZVwiXG4gICAgICAgIGNsYXNzPVwiZ292dWstaW5wdXQgc2VhcmNoLWxhbmd1YWdlX19pbnB1dFwiIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZSAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWRPcHRpb24oJGV2ZW50KVwiIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMYW5ndWFnZT1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5TGFuZ3VhZ2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGZpbHRlcmVkTGFuZ3VhZ2VzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImxhbmd1YWdlXCI+XG4gICAgICAgICAge3tsYW5ndWFnZSB8IGxhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5fX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm5vUmVzdWx0cyAmJiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID49IG1pblNlYXJjaENoYXJhY3RlcnNcIiBkaXNhYmxlZD57eydObyByZXN1bHRzIGZvdW5kJyB8IHJweFRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzIGdvdnVrLWNoZWNrYm94ZXMtLXNtYWxsIGdvdnVrLWNoZWNrYm94ZXMtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGVja2JveGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJlbnRlci1sYW5ndWFnZS1tYW51YWxseVwiIG5hbWU9XCJlbnRlci1sYW5ndWFnZS1tYW51YWxseVwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkVudGVyTGFuZ3VhZ2VNYW51YWxseSgkZXZlbnQpXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIj5cbiAgICAgICAgICB7e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLkNIRUNLQk9YX0xBQkVMIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogbGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlIHx8IGxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlIH1cIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm1hbnVhbC1sYW5ndWFnZS1lbnRyeVwiPnt7c2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuSU5QVVRfTEFCRUwgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2xhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLWNoYXItbGltaXQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTIwXCIgaWQ9XCJtYW51YWwtbGFuZ3VhZ2UtZW50cnlcIiBbbmFtZV09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0lDRW5HLCtCQUMwQyxlQUFBO0lBQ0osWUFBMkI7O0lBQUEs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QUVWLDBCQUFlO1FBRWYsZ0NBQWdDLGtCQUFBO1FBQ3NCLGdIQUFTLFlBQVEsSUFBQztRQUFDLGFBQXlCOztRQUFBLGlCQUFTLEVBQUE7OztRQXpEN0YseUNBQXVCO1FBQ0wsZUFBNEc7UUFBNUcseUlBQTRHO1FBRTVGLGVBQWtFO1FBQWxFLG9GQUFrRTtRQUMxRyxlQUNGO1FBREUsNEVBQ0Y7UUFHQSxlQUNGO1FBREUseUZBQ0Y7UUFHSyxlQUFxQztRQUFyQywwREFBcUM7UUFJckMsZUFBNkM7UUFBN0Msa0VBQTZDO1FBR0MsZUFBOEU7UUFBOUUsZ0dBQThFLHdCQUFBO1FBRzdILGVBQStCO1FBQS9CLGlEQUErQjtRQUNFLGVBQTZCO1FBQTdCLHdFQUE2QjtRQUdqRCxlQUF5RTtRQUF6RSwwR0FBeUU7UUFRcEYsZUFDRjtRQURFLHlHQUNGO1FBRXNDLGVBQXVCO1FBQXZCLDRDQUF1QjtRQW9CSSxlQUF5QjtRQUF6QixvREFBeUI7O3VGRHpDckYsa0NBQWtDO2NBTDlDLFNBQVM7MkJBQ0UsaUNBQWlDO3dFQVdwQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZsYWcnO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLCBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcCB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMgfSBmcm9tICcuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci1jb250cm9sLW5hbWVzLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZ2V0IHNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwKCk6IHR5cGVvZiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcCB7XG4gICAgcmV0dXJuIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwO1xuICB9XG4gIHB1YmxpYyByZWFkb25seSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZsYWdUeXBlOiBGbGFnVHlwZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgZmlsdGVyZWRMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlW10+O1xuICBwdWJsaWMgc2VhcmNoVGVybSA9ICcnO1xuICBwdWJsaWMgaXNDaGVja2JveEVuYWJsZWQgPSBmYWxzZTtcbiAgcHVibGljIHNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJIaW50OiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcDtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIG5vUmVzdWx0cyA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlTWF4Q2hhckxpbWl0ID0gODA7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lnbkxhbmd1YWdlRmxhZ0NvZGUgPSAnUkEwMDQyJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCA9IHRoaXMuZmxhZ1R5cGUuZmxhZ0NvZGUgPT09IHRoaXMuc2lnbkxhbmd1YWdlRmxhZ0NvZGVcbiAgICAgID8gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuU0lHTl9ISU5UX1RFWFRcbiAgICAgIDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlksIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICB0aGlzLmZpbHRlcmVkTGFuZ3VhZ2VzJCA9IHRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIC8vIE5lZWQgdG8gY2hlY2sgdHlwZSBvZiBpbnB1dCBiZWNhdXNlIGl0IGNoYW5nZXMgdG8gb2JqZWN0IChpLmUuIExhbmd1YWdlKSB3aGVuIGEgdmFsdWUgaXMgc2VsZWN0ZWQgZnJvbSB0aGVcbiAgICAgIC8vIGF1dG9jb21wbGV0ZSBwYW5lbCwgaW5zdGVhZCBvZiBzdHJpbmcgd2hlbiBhIHZhbHVlIGlzIGJlaW5nIHR5cGVkIGluXG4gICAgICBtYXAoaW5wdXQgPT4gdHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJyA/IGlucHV0IDogaW5wdXQudmFsdWUpLFxuICAgICAgbWFwKHNlYXJjaFRlcm0gPT4ge1xuICAgICAgICAvLyBVcGRhdGUgdGhlIGN1cnJlbnQgc2VhcmNoIHRlcm1cbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gc2VhcmNoVGVybTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm0pO1xuICAgICAgfSksXG4gICAgICB0YXAobGFuZ3VhZ2VzID0+IHRoaXMubm9SZXN1bHRzID0gbGFuZ3VhZ2VzLmxlbmd0aCA9PT0gMClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBsYW5ndWFnZSBpbnRlcnByZXRlciBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVMYW5ndWFnZUVudHJ5KCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19MQU5HVUFHRV9JTlRFUlBSRVRFUixcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uRW50ZXJMYW5ndWFnZU1hbnVhbGx5KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZWQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XG5cbiAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQsIGkuZS4gdW5jaGVja2VkLCB0aGVuIGNsZWFyIHRoZSBtYW51YWwgbGFuZ3VhZ2UgZW50cnkgRm9ybUNvbnRyb2wgb2YgYW55IHZhbHVlIHRvXG4gICAgLy8gcHJldmVudCBpdCBiZWluZyByZXRhaW5lZCBldmVuIHdoZW4gdGhlIGZpZWxkIGl0c2VsZiBpcyBoaWRkZW5cbiAgICBpZiAoIXRoaXMuaXNDaGVja2JveEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWSkuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc3BsYXlMYW5ndWFnZShsYW5ndWFnZT86IExhbmd1YWdlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2UgPyBsYW5ndWFnZS52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVMYW5ndWFnZUVudHJ5KCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMubGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMubGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICAvLyBDaGVja2JveCBub3QgZW5hYmxlZCBtZWFucyB0aGUgdXNlciBoYXMgb3B0ZWQgdG8gc2VhcmNoIGZvciBhbmQgc2VsZWN0IHRoZSBsYW5ndWFnZVxuICAgIGlmICghdGhpcy5pc0NoZWNrYm94RW5hYmxlZCAmJiAhdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlKSB7XG4gICAgICB0aGlzLmxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX05PVF9FTlRFUkVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2tib3ggZW5hYmxlZCBtZWFucyB0aGUgdXNlciBoYXMgb3B0ZWQgdG8gZW50ZXIgdGhlIGxhbmd1YWdlIG1hbnVhbGx5XG4gICAgaWYgKHRoaXMuaXNDaGVja2JveEVuYWJsZWQpIHtcbiAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS52YWx1ZSkge1xuICAgICAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWSkudmFsdWUubGVuZ3RoID4gdGhpcy5sYW5ndWFnZU1heENoYXJMaW1pdCkge1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNKS52YWx1ZSkge1xuICAgICAgICAvLyBMYW5ndWFnZSBlbnRyeSBpcyBwZXJtaXR0ZWQgaW4gb25seSBvbmUgZmllbGQgYXQgYSB0aW1lXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9FTlRFUkVEX0lOX0JPVEhfRklFTERTO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFMsXG4gICAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckxhbmd1YWdlcyhzZWFyY2hUZXJtOiBzdHJpbmcpOiBMYW5ndWFnZVtdIHtcbiAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPCB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mbGFnVHlwZS5saXN0T2ZWYWx1ZXNcbiAgICAgID8gdGhpcy5mbGFnVHlwZS5saXN0T2ZWYWx1ZXMuZmlsdGVyKGxhbmd1YWdlID0+XG4gICAgICAgIC8vIElmIGEgbGFuZ3VhZ2UgaGFzIGJvdGggRW5nbGlzaCBhbmQgV2Vsc2ggdmFsdWVzLCBtYXRjaCBvbmx5IG9uIHRoZSB2YWx1ZSBhcHByb3ByaWF0ZSBmb3IgdGhlIHBhZ2UgbGFuZ3VhZ2UsXG4gICAgICAgIC8vIGkuZS4gaWYgUnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlIGlzICdjeScgdGhlbiBtYXRjaCBvbiB0aGUgdmFsdWVfY3kgcHJvcGVydHkgb25seS4gVGhpcyBpcyB0byBwcmV2ZW50XG4gICAgICAgIC8vIGNyb3NzLW1hdGNoZXMsIHdoZXJlIGEgdXNlciBlbnRlcnMgYSBzZWFyY2ggdGVybSBpbiBFbmdsaXNoIGFuZCBzZWVzIHRoZSBjb3JyZXNwb25kaW5nIFdlbHNoIHZhbHVlIChiZWNhdXNlXG4gICAgICAgIC8vIHRoZSBwYWdlIGxhbmd1YWdlIGlzIFdlbHNoKSBhbmQgdmljZSB2ZXJzYVxuICAgICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5JyAmJiBsYW5ndWFnZS52YWx1ZSAmJiBsYW5ndWFnZS52YWx1ZV9jeSAmJlxuICAgICAgICBsYW5ndWFnZS52YWx1ZV9jeS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkgfHxcbiAgICAgICAgdGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgIT09ICdjeScgJiYgbGFuZ3VhZ2UudmFsdWUgJiYgbGFuZ3VhZ2UudmFsdWVfY3kgJiZcbiAgICAgICAgbGFuZ3VhZ2UudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApIHx8XG4gICAgICAgICFsYW5ndWFnZS52YWx1ZV9jeSAmJiBsYW5ndWFnZS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkgfHxcbiAgICAgICAgIWxhbmd1YWdlLnZhbHVlICYmIGxhbmd1YWdlLnZhbHVlX2N5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSlcbiAgICAgIDogW107XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlIHx8IGxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZX1cIj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1sYWJlbC13cmFwcGVyXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIFtmb3JdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVwiPlxuICAgICAgICB7e2ZsYWdUeXBlIHwgZmxhZ0ZpZWxkRGlzcGxheTonbmFtZSd9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2gxPlxuICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1zZWFyY2gtYm94LWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgIHt7c2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2xhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2UtZW50ZXJlZC1pbi1ib3RoLWZpZWxkcy1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0IGFyaWEtbGFiZWw9XCJMYW5ndWFnZSBzZWFyY2ggYm94XCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvU2VhcmNoTGFuZ3VhZ2VcIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWlucHV0IHNlYXJjaC1sYW5ndWFnZV9faW5wdXRcIiB0eXBlPVwidGV4dFwiPlxuICAgICAgPG1hdC1hdXRvY29tcGxldGUgY2xhc3M9XCJtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWV4dGVuZFwiIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0b1NlYXJjaExhbmd1YWdlPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlMYW5ndWFnZVwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgZmlsdGVyZWRMYW5ndWFnZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwibGFuZ3VhZ2VcIj5cbiAgICAgICAgICB7e2xhbmd1YWdlIHwgbGFuZ3VhZ2VJbnRlcnByZXRlckRpc3BsYXl9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwibm9SZXN1bHRzICYmIHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gbWluU2VhcmNoQ2hhcmFjdGVyc1wiIGRpc2FibGVkPnt7J05vIHJlc3VsdHMgZm91bmQnIHwgcnB4VHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXMgZ292dWstY2hlY2tib3hlcy0tc21hbGwgZ292dWstY2hlY2tib3hlcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoZWNrYm94ZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cImVudGVyLWxhbmd1YWdlLW1hbnVhbGx5XCIgbmFtZT1cImVudGVyLWxhbmd1YWdlLW1hbnVhbGx5XCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRW50ZXJMYW5ndWFnZU1hbnVhbGx5KCRldmVudClcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJlbnRlci1sYW5ndWFnZS1tYW51YWxseVwiPlxuICAgICAgICAgIHt7c2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuQ0hFQ0tCT1hfTEFCRUwgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgfHwgbGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgfVwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwibWFudWFsLWxhbmd1YWdlLWVudHJ5XCI+e3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5JTlBVVF9MQUJFTCB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2Utbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2UtY2hhci1saW1pdC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2xhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay1pbnB1dC0td2lkdGgtMjBcIiBpZD1cIm1hbnVhbC1sYW5ndWFnZS1lbnRyeVwiIFtuYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXCIgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+e3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,8 +1,7 @@
1
1
  export var SearchLanguageInterpreterErrorMessage;
2
2
  (function (SearchLanguageInterpreterErrorMessage) {
3
3
  SearchLanguageInterpreterErrorMessage["LANGUAGE_NOT_ENTERED"] = "Enter the language that will need to be interpreted";
4
- SearchLanguageInterpreterErrorMessage["LANGUAGE_NOT_SELECTED"] = "Select a language from the search list";
5
4
  SearchLanguageInterpreterErrorMessage["LANGUAGE_CHAR_LIMIT_EXCEEDED"] = "You can enter up to 80 characters for the required language";
6
5
  SearchLanguageInterpreterErrorMessage["LANGUAGE_ENTERED_IN_BOTH_FIELDS"] = "The language can only be entered in one of the fields";
7
6
  })(SearchLanguageInterpreterErrorMessage || (SearchLanguageInterpreterErrorMessage = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWVycm9yLW1lc3NhZ2UuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9lbnVtcy9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItZXJyb3ItbWVzc2FnZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFDQUtYO0FBTEQsV0FBWSxxQ0FBcUM7SUFDL0MscUhBQTRFLENBQUE7SUFDNUUseUdBQWdFLENBQUE7SUFDaEUscUlBQTRGLENBQUE7SUFDNUYsa0lBQXlGLENBQUE7QUFDM0YsQ0FBQyxFQUxXLHFDQUFxQyxLQUFyQyxxQ0FBcUMsUUFLaEQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlIHtcbiAgTEFOR1VBR0VfTk9UX0VOVEVSRUQgPSAnRW50ZXIgdGhlIGxhbmd1YWdlIHRoYXQgd2lsbCBuZWVkIHRvIGJlIGludGVycHJldGVkJyxcbiAgTEFOR1VBR0VfTk9UX1NFTEVDVEVEID0gJ1NlbGVjdCBhIGxhbmd1YWdlIGZyb20gdGhlIHNlYXJjaCBsaXN0JyxcbiAgTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRCA9ICdZb3UgY2FuIGVudGVyIHVwIHRvIDgwIGNoYXJhY3RlcnMgZm9yIHRoZSByZXF1aXJlZCBsYW5ndWFnZScsXG4gIExBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFMgPSAnVGhlIGxhbmd1YWdlIGNhbiBvbmx5IGJlIGVudGVyZWQgaW4gb25lIG9mIHRoZSBmaWVsZHMnXG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWVycm9yLW1lc3NhZ2UuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9lbnVtcy9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItZXJyb3ItbWVzc2FnZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFDQUlYO0FBSkQsV0FBWSxxQ0FBcUM7SUFDL0MscUhBQTRFLENBQUE7SUFDNUUscUlBQTRGLENBQUE7SUFDNUYsa0lBQXlGLENBQUE7QUFDM0YsQ0FBQyxFQUpXLHFDQUFxQyxLQUFyQyxxQ0FBcUMsUUFJaEQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlIHtcbiAgTEFOR1VBR0VfTk9UX0VOVEVSRUQgPSAnRW50ZXIgdGhlIGxhbmd1YWdlIHRoYXQgd2lsbCBuZWVkIHRvIGJlIGludGVycHJldGVkJyxcbiAgTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRCA9ICdZb3UgY2FuIGVudGVyIHVwIHRvIDgwIGNoYXJhY3RlcnMgZm9yIHRoZSByZXF1aXJlZCBsYW5ndWFnZScsXG4gIExBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFMgPSAnVGhlIGxhbmd1YWdlIGNhbiBvbmx5IGJlIGVudGVyZWQgaW4gb25lIG9mIHRoZSBmaWVsZHMnXG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ // tslint:disable:variable-name
1
2
  /**
2
3
  * DTO to provide typing of the response from the Reference Data Common API for Case Flags data.
3
4
  *
@@ -24,4 +25,4 @@ export class FlagType {
24
25
  return [false, []];
25
26
  }
26
27
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy10eXBlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1mbGFnL2ZsYWctdHlwZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBWVMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQTBDLEVBQUUsQ0FBQztJQWdCbEUsQ0FBQztJQWRRLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxVQUFvQixFQUFFLEtBQWlCLEVBQUUsT0FBbUIsRUFBRTtRQUNyRyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDOUYsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNyQjtZQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUU7Z0JBQzNCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDOUcsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztpQkFDNUI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZUludGVycHJldGVyTGlzdE9mVmFsdWVzVHlwZSB9IGZyb20gJy4vbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItbGlzdC1vZi12YWx1ZXMtdHlwZS5tb2RlbCc7XG5cbi8qKlxuICogRFRPIHRvIHByb3ZpZGUgdHlwaW5nIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBSZWZlcmVuY2UgRGF0YSBDb21tb24gQVBJIGZvciBDYXNlIEZsYWdzIGRhdGEuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90b29scy5obWN0cy5uZXQvY29uZmx1ZW5jZS9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTE1OTc3NDExMjEjQ2FzZUZsYWdzSExEVmVyc2lvbjIuMC1PdXRwdXR9XG4gKiBmb3IgZnVsbCBkZXRhaWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBGbGFnVHlwZSB7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lX2N5OiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFyaW5nUmVsZXZhbnQ6IGJvb2xlYW47XG4gIHB1YmxpYyBmbGFnQ29tbWVudDogYm9vbGVhbjtcbiAgcHVibGljIGRlZmF1bHRTdGF0dXM6IHN0cmluZztcbiAgcHVibGljIGV4dGVybmFsbHlBdmFpbGFibGU6IGJvb2xlYW47XG4gIHB1YmxpYyBmbGFnQ29kZTogc3RyaW5nO1xuICBwdWJsaWMgaXNQYXJlbnQ6IGJvb2xlYW47XG4gIC8vIE5vdGU6IHByb3BlcnR5IGlzIGRlbGliZXJhdGVseSBzcGVsdCBcIlBhdGhcIiBhbmQgbm90IFwicGF0aFwiIGJlY2F1c2UgdGhlIFJlZmVyZW5jZSBEYXRhIENvbW1vbiBBUEkgcmV0dXJucyB0aGUgZm9ybWVyXG4gIHB1YmxpYyBQYXRoOiBzdHJpbmdbXTtcbiAgcHVibGljIGNoaWxkRmxhZ3M6IEZsYWdUeXBlW107XG4gIHB1YmxpYyBsaXN0T2ZWYWx1ZXNMZW5ndGggPSAwO1xuICBwdWJsaWMgbGlzdE9mVmFsdWVzOiBMYW5ndWFnZUludGVycHJldGVyTGlzdE9mVmFsdWVzVHlwZVtdID0gW107XG5cbiAgcHVibGljIHN0YXRpYyBzZWFyY2hQYXRoQnlGbGFnVHlwZU9iamVjdChzaW5nbGVGbGFnOiBGbGFnVHlwZSwgZmxhZ3M6IEZsYWdUeXBlW10sIHBhdGg6IEZsYWdUeXBlW10gPSBbXSk6IFtGbGFnVHlwZSB8IGZhbHNlLCBGbGFnVHlwZVtdXSB7XG4gICAgZm9yIChjb25zdCBmbGFnIG9mIGZsYWdzKSB7XG4gICAgICBpZiAoZmxhZy5mbGFnQ29kZSA9PT0gc2luZ2xlRmxhZy5mbGFnQ29kZSAmJiBmbGFnLlBhdGguam9pbignLCcpID09PSBzaW5nbGVGbGFnLlBhdGguam9pbignLCcpKSB7XG4gICAgICAgIHJldHVybiBbZmxhZywgcGF0aF07XG4gICAgICB9XG4gICAgICBpZiAoZmxhZy5jaGlsZEZsYWdzPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgW3Jlc3VsdCwgY2hpbGRQYXRoXSA9IEZsYWdUeXBlLnNlYXJjaFBhdGhCeUZsYWdUeXBlT2JqZWN0KHNpbmdsZUZsYWcsIGZsYWcuY2hpbGRGbGFncywgWy4uLnBhdGgsIGZsYWddKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHJldHVybiBbcmVzdWx0LCBjaGlsZFBhdGhdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbZmFsc2UsIFtdXTtcbiAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy10eXBlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1mbGFnL2ZsYWctdHlwZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0I7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQVlTLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixpQkFBWSxHQUFxRCxFQUFFLENBQUM7SUFnQjdFLENBQUM7SUFkUSxNQUFNLENBQUMsMEJBQTBCLENBQUMsVUFBb0IsRUFBRSxLQUFpQixFQUFFLE9BQW1CLEVBQUU7UUFDckcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDckI7WUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFO2dCQUMzQixNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlHLElBQUksTUFBTSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7aUJBQzVCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuLyoqXG4gKiBEVE8gdG8gcHJvdmlkZSB0eXBpbmcgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIFJlZmVyZW5jZSBEYXRhIENvbW1vbiBBUEkgZm9yIENhc2UgRmxhZ3MgZGF0YS5cbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL3Rvb2xzLmhtY3RzLm5ldC9jb25mbHVlbmNlL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MTU5Nzc0MTEyMSNDYXNlRmxhZ3NITERWZXJzaW9uMi4wLU91dHB1dH1cbiAqIGZvciBmdWxsIGRldGFpbHNcbiAqL1xuZXhwb3J0IGNsYXNzIEZsYWdUeXBlIHtcbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIG5hbWVfY3k6IHN0cmluZztcbiAgcHVibGljIGhlYXJpbmdSZWxldmFudDogYm9vbGVhbjtcbiAgcHVibGljIGZsYWdDb21tZW50OiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdFN0YXR1czogc3RyaW5nO1xuICBwdWJsaWMgZXh0ZXJuYWxseUF2YWlsYWJsZTogYm9vbGVhbjtcbiAgcHVibGljIGZsYWdDb2RlOiBzdHJpbmc7XG4gIHB1YmxpYyBpc1BhcmVudDogYm9vbGVhbjtcbiAgLy8gTm90ZTogcHJvcGVydHkgaXMgZGVsaWJlcmF0ZWx5IHNwZWx0IFwiUGF0aFwiIGFuZCBub3QgXCJwYXRoXCIgYmVjYXVzZSB0aGUgUmVmZXJlbmNlIERhdGEgQ29tbW9uIEFQSSByZXR1cm5zIHRoZSBmb3JtZXJcbiAgcHVibGljIFBhdGg6IHN0cmluZ1tdO1xuICBwdWJsaWMgY2hpbGRGbGFnczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIGxpc3RPZlZhbHVlc0xlbmd0aCA9IDA7XG4gIHB1YmxpYyBsaXN0T2ZWYWx1ZXM6IHtrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgdmFsdWVfY3k6IHN0cmluZ31bXSA9IFtdO1xuXG4gIHB1YmxpYyBzdGF0aWMgc2VhcmNoUGF0aEJ5RmxhZ1R5cGVPYmplY3Qoc2luZ2xlRmxhZzogRmxhZ1R5cGUsIGZsYWdzOiBGbGFnVHlwZVtdLCBwYXRoOiBGbGFnVHlwZVtdID0gW10pOiBbRmxhZ1R5cGUgfCBmYWxzZSwgRmxhZ1R5cGVbXV0ge1xuICAgIGZvciAoY29uc3QgZmxhZyBvZiBmbGFncykge1xuICAgICAgaWYgKGZsYWcuZmxhZ0NvZGUgPT09IHNpbmdsZUZsYWcuZmxhZ0NvZGUgJiYgZmxhZy5QYXRoLmpvaW4oJywnKSA9PT0gc2luZ2xlRmxhZy5QYXRoLmpvaW4oJywnKSkge1xuICAgICAgICByZXR1cm4gW2ZsYWcsIHBhdGhdO1xuICAgICAgfVxuICAgICAgaWYgKGZsYWcuY2hpbGRGbGFncz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IFtyZXN1bHQsIGNoaWxkUGF0aF0gPSBGbGFnVHlwZS5zZWFyY2hQYXRoQnlGbGFnVHlwZU9iamVjdChzaW5nbGVGbGFnLCBmbGFnLmNoaWxkRmxhZ3MsIFsuLi5wYXRoLCBmbGFnXSk7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gW3Jlc3VsdCwgY2hpbGRQYXRoXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW2ZhbHNlLCBbXV07XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
1
  export * from './flag-type.model';
2
2
  export * from './hmcts-service-detail.model';
3
- export * from './language-interpreter-list-of-values-type.model';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZsYWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZsYWctdHlwZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2htY3RzLXNlcnZpY2UtZGV0YWlsLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItbGlzdC1vZi12YWx1ZXMtdHlwZS5tb2RlbCc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZsYWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mbGFnLXR5cGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9obWN0cy1zZXJ2aWNlLWRldGFpbC5tb2RlbCc7XG4iXX0=
@@ -4,7 +4,6 @@ export * from './alert';
4
4
  export * from './case-details.model';
5
5
  export * from './case-edit';
6
6
  export * from './case-event-data.model';
7
- export * from './case-flag';
8
7
  export * from './case-view';
9
8
  export * from './definition';
10
9
  export * from './document';
@@ -22,4 +21,4 @@ export * from './search/sorting/sort-parameters';
22
21
  export * from './sort-order.enum';
23
22
  export * from './work-allocation';
24
23
  export * from './workbasket';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1kZXRhaWxzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1lZGl0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1ldmVudC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1mbGFnJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vZGVmaW5pdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi1tZXRhZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZWRpY2F0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvc29ydGluZy9zZWFyY2gtcmVzdWx0LXZpZXctaXRlbS1jb21wYXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1vcmRlci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1hbGxvY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Jhc2tldCc7XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1kZXRhaWxzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1lZGl0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1ldmVudC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vZGVmaW5pdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi1tZXRhZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZWRpY2F0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvc29ydGluZy9zZWFyY2gtcmVzdWx0LXZpZXctaXRlbS1jb21wYXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1vcmRlci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1hbGxvY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Jhc2tldCc7XG4iXX0=