mapa-library-ui 0.71.0 → 0.72.0

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 (137) hide show
  1. package/esm2020/lib/core/interfaces/element-option.interface.mjs +1 -1
  2. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  3. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  4. package/esm2020/src/lib/components/capability/lib/core/interfaces/element-option.interface.mjs +1 -1
  5. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  6. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  7. package/esm2020/src/lib/components/chart/lib/core/interfaces/element-option.interface.mjs +1 -1
  8. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  9. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  10. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs +38 -263
  11. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.mjs +5 -1
  12. package/esm2020/src/lib/components/dropdown/lib/core/elements/index.mjs +10 -0
  13. package/esm2020/src/lib/components/dropdown/lib/core/elements/input-text.mjs +8 -0
  14. package/esm2020/src/lib/components/dropdown/lib/core/elements/radio-button.mjs +8 -0
  15. package/esm2020/src/lib/components/dropdown/lib/core/elements/slide-toggle.mjs +8 -0
  16. package/esm2020/src/lib/components/dropdown/lib/core/elements/textarea.mjs +8 -0
  17. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.mjs +2 -0
  18. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.mjs +2 -0
  19. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/classification.interface.mjs +2 -0
  20. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.mjs +2 -0
  21. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.mjs +1 -1
  22. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/index.mjs +7 -0
  23. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.mjs +2 -0
  24. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.mjs +2 -0
  25. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  26. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  27. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +38 -263
  28. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.mjs +5 -1
  29. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/index.mjs +10 -0
  30. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/input-text.mjs +8 -0
  31. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/radio-button.mjs +8 -0
  32. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.mjs +8 -0
  33. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/textarea.mjs +8 -0
  34. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.mjs +2 -0
  35. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.mjs +2 -0
  36. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/classification.interface.mjs +2 -0
  37. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.mjs +2 -0
  38. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.mjs +1 -1
  39. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/index.mjs +7 -0
  40. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-column.interface.mjs +2 -0
  41. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.mjs +2 -0
  42. package/esm2020/src/lib/components/form/lib/core/interfaces/element-option.interface.mjs +1 -1
  43. package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  44. package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  45. package/esm2020/src/lib/components/group-report/lib/core/interfaces/element-option.interface.mjs +1 -1
  46. package/esm2020/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.mjs +1 -1
  47. package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.mjs +1 -1
  48. package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  49. package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  50. package/esm2020/src/lib/components/scale/lib/core/interfaces/element-option.interface.mjs +1 -1
  51. package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  52. package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  53. package/esm2020/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.mjs +1 -1
  54. package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.mjs +1 -1
  55. package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-option.interface.mjs +1 -1
  56. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +25 -10
  57. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  58. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +23 -8
  59. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  60. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +62 -334
  61. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  62. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +62 -334
  63. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  64. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +25 -10
  65. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  66. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +24 -10
  67. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  68. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +22 -8
  69. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  70. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +63 -323
  71. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  72. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +63 -323
  73. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  74. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +24 -10
  75. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  76. package/lib/core/interfaces/element-option.interface.d.ts +1 -0
  77. package/mapa-library-ui-0.72.0.tgz +0 -0
  78. package/package.json +1 -1
  79. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  80. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  81. package/src/lib/components/capability/lib/core/interfaces/element-option.interface.d.ts +1 -0
  82. package/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  83. package/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  84. package/src/lib/components/chart/lib/core/interfaces/element-option.interface.d.ts +1 -0
  85. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  86. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  87. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.d.ts +8 -67
  88. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.d.ts +10 -9
  89. package/src/lib/components/dropdown/lib/core/elements/index.d.ts +9 -0
  90. package/src/lib/components/dropdown/lib/core/elements/input-text.d.ts +4 -0
  91. package/src/lib/components/dropdown/lib/core/elements/radio-button.d.ts +4 -0
  92. package/src/lib/components/dropdown/lib/core/elements/slide-toggle.d.ts +4 -0
  93. package/src/lib/components/dropdown/lib/core/elements/textarea.d.ts +4 -0
  94. package/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.d.ts +6 -0
  95. package/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.d.ts +19 -0
  96. package/src/lib/components/dropdown/lib/core/interfaces/classification.interface.d.ts +6 -0
  97. package/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.d.ts +11 -0
  98. package/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.d.ts +1 -0
  99. package/src/lib/components/dropdown/lib/core/interfaces/index.d.ts +6 -0
  100. package/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.d.ts +19 -0
  101. package/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.d.ts +4 -0
  102. package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  103. package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  104. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.d.ts +8 -67
  105. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.d.ts +10 -9
  106. package/src/lib/components/dropdown-tree/lib/core/elements/index.d.ts +9 -0
  107. package/src/lib/components/dropdown-tree/lib/core/elements/input-text.d.ts +4 -0
  108. package/src/lib/components/dropdown-tree/lib/core/elements/radio-button.d.ts +4 -0
  109. package/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.d.ts +4 -0
  110. package/src/lib/components/dropdown-tree/lib/core/elements/textarea.d.ts +4 -0
  111. package/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.d.ts +6 -0
  112. package/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.d.ts +19 -0
  113. package/src/lib/components/dropdown-tree/lib/core/interfaces/classification.interface.d.ts +6 -0
  114. package/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.d.ts +11 -0
  115. package/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.d.ts +1 -0
  116. package/src/lib/components/dropdown-tree/lib/core/interfaces/index.d.ts +6 -0
  117. package/src/lib/components/dropdown-tree/lib/core/interfaces/table-column.interface.d.ts +19 -0
  118. package/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.d.ts +4 -0
  119. package/src/lib/components/form/lib/core/interfaces/element-option.interface.d.ts +1 -0
  120. package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  121. package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  122. package/src/lib/components/group-report/lib/core/interfaces/element-option.interface.d.ts +1 -0
  123. package/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.d.ts +1 -0
  124. package/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.d.ts +1 -0
  125. package/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  126. package/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  127. package/src/lib/components/scale/lib/core/interfaces/element-option.interface.d.ts +1 -0
  128. package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  129. package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  130. package/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.d.ts +1 -0
  131. package/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.d.ts +1 -0
  132. package/src/lib/components/textarea/lib/core/interfaces/element-option.interface.d.ts +1 -0
  133. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/checklist-database.mjs +0 -58
  134. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/checklist-database.mjs +0 -58
  135. package/mapa-library-ui-0.71.0.tgz +0 -0
  136. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/checklist-database.d.ts +0 -13
  137. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/checklist-database.d.ts +0 -13
@@ -4,12 +4,13 @@ import { Subject } from "rxjs/internal/Subject";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/forms";
7
- import * as i3 from "../../button/src/button.component";
8
- import * as i4 from "@angular/material/icon";
9
- import * as i5 from "@angular/material/form-field";
10
- import * as i6 from "@angular/material/select";
11
- import * as i7 from "@angular/material/core";
12
- import * as i8 from "ngx-mat-select-search";
7
+ import * as i3 from "@angular/material/checkbox";
8
+ import * as i4 from "../../button/src/button.component";
9
+ import * as i5 from "@angular/material/icon";
10
+ import * as i6 from "@angular/material/form-field";
11
+ import * as i7 from "@angular/material/select";
12
+ import * as i8 from "@angular/material/core";
13
+ import * as i9 from "ngx-mat-select-search";
13
14
  export class MapaDropdownComponent {
14
15
  get selectedOptions() {
15
16
  const value = this.formControl?.value || [];
@@ -110,7 +111,8 @@ export class MapaDropdownComponent {
110
111
  filteredLength === this.filteredOptionsCache.length;
111
112
  }
112
113
  }
113
- toggleSelectAll(selectAllValue) {
114
+ toggleSelectAll(event) {
115
+ const selectAllValue = event.checked;
114
116
  this.filteredOptions.subscribe((options) => {
115
117
  if (selectAllValue) {
116
118
  this.formControl?.patchValue(options);
@@ -128,6 +130,14 @@ export class MapaDropdownComponent {
128
130
  }
129
131
  });
130
132
  }
133
+ toggleSelection(change) {
134
+ if (change.checked) {
135
+ this.formControl?.setValue(this.filteredOptions);
136
+ }
137
+ else {
138
+ this.formControl?.setValue([]);
139
+ }
140
+ }
131
141
  isElementGroup(object) {
132
142
  try {
133
143
  return (object.label !== undefined &&
@@ -149,10 +159,10 @@ export class MapaDropdownComponent {
149
159
  }
150
160
  }
151
161
  MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
- MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n \n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], 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.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
162
+ MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n <mat-option\n *ngIf=\"element.multiple\"\n class=\"mapa-dropdown__option--select-all\"\n >\n <mat-checkbox\n class=\"mat-option\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectAll($event)\"\n >\n Selecionar todos\n </mat-checkbox>\n </mat-option>\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option\n *ngFor=\"let option of group.options\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </ng-template>\n\n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__option--children-level-1{padding-left:30px!important}.mapa-dropdown__option--children-level-2{padding-left:50px!important}.mapa-dropdown__option--children-level-3{padding-left:70px!important}.mapa-dropdown__option--children-level-4{padding-left:90px!important}.mapa-dropdown__option--children-level-5{padding-left:100px!important}.mapa-dropdown__option--children-level-6{padding-left:120px!important}.mapa-dropdown__option--select-all .mat-pseudo-checkbox{display:none!important}.mapa-dropdown__option--select-all .mat-checkbox{padding:0!important}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
153
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
154
164
  type: Component,
155
- args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n \n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
165
+ args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n <mat-option\n *ngIf=\"element.multiple\"\n class=\"mapa-dropdown__option--select-all\"\n >\n <mat-checkbox\n class=\"mat-option\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectAll($event)\"\n >\n Selecionar todos\n </mat-checkbox>\n </mat-option>\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option\n *ngFor=\"let option of group.options\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </ng-template>\n\n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__option--children-level-1{padding-left:30px!important}.mapa-dropdown__option--children-level-2{padding-left:50px!important}.mapa-dropdown__option--children-level-3{padding-left:70px!important}.mapa-dropdown__option--children-level-4{padding-left:90px!important}.mapa-dropdown__option--children-level-5{padding-left:100px!important}.mapa-dropdown__option--children-level-6{padding-left:120px!important}.mapa-dropdown__option--select-all .mat-pseudo-checkbox{display:none!important}.mapa-dropdown__option--select-all .mat-checkbox{padding:0!important}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
156
166
  }], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
157
167
  type: Input
158
168
  }], formControlSearch: [{
@@ -165,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
165
175
  type: ViewChild,
166
176
  args: ["dropdown", { static: true }]
167
177
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBYWhELE1BQU0sT0FBTyxxQkFBcUI7SUFzQmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEO1FBbkJPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUz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b21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sU2VhcmNoITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBEcm9wZG93bjtcbiAgQElucHV0KCkgYm9yZGVyOiBcInNvZnRcIiB8IFwidGFnXCIgfCBcImhpZ2hsaWdodFwiIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKFwiZHJvcGRvd25cIiwgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd24hOiBNYXRTZWxlY3Q7XG5cbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUmVwbGF5U3ViamVjdDxFbGVtZW50T3B0aW9uW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudE9wdGlvbltdXG4gID4oMSk7XG4gIHB1YmxpYyBmaWx0ZXJlZEdyb3VwczogUmVwbGF5U3ViamVjdDxFbGVtZW50R3JvdXBbXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50R3JvdXBbXVxuICA+KDEpO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRPcHRpb25zQ2FjaGU6IEVsZW1lbnRPcHRpb25bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRHcm91cENhY2hlOiBFbGVtZW50R3JvdXBbXSA9IFtdO1xuICBwcm90ZWN0ZWQgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gIGlzQ2hlY2tlZCA9IGZhbHNlO1xuICBpc09wdGlvbnNHcm91cCA9IGZhbHNlO1xuXG4gIGdldCBzZWxlY3RlZE9wdGlvbnMoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sPy52YWx1ZSB8fCBbXTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSk/IHZhbHVlOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbXCJlbGVtZW50XCJdLnByZXZpb3VzVmFsdWU/LmNvbnRyb2xUeXBlID09PSBcImRyb3Bkb3duXCIgJiZcbiAgICAgIGNoYW5nZXNbXCJlbGVtZW50XCJdLnByZXZpb3VzVmFsdWU/Lm9wdGlvbnMgIT09IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZT8ub3B0aW9uc1xuICAgICkge1xuICAgICAgdGhpcy5lbGVtZW50Lm9wdGlvbnMgPSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWUub3B0aW9ucztcbiAgICAgIHRoaXMuc2V0T3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcHRpb25zR3JvdXAgPSB0aGlzLmlzRWxlbWVudEdyb3VwKHRoaXMuZWxlbWVudC5vcHRpb25zWzBdKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICBjb25zdCBncm91cHMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gZ3JvdXBzXG4gICAgICAgIC5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGdyb3VwLmxhYmVsLFxuICAgICAgICAgIG9wdGlvbnM6IHRoaXMuZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChncm91cCwgc2VhcmNoKSxcbiAgICAgICAgfSkpXG4gICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zLmxlbmd0aCA+IDApO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXTtcbiAgICAgIGlmICghc2VhcmNoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLnNsaWNlKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlciB0aGUgb3B0aW9uc1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAob3B0aW9uOiBFbGVtZW50T3B0aW9uKSA9PlxuICAgICAgICAgIG9wdGlvbi52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoc2VsZWN0QWxsVmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5zdWJzY3JpYmUoKG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdEFsbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUob3B0aW9ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLnN1YnNjcmliZSgoZ3JvdXBzOiBFbGVtZW50R3JvdXBbXSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdEFsbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoXG4gICAgICAgICAgZ3JvdXBzLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cbiAgXG4gIGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtZm9ybS0taW5saW5lXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25cIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1zb2Z0LWJvcmRlcl09XCJib3JkZXIgPT09ICdzb2Z0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tdGFnXT1cImJvcmRlciA9PT0gJ3RhZydcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbGVtZW50LnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hJbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAodG9nZ2xlQWxsKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNFbGVtZW50T3B0aW9ucz5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIFxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbkxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4TGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7OztBQWNoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQyxJQUFJLGVBQWU7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDtRQW5CTyxvQkFBZSxHQUFtQyxJQUFJLGFBQWEsQ0FFeEUsQ0FBQyxDQUFDLENBQUM7UUFDRSxtQkFBYyxHQUFrQyxJQUFJLGFBQWEsQ0FFdEUsQ0FBQyxDQUFDLENBQUM7UUFDSyx5QkFBb0IsR0FBb0IsRUFBRSxDQUFDO1FBQzNDLHVCQUFrQixHQUFtQixFQUFFLENBQUM7UUFDeEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFF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aUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFbUMsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKT8gdmFsdWU6IFt2YWx1ZV07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGdyb3VwLmxhYmVsLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpXG4gICAgICA/IGdyb3VwLm9wdGlvbnNcbiAgICAgIDogZ3JvdXAub3B0aW9ucy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnMoKSB7XG4gICAgaWYgKCF0aGlzLmVsZW1lbnQub3B0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBnZXQgdGhlIHNlYXJjaCBrZXl3b3JkXG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgb3B0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCkge1xuICAgIGxldCBmaWx0ZXJlZExlbmd0aCA9IDA7XG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZTtcblxuICAgIGlmIChzZWFyY2ggJiYgc2VhcmNoLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiZcbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICBjb25zdCBzZWxlY3RBbGxWYWx1ZSA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdGlvbihjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZS5jaGVja2VkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbHRlcmVkT3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnNldFZhbHVlKFtdKTtcbiAgICB9XG4gIH0gIFxuICBcbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cbiAgXG4gIGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtZm9ybS0taW5saW5lXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25cIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1zb2Z0LWJvcmRlcl09XCJib3JkZXIgPT09ICdzb2Z0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tdGFnXT1cImJvcmRlciA9PT0gJ3RhZydcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbGVtZW50LnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbkxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4TGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -9,6 +9,7 @@ import { NgxMatSelectSearchModule } from "ngx-mat-select-search";
9
9
  import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from "@angular/material/form-field";
10
10
  import { MatButtonModule } from "@angular/material/button";
11
11
  import { MapaButtonModule } from "../../button/public-api";
12
+ import { MatCheckboxModule } from "@angular/material/checkbox";
12
13
  import * as i0 from "@angular/core";
13
14
  export class MapaDropdownModule {
14
15
  }
@@ -17,6 +18,7 @@ MapaDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
17
18
  FormsModule,
18
19
  ReactiveFormsModule,
19
20
  MatButtonModule,
21
+ MatCheckboxModule,
20
22
  MapaButtonModule,
21
23
  MatListModule,
22
24
  MatIconModule,
@@ -35,6 +37,7 @@ MapaDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
35
37
  FormsModule,
36
38
  ReactiveFormsModule,
37
39
  MatButtonModule,
40
+ MatCheckboxModule,
38
41
  MapaButtonModule,
39
42
  MatListModule,
40
43
  MatIconModule,
@@ -50,6 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
50
53
  FormsModule,
51
54
  ReactiveFormsModule,
52
55
  MatButtonModule,
56
+ MatCheckboxModule,
53
57
  MapaButtonModule,
54
58
  MatListModule,
55
59
  MatIconModule,
@@ -68,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
68
72
  ],
69
73
  }]
70
74
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBMkIzRCxNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBeEJkLHFCQUFxQixhQUdsQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLHdCQUF3QixhQVZoQixxQkFBcUI7aUhBdUJwQixrQkFBa0IsYUFYbEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUU7U0FDekQ7UUFDRDtZQUNFLE9BQU8sRUFBRSw4QkFBOEI7WUFDdkMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtTQUNwQztLQUNGLFlBbkJDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2Ysd0JBQXdCOzRGQWFmLGtCQUFrQjtrQkF6QjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFO3lCQUN6RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsOEJBQThCOzRCQUN2QyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO3lCQUNwQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcblxuaW1wb3J0IHsgTWFwYURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNQVRfU0VMRUNUX0NPTkZJRywgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSBcIm5neC1tYXQtc2VsZWN0LXNlYXJjaFwiO1xuaW1wb3J0IHsgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hcGFCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vLi4vYnV0dG9uL3B1YmxpYy1hcGlcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTWFwYURyb3Bkb3duQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW01hcGFEcm9wZG93bkNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWFwYUJ1dHRvbk1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE5neE1hdFNlbGVjdFNlYXJjaE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX1NFTEVDVF9DT05GSUcsXG4gICAgICB1c2VWYWx1ZTogeyBvdmVybGF5UGFuZWxDbGFzczogXCJtYXBhLW92ZXJsYXktZHJvcGRvd25cIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TLFxuICAgICAgdXNlVmFsdWU6IHsgYXBwZWFyYW5jZTogXCJvdXRsaW5lXCIgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBNEIvRCxNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBekJkLHFCQUFxQixhQUdsQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZix3QkFBd0IsYUFYaEIscUJBQXFCO2lIQXdCcEIsa0JBQWtCLGFBWGxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFO1NBQ3pEO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7U0FDcEM7S0FDRixZQXBCQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZix3QkFBd0I7NEZBYWYsa0JBQWtCO2tCQTFCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZix3QkFBd0I7cUJBQ3pCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRTt5QkFDekQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTt5QkFDcEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5cbmltcG9ydCB7IE1hcGFEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTUFUX1NFTEVDVF9DT05GSUcsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7IE5neE1hdFNlbGVjdFNlYXJjaE1vZHVsZSB9IGZyb20gXCJuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcIjtcbmltcG9ydCB7IE1BVF9GT1JNX0ZJRUxEX0RFRkFVTFRfT1BUSU9OUyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXBhQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uLy4uL2J1dHRvbi9wdWJsaWMtYXBpXCI7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtNYXBhRHJvcGRvd25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbTWFwYURyb3Bkb3duQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXBhQnV0dG9uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiBcIm1hcGEtb3ZlcmxheS1kcm9wZG93blwiIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogeyBhcHBlYXJhbmNlOiBcIm91dGxpbmVcIiB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bk1vZHVsZSB7fVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1vcHRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbGVtZW50T3B0aW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1vcHRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbGVtZW50T3B0aW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoaWxkcmVuTGV2ZWw/OiBudW1iZXIgfCBudWxsO1xufVxuIl19
@@ -4,12 +4,13 @@ import { Subject } from "rxjs/internal/Subject";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/forms";
7
- import * as i3 from "../../button/src/button.component";
8
- import * as i4 from "@angular/material/icon";
9
- import * as i5 from "@angular/material/form-field";
10
- import * as i6 from "@angular/material/select";
11
- import * as i7 from "@angular/material/core";
12
- import * as i8 from "ngx-mat-select-search";
7
+ import * as i3 from "@angular/material/checkbox";
8
+ import * as i4 from "../../button/src/button.component";
9
+ import * as i5 from "@angular/material/icon";
10
+ import * as i6 from "@angular/material/form-field";
11
+ import * as i7 from "@angular/material/select";
12
+ import * as i8 from "@angular/material/core";
13
+ import * as i9 from "ngx-mat-select-search";
13
14
  export class MapaDropdownComponent {
14
15
  get selectedOptions() {
15
16
  const value = this.formControl?.value || [];
@@ -110,7 +111,8 @@ export class MapaDropdownComponent {
110
111
  filteredLength === this.filteredOptionsCache.length;
111
112
  }
112
113
  }
113
- toggleSelectAll(selectAllValue) {
114
+ toggleSelectAll(event) {
115
+ const selectAllValue = event.checked;
114
116
  this.filteredOptions.subscribe((options) => {
115
117
  if (selectAllValue) {
116
118
  this.formControl?.patchValue(options);
@@ -128,6 +130,14 @@ export class MapaDropdownComponent {
128
130
  }
129
131
  });
130
132
  }
133
+ toggleSelection(change) {
134
+ if (change.checked) {
135
+ this.formControl?.setValue(this.filteredOptions);
136
+ }
137
+ else {
138
+ this.formControl?.setValue([]);
139
+ }
140
+ }
131
141
  isElementGroup(object) {
132
142
  try {
133
143
  return (object.label !== undefined &&
@@ -149,10 +159,10 @@ export class MapaDropdownComponent {
149
159
  }
150
160
  }
151
161
  MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
- MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n \n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], 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.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
162
+ MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n <mat-option\n *ngIf=\"element.multiple\"\n class=\"mapa-dropdown__option--select-all\"\n >\n <mat-checkbox\n class=\"mat-option\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectAll($event)\"\n >\n Selecionar todos\n </mat-checkbox>\n </mat-option>\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option\n *ngFor=\"let option of group.options\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </ng-template>\n\n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__option--children-level-1{padding-left:30px!important}.mapa-dropdown__option--children-level-2{padding-left:50px!important}.mapa-dropdown__option--children-level-3{padding-left:70px!important}.mapa-dropdown__option--children-level-4{padding-left:90px!important}.mapa-dropdown__option--children-level-5{padding-left:100px!important}.mapa-dropdown__option--children-level-6{padding-left:120px!important}.mapa-dropdown__option--select-all .mat-pseudo-checkbox{display:none!important}.mapa-dropdown__option--select-all .mat-checkbox{padding:0!important}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
153
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
154
164
  type: Component,
155
- args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n \n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
165
+ args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n <mat-option\n *ngIf=\"element.multiple\"\n class=\"mapa-dropdown__option--select-all\"\n >\n <mat-checkbox\n class=\"mat-option\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectAll($event)\"\n >\n Selecionar todos\n </mat-checkbox>\n </mat-option>\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option\n *ngFor=\"let option of group.options\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </ng-template>\n\n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:Inter,sans-serif!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center;position:absolute;right:32px;top:4px}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown__option--children-level-1{padding-left:30px!important}.mapa-dropdown__option--children-level-2{padding-left:50px!important}.mapa-dropdown__option--children-level-3{padding-left:70px!important}.mapa-dropdown__option--children-level-4{padding-left:90px!important}.mapa-dropdown__option--children-level-5{padding-left:100px!important}.mapa-dropdown__option--children-level-6{padding-left:120px!important}.mapa-dropdown__option--select-all .mat-pseudo-checkbox{display:none!important}.mapa-dropdown__option--select-all .mat-checkbox{padding:0!important}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown .mat-form-field-subscript-wrapper{padding:0!important}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:Inter,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mat-select-panel .mat-option[aria-disabled=true].contains-mat-select-search{height:48px}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inside-mat-option .mat-select-search-input{background-color:#fff;border:2px solid #a7aaad;border-radius:6px;margin:8px;height:2.3em!important;line-height:2.3em!important;width:96%}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-input{padding:8px 53px 8px 8px!important}.mapa-overlay-dropdown .mat-select-panel .mat-select-search-inner{background-color:#f6f7f7}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
156
166
  }], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
157
167
  type: Input
158
168
  }], formControlSearch: [{
@@ -165,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
165
175
  type: ViewChild,
166
176
  args: ["dropdown", { static: true }]
167
177
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBYWhELE1BQU0sT0FBTyxxQkFBcUI7SUFzQmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEO1FBbkJPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUz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b21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sU2VhcmNoITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBEcm9wZG93bjtcbiAgQElucHV0KCkgYm9yZGVyOiBcInNvZnRcIiB8IFwidGFnXCIgfCBcImhpZ2hsaWdodFwiIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKFwiZHJvcGRvd25cIiwgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd24hOiBNYXRTZWxlY3Q7XG5cbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUmVwbGF5U3ViamVjdDxFbGVtZW50T3B0aW9uW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudE9wdGlvbltdXG4gID4oMSk7XG4gIHB1YmxpYyBmaWx0ZXJlZEdyb3VwczogUmVwbGF5U3ViamVjdDxFbGVtZW50R3JvdXBbXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50R3JvdXBbXVxuICA+KDEpO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRPcHRpb25zQ2FjaGU6IEVsZW1lbnRPcHRpb25bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRHcm91cENhY2hlOiBFbGVtZW50R3JvdXBbXSA9IFtdO1xuICBwcm90ZWN0ZWQgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gIGlzQ2hlY2tlZCA9IGZhbHNlO1xuICBpc09wdGlvbnNHcm91cCA9IGZhbHNlO1xuXG4gIGdldCBzZWxlY3RlZE9wdGlvbnMoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sPy52YWx1ZSB8fCBbXTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSk/IHZhbHVlOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbXCJlbGVtZW50XCJdLnByZXZpb3VzVmFsdWU/LmNvbnRyb2xUeXBlID09PSBcImRyb3Bkb3duXCIgJiZcbiAgICAgIGNoYW5nZXNbXCJlbGVtZW50XCJdLnByZXZpb3VzVmFsdWU/Lm9wdGlvbnMgIT09IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZT8ub3B0aW9uc1xuICAgICkge1xuICAgICAgdGhpcy5lbGVtZW50Lm9wdGlvbnMgPSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWUub3B0aW9ucztcbiAgICAgIHRoaXMuc2V0T3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcHRpb25zR3JvdXAgPSB0aGlzLmlzRWxlbWVudEdyb3VwKHRoaXMuZWxlbWVudC5vcHRpb25zWzBdKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICBjb25zdCBncm91cHMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gZ3JvdXBzXG4gICAgICAgIC5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGdyb3VwLmxhYmVsLFxuICAgICAgICAgIG9wdGlvbnM6IHRoaXMuZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChncm91cCwgc2VhcmNoKSxcbiAgICAgICAgfSkpXG4gICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zLmxlbmd0aCA+IDApO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXTtcbiAgICAgIGlmICghc2VhcmNoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLnNsaWNlKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlciB0aGUgb3B0aW9uc1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAob3B0aW9uOiBFbGVtZW50T3B0aW9uKSA9PlxuICAgICAgICAgIG9wdGlvbi52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoc2VsZWN0QWxsVmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5zdWJzY3JpYmUoKG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdEFsbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUob3B0aW9ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLnN1YnNjcmliZSgoZ3JvdXBzOiBFbGVtZW50R3JvdXBbXSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdEFsbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoXG4gICAgICAgICAgZ3JvdXBzLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cbiAgXG4gIGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtZm9ybS0taW5saW5lXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25cIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1zb2Z0LWJvcmRlcl09XCJib3JkZXIgPT09ICdzb2Z0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tdGFnXT1cImJvcmRlciA9PT0gJ3RhZydcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbGVtZW50LnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hJbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAodG9nZ2xlQWxsKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNFbGVtZW50T3B0aW9ucz5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIFxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbkxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4TGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7OztBQWNoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQyxJQUFJLGVBQWU7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDtRQW5CTyxvQkFBZSxHQUFtQyxJQUFJLGFBQWEsQ0FFeEUsQ0FBQyxDQUFDLENBQUM7UUFDRSxtQkFBYyxHQUFrQyxJQUFJLGFBQWEsQ0FFdEUsQ0FBQyxDQUFDLENBQUM7UUFDSyx5QkFBb0IsR0FBb0IsRUFBRSxDQUFDO1FBQzNDLHVCQUFrQixHQUFtQixFQUFFLENBQUM7UUFDeEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFF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aUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFbUMsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKT8gdmFsdWU6IFt2YWx1ZV07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGdyb3VwLmxhYmVsLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpXG4gICAgICA/IGdyb3VwLm9wdGlvbnNcbiAgICAgIDogZ3JvdXAub3B0aW9ucy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnMoKSB7XG4gICAgaWYgKCF0aGlzLmVsZW1lbnQub3B0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBnZXQgdGhlIHNlYXJjaCBrZXl3b3JkXG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgb3B0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCkge1xuICAgIGxldCBmaWx0ZXJlZExlbmd0aCA9IDA7XG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZTtcblxuICAgIGlmIChzZWFyY2ggJiYgc2VhcmNoLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiZcbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICBjb25zdCBzZWxlY3RBbGxWYWx1ZSA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdGlvbihjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZS5jaGVja2VkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbHRlcmVkT3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnNldFZhbHVlKFtdKTtcbiAgICB9XG4gIH0gIFxuICBcbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cbiAgXG4gIGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtZm9ybS0taW5saW5lXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25cIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1zb2Z0LWJvcmRlcl09XCJib3JkZXIgPT09ICdzb2Z0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tdGFnXT1cImJvcmRlciA9PT0gJ3RhZydcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbGVtZW50LnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbkxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4TGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=