ng-prime-tools 1.0.5 → 1.0.6

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 (227) hide show
  1. package/README.md +276 -0
  2. package/esm2022/lib/enums/button-color.enum.mjs +10 -0
  3. package/esm2022/lib/enums/form-input-type.enum.mjs +14 -0
  4. package/esm2022/lib/enums/index.mjs +2 -6
  5. package/esm2022/lib/enums/input-validation.enum.mjs +8 -0
  6. package/esm2022/lib/enums/public-api.mjs +7 -0
  7. package/esm2022/lib/enums/{search-criteria-type-enum.mjs → search-criteria-type.enum.mjs} +1 -1
  8. package/esm2022/lib/enums/{table-type-enum.mjs → table-type.enum.mjs} +1 -1
  9. package/esm2022/lib/models/filter-option.model.mjs +2 -0
  10. package/esm2022/lib/models/form-button.model.mjs +2 -0
  11. package/esm2022/lib/models/form-check-field.model.mjs +2 -0
  12. package/esm2022/lib/models/form-date-field.model.mjs +2 -0
  13. package/esm2022/lib/models/form-drop-down-field.model.mjs +2 -0
  14. package/esm2022/lib/models/form-field-group.model.mjs +2 -0
  15. package/esm2022/lib/models/form-field.model.mjs +2 -0
  16. package/esm2022/lib/models/form-multi-select.model.mjs +2 -0
  17. package/esm2022/lib/models/form-number-field.model.mjs +2 -0
  18. package/esm2022/lib/models/form-switch-field.model.mjs +2 -0
  19. package/esm2022/lib/models/form-text-area-field.model.mjs +2 -0
  20. package/esm2022/lib/models/form-text-field.model.mjs +2 -0
  21. package/esm2022/lib/models/index.mjs +2 -2
  22. package/esm2022/lib/models/public-api.mjs +15 -0
  23. package/esm2022/lib/models/search-criteria.model.mjs +2 -0
  24. package/esm2022/lib/models/table-column.model.mjs +2 -0
  25. package/esm2022/lib/multi-search-criteria/multi-search-criteria.component.mjs +1 -1
  26. package/esm2022/lib/ng-prime-tools.module.mjs +66 -6
  27. package/esm2022/lib/pt-check-box-input/index.mjs +2 -0
  28. package/esm2022/lib/pt-check-box-input/pt-check-box-input.component.mjs +61 -0
  29. package/esm2022/lib/pt-check-box-input/pt-check-box-input.module.mjs +20 -0
  30. package/esm2022/lib/pt-check-box-input/public-api.mjs +3 -0
  31. package/esm2022/lib/pt-date-input/index.mjs +2 -0
  32. package/esm2022/lib/pt-date-input/pt-date-input.component.mjs +85 -0
  33. package/esm2022/lib/pt-date-input/pt-date-input.module.mjs +20 -0
  34. package/esm2022/lib/pt-date-input/pt-date.service.mjs +62 -0
  35. package/esm2022/lib/pt-date-input/public-api.mjs +3 -0
  36. package/esm2022/lib/pt-dropdown/index.mjs +2 -0
  37. package/esm2022/lib/pt-dropdown/pt-dropdown.component.mjs +57 -0
  38. package/esm2022/lib/pt-dropdown/pt-dropdown.module.mjs +20 -0
  39. package/esm2022/lib/pt-dropdown/public-api.mjs +3 -0
  40. package/esm2022/lib/pt-form-builder/index.mjs +2 -0
  41. package/esm2022/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.mjs +59 -0
  42. package/esm2022/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.mjs +55 -0
  43. package/esm2022/lib/pt-form-builder/pt-form-builder.component.mjs +77 -0
  44. package/esm2022/lib/pt-form-builder/pt-form-builder.module.mjs +32 -0
  45. package/esm2022/lib/pt-form-builder/public-api.mjs +3 -0
  46. package/esm2022/lib/pt-multi-select/index.mjs +2 -0
  47. package/esm2022/lib/pt-multi-select/pt-multi-select.component.mjs +57 -0
  48. package/esm2022/lib/pt-multi-select/pt-multi-select.module.mjs +20 -0
  49. package/esm2022/lib/pt-multi-select/public-api.mjs +3 -0
  50. package/esm2022/lib/pt-number-input/index.mjs +2 -0
  51. package/esm2022/lib/pt-number-input/pt-number-input.component.mjs +88 -0
  52. package/esm2022/lib/pt-number-input/pt-number-input.module.mjs +43 -0
  53. package/esm2022/lib/pt-number-input/public-api.mjs +3 -0
  54. package/esm2022/lib/pt-switch-input/index.mjs +2 -0
  55. package/esm2022/lib/pt-switch-input/pt-switch-input.component.mjs +62 -0
  56. package/esm2022/lib/pt-switch-input/pt-switch-input.module.mjs +20 -0
  57. package/esm2022/lib/pt-switch-input/public-api.mjs +3 -0
  58. package/esm2022/lib/pt-text-area-input/index.mjs +2 -0
  59. package/esm2022/lib/pt-text-area-input/pt-text-area-input.component.mjs +83 -0
  60. package/esm2022/lib/pt-text-area-input/pt-text-area-input.module.mjs +36 -0
  61. package/esm2022/lib/pt-text-area-input/public-api.mjs +3 -0
  62. package/esm2022/lib/pt-text-input/index.mjs +2 -0
  63. package/esm2022/lib/pt-text-input/pt-text-input.component.mjs +86 -0
  64. package/esm2022/lib/pt-text-input/pt-text-input.module.mjs +36 -0
  65. package/esm2022/lib/pt-text-input/public-api.mjs +3 -0
  66. package/esm2022/lib/types/date-format.type.mjs +2 -0
  67. package/esm2022/lib/types/date-input.type.mjs +2 -0
  68. package/esm2022/lib/types/index.mjs +2 -0
  69. package/esm2022/lib/types/public-api.mjs +2 -0
  70. package/esm2022/lib/utils/date.util.mjs +69 -0
  71. package/esm2022/public-api.mjs +11 -2
  72. package/fesm2022/ng-prime-tools.mjs +1099 -18
  73. package/fesm2022/ng-prime-tools.mjs.map +1 -1
  74. package/lib/enums/button-color.enum.d.ts +9 -0
  75. package/lib/enums/button-color.enum.d.ts.map +1 -0
  76. package/lib/enums/form-input-type.enum.d.ts +13 -0
  77. package/lib/enums/form-input-type.enum.d.ts.map +1 -0
  78. package/lib/enums/index.d.ts +1 -5
  79. package/lib/enums/index.d.ts.map +1 -1
  80. package/lib/enums/input-validation.enum.d.ts +7 -0
  81. package/lib/enums/input-validation.enum.d.ts.map +1 -0
  82. package/lib/enums/public-api.d.ts +6 -0
  83. package/lib/enums/public-api.d.ts.map +1 -0
  84. package/lib/enums/{search-criteria-type-enum.d.ts → search-criteria-type.enum.d.ts} +1 -1
  85. package/lib/enums/search-criteria-type.enum.d.ts.map +1 -0
  86. package/lib/enums/{table-type-enum.d.ts → table-type.enum.d.ts} +1 -1
  87. package/lib/enums/table-type.enum.d.ts.map +1 -0
  88. package/lib/models/{filter-option.d.ts → filter-option.model.d.ts} +1 -1
  89. package/lib/models/filter-option.model.d.ts.map +1 -0
  90. package/lib/models/form-button.model.d.ts +10 -0
  91. package/lib/models/form-button.model.d.ts.map +1 -0
  92. package/lib/models/form-check-field.model.d.ts +4 -0
  93. package/lib/models/form-check-field.model.d.ts.map +1 -0
  94. package/lib/models/form-date-field.model.d.ts +11 -0
  95. package/lib/models/form-date-field.model.d.ts.map +1 -0
  96. package/lib/models/form-drop-down-field.model.d.ts +5 -0
  97. package/lib/models/form-drop-down-field.model.d.ts.map +1 -0
  98. package/lib/models/form-field-group.model.d.ts +7 -0
  99. package/lib/models/form-field-group.model.d.ts.map +1 -0
  100. package/lib/models/form-field.model.d.ts +16 -0
  101. package/lib/models/form-field.model.d.ts.map +1 -0
  102. package/lib/models/form-multi-select.model.d.ts +5 -0
  103. package/lib/models/form-multi-select.model.d.ts.map +1 -0
  104. package/lib/models/form-number-field.model.d.ts +11 -0
  105. package/lib/models/form-number-field.model.d.ts.map +1 -0
  106. package/lib/models/form-switch-field.model.d.ts +4 -0
  107. package/lib/models/form-switch-field.model.d.ts.map +1 -0
  108. package/lib/models/form-text-area-field.model.d.ts +11 -0
  109. package/lib/models/form-text-area-field.model.d.ts.map +1 -0
  110. package/lib/models/form-text-field.model.d.ts +8 -0
  111. package/lib/models/form-text-field.model.d.ts.map +1 -0
  112. package/lib/models/index.d.ts +1 -1
  113. package/lib/models/public-api.d.ts +15 -0
  114. package/lib/models/public-api.d.ts.map +1 -0
  115. package/lib/models/{search-criteria.d.ts → search-criteria.model.d.ts} +3 -3
  116. package/lib/models/search-criteria.model.d.ts.map +1 -0
  117. package/lib/models/{table-column.d.ts → table-column.model.d.ts} +2 -2
  118. package/lib/models/table-column.model.d.ts.map +1 -0
  119. package/lib/multi-search-criteria/multi-search-criteria.component.d.ts +2 -2
  120. package/lib/multi-search-criteria/multi-search-criteria.component.d.ts.map +1 -1
  121. package/lib/ng-prime-tools.module.d.ts +8 -1
  122. package/lib/ng-prime-tools.module.d.ts.map +1 -1
  123. package/lib/pt-check-box-input/index.d.ts +2 -0
  124. package/lib/pt-check-box-input/index.d.ts.map +1 -0
  125. package/lib/pt-check-box-input/pt-check-box-input.component.d.ts +16 -0
  126. package/lib/pt-check-box-input/pt-check-box-input.component.d.ts.map +1 -0
  127. package/lib/pt-check-box-input/pt-check-box-input.module.d.ts +11 -0
  128. package/lib/pt-check-box-input/pt-check-box-input.module.d.ts.map +1 -0
  129. package/lib/pt-check-box-input/public-api.d.ts +3 -0
  130. package/lib/pt-check-box-input/public-api.d.ts.map +1 -0
  131. package/lib/pt-date-input/index.d.ts +2 -0
  132. package/lib/pt-date-input/index.d.ts.map +1 -0
  133. package/lib/pt-date-input/pt-date-input.component.d.ts +24 -0
  134. package/lib/pt-date-input/pt-date-input.component.d.ts.map +1 -0
  135. package/lib/pt-date-input/pt-date-input.module.d.ts +11 -0
  136. package/lib/pt-date-input/pt-date-input.module.d.ts.map +1 -0
  137. package/lib/pt-date-input/pt-date.service.d.ts +11 -0
  138. package/lib/pt-date-input/pt-date.service.d.ts.map +1 -0
  139. package/lib/pt-date-input/public-api.d.ts +3 -0
  140. package/lib/pt-date-input/public-api.d.ts.map +1 -0
  141. package/lib/pt-dropdown/index.d.ts +2 -0
  142. package/lib/pt-dropdown/index.d.ts.map +1 -0
  143. package/lib/pt-dropdown/pt-dropdown.component.d.ts +15 -0
  144. package/lib/pt-dropdown/pt-dropdown.component.d.ts.map +1 -0
  145. package/lib/pt-dropdown/pt-dropdown.module.d.ts +11 -0
  146. package/lib/pt-dropdown/pt-dropdown.module.d.ts.map +1 -0
  147. package/lib/pt-dropdown/public-api.d.ts +3 -0
  148. package/lib/pt-dropdown/public-api.d.ts.map +1 -0
  149. package/lib/pt-form-builder/index.d.ts +2 -0
  150. package/lib/pt-form-builder/index.d.ts.map +1 -0
  151. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.d.ts +18 -0
  152. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.d.ts.map +1 -0
  153. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.d.ts +29 -0
  154. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.d.ts.map +1 -0
  155. package/lib/pt-form-builder/pt-form-builder.component.d.ts +33 -0
  156. package/lib/pt-form-builder/pt-form-builder.component.d.ts.map +1 -0
  157. package/lib/pt-form-builder/pt-form-builder.module.d.ts +12 -0
  158. package/lib/pt-form-builder/pt-form-builder.module.d.ts.map +1 -0
  159. package/lib/pt-form-builder/public-api.d.ts +3 -0
  160. package/lib/pt-form-builder/public-api.d.ts.map +1 -0
  161. package/lib/pt-multi-select/index.d.ts +2 -0
  162. package/lib/pt-multi-select/index.d.ts.map +1 -0
  163. package/lib/pt-multi-select/pt-multi-select.component.d.ts +15 -0
  164. package/lib/pt-multi-select/pt-multi-select.component.d.ts.map +1 -0
  165. package/lib/pt-multi-select/pt-multi-select.module.d.ts +11 -0
  166. package/lib/pt-multi-select/pt-multi-select.module.d.ts.map +1 -0
  167. package/lib/pt-multi-select/public-api.d.ts +3 -0
  168. package/lib/pt-multi-select/public-api.d.ts.map +1 -0
  169. package/lib/pt-number-input/index.d.ts +2 -0
  170. package/lib/pt-number-input/index.d.ts.map +1 -0
  171. package/lib/pt-number-input/pt-number-input.component.d.ts +16 -0
  172. package/lib/pt-number-input/pt-number-input.component.d.ts.map +1 -0
  173. package/lib/pt-number-input/pt-number-input.module.d.ts +14 -0
  174. package/lib/pt-number-input/pt-number-input.module.d.ts.map +1 -0
  175. package/lib/pt-number-input/public-api.d.ts +3 -0
  176. package/lib/pt-number-input/public-api.d.ts.map +1 -0
  177. package/lib/pt-switch-input/index.d.ts +2 -0
  178. package/lib/pt-switch-input/index.d.ts.map +1 -0
  179. package/lib/pt-switch-input/pt-switch-input.component.d.ts +16 -0
  180. package/lib/pt-switch-input/pt-switch-input.component.d.ts.map +1 -0
  181. package/lib/pt-switch-input/pt-switch-input.module.d.ts +11 -0
  182. package/lib/pt-switch-input/pt-switch-input.module.d.ts.map +1 -0
  183. package/lib/pt-switch-input/public-api.d.ts +3 -0
  184. package/lib/pt-switch-input/public-api.d.ts.map +1 -0
  185. package/lib/pt-text-area-input/index.d.ts +2 -0
  186. package/lib/pt-text-area-input/index.d.ts.map +1 -0
  187. package/lib/pt-text-area-input/pt-text-area-input.component.d.ts +17 -0
  188. package/lib/pt-text-area-input/pt-text-area-input.component.d.ts.map +1 -0
  189. package/lib/pt-text-area-input/pt-text-area-input.module.d.ts +13 -0
  190. package/lib/pt-text-area-input/pt-text-area-input.module.d.ts.map +1 -0
  191. package/lib/pt-text-area-input/public-api.d.ts +3 -0
  192. package/lib/pt-text-area-input/public-api.d.ts.map +1 -0
  193. package/lib/pt-text-input/index.d.ts +2 -0
  194. package/lib/pt-text-input/index.d.ts.map +1 -0
  195. package/lib/pt-text-input/pt-text-input.component.d.ts +18 -0
  196. package/lib/pt-text-input/pt-text-input.component.d.ts.map +1 -0
  197. package/lib/pt-text-input/pt-text-input.module.d.ts +13 -0
  198. package/lib/pt-text-input/pt-text-input.module.d.ts.map +1 -0
  199. package/lib/pt-text-input/public-api.d.ts +3 -0
  200. package/lib/pt-text-input/public-api.d.ts.map +1 -0
  201. package/lib/types/date-format.type.d.ts +2 -0
  202. package/lib/types/date-format.type.d.ts.map +1 -0
  203. package/lib/types/date-input.type.d.ts +2 -0
  204. package/lib/types/date-input.type.d.ts.map +1 -0
  205. package/lib/types/index.d.ts +2 -0
  206. package/lib/types/index.d.ts.map +1 -0
  207. package/lib/types/public-api.d.ts +2 -0
  208. package/lib/types/public-api.d.ts.map +1 -0
  209. package/lib/utils/date.util.d.ts +7 -0
  210. package/lib/utils/date.util.d.ts.map +1 -0
  211. package/package.json +1 -1
  212. package/public-api.d.ts +9 -0
  213. package/public-api.d.ts.map +1 -1
  214. package/esm2022/lib/enums/public_api.mjs +0 -4
  215. package/esm2022/lib/models/filter-option.mjs +0 -2
  216. package/esm2022/lib/models/public_api.mjs +0 -5
  217. package/esm2022/lib/models/search-criteria.mjs +0 -2
  218. package/esm2022/lib/models/table-column.mjs +0 -2
  219. package/lib/enums/public_api.d.ts +0 -3
  220. package/lib/enums/public_api.d.ts.map +0 -1
  221. package/lib/enums/search-criteria-type-enum.d.ts.map +0 -1
  222. package/lib/enums/table-type-enum.d.ts.map +0 -1
  223. package/lib/models/filter-option.d.ts.map +0 -1
  224. package/lib/models/public_api.d.ts +0 -4
  225. package/lib/models/public_api.d.ts.map +0 -1
  226. package/lib/models/search-criteria.d.ts.map +0 -1
  227. package/lib/models/table-column.d.ts.map +0 -1
package/README.md CHANGED
@@ -16,6 +16,9 @@ An advanced PrimeNG tools library for Angular.
16
16
  - [Inputs](#inputs-1)
17
17
  - [Outputs](#outputs-1)
18
18
  - [Example](#example-1)
19
+ - [FormBuilder](#formbuilder)
20
+ - [Components](#components)
21
+ - [Example](#example-2)
19
22
  - [Changelog](#changelog)
20
23
  - [License](#license)
21
24
 
@@ -376,8 +379,281 @@ export class AppComponent implements OnInit {
376
379
  <ng-advanced-prime-table [columns]="columns" [data]="filteredData" [hasSearchFilter]="true" [hasColumnFilter]="true" [isPaginated]="true" [totalRecords]="totalRecords" [isSortable]="true"></ng-advanced-prime-table>
377
380
  ```
378
381
 
382
+ ### FormBuilder
383
+
384
+ The `FormBuilder` component is a powerful and flexible tool for dynamically generating forms with various input types. It allows you to create nested groups, manage validations, and customize the appearance and behavior of your forms.
385
+
386
+ #### Components
387
+
388
+ The `FormBuilder` leverages several input components to build comprehensive forms:
389
+
390
+ - **`pt-check-box-input`**: A customizable checkbox input component.
391
+ - **`pt-date-input`**: A versatile date input component supporting both single date and date range selections.
392
+ - **`pt-dropdown`**: A dropdown input component for selecting from a list of options.
393
+ - **`pt-form-builder`**: The form builder component that dynamically renders form fields.
394
+ - **`pt-multi-select`**: A multi-select dropdown component for selecting multiple values from a list.
395
+ - **`pt-number-input`**: A numeric input component with support for validation and formatting.
396
+ - **`pt-switch-input`**: A switch input component, ideal for toggling settings.
397
+ - **`pt-text-area-input`**: A text area input component for larger, multi-line text entries.
398
+ - **`pt-text-input`**: A standard text input component with support for icons, placeholders, and validation.
399
+
400
+ #### Example
401
+
402
+ Below is an example of how to use the `FormBuilder` component to create a user registration form with various input fields:
403
+
404
+ ```typescript
405
+ import { Component, OnInit } from "@angular/core";
406
+ import { CommonModule } from "@angular/common";
407
+ import { ReactiveFormsModule } from "@angular/forms";
408
+ import { FormFieldGroup, FormInputTypeEnum, ButtonColorEnum, FormButton, PTFormBuilderModule, InputValidationEnum, FormTextField, FormCheckBoxField, FormSwitchField, FormNumberField, FormDateField, FormDropdownField, FormMultiSelectField, FormTextAreaField } from "ng-prime-tools";
409
+
410
+ @Component({
411
+ selector: "app-form-builder-tester",
412
+ standalone: true,
413
+ imports: [CommonModule, ReactiveFormsModule, PTFormBuilderModule],
414
+ templateUrl: "./form-builder-tester.component.html",
415
+ styleUrls: ["./form-builder-tester.component.css"],
416
+ })
417
+ export class FormBuilderTesterComponent implements OnInit {
418
+ mainGroup: FormFieldGroup = { fields: [], groups: [] };
419
+ buttons: FormButton[] = [];
420
+
421
+ ngOnInit() {
422
+ this.initializeSettings();
423
+ }
424
+
425
+ initializeSettings() {
426
+ this.initializeMainGroup();
427
+ this.initializeButtons();
428
+ }
429
+
430
+ initializeMainGroup() {
431
+ this.mainGroup = {
432
+ groups: [this.createNameGroup(), this.createSubscriptionGroup(), this.createAgeGroup(), this.createBirthdateGroup(), this.createDateRangeGroup(), this.createAmountGroup(), this.createCountryGroup(), this.createHobbiesGroup(), this.createDescriptionGroup()],
433
+ };
434
+ }
435
+
436
+ createNameGroup(): FormFieldGroup {
437
+ return {
438
+ fields: [
439
+ {
440
+ type: FormInputTypeEnum.TEXT,
441
+ label: "First Name",
442
+ name: "firstName",
443
+ required: true,
444
+ placeholder: "Enter your first name",
445
+ iconClass: "pi pi-user",
446
+ iconPosition: "left",
447
+ minLength: 3,
448
+ maxLength: 10,
449
+ inputValidation: InputValidationEnum.ONLY_LETTERS,
450
+ } as FormTextField,
451
+ {
452
+ type: FormInputTypeEnum.TEXT,
453
+ label: "Last Name",
454
+ name: "lastName",
455
+ required: true,
456
+ placeholder: "Enter your last name",
457
+ } as FormTextField,
458
+ ],
459
+ };
460
+ }
461
+
462
+ createSubscriptionGroup(): FormFieldGroup {
463
+ return {
464
+ fields: [
465
+ {
466
+ type: FormInputTypeEnum.CHECKBOX,
467
+ label: "Subscribe",
468
+ name: "subscribe",
469
+ required: true,
470
+ } as FormCheckBoxField,
471
+ {
472
+ type: FormInputTypeEnum.SWITCH,
473
+ label: "Active",
474
+ name: "active",
475
+ required: true,
476
+ } as FormSwitchField,
477
+ ],
478
+ };
479
+ }
480
+
481
+ createAgeGroup(): FormFieldGroup {
482
+ return {
483
+ fields: [
484
+ {
485
+ type: FormInputTypeEnum.NUMBER,
486
+ label: "Age",
487
+ name: "age",
488
+ minValue: "18",
489
+ maxValue: "40",
490
+ required: true,
491
+ errorText: "Age is required",
492
+ placeholder: "Enter your age",
493
+ } as FormNumberField,
494
+ ],
495
+ };
496
+ }
497
+
498
+ createBirthdateGroup(): FormFieldGroup {
499
+ return {
500
+ fields: [
501
+ {
502
+ type: FormInputTypeEnum.DATE,
503
+ label: "Birthdate",
504
+ name: "birthdate",
505
+ required: true,
506
+ dateFormat: "dd/mm/yy",
507
+ hourFormat: "24",
508
+ placeholder: "Select your birthdate",
509
+ dateInputType: "date",
510
+ } as FormDateField,
511
+ ],
512
+ };
513
+ }
514
+
515
+ createDateRangeGroup(): FormFieldGroup {
516
+ return {
517
+ fields: [
518
+ {
519
+ type: FormInputTypeEnum.DATE,
520
+ label: "Date Range",
521
+ name: "daterange",
522
+ required: true,
523
+ placeholder: "Select date range",
524
+ dateInputType: "range",
525
+ } as FormDateField,
526
+ ],
527
+ };
528
+ }
529
+
530
+ createAmountGroup(): FormFieldGroup {
531
+ return {
532
+ fields: [
533
+ {
534
+ type: FormInputTypeEnum.AMOUNT,
535
+ label: "Amount",
536
+ name: "amount",
537
+ minValue: "100",
538
+ maxValue: "1000",
539
+ required: true,
540
+ currency: "MAD",
541
+ iconPosition: "right",
542
+ placeholder: "Enter the amount",
543
+ decimalDigits: 3,
544
+ numberFormat: "fr-FR",
545
+ disabled: true,
546
+ } as FormNumberField,
547
+ ],
548
+ };
549
+ }
550
+
551
+ createCountryGroup(): FormFieldGroup {
552
+ return {
553
+ fields: [
554
+ {
555
+ type: FormInputTypeEnum.SELECT,
556
+ label: "Country",
557
+ name: "country",
558
+ options: [
559
+ { label: "USA", value: "usa" },
560
+ { label: "Canada", value: "canada" },
561
+ ],
562
+ required: true,
563
+ placeholder: "Select your country",
564
+ } as FormDropdownField,
565
+ ],
566
+ };
567
+ }
568
+
569
+ createHobbiesGroup(): FormFieldGroup {
570
+ return {
571
+ fields: [
572
+ {
573
+ type: FormInputTypeEnum.MULTISELECT,
574
+ label: "Hobbies",
575
+ name: "hobbies",
576
+ options: [
577
+ { label: "Reading", value: "reading" },
578
+ { label: "Travelling", value: "travelling" },
579
+ { label: "Cooking", value: "cooking" },
580
+ ],
581
+ required: true,
582
+ placeholder: "Select your hobbies",
583
+ } as FormMultiSelectField,
584
+ ],
585
+ };
586
+ }
587
+
588
+ createDescriptionGroup(): FormFieldGroup {
589
+ return {
590
+ fields: [
591
+ {
592
+ type: FormInputTypeEnum.TEXTAREA,
593
+ label: "Description",
594
+ name: "description",
595
+ rows: 5,
596
+ required: true,
597
+ errorText: "Description est obligatoire !",
598
+ placeholder: "Enter a description",
599
+ minLength: 10,
600
+ maxLength: 20,
601
+ iconClass: "pi pi-dollar",
602
+ iconPosition: "right",
603
+ disabled: true,
604
+ } as FormTextAreaField,
605
+ ],
606
+ };
607
+ }
608
+
609
+ initializeButtons() {
610
+ this.buttons = [
611
+ {
612
+ text: "Custom Action",
613
+ action: this.customAction,
614
+ color: ButtonColorEnum.SUCCESS,
615
+ icon: "pi pi-check",
616
+ },
617
+ { text: "Submit", color: ButtonColorEnum.PRIMARY, isSubmit: true },
618
+ { text: "Clear", color: ButtonColorEnum.SECONDARY, isClear: true },
619
+ ];
620
+ }
621
+
622
+ customAction() {
623
+ console.log("Custom action executed");
624
+ }
625
+
626
+ onFormSubmit(formData: { [key: string]: any }) {
627
+ console.log("Form submitted with data:", formData);
628
+ }
629
+ }
630
+ ```
631
+
379
632
  ## Changelog
380
633
 
634
+ Here is the changelog entry for version 1.0.6:
635
+
636
+ ### Changelog
637
+
638
+ #### Version 1.0.6
639
+
640
+ **Release Date:** [Insert Release Date Here]
641
+
642
+ **Key Updates:**
643
+
644
+ - **FormBuilder Component:**
645
+ Introduced a powerful and flexible `FormBuilder` component that allows developers to dynamically create forms with various input types. The `FormBuilder` supports nested groups, input validation, and customizable form behavior. This component simplifies the process of building complex forms by providing a consistent and reusable structure.
646
+
647
+ - **New Input Components:**
648
+ - **`pt-check-box-input`**: A customizable checkbox input component for boolean selections.
649
+ - **`pt-date-input`**: A versatile date input component supporting both single date and date range selections with customizable formats.
650
+ - **`pt-dropdown`**: A dropdown input component for selecting single options from a list.
651
+ - **`pt-multi-select`**: A multi-select dropdown component for selecting multiple values from a list.
652
+ - **`pt-number-input`**: A numeric input component with support for validation (e.g., min/max values) and formatting.
653
+ - **`pt-switch-input`**: A switch input component for toggling between two states.
654
+ - **`pt-text-area-input`**: A text area input component for multi-line text entries with customizable rows and validation.
655
+ - **`pt-text-input`**: A standard text input component with support for icons, placeholders, and input validation.
656
+
381
657
  ### Version 1.0.5
382
658
 
383
659
  #### New Features
@@ -0,0 +1,10 @@
1
+ export var ButtonColorEnum;
2
+ (function (ButtonColorEnum) {
3
+ ButtonColorEnum["PRIMARY"] = "p-button-primary";
4
+ ButtonColorEnum["SECONDARY"] = "p-button-secondary";
5
+ ButtonColorEnum["SUCCESS"] = "p-button-success";
6
+ ButtonColorEnum["INFO"] = "p-button-info";
7
+ ButtonColorEnum["WARNING"] = "p-button-warning";
8
+ ButtonColorEnum["DANGER"] = "p-button-danger";
9
+ })(ButtonColorEnum || (ButtonColorEnum = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWNvbG9yLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL2VudW1zL2J1dHRvbi1jb2xvci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBT1g7QUFQRCxXQUFZLGVBQWU7SUFDekIsK0NBQTRCLENBQUE7SUFDNUIsbURBQWdDLENBQUE7SUFDaEMsK0NBQTRCLENBQUE7SUFDNUIseUNBQXNCLENBQUE7SUFDdEIsK0NBQTRCLENBQUE7SUFDNUIsNkNBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQVBXLGVBQWUsS0FBZixlQUFlLFFBTzFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQnV0dG9uQ29sb3JFbnVtIHtcbiAgUFJJTUFSWSA9ICdwLWJ1dHRvbi1wcmltYXJ5JyxcbiAgU0VDT05EQVJZID0gJ3AtYnV0dG9uLXNlY29uZGFyeScsXG4gIFNVQ0NFU1MgPSAncC1idXR0b24tc3VjY2VzcycsXG4gIElORk8gPSAncC1idXR0b24taW5mbycsXG4gIFdBUk5JTkcgPSAncC1idXR0b24td2FybmluZycsXG4gIERBTkdFUiA9ICdwLWJ1dHRvbi1kYW5nZXInLFxufVxuIl19
@@ -0,0 +1,14 @@
1
+ export var FormInputTypeEnum;
2
+ (function (FormInputTypeEnum) {
3
+ FormInputTypeEnum["DATE"] = "DATE";
4
+ FormInputTypeEnum["TEXT"] = "TEXT";
5
+ FormInputTypeEnum["TEXTAREA"] = "TEXTAREA";
6
+ FormInputTypeEnum["AMOUNT"] = "AMOUNT";
7
+ FormInputTypeEnum["NUMBER"] = "NUMBER";
8
+ FormInputTypeEnum["MULTISELECT"] = "MULTISELECT";
9
+ FormInputTypeEnum["SELECT"] = "SELECT";
10
+ FormInputTypeEnum["CURRENCY"] = "CURRENCY";
11
+ FormInputTypeEnum["CHECKBOX"] = "CHECKBOX";
12
+ FormInputTypeEnum["SWITCH"] = "SWITCH";
13
+ })(FormInputTypeEnum || (FormInputTypeEnum = {}));
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL2VudW1zL2Zvcm0taW5wdXQtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQVdYO0FBWEQsV0FBWSxpQkFBaUI7SUFDM0Isa0NBQWEsQ0FBQTtJQUNiLGtDQUFhLENBQUE7SUFDYiwwQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBaUIsQ0FBQTtJQUNqQixnREFBMkIsQ0FBQTtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZvcm1JbnB1dFR5cGVFbnVtIHtcbiAgREFURSA9ICdEQVRFJyxcbiAgVEVYVCA9ICdURVhUJyxcbiAgVEVYVEFSRUEgPSAnVEVYVEFSRUEnLFxuICBBTU9VTlQgPSAnQU1PVU5UJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIE1VTFRJU0VMRUNUID0gJ01VTFRJU0VMRUNUJyxcbiAgU0VMRUNUID0gJ1NFTEVDVCcsXG4gIENVUlJFTkNZID0gJ0NVUlJFTkNZJyxcbiAgQ0hFQ0tCT1ggPSAnQ0hFQ0tCT1gnLFxuICBTV0lUQ0ggPSAnU1dJVENIJyxcbn1cbiJdfQ==
@@ -1,6 +1,2 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="ng-prime-tools/enums" />
5
- export * from './public_api';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsOENBQThDO0FBQzlDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuLy8vIDxhbWQtbW9kdWxlIG5hbWU9XCJuZy1wcmltZS10b29scy9lbnVtc1wiIC8+XG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export var InputValidationEnum;
2
+ (function (InputValidationEnum) {
3
+ InputValidationEnum["ONLY_LETTERS"] = "^[A-Za-z ]+$";
4
+ InputValidationEnum["ONLY_NUMBERS"] = "^[0-9]+$";
5
+ InputValidationEnum["LETTERS_AND_NUMBERS"] = "^[A-Za-z0-9 ]+$";
6
+ InputValidationEnum["PHONE_NUMBER"] = "^[0-9 ]+$";
7
+ })(InputValidationEnum || (InputValidationEnum = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdmFsaWRhdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9lbnVtcy9pbnB1dC12YWxpZGF0aW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUM3QixvREFBNkIsQ0FBQTtJQUM3QixnREFBeUIsQ0FBQTtJQUN6Qiw4REFBdUMsQ0FBQTtJQUN2QyxpREFBMEIsQ0FBQTtBQUM1QixDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIElucHV0VmFsaWRhdGlvbkVudW0ge1xuICBPTkxZX0xFVFRFUlMgPSAnXltBLVphLXogXSskJyxcbiAgT05MWV9OVU1CRVJTID0gJ15bMC05XSskJyxcbiAgTEVUVEVSU19BTkRfTlVNQkVSUyA9ICdeW0EtWmEtejAtOSBdKyQnLFxuICBQSE9ORV9OVU1CRVIgPSAnXlswLTkgXSskJyxcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ // projects/ng-prime-tools/src/lib/enums/public_api.ts
2
+ export * from './table-type.enum';
3
+ export * from './search-criteria-type.enum';
4
+ export * from './form-input-type.enum';
5
+ export * from './button-color.enum';
6
+ export * from './input-validation.enum';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9lbnVtcy9wdWJsaWNfYXBpLnRzXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1jcml0ZXJpYS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWlucHV0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi1jb2xvci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdmFsaWRhdGlvbi5lbnVtJztcbiJdfQ==
@@ -7,4 +7,4 @@ export var SearchCriteriaTypeEnum;
7
7
  SearchCriteriaTypeEnum["NUMBER"] = "NUMBER";
8
8
  SearchCriteriaTypeEnum["MULTISELECT"] = "MULTISELECT";
9
9
  })(SearchCriteriaTypeEnum || (SearchCriteriaTypeEnum = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNyaXRlcmlhLXR5cGUtZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvc2VhcmNoLWNyaXRlcmlhLXR5cGUtZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxzQkFPWDtBQVBELFdBQVksc0JBQXNCO0lBQ2hDLHVDQUFhLENBQUE7SUFDYixpREFBdUIsQ0FBQTtJQUN2QiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtJQUNqQixxREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBUFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQU9qQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlYXJjaENyaXRlcmlhVHlwZUVudW0ge1xuICBEQVRFID0gJ0RBVEUnLFxuICBEQVRFUkFOR0UgPSAnREFURVJBTkdFJyxcbiAgU1RSSU5HID0gJ1NUUklORycsXG4gIEFNT1VOVCA9ICdBTU9VTlQnLFxuICBOVU1CRVIgPSAnTlVNQkVSJyxcbiAgTVVMVElTRUxFQ1QgPSAnTVVMVElTRUxFQ1QnLFxufVxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNyaXRlcmlhLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvc2VhcmNoLWNyaXRlcmlhLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxzQkFPWDtBQVBELFdBQVksc0JBQXNCO0lBQ2hDLHVDQUFhLENBQUE7SUFDYixpREFBdUIsQ0FBQTtJQUN2QiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtJQUNqQixxREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBUFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQU9qQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlYXJjaENyaXRlcmlhVHlwZUVudW0ge1xuICBEQVRFID0gJ0RBVEUnLFxuICBEQVRFUkFOR0UgPSAnREFURVJBTkdFJyxcbiAgU1RSSU5HID0gJ1NUUklORycsXG4gIEFNT1VOVCA9ICdBTU9VTlQnLFxuICBOVU1CRVIgPSAnTlVNQkVSJyxcbiAgTVVMVElTRUxFQ1QgPSAnTVVMVElTRUxFQ1QnLFxufVxuIl19
@@ -9,4 +9,4 @@ export var TableTypeEnum;
9
9
  TableTypeEnum["BOOLEAN"] = "BOOLEAN";
10
10
  TableTypeEnum["ACTION"] = "ACTION";
11
11
  })(TableTypeEnum || (TableTypeEnum = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdHlwZS1lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9lbnVtcy90YWJsZS10eXBlLWVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFTWDtBQVRELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2Isa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsNENBQTJCLENBQUE7SUFDM0Isc0NBQXFCLENBQUE7SUFDckIsb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLGFBQWEsS0FBYixhQUFhLFFBU3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVGFibGVUeXBlRW51bSB7XG4gIERBVEUgPSAnREFURScsXG4gIFNUUklORyA9ICdTVFJJTkcnLFxuICBBTU9VTlQgPSAnQU1PVU5UJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIE1VTFRJU0VMRUNUID0gJ01VTFRJU0VMRUNUJyxcbiAgQ1VSUkVOQ1kgPSAnQ1VSUkVOQ1knLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBBQ1RJT04gPSAnQUNUSU9OJyxcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9lbnVtcy90YWJsZS10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFTWDtBQVRELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2Isa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsNENBQTJCLENBQUE7SUFDM0Isc0NBQXFCLENBQUE7SUFDckIsb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLGFBQWEsS0FBYixhQUFhLFFBU3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVGFibGVUeXBlRW51bSB7XG4gIERBVEUgPSAnREFURScsXG4gIFNUUklORyA9ICdTVFJJTkcnLFxuICBBTU9VTlQgPSAnQU1PVU5UJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIE1VTFRJU0VMRUNUID0gJ01VTFRJU0VMRUNUJyxcbiAgQ1VSUkVOQ1kgPSAnQ1VSUkVOQ1knLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBBQ1RJT04gPSAnQUNUSU9OJyxcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL2ZpbHRlci1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idXR0b24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLWJ1dHRvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uQ29sb3JFbnVtIH0gZnJvbSAnLi4vZW51bXMvYnV0dG9uLWNvbG9yLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1CdXR0b24ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGFjdGlvbj86ICgpID0+IHZvaWQ7XG4gIGNvbG9yOiBCdXR0b25Db2xvckVudW07XG4gIGljb24/OiBzdHJpbmc7XG4gIGlzU3VibWl0PzogYm9vbGVhbjtcbiAgaXNDbGVhcj86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVjay1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL2Zvcm0tY2hlY2stZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNoZWNrQm94RmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICAvLyBBZGQgYW55IGFkZGl0aW9uYWwgcHJvcGVydGllcyBzcGVjaWZpYyB0byBjaGVja2JveGVzIGlmIG5lZWRlZFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvZm9ybS1kYXRlLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdFR5cGUgfSBmcm9tICcuLi90eXBlcy9kYXRlLWZvcm1hdC50eXBlJztcbmltcG9ydCB7IERhdGVJbnB1dFR5cGUgfSBmcm9tICcuLi90eXBlcy9kYXRlLWlucHV0LnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1EYXRlRmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICBkYXRlRm9ybWF0PzogRGF0ZUZvcm1hdFR5cGU7XG4gIGRhdGVJbnB1dFR5cGU/OiBEYXRlSW5wdXRUeXBlO1xuICBob3VyRm9ybWF0PzogJzEyJyB8ICcyNCc7XG4gIG1pblZhbHVlPzogc3RyaW5nO1xuICBtYXhWYWx1ZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wLWRvd24tZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLWRyb3AtZG93bi1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRHJvcGRvd25GaWVsZCBleHRlbmRzIEZvcm1GaWVsZCB7XG4gIG9wdGlvbnM6IGFueVtdO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1ncm91cC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkR3JvdXAge1xuICBmaWVsZHM/OiBGb3JtRmllbGRbXTtcbiAgZ3JvdXBzPzogRm9ybUZpZWxkR3JvdXBbXTtcbiAgd2lkdGg/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0VmFsaWRhdGlvbkVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBGb3JtSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2Zvcm0taW5wdXQtdHlwZS5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGQge1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHR5cGU/OiBGb3JtSW5wdXRUeXBlRW51bTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgZXJyb3JUZXh0Pzogc3RyaW5nO1xuICB3aWR0aD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGlucHV0VmFsaWRhdGlvbj86IElucHV0VmFsaWRhdGlvbkVudW07XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tdWx0aS1zZWxlY3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLW11bHRpLXNlbGVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTXVsdGlTZWxlY3RGaWVsZCBleHRlbmRzIEZvcm1GaWVsZCB7XG4gIG9wdGlvbnM6IGFueVtdO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1udW1iZXItZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLW51bWJlci1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTnVtYmVyRmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICBtaW5WYWx1ZT86IHN0cmluZztcbiAgbWF4VmFsdWU/OiBzdHJpbmc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICBudW1iZXJGb3JtYXQ/OiAnZnItRlInIHwgJ2VuLVVTJztcbiAgZGVjaW1hbERpZ2l0cz86IG51bWJlcjtcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zd2l0Y2gtZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLXN3aXRjaC1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3dpdGNoRmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICAvLyBBZGQgYW55IHN3aXRjaC1zcGVjaWZpYyBwcm9wZXJ0aWVzIGhlcmUgaWYgbmVlZGVkXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZXh0LWFyZWEtZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9mb3JtLXRleHQtYXJlYS1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVGV4dEFyZWFGaWVsZCBleHRlbmRzIEZvcm1GaWVsZCB7XG4gIHJvd3M/OiBudW1iZXI7XG4gIGNvbHM/OiBudW1iZXI7XG4gIGF1dG9SZXNpemU/OiBib29sZWFuO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZXh0LWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvZm9ybS10ZXh0LWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1UZXh0RmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xufVxuIl19
@@ -2,5 +2,5 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  /// <amd-module name="ng-prime-tools/models" />
5
- export * from './public_api';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILCtDQUErQztBQUMvQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cbi8vLyA8YW1kLW1vZHVsZSBuYW1lPVwibmctcHJpbWUtdG9vbHMvbW9kZWxzXCIgLz5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
5
+ export * from './public-api';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILCtDQUErQztBQUMvQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cbi8vLyA8YW1kLW1vZHVsZSBuYW1lPVwibmctcHJpbWUtdG9vbHMvbW9kZWxzXCIgLz5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export * from './table-column.model';
2
+ export * from './search-criteria.model';
3
+ export * from './filter-option.model';
4
+ export * from './form-button.model';
5
+ export * from './form-field.model';
6
+ export * from './form-field-group.model';
7
+ export * from './form-check-field.model';
8
+ export * from './form-date-field.model';
9
+ export * from './form-drop-down-field.model';
10
+ export * from './form-multi-select.model';
11
+ export * from './form-number-field.model';
12
+ export * from './form-switch-field.model';
13
+ export * from './form-text-area-field.model';
14
+ export * from './form-text-field.model';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb2x1bW4ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtY3JpdGVyaWEubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1idXR0b24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1ncm91cC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tY2hlY2stZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWRhdGUtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWRyb3AtZG93bi1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tbXVsdGktc2VsZWN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1udW1iZXItZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXN3aXRjaC1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdGV4dC1hcmVhLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS10ZXh0LWZpZWxkLm1vZGVsJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNyaXRlcmlhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvc2VhcmNoLWNyaXRlcmlhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtIH0gZnJvbSAnLi4vZW51bXMvc2VhcmNoLWNyaXRlcmlhLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBGaWx0ZXJPcHRpb24gfSBmcm9tICcuL2ZpbHRlci1vcHRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENyaXRlcmlhIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xuICB0eXBlOiBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtO1xuICB2YWx1ZT86IGFueTtcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbltdO1xuICBjdXJyZW5jeT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvdGFibGUtY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZVR5cGVFbnVtIH0gZnJvbSAnLi4vZW51bXMvdGFibGUtdHlwZS5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbHVtbiB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBUYWJsZVR5cGVFbnVtO1xuICBvcHRpb25zPzogYW55W107XG4gIGlzRWRpdGFibGU/OiBib29sZWFuO1xuICBpc0ZpbHRlcj86IGJvb2xlYW47XG4gIGRhdGVGb3JtYXQ/OiBzdHJpbmc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICBmaWx0ZXJPcHRpb25zPzogYW55W107XG4gIGRlY2ltYWxQbGFjZXM/OiBudW1iZXI7XG4gIGlzU29ydGFibGU/OiBib29sZWFuO1xuICB0aG91c2FuZFNlcGFyYXRvcj86ICdjb21tYScgfCAnc3BhY2UnO1xuICBkZWNpbWFsU2VwYXJhdG9yPzogJ2NvbW1hJyB8ICdkb3QnO1xufVxuIl19
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
135
135
  }], searchCriteria: [{
136
136
  type: Output
137
137
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbXVsdGktc2VhcmNoLWNyaXRlcmlhL211bHRpLXNlYXJjaC1jcml0ZXJpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL211bHRpLXNlYXJjaC1jcml0ZXJpYS9tdWx0aS1zZWFyY2gtY3JpdGVyaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7Ozs7O0FBU2xELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNRSwyQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUV2QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUF5QixRQUFRLENBQUMsQ0FBQyxpQkFBaUI7UUFDdkQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFdEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQW1CLEVBQUUsQ0FBQztLQTRHL0I7SUExR0MsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0IsSUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLFdBQVc7Z0JBQ2hELElBQUksQ0FBQyxhQUFhLEVBQ2xCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXFCO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsTUFBTSxjQUFjLEdBQTJCLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzlELGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDbkQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQ3ZDLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDeEQsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJOzRCQUM5QyxTQUFTOzRCQUNULFNBQVM7eUJBQ1YsQ0FBQzt3QkFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDckMsQ0FBQzt3QkFDRixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQzNCLE9BQU8sSUFBSSxDQUFDO3dCQUNkLENBQUM7d0JBQ0QsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7NEJBQ3RCLE9BQU8sS0FBSyxDQUFDO3dCQUNmLENBQUM7d0JBQ0QsTUFBTSxlQUFlLEdBQUcsU0FBUzs0QkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDOzRCQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNULE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUMvRCxPQUFPLENBQ0wsQ0FBQyxDQUFDLGVBQWUsSUFBSSxRQUFRLElBQUksZUFBZSxDQUFDOzRCQUNqRCxDQUFDLENBQUMsYUFBYSxJQUFJLFFBQVEsSUFBSSxhQUFhLENBQUMsQ0FDOUMsQ0FBQztvQkFDSixDQUFDO3lCQUFNLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDNUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDO29CQUN0RSxDQUFDO3lCQUFNLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDakUsT0FBTyxDQUNMLENBQUMsU0FBUyxDQUFDLEtBQUs7NEJBQ2hCLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNsQixDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDaEUsQ0FDRixDQUFDO29CQUNKLENBQUM7eUJBQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUM1RCxPQUFPLENBQ0wsQ0FBQyxTQUFTLENBQUMsS0FBSzs0QkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7aUNBQ2pCLFFBQVEsRUFBRTtpQ0FDVixXQUFXLEVBQUU7aUNBQ2IsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDdEQsQ0FBQztvQkFDSixDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFVLEVBQUUsU0FBeUI7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVPLFNBQVMsQ0FBQyxVQUE0QztRQUM1RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDbkUsT0FBTyxVQUFrQixDQUFDO1FBQzVCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBSSxVQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBdkhVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHNQQ1Z6Qyx1dkZBcUZBOzs0RkQzRWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFPeEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaENyaXRlcmlhVHlwZUVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hDcml0ZXJpYSB9IGZyb20gJy4uL21vZGVscy9zZWFyY2gtY3JpdGVyaWEnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1vcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdWx0aS1zZWFyY2gtY3JpdGVyaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWFyY2hDcml0ZXJpYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIFNlYXJjaENyaXRlcmlhVHlwZUVudW0gPSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtO1xuXG4gIEBJbnB1dCgpIHRpdGxlOiBTdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY3JpdGVyaWE6IFNlYXJjaENyaXRlcmlhW10gPSBbXTtcbiAgQElucHV0KCkgaW5wdXRzUGVyUm93OiBudW1iZXIgPSAzO1xuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiAnc3RhdGljJyB8ICdkeW5hbWljJyA9ICdzdGF0aWMnOyAvLyBBZGQgbW9kZSBpbnB1dFxuICBAT3V0cHV0KCkgZmlsdGVyZWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjx7IFtrZXk6IHN0cmluZ106IGFueSB9PigpO1xuXG4gIHNlbGVjdEFsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZDogRmlsdGVyT3B0aW9uW10gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyaXRlcmlhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgaXRlbS50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk1VTFRJU0VMRUNUICYmXG4gICAgICAgIGl0ZW0uZmlsdGVyT3B0aW9uc1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbLi4uaXRlbS5maWx0ZXJPcHRpb25zXTtcbiAgICAgICAgaXRlbS52YWx1ZSA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDdXJyZW5jeVN5bWJvbChpbnB1dDogU2VhcmNoQ3JpdGVyaWEpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnB1dC5jdXJyZW5jeSB8fCAnRVVSJztcbiAgfVxuXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZHluYW1pYycpIHtcbiAgICAgIGNvbnN0IGNyaXRlcmlhVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICB0aGlzLmNyaXRlcmlhLmZvckVhY2goKGNyaXRlcmlvbikgPT4ge1xuICAgICAgICBpZiAoY3JpdGVyaW9uLnZhbHVlICE9PSBudWxsICYmIGNyaXRlcmlvbi52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY3JpdGVyaWFWYWx1ZXNbY3JpdGVyaW9uLmNvZGVdID0gY3JpdGVyaW9uLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VhcmNoQ3JpdGVyaWEuZW1pdChjcml0ZXJpYVZhbHVlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5kYXRhLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYS5ldmVyeSgoY3JpdGVyaW9uKSA9PiB7XG4gICAgICAgICAgaWYgKGNyaXRlcmlvbi50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLkRBVEVSQU5HRSkge1xuICAgICAgICAgICAgY29uc3QgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0gPSBjcml0ZXJpb24udmFsdWUgfHwgW1xuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjb25zdCBpdGVtRGF0ZSA9IHRoaXMucGFyc2VEYXRlKFxuICAgICAgICAgICAgICBpdGVtW2NyaXRlcmlvbi5jb2RlXSB8fCBpdGVtWydkYXRlJ11cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIXN0YXJ0RGF0ZSAmJiAhZW5kRGF0ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtRGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRTdGFydERhdGUgPSBzdGFydERhdGVcbiAgICAgICAgICAgICAgPyB0aGlzLnBhcnNlRGF0ZShzdGFydERhdGUpXG4gICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZEVuZERhdGUgPSBlbmREYXRlID8gdGhpcy5wYXJzZURhdGUoZW5kRGF0ZSkgOiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKCFwYXJzZWRTdGFydERhdGUgfHwgaXRlbURhdGUgPj0gcGFyc2VkU3RhcnREYXRlKSAmJlxuICAgICAgICAgICAgICAoIXBhcnNlZEVuZERhdGUgfHwgaXRlbURhdGUgPD0gcGFyc2VkRW5kRGF0ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjcml0ZXJpb24udHlwZSA9PT0gU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5BTU9VTlQpIHtcbiAgICAgICAgICAgIHJldHVybiAhY3JpdGVyaW9uLnZhbHVlIHx8IGl0ZW1bY3JpdGVyaW9uLmNvZGVdID09PSBjcml0ZXJpb24udmFsdWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChjcml0ZXJpb24udHlwZSA9PT0gU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5NVUxUSVNFTEVDVCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgIWNyaXRlcmlvbi52YWx1ZSB8fFxuICAgICAgICAgICAgICBjcml0ZXJpb24udmFsdWUuc29tZShcbiAgICAgICAgICAgICAgICAob3B0aW9uOiBGaWx0ZXJPcHRpb24pID0+IG9wdGlvbi5sYWJlbCA9PT0gaXRlbVtjcml0ZXJpb24uY29kZV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNyaXRlcmlvbi50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLlNUUklORykge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgIWNyaXRlcmlvbi52YWx1ZSB8fFxuICAgICAgICAgICAgICBpdGVtW2NyaXRlcmlvbi5jb2RlXVxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoY3JpdGVyaW9uLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWx0ZXJlZERhdGEuZW1pdChmaWx0ZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jcml0ZXJpYS5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgaW5wdXQudmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWREYXRhLmVtaXQodGhpcy5kYXRhKTtcbiAgfVxuXG4gIG9uU2VsZWN0QWxsQ2hhbmdlKGV2ZW50OiBhbnksIGNyaXRlcmlvbjogU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICB0aGlzLnNlbGVjdEFsbCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY3JpdGVyaW9uLnZhbHVlID0gZXZlbnQuY2hlY2tlZCA/IFsuLi4oY3JpdGVyaW9uLmZpbHRlck9wdGlvbnMgPz8gW10pXSA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZURhdGUoZGF0ZVN0cmluZzogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCFkYXRlU3RyaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGVTdHJpbmcpID09PSAnW29iamVjdCBEYXRlXScpIHtcbiAgICAgIHJldHVybiBkYXRlU3RyaW5nIGFzIERhdGU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSAoZGF0ZVN0cmluZyBhcyBzdHJpbmcpLnNwbGl0KCcvJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQocGFydHNbMF0sIDEwKTtcbiAgICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQocGFydHNbMV0sIDEwKSAtIDE7XG4gICAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQocGFydHNbMl0sIDEwKTtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgIHJldHVybiBpc05hTihkYXRlLmdldFRpbWUoKSkgPyBudWxsIDogZGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxwLXBhbmVsIGhlYWRlcj1cInt7IHRpdGxlIH19XCIgW3RvZ2dsZWFibGVdPVwidHJ1ZVwiIFtjb2xsYXBzZWRdPVwidHJ1ZVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIlxuICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGlucHV0c1BlclJvdyArICcsIDFmciknIH1cIlxuICA+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgY3JpdGVyaWFcIiBjbGFzcz1cImNyaXRlcmlhLWl0ZW1cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImJzYy1sYWJlbFwiPnt7IGlucHV0LnRpdGxlIH19PC9sYWJlbD5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaW5wdXQudHlwZVwiPlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLkRBVEVSQU5HRVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgc2VsZWN0aW9uTW9kZT1cInJhbmdlXCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZGQvbW0veXknXCJcbiAgICAgICAgICBjbGFzcz1cImZ1bGwtd2lkdGgtaW5wdXRcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJpbnB1dC52YWx1ZSA9ICRldmVudFwiXG4gICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlNlYXJjaENyaXRlcmlhVHlwZUVudW0uREFURVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImlucHV0LnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZGQvbW0veXknXCJcbiAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlNlYXJjaENyaXRlcmlhVHlwZUVudW0uU1RSSU5HXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwiZnVsbC13aWR0aC1pbnB1dFwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHAtaW5wdXROdW1iZXJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5BTU9VTlRcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgICAgICBpbnB1dElkPVwibWlubWF4ZnJhY3Rpb25cIlxuICAgICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCIyXCJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiNVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldEN1cnJlbmN5U3ltYm9sKGlucHV0KVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgICA8cC1pbnB1dE51bWJlclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk5VTUJFUlwiXG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgICA8cC1tdWx0aVNlbGVjdFxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk1VTFRJU0VMRUNUXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJpbnB1dC5maWx0ZXJPcHRpb25zXCJcbiAgICAgICAgICBbZGlzcGxheV09XCInY2hpcCdcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICBbc2VsZWN0QWxsXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgKG9uU2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudCwgaW5wdXQpXCJcbiAgICAgICAgICBjbGFzcz1cImN1c3RvbS1tdWx0aXNlbGVjdCBmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1tdWx0aVNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1idXR0b25zXCI+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJFZmZhY2VyXCJcbiAgICAgICAgaWNvbj1cInBpIHBpLXRpbWVzXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICAgICAgICBjbGFzcz1cImZvb3Rlci1idXR0b25cIlxuICAgICAgPjwvcC1idXR0b24+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJSZWNoZXJjaGVyXCJcbiAgICAgICAgaWNvbj1cInBpIHBpLXNlYXJjaFwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2goKVwiXG4gICAgICAgIGNsYXNzPVwiZm9vdGVyLWJ1dHRvblwiXG4gICAgICA+PC9wLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1wYW5lbD5cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbXVsdGktc2VhcmNoLWNyaXRlcmlhL211bHRpLXNlYXJjaC1jcml0ZXJpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL211bHRpLXNlYXJjaC1jcml0ZXJpYS9tdWx0aS1zZWFyY2gtY3JpdGVyaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7Ozs7O0FBU2xELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNRSwyQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUV2QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUF5QixRQUFRLENBQUMsQ0FBQyxpQkFBaUI7UUFDdkQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFdEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQW1CLEVBQUUsQ0FBQztLQTRHL0I7SUExR0MsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0IsSUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLFdBQVc7Z0JB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Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaENyaXRlcmlhVHlwZUVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hDcml0ZXJpYSB9IGZyb20gJy4uL21vZGVscy9zZWFyY2gtY3JpdGVyaWEubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1vcHRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdWx0aS1zZWFyY2gtY3JpdGVyaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VhcmNoLWNyaXRlcmlhLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWFyY2hDcml0ZXJpYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIFNlYXJjaENyaXRlcmlhVHlwZUVudW0gPSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtO1xuXG4gIEBJbnB1dCgpIHRpdGxlOiBTdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY3JpdGVyaWE6IFNlYXJjaENyaXRlcmlhW10gPSBbXTtcbiAgQElucHV0KCkgaW5wdXRzUGVyUm93OiBudW1iZXIgPSAzO1xuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiAnc3RhdGljJyB8ICdkeW5hbWljJyA9ICdzdGF0aWMnOyAvLyBBZGQgbW9kZSBpbnB1dFxuICBAT3V0cHV0KCkgZmlsdGVyZWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjx7IFtrZXk6IHN0cmluZ106IGFueSB9PigpO1xuXG4gIHNlbGVjdEFsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZDogRmlsdGVyT3B0aW9uW10gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyaXRlcmlhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgaXRlbS50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk1VTFRJU0VMRUNUICYmXG4gICAgICAgIGl0ZW0uZmlsdGVyT3B0aW9uc1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbLi4uaXRlbS5maWx0ZXJPcHRpb25zXTtcbiAgICAgICAgaXRlbS52YWx1ZSA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDdXJyZW5jeVN5bWJvbChpbnB1dDogU2VhcmNoQ3JpdGVyaWEpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnB1dC5jdXJyZW5jeSB8fCAnRVVSJztcbiAgfVxuXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZHluYW1pYycpIHtcbiAgICAgIGNvbnN0IGNyaXRlcmlhVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICB0aGlzLmNyaXRlcmlhLmZvckVhY2goKGNyaXRlcmlvbikgPT4ge1xuICAgICAgICBpZiAoY3JpdGVyaW9uLnZhbHVlICE9PSBudWxsICYmIGNyaXRlcmlvbi52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY3JpdGVyaWFWYWx1ZXNbY3JpdGVyaW9uLmNvZGVdID0gY3JpdGVyaW9uLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VhcmNoQ3JpdGVyaWEuZW1pdChjcml0ZXJpYVZhbHVlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5kYXRhLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYS5ldmVyeSgoY3JpdGVyaW9uKSA9PiB7XG4gICAgICAgICAgaWYgKGNyaXRlcmlvbi50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLkRBVEVSQU5HRSkge1xuICAgICAgICAgICAgY29uc3QgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0gPSBjcml0ZXJpb24udmFsdWUgfHwgW1xuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjb25zdCBpdGVtRGF0ZSA9IHRoaXMucGFyc2VEYXRlKFxuICAgICAgICAgICAgICBpdGVtW2NyaXRlcmlvbi5jb2RlXSB8fCBpdGVtWydkYXRlJ11cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIXN0YXJ0RGF0ZSAmJiAhZW5kRGF0ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtRGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRTdGFydERhdGUgPSBzdGFydERhdGVcbiAgICAgICAgICAgICAgPyB0aGlzLnBhcnNlRGF0ZShzdGFydERhdGUpXG4gICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZEVuZERhdGUgPSBlbmREYXRlID8gdGhpcy5wYXJzZURhdGUoZW5kRGF0ZSkgOiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKCFwYXJzZWRTdGFydERhdGUgfHwgaXRlbURhdGUgPj0gcGFyc2VkU3RhcnREYXRlKSAmJlxuICAgICAgICAgICAgICAoIXBhcnNlZEVuZERhdGUgfHwgaXRlbURhdGUgPD0gcGFyc2VkRW5kRGF0ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjcml0ZXJpb24udHlwZSA9PT0gU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5BTU9VTlQpIHtcbiAgICAgICAgICAgIHJldHVybiAhY3JpdGVyaW9uLnZhbHVlIHx8IGl0ZW1bY3JpdGVyaW9uLmNvZGVdID09PSBjcml0ZXJpb24udmFsdWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChjcml0ZXJpb24udHlwZSA9PT0gU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5NVUxUSVNFTEVDVCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgIWNyaXRlcmlvbi52YWx1ZSB8fFxuICAgICAgICAgICAgICBjcml0ZXJpb24udmFsdWUuc29tZShcbiAgICAgICAgICAgICAgICAob3B0aW9uOiBGaWx0ZXJPcHRpb24pID0+IG9wdGlvbi5sYWJlbCA9PT0gaXRlbVtjcml0ZXJpb24uY29kZV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNyaXRlcmlvbi50eXBlID09PSBTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLlNUUklORykge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgIWNyaXRlcmlvbi52YWx1ZSB8fFxuICAgICAgICAgICAgICBpdGVtW2NyaXRlcmlvbi5jb2RlXVxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoY3JpdGVyaW9uLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWx0ZXJlZERhdGEuZW1pdChmaWx0ZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jcml0ZXJpYS5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgaW5wdXQudmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWREYXRhLmVtaXQodGhpcy5kYXRhKTtcbiAgfVxuXG4gIG9uU2VsZWN0QWxsQ2hhbmdlKGV2ZW50OiBhbnksIGNyaXRlcmlvbjogU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICB0aGlzLnNlbGVjdEFsbCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY3JpdGVyaW9uLnZhbHVlID0gZXZlbnQuY2hlY2tlZCA/IFsuLi4oY3JpdGVyaW9uLmZpbHRlck9wdGlvbnMgPz8gW10pXSA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZURhdGUoZGF0ZVN0cmluZzogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCFkYXRlU3RyaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGVTdHJpbmcpID09PSAnW29iamVjdCBEYXRlXScpIHtcbiAgICAgIHJldHVybiBkYXRlU3RyaW5nIGFzIERhdGU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSAoZGF0ZVN0cmluZyBhcyBzdHJpbmcpLnNwbGl0KCcvJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQocGFydHNbMF0sIDEwKTtcbiAgICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQocGFydHNbMV0sIDEwKSAtIDE7XG4gICAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQocGFydHNbMl0sIDEwKTtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgIHJldHVybiBpc05hTihkYXRlLmdldFRpbWUoKSkgPyBudWxsIDogZGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxwLXBhbmVsIGhlYWRlcj1cInt7IHRpdGxlIH19XCIgW3RvZ2dsZWFibGVdPVwidHJ1ZVwiIFtjb2xsYXBzZWRdPVwidHJ1ZVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIlxuICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGlucHV0c1BlclJvdyArICcsIDFmciknIH1cIlxuICA+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgY3JpdGVyaWFcIiBjbGFzcz1cImNyaXRlcmlhLWl0ZW1cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImJzYy1sYWJlbFwiPnt7IGlucHV0LnRpdGxlIH19PC9sYWJlbD5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaW5wdXQudHlwZVwiPlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLkRBVEVSQU5HRVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgc2VsZWN0aW9uTW9kZT1cInJhbmdlXCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZGQvbW0veXknXCJcbiAgICAgICAgICBjbGFzcz1cImZ1bGwtd2lkdGgtaW5wdXRcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJpbnB1dC52YWx1ZSA9ICRldmVudFwiXG4gICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlNlYXJjaENyaXRlcmlhVHlwZUVudW0uREFURVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImlucHV0LnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZGQvbW0veXknXCJcbiAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlNlYXJjaENyaXRlcmlhVHlwZUVudW0uU1RSSU5HXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwiZnVsbC13aWR0aC1pbnB1dFwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHAtaW5wdXROdW1iZXJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiU2VhcmNoQ3JpdGVyaWFUeXBlRW51bS5BTU9VTlRcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgICAgICAgIG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgICAgICBpbnB1dElkPVwibWlubWF4ZnJhY3Rpb25cIlxuICAgICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCIyXCJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiNVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldEN1cnJlbmN5U3ltYm9sKGlucHV0KVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgICA8cC1pbnB1dE51bWJlclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk5VTUJFUlwiXG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgICA8cC1tdWx0aVNlbGVjdFxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTZWFyY2hDcml0ZXJpYVR5cGVFbnVtLk1VTFRJU0VMRUNUXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJpbnB1dC5maWx0ZXJPcHRpb25zXCJcbiAgICAgICAgICBbZGlzcGxheV09XCInY2hpcCdcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICBbc2VsZWN0QWxsXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgKG9uU2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudCwgaW5wdXQpXCJcbiAgICAgICAgICBjbGFzcz1cImN1c3RvbS1tdWx0aXNlbGVjdCBmdWxsLXdpZHRoLWlucHV0XCJcbiAgICAgICAgPjwvcC1tdWx0aVNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1idXR0b25zXCI+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJFZmZhY2VyXCJcbiAgICAgICAgaWNvbj1cInBpIHBpLXRpbWVzXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICAgICAgICBjbGFzcz1cImZvb3Rlci1idXR0b25cIlxuICAgICAgPjwvcC1idXR0b24+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJSZWNoZXJjaGVyXCJcbiAgICAgICAgaWNvbj1cInBpIHBpLXNlYXJjaFwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2goKVwiXG4gICAgICAgIGNsYXNzPVwiZm9vdGVyLWJ1dHRvblwiXG4gICAgICA+PC9wLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1wYW5lbD5cbiJdfQ==