@huntsman-cancer-institute/input 15.0.3 → 16.0.1

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 (45) hide show
  1. package/date/date-date-range.component.d.ts +1 -1
  2. package/date/date-date.component.d.ts +1 -1
  3. package/dropdown/dropdown-select-result.component.d.ts +1 -1
  4. package/dropdown/dropdown-select.component.d.ts +1 -1
  5. package/dropdown/dropdown.component.d.ts +1 -1
  6. package/{esm2020 → esm2022}/date/date-base.mjs +4 -4
  7. package/{esm2020 → esm2022}/date/date-date-range.component.mjs +6 -6
  8. package/{esm2020 → esm2022}/date/date-date.component.mjs +6 -6
  9. package/esm2022/date/date-validator.mjs +40 -0
  10. package/{esm2020 → esm2022}/date/date.module.mjs +23 -23
  11. package/{esm2020 → esm2022}/dropdown/dropdown-select-result.component.mjs +6 -6
  12. package/{esm2020 → esm2022}/dropdown/dropdown-select.component.mjs +6 -6
  13. package/{esm2020 → esm2022}/dropdown/dropdown.component.mjs +6 -6
  14. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +17 -17
  15. package/{esm2020 → esm2022}/dropdown/dropdown.service.mjs +4 -4
  16. package/esm2022/dropdown/messages.mjs +10 -0
  17. package/{esm2020 → esm2022}/dropdown/template-dropdown.directive.mjs +4 -4
  18. package/{esm2020 → esm2022}/inline/inline.component.mjs +12 -12
  19. package/{esm2020 → esm2022}/inline/inline.module.mjs +7 -7
  20. package/{esm2020 → esm2022}/search/search.component.mjs +6 -6
  21. package/{esm2020 → esm2022}/search/search.module.mjs +9 -9
  22. package/{esm2020 → esm2022}/select/custom-combobox.component.mjs +10 -10
  23. package/{esm2020 → esm2022}/select/custom-multi-combobox.component.mjs +10 -10
  24. package/{esm2020 → esm2022}/select/md-multi-select.component.mjs +12 -12
  25. package/{esm2020 → esm2022}/select/md-select.component.mjs +12 -12
  26. package/{esm2020 → esm2022}/select/native-select.component.mjs +12 -12
  27. package/{esm2020 → esm2022}/select/select.module.mjs +33 -33
  28. package/{fesm2020 → fesm2022}/huntsman-cancer-institute-input.mjs +191 -191
  29. package/{fesm2020 → fesm2022}/huntsman-cancer-institute-input.mjs.map +1 -1
  30. package/inline/inline.component.d.ts +1 -1
  31. package/package.json +14 -18
  32. package/search/search.component.d.ts +1 -1
  33. package/select/custom-combobox.component.d.ts +1 -1
  34. package/select/custom-multi-combobox.component.d.ts +1 -1
  35. package/select/md-multi-select.component.d.ts +1 -1
  36. package/select/md-select.component.d.ts +1 -1
  37. package/select/native-select.component.d.ts +1 -1
  38. package/esm2020/date/date-validator.mjs +0 -40
  39. package/esm2020/dropdown/messages.mjs +0 -10
  40. package/fesm2015/huntsman-cancer-institute-input.mjs +0 -3697
  41. package/fesm2015/huntsman-cancer-institute-input.mjs.map +0 -1
  42. /package/{esm2020 → esm2022}/dropdown/dropdown-index.mjs +0 -0
  43. /package/{esm2020 → esm2022}/dropdown/select-item.mjs +0 -0
  44. /package/{esm2020 → esm2022}/huntsman-cancer-institute-input.mjs +0 -0
  45. /package/{esm2020 → esm2022}/index.mjs +0 -0
@@ -308,9 +308,8 @@ export class DropdownSelectComponent {
308
308
  });
309
309
  }
310
310
  }
311
- }
312
- DropdownSelectComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
313
- DropdownSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DropdownSelectComponent, selector: "hci-dropdown-select", inputs: { messages: "messages", dataProvider: "dataProvider", selectedProvider: "selectedProvider", selectItemAdapter: "selectItemAdapter", referenceMode: "referenceMode", placeholder: "placeholder", disabled: "disabled", multiple: "multiple", clientMode: "clientMode", deleteIcon: "deleteIcon", inputState: "inputState", resultsCount: "resultsCount", searchDelay: "searchDelay" }, outputs: { select: "select", remove: "remove" }, host: { classAttribute: "flex-grow-1" }, providers: [VALUE_ACCESSOR], viewQueries: [{ propertyName: "results", first: true, predicate: ["results"], descendants: true }, { propertyName: "termInput", first: true, predicate: ["termInput"], descendants: true }], ngImport: i0, template: `
311
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
312
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownSelectComponent, selector: "hci-dropdown-select", inputs: { messages: "messages", dataProvider: "dataProvider", selectedProvider: "selectedProvider", selectItemAdapter: "selectItemAdapter", referenceMode: "referenceMode", placeholder: "placeholder", disabled: "disabled", multiple: "multiple", clientMode: "clientMode", deleteIcon: "deleteIcon", inputState: "inputState", resultsCount: "resultsCount", searchDelay: "searchDelay" }, outputs: { select: "select", remove: "remove" }, host: { classAttribute: "flex-grow-1" }, providers: [VALUE_ACCESSOR], viewQueries: [{ propertyName: "results", first: true, predicate: ["results"], descendants: true }, { propertyName: "termInput", first: true, predicate: ["termInput"], descendants: true }], ngImport: i0, template: `
314
313
  <div class="select-container">
315
314
  <ul class="form-control"
316
315
  [class.simple-selection]="!multiple"
@@ -360,8 +359,9 @@ DropdownSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
360
359
  [searchFocused]="searchFocused"></hci-dropdown-select-result>
361
360
  </div>
362
361
  </div>
363
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.DropdownSelectResultComponent, selector: "hci-dropdown-select-result", inputs: ["items", "searchFocused", "selectedItems", "templateRef"], outputs: ["itemSelectedEvent"] }] });
364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownSelectComponent, decorators: [{
362
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.DropdownSelectResultComponent, selector: "hci-dropdown-select-result", inputs: ["items", "searchFocused", "selectedItems", "templateRef"], outputs: ["itemSelectedEvent"] }] }); }
363
+ }
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectComponent, decorators: [{
365
365
  type: Component,
366
366
  args: [{
367
367
  selector: "hci-dropdown-select",
@@ -456,4 +456,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
456
456
  type: ViewChild,
457
457
  args: ["termInput", { static: false }]
458
458
  }] } });
459
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLEtBQUssRUFBZSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF1QixrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDOzs7OztBQUVwQyxNQUFNLGNBQWMsR0FBRztJQUNyQixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBMER0QixNQUFNLE9BQU8sdUJBQXVCO0lBeERwQztRQTBERSxxQkFBZ0IsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUM3Ryxt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LE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRWdDLE9BQU87c0JBQTdDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFZWSxTQUFTO3NCQUF6RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0Ryb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50fSBmcm9tIFwiLi9kcm9wZG93bi1zZWxlY3QtcmVzdWx0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW0sIEtFWV9DT0RFfSBmcm9tIFwiLi9zZWxlY3QtaXRlbVwiO1xyXG5pbXBvcnQge01lc3NhZ2VzfSBmcm9tIFwiLi9tZXNzYWdlc1wiO1xyXG5cclxuY29uc3QgVkFMVUVfQUNDRVNTT1IgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25TZWxlY3RDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4ge307XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktZHJvcGRvd24tc2VsZWN0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY29udGFpbmVyXCI+XHJcbiAgICAgIDx1bCBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2ltcGxlLXNlbGVjdGlvbl09XCIhbXVsdGlwbGVcIlxyXG4gICAgICAgICAgW2NsYXNzLm11bHRpcGxlLXNlbGVjdGlvbl09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VhcmNoLWZvY3VzZWRdPVwic2VhcmNoRm9jdXNlZFwiXHJcbiAgICAgICAgICBbY2xhc3MucmVhZG9ubHldPVwiZGlzYWJsZWRcIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWFyY2hGb2N1c2VkIHx8IG11bHRpcGxlXCI+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiIGNsYXNzPVwic2VsZWN0LXNlbGVjdGVkIGxhYmVsIGxhYmVsLWluZm9cIiBbY2xhc3MubGFiZWxdPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5sYWJlbC1pbmZvXT1cIm11bHRpcGxlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtaXRlbS10ZXh0XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJzZWxlY3Qtc2VsZWN0aW9uLXJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgKm5nSWY9XCIhZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiZGVsZXRlSWNvblwiIFtjbGFzcy50ZXh0LWluZm9dPVwiIW11bHRpcGxlXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bGkgY2xhc3M9XCJzZWxlY3QtaW5wdXRcIj5cclxuICAgICAgICAgIDxpbnB1dCAjdGVybUlucHV0IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRlcm1cIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRlYWJsZV09XCJpc0hpZGVhYmxlKClcIlxyXG4gICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRJbnB1dFdpZHRoKClcIlxyXG4gICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dSZXN1bHRzKClcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIC8+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWRyb3AtbWVudVwiICpuZ0lmPVwiaW5wdXRTdGF0ZT09PTBcIiAoY2xpY2spPVwic2hvd1Jlc3VsdHMoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWZ0ZXJcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdHMtY29udGFpbmVyXCIgKm5nSWY9XCJyZXN1bHRzVmlzaWJsZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVzdWx0cy1tc2dcIiAqbmdJZj1cImxpc3RlZERhdGEgJiYgKGxpc3RlZERhdGEubGVuZ3RoICsgc2VsZWN0ZWRJdGVtcy5sZW5ndGgpIDwgcmVzdWx0c0NvdW50XCI+XHJcbiAgICAgICAgICB7e2dldENvdW50TWVzc2FnZSgpfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHRzLW1zZyBuby1yZXN1bHRzLW1zZ1wiICpuZ0lmPVwic2VhcmNoRm9jdXNlZCAmJiBsaXN0ZWREYXRhICYmIGxpc3RlZERhdGEubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICB7e21lc3NhZ2VzICYmIG1lc3NhZ2VzLm5vUmVzdWx0c01zZyA/IG1lc3NhZ2VzLm5vUmVzdWx0c01zZyA6IE5PX1JFU1VMVFNfTVNHfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QtcmVzdWx0ICNyZXN1bHRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwibGlzdGVkRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWRFdmVudCk9XCJvbkl0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlUmVmXT1cInRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaEZvY3VzZWRdPVwic2VhcmNoRm9jdXNlZFwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdC1yZXN1bHQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtWQUxVRV9BQ0NFU1NPUl0sXHJcbiAgaG9zdDoge2NsYXNzOiBcImZsZXgtZ3Jvdy0xXCJ9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yICB7XHJcblxyXG4gIE1PUkVfUkVTVUxUU19NU0cgPSBcIlNob3dpbmcgXCIgKyBNZXNzYWdlcy5QQVJUSUFMX0NPVU5UX1ZBUiArIFwiIG9mIFwiICsgTWVzc2FnZXMuVE9UQUxfQ09VTlRfVkFSICsgXCIgcmVzdWx0cy5cIjtcclxuICBOT19SRVNVTFRTX01TRyA9IFwiTm8gcmVzdWx0cyBmb3VuZFwiO1xyXG5cclxuICBASW5wdXQoKSBtZXNzYWdlczogTWVzc2FnZXMgPSB7XHJcbiAgICBtb3JlUmVzdWx0c01zZzogdGhpcy5NT1JFX1JFU1VMVFNfTVNHLFxyXG4gICAgbm9SZXN1bHRzTXNnOiB0aGlzLk5PX1JFU1VMVFNfTVNHXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgZGF0YVByb3ZpZGVyOiAoaXRlbTogc3RyaW5nLCBzZWxlY3RlZD86IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBASW5wdXQoKSBzZWxlY3RlZFByb3ZpZGVyOiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgQElucHV0KCkgc2VsZWN0SXRlbUFkYXB0ZXI6IChlbnRpdHk6IGFueSkgPT4gU2VsZWN0SXRlbTtcclxuICBASW5wdXQoKSByZWZlcmVuY2VNb2RlOiBcImlkXCIgfCBcImVudGl0eVwiID0gXCJpZFwiO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xpZW50TW9kZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZUljb24gPSBcImZhcyBmYS10aW1lcy1jaXJjbGVcIjtcclxuICBASW5wdXQoKSBpbnB1dFN0YXRlID0gMjsgLy8gc2VsZWN0SWNvbiBjb250cm9sbGVyOiAwLT53aXRoIHNlbGVjdEljb24gMi0+d2l0aG91dCBzZWxlY3RJY29uXHJcbiAgQElucHV0KCkgcmVzdWx0c0NvdW50O1xyXG4gIEBJbnB1dCgpIHNlYXJjaERlbGF5ID0gMTAwO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0OiBFdmVudEVtaXR0ZXI8U2VsZWN0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEl0ZW0+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZTogRXZlbnRFbWl0dGVyPFNlbGVjdEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RJdGVtPigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwicmVzdWx0c1wiLCB7c3RhdGljOiBmYWxzZX0pIHJlc3VsdHM6IERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50O1xyXG5cclxuICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgdGVybSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcclxuICBzZWFyY2hGb2N1c2VkID0gZmFsc2U7XHJcbiAgcmVzdWx0c1Zpc2libGUgPSBmYWxzZTtcclxuICBsaXN0ZWREYXRhOiBTZWxlY3RJdGVtW107XHJcbiAgbW9kaWZpZWREYXRhOiBTZWxlY3RJdGVtW107XHJcbiAgc2VsZWN0ZWRJdGVtczogU2VsZWN0SXRlbVtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0ZXJtSW5wdXRcIiwge3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHRlcm1JbnB1dDtcclxuXHJcbiAgcHJpdmF0ZSBwbGFjZWhvbGRlclNlbGVjdGVkID0gXCJcIjtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXNBbmRMb2FkRGF0YUZyb21PYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3RlZChpdGVtOiBTZWxlY3RJdGVtKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RlZERhdGEuaW5kZXhPZihpdGVtLCAwKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLmxpc3RlZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLmJ1aWxkVmFsdWUoKSk7XHJcbiAgICB0aGlzLnRlcm0ucGF0Y2hWYWx1ZShcIlwiLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvY3VzSW5wdXQoKSwgMSk7XHJcbiAgICB0aGlzLnJlc3VsdHNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdC5lbWl0KGl0ZW0pO1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJTZWxlY3RlZCA9IGl0ZW0udGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzSW5wdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB0aGlzLnJlc3VsdHNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSAhdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkVmFsdWVzKSB7XHJcbiAgICAgIGlmICh0aGlzLnJlZmVyZW5jZU1vZGUgPT09IFwiaWRcIikge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVJdGVtc0Zyb21JZHMoc2VsZWN0ZWRWYWx1ZXMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVJdGVtc0Zyb21FbnRpdGllcyhzZWxlY3RlZFZhbHVlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJTZWxlY3RlZCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbXNnID0gdGhpcy5tZXNzYWdlcyAmJiB0aGlzLm1lc3NhZ2VzLm1vcmVSZXN1bHRzTXNnID8gdGhpcy5tZXNzYWdlcy5tb3JlUmVzdWx0c01zZyA6IHRoaXMuTU9SRV9SRVNVTFRTX01TRztcclxuICAgIG1zZyA9IG1zZy5yZXBsYWNlKE1lc3NhZ2VzLlBBUlRJQUxfQ09VTlRfVkFSLCBTdHJpbmcodGhpcy5saXN0ZWREYXRhLmxlbmd0aCkpO1xyXG4gICAgbXNnID0gbXNnLnJlcGxhY2UoTWVzc2FnZXMuVE9UQUxfQ09VTlRfVkFSLCBTdHJpbmcodGhpcy5yZXN1bHRzQ291bnQgLSB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoKSk7XHJcbiAgICByZXR1cm4gbXNnO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IFNlbGVjdEl0ZW0pIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoaXRlbSwgMCk7XHJcblxyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuYnVpbGRWYWx1ZSgpKTtcclxuICAgIHRoaXMucmVtb3ZlLmVtaXQoaXRlbSk7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5wbGFjZWhvbGRlclNlbGVjdGVkID0gXCJcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgPyB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgOiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5wdXRXaWR0aCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2VhcmNoRW1wdHkgPSB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwICYmICh0aGlzLnRlcm0udmFsdWUgPT09IG51bGwgfHwgdGhpcy50ZXJtLnZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLnRlcm0udmFsdWUgPT09IG51bGwgPyAwIDogdGhpcy50ZXJtLnZhbHVlLmxlbmd0aDtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICByZXR1cm4gXCIxMDAlXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc2VhcmNoRW1wdHkgPyBcIjEwMCVcIiA6ICgxICsgbGVuZ3RoICogLjYpICsgXCJlbVwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNIaWRlYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgIT09IFwiXCI7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb2N1c2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMudGVybS5wYXRjaFZhbHVlKFwiXCIsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVzdWx0c1Zpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICB9XHJcblxyXG4gIG9uS2V5VXAoZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlc3VsdHMpIHtcclxuICAgICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLkRPV05fQVJST1cpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdHMuYWN0aXZlTmV4dCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLlVQX0FSUk9XKSB7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRzLmFjdGl2ZVByZXZpb3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZXYua2V5Q29kZSA9PT0gS0VZX0NPREUuRU5URVIpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdHMuc2VsZWN0Q3VycmVudEl0ZW0oKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaW5wdXRTdGF0ZSA9PT0gMCkge1xyXG4gICAgICAgIGlmIChldi5rZXlDb2RlID09PSBLRVlfQ09ERS5FTlRFUiB8fCBldi5rZXlDb2RlID09PSBLRVlfQ09ERS5ET1dOX0FSUk9XKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN1bHRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlc3VsdHMpIHtcclxuICAgICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLlRBQikge1xyXG4gICAgICAgIHRoaXMucmVzdWx0cy5zZWxlY3RDdXJyZW50SXRlbSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLkRFTEVURSkge1xyXG4gICAgICBpZiAoKCF0aGlzLnRlcm0udmFsdWUgfHwgdGhpcy50ZXJtLnZhbHVlLmxlbmd0aCA9PT0gMCkgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnJlbW92ZUl0ZW0odGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldi5rZXlDb2RlID09PSBLRVlfQ09ERS5FTlRFUikge1xyXG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1Jlc3VsdHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRvUmVzdWx0cyhvZihcIlwiKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSAhdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0NoYW5nZXNBbmRMb2FkRGF0YUZyb21PYnNlcnZhYmxlKCkge1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMudGVybS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuc2VhcmNoRGVsYXkpLFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1Jlc3VsdHMob2JzZXJ2YWJsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvUmVzdWx0cyhvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcclxuICAgIG9ic2VydmFibGUucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVzdWx0c1Zpc2libGUgPSBmYWxzZSksXHJcbiAgICAgIGZpbHRlcigodGVybSkgPT4gdGVybS5sZW5ndGggPj0gdGhpcy5pbnB1dFN0YXRlKSxcclxuICAgICAgc3dpdGNoTWFwKHRlcm0gPT4gdGhpcy5sb2FkRGF0YUZyb21PYnNlcnZhYmxlKHRlcm0pKSxcclxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihpdGVtID0+ICEodGhpcy5tdWx0aXBsZSAmJiB0aGlzLmFscmVhZHlTZWxlY3RlZChpdGVtKSkpKSxcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVzdWx0c1Zpc2libGUgPSB0aGlzLnNlYXJjaEZvY3VzZWQpXHJcbiAgICApLnN1YnNjcmliZSgoaXRlbXMpID0+IHRoaXMubGlzdGVkRGF0YSA9IGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZERhdGFGcm9tT2JzZXJ2YWJsZSh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xpZW50TW9kZSA/IHRoaXMuZmV0Y2hBbmRmaWx0ZXJMb2NhbERhdGEodGVybSkgOiB0aGlzLmZldGNoRGF0YSh0ZXJtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWxyZWFkeVNlbGVjdGVkKGl0ZW06IFNlbGVjdEl0ZW0pOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKHNlbGVjdGVkSXRlbSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW0uaWQgPT09IGl0ZW0uaWQpIHtcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoQW5kZmlsdGVyTG9jYWxEYXRhKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0SXRlbVtdPiB7XHJcbiAgICBpZiAoIXRoaXMubW9kaWZpZWREYXRhKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZldGNoRGF0YShcIlwiKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKChpdGVtcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb2RpZmllZERhdGEgPSBpdGVtcztcclxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckxvY2FsRGF0YSh0ZXJtKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyTG9jYWxEYXRhKHRlcm0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaERhdGEodGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWxlY3RJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzXHJcbiAgICAgIC5kYXRhUHJvdmlkZXIodGVybSwgdGhpcy5idWlsZFZhbHVlKCkpXHJcbiAgICAgIC5waXBlKG1hcCgoaXRlbXM6IGFueVtdKSA9PiB0aGlzLmFkYXB0SXRlbXMoaXRlbXMpKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckxvY2FsRGF0YSh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIG9mKHRoaXMubW9kaWZpZWREYXRhLmZpbHRlcigoaXRlbSkgPT4gdGhpcy5jb250YWluc1RleHQoaXRlbSwgdGVybSkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udGFpbnNUZXh0KGl0ZW0sIHRlcm06IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGl0ZW0udGV4dC50b1VwcGVyQ2FzZSgpLmluZGV4T2YodGVybS50b1VwcGVyQ2FzZSgpKSAhPT0gLTE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkYXB0SXRlbXMoaXRlbXM6IGFueVtdKTogU2VsZWN0SXRlbVtdIHtcclxuICAgIGNvbnN0IGNvbnZlcnRlZEl0ZW1zID0gW107XHJcbiAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuc2VsZWN0SXRlbUFkYXB0ZXIoaXRlbSkpXHJcbiAgICAgIC5mb3JFYWNoKChzZWxlY3RJdGVtKSA9PiBjb252ZXJ0ZWRJdGVtcy5wdXNoKHNlbGVjdEl0ZW0pKTtcclxuICAgIHJldHVybiBjb252ZXJ0ZWRJdGVtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRWYWx1ZSgpIHtcclxuICAgIHJldHVybiBcImlkXCIgPT09IHRoaXMucmVmZXJlbmNlTW9kZSA/IHRoaXMuZ2V0U2VsZWN0ZWRJZHMoKSA6IHRoaXMuZ2V0RW50aXRpZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRJZHMoKTogYW55IHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGNvbnN0IGlkczogYW55W10gPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiBpZHMucHVzaChpdGVtLmlkKSk7XHJcbiAgICAgIHJldHVybiBpZHM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCA/IG51bGwgOiB0aGlzLnNlbGVjdGVkSXRlbXNbMF0uaWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVudGl0aWVzKCk6IGFueVtdIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGNvbnN0IGVudGl0aWVzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGVudGl0aWVzLnB1c2goaXRlbS5lbnRpdHkpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGVudGl0aWVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDAgPyBudWxsIDogdGhpcy5zZWxlY3RlZEl0ZW1zWzBdLmVudGl0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9wdWxhdGVJdGVtc0Zyb21FbnRpdGllcyhzZWxlY3RlZFZhbHVlczogYW55KSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZU11bHRpcGxlV2l0aEVudGl0aWVzKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdEl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW3NlbGVjdEl0ZW1dO1xyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgPSBzZWxlY3RJdGVtLnRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZU11bHRpcGxlV2l0aEVudGl0aWVzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgc2VsZWN0ZWRWYWx1ZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKGVudGl0eSk7XHJcbiAgICAgIGNvbnN0IGlkcyA9IHRoaXMuZ2V0U2VsZWN0ZWRJZHMoKTtcclxuXHJcbiAgICAgIGlmIChpZHMuaW5kZXhPZihpdGVtLmlkKSA9PT0gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlSXRlbXNGcm9tSWRzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlwbGVXaXRoSWRzKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlV2l0aElkKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVXaXRoSWRzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIGlmIChzZWxlY3RlZFZhbHVlcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWRQcm92aWRlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IHVuaXF1ZUlkcyA9IFtdO1xyXG4gICAgICBzZWxlY3RlZFZhbHVlcy5mb3JFYWNoKChpZCkgPT4ge1xyXG4gICAgICAgIGlmICh1bmlxdWVJZHMuaW5kZXhPZihpZCkgPT09IC0xKSB7XHJcbiAgICAgICAgICB1bmlxdWVJZHMucHVzaChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm92aWRlcih1bmlxdWVJZHMpLnN1YnNjcmliZSgoaXRlbXM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gaXRlbXMubWFwKHRoaXMuc2VsZWN0SXRlbUFkYXB0ZXIpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlV2l0aElkKGlkOiBhbnkpIHtcclxuICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWRQcm92aWRlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm92aWRlcihbaWRdKS5zdWJzY3JpYmUoKGl0ZW1zOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdEl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKGl0ZW0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW3NlbGVjdEl0ZW1dO1xyXG4gICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclNlbGVjdGVkID0gc2VsZWN0SXRlbS50ZXh0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
459
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLEtBQUssRUFBZSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF1QixrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDOzs7OztBQUVwQyxNQUFNLGNBQWMsR0FBRztJQUNyQixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBMER0QixNQUFNLE9BQU8sdUJBQXVCO0lBeERwQztRQTBERSxxQkFBZ0IsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUM3Ryxt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LE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRWdDLE9BQU87c0JBQTdDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFZWSxTQUFTO3NCQUF6RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0Ryb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50fSBmcm9tIFwiLi9kcm9wZG93bi1zZWxlY3QtcmVzdWx0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW0sIEtFWV9DT0RFfSBmcm9tIFwiLi9zZWxlY3QtaXRlbVwiO1xyXG5pbXBvcnQge01lc3NhZ2VzfSBmcm9tIFwiLi9tZXNzYWdlc1wiO1xyXG5cclxuY29uc3QgVkFMVUVfQUNDRVNTT1IgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25TZWxlY3RDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4ge307XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktZHJvcGRvd24tc2VsZWN0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY29udGFpbmVyXCI+XHJcbiAgICAgIDx1bCBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2ltcGxlLXNlbGVjdGlvbl09XCIhbXVsdGlwbGVcIlxyXG4gICAgICAgICAgW2NsYXNzLm11bHRpcGxlLXNlbGVjdGlvbl09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VhcmNoLWZvY3VzZWRdPVwic2VhcmNoRm9jdXNlZFwiXHJcbiAgICAgICAgICBbY2xhc3MucmVhZG9ubHldPVwiZGlzYWJsZWRcIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWFyY2hGb2N1c2VkIHx8IG11bHRpcGxlXCI+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiIGNsYXNzPVwic2VsZWN0LXNlbGVjdGVkIGxhYmVsIGxhYmVsLWluZm9cIiBbY2xhc3MubGFiZWxdPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5sYWJlbC1pbmZvXT1cIm11bHRpcGxlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtaXRlbS10ZXh0XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJzZWxlY3Qtc2VsZWN0aW9uLXJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgKm5nSWY9XCIhZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiZGVsZXRlSWNvblwiIFtjbGFzcy50ZXh0LWluZm9dPVwiIW11bHRpcGxlXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bGkgY2xhc3M9XCJzZWxlY3QtaW5wdXRcIj5cclxuICAgICAgICAgIDxpbnB1dCAjdGVybUlucHV0IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRlcm1cIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRlYWJsZV09XCJpc0hpZGVhYmxlKClcIlxyXG4gICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRJbnB1dFdpZHRoKClcIlxyXG4gICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dSZXN1bHRzKClcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIC8+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWRyb3AtbWVudVwiICpuZ0lmPVwiaW5wdXRTdGF0ZT09PTBcIiAoY2xpY2spPVwic2hvd1Jlc3VsdHMoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWZ0ZXJcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdHMtY29udGFpbmVyXCIgKm5nSWY9XCJyZXN1bHRzVmlzaWJsZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVzdWx0cy1tc2dcIiAqbmdJZj1cImxpc3RlZERhdGEgJiYgKGxpc3RlZERhdGEubGVuZ3RoICsgc2VsZWN0ZWRJdGVtcy5sZW5ndGgpIDwgcmVzdWx0c0NvdW50XCI+XHJcbiAgICAgICAgICB7e2dldENvdW50TWVzc2FnZSgpfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHRzLW1zZyBuby1yZXN1bHRzLW1zZ1wiICpuZ0lmPVwic2VhcmNoRm9jdXNlZCAmJiBsaXN0ZWREYXRhICYmIGxpc3RlZERhdGEubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICB7e21lc3NhZ2VzICYmIG1lc3NhZ2VzLm5vUmVzdWx0c01zZyA/IG1lc3NhZ2VzLm5vUmVzdWx0c01zZyA6IE5PX1JFU1VMVFNfTVNHfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QtcmVzdWx0ICNyZXN1bHRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwibGlzdGVkRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWRFdmVudCk9XCJvbkl0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlUmVmXT1cInRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaEZvY3VzZWRdPVwic2VhcmNoRm9jdXNlZFwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdC1yZXN1bHQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtWQUxVRV9BQ0NFU1NPUl0sXHJcbiAgaG9zdDoge2NsYXNzOiBcImZsZXgtZ3Jvdy0xXCJ9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yICB7XHJcblxyXG4gIE1PUkVfUkVTVUxUU19NU0cgPSBcIlNob3dpbmcgXCIgKyBNZXNzYWdlcy5QQVJUSUFMX0NPVU5UX1ZBUiArIFwiIG9mIFwiICsgTWVzc2FnZXMuVE9UQUxfQ09VTlRfVkFSICsgXCIgcmVzdWx0cy5cIjtcclxuICBOT19SRVNVTFRTX01TRyA9IFwiTm8gcmVzdWx0cyBmb3VuZFwiO1xyXG5cclxuICBASW5wdXQoKSBtZXNzYWdlczogTWVzc2FnZXMgPSB7XHJcbiAgICBtb3JlUmVzdWx0c01zZzogdGhpcy5NT1JFX1JFU1VMVFNfTVNHLFxyXG4gICAgbm9SZXN1bHRzTXNnOiB0aGlzLk5PX1JFU1VMVFNfTVNHXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgZGF0YVByb3ZpZGVyOiAoaXRlbTogc3RyaW5nLCBzZWxlY3RlZD86IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBASW5wdXQoKSBzZWxlY3RlZFByb3ZpZGVyOiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgQElucHV0KCkgc2VsZWN0SXRlbUFkYXB0ZXI6IChlbnRpdHk6IGFueSkgPT4gU2VsZWN0SXRlbTtcclxuICBASW5wdXQoKSByZWZlcmVuY2VNb2RlOiBcImlkXCIgfCBcImVudGl0eVwiID0gXCJpZFwiO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xpZW50TW9kZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZUljb24gPSBcImZhcyBmYS10aW1lcy1jaXJjbGVcIjtcclxuICBASW5wdXQoKSBpbnB1dFN0YXRlID0gMjsgLy8gc2VsZWN0SWNvbiBjb250cm9sbGVyOiAwLT53aXRoIHNlbGVjdEljb24gMi0+d2l0aG91dCBzZWxlY3RJY29uXHJcbiAgQElucHV0KCkgcmVzdWx0c0NvdW50O1xyXG4gIEBJbnB1dCgpIHNlYXJjaERlbGF5ID0gMTAwO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0OiBFdmVudEVtaXR0ZXI8U2VsZWN0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEl0ZW0+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZTogRXZlbnRFbWl0dGVyPFNlbGVjdEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RJdGVtPigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwicmVzdWx0c1wiLCB7c3RhdGljOiBmYWxzZX0pIHJlc3VsdHM6IERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50O1xyXG5cclxuICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgdGVybSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcclxuICBzZWFyY2hGb2N1c2VkID0gZmFsc2U7XHJcbiAgcmVzdWx0c1Zpc2libGUgPSBmYWxzZTtcclxuICBsaXN0ZWREYXRhOiBTZWxlY3RJdGVtW107XHJcbiAgbW9kaWZpZWREYXRhOiBTZWxlY3RJdGVtW107XHJcbiAgc2VsZWN0ZWRJdGVtczogU2VsZWN0SXRlbVtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0ZXJtSW5wdXRcIiwge3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHRlcm1JbnB1dDtcclxuXHJcbiAgcHJpdmF0ZSBwbGFjZWhvbGRlclNlbGVjdGVkID0gXCJcIjtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXNBbmRMb2FkRGF0YUZyb21PYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3RlZChpdGVtOiBTZWxlY3RJdGVtKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RlZERhdGEuaW5kZXhPZihpdGVtLCAwKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLmxpc3RlZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLmJ1aWxkVmFsdWUoKSk7XHJcbiAgICB0aGlzLnRlcm0ucGF0Y2hWYWx1ZShcIlwiLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvY3VzSW5wdXQoKSwgMSk7XHJcbiAgICB0aGlzLnJlc3VsdHNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdC5lbWl0KGl0ZW0pO1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJTZWxlY3RlZCA9IGl0ZW0udGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzSW5wdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB0aGlzLnJlc3VsdHNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSAhdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkVmFsdWVzKSB7XHJcbiAgICAgIGlmICh0aGlzLnJlZmVyZW5jZU1vZGUgPT09IFwiaWRcIikge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVJdGVtc0Zyb21JZHMoc2VsZWN0ZWRWYWx1ZXMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVJdGVtc0Zyb21FbnRpdGllcyhzZWxlY3RlZFZhbHVlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJTZWxlY3RlZCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbXNnID0gdGhpcy5tZXNzYWdlcyAmJiB0aGlzLm1lc3NhZ2VzLm1vcmVSZXN1bHRzTXNnID8gdGhpcy5tZXNzYWdlcy5tb3JlUmVzdWx0c01zZyA6IHRoaXMuTU9SRV9SRVNVTFRTX01TRztcclxuICAgIG1zZyA9IG1zZy5yZXBsYWNlKE1lc3NhZ2VzLlBBUlRJQUxfQ09VTlRfVkFSLCBTdHJpbmcodGhpcy5saXN0ZWREYXRhLmxlbmd0aCkpO1xyXG4gICAgbXNnID0gbXNnLnJlcGxhY2UoTWVzc2FnZXMuVE9UQUxfQ09VTlRfVkFSLCBTdHJpbmcodGhpcy5yZXN1bHRzQ291bnQgLSB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoKSk7XHJcbiAgICByZXR1cm4gbXNnO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IFNlbGVjdEl0ZW0pIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoaXRlbSwgMCk7XHJcblxyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuYnVpbGRWYWx1ZSgpKTtcclxuICAgIHRoaXMucmVtb3ZlLmVtaXQoaXRlbSk7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5wbGFjZWhvbGRlclNlbGVjdGVkID0gXCJcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgPyB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgOiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5wdXRXaWR0aCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2VhcmNoRW1wdHkgPSB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwICYmICh0aGlzLnRlcm0udmFsdWUgPT09IG51bGwgfHwgdGhpcy50ZXJtLnZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLnRlcm0udmFsdWUgPT09IG51bGwgPyAwIDogdGhpcy50ZXJtLnZhbHVlLmxlbmd0aDtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICByZXR1cm4gXCIxMDAlXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc2VhcmNoRW1wdHkgPyBcIjEwMCVcIiA6ICgxICsgbGVuZ3RoICogLjYpICsgXCJlbVwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNIaWRlYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgIT09IFwiXCI7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb2N1c2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMudGVybS5wYXRjaFZhbHVlKFwiXCIsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVzdWx0c1Zpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICB9XHJcblxyXG4gIG9uS2V5VXAoZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlc3VsdHMpIHtcclxuICAgICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLkRPV05fQVJST1cpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdHMuYWN0aXZlTmV4dCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLlVQX0FSUk9XKSB7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRzLmFjdGl2ZVByZXZpb3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZXYua2V5Q29kZSA9PT0gS0VZX0NPREUuRU5URVIpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdHMuc2VsZWN0Q3VycmVudEl0ZW0oKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaW5wdXRTdGF0ZSA9PT0gMCkge1xyXG4gICAgICAgIGlmIChldi5rZXlDb2RlID09PSBLRVlfQ09ERS5FTlRFUiB8fCBldi5rZXlDb2RlID09PSBLRVlfQ09ERS5ET1dOX0FSUk9XKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN1bHRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlc3VsdHMpIHtcclxuICAgICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLlRBQikge1xyXG4gICAgICAgIHRoaXMucmVzdWx0cy5zZWxlY3RDdXJyZW50SXRlbSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2LmtleUNvZGUgPT09IEtFWV9DT0RFLkRFTEVURSkge1xyXG4gICAgICBpZiAoKCF0aGlzLnRlcm0udmFsdWUgfHwgdGhpcy50ZXJtLnZhbHVlLmxlbmd0aCA9PT0gMCkgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnJlbW92ZUl0ZW0odGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXY6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldi5rZXlDb2RlID09PSBLRVlfQ09ERS5FTlRFUikge1xyXG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1Jlc3VsdHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRvUmVzdWx0cyhvZihcIlwiKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzZWQgPSAhdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0NoYW5nZXNBbmRMb2FkRGF0YUZyb21PYnNlcnZhYmxlKCkge1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMudGVybS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuc2VhcmNoRGVsYXkpLFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1Jlc3VsdHMob2JzZXJ2YWJsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvUmVzdWx0cyhvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcclxuICAgIG9ic2VydmFibGUucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVzdWx0c1Zpc2libGUgPSBmYWxzZSksXHJcbiAgICAgIGZpbHRlcigodGVybSkgPT4gdGVybS5sZW5ndGggPj0gdGhpcy5pbnB1dFN0YXRlKSxcclxuICAgICAgc3dpdGNoTWFwKHRlcm0gPT4gdGhpcy5sb2FkRGF0YUZyb21PYnNlcnZhYmxlKHRlcm0pKSxcclxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihpdGVtID0+ICEodGhpcy5tdWx0aXBsZSAmJiB0aGlzLmFscmVhZHlTZWxlY3RlZChpdGVtKSkpKSxcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVzdWx0c1Zpc2libGUgPSB0aGlzLnNlYXJjaEZvY3VzZWQpXHJcbiAgICApLnN1YnNjcmliZSgoaXRlbXMpID0+IHRoaXMubGlzdGVkRGF0YSA9IGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZERhdGFGcm9tT2JzZXJ2YWJsZSh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xpZW50TW9kZSA/IHRoaXMuZmV0Y2hBbmRmaWx0ZXJMb2NhbERhdGEodGVybSkgOiB0aGlzLmZldGNoRGF0YSh0ZXJtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWxyZWFkeVNlbGVjdGVkKGl0ZW06IFNlbGVjdEl0ZW0pOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKHNlbGVjdGVkSXRlbSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW0uaWQgPT09IGl0ZW0uaWQpIHtcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoQW5kZmlsdGVyTG9jYWxEYXRhKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0SXRlbVtdPiB7XHJcbiAgICBpZiAoIXRoaXMubW9kaWZpZWREYXRhKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZldGNoRGF0YShcIlwiKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKChpdGVtcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb2RpZmllZERhdGEgPSBpdGVtcztcclxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckxvY2FsRGF0YSh0ZXJtKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyTG9jYWxEYXRhKHRlcm0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaERhdGEodGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWxlY3RJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzXHJcbiAgICAgIC5kYXRhUHJvdmlkZXIodGVybSwgdGhpcy5idWlsZFZhbHVlKCkpXHJcbiAgICAgIC5waXBlKG1hcCgoaXRlbXM6IGFueVtdKSA9PiB0aGlzLmFkYXB0SXRlbXMoaXRlbXMpKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckxvY2FsRGF0YSh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIG9mKHRoaXMubW9kaWZpZWREYXRhLmZpbHRlcigoaXRlbSkgPT4gdGhpcy5jb250YWluc1RleHQoaXRlbSwgdGVybSkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udGFpbnNUZXh0KGl0ZW0sIHRlcm06IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGl0ZW0udGV4dC50b1VwcGVyQ2FzZSgpLmluZGV4T2YodGVybS50b1VwcGVyQ2FzZSgpKSAhPT0gLTE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkYXB0SXRlbXMoaXRlbXM6IGFueVtdKTogU2VsZWN0SXRlbVtdIHtcclxuICAgIGNvbnN0IGNvbnZlcnRlZEl0ZW1zID0gW107XHJcbiAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuc2VsZWN0SXRlbUFkYXB0ZXIoaXRlbSkpXHJcbiAgICAgIC5mb3JFYWNoKChzZWxlY3RJdGVtKSA9PiBjb252ZXJ0ZWRJdGVtcy5wdXNoKHNlbGVjdEl0ZW0pKTtcclxuICAgIHJldHVybiBjb252ZXJ0ZWRJdGVtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRWYWx1ZSgpIHtcclxuICAgIHJldHVybiBcImlkXCIgPT09IHRoaXMucmVmZXJlbmNlTW9kZSA/IHRoaXMuZ2V0U2VsZWN0ZWRJZHMoKSA6IHRoaXMuZ2V0RW50aXRpZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRJZHMoKTogYW55IHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGNvbnN0IGlkczogYW55W10gPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiBpZHMucHVzaChpdGVtLmlkKSk7XHJcbiAgICAgIHJldHVybiBpZHM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCA/IG51bGwgOiB0aGlzLnNlbGVjdGVkSXRlbXNbMF0uaWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVudGl0aWVzKCk6IGFueVtdIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGNvbnN0IGVudGl0aWVzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGVudGl0aWVzLnB1c2goaXRlbS5lbnRpdHkpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGVudGl0aWVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDAgPyBudWxsIDogdGhpcy5zZWxlY3RlZEl0ZW1zWzBdLmVudGl0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9wdWxhdGVJdGVtc0Zyb21FbnRpdGllcyhzZWxlY3RlZFZhbHVlczogYW55KSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZU11bHRpcGxlV2l0aEVudGl0aWVzKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdEl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW3NlbGVjdEl0ZW1dO1xyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyU2VsZWN0ZWQgPSBzZWxlY3RJdGVtLnRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZU11bHRpcGxlV2l0aEVudGl0aWVzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgc2VsZWN0ZWRWYWx1ZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKGVudGl0eSk7XHJcbiAgICAgIGNvbnN0IGlkcyA9IHRoaXMuZ2V0U2VsZWN0ZWRJZHMoKTtcclxuXHJcbiAgICAgIGlmIChpZHMuaW5kZXhPZihpdGVtLmlkKSA9PT0gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlSXRlbXNGcm9tSWRzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlwbGVXaXRoSWRzKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlV2l0aElkKHNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVXaXRoSWRzKHNlbGVjdGVkVmFsdWVzOiBhbnkpIHtcclxuICAgIGlmIChzZWxlY3RlZFZhbHVlcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWRQcm92aWRlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IHVuaXF1ZUlkcyA9IFtdO1xyXG4gICAgICBzZWxlY3RlZFZhbHVlcy5mb3JFYWNoKChpZCkgPT4ge1xyXG4gICAgICAgIGlmICh1bmlxdWVJZHMuaW5kZXhPZihpZCkgPT09IC0xKSB7XHJcbiAgICAgICAgICB1bmlxdWVJZHMucHVzaChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm92aWRlcih1bmlxdWVJZHMpLnN1YnNjcmliZSgoaXRlbXM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gaXRlbXMubWFwKHRoaXMuc2VsZWN0SXRlbUFkYXB0ZXIpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlV2l0aElkKGlkOiBhbnkpIHtcclxuICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWRQcm92aWRlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm92aWRlcihbaWRdKS5zdWJzY3JpYmUoKGl0ZW1zOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdEl0ZW0gPSB0aGlzLnNlbGVjdEl0ZW1BZGFwdGVyKGl0ZW0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW3NlbGVjdEl0ZW1dO1xyXG4gICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclNlbGVjdGVkID0gc2VsZWN0SXRlbS50ZXh0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -128,9 +128,8 @@ export class DropdownComponent {
128
128
  this.modifiedData.push(this.inputSingleData);
129
129
  }
130
130
  }
131
- }
132
- DropdownComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.DropdownService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
133
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DropdownComponent, selector: "hci-dropdown", inputs: { inputSingleData: "inputSingleData", inputMultiData: "inputMultiData", modifiedData: "modifiedData", optionData: "optionData", displayField: "displayField", displayId: "displayId", dataUrl: "dataUrl", dropdownType: "dropdownType", placeholder: "placeholder", isDisabled: "isDisabled" }, outputs: { inputSingleDataChange: "inputSingleDataChange", inputMultiDataChange: "inputMultiDataChange" }, providers: [DropdownService], viewQueries: [{ propertyName: "dropdownSingle", first: true, predicate: ["dropdownSingle"], descendants: true }], ngImport: i0, template: `
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.DropdownService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, selector: "hci-dropdown", inputs: { inputSingleData: "inputSingleData", inputMultiData: "inputMultiData", modifiedData: "modifiedData", optionData: "optionData", displayField: "displayField", displayId: "displayId", dataUrl: "dataUrl", dropdownType: "dropdownType", placeholder: "placeholder", isDisabled: "isDisabled" }, outputs: { inputSingleDataChange: "inputSingleDataChange", inputMultiDataChange: "inputMultiDataChange" }, providers: [DropdownService], viewQueries: [{ propertyName: "dropdownSingle", first: true, predicate: ["dropdownSingle"], descendants: true }], ngImport: i0, template: `
134
133
  <form novalidate [formGroup]="dropdownForm">
135
134
  <div class="form-group">
136
135
  <hci-dropdown-select #dropdownSingle *ngIf="dropdownType === 0"
@@ -202,8 +201,9 @@ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
202
201
  </hci-dropdown-select>
203
202
  </div>
204
203
  </form>
205
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TemplateDropdownDirective, selector: "[appTemplateDropdown]" }, { kind: "component", type: i5.DropdownSelectComponent, selector: "hci-dropdown-select", inputs: ["messages", "dataProvider", "selectedProvider", "selectItemAdapter", "referenceMode", "placeholder", "disabled", "multiple", "clientMode", "deleteIcon", "inputState", "resultsCount", "searchDelay"], outputs: ["select", "remove"] }] });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownComponent, decorators: [{
204
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TemplateDropdownDirective, selector: "[appTemplateDropdown]" }, { kind: "component", type: i5.DropdownSelectComponent, selector: "hci-dropdown-select", inputs: ["messages", "dataProvider", "selectedProvider", "selectItemAdapter", "referenceMode", "placeholder", "disabled", "multiple", "clientMode", "deleteIcon", "inputState", "resultsCount", "searchDelay"], outputs: ["select", "remove"] }] }); }
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
207
207
  type: Component,
208
208
  args: [{
209
209
  selector: "hci-dropdown",
@@ -310,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
310
310
  type: ViewChild,
311
311
  args: ["dropdownSingle", { static: false }]
312
312
  }] } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBR3hGLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBK0VwRSxNQUFNLE9BQU8saUJBQWlCO0lBd0I1QixZQUFvQixlQUFnQyxFQUNoQyxXQUErQjtRQUQvQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBZDFDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBTzVCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBTXpELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDbEMsdUJBQXVCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQseUJBQXlCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsY0FBYyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzFDLGdCQUFnQixFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzVDLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLEVBQUU7WUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBZ0IsSUFBRyxDQUFDO0lBRWpCLGdCQUFnQjtRQUN0QixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFM0IsMkRBQTJEO1FBQzNELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsd0NBQXdDO1lBQ3hDLElBQUksU0FBUyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUM5QyxvREFBb0Q7WUFDcEQsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekM7WUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDN0QsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMvQztTQUNGO1FBRUQsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQVUsRUFBRSxFQUFFO1lBQy9DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsT0FBTyxDQUFDO2lCQUN0RSxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQzVDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUNwQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBRUYsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN4QyxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMvQixNQUFNLEVBQUUsTUFBTTthQUNmLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN6QztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7K0dBM0pVLGlCQUFpQjttR0FBakIsaUJBQWlCLDBiQUZqQixDQUFDLGVBQWUsQ0FBQyw0SUF6RWxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQ7NEZBR1UsaUJBQWlCO2tCQTdFN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3Qjt1SUFVVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFdUMsY0FBYztzQkFBM0QsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHttYXAsIHRhcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0Ryb3Bkb3duU2VydmljZX0gZnJvbSBcIi4vZHJvcGRvd24uc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW19IGZyb20gXCIuL3NlbGVjdC1pdGVtXCI7XHJcbmltcG9ydCB7RHJvcGRvd25TZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1kcm9wZG93blwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Zm9ybSBub3ZhbGlkYXRlIFtmb3JtR3JvdXBdPVwiZHJvcGRvd25Gb3JtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QgI2Ryb3Bkb3duU2luZ2xlICpuZ0lmPVwiZHJvcGRvd25UeXBlID09PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duU2luZ2xlVHlwZUFoZWFkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb3ZpZGVyXT1cImdldEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCI+PC9oY2ktZHJvcGRvd24tc2VsZWN0PlxyXG4gICAgICAgIDxoY2ktZHJvcGRvd24tc2VsZWN0ICpuZ0lmPVwiZHJvcGRvd25UeXBlID09PSAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaWVudE1vZGVdPVwidHJ1ZVwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdD5cclxuICAgICAgICA8aGNpLWRyb3Bkb3duLXNlbGVjdCAqbmdJZj1cImRyb3Bkb3duVHlwZSA9PT0gMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkcm9wZG93blNpbmdsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsaXN0SXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RJdGVtQWRhcHRlcl09XCJlbnRpdHlUb1NlbGVjdEl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dFN0YXRlXT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZU1vZGU9XCJlbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaWVudE1vZGVdPVwidHJ1ZVwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdD5cclxuICAgICAgICA8aGNpLWRyb3Bkb3duLXNlbGVjdCAqbmdJZj1cImRyb3Bkb3duVHlwZSA9PT0gM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkcm9wZG93bk11bHRpcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxpc3RJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdEl0ZW1BZGFwdGVyXT1cImVudGl0eVRvU2VsZWN0SXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0U3RhdGVdPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlTW9kZT1cImVudGl0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJvblJlbW92ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGllbnRNb2RlXT1cInRydWVcIj48L2hjaS1kcm9wZG93bi1zZWxlY3Q+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QgKm5nSWY9XCJkcm9wZG93blR5cGUgPT09IDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZHJvcGRvd25TaW5nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRTdGF0ZV09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUHJvdmlkZXJdPVwiZ2V0SXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8ZGl2ICphcHBUZW1wbGF0ZURyb3Bkb3duPVwibGV0IGl0ZW0gPSAkZW50aXR5OyBsZXQgaSA9ICRpbmRleFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5be3tpdGVtLmlkfX1dPC9zcGFuPiB7e2l0ZW1bZGlzcGxheUZpZWxkXX19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2hjaS1kcm9wZG93bi1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbRHJvcGRvd25TZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgZHJvcGRvd25Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBnZXRJdGVtczogKGlkczogYW55W10pID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBsaXN0SXRlbXM6IChpdGVtOiBzdHJpbmcpID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBsaXN0SXRlbXNNYXg6IChpdGVtOiBzdHJpbmcsIGlkczogYW55W10pID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBlbnRpdHlUb1NlbGVjdEl0ZW06IChlbnRpdHk6IE9iamVjdCkgPT4gU2VsZWN0SXRlbTtcclxuICBwdWJsaWMgY291bnQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgaW5wdXRTaW5nbGVEYXRhOiBPYmplY3Q7XHJcbiAgQElucHV0KCkgaW5wdXRNdWx0aURhdGE6IE9iamVjdFtdO1xyXG4gIEBJbnB1dCgpIG1vZGlmaWVkRGF0YTogT2JqZWN0W10gPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25EYXRhOiBPYmplY3RbXTtcclxuICBASW5wdXQoKSBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNwbGF5SWQ6IGFueTtcclxuICBASW5wdXQoKSBkYXRhVXJsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZHJvcGRvd25UeXBlOiBhbnk7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGlucHV0U2luZ2xlRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dE11bHRpRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHJvcGRvd25TaW5nbGVcIiwge3N0YXRpYzogZmFsc2V9KSBkcm9wZG93blNpbmdsZTogRHJvcGRvd25TZWxlY3RDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIG9wdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcIlwiKSxcclxuICAgICAgZHJvcGRvd25TaW5nbGVUeXBlQWhlYWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICAgIGRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICAgIGRyb3Bkb3duU2luZ2xlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFwiXCIpLFxyXG4gICAgICBkcm9wZG93bk11bHRpcGxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFwiXCIpLFxyXG4gICAgICBoYWJpbGl0YWRvOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmluaXREcm9wZG93bkZvcm0oKTtcclxuICAgIHRoaXMuaW5pdERyb3Bkb3duSXRlbSgpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3QoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25UeXBlID09PSAwIHx8IHRoaXMuZHJvcGRvd25UeXBlID09PSAyIHx8IHRoaXMuZHJvcGRvd25UeXBlID09PSA0KSB7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLnB1c2goaXRlbS5lbnRpdHkpO1xyXG4gICAgICB0aGlzLmlucHV0U2luZ2xlRGF0YSA9IHRoaXMubW9kaWZpZWREYXRhWzBdO1xyXG4gICAgICB0aGlzLmlucHV0U2luZ2xlRGF0YUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDEgfHwgdGhpcy5kcm9wZG93blR5cGUgPT09IDMpIHtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEucHVzaChpdGVtLmVudGl0eSk7XHJcbiAgICAgIHRoaXMuaW5wdXRNdWx0aURhdGEgPSB0aGlzLm1vZGlmaWVkRGF0YTtcclxuICAgICAgdGhpcy5pbnB1dE11bHRpRGF0YUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRNdWx0aURhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZW1vdmUoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgaWYgKHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGlmaWVkRGF0YS5pbmRleE9mKGl0ZW0uZW50aXR5LCAwKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkRGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaW5wdXRTaW5nbGVEYXRhKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRTaW5nbGVEYXRhID0gXCJcIjtcclxuICAgICAgdGhpcy5pbnB1dFNpbmdsZURhdGFDaGFuZ2UuZW1pdCh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaW5wdXRNdWx0aURhdGEpIHtcclxuICAgICAgdGhpcy5pbnB1dE11bHRpRGF0YSA9IHRoaXMubW9kaWZpZWREYXRhO1xyXG4gICAgICB0aGlzLmlucHV0TXVsdGlEYXRhQ2hhbmdlLmVtaXQodGhpcy5pbnB1dE11bHRpRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICBzZW5kKGZvcm1Kc29uOiBzdHJpbmcpIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdERyb3Bkb3duSXRlbSgpIHtcclxuICAgIGxldCBkYXRhU2V0OiBPYmplY3RbXSA9IFtdO1xyXG5cclxuICAgIC8vIFNldCBkcm9wZG93biBkYXRhIGxpc3QgZnJvbSBhIGdpdmVuIGFycmF5IG9yIGEganNvbiBmaWxlXHJcbiAgICBpZiAodGhpcy5vcHRpb25EYXRhICYmIHRoaXMub3B0aW9uRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIC8vIEdldCBkcm9wZG93biBsaXN0IGRhdGEgZnJvbSBhbiBvYmplY3RcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIm9wdGlvbkRhdGE9XCIsIHRoaXMub3B0aW9uRGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgZGF0YVNldCA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLnNldERhdGEodW5kZWZpbmVkLCB0aGlzLm9wdGlvbkRhdGEsIHRoaXMuZGlzcGxheUZpZWxkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhVXJsICYmIHRoaXMuZGF0YVVybCAhPT0gXCJcIikge1xyXG4gICAgICAvLyBHZXQgZHJvcGRvd24gbGlzdCBkYXRhIGZyb20gYW4gdXJsIHdpdGgganNvbiBmaWxlXHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJkYXRhVXJsPVwiLCB0aGlzLmRhdGFVcmwpO1xyXG4gICAgICB9XHJcbiAgICAgIGRhdGFTZXQgPSB0aGlzLmRyb3Bkb3duU2VydmljZS5zZXREYXRhKHRoaXMuZGF0YVVybCwgdW5kZWZpbmVkLCB0aGlzLmRpc3BsYXlGaWVsZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiTmVpdGhlciBvcHRpb25EYXRhIG9yIGRhdGFVcmwgd2VyZSBkZWZpbmVkLlwiKTtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcImRhdGFVcmw9XCIsIHRoaXMuZGF0YVVybCk7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIm9wdGlvbkRhdGE9XCIsIHRoaXMub3B0aW9uRGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGaWx0ZXIgYW5kIHNvcnQgZGF0YVxyXG4gICAgdGhpcy5saXN0SXRlbXMgPSAodGVybTogc3RyaW5nKSA9PiB0aGlzLmRyb3Bkb3duU2VydmljZS5saXN0RGF0YSh0ZXJtLCBkYXRhU2V0KTtcclxuICAgIHRoaXMubGlzdEl0ZW1zTWF4ID0gKHRlcm06IHN0cmluZywgaWRzOiBhbnlbXSkgPT4ge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gaWRzID8gaWRzLmxlbmd0aCA6IDA7XHJcbiAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duU2VydmljZS5saXN0RGF0YU1heCh0ZXJtLCAzICsgc2VsZWN0ZWRDb3VudCwgZGF0YVNldClcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcChyZXNwb25zZSA9PiB0aGlzLmNvdW50ID0gcmVzcG9uc2UuY291bnQpLFxyXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UucmVzdWx0cylcclxuICAgICAgICApO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBHZXQgaXRlbXMgYW5kIHNldCB0aGVtIHRvIHRoZSBkcm9wZG93biBlbnRpcnlcclxuICAgIHRoaXMuZ2V0SXRlbXMgPSAoaWRzOiBhbnlbXSkgPT4gdGhpcy5kcm9wZG93blNlcnZpY2UuZ2V0SXRlbXMoaWRzLCBkYXRhU2V0KTtcclxuICAgIHRoaXMuZW50aXR5VG9TZWxlY3RJdGVtID0gKGVudGl0eTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGVudGl0eVt0aGlzLmRpc3BsYXlJZF0sXHJcbiAgICAgICAgdGV4dDogZW50aXR5W3RoaXMuZGlzcGxheUZpZWxkXSxcclxuICAgICAgICBlbnRpdHk6IGVudGl0eVxyXG4gICAgICB9O1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdERyb3Bkb3duRm9ybSgpIHtcclxuICAgIHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA9IDA7XHJcblxyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25UeXBlID09PSAwICYmIHRoaXMuaW5wdXRTaW5nbGVEYXRhKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Gb3JtLmNvbnRyb2xzW1wiZHJvcGRvd25TaW5nbGVUeXBlQWhlYWRcIl0uc2V0VmFsdWUodGhpcy5pbnB1dFNpbmdsZURhdGEpO1xyXG4gICAgICB0aGlzLm1vZGlmaWVkRGF0YS5wdXNoKHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDEgJiYgdGhpcy5pbnB1dE11bHRpRGF0YSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duRm9ybS5jb250cm9sc1tcImRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWRcIl0uc2V0VmFsdWUodGhpcy5pbnB1dE11bHRpRGF0YSk7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhID0gdGhpcy5pbnB1dE11bHRpRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDIgJiYgdGhpcy5pbnB1dFNpbmdsZURhdGEpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bkZvcm0uY29udHJvbHNbXCJkcm9wZG93blNpbmdsZVwiXS5zZXRWYWx1ZSh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLnB1c2godGhpcy5pbnB1dFNpbmdsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duVHlwZSA9PT0gMyAmJiB0aGlzLmlucHV0TXVsdGlEYXRhKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Gb3JtLmNvbnRyb2xzW1wiZHJvcGRvd25NdWx0aXBsZVwiXS5zZXRWYWx1ZSh0aGlzLmlucHV0TXVsdGlEYXRhKTtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEgPSB0aGlzLmlucHV0TXVsdGlEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duVHlwZSA9PT0gNCAmJiB0aGlzLmlucHV0U2luZ2xlRGF0YSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duRm9ybS5jb250cm9sc1tcImRyb3Bkb3duU2luZ2xlXCJdLnNldFZhbHVlKHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEucHVzaCh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBR3hGLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBK0VwRSxNQUFNLE9BQU8saUJBQWlCO0lBd0I1QixZQUFvQixlQUFnQyxFQUNoQyxXQUErQjtRQUQvQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBZDFDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBTzVCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBTXpELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDbEMsdUJBQXVCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQseUJBQXlCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsY0FBYyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzFDLGdCQUFnQixFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzVDLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLEVBQUU7WUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBZ0IsSUFBRyxDQUFDO0lBRWpCLGdCQUFnQjtRQUN0QixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFM0IsMkRBQTJEO1FBQzNELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsd0NBQXdDO1lBQ3hDLElBQUksU0FBUyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUM5QyxvREFBb0Q7WUFDcEQsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekM7WUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDN0QsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMvQztTQUNGO1FBRUQsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQVUsRUFBRSxFQUFFO1lBQy9DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsT0FBTyxDQUFDO2lCQUN0RSxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQzVDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUNwQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBRUYsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN4QyxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMvQixNQUFNLEVBQUUsTUFBTTthQUNmLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN6QztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzsrR0EzSlUsaUJBQWlCO21HQUFqQixpQkFBaUIsMGJBRmpCLENBQUMsZUFBZSxDQUFDLDRJQXpFbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdFVDs7NEZBR1UsaUJBQWlCO2tCQTdFN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3Qjt1SUFVVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFdUMsY0FBYztzQkFBM0QsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHttYXAsIHRhcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0Ryb3Bkb3duU2VydmljZX0gZnJvbSBcIi4vZHJvcGRvd24uc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW19IGZyb20gXCIuL3NlbGVjdC1pdGVtXCI7XHJcbmltcG9ydCB7RHJvcGRvd25TZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1kcm9wZG93blwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Zm9ybSBub3ZhbGlkYXRlIFtmb3JtR3JvdXBdPVwiZHJvcGRvd25Gb3JtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QgI2Ryb3Bkb3duU2luZ2xlICpuZ0lmPVwiZHJvcGRvd25UeXBlID09PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duU2luZ2xlVHlwZUFoZWFkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb3ZpZGVyXT1cImdldEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCI+PC9oY2ktZHJvcGRvd24tc2VsZWN0PlxyXG4gICAgICAgIDxoY2ktZHJvcGRvd24tc2VsZWN0ICpuZ0lmPVwiZHJvcGRvd25UeXBlID09PSAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaWVudE1vZGVdPVwidHJ1ZVwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdD5cclxuICAgICAgICA8aGNpLWRyb3Bkb3duLXNlbGVjdCAqbmdJZj1cImRyb3Bkb3duVHlwZSA9PT0gMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkcm9wZG93blNpbmdsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsaXN0SXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RJdGVtQWRhcHRlcl09XCJlbnRpdHlUb1NlbGVjdEl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dFN0YXRlXT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZU1vZGU9XCJlbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaWVudE1vZGVdPVwidHJ1ZVwiPjwvaGNpLWRyb3Bkb3duLXNlbGVjdD5cclxuICAgICAgICA8aGNpLWRyb3Bkb3duLXNlbGVjdCAqbmdJZj1cImRyb3Bkb3duVHlwZSA9PT0gM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkcm9wZG93bk11bHRpcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxpc3RJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdEl0ZW1BZGFwdGVyXT1cImVudGl0eVRvU2VsZWN0SXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0U3RhdGVdPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlTW9kZT1cImVudGl0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJvblJlbW92ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm92aWRlcl09XCJnZXRJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGllbnRNb2RlXT1cInRydWVcIj48L2hjaS1kcm9wZG93bi1zZWxlY3Q+XHJcbiAgICAgICAgPGhjaS1kcm9wZG93bi1zZWxlY3QgKm5nSWY9XCJkcm9wZG93blR5cGUgPT09IDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZHJvcGRvd25TaW5nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibGlzdEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0SXRlbUFkYXB0ZXJdPVwiZW50aXR5VG9TZWxlY3RJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRTdGF0ZV09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VNb2RlPVwiZW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUHJvdmlkZXJdPVwiZ2V0SXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xpZW50TW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8ZGl2ICphcHBUZW1wbGF0ZURyb3Bkb3duPVwibGV0IGl0ZW0gPSAkZW50aXR5OyBsZXQgaSA9ICRpbmRleFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5be3tpdGVtLmlkfX1dPC9zcGFuPiB7e2l0ZW1bZGlzcGxheUZpZWxkXX19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2hjaS1kcm9wZG93bi1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbRHJvcGRvd25TZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgZHJvcGRvd25Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBnZXRJdGVtczogKGlkczogYW55W10pID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBsaXN0SXRlbXM6IChpdGVtOiBzdHJpbmcpID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBsaXN0SXRlbXNNYXg6IChpdGVtOiBzdHJpbmcsIGlkczogYW55W10pID0+IE9ic2VydmFibGU8T2JqZWN0W10+O1xyXG4gIHB1YmxpYyBlbnRpdHlUb1NlbGVjdEl0ZW06IChlbnRpdHk6IE9iamVjdCkgPT4gU2VsZWN0SXRlbTtcclxuICBwdWJsaWMgY291bnQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgaW5wdXRTaW5nbGVEYXRhOiBPYmplY3Q7XHJcbiAgQElucHV0KCkgaW5wdXRNdWx0aURhdGE6IE9iamVjdFtdO1xyXG4gIEBJbnB1dCgpIG1vZGlmaWVkRGF0YTogT2JqZWN0W10gPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25EYXRhOiBPYmplY3RbXTtcclxuICBASW5wdXQoKSBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNwbGF5SWQ6IGFueTtcclxuICBASW5wdXQoKSBkYXRhVXJsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZHJvcGRvd25UeXBlOiBhbnk7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGlucHV0U2luZ2xlRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dE11bHRpRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHJvcGRvd25TaW5nbGVcIiwge3N0YXRpYzogZmFsc2V9KSBkcm9wZG93blNpbmdsZTogRHJvcGRvd25TZWxlY3RDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIG9wdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcIlwiKSxcclxuICAgICAgZHJvcGRvd25TaW5nbGVUeXBlQWhlYWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICAgIGRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICAgIGRyb3Bkb3duU2luZ2xlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFwiXCIpLFxyXG4gICAgICBkcm9wZG93bk11bHRpcGxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFwiXCIpLFxyXG4gICAgICBoYWJpbGl0YWRvOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmluaXREcm9wZG93bkZvcm0oKTtcclxuICAgIHRoaXMuaW5pdERyb3Bkb3duSXRlbSgpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3QoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25UeXBlID09PSAwIHx8IHRoaXMuZHJvcGRvd25UeXBlID09PSAyIHx8IHRoaXMuZHJvcGRvd25UeXBlID09PSA0KSB7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLnB1c2goaXRlbS5lbnRpdHkpO1xyXG4gICAgICB0aGlzLmlucHV0U2luZ2xlRGF0YSA9IHRoaXMubW9kaWZpZWREYXRhWzBdO1xyXG4gICAgICB0aGlzLmlucHV0U2luZ2xlRGF0YUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDEgfHwgdGhpcy5kcm9wZG93blR5cGUgPT09IDMpIHtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEucHVzaChpdGVtLmVudGl0eSk7XHJcbiAgICAgIHRoaXMuaW5wdXRNdWx0aURhdGEgPSB0aGlzLm1vZGlmaWVkRGF0YTtcclxuICAgICAgdGhpcy5pbnB1dE11bHRpRGF0YUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRNdWx0aURhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZW1vdmUoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgaWYgKHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGlmaWVkRGF0YS5pbmRleE9mKGl0ZW0uZW50aXR5LCAwKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkRGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaW5wdXRTaW5nbGVEYXRhKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRTaW5nbGVEYXRhID0gXCJcIjtcclxuICAgICAgdGhpcy5pbnB1dFNpbmdsZURhdGFDaGFuZ2UuZW1pdCh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaW5wdXRNdWx0aURhdGEpIHtcclxuICAgICAgdGhpcy5pbnB1dE11bHRpRGF0YSA9IHRoaXMubW9kaWZpZWREYXRhO1xyXG4gICAgICB0aGlzLmlucHV0TXVsdGlEYXRhQ2hhbmdlLmVtaXQodGhpcy5pbnB1dE11bHRpRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuZHJvcGRvd25Gb3JtLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICBzZW5kKGZvcm1Kc29uOiBzdHJpbmcpIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdERyb3Bkb3duSXRlbSgpIHtcclxuICAgIGxldCBkYXRhU2V0OiBPYmplY3RbXSA9IFtdO1xyXG5cclxuICAgIC8vIFNldCBkcm9wZG93biBkYXRhIGxpc3QgZnJvbSBhIGdpdmVuIGFycmF5IG9yIGEganNvbiBmaWxlXHJcbiAgICBpZiAodGhpcy5vcHRpb25EYXRhICYmIHRoaXMub3B0aW9uRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIC8vIEdldCBkcm9wZG93biBsaXN0IGRhdGEgZnJvbSBhbiBvYmplY3RcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIm9wdGlvbkRhdGE9XCIsIHRoaXMub3B0aW9uRGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgZGF0YVNldCA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLnNldERhdGEodW5kZWZpbmVkLCB0aGlzLm9wdGlvbkRhdGEsIHRoaXMuZGlzcGxheUZpZWxkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhVXJsICYmIHRoaXMuZGF0YVVybCAhPT0gXCJcIikge1xyXG4gICAgICAvLyBHZXQgZHJvcGRvd24gbGlzdCBkYXRhIGZyb20gYW4gdXJsIHdpdGgganNvbiBmaWxlXHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJkYXRhVXJsPVwiLCB0aGlzLmRhdGFVcmwpO1xyXG4gICAgICB9XHJcbiAgICAgIGRhdGFTZXQgPSB0aGlzLmRyb3Bkb3duU2VydmljZS5zZXREYXRhKHRoaXMuZGF0YVVybCwgdW5kZWZpbmVkLCB0aGlzLmRpc3BsYXlGaWVsZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiTmVpdGhlciBvcHRpb25EYXRhIG9yIGRhdGFVcmwgd2VyZSBkZWZpbmVkLlwiKTtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcImRhdGFVcmw9XCIsIHRoaXMuZGF0YVVybCk7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIm9wdGlvbkRhdGE9XCIsIHRoaXMub3B0aW9uRGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGaWx0ZXIgYW5kIHNvcnQgZGF0YVxyXG4gICAgdGhpcy5saXN0SXRlbXMgPSAodGVybTogc3RyaW5nKSA9PiB0aGlzLmRyb3Bkb3duU2VydmljZS5saXN0RGF0YSh0ZXJtLCBkYXRhU2V0KTtcclxuICAgIHRoaXMubGlzdEl0ZW1zTWF4ID0gKHRlcm06IHN0cmluZywgaWRzOiBhbnlbXSkgPT4ge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gaWRzID8gaWRzLmxlbmd0aCA6IDA7XHJcbiAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duU2VydmljZS5saXN0RGF0YU1heCh0ZXJtLCAzICsgc2VsZWN0ZWRDb3VudCwgZGF0YVNldClcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcChyZXNwb25zZSA9PiB0aGlzLmNvdW50ID0gcmVzcG9uc2UuY291bnQpLFxyXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UucmVzdWx0cylcclxuICAgICAgICApO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBHZXQgaXRlbXMgYW5kIHNldCB0aGVtIHRvIHRoZSBkcm9wZG93biBlbnRpcnlcclxuICAgIHRoaXMuZ2V0SXRlbXMgPSAoaWRzOiBhbnlbXSkgPT4gdGhpcy5kcm9wZG93blNlcnZpY2UuZ2V0SXRlbXMoaWRzLCBkYXRhU2V0KTtcclxuICAgIHRoaXMuZW50aXR5VG9TZWxlY3RJdGVtID0gKGVudGl0eTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGVudGl0eVt0aGlzLmRpc3BsYXlJZF0sXHJcbiAgICAgICAgdGV4dDogZW50aXR5W3RoaXMuZGlzcGxheUZpZWxkXSxcclxuICAgICAgICBlbnRpdHk6IGVudGl0eVxyXG4gICAgICB9O1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdERyb3Bkb3duRm9ybSgpIHtcclxuICAgIHRoaXMubW9kaWZpZWREYXRhLmxlbmd0aCA9IDA7XHJcblxyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25UeXBlID09PSAwICYmIHRoaXMuaW5wdXRTaW5nbGVEYXRhKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Gb3JtLmNvbnRyb2xzW1wiZHJvcGRvd25TaW5nbGVUeXBlQWhlYWRcIl0uc2V0VmFsdWUodGhpcy5pbnB1dFNpbmdsZURhdGEpO1xyXG4gICAgICB0aGlzLm1vZGlmaWVkRGF0YS5wdXNoKHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDEgJiYgdGhpcy5pbnB1dE11bHRpRGF0YSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duRm9ybS5jb250cm9sc1tcImRyb3Bkb3duTXVsdGlwbGVUeXBlQWhlYWRcIl0uc2V0VmFsdWUodGhpcy5pbnB1dE11bHRpRGF0YSk7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhID0gdGhpcy5pbnB1dE11bHRpRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kcm9wZG93blR5cGUgPT09IDIgJiYgdGhpcy5pbnB1dFNpbmdsZURhdGEpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bkZvcm0uY29udHJvbHNbXCJkcm9wZG93blNpbmdsZVwiXS5zZXRWYWx1ZSh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhLnB1c2godGhpcy5pbnB1dFNpbmdsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duVHlwZSA9PT0gMyAmJiB0aGlzLmlucHV0TXVsdGlEYXRhKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Gb3JtLmNvbnRyb2xzW1wiZHJvcGRvd25NdWx0aXBsZVwiXS5zZXRWYWx1ZSh0aGlzLmlucHV0TXVsdGlEYXRhKTtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEgPSB0aGlzLmlucHV0TXVsdGlEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duVHlwZSA9PT0gNCAmJiB0aGlzLmlucHV0U2luZ2xlRGF0YSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duRm9ybS5jb250cm9sc1tcImRyb3Bkb3duU2luZ2xlXCJdLnNldFZhbHVlKHRoaXMuaW5wdXRTaW5nbGVEYXRhKTtcclxuICAgICAgdGhpcy5tb2RpZmllZERhdGEucHVzaCh0aGlzLmlucHV0U2luZ2xlRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -8,23 +8,23 @@ import { DropdownComponent } from "./dropdown.component";
8
8
  import { TemplateDropdownDirective } from "./template-dropdown.directive";
9
9
  import * as i0 from "@angular/core";
10
10
  export class DropdownModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropdownModule, declarations: [TemplateDropdownDirective,
13
+ DropdownSelectComponent,
14
+ DropdownComponent,
15
+ DropdownSelectResultComponent], imports: [CommonModule,
16
+ FormsModule,
17
+ ReactiveFormsModule,
18
+ NgbModule], exports: [TemplateDropdownDirective,
19
+ DropdownSelectComponent,
20
+ DropdownComponent,
21
+ DropdownSelectResultComponent] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownModule, imports: [CommonModule,
23
+ FormsModule,
24
+ ReactiveFormsModule,
25
+ NgbModule] }); }
11
26
  }
12
- DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DropdownModule, declarations: [TemplateDropdownDirective,
14
- DropdownSelectComponent,
15
- DropdownComponent,
16
- DropdownSelectResultComponent], imports: [CommonModule,
17
- FormsModule,
18
- ReactiveFormsModule,
19
- NgbModule], exports: [TemplateDropdownDirective,
20
- DropdownSelectComponent,
21
- DropdownComponent,
22
- DropdownSelectResultComponent] });
23
- DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownModule, imports: [CommonModule,
24
- FormsModule,
25
- ReactiveFormsModule,
26
- NgbModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
47
47
  ]
48
48
  }]
49
49
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXJELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQXNCeEUsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxpQkFadkIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsNkJBQTZCLGFBVDdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFNBQVMsYUFTVCx5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLGlCQUFpQjtRQUNqQiw2QkFBNkI7NkdBR3BCLGNBQWMsWUFsQnZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFNBQVM7NEZBZUEsY0FBYztrQkFwQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFNBQVM7cUJBQ1Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7TmdiTW9kdWxlfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuXHJcbmltcG9ydCB7RHJvcGRvd25TZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEcm9wZG93blNlbGVjdFJlc3VsdENvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24tc2VsZWN0LXJlc3VsdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VGVtcGxhdGVEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSBcIi4vdGVtcGxhdGUtZHJvcGRvd24uZGlyZWN0aXZlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5nYk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25TZWxlY3RDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25TZWxlY3RDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Nb2R1bGUge31cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXJELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQXNCeEUsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQVp2Qix5QkFBeUI7WUFDekIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQiw2QkFBNkIsYUFUN0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsU0FBUyxhQVNULHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLDZCQUE2QjtnSEFHcEIsY0FBYyxZQWxCdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsU0FBUzs7NEZBZUEsY0FBYztrQkFwQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFNBQVM7cUJBQ1Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7TmdiTW9kdWxlfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuXHJcbmltcG9ydCB7RHJvcGRvd25TZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEcm9wZG93blNlbGVjdFJlc3VsdENvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24tc2VsZWN0LXJlc3VsdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VGVtcGxhdGVEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSBcIi4vdGVtcGxhdGUtZHJvcGRvd24uZGlyZWN0aXZlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5nYk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25TZWxlY3RDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25TZWxlY3RDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duU2VsZWN0UmVzdWx0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Nb2R1bGUge31cclxuIl19
@@ -121,13 +121,13 @@ export class DropdownService {
121
121
  getDataList(urlStr) {
122
122
  return this.http.get(this.dictionaryEndpoint + urlStr);
123
123
  }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownService, deps: [{ token: i1.HttpClient }, { token: DICTIONARY_ENDPOINT }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownService }); }
124
126
  }
125
- DropdownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownService, deps: [{ token: i1.HttpClient }, { token: DICTIONARY_ENDPOINT }], target: i0.ɵɵFactoryTarget.Injectable });
126
- DropdownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownService });
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownService, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownService, decorators: [{
128
128
  type: Injectable
129
129
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
130
130
  type: Inject,
131
131
  args: [DICTIONARY_ENDPOINT]
132
132
  }] }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9kcm9wZG93bi9kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBRWxGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pDLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQztJQUNmLG9CQUFvQixFQUFFLENBQUM7SUFDdkIsbUJBQW1CLEVBQUUsQ0FBQztDQUN2QixDQUFDLENBQUM7QUFHSCxNQUFNLE9BQU8sZUFBZTtJQW1CMUIsWUFBb0IsSUFBZ0IsRUFBdUMsa0JBQTBCO1FBQWpGLFNBQUksR0FBSixJQUFJLENBQVk7UUFBdUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBakJyRyxjQUFTLEdBQWMsRUFBRSxDQUFDO1FBRTFCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUVqQixZQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pGLFlBQU8sR0FBRyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUM7UUFF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QUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxXQUFXLENBQUMsTUFBYztRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs2R0FwSFUsZUFBZSw0Q0FtQm9CLG1CQUFtQjtpSEFuQnRELGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBb0I4QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7bWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmltcG9ydCB7RElDVElPTkFSWV9FTkRQT0lOVH0gZnJvbSBcIkBodW50c21hbi1jYW5jZXItaW5zdGl0dXRlL2RpY3Rpb25hcnktc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IERST1BET1dOX1RZUEUgPSBPYmplY3QuZnJlZXplKHtcclxuICBJTlBVVF9TSU5HTEU6IDAsXHJcbiAgSU5QVVRfTVVMVEk6IDEsXHJcbiAgU0VMRUNUX1NJTkdMRTogMixcclxuICBTRUxFQ1RfTVVMVEk6IDMsXHJcbiAgU0VMRUNUX1NJTkdMRV9DVVNUT006IDQsXHJcbiAgU0VMRUNUX01VTFRJX0NVU1RPTTogNVxyXG59KTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duU2VydmljZSB7XHJcblxyXG4gIGxpc3RGaWVsZCA6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIERJQ1RJT05BUllfRU5EUE9JTlQgPSBcIlwiO1xyXG5cclxuICBwcml2YXRlIGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24vanNvblwiKTtcclxuICBwcml2YXRlIG9wdGlvbnMgPSB7aGVhZGVyczogdGhpcy5oZWFkZXJzfTtcclxuXHJcbiAgc29ydEZ1bmN0aW9uOiAoZHJvcGRvd25PYmoxOiBPYmplY3QsIGRyb3Bkb3duT2JqMjogT2JqZWN0KSA9PiBudW1iZXIgPSAoZHJvcGRvd25PYmoxOiBPYmplY3QsIGRyb3Bkb3duT2JqMjogT2JqZWN0KSA9PiB7XHJcbiAgICBpZiAoZHJvcGRvd25PYmoxW3RoaXMubGlzdEZpZWxkWzBdXSA8IGRyb3Bkb3duT2JqMlt0aGlzLmxpc3RGaWVsZFswXV0pIHtcclxuICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfSBlbHNlIGlmIChkcm9wZG93bk9iajFbdGhpcy5saXN0RmllbGRbMF1dID4gZHJvcGRvd25PYmoyW3RoaXMubGlzdEZpZWxkWzBdXSkge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KERJQ1RJT05BUllfRU5EUE9JTlQpIHByaXZhdGUgZGljdGlvbmFyeUVuZHBvaW50OiBzdHJpbmcpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIGxpc3Qgb2YgZGF0YSBmcm9tIHRoZSBnaXZlbiBvYmplY3Qgb3IgdXJsIHRvIHNldCB0byB0aGUgZHJvcGRvd24gbGlzdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsU3RyXHJcbiAgICogQHBhcmFtIHtPYmplY3RbXX0gZGF0YU9iamVjdFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkaXNwbGF5RmllbGRcclxuICAgKiBAcmV0dXJucyB7YW55W119XHJcbiAgICovXHJcbiAgc2V0RGF0YSh1cmxTdHI6IHN0cmluZywgZGF0YU9iamVjdDogT2JqZWN0W10sIGRpc3BsYXlGaWVsZDogc3RyaW5nKTogYW55W10ge1xyXG4gICAgbGV0IGxpc3RGaWVsZFNldDogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCBkYXRhTGlzdFNldDogT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBpZiAoZGF0YU9iamVjdCkge1xyXG4gICAgICAvLyBTZXQgZGF0YSBmcm9tIHRoZSBwYXNzZWQgb2JqZWN0LlxyXG4gICAgICBpZiAoaXNEZXZNb2RlKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIkRyb3Bkb3duU2VydmljZS5zZXREYXRhLiBkYXRhT2JqZWN0PTpcIiwgZGF0YU9iamVjdCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRhdGFPYmplY3QpIHtcclxuICAgICAgICBpZiAobGlzdEZpZWxkU2V0Lmxlbmd0aCA9PT0gMCB8fCBsaXN0RmllbGRTZXRbMF0gPT09IFwiXCIpIHtcclxuICAgICAgICAgIGRhdGFPYmplY3QuZm9yRWFjaChpdGVtID0+IGRhdGFMaXN0U2V0LnB1c2goaXRlbSkpO1xyXG4gICAgICAgICAgbGlzdEZpZWxkU2V0LnB1c2goZGlzcGxheUZpZWxkKTtcclxuICAgICAgICAgIHRoaXMubGlzdEZpZWxkLnB1c2goZGlzcGxheUZpZWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodXJsU3RyICYmIHVybFN0ci5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgU2V0IGRhdGEgZnJvbSBhIHBhc3NlZCB1cmwuXHJcbiAgICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiRHJvcGRvd25TZXJ2aWNlLnNldERhdGEuIHVybFN0cj06XCIsIHVybFN0cik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXREYXRhTGlzdCh1cmxTdHIpLnN1YnNjcmliZSgoZGF0YTogT2JqZWN0W10pID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgaWYgKGxpc3RGaWVsZFNldC5sZW5ndGggPT09IDAgfHwgbGlzdEZpZWxkU2V0WzBdID09PSBcIlwiKSB7XHJcbiAgICAgICAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IGRhdGFMaXN0U2V0LnB1c2goaXRlbSkpO1xyXG4gICAgICAgICAgICBsaXN0RmllbGRTZXQucHVzaChkaXNwbGF5RmllbGQpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGaWVsZC5wdXNoKGRpc3BsYXlGaWVsZCk7XHJcblxyXG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGRhdGEpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKHRoaXMubGlzdEZpZWxkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTmVpdGhlciBvcHRpb25EYXRhIG9yIGRhdGFVcmwgd2VyZSBkZWZpbmVkLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YUxpc3RTZXQ7XHJcbiAgfVxyXG5cclxuICBsaXN0RGF0YShwYXR0ZXJuOiBzdHJpbmcsIGRhdGFTZXQ6IGFueVtdLCBtYXhSZXN1bHRzPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxPYmplY3RbXT4ge1xyXG4gICAgcmV0dXJuIG9mKGRhdGFTZXRcclxuICAgICAgLmZpbHRlcigoZHJvcGRvd25PYmopID0+IGRyb3Bkb3duT2JqW3RoaXMubGlzdEZpZWxkWzBdXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YocGF0dGVybi50b1VwcGVyQ2FzZSgpKSAhPT0gLTEpXHJcbiAgICAgIC5zb3J0KHRoaXMuc29ydEZ1bmN0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIG1heCBsaXN0IGRhdGFcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0dGVyblxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhSZXN1bHRzXHJcbiAgICogQHBhcmFtIHthbnlbXX0gZGF0YVNldFxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHtjb3VudDogbnVtYmVyOyByZXN1bHRzOiBPYmplY3RbXX0+fVxyXG4gICAqL1xyXG4gIGxpc3REYXRhTWF4KHBhdHRlcm46IHN0cmluZywgbWF4UmVzdWx0czogbnVtYmVyLCBkYXRhU2V0OiBhbnlbXSk6IE9ic2VydmFibGU8eyBjb3VudDogbnVtYmVyLCByZXN1bHRzOiBPYmplY3RbXSB9PiB7XHJcbiAgICBjb25zdCBmaWx0ZXJlZExpc3QgPSBkYXRhU2V0XHJcbiAgICAgIC5maWx0ZXIoKGRyb3Bkb3duT2JqKSA9PiBkcm9wZG93bk9ialt0aGlzLmxpc3RGaWVsZFswXV0udG9VcHBlckNhc2UoKS5pbmRleE9mKHBhdHRlcm4udG9VcHBlckNhc2UoKSkgIT09IC0xKVxyXG4gICAgICAuc29ydCh0aGlzLnNvcnRGdW5jdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIHRpbWVyKDMwMDApXHJcbiAgICAgIC5waXBlKG1hcCgodCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBjb3VudDogZmlsdGVyZWRMaXN0Lmxlbmd0aCxcclxuICAgICAgICAgIHJlc3VsdHM6IG1heFJlc3VsdHMgJiYgbWF4UmVzdWx0cyA8IGZpbHRlcmVkTGlzdC5sZW5ndGggPyBmaWx0ZXJlZExpc3Quc3BsaWNlKDAsIG1heFJlc3VsdHMpIDogZmlsdGVyZWRMaXN0XHJcbiAgICAgICAgfTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVzaCB0aGUgc2VsZWN0ZWQgaXRlbXMgdG8gYSBsaXN0IHRvIHNob3cgaW4gdGhlIGlucHV0IHRleHQgYXJlYS5cclxuICAgKiBAcGFyYW0ge2FueVtdfSBpZHNcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhU2V0XHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8T2JqZWN0W10+fVxyXG4gICAqL1xyXG4gIGdldEl0ZW1zKGlkczogYW55W10sIGRhdGFTZXQ6IGFueVtdKTogT2JzZXJ2YWJsZTxPYmplY3RbXT4ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBpZHMuZm9yRWFjaCgoaWQpID0+IHtcclxuICAgICAgZGF0YVNldFxyXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHNlbGVjdGVkSXRlbXMucHVzaChpdGVtKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb2Yoc2VsZWN0ZWRJdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvLyBHZXQgZGF0YSBmcm9tIHRoZSBnaXZlbiB1cmwgdG8gc2V0IGluIHRoZSBkcm9wZG93biBsaXN0LlxyXG4gIGdldERhdGFMaXN0KHVybFN0cjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZGljdGlvbmFyeUVuZHBvaW50ICsgdXJsU3RyKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9kcm9wZG93bi9kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBRWxGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pDLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQztJQUNmLG9CQUFvQixFQUFFLENBQUM7SUFDdkIsbUJBQW1CLEVBQUUsQ0FBQztDQUN2QixDQUFDLENBQUM7QUFHSCxNQUFNLE9BQU8sZUFBZTtJQW1CMUIsWUFBb0IsSUFBZ0IsRUFBdUMsa0JBQTBCO1FBQWpGLFNBQUksR0FBSixJQUFJLENBQVk7UUFBdUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBakJyRyxjQUFTLEdBQWMsRUFBRSxDQUFDO1FBRTFCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUVqQixZQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pGLFlBQU8sR0FBRyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUM7UUFF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QUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxXQUFXLENBQUMsTUFBYztRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQXBIVSxlQUFlLDRDQW1Cb0IsbUJBQW1CO21IQW5CdEQsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBb0I4QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7bWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmltcG9ydCB7RElDVElPTkFSWV9FTkRQT0lOVH0gZnJvbSBcIkBodW50c21hbi1jYW5jZXItaW5zdGl0dXRlL2RpY3Rpb25hcnktc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IERST1BET1dOX1RZUEUgPSBPYmplY3QuZnJlZXplKHtcclxuICBJTlBVVF9TSU5HTEU6IDAsXHJcbiAgSU5QVVRfTVVMVEk6IDEsXHJcbiAgU0VMRUNUX1NJTkdMRTogMixcclxuICBTRUxFQ1RfTVVMVEk6IDMsXHJcbiAgU0VMRUNUX1NJTkdMRV9DVVNUT006IDQsXHJcbiAgU0VMRUNUX01VTFRJX0NVU1RPTTogNVxyXG59KTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duU2VydmljZSB7XHJcblxyXG4gIGxpc3RGaWVsZCA6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIERJQ1RJT05BUllfRU5EUE9JTlQgPSBcIlwiO1xyXG5cclxuICBwcml2YXRlIGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24vanNvblwiKTtcclxuICBwcml2YXRlIG9wdGlvbnMgPSB7aGVhZGVyczogdGhpcy5oZWFkZXJzfTtcclxuXHJcbiAgc29ydEZ1bmN0aW9uOiAoZHJvcGRvd25PYmoxOiBPYmplY3QsIGRyb3Bkb3duT2JqMjogT2JqZWN0KSA9PiBudW1iZXIgPSAoZHJvcGRvd25PYmoxOiBPYmplY3QsIGRyb3Bkb3duT2JqMjogT2JqZWN0KSA9PiB7XHJcbiAgICBpZiAoZHJvcGRvd25PYmoxW3RoaXMubGlzdEZpZWxkWzBdXSA8IGRyb3Bkb3duT2JqMlt0aGlzLmxpc3RGaWVsZFswXV0pIHtcclxuICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfSBlbHNlIGlmIChkcm9wZG93bk9iajFbdGhpcy5saXN0RmllbGRbMF1dID4gZHJvcGRvd25PYmoyW3RoaXMubGlzdEZpZWxkWzBdXSkge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KERJQ1RJT05BUllfRU5EUE9JTlQpIHByaXZhdGUgZGljdGlvbmFyeUVuZHBvaW50OiBzdHJpbmcpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIGxpc3Qgb2YgZGF0YSBmcm9tIHRoZSBnaXZlbiBvYmplY3Qgb3IgdXJsIHRvIHNldCB0byB0aGUgZHJvcGRvd24gbGlzdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsU3RyXHJcbiAgICogQHBhcmFtIHtPYmplY3RbXX0gZGF0YU9iamVjdFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkaXNwbGF5RmllbGRcclxuICAgKiBAcmV0dXJucyB7YW55W119XHJcbiAgICovXHJcbiAgc2V0RGF0YSh1cmxTdHI6IHN0cmluZywgZGF0YU9iamVjdDogT2JqZWN0W10sIGRpc3BsYXlGaWVsZDogc3RyaW5nKTogYW55W10ge1xyXG4gICAgbGV0IGxpc3RGaWVsZFNldDogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCBkYXRhTGlzdFNldDogT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBpZiAoZGF0YU9iamVjdCkge1xyXG4gICAgICAvLyBTZXQgZGF0YSBmcm9tIHRoZSBwYXNzZWQgb2JqZWN0LlxyXG4gICAgICBpZiAoaXNEZXZNb2RlKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIkRyb3Bkb3duU2VydmljZS5zZXREYXRhLiBkYXRhT2JqZWN0PTpcIiwgZGF0YU9iamVjdCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRhdGFPYmplY3QpIHtcclxuICAgICAgICBpZiAobGlzdEZpZWxkU2V0Lmxlbmd0aCA9PT0gMCB8fCBsaXN0RmllbGRTZXRbMF0gPT09IFwiXCIpIHtcclxuICAgICAgICAgIGRhdGFPYmplY3QuZm9yRWFjaChpdGVtID0+IGRhdGFMaXN0U2V0LnB1c2goaXRlbSkpO1xyXG4gICAgICAgICAgbGlzdEZpZWxkU2V0LnB1c2goZGlzcGxheUZpZWxkKTtcclxuICAgICAgICAgIHRoaXMubGlzdEZpZWxkLnB1c2goZGlzcGxheUZpZWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodXJsU3RyICYmIHVybFN0ci5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgU2V0IGRhdGEgZnJvbSBhIHBhc3NlZCB1cmwuXHJcbiAgICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiRHJvcGRvd25TZXJ2aWNlLnNldERhdGEuIHVybFN0cj06XCIsIHVybFN0cik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXREYXRhTGlzdCh1cmxTdHIpLnN1YnNjcmliZSgoZGF0YTogT2JqZWN0W10pID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgaWYgKGxpc3RGaWVsZFNldC5sZW5ndGggPT09IDAgfHwgbGlzdEZpZWxkU2V0WzBdID09PSBcIlwiKSB7XHJcbiAgICAgICAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IGRhdGFMaXN0U2V0LnB1c2goaXRlbSkpO1xyXG4gICAgICAgICAgICBsaXN0RmllbGRTZXQucHVzaChkaXNwbGF5RmllbGQpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGaWVsZC5wdXNoKGRpc3BsYXlGaWVsZCk7XHJcblxyXG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGRhdGEpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKHRoaXMubGlzdEZpZWxkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTmVpdGhlciBvcHRpb25EYXRhIG9yIGRhdGFVcmwgd2VyZSBkZWZpbmVkLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YUxpc3RTZXQ7XHJcbiAgfVxyXG5cclxuICBsaXN0RGF0YShwYXR0ZXJuOiBzdHJpbmcsIGRhdGFTZXQ6IGFueVtdLCBtYXhSZXN1bHRzPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxPYmplY3RbXT4ge1xyXG4gICAgcmV0dXJuIG9mKGRhdGFTZXRcclxuICAgICAgLmZpbHRlcigoZHJvcGRvd25PYmopID0+IGRyb3Bkb3duT2JqW3RoaXMubGlzdEZpZWxkWzBdXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YocGF0dGVybi50b1VwcGVyQ2FzZSgpKSAhPT0gLTEpXHJcbiAgICAgIC5zb3J0KHRoaXMuc29ydEZ1bmN0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIG1heCBsaXN0IGRhdGFcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0dGVyblxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhSZXN1bHRzXHJcbiAgICogQHBhcmFtIHthbnlbXX0gZGF0YVNldFxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHtjb3VudDogbnVtYmVyOyByZXN1bHRzOiBPYmplY3RbXX0+fVxyXG4gICAqL1xyXG4gIGxpc3REYXRhTWF4KHBhdHRlcm46IHN0cmluZywgbWF4UmVzdWx0czogbnVtYmVyLCBkYXRhU2V0OiBhbnlbXSk6IE9ic2VydmFibGU8eyBjb3VudDogbnVtYmVyLCByZXN1bHRzOiBPYmplY3RbXSB9PiB7XHJcbiAgICBjb25zdCBmaWx0ZXJlZExpc3QgPSBkYXRhU2V0XHJcbiAgICAgIC5maWx0ZXIoKGRyb3Bkb3duT2JqKSA9PiBkcm9wZG93bk9ialt0aGlzLmxpc3RGaWVsZFswXV0udG9VcHBlckNhc2UoKS5pbmRleE9mKHBhdHRlcm4udG9VcHBlckNhc2UoKSkgIT09IC0xKVxyXG4gICAgICAuc29ydCh0aGlzLnNvcnRGdW5jdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIHRpbWVyKDMwMDApXHJcbiAgICAgIC5waXBlKG1hcCgodCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBjb3VudDogZmlsdGVyZWRMaXN0Lmxlbmd0aCxcclxuICAgICAgICAgIHJlc3VsdHM6IG1heFJlc3VsdHMgJiYgbWF4UmVzdWx0cyA8IGZpbHRlcmVkTGlzdC5sZW5ndGggPyBmaWx0ZXJlZExpc3Quc3BsaWNlKDAsIG1heFJlc3VsdHMpIDogZmlsdGVyZWRMaXN0XHJcbiAgICAgICAgfTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVzaCB0aGUgc2VsZWN0ZWQgaXRlbXMgdG8gYSBsaXN0IHRvIHNob3cgaW4gdGhlIGlucHV0IHRleHQgYXJlYS5cclxuICAgKiBAcGFyYW0ge2FueVtdfSBpZHNcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhU2V0XHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8T2JqZWN0W10+fVxyXG4gICAqL1xyXG4gIGdldEl0ZW1zKGlkczogYW55W10sIGRhdGFTZXQ6IGFueVtdKTogT2JzZXJ2YWJsZTxPYmplY3RbXT4ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBpZHMuZm9yRWFjaCgoaWQpID0+IHtcclxuICAgICAgZGF0YVNldFxyXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHNlbGVjdGVkSXRlbXMucHVzaChpdGVtKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb2Yoc2VsZWN0ZWRJdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvLyBHZXQgZGF0YSBmcm9tIHRoZSBnaXZlbiB1cmwgdG8gc2V0IGluIHRoZSBkcm9wZG93biBsaXN0LlxyXG4gIGdldERhdGFMaXN0KHVybFN0cjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZGljdGlvbmFyeUVuZHBvaW50ICsgdXJsU3RyKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A model of common messages for dropdown components.
3
+ *
4
+ * @since 5.0.0
5
+ */
6
+ export class Messages {
7
+ static { this.PARTIAL_COUNT_VAR = "%PARTIAL_COUNT%"; }
8
+ static { this.TOTAL_COUNT_VAR = "%TOTAL_COUNT%"; }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dC9zcmMvZHJvcGRvd24vbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxRQUFRO2FBRUgsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7YUFDdEMsb0JBQWUsR0FBRyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQSBtb2RlbCBvZiBjb21tb24gbWVzc2FnZXMgZm9yIGRyb3Bkb3duIGNvbXBvbmVudHMuXHJcbiAqXHJcbiAqIEBzaW5jZSA1LjAuMFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VzIHtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFBBUlRJQUxfQ09VTlRfVkFSID0gXCIlUEFSVElBTF9DT1VOVCVcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgVE9UQUxfQ09VTlRfVkFSID0gXCIlVE9UQUxfQ09VTlQlXCI7XHJcblxyXG4gIG1vcmVSZXN1bHRzTXNnPzogc3RyaW5nO1xyXG4gIG5vUmVzdWx0c01zZz86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -12,10 +12,10 @@ export class TemplateDropdownDirective {
12
12
  host.templateRef = templateRef;
13
13
  }
14
14
  }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateDropdownDirective, deps: [{ token: i0.TemplateRef }, { token: i1.DropdownSelectComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TemplateDropdownDirective, selector: "[appTemplateDropdown]", ngImport: i0 }); }
15
17
  }
16
- TemplateDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateDropdownDirective, deps: [{ token: i0.TemplateRef }, { token: i1.DropdownSelectComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
17
- TemplateDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TemplateDropdownDirective, selector: "[appTemplateDropdown]", ngImport: i0 });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateDropdownDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateDropdownDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: "[appTemplateDropdown]"
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
23
23
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.DropdownSelectComponent, decorators: [{
24
24
  type: Host
25
25
  }] }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL3RlbXBsYXRlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7OztBQUVwRTs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBb0IsV0FBMkIsRUFBVSxJQUE2QjtRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDN0MsSUFBSSxJQUFJLFlBQVksdUJBQXVCLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7U0FDaEM7SUFDSCxDQUFDOzt1SEFOVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOzswQkFHbUQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0LCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEcm9wZG93blNlbGVjdENvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIEEgY3VzdG9taXplZCB0ZW1wbGF0ZSBmb3IgRHJvcGRvd24gbGlzdCBpdGVtcy5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcIlthcHBUZW1wbGF0ZURyb3Bkb3duXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlPFQ+IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIEBIb3N0KCkgaG9zdDogRHJvcGRvd25TZWxlY3RDb21wb25lbnQpIHtcclxuICAgIGlmIChob3N0IGluc3RhbmNlb2YgRHJvcGRvd25TZWxlY3RDb21wb25lbnQpIHtcclxuICAgICAgaG9zdC50ZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXQvc3JjL2Ryb3Bkb3duL3RlbXBsYXRlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7OztBQUVwRTs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBb0IsV0FBMkIsRUFBVSxJQUE2QjtRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDN0MsSUFBSSxJQUFJLFlBQVksdUJBQXVCLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7U0FDaEM7SUFDSCxDQUFDOytHQU5VLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOzswQkFHbUQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0LCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEcm9wZG93blNlbGVjdENvbXBvbmVudH0gZnJvbSBcIi4vZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIEEgY3VzdG9taXplZCB0ZW1wbGF0ZSBmb3IgRHJvcGRvd24gbGlzdCBpdGVtcy5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcIlthcHBUZW1wbGF0ZURyb3Bkb3duXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZURyb3Bkb3duRGlyZWN0aXZlPFQ+IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIEBIb3N0KCkgaG9zdDogRHJvcGRvd25TZWxlY3RDb21wb25lbnQpIHtcclxuICAgIGlmIChob3N0IGluc3RhbmNlb2YgRHJvcGRvd25TZWxlY3RDb21wb25lbnQpIHtcclxuICAgICAgaG9zdC50ZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19