@o3r/forms 10.0.0-prerelease.99 → 10.0.0-rc.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.
package/README.md CHANGED
@@ -17,7 +17,8 @@ This module provides utilities to enhance angular form (asynchronous decorator,
17
17
  ng add @o3r/forms
18
18
  ```
19
19
 
20
- > **Warning**: this module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
20
+ > [!WARNING]
21
+ > This module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
21
22
 
22
23
  ## Container/presenter and form creation
23
24
 
@@ -29,13 +30,13 @@ A Container/presenter architecture was put in place to ensure best reusability/s
29
30
  * **container** only values and errors are propagated from the presenter
30
31
  * **container** can set the default value
31
32
 
32
- ### How the container and presenter will communicate in forms context
33
+ ### How the container and presenter will communicate in forms context
33
34
 
34
35
  * **presenter** implements [ControlValueAccessor](https://angular.io/api/forms/ControlValueAccessor) and [Validator](https://angular.io/api/forms/Validator) (or [AsyncValidator](https://angular.io/api/forms/AsyncValidator)) interfaces
35
36
  * **propagate** the value, the form status and the errors
36
37
  * **container** applies [FormControlDirective](https://angular.io/api/forms/FormControlDirective) on the presenter html tag
37
38
  * **container** sets the default value using **formControl** directive
38
- * **listen** to the value and status changes using the same directive
39
+ * **listen** to the value and status changes using the same directive
39
40
 
40
41
  See [FORM_STRUCTURE](https://github.com/AmadeusITGroup/otter/tree/main/docs/forms/FORM_STRUCTURE.md)
41
42
 
@@ -45,7 +46,7 @@ See [FORM_STRUCTURE](https://github.com/AmadeusITGroup/otter/tree/main/docs/form
45
46
 
46
47
  ### Display inline errors
47
48
 
48
- * the error messages returned by validators are used in the inline error display
49
+ * the error messages returned by validators are used in the inline error display
49
50
  * **simple/basic/primitive** validators - set as a configuration of the **presenter**
50
51
  * localization of the associated error messages from the presenter
51
52
  * the error object associated is computed here and has to be compliant with the store object model
@@ -59,7 +60,7 @@ See [FORM_STRUCTURE](https://github.com/AmadeusITGroup/otter/tree/main/docs/form
59
60
 
60
61
  * a dedicated _FormErrorStore_ is available on **@o3r/forms**
61
62
  * allows the display of errors anywhere on the page
62
- * the error object model contains the translation key and params
63
+ * the error object model contains the translation key and params
63
64
  See [FORM_VALIDATION](https://github.com/AmadeusITGroup/otter/tree/main/docs/forms/FORM_VALIDATION.md) and [FORM_ERRORS](https://github.com/AmadeusITGroup/otter/tree/main/docs/forms/FORM_ERRORS.md)
64
65
 
65
66
  ## Form submit
@@ -72,7 +73,7 @@ See [FORM_VALIDATION](https://github.com/AmadeusITGroup/otter/tree/main/docs/for
72
73
  ### What happens when you have multiple forms and you want to submit?
73
74
 
74
75
  The answer is that we should avoid as much as possible having multiple form tags in the same page as it adds a lot of complexity. We should try to have only one _form_ tag that encapsulates everything and one submit action.
75
-
76
+
76
77
  If multiple forms are really needed, then we found the following solution:
77
78
 
78
79
  * the submit button is hidden on the presenters
@@ -47,4 +47,4 @@ export function AsyncInput(privateFieldName) {
47
47
  }
48
48
  };
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvYXN5bmMtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxVQUFVLENBQUMsZ0JBQXlCO0lBQ2xELE9BQU8sQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLGdCQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDakMsR0FBRyxFQUFFO29CQUNILHFEQUFxRDtvQkFDckQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztnQkFDRCxHQUFHLEVBQUUsVUFBcUIsS0FBa0M7b0JBQzFELElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ1YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxLQUFLLENBQUM7cUJBQ25DO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7NEJBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt5QkFDdkM7NkJBQU07NEJBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxlQUFlLENBQWtCLEtBQUssQ0FBQyxDQUFDOzRCQUN4RSxnRUFBZ0U7NEJBQ2hFLG9DQUFvQzs0QkFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUN2RCxTQUFTLENBQUMsQ0FBQyxPQUF3QixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FDakQsQ0FBQzt5QkFDSDtxQkFDRjtnQkFDSCxDQUFDO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIEBJbnB1dCBwcm9wZXJ0eVxuICogSXQgY29uc2lkZXJzIHRoZSBpbnB1dCBhcyBhbiBhc3luYyBvbmUuXG4gKiBXaGVuIGEgY2hhbmdlIGluIHRoZSBpbnB1dCBoYXBwZW5zLCBpdCB1bnN1YnNjcmliZSBmcm9tIHRoZSBwcmV2aW91cyB2YWx1ZVxuICogYW5kIHN1YnNjcmliZSB0byB0aGUgbmV4dCBvbmVcbiAqIEBwYXJhbSBwcml2YXRlRmllbGROYW1lXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogXFxASW5wdXQoKVxuICogXFxAQXN5bmNJbnB1dCgpXG4gKiBteVN0cmVhbSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAqIGBgYFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gQXN5bmNJbnB1dChwcml2YXRlRmllbGROYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcHJpdmF0ZVN1YmplY3RGaWVsZCA9IGBfc3ViamVjdF8ke3ByaXZhdGVGaWVsZE5hbWUgfHwga2V5fWA7XG4gICAgY29uc3QgcHJpdmF0ZVN0cmVhbUZpZWxkID0gYF9zdHJlYW1fJHtwcml2YXRlRmllbGROYW1lIHx8IGtleX1gO1xuICAgIGlmIChkZWxldGUgdGFyZ2V0W2tleV0pIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgICAvLyBSZXR1cm5pbmcgdGhlIHNhbWUgc3RyZWFtIGZvciByZWZlcmVuY2UgY2hlY2sgc2FrZVxuICAgICAgICAgIHJldHVybiB0aGlzW3ByaXZhdGVTdHJlYW1GaWVsZF07XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHRoaXM6IGFueSwgdmFsdWU6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSA9IHZhbHVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSkge1xuICAgICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxhbnk+Pih2YWx1ZSk7XG4gICAgICAgICAgICAgIC8vIEV2ZXJ5dGltZSB0aGUgc3ViamVjdCBlbWl0cywgd2Ugd2lsbCBkaXNjYXJkIHRoZSBwcmV2aW91cyBvbmVcbiAgICAgICAgICAgICAgLy8gYW5kIHN1YnNjcmliZSB0byB0aGUgbmV3IGVtaXNzaW9uXG4gICAgICAgICAgICAgIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXSA9IHRoaXNbcHJpdmF0ZVN1YmplY3RGaWVsZF0ucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN0cmVhbSQ6IE9ic2VydmFibGU8YW55PikgPT4gc3RyZWFtJClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvYXN5bmMtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxVQUFVLENBQUMsZ0JBQXlCO0lBQ2xELE9BQU8sQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLGdCQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxHQUFHLEVBQUU7b0JBQ0gscURBQXFEO29CQUNyRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2dCQUNELEdBQUcsRUFBRSxVQUFxQixLQUFrQztvQkFDMUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQzt3QkFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNwQyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDOzRCQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3hDLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsS0FBSyxDQUFDLENBQUM7NEJBQ3hFLGdFQUFnRTs0QkFDaEUsb0NBQW9DOzRCQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQ3ZELFNBQVMsQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNqRCxDQUFDO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgQElucHV0IHByb3BlcnR5XG4gKiBJdCBjb25zaWRlcnMgdGhlIGlucHV0IGFzIGFuIGFzeW5jIG9uZS5cbiAqIFdoZW4gYSBjaGFuZ2UgaW4gdGhlIGlucHV0IGhhcHBlbnMsIGl0IHVuc3Vic2NyaWJlIGZyb20gdGhlIHByZXZpb3VzIHZhbHVlXG4gKiBhbmQgc3Vic2NyaWJlIHRvIHRoZSBuZXh0IG9uZVxuICogQHBhcmFtIHByaXZhdGVGaWVsZE5hbWVcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBcXEBJbnB1dCgpXG4gKiBcXEBBc3luY0lucHV0KClcbiAqIG15U3RyZWFtJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICogYGBgXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBBc3luY0lucHV0KHByaXZhdGVGaWVsZE5hbWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcml2YXRlU3ViamVjdEZpZWxkID0gYF9zdWJqZWN0XyR7cHJpdmF0ZUZpZWxkTmFtZSB8fCBrZXl9YDtcbiAgICBjb25zdCBwcml2YXRlU3RyZWFtRmllbGQgPSBgX3N0cmVhbV8ke3ByaXZhdGVGaWVsZE5hbWUgfHwga2V5fWA7XG4gICAgaWYgKGRlbGV0ZSB0YXJnZXRba2V5XSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICAgIC8vIFJldHVybmluZyB0aGUgc2FtZSBzdHJlYW0gZm9yIHJlZmVyZW5jZSBjaGVjayBzYWtlXG4gICAgICAgICAgcmV0dXJuIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodGhpczogYW55LCB2YWx1ZTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpc1twcml2YXRlU3RyZWFtRmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdKSB7XG4gICAgICAgICAgICAgIHRoaXNbcHJpdmF0ZVN1YmplY3RGaWVsZF0ubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPGFueT4+KHZhbHVlKTtcbiAgICAgICAgICAgICAgLy8gRXZlcnl0aW1lIHRoZSBzdWJqZWN0IGVtaXRzLCB3ZSB3aWxsIGRpc2NhcmQgdGhlIHByZXZpb3VzIG9uZVxuICAgICAgICAgICAgICAvLyBhbmQgc3Vic2NyaWJlIHRvIHRoZSBuZXcgZW1pc3Npb25cbiAgICAgICAgICAgICAgdGhpc1twcml2YXRlU3RyZWFtRmllbGRdID0gdGhpc1twcml2YXRlU3ViamVjdEZpZWxkXS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3RyZWFtJDogT2JzZXJ2YWJsZTxhbnk+KSA9PiBzdHJlYW0kKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -89,4 +89,4 @@ export function getFlatControlErrors(form) {
89
89
  };
90
90
  return _recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUF3QjtJQUNsRCxpREFBaUQ7SUFDakQsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsT0FBd0I7SUFDckUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNwRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELElBQUksY0FBYyxFQUFFO2dCQUNsQiw4QkFBOEIsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLE9BQXdCO0lBQzFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1QyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsbUNBQW1DLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDckQ7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFxQjtJQUN4RDs7OztPQUlHO0lBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUF3QixFQUFlLEVBQUU7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUN2QixNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUM7YUFDakQsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLE9BQU87Z0JBQ0wsUUFBUTtnQkFDUixVQUFVO2dCQUNWLGVBQWUsRUFBRSxFQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFDO2FBQzFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBd0IsRUFBRSxXQUFvQixFQUFxQixFQUFFO1FBQzlGLE9BQU87WUFDTCxXQUFXO1lBQ1gsWUFBWSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSTtZQUNuRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUM1RCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUF3QixFQUFFLFdBQW9CLEVBQXVCLEVBQUU7UUFDdEcsTUFBTSxhQUFhLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMxRSxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUN4RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQ3hFLENBQUM7WUFDSixDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDbkI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbnRyb2xGbGF0RXJyb3JzLCBGbGF0RXJyb3J9IGZyb20gJy4vZmxhdC1lcnJvcnMnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBjb250cm9scyBpcyBhIEZvcm1Hcm91cFxuICogQHBhcmFtIGNvbnRyb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybUdyb3VwKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGNvbnRyb2wgaXMgRm9ybUdyb3VwIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICByZXR1cm4gY29udHJvbC5oYXNPd25Qcm9wZXJ0eSgnY29udHJvbHMnKTtcbn1cblxuLyoqXG4gKiBNYXJrIHRoZSBjb250cm9scyBpbiB0aGUgZ2l2ZW4gZm9ybSBhcyB0b3VjaGVkIGFuZCBkaXJ0eVxuICogQHBhcmFtIGNvbnRyb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtBbGxDb250cm9sc0RpcnR5QW5kVG91Y2hlZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICBjb250cm9sLm1hcmtBc1RvdWNoZWQoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgaWYgKGlzRm9ybUdyb3VwKGNvbnRyb2wpKSB7XG4gICAgT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250cm9sID0gY29udHJvbC5nZXQoY29udHJvbE5hbWUpO1xuICAgICAgaWYgKGN1cnJlbnRDb250cm9sKSB7XG4gICAgICAgIG1hcmtBbGxDb250cm9sc0RpcnR5QW5kVG91Y2hlZChjdXJyZW50Q29udHJvbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBNYXJrIHRoZSBjb250cm9scyBpbiB0aGUgZ2l2ZW4gZm9ybSBhcyB1bnRvdWNoZWQgYW5kIHByaXN0aW5lXG4gKiBAcGFyYW0gY29udHJvbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbENvbnRyb2xzUHJpc3RpbmVBbmRVbnRvdWNoZWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XG4gIGNvbnRyb2wubWFya0FzUHJpc3RpbmUoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgaWYgKGlzRm9ybUdyb3VwKGNvbnRyb2wpKSB7XG4gICAgT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250cm9sID0gY29udHJvbC5nZXQoY29udHJvbE5hbWUpO1xuICAgICAgaWYgKGN1cnJlbnRDb250cm9sKSB7XG4gICAgICAgIG1hcmtBbGxDb250cm9sc1ByaXN0aW5lQW5kVW50b3VjaGVkKGN1cnJlbnRDb250cm9sKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgYSBmbGF0IGxpc3Qgb2YgYWxsIHRoZSBlcnJvcnMgaW4gdGhlIGZvcm0gYW5kIGl0J3MgZGVzY2VuZGVudHNcbiAqIEBwYXJhbSBmb3JtIEZvcm0gdG8gYmUgY2hlY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmxhdENvbnRyb2xFcnJvcnMoZm9ybTogQWJzdHJhY3RDb250cm9sKSB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIFZhbGlkYXRpb25FcnJvcnMgb2JqZWN0IGludG8gYW4gYXJyYXkgb2YgRmxhdEVycm9ycy5cbiAgICogQG5vdGUgSXQgZmlsdGVycyBvdXQgdGhlICdjdXN0b21FcnJvcnMnXG4gICAqIEBwYXJhbSBlcnJvcnMgVmFsaWRhdGlvbiBlcnJvcnMgaW4gYSBjb250cm9sXG4gICAqL1xuICBjb25zdCBfZ2V0RXJyb3JMaXN0ID0gKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IEZsYXRFcnJvcltdID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKVxuICAgICAgLmZpbHRlcigoZXJyb3JLZXkpID0+IGVycm9yS2V5ICE9PSAnY3VzdG9tRXJyb3JzJylcbiAgICAgIC5tYXAoKGVycm9yS2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yVmFsdWUgPSBlcnJvcnNbZXJyb3JLZXldO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGVycm9yS2V5LFxuICAgICAgICAgIGVycm9yVmFsdWUsXG4gICAgICAgICAgdmFsaWRhdGlvbkVycm9yOiB7W2Vycm9yS2V5XTogZXJyb3JWYWx1ZX1cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgYSBDb250cm9sRmxhdEVycm9yIG9mIHRoZSBjb250cm9sIChvciBmb3JtKSBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZSBjb250cm9sLCB0aGUgdmFsaWRhdGlvbnMgZXJyb3JzIGFuZCBjdXN0b20gZXJyb3JzXG4gICAqIEBwYXJhbSBjb250cm9sIHRoZSBjb250cm9sIHRvIGJlIGFuYWx5emVkXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSB0aGUgbmFtZSBvZiB0aGUgY29udHJvbC4gT3B0aW9uYWwgc2luY2UgZm9ybXMgZG8gbm90IGhhdmUgbmFtZXNcbiAgICovXG4gIGNvbnN0IF9nZXRDb250cm9sRXJyb3JzID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBDb250cm9sRmxhdEVycm9ycyA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2xOYW1lLFxuICAgICAgY3VzdG9tRXJyb3JzOiBjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmVycm9ycy5jdXN0b21FcnJvcnMgfHwgbnVsbCxcbiAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMgPyBfZ2V0RXJyb3JMaXN0KGNvbnRyb2wuZXJyb3JzKSA6IFtdXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogUmVjdXJzaW9uIHRvIGdldCBhbGwgdGhlIGZsYXQgZXJyb3JzIGZyb20gdGhlIGNvbnRyb2wgYW5kIGl0cyBkZXNjZW5kZW50c1xuICAgKiBAcGFyYW0gY29udHJvbCB0aGUgY29udHJvbCB0byBiZSBhbmFseXplZFxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wuIE9wdGlvbmFsIHNpbmNlIGZvcm1zIGRvIG5vdCBoYXZlIG5hbWVzXG4gICAqL1xuICBjb25zdCBfcmVjdXJzaXZlQ29udHJvbEVycm9ycyA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbnRyb2xOYW1lPzogc3RyaW5nKTogQ29udHJvbEZsYXRFcnJvcnNbXSA9PiB7XG4gICAgY29uc3QgY29udHJvbEVycm9ycyA9IFtfZ2V0Q29udHJvbEVycm9ycyhjb250cm9sLCBjb250cm9sTmFtZSldO1xuICAgIGlmIChpc0Zvcm1Hcm91cChjb250cm9sKSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNvbnRyb2wuY29udHJvbHMpLnJlZHVjZSgoYWxsRXJyb3JzLCBjaGlsZENvbnRyb2xOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaWxkTmFtZSA9IGNvbnRyb2xOYW1lID8gYCR7Y29udHJvbE5hbWV9LiR7Y2hpbGRDb250cm9sTmFtZX1gIDogY2hpbGRDb250cm9sTmFtZTtcbiAgICAgICAgcmV0dXJuIGFsbEVycm9ycy5jb25jYXQoXG4gICAgICAgICAgX3JlY3Vyc2l2ZUNvbnRyb2xFcnJvcnMoY29udHJvbC5nZXQoY2hpbGRDb250cm9sTmFtZSkhLCBgJHtjaGlsZE5hbWV9YClcbiAgICAgICAgKTtcbiAgICAgIH0sIGNvbnRyb2xFcnJvcnMpO1xuICAgIH1cbiAgICByZXR1cm4gY29udHJvbEVycm9ycztcbiAgfTtcblxuICByZXR1cm4gX3JlY3Vyc2l2ZUNvbnRyb2xFcnJvcnMoZm9ybSkuZmlsdGVyKChlcnJvcnMpID0+ICEhZXJyb3JzLmN1c3RvbUVycm9ycyB8fCBlcnJvcnMuZXJyb3JzLmxlbmd0aCA+IDApO1xufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUF3QjtJQUNsRCxpREFBaUQ7SUFDakQsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsT0FBd0I7SUFDckUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsOEJBQThCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQUMsT0FBd0I7SUFDMUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsbUNBQW1DLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBcUI7SUFDeEQ7Ozs7T0FJRztJQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBd0IsRUFBZSxFQUFFO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDdkIsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEtBQUssY0FBYyxDQUFDO2FBQ2pELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxPQUFPO2dCQUNMLFFBQVE7Z0JBQ1IsVUFBVTtnQkFDVixlQUFlLEVBQUUsRUFBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBQzthQUMxQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQXdCLEVBQUUsV0FBb0IsRUFBcUIsRUFBRTtRQUM5RixPQUFPO1lBQ0wsV0FBVztZQUNYLFlBQVksRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUk7WUFDbkUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDNUQsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBd0IsRUFBRSxXQUFvQixFQUF1QixFQUFFO1FBQ3RHLE1BQU0sYUFBYSxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMxRSxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUN4RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQ3hFLENBQUM7WUFDSixDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM3RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUgKi9cbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q29udHJvbEZsYXRFcnJvcnMsIEZsYXRFcnJvcn0gZnJvbSAnLi9mbGF0LWVycm9ycyc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGNvbnRyb2xzIGlzIGEgRm9ybUdyb3VwXG4gKiBAcGFyYW0gY29udHJvbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtR3JvdXAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogY29udHJvbCBpcyBGb3JtR3JvdXAge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gIHJldHVybiBjb250cm9sLmhhc093blByb3BlcnR5KCdjb250cm9scycpO1xufVxuXG4vKipcbiAqIE1hcmsgdGhlIGNvbnRyb2xzIGluIHRoZSBnaXZlbiBmb3JtIGFzIHRvdWNoZWQgYW5kIGRpcnR5XG4gKiBAcGFyYW0gY29udHJvbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbENvbnRyb2xzRGlydHlBbmRUb3VjaGVkKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gIGNvbnRyb2wubWFya0FzVG91Y2hlZCh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICBpZiAoaXNGb3JtR3JvdXAoY29udHJvbCkpIHtcbiAgICBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudENvbnRyb2wgPSBjb250cm9sLmdldChjb250cm9sTmFtZSk7XG4gICAgICBpZiAoY3VycmVudENvbnRyb2wpIHtcbiAgICAgICAgbWFya0FsbENvbnRyb2xzRGlydHlBbmRUb3VjaGVkKGN1cnJlbnRDb250cm9sKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIE1hcmsgdGhlIGNvbnRyb2xzIGluIHRoZSBnaXZlbiBmb3JtIGFzIHVudG91Y2hlZCBhbmQgcHJpc3RpbmVcbiAqIEBwYXJhbSBjb250cm9sXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXJrQWxsQ29udHJvbHNQcmlzdGluZUFuZFVudG91Y2hlZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgY29udHJvbC5tYXJrQXNVbnRvdWNoZWQoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgY29udHJvbC5tYXJrQXNQcmlzdGluZSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICBpZiAoaXNGb3JtR3JvdXAoY29udHJvbCkpIHtcbiAgICBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudENvbnRyb2wgPSBjb250cm9sLmdldChjb250cm9sTmFtZSk7XG4gICAgICBpZiAoY3VycmVudENvbnRyb2wpIHtcbiAgICAgICAgbWFya0FsbENvbnRyb2xzUHJpc3RpbmVBbmRVbnRvdWNoZWQoY3VycmVudENvbnRyb2wpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogR2V0cyBhIGZsYXQgbGlzdCBvZiBhbGwgdGhlIGVycm9ycyBpbiB0aGUgZm9ybSBhbmQgaXQncyBkZXNjZW5kZW50c1xuICogQHBhcmFtIGZvcm0gRm9ybSB0byBiZSBjaGVja2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGbGF0Q29udHJvbEVycm9ycyhmb3JtOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgVmFsaWRhdGlvbkVycm9ycyBvYmplY3QgaW50byBhbiBhcnJheSBvZiBGbGF0RXJyb3JzLlxuICAgKiBAbm90ZSBJdCBmaWx0ZXJzIG91dCB0aGUgJ2N1c3RvbUVycm9ycydcbiAgICogQHBhcmFtIGVycm9ycyBWYWxpZGF0aW9uIGVycm9ycyBpbiBhIGNvbnRyb2xcbiAgICovXG4gIGNvbnN0IF9nZXRFcnJvckxpc3QgPSAoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzKTogRmxhdEVycm9yW10gPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpXG4gICAgICAuZmlsdGVyKChlcnJvcktleSkgPT4gZXJyb3JLZXkgIT09ICdjdXN0b21FcnJvcnMnKVxuICAgICAgLm1hcCgoZXJyb3JLZXkpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JWYWx1ZSA9IGVycm9yc1tlcnJvcktleV07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZXJyb3JLZXksXG4gICAgICAgICAgZXJyb3JWYWx1ZSxcbiAgICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IHtbZXJyb3JLZXldOiBlcnJvclZhbHVlfVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCBhIENvbnRyb2xGbGF0RXJyb3Igb2YgdGhlIGNvbnRyb2wgKG9yIGZvcm0pIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wsIHRoZSB2YWxpZGF0aW9ucyBlcnJvcnMgYW5kIGN1c3RvbSBlcnJvcnNcbiAgICogQHBhcmFtIGNvbnRyb2wgdGhlIGNvbnRyb2wgdG8gYmUgYW5hbHl6ZWRcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIHRoZSBuYW1lIG9mIHRoZSBjb250cm9sLiBPcHRpb25hbCBzaW5jZSBmb3JtcyBkbyBub3QgaGF2ZSBuYW1lc1xuICAgKi9cbiAgY29uc3QgX2dldENvbnRyb2xFcnJvcnMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBjb250cm9sTmFtZT86IHN0cmluZyk6IENvbnRyb2xGbGF0RXJyb3JzID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udHJvbE5hbWUsXG4gICAgICBjdXN0b21FcnJvcnM6IGNvbnRyb2wuZXJyb3JzICYmIGNvbnRyb2wuZXJyb3JzLmN1c3RvbUVycm9ycyB8fCBudWxsLFxuICAgICAgZXJyb3JzOiBjb250cm9sLmVycm9ycyA/IF9nZXRFcnJvckxpc3QoY29udHJvbC5lcnJvcnMpIDogW11cbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpb24gdG8gZ2V0IGFsbCB0aGUgZmxhdCBlcnJvcnMgZnJvbSB0aGUgY29udHJvbCBhbmQgaXRzIGRlc2NlbmRlbnRzXG4gICAqIEBwYXJhbSBjb250cm9sIHRoZSBjb250cm9sIHRvIGJlIGFuYWx5emVkXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSB0aGUgbmFtZSBvZiB0aGUgY29udHJvbC4gT3B0aW9uYWwgc2luY2UgZm9ybXMgZG8gbm90IGhhdmUgbmFtZXNcbiAgICovXG4gIGNvbnN0IF9yZWN1cnNpdmVDb250cm9sRXJyb3JzID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBDb250cm9sRmxhdEVycm9yc1tdID0+IHtcbiAgICBjb25zdCBjb250cm9sRXJyb3JzID0gW19nZXRDb250cm9sRXJyb3JzKGNvbnRyb2wsIGNvbnRyb2xOYW1lKV07XG4gICAgaWYgKGlzRm9ybUdyb3VwKGNvbnRyb2wpKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykucmVkdWNlKChhbGxFcnJvcnMsIGNoaWxkQ29udHJvbE5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgY2hpbGROYW1lID0gY29udHJvbE5hbWUgPyBgJHtjb250cm9sTmFtZX0uJHtjaGlsZENvbnRyb2xOYW1lfWAgOiBjaGlsZENvbnRyb2xOYW1lO1xuICAgICAgICByZXR1cm4gYWxsRXJyb3JzLmNvbmNhdChcbiAgICAgICAgICBfcmVjdXJzaXZlQ29udHJvbEVycm9ycyhjb250cm9sLmdldChjaGlsZENvbnRyb2xOYW1lKSEsIGAke2NoaWxkTmFtZX1gKVxuICAgICAgICApO1xuICAgICAgfSwgY29udHJvbEVycm9ycyk7XG4gICAgfVxuICAgIHJldHVybiBjb250cm9sRXJyb3JzO1xuICB9O1xuXG4gIHJldHVybiBfcmVjdXJzaXZlQ29udHJvbEVycm9ycyhmb3JtKS5maWx0ZXIoKGVycm9ycykgPT4gISFlcnJvcnMuY3VzdG9tRXJyb3JzIHx8IGVycm9ycy5lcnJvcnMubGVuZ3RoID4gMCk7XG59XG4iXX0=
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
71
71
  }], propDecorators: { maxdate: [{
72
72
  type: Input
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9tYXgtZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IsYUFBYSxFQUEyQyxNQUFNLGdCQUFnQixDQUFDOztBQUV4Rzs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUSxDQUFDLENBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gseUJBQXlCLENBQUMsRUFBYztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUEwQjtRQUM5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDbkUsSUFBSSxPQUFPLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDdEk7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7aUlBOUNVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXRpbHN9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1heERhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWF4ZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xdLFttYXhkYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXhEYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1heERhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWF4ZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWF4RGF0ZVZhbGlkYXRvci5tYXhEYXRlKHRoaXMubWF4ZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21heGRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tYXhkYXRlICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWF4aW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWF4RGF0ZSBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYXhEYXRlKG1heERhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1heERhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPiBtYXhEYXRlLmdldFRpbWUoKSA/IHttYXhkYXRlOiB7cmVxdWlyZWREYXRlOiBtYXhEYXRlLCBhY3R1YWxEYXRlOiBjb250cm9sLnZhbHVlfX0gOiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9tYXgtZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IsYUFBYSxFQUEyQyxNQUFNLGdCQUFnQixDQUFDOztBQUV4Rzs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUNuRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZJLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7aUlBOUNVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXRpbHN9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1heERhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWF4ZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xdLFttYXhkYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXhEYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1heERhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWF4ZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWF4RGF0ZVZhbGlkYXRvci5tYXhEYXRlKHRoaXMubWF4ZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21heGRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tYXhkYXRlICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWF4aW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWF4RGF0ZSBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYXhEYXRlKG1heERhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1heERhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPiBtYXhEYXRlLmdldFRpbWUoKSA/IHttYXhkYXRlOiB7cmVxdWlyZWREYXRlOiBtYXhEYXRlLCBhY3R1YWxEYXRlOiBjb250cm9sLnZhbHVlfX0gOiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
71
71
  }], propDecorators: { mindate: [{
72
72
  type: Input
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9taW4tZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IsYUFBYSxFQUEyQyxNQUFNLGdCQUFnQixDQUFDOztBQUV4Rzs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUSxDQUFDLENBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gseUJBQXlCLENBQUMsRUFBYztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUEwQjtRQUM5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDbkUsSUFBSSxPQUFPLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDdEk7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7aUlBOUNVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXRpbHN9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1pbkRhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWluZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWluZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluZGF0ZV1bZm9ybUNvbnRyb2xdLFttaW5kYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNaW5EYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1pbkRhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWluZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWluRGF0ZVZhbGlkYXRvci5taW5EYXRlKHRoaXMubWluZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21pbmRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5taW5kYXRlICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWluaW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWluRGF0ZSBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5EYXRlKG1pbkRhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1pbkRhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPCBtaW5EYXRlLmdldFRpbWUoKSA/IHttaW5kYXRlOiB7cmVxdWlyZWREYXRlOiBtaW5EYXRlLCBhY3R1YWxEYXRlOiBjb250cm9sLnZhbHVlfX0gOiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9taW4tZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IsYUFBYSxFQUEyQyxNQUFNLGdCQUFnQixDQUFDOztBQUV4Rzs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUNuRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZJLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7aUlBOUNVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXRpbHN9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1pbkRhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWluZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWluZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluZGF0ZV1bZm9ybUNvbnRyb2xdLFttaW5kYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNaW5EYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1pbkRhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWluZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWluRGF0ZVZhbGlkYXRvci5taW5EYXRlKHRoaXMubWluZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21pbmRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5taW5kYXRlICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWluaW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWluRGF0ZSBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5EYXRlKG1pbkRhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1pbkRhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPCBtaW5EYXRlLmdldFRpbWUoKSA/IHttaW5kYXRlOiB7cmVxdWlyZWREYXRlOiBtaW5EYXRlLCBhY3R1YWxEYXRlOiBjb250cm9sLnZhbHVlfX0gOiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
61
61
  }], propDecorators: { max: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9tYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFtQixhQUFhLEVBQTRDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0SDs7OztHQUlHO0FBYUgsTUFBTSxPQUFPLFlBQVk7SUFaekI7UUFhRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDakI7U0FDRjtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7aUlBaENVLFlBQVk7cUhBQVosWUFBWSxxS0FWWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFJVSxZQUFZO2tCQVp4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxnRUFBZ0U7b0JBQ2hFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQztpQkFDekM7OEJBR2lCLEdBQUc7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1heFZhbGlkYXRvcmAgZm9yIGFueSBgZm9ybUNvbnRyb2xOYW1lLFxuICogYGZvcm1Db250cm9sYCxcbiAqIG9yIGNvbnRyb2wgd2l0aCBgbmdNb2RlbGAgdGhhdCBhbHNvIGhhcyBhIGBtYXhgIGF0dHJpYnV0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21heF1bZm9ybUNvbnRyb2xOYW1lXSxbbWF4XVtmb3JtQ29udHJvbF0sW21heF1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF4VmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIGhvc3Q6IHsnW2F0dHIubWF4XSc6ICdtYXggPyBtYXggOiBudWxsJ31cbn0pXG5leHBvcnQgY2xhc3MgTWF4VmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICAvKiogTWF4aW11bSBkYXRlIHRvIGNvbXBhcmUgdG8gKi9cbiAgQElucHV0KCkgcHVibGljIG1heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKF9hKSA9PiBudWxsO1xuICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBjcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvciA9IFZhbGlkYXRvcnMubWF4KCt0aGlzLm1heCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCdtYXgnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tYXggIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9tYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFtQixhQUFhLEVBQTRDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0SDs7OztHQUlHO0FBYUgsTUFBTSxPQUFPLFlBQVk7SUFaekI7UUFhRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7aUlBaENVLFlBQVk7cUhBQVosWUFBWSxxS0FWWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFJVSxZQUFZO2tCQVp4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxnRUFBZ0U7b0JBQ2hFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQztpQkFDekM7OEJBR2lCLEdBQUc7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1heFZhbGlkYXRvcmAgZm9yIGFueSBgZm9ybUNvbnRyb2xOYW1lLFxuICogYGZvcm1Db250cm9sYCxcbiAqIG9yIGNvbnRyb2wgd2l0aCBgbmdNb2RlbGAgdGhhdCBhbHNvIGhhcyBhIGBtYXhgIGF0dHJpYnV0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21heF1bZm9ybUNvbnRyb2xOYW1lXSxbbWF4XVtmb3JtQ29udHJvbF0sW21heF1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF4VmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIGhvc3Q6IHsnW2F0dHIubWF4XSc6ICdtYXggPyBtYXggOiBudWxsJ31cbn0pXG5leHBvcnQgY2xhc3MgTWF4VmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICAvKiogTWF4aW11bSBkYXRlIHRvIGNvbXBhcmUgdG8gKi9cbiAgQElucHV0KCkgcHVibGljIG1heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKF9hKSA9PiBudWxsO1xuICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBjcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvciA9IFZhbGlkYXRvcnMubWF4KCt0aGlzLm1heCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCdtYXgnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tYXggIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
61
61
  }], propDecorators: { min: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9taW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFtQixhQUFhLEVBQTRDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0SDs7OztHQUlHO0FBYUgsTUFBTSxPQUFPLFlBQVk7SUFaekI7UUFhRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDakI7U0FDRjtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7aUlBaENVLFlBQVk7cUhBQVosWUFBWSxxS0FWWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFJVSxZQUFZO2tCQVp4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxnRUFBZ0U7b0JBQ2hFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQztpQkFDekM7OEJBR2lCLEdBQUc7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1pblZhbGlkYXRvcmAgZm9yIGFueSBgZm9ybUNvbnRyb2xOYW1lLFxuICogYGZvcm1Db250cm9sYCxcbiAqIG9yIGNvbnRyb2wgd2l0aCBgbmdNb2RlbGAgdGhhdCBhbHNvIGhhcyBhIGBtaW5gIGF0dHJpYnV0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxbbWluXVtmb3JtQ29udHJvbF0sW21pbl1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWluVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIGhvc3Q6IHsnW2F0dHIubWluXSc6ICdtaW4gPyBtaW4gOiBudWxsJ31cbn0pXG5leHBvcnQgY2xhc3MgTWluVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICAvKiogTWluaW11bSBkYXRlIHRvIGNvbXBhcmUgdG8gKi9cbiAgQElucHV0KCkgcHVibGljIG1pbjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKF9hKSA9PiBudWxsO1xuICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBjcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWluICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvciA9IFZhbGlkYXRvcnMubWluKCt0aGlzLm1pbik7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCdtaW4nIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5taW4gIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9taW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFtQixhQUFhLEVBQTRDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0SDs7OztHQUlHO0FBYUgsTUFBTSxPQUFPLFlBQVk7SUFaekI7UUFhRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7aUlBaENVLFlBQVk7cUhBQVosWUFBWSxxS0FWWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFJVSxZQUFZO2tCQVp4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxnRUFBZ0U7b0JBQ2hFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQztpQkFDekM7OEJBR2lCLEdBQUc7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1pblZhbGlkYXRvcmAgZm9yIGFueSBgZm9ybUNvbnRyb2xOYW1lLFxuICogYGZvcm1Db250cm9sYCxcbiAqIG9yIGNvbnRyb2wgd2l0aCBgbmdNb2RlbGAgdGhhdCBhbHNvIGhhcyBhIGBtaW5gIGF0dHJpYnV0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxbbWluXVtmb3JtQ29udHJvbF0sW21pbl1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWluVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIGhvc3Q6IHsnW2F0dHIubWluXSc6ICdtaW4gPyBtaW4gOiBudWxsJ31cbn0pXG5leHBvcnQgY2xhc3MgTWluVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICAvKiogTWluaW11bSBkYXRlIHRvIGNvbXBhcmUgdG8gKi9cbiAgQElucHV0KCkgcHVibGljIG1pbjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKF9hKSA9PiBudWxsO1xuICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBjcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWluICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvciA9IFZhbGlkYXRvcnMubWluKCt0aGlzLm1pbik7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCdtaW4nIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5taW4gIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"o3r-forms.mjs","sources":["../../src/annotations/async-input.ts","../../src/core/extended-validator.ts","../../src/core/helpers.ts","../../src/stores/form-error-messages/form-error-messages.actions.ts","../../src/stores/form-error-messages/form-error-messages.reducer.ts","../../src/stores/form-error-messages/form-error-messages.state.ts","../../src/stores/form-error-messages/form-error-messages.module.ts","../../src/stores/form-error-messages/form-error-messages.selectors.ts","../../src/validators/date/max-date.directive.ts","../../src/validators/date/min-date.directive.ts","../../src/validators/date/date-validators.module.ts","../../src/validators/number/max.directive.ts","../../src/validators/number/min.directive.ts","../../src/validators/number/number-validators.module.ts","../../src/o3r-forms.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n/**\n * Decorator for @Input property\n * It considers the input as an async one.\n * When a change in the input happens, it unsubscribe from the previous value\n * and subscribe to the next one\n * @param privateFieldName\n * @example\n * ```typescript\n * \\@Input()\n * \\@AsyncInput()\n * myStream$: Observable<number>;\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function AsyncInput(privateFieldName?: string) {\n return (target: any, key: string) => {\n const privateSubjectField = `_subject_${privateFieldName || key}`;\n const privateStreamField = `_stream_${privateFieldName || key}`;\n if (delete target[key]) {\n Object.defineProperty(target, key, {\n get: function (this: any) {\n // Returning the same stream for reference check sake\n return this[privateStreamField];\n },\n set: function (this: any, value: Observable<any> | undefined) {\n if (!value) {\n this[privateStreamField] = value;\n this[privateSubjectField] = value;\n } else {\n if (this[privateSubjectField]) {\n this[privateSubjectField].next(value);\n } else {\n this[privateSubjectField] = new BehaviorSubject<Observable<any>>(value);\n // Everytime the subject emits, we will discard the previous one\n // and subscribe to the new emission\n this[privateStreamField] = this[privateSubjectField].pipe(\n switchMap((stream$: Observable<any>) => stream$)\n );\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n}\n","import {AbstractControl, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\nexport abstract class ExtendedValidator implements Validator {\n /**\n * Full list of validator functions\n */\n public abstract validators: ValidatorFn[];\n\n /**\n * Apply the list of validators on a specific Control\n * @param control\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));\n\n return Object.keys(errors).length ? errors : null;\n }\n}\n","/* eslint-disable no-underscore-dangle */\nimport {AbstractControl, FormGroup, ValidationErrors} from '@angular/forms';\nimport {ControlFlatErrors, FlatError} from './flat-errors';\n\n/**\n * Checks if controls is a FormGroup\n * @param control\n */\nexport function isFormGroup(control: AbstractControl): control is FormGroup {\n // eslint-disable-next-line no-prototype-builtins\n return control.hasOwnProperty('controls');\n}\n\n/**\n * Mark the controls in the given form as touched and dirty\n * @param control\n */\nexport function markAllControlsDirtyAndTouched(control: AbstractControl) {\n control.markAsDirty({ onlySelf: true });\n control.markAsTouched({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsDirtyAndTouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Mark the controls in the given form as untouched and pristine\n * @param control\n */\nexport function markAllControlsPristineAndUntouched(control: AbstractControl) {\n control.markAsUntouched({ onlySelf: true });\n control.markAsPristine({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsPristineAndUntouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Gets a flat list of all the errors in the form and it's descendents\n * @param form Form to be checked\n */\nexport function getFlatControlErrors(form: AbstractControl) {\n /**\n * Transforms ValidationErrors object into an array of FlatErrors.\n * @note It filters out the 'customErrors'\n * @param errors Validation errors in a control\n */\n const _getErrorList = (errors: ValidationErrors): FlatError[] => {\n return Object.keys(errors)\n .filter((errorKey) => errorKey !== 'customErrors')\n .map((errorKey) => {\n const errorValue = errors[errorKey];\n return {\n errorKey,\n errorValue,\n validationError: {[errorKey]: errorValue}\n };\n });\n };\n\n /**\n * Get a ControlFlatError of the control (or form) containing the name of the control, the validations errors and custom errors\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const _getControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors => {\n return {\n controlName,\n customErrors: control.errors && control.errors.customErrors || null,\n errors: control.errors ? _getErrorList(control.errors) : []\n };\n };\n\n /**\n * Recursion to get all the flat errors from the control and its descendents\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const _recursiveControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors[] => {\n const controlErrors = [_getControlErrors(control, controlName)];\n if (isFormGroup(control)) {\n return Object.keys(control.controls).reduce((allErrors, childControlName) => {\n const childName = controlName ? `${controlName}.${childControlName}` : childControlName;\n return allErrors.concat(\n _recursiveControlErrors(control.get(childControlName)!, `${childName}`)\n );\n }, controlErrors);\n }\n return controlErrors;\n };\n\n return _recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);\n}\n","import { createAction, props } from '@ngrx/store';\nimport { SetEntitiesActionPayload } from '@o3r/core';\nimport { FormError } from '../../core/index';\n\n/** StateDetailsActions */\nconst ACTION_RESET = '[FormErrorMessages] reset';\n\n/** Entity Actions */\nconst ACTION_CLEAR_ENTITIES = '[FormErrorMessages] clear entities';\nconst ACTION_UPSERT_ENTITIES = '[FormErrorMessages] upsert entities';\nconst ACTION_SET_ENTITIES = '[FormErrorMessages] set entities';\nconst ACTION_REMOVE_ENTITY = '[FormErrorMessages] remove entities';\n\n/** The payload of remove entity */\nexport interface RemoveFormErrorMessagesPayload {\n /** id of the FormErrorMessages to be removed */\n id: string;\n}\n\n/**\n * Action to remove an entity from the store\n */\nexport const removeFormErrorMessagesEntity = createAction(ACTION_REMOVE_ENTITY, props<RemoveFormErrorMessagesPayload>());\n\n/**\n * Action to reset the whole state, by returning it to initial state.\n */\nexport const resetFormErrorMessages = createAction(ACTION_RESET);\n\n/**\n * Clear all formErrorMessages and fill the store with the payload\n */\nexport const setFormErrorMessagesEntities = createAction(ACTION_SET_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n\n/**\n * Update formErrorMessages with known IDs, insert the new ones\n */\nexport const upsertFormErrorMessagesEntities = createAction(ACTION_UPSERT_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Clear only the entities, keeps the other attributes in the state\n */\nexport const clearFormErrorMessagesEntities = createAction(ACTION_CLEAR_ENTITIES);\n","import {createEntityAdapter, EntityAdapter} from '@ngrx/entity';\nimport {ActionCreator, createReducer, on, ReducerTypes} from '@ngrx/store';\nimport * as actions from './form-error-messages.actions';\n\nimport {FormErrorMessagesState, FormErrorModel} from './form-error-messages.state';\n\n/**\n * FormErrorMessages Store adapter\n */\nexport const formErrorMessagesAdapter: EntityAdapter<FormErrorModel> = createEntityAdapter<FormErrorModel>({\n selectId: (model) => model.formId\n});\n\n/**\n * FormErrorMessages Store initial value\n */\nexport const formErrorMessagesInitialState: FormErrorMessagesState = formErrorMessagesAdapter.getInitialState({});\n\n/**\n * List of basic actions for FormErrorMessages Store\n */\nexport const formErrorMessagesReducerFeatures: ReducerTypes<FormErrorMessagesState, ActionCreator[]>[] = [\n on(actions.resetFormErrorMessages, () => formErrorMessagesInitialState),\n\n on(actions.setFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.addMany(payload.entities, formErrorMessagesAdapter.removeAll(state))),\n\n on(actions.upsertFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.upsertMany(payload.entities, state)),\n\n on(actions.clearFormErrorMessagesEntities, (state) => formErrorMessagesAdapter.removeAll(state)),\n\n on(actions.removeFormErrorMessagesEntity, (state, payload) => formErrorMessagesAdapter.removeOne(payload.id, state))\n];\n\n/**\n * FormErrorMessages Store reducer\n */\nexport const formErrorMessagesReducer = createReducer(\n formErrorMessagesInitialState,\n ...formErrorMessagesReducerFeatures\n);\n","import { EntityState } from '@ngrx/entity';\nimport { FormError } from '../../core/index';\n\n/**\n * FormError model\n */\nexport interface FormErrorModel extends FormError {\n\n}\n\n/**\n * FormError store state\n */\nexport interface FormErrorMessagesState extends EntityState<FormErrorModel> {}\n\n/**\n * Name of the FormError Store\n */\nexport const FORM_ERROR_MESSAGES_STORE_NAME = 'formErrorMessages';\n\n/**\n * FormError Store Interface\n */\nexport interface FormErrorMessagesStore {\n /** FormErrorMessages state */\n [FORM_ERROR_MESSAGES_STORE_NAME]: FormErrorMessagesState;\n}\n","import { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { Action, ActionReducer, StoreModule } from '@ngrx/store';\n\nimport { formErrorMessagesReducer } from './form-error-messages.reducer';\nimport { FORM_ERROR_MESSAGES_STORE_NAME, FormErrorMessagesState } from './form-error-messages.state';\n\n/** Token of the FormErrorMessages reducer */\nexport const FORM_ERROR_MESSAGES_REDUCER_TOKEN = new InjectionToken<ActionReducer<FormErrorMessagesState, Action>>('Feature FormErrorMessages Reducer');\n\n/** Provide default reducer for FormErrorMessages store */\nexport function getDefaultFormErrorMessagesReducer() {\n return formErrorMessagesReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)\n ],\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }\n ]\n})\nexport class FormErrorMessagesStoreModule {\n public static forRoot<T extends FormErrorMessagesState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<FormErrorMessagesStoreModule> {\n return {\n ngModule: FormErrorMessagesStoreModule,\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { ElementError, ErrorMessageObject } from '../../core/index';\nimport { formErrorMessagesAdapter } from './form-error-messages.reducer';\nimport { FORM_ERROR_MESSAGES_STORE_NAME, FormErrorMessagesState } from './form-error-messages.state';\n\nconst {selectIds, selectEntities, selectAll, selectTotal} = formErrorMessagesAdapter.getSelectors();\n\n/** Select FormErrorMessages State */\nexport const selectFormErrorMessagesState = createFeatureSelector<FormErrorMessagesState>(FORM_ERROR_MESSAGES_STORE_NAME);\n\n/** Select the array of FormErrorMessages ids */\nexport const selectFormErrorMessagesIds = createSelector(selectFormErrorMessagesState, selectIds);\n\n/** Select the array of FormErrorMessages */\nexport const selectAllFormErrorMessages = createSelector(selectFormErrorMessagesState, selectAll);\n\n/** Select the dictionary of FormErrorMessages entities */\nexport const selectFormErrorMessagesEntities = createSelector(selectFormErrorMessagesState, selectEntities);\n\n/** Select the total FormErrorMessages count */\nexport const selectFormErrorMessagesTotal = createSelector(selectFormErrorMessagesState, selectTotal);\n\n/** Select the array of all ElementErrors */\nexport const selectAllElementErrors = createSelector(\n selectAllFormErrorMessages,\n (formErrorMessages) => formErrorMessages ? formErrorMessages.reduce((elementErrors: ElementError[], formErrorMessage) => [...elementErrors, ...formErrorMessage.errors], []) : []\n);\n\n/** Select the array of all ErrorMessageObjects */\nexport const selectAllErrorMessageObjects = createSelector(\n selectAllElementErrors,\n (elementErrors) => elementErrors ? elementErrors.reduce((errorMessageObjects: ErrorMessageObject[], elementError: ElementError) => [...errorMessageObjects, ...elementError.errorMessages], []) : []\n);\n","import {utils} from '@ama-sdk/core';\nimport {Directive, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `maxdate` attribute.\n */\n@Directive({\n selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxDateValidator),\n multi: true\n }\n ]\n})\nexport class MaxDateValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public maxdate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MaxDateValidator.maxDate(this.maxdate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('maxdate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.maxdate != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Maximum Date validator\n * @param maxDate Maximum date to compare to\n */\n public static maxDate(maxDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return maxDate && control.value.getTime() > maxDate.getTime() ? {maxdate: {requiredDate: maxDate, actualDate: control.value}} : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {utils} from '@ama-sdk/core';\nimport {Directive, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\n/**\n * A directive which installs the `MinDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `mindate` attribute.\n */\n@Directive({\n selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinDateValidator),\n multi: true\n }\n ]\n})\nexport class MinDateValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public mindate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MinDateValidator.minDate(this.mindate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('mindate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.mindate != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Minimum Date validator\n * @param minDate Minimum date to compare to\n */\n public static minDate(minDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return minDate && control.value.getTime() < minDate.getTime() ? {mindate: {requiredDate: minDate, actualDate: control.value}} : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MaxDateValidator } from './max-date.directive';\nimport { MinDateValidator } from './min-date.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxDateValidator, MinDateValidator],\n exports: [MaxDateValidator, MinDateValidator]\n})\nexport class DateValidatorsModule {}\n","import { Directive, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n/**\n * A directive which installs the `MaxValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `max` attribute.\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n }\n ],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n host: {'[attr.max]': 'max ? max : null'}\n})\nexport class MaxValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public max: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.max !== null) {\n this.validator = Validators.max(+this.max);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.max != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import { Directive, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n/**\n * A directive which installs the `MinValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `min` attribute.\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n }\n ],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n host: {'[attr.min]': 'min ? min : null'}\n})\nexport class MinValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public min: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.min !== null) {\n this.validator = Validators.min(+this.min);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.min != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MaxValidator } from './max.directive';\nimport { MinValidator } from './min.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxValidator, MinValidator],\n exports: [MaxValidator, MinValidator]\n})\nexport class NumberValidatorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.resetFormErrorMessages","actions.setFormErrorMessagesEntities","actions.upsertFormErrorMessagesEntities","actions.clearFormErrorMessagesEntities","actions.removeFormErrorMessagesEntity"],"mappings":"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"}
1
+ {"version":3,"file":"o3r-forms.mjs","sources":["../../src/annotations/async-input.ts","../../src/core/extended-validator.ts","../../src/core/helpers.ts","../../src/stores/form-error-messages/form-error-messages.actions.ts","../../src/stores/form-error-messages/form-error-messages.reducer.ts","../../src/stores/form-error-messages/form-error-messages.state.ts","../../src/stores/form-error-messages/form-error-messages.module.ts","../../src/stores/form-error-messages/form-error-messages.selectors.ts","../../src/validators/date/max-date.directive.ts","../../src/validators/date/min-date.directive.ts","../../src/validators/date/date-validators.module.ts","../../src/validators/number/max.directive.ts","../../src/validators/number/min.directive.ts","../../src/validators/number/number-validators.module.ts","../../src/o3r-forms.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n/**\n * Decorator for @Input property\n * It considers the input as an async one.\n * When a change in the input happens, it unsubscribe from the previous value\n * and subscribe to the next one\n * @param privateFieldName\n * @example\n * ```typescript\n * \\@Input()\n * \\@AsyncInput()\n * myStream$: Observable<number>;\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function AsyncInput(privateFieldName?: string) {\n return (target: any, key: string) => {\n const privateSubjectField = `_subject_${privateFieldName || key}`;\n const privateStreamField = `_stream_${privateFieldName || key}`;\n if (delete target[key]) {\n Object.defineProperty(target, key, {\n get: function (this: any) {\n // Returning the same stream for reference check sake\n return this[privateStreamField];\n },\n set: function (this: any, value: Observable<any> | undefined) {\n if (!value) {\n this[privateStreamField] = value;\n this[privateSubjectField] = value;\n } else {\n if (this[privateSubjectField]) {\n this[privateSubjectField].next(value);\n } else {\n this[privateSubjectField] = new BehaviorSubject<Observable<any>>(value);\n // Everytime the subject emits, we will discard the previous one\n // and subscribe to the new emission\n this[privateStreamField] = this[privateSubjectField].pipe(\n switchMap((stream$: Observable<any>) => stream$)\n );\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n}\n","import {AbstractControl, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\nexport abstract class ExtendedValidator implements Validator {\n /**\n * Full list of validator functions\n */\n public abstract validators: ValidatorFn[];\n\n /**\n * Apply the list of validators on a specific Control\n * @param control\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));\n\n return Object.keys(errors).length ? errors : null;\n }\n}\n","/* eslint-disable no-underscore-dangle */\nimport {AbstractControl, FormGroup, ValidationErrors} from '@angular/forms';\nimport {ControlFlatErrors, FlatError} from './flat-errors';\n\n/**\n * Checks if controls is a FormGroup\n * @param control\n */\nexport function isFormGroup(control: AbstractControl): control is FormGroup {\n // eslint-disable-next-line no-prototype-builtins\n return control.hasOwnProperty('controls');\n}\n\n/**\n * Mark the controls in the given form as touched and dirty\n * @param control\n */\nexport function markAllControlsDirtyAndTouched(control: AbstractControl) {\n control.markAsDirty({ onlySelf: true });\n control.markAsTouched({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsDirtyAndTouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Mark the controls in the given form as untouched and pristine\n * @param control\n */\nexport function markAllControlsPristineAndUntouched(control: AbstractControl) {\n control.markAsUntouched({ onlySelf: true });\n control.markAsPristine({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsPristineAndUntouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Gets a flat list of all the errors in the form and it's descendents\n * @param form Form to be checked\n */\nexport function getFlatControlErrors(form: AbstractControl) {\n /**\n * Transforms ValidationErrors object into an array of FlatErrors.\n * @note It filters out the 'customErrors'\n * @param errors Validation errors in a control\n */\n const _getErrorList = (errors: ValidationErrors): FlatError[] => {\n return Object.keys(errors)\n .filter((errorKey) => errorKey !== 'customErrors')\n .map((errorKey) => {\n const errorValue = errors[errorKey];\n return {\n errorKey,\n errorValue,\n validationError: {[errorKey]: errorValue}\n };\n });\n };\n\n /**\n * Get a ControlFlatError of the control (or form) containing the name of the control, the validations errors and custom errors\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const _getControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors => {\n return {\n controlName,\n customErrors: control.errors && control.errors.customErrors || null,\n errors: control.errors ? _getErrorList(control.errors) : []\n };\n };\n\n /**\n * Recursion to get all the flat errors from the control and its descendents\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const _recursiveControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors[] => {\n const controlErrors = [_getControlErrors(control, controlName)];\n if (isFormGroup(control)) {\n return Object.keys(control.controls).reduce((allErrors, childControlName) => {\n const childName = controlName ? `${controlName}.${childControlName}` : childControlName;\n return allErrors.concat(\n _recursiveControlErrors(control.get(childControlName)!, `${childName}`)\n );\n }, controlErrors);\n }\n return controlErrors;\n };\n\n return _recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);\n}\n","import { createAction, props } from '@ngrx/store';\nimport { SetEntitiesActionPayload } from '@o3r/core';\nimport { FormError } from '../../core/index';\n\n/** StateDetailsActions */\nconst ACTION_RESET = '[FormErrorMessages] reset';\n\n/** Entity Actions */\nconst ACTION_CLEAR_ENTITIES = '[FormErrorMessages] clear entities';\nconst ACTION_UPSERT_ENTITIES = '[FormErrorMessages] upsert entities';\nconst ACTION_SET_ENTITIES = '[FormErrorMessages] set entities';\nconst ACTION_REMOVE_ENTITY = '[FormErrorMessages] remove entities';\n\n/** The payload of remove entity */\nexport interface RemoveFormErrorMessagesPayload {\n /** id of the FormErrorMessages to be removed */\n id: string;\n}\n\n/**\n * Action to remove an entity from the store\n */\nexport const removeFormErrorMessagesEntity = createAction(ACTION_REMOVE_ENTITY, props<RemoveFormErrorMessagesPayload>());\n\n/**\n * Action to reset the whole state, by returning it to initial state.\n */\nexport const resetFormErrorMessages = createAction(ACTION_RESET);\n\n/**\n * Clear all formErrorMessages and fill the store with the payload\n */\nexport const setFormErrorMessagesEntities = createAction(ACTION_SET_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n\n/**\n * Update formErrorMessages with known IDs, insert the new ones\n */\nexport const upsertFormErrorMessagesEntities = createAction(ACTION_UPSERT_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Clear only the entities, keeps the other attributes in the state\n */\nexport const clearFormErrorMessagesEntities = createAction(ACTION_CLEAR_ENTITIES);\n","import {createEntityAdapter, EntityAdapter} from '@ngrx/entity';\nimport {ActionCreator, createReducer, on, ReducerTypes} from '@ngrx/store';\nimport * as actions from './form-error-messages.actions';\n\nimport {FormErrorMessagesState, FormErrorModel} from './form-error-messages.state';\n\n/**\n * FormErrorMessages Store adapter\n */\nexport const formErrorMessagesAdapter: EntityAdapter<FormErrorModel> = createEntityAdapter<FormErrorModel>({\n selectId: (model) => model.formId\n});\n\n/**\n * FormErrorMessages Store initial value\n */\nexport const formErrorMessagesInitialState: FormErrorMessagesState = formErrorMessagesAdapter.getInitialState({});\n\n/**\n * List of basic actions for FormErrorMessages Store\n */\nexport const formErrorMessagesReducerFeatures: ReducerTypes<FormErrorMessagesState, ActionCreator[]>[] = [\n on(actions.resetFormErrorMessages, () => formErrorMessagesInitialState),\n\n on(actions.setFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.addMany(payload.entities, formErrorMessagesAdapter.removeAll(state))),\n\n on(actions.upsertFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.upsertMany(payload.entities, state)),\n\n on(actions.clearFormErrorMessagesEntities, (state) => formErrorMessagesAdapter.removeAll(state)),\n\n on(actions.removeFormErrorMessagesEntity, (state, payload) => formErrorMessagesAdapter.removeOne(payload.id, state))\n];\n\n/**\n * FormErrorMessages Store reducer\n */\nexport const formErrorMessagesReducer = createReducer(\n formErrorMessagesInitialState,\n ...formErrorMessagesReducerFeatures\n);\n","import { EntityState } from '@ngrx/entity';\nimport { FormError } from '../../core/index';\n\n/**\n * FormError model\n */\nexport interface FormErrorModel extends FormError {\n\n}\n\n/**\n * FormError store state\n */\nexport interface FormErrorMessagesState extends EntityState<FormErrorModel> {}\n\n/**\n * Name of the FormError Store\n */\nexport const FORM_ERROR_MESSAGES_STORE_NAME = 'formErrorMessages';\n\n/**\n * FormError Store Interface\n */\nexport interface FormErrorMessagesStore {\n /** FormErrorMessages state */\n [FORM_ERROR_MESSAGES_STORE_NAME]: FormErrorMessagesState;\n}\n","import { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { Action, ActionReducer, StoreModule } from '@ngrx/store';\n\nimport { formErrorMessagesReducer } from './form-error-messages.reducer';\nimport { FORM_ERROR_MESSAGES_STORE_NAME, FormErrorMessagesState } from './form-error-messages.state';\n\n/** Token of the FormErrorMessages reducer */\nexport const FORM_ERROR_MESSAGES_REDUCER_TOKEN = new InjectionToken<ActionReducer<FormErrorMessagesState, Action>>('Feature FormErrorMessages Reducer');\n\n/** Provide default reducer for FormErrorMessages store */\nexport function getDefaultFormErrorMessagesReducer() {\n return formErrorMessagesReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)\n ],\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }\n ]\n})\nexport class FormErrorMessagesStoreModule {\n public static forRoot<T extends FormErrorMessagesState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<FormErrorMessagesStoreModule> {\n return {\n ngModule: FormErrorMessagesStoreModule,\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { ElementError, ErrorMessageObject } from '../../core/index';\nimport { formErrorMessagesAdapter } from './form-error-messages.reducer';\nimport { FORM_ERROR_MESSAGES_STORE_NAME, FormErrorMessagesState } from './form-error-messages.state';\n\nconst {selectIds, selectEntities, selectAll, selectTotal} = formErrorMessagesAdapter.getSelectors();\n\n/** Select FormErrorMessages State */\nexport const selectFormErrorMessagesState = createFeatureSelector<FormErrorMessagesState>(FORM_ERROR_MESSAGES_STORE_NAME);\n\n/** Select the array of FormErrorMessages ids */\nexport const selectFormErrorMessagesIds = createSelector(selectFormErrorMessagesState, selectIds);\n\n/** Select the array of FormErrorMessages */\nexport const selectAllFormErrorMessages = createSelector(selectFormErrorMessagesState, selectAll);\n\n/** Select the dictionary of FormErrorMessages entities */\nexport const selectFormErrorMessagesEntities = createSelector(selectFormErrorMessagesState, selectEntities);\n\n/** Select the total FormErrorMessages count */\nexport const selectFormErrorMessagesTotal = createSelector(selectFormErrorMessagesState, selectTotal);\n\n/** Select the array of all ElementErrors */\nexport const selectAllElementErrors = createSelector(\n selectAllFormErrorMessages,\n (formErrorMessages) => formErrorMessages ? formErrorMessages.reduce((elementErrors: ElementError[], formErrorMessage) => [...elementErrors, ...formErrorMessage.errors], []) : []\n);\n\n/** Select the array of all ErrorMessageObjects */\nexport const selectAllErrorMessageObjects = createSelector(\n selectAllElementErrors,\n (elementErrors) => elementErrors ? elementErrors.reduce((errorMessageObjects: ErrorMessageObject[], elementError: ElementError) => [...errorMessageObjects, ...elementError.errorMessages], []) : []\n);\n","import {utils} from '@ama-sdk/core';\nimport {Directive, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `maxdate` attribute.\n */\n@Directive({\n selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxDateValidator),\n multi: true\n }\n ]\n})\nexport class MaxDateValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public maxdate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MaxDateValidator.maxDate(this.maxdate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('maxdate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.maxdate != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Maximum Date validator\n * @param maxDate Maximum date to compare to\n */\n public static maxDate(maxDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return maxDate && control.value.getTime() > maxDate.getTime() ? {maxdate: {requiredDate: maxDate, actualDate: control.value}} : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {utils} from '@ama-sdk/core';\nimport {Directive, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn} from '@angular/forms';\n\n/**\n * A directive which installs the `MinDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `mindate` attribute.\n */\n@Directive({\n selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinDateValidator),\n multi: true\n }\n ]\n})\nexport class MinDateValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public mindate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MinDateValidator.minDate(this.mindate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('mindate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.mindate != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Minimum Date validator\n * @param minDate Minimum date to compare to\n */\n public static minDate(minDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return minDate && control.value.getTime() < minDate.getTime() ? {mindate: {requiredDate: minDate, actualDate: control.value}} : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MaxDateValidator } from './max-date.directive';\nimport { MinDateValidator } from './min-date.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxDateValidator, MinDateValidator],\n exports: [MaxDateValidator, MinDateValidator]\n})\nexport class DateValidatorsModule {}\n","import { Directive, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n/**\n * A directive which installs the `MaxValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `max` attribute.\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n }\n ],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n host: {'[attr.max]': 'max ? max : null'}\n})\nexport class MaxValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public max: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.max !== null) {\n this.validator = Validators.max(+this.max);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.max != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import { Directive, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n/**\n * A directive which installs the `MinValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `min` attribute.\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n }\n ],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n host: {'[attr.min]': 'min ? min : null'}\n})\nexport class MinValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public min: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.min !== null) {\n this.validator = Validators.min(+this.min);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.min != null ? this.validator(c) : null;\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MaxValidator } from './max.directive';\nimport { MinValidator } from './min.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxValidator, MinValidator],\n exports: [MaxValidator, MinValidator]\n})\nexport class NumberValidatorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.resetFormErrorMessages","actions.setFormErrorMessagesEntities","actions.upsertFormErrorMessagesEntities","actions.clearFormErrorMessagesEntities","actions.removeFormErrorMessagesEntity"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/forms",
3
- "version": "10.0.0-prerelease.99",
3
+ "version": "10.0.0-rc.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,14 +11,14 @@
11
11
  "otter-module"
12
12
  ],
13
13
  "peerDependencies": {
14
- "@ama-sdk/core": "^10.0.0-prerelease.99",
14
+ "@ama-sdk/core": "^10.0.0-rc.0",
15
15
  "@angular/common": "~17.2.0",
16
16
  "@angular/core": "~17.2.0",
17
17
  "@angular/forms": "~17.2.0",
18
18
  "@ngrx/entity": "~17.1.0",
19
19
  "@ngrx/store": "~17.1.0",
20
- "@o3r/core": "^10.0.0-prerelease.99",
21
- "@o3r/schematics": "^10.0.0-prerelease.99",
20
+ "@o3r/core": "^10.0.0-rc.0",
21
+ "@o3r/schematics": "^10.0.0-rc.0",
22
22
  "rxjs": "^7.8.1"
23
23
  },
24
24
  "peerDependenciesMeta": {
@@ -1,6 +1,7 @@
1
1
  import type { Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddSchematicsSchema } from './schema';
2
3
  /**
3
4
  * Add Otter forms to an Angular Project
4
5
  */
5
- export declare const ngAdd: (options: unknown) => Rule;
6
+ export declare const ngAdd: (options: NgAddSchematicsSchema) => Rule;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAWvD;;GAEG;AACH,eAAO,MAAM,KAAK,4BAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAmBtD;;GAEG;AACH,eAAO,MAAM,KAAK,0CAAiD,CAAC"}
@@ -1,17 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAdd = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const schematics_2 = require("@o3r/schematics");
4
+ const schematics_1 = require("@o3r/schematics");
5
+ const path = require("node:path");
6
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
6
7
  /**
7
8
  * Add Otter forms to an Angular Project
9
+ * @param options
8
10
  */
9
- function ngAddFn() {
11
+ function ngAddFn(options) {
10
12
  /* ng add rules */
11
- return (0, schematics_1.noop)();
13
+ return (tree) => {
14
+ return (0, schematics_1.setupDependencies)({
15
+ projectName: options.projectName,
16
+ dependencies: (0, schematics_1.getPackageInstallConfig)(packageJsonPath, tree, options.projectName)
17
+ });
18
+ };
12
19
  }
13
20
  /**
14
21
  * Add Otter forms to an Angular Project
15
22
  */
16
- exports.ngAdd = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddFn);
23
+ exports.ngAdd = (0, schematics_1.createSchematicWithMetricsIfInstalled)(ngAddFn);
17
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAkD;AAElD,gDAAwE;AAExE;;GAEG;AACH,SAAS,OAAO;IACd,kBAAkB;IAClB,OAAO,IAAA,iBAAI,GAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACU,QAAA,KAAK,GAAG,IAAA,kDAAqC,EAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AACA,gDAAoH;AAEpH,kCAAkC;AAElC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAE5E;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,kBAAkB;IAClB,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,IAAA,8BAAiB,EAAC;YACvB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAA,oCAAuB,EAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;SAClF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,KAAK,GAAG,IAAA,kDAAqC,EAAC,OAAO,CAAC,CAAC"}