@spicainternational/ngx-sds-components 5.13.0-beta.3 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/esm2020/public-api.mjs +5 -1
  2. package/esm2020/src/lib/color-picker/color-picker.component.mjs +11 -27
  3. package/esm2020/src/lib/date-picker/date-picker.component.mjs +3 -3
  4. package/esm2020/src/lib/date-picker/date-picker.model.mjs +1 -1
  5. package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +51 -0
  6. package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +26 -0
  7. package/esm2020/src/lib/ellipsis/public-api.mjs +3 -0
  8. package/esm2020/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +5 -0
  9. package/esm2020/src/lib/intersection/directives/index.mjs +2 -0
  10. package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +51 -0
  11. package/esm2020/src/lib/intersection/intersection.module.mjs +22 -0
  12. package/esm2020/src/lib/intersection/public-api.mjs +4 -0
  13. package/esm2020/src/lib/intersection/services/index.mjs +2 -0
  14. package/esm2020/src/lib/intersection/services/intersection.service.mjs +54 -0
  15. package/esm2020/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +5 -0
  16. package/esm2020/src/lib/keyboard-shortcut/directives/index.mjs +2 -0
  17. package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +56 -0
  18. package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +26 -0
  19. package/esm2020/src/lib/keyboard-shortcut/public-api.mjs +3 -0
  20. package/esm2020/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +5 -0
  21. package/esm2020/src/lib/modal/modal.component.mjs +3 -3
  22. package/esm2020/src/lib/timer/public-api.mjs +4 -0
  23. package/esm2020/src/lib/timer/services/index.mjs +2 -0
  24. package/esm2020/src/lib/timer/services/timer.service.mjs +99 -0
  25. package/esm2020/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +5 -0
  26. package/esm2020/src/lib/timer/timer.module.mjs +36 -0
  27. package/esm2020/src/lib/timer/utils/index.mjs +2 -0
  28. package/esm2020/src/lib/timer/utils/timer.utils.mjs +97 -0
  29. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +10 -26
  30. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  31. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
  32. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  33. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +82 -0
  34. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
  35. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +129 -0
  36. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
  37. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +87 -0
  38. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
  39. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +2 -2
  40. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  41. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +237 -0
  42. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
  43. package/fesm2015/spicainternational-ngx-sds-components.mjs +4 -0
  44. package/fesm2015/spicainternational-ngx-sds-components.mjs.map +1 -1
  45. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +10 -26
  46. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  47. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
  48. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  49. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +81 -0
  50. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
  51. package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs +126 -0
  52. package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
  53. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +85 -0
  54. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
  55. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +2 -2
  56. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  57. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs +235 -0
  58. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
  59. package/fesm2020/spicainternational-ngx-sds-components.mjs +4 -0
  60. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +1 -1
  61. package/package.json +33 -1
  62. package/public-api.d.ts +4 -0
  63. package/src/lib/color-picker/color-picker.component.d.ts +6 -2
  64. package/src/lib/date-picker/date-picker.model.d.ts +1 -0
  65. package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -0
  66. package/src/lib/ellipsis/ellipsis.module.d.ts +8 -0
  67. package/src/lib/ellipsis/package.json +10 -0
  68. package/src/lib/ellipsis/public-api.d.ts +2 -0
  69. package/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.d.ts +5 -0
  70. package/src/lib/intersection/directives/index.d.ts +1 -0
  71. package/src/lib/intersection/directives/intersection.directive.d.ts +24 -0
  72. package/src/lib/intersection/intersection.module.d.ts +8 -0
  73. package/src/lib/intersection/package.json +10 -0
  74. package/src/lib/intersection/public-api.d.ts +3 -0
  75. package/src/lib/intersection/services/index.d.ts +1 -0
  76. package/src/lib/intersection/services/intersection.service.d.ts +19 -0
  77. package/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.d.ts +5 -0
  78. package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -0
  79. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -0
  80. package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +8 -0
  81. package/src/lib/keyboard-shortcut/package.json +10 -0
  82. package/src/lib/keyboard-shortcut/public-api.d.ts +2 -0
  83. package/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.d.ts +5 -0
  84. package/src/lib/modal/modal.component.d.ts +1 -1
  85. package/src/lib/timer/package.json +10 -0
  86. package/src/lib/timer/public-api.d.ts +3 -0
  87. package/src/lib/timer/services/index.d.ts +1 -0
  88. package/src/lib/timer/services/timer.service.d.ts +78 -0
  89. package/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.d.ts +5 -0
  90. package/src/lib/timer/timer.module.d.ts +10 -0
  91. package/src/lib/timer/utils/index.d.ts +1 -0
  92. package/src/lib/timer/utils/timer.utils.d.ts +61 -0
@@ -6,12 +6,15 @@ export * from '@spicainternational/ngx-sds-components/src/lib/avatar';
6
6
  export * from '@spicainternational/ngx-sds-components/src/lib/badge';
7
7
  export * from '@spicainternational/ngx-sds-components/src/lib/callout';
8
8
  export * from '@spicainternational/ngx-sds-components/src/lib/color-picker';
9
+ export * from '@spicainternational/ngx-sds-components/src/lib/ellipsis';
9
10
  export * from '@spicainternational/ngx-sds-components/src/lib/expansion-panel';
10
11
  export * from '@spicainternational/ngx-sds-components/src/lib/date-picker';
11
12
  export * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';
12
13
  export * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
13
14
  export * from '@spicainternational/ngx-sds-components/src/lib/duration-box';
14
15
  export * from '@spicainternational/ngx-sds-components/src/lib/highlight-text';
16
+ export * from '@spicainternational/ngx-sds-components/src/lib/intersection';
17
+ export * from '@spicainternational/ngx-sds-components/src/lib/keyboard-shortcut';
15
18
  export * from '@spicainternational/ngx-sds-components/src/lib/layout';
16
19
  export * from '@spicainternational/ngx-sds-components/src/lib/message';
17
20
  export * from '@spicainternational/ngx-sds-components/src/lib/modal';
@@ -22,5 +25,6 @@ export * from '@spicainternational/ngx-sds-components/src/lib/quick-info';
22
25
  export * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';
23
26
  export * from '@spicainternational/ngx-sds-components/src/lib/side-bar';
24
27
  export * from '@spicainternational/ngx-sds-components/src/lib/static-value';
28
+ export * from '@spicainternational/ngx-sds-components/src/lib/timer';
25
29
  export * from '@spicainternational/ngx-sds-components/src/lib/tooltip';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsd0RBQXdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXNkcy1jb21wb25lbnRzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtc3dpdGNoZXInO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvYmFkZ2UnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2NhbGxvdXQnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZXhwYW5zaW9uLXBhbmVsJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXBpY2tlcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tcGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tYm94JztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9oaWdobGlnaHQtdGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0JztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9tZXNzYWdlJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvcGFnZS1oZWFkZXInO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3BhbmUnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3F1aWNrLWluZm8nO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3NlZ21lbnRlZC1jb250cm9sJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9zaWRlLWJhcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc3RhdGljLXZhbHVlJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90b29sdGlwJztcclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx3REFBd0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtc2RzLWNvbXBvbmVudHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2FwcC1zd2l0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9iYWRnZSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvY2FsbG91dCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9lbGxpcHNpcyc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZXhwYW5zaW9uLXBhbmVsJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXBpY2tlcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tcGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tYm94JztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9oaWdobGlnaHQtdGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvaW50ZXJzZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9rZXlib2FyZC1zaG9ydGN1dCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0JztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9tZXNzYWdlJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvcGFnZS1oZWFkZXInO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3BhbmUnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3F1aWNrLWluZm8nO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3NlZ21lbnRlZC1jb250cm9sJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9zaWRlLWJhcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc3RhdGljLXZhbHVlJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdG9vbHRpcCc7XHJcbiJdfQ==
@@ -4,16 +4,18 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@fortawesome/angular-fontawesome";
5
5
  import * as i2 from "devextreme-angular/ui/popover";
6
6
  import * as i3 from "@angular/common";
7
- // import { library } from '@fortawesome/fontawesome-svg-core';
8
- // import { faCheck } from '@fortawesome/pro-solid-svg-icons';
9
7
  export class SdsColorPickerComponent {
10
8
  constructor() {
11
9
  this.colors = [];
12
10
  this.disabled = false;
13
11
  this.style = 'inline';
12
+ this.showCaret = true;
13
+ this.shape = 'circle';
14
14
  this.showDropdown = false;
15
15
  this.checkIcon = faCheck;
16
16
  this.gridSize = 1;
17
+ this.circleRadius = '100%';
18
+ this.squareRadius = '10%';
17
19
  this.selectedColorChange = new EventEmitter();
18
20
  this.elementUUID = `sds-cp-${Math.ceil(Math.random() * 1000000)}`;
19
21
  // library.add(faCheck);
@@ -35,31 +37,9 @@ export class SdsColorPickerComponent {
35
37
  onKeyDown($event) {
36
38
  if ($event.key === 'ArrowUp' || $event.key === 'ArrowDown') {
37
39
  $event.preventDefault();
38
- // const modifier = $event.key === 'ArrowUp' ? -this.gridSize : this.gridSize;
39
- // const color = this.selectedColor || this.defaultColor;
40
- // if (color) {
41
- // const colorIndex = this.colors.indexOf(color);
42
- // let nextColorIndex = (colorIndex + modifier) % this.colors.length;
43
- // if (nextColorIndex < 0) {
44
- // nextColorIndex = this.colors.length + modifier;
45
- // }
46
- // this.selectedColor = this.colors[nextColorIndex];
47
- // console.log(nextColorIndex);
48
- // }
49
40
  }
50
41
  if ($event.key === 'ArrowLeft' || $event.key === 'ArrowRight') {
51
42
  $event.preventDefault();
52
- // const modifier = $event.key === 'ArrowLeft' ? -1 : 1;
53
- // const color = this.selectedColor || this.defaultColor;
54
- // if (color) {
55
- // const colorIndex = this.colors.indexOf(color);
56
- // let nextColorIndex = (colorIndex + modifier) % this.colors.length;
57
- // if (nextColorIndex < 0) {
58
- // nextColorIndex = this.colors.length + modifier;
59
- // }
60
- // this.selectedColor = this.colors[nextColorIndex];
61
- // console.log(nextColorIndex);
62
- // }
63
43
  }
64
44
  }
65
45
  toggleDropdown() {
@@ -67,10 +47,10 @@ export class SdsColorPickerComponent {
67
47
  }
68
48
  }
69
49
  SdsColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- SdsColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsColorPickerComponent, selector: "sds-color-picker", inputs: { colors: "colors", disabled: "disabled", selectedColor: "selectedColor", defaultColor: "defaultColor", style: "style" }, outputs: { selectedColorChange: "selectedColorChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style !== 'inline'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n \r\n [class.dropdown-toggle]=\"style === 'input'\"\r\n [class.border]=\"style === 'input'\"\r\n \r\n [class.p-1]=\"style == 'plain'\"\r\n [class.rounded-circle]=\"style == 'plain'\"\r\n \r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [class.color-tile-dropdown]=\"style === 'input'\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n <div \r\n *ngIf=\"style === 'input'\"\r\n class=\"caret ms-1\">\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover rounded-circle\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.25rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:.5rem;gap:.5rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:100%;cursor:pointer}.color-tile.color-tile-dropdown{height:1.5rem;width:1.5rem}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
50
+ SdsColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsColorPickerComponent, selector: "sds-color-picker", inputs: { colors: "colors", disabled: "disabled", selectedColor: "selectedColor", defaultColor: "defaultColor", style: "style", showCaret: "showCaret", shape: "shape" }, outputs: { selectedColorChange: "selectedColorChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style === 'dropdown'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n [class.dropdown-toggle]=\"showCaret\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.5rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:1rem;gap:1rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--sds-cp-radius);cursor:pointer}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
71
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsColorPickerComponent, decorators: [{
72
52
  type: Component,
73
- args: [{ selector: 'sds-color-picker', template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style !== 'inline'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n \r\n [class.dropdown-toggle]=\"style === 'input'\"\r\n [class.border]=\"style === 'input'\"\r\n \r\n [class.p-1]=\"style == 'plain'\"\r\n [class.rounded-circle]=\"style == 'plain'\"\r\n \r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [class.color-tile-dropdown]=\"style === 'input'\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n <div \r\n *ngIf=\"style === 'input'\"\r\n class=\"caret ms-1\">\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover rounded-circle\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.25rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:.5rem;gap:.5rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:100%;cursor:pointer}.color-tile.color-tile-dropdown{height:1.5rem;width:1.5rem}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"] }]
53
+ args: [{ selector: 'sds-color-picker', template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style === 'dropdown'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n [class.dropdown-toggle]=\"showCaret\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.5rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:1rem;gap:1rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--sds-cp-radius);cursor:pointer}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"] }]
74
54
  }], ctorParameters: function () { return []; }, propDecorators: { colors: [{
75
55
  type: Input
76
56
  }], disabled: [{
@@ -83,5 +63,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
83
63
  type: Output
84
64
  }], style: [{
85
65
  type: Input
66
+ }], showCaret: [{
67
+ type: Input
68
+ }], shape: [{
69
+ type: Input
86
70
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQUMzRCwrREFBK0Q7QUFDL0QsOERBQThEO0FBTzlELE1BQU0sT0FBTyx1QkFBdUI7SUFpQmhDO1FBaEJTLFdBQU0sR0FBa0IsRUFBRSxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFJMUIsVUFBSyxHQUFpQyxRQUFRLENBQUE7UUFJaEQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUVuQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR2pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBRWxFLHdCQUF3QjtJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsVUFBVSxJQUFJLENBQUMsUUFBUSxRQUFRLENBQUM7U0FDdEU7SUFDTCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFWixXQUFXLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFxQjtRQUVsQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4Qiw4RUFBOEU7WUFDOUUseURBQXlEO1lBQ3pELGVBQWU7WUFDZixxREFBcUQ7WUFDckQseUVBQXlFO1lBQ3pFLGdDQUFnQztZQUNoQywwREFBMEQ7WUFDMUQsUUFBUTtZQUNSLHdEQUF3RDtZQUV4RCxtQ0FBbUM7WUFDbkMsZ0JBQWdCO1NBQ25CO1FBRUQsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRTtZQUMzRCxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsd0RBQXdEO1lBQ3hELHlEQUF5RDtZQUN6RCxlQUFlO1lBQ2YscURBQXFEO1lBQ3JELHlFQUF5RTtZQUN6RSxnQ0FBZ0M7WUFDaEMsMERBQTBEO1lBQzFELFFBQVE7WUFDUix3REFBd0Q7WUFFeEQsbUNBQW1DO1lBQ25DLGdCQUFnQjtTQUNuQjtJQUNMLENBQUM7SUFHTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBRTNDLENBQUM7O29IQWhGUSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3UUNWcEMsNG9FQTBFYTsyRkRoRUEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGtCQUFrQjswRUFLbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFDaGVjayB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tc29saWQtc3ZnLWljb25zJztcclxuLy8gaW1wb3J0IHsgbGlicmFyeSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSc7XHJcbi8vIGltcG9ydCB7IGZhQ2hlY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLWNvbG9yLXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzQ29sb3JQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBjb2xvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvbG9yPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGVmYXVsdENvbG9yPzogc3RyaW5nO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQ29sb3JDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG4gICAgQElucHV0KCkgc3R5bGU6ICdpbmxpbmUnIHwgJ3BsYWluJyB8ICdpbnB1dCcgPSAnaW5saW5lJ1xyXG5cclxuICAgIC8vIHB1YmxpYyBjaGVja0ljb24gPSBmYUNoZWNrO1xyXG4gICAgcHVibGljIGRyb3Bkb3duR3JpZFRlbXBsYXRlQ29sdW1ucz86IHN0cmluZztcclxuICAgIHB1YmxpYyBzaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBlbGVtZW50VVVJRDsgLy8gPSAnc2RzLWNwLScgKyBjcnlwdG8ucmFuZG9tVVVJRCgpO1xyXG5cclxuICAgIHB1YmxpYyBjaGVja0ljb24gPSBmYUNoZWNrO1xyXG5cclxuICAgIHByaXZhdGUgZ3JpZFNpemUgPSAxO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFVVSUQgPSBgc2RzLWNwLSR7TWF0aC5jZWlsKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKX1gOyAgXHJcblxyXG4gICAgICAgIC8vIGxpYnJhcnkuYWRkKGZhQ2hlY2spO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoY2hhbmdlc1snY29sb3JzJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5ncmlkU2l6ZSA9IE1hdGguY2VpbChNYXRoLnNxcnQodGhpcy5jb2xvcnMubGVuZ3RoKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25HcmlkVGVtcGxhdGVDb2x1bW5zID0gYHJlcGVhdCgke3RoaXMuZ3JpZFNpemV9LCAxZnIpYDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IGNvbG9yO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3JDaGFuZ2UuZW1pdChjb2xvcik7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbktleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcblxyXG4gICAgICAgIGlmICgkZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgJGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG1vZGlmaWVyID0gJGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnID8gLXRoaXMuZ3JpZFNpemUgOiB0aGlzLmdyaWRTaXplO1xyXG4gICAgICAgICAgICAvLyBjb25zdCBjb2xvciA9IHRoaXMuc2VsZWN0ZWRDb2xvciB8fCB0aGlzLmRlZmF1bHRDb2xvcjtcclxuICAgICAgICAgICAgLy8gaWYgKGNvbG9yKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBjb25zdCBjb2xvckluZGV4ID0gdGhpcy5jb2xvcnMuaW5kZXhPZihjb2xvcik7XHJcbiAgICAgICAgICAgIC8vICAgICBsZXQgbmV4dENvbG9ySW5kZXggPSAoY29sb3JJbmRleCArIG1vZGlmaWVyKSAlIHRoaXMuY29sb3JzLmxlbmd0aDtcclxuICAgICAgICAgICAgLy8gICAgIGlmIChuZXh0Q29sb3JJbmRleCA8IDApIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBuZXh0Q29sb3JJbmRleCA9IHRoaXMuY29sb3JzLmxlbmd0aCArIG1vZGlmaWVyO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gdGhpcy5jb2xvcnNbbmV4dENvbG9ySW5kZXhdO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKG5leHRDb2xvckluZGV4KTtcclxuICAgICAgICAgICAgLy8gfSAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCRldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnIHx8ICRldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xyXG4gICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgLy8gY29uc3QgbW9kaWZpZXIgPSAkZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyA/IC0xIDogMTtcclxuICAgICAgICAgICAgLy8gY29uc3QgY29sb3IgPSB0aGlzLnNlbGVjdGVkQ29sb3IgfHwgdGhpcy5kZWZhdWx0Q29sb3I7XHJcbiAgICAgICAgICAgIC8vIGlmIChjb2xvcikge1xyXG4gICAgICAgICAgICAvLyAgICAgY29uc3QgY29sb3JJbmRleCA9IHRoaXMuY29sb3JzLmluZGV4T2YoY29sb3IpO1xyXG4gICAgICAgICAgICAvLyAgICAgbGV0IG5leHRDb2xvckluZGV4ID0gKGNvbG9ySW5kZXggKyBtb2RpZmllcikgJSB0aGlzLmNvbG9ycy5sZW5ndGg7XHJcbiAgICAgICAgICAgIC8vICAgICBpZiAobmV4dENvbG9ySW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbmV4dENvbG9ySW5kZXggPSB0aGlzLmNvbG9ycy5sZW5ndGggKyBtb2RpZmllcjtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IHRoaXMuY29sb3JzW25leHRDb2xvckluZGV4XTtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhuZXh0Q29sb3JJbmRleCk7XHJcbiAgICAgICAgICAgIC8vIH0gICAgICAgICAgICBcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIHB1YmxpYyB0b2dnbGVEcm9wZG93bigpe1xyXG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xyXG5cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICAqbmdJZj1cInN0eWxlID09PSAnaW5saW5lJ1wiXHJcbiAgICBjbGFzcz1cImNvbG9yLXRpbGVzLWNvbnRhaW5lci1pbmxpbmVcIlxyXG4+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbG9yIG9mIGNvbG9yc1wiXHJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAgIGNsYXNzPVwiY29sb3ItdGlsZVwiXHJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkQ29sb3IgPT09IGNvbG9yXCJcclxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Q29sb3IoY29sb3IpXCJcclxuICAgID5cclxuICAgICAgICA8ZmEtaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkQ29sb3IgPT09IGNvbG9yXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiWydmYXMnLCAnY2hlY2snXVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZmEtaWNvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48YnV0dG9uXHJcbiAgICAqbmdJZj1cInN0eWxlICE9PSAnaW5saW5lJ1wiXHJcbiAgICBbaWRdPVwiZWxlbWVudFVVSURcIlxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cImJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIFxyXG4gICAgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJzdHlsZSA9PT0gJ2lucHV0J1wiXHJcbiAgICBbY2xhc3MuYm9yZGVyXT1cInN0eWxlID09PSAnaW5wdXQnXCJcclxuICAgIFxyXG4gICAgW2NsYXNzLnAtMV09XCJzdHlsZSA9PSAncGxhaW4nXCJcclxuICAgIFtjbGFzcy5yb3VuZGVkLWNpcmNsZV09XCJzdHlsZSA9PSAncGxhaW4nXCJcclxuICAgIFxyXG4gICAgYXJpYS1jb250cm9scz1cImRyb3Bkb3duLWJhc2ljXCJcclxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcclxuICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuPlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbG9yLXRpbGUgY29sb3ItdGlsZS1kcm9wZG93blwiXHJcbiAgICAgICAgW2NsYXNzLmNvbG9yLXRpbGUtZHJvcGRvd25dPVwic3R5bGUgPT09ICdpbnB1dCdcIlxyXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInNlbGVjdGVkQ29sb3IgfHwgZGVmYXVsdENvbG9yXCJcclxuICAgICAgICBbY2xhc3MudW5kZWZpbmVkLWNvbG9yXT1cIiEoc2VsZWN0ZWRDb2xvciB8fCBkZWZhdWx0Q29sb3IpXCJcclxuICAgID5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBcclxuICAgICAgICAqbmdJZj1cInN0eWxlID09PSAnaW5wdXQnXCJcclxuICAgICAgICBjbGFzcz1cImNhcmV0IG1zLTFcIj5cclxuICAgIDwvZGl2PlxyXG48L2J1dHRvbj5cclxuXHJcbjxkeC1wb3BvdmVyXHJcbiAgICB0YXJnZXQ9XCIje3tlbGVtZW50VVVJRH19XCJcclxuICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgIFsodmlzaWJsZSldPVwic2hvd0Ryb3Bkb3duXCJcclxuPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY29sb3ItdGlsZXMtY29udGFpbmVyLXNxdWFyZVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogZHJvcGRvd25HcmlkVGVtcGxhdGVDb2x1bW5zfVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sb3Igb2YgY29sb3JzXCJcclxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbG9yLXRpbGUgY29sb3ItdGlsZS1wb3BvdmVyIHJvdW5kZWQtY2lyY2xlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdENvbG9yKGNvbG9yKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxmYS1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb2xvciA9PT0gY29sb3IgfHwgIXNlbGVjdGVkQ29sb3IgJiYgZGVmYXVsdENvbG9yID09PSBjb2xvclwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImNoZWNrSWNvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZmEtaWNvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9keC1wb3BvdmVyPiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQU8zRCxNQUFNLE9BQU8sdUJBQXVCO0lBc0JoQztRQXJCUyxXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBSTFCLFVBQUssR0FBMEIsUUFBUSxDQUFBO1FBQ3ZDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsVUFBSyxHQUF3QixRQUFRLENBQUM7UUFJeEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUVuQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWQsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFDdEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHeEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFFbEUsd0JBQXdCO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQywyQkFBMkIsR0FBRyxVQUFVLElBQUksQ0FBQyxRQUFRLFFBQVEsQ0FBQztTQUN0RTtJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVaLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQXFCO1FBRWxDLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFDeEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRTtZQUMzRCxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBR00sY0FBYztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUUzQyxDQUFDOztvSEE3RFEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsZ1RDUnBDLHdqRUFrRWE7MkZEMURBLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxrQkFBa0I7MEVBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZhQ2hlY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLWNvbG9yLXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzQ29sb3JQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBjb2xvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvbG9yPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGVmYXVsdENvbG9yPzogc3RyaW5nO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQ29sb3JDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG4gICAgQElucHV0KCkgc3R5bGU6ICdpbmxpbmUnIHwgJ2Ryb3Bkb3duJyA9ICdpbmxpbmUnXHJcbiAgICBASW5wdXQoKSBzaG93Q2FyZXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgc2hhcGU6ICdjaXJjbGUnIHwgJ3NxdWFyZScgPSAnY2lyY2xlJztcclxuXHJcbiAgICAvLyBwdWJsaWMgY2hlY2tJY29uID0gZmFDaGVjaztcclxuICAgIHB1YmxpYyBkcm9wZG93bkdyaWRUZW1wbGF0ZUNvbHVtbnM/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZWxlbWVudFVVSUQ7IC8vID0gJ3Nkcy1jcC0nICsgY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuXHJcbiAgICBwdWJsaWMgY2hlY2tJY29uID0gZmFDaGVjaztcclxuXHJcbiAgICBwcml2YXRlIGdyaWRTaXplID0gMTtcclxuXHJcbiAgICBwdWJsaWMgY2lyY2xlUmFkaXVzID0gJzEwMCUnO1xyXG4gICAgcHVibGljIHNxdWFyZVJhZGl1cyA9ICcxMCUnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFVVSUQgPSBgc2RzLWNwLSR7TWF0aC5jZWlsKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKX1gOyAgXHJcblxyXG4gICAgICAgIC8vIGxpYnJhcnkuYWRkKGZhQ2hlY2spO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoY2hhbmdlc1snY29sb3JzJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5ncmlkU2l6ZSA9IE1hdGguY2VpbChNYXRoLnNxcnQodGhpcy5jb2xvcnMubGVuZ3RoKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25HcmlkVGVtcGxhdGVDb2x1bW5zID0gYHJlcGVhdCgke3RoaXMuZ3JpZFNpemV9LCAxZnIpYDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IGNvbG9yO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3JDaGFuZ2UuZW1pdChjb2xvcik7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbktleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcblxyXG4gICAgICAgIGlmICgkZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgJGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCRldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnIHx8ICRldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xyXG4gICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTsgICAgICAgIFxyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgcHVibGljIHRvZ2dsZURyb3Bkb3duKCl7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSAhdGhpcy5zaG93RHJvcGRvd247XHJcblxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgICpuZ0lmPVwic3R5bGUgPT09ICdpbmxpbmUnXCJcclxuICAgIGNsYXNzPVwiY29sb3ItdGlsZXMtY29udGFpbmVyLWlubGluZVwiXHJcbiAgICBbc3R5bGUuLS1zZHMtY3AtcmFkaXVzXT1cInNoYXBlID09PSAnc3F1YXJlJyA/IHNxdWFyZVJhZGl1cyA6IGNpcmNsZVJhZGl1c1wiXHJcbj5cclxuICAgIDxkaXZcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sb3Igb2YgY29sb3JzXCJcclxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvclwiXHJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJjb2xvclwiXHJcbiAgICAgICAgY2xhc3M9XCJjb2xvci10aWxlXCJcclxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRDb2xvciA9PT0gY29sb3JcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDb2xvcihjb2xvcilcIlxyXG4gICAgPlxyXG4gICAgICAgIDxmYS1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb2xvciA9PT0gY29sb3JcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJbJ2ZhcycsICdjaGVjayddXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9mYS1pY29uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxidXR0b25cclxuICAgICpuZ0lmPVwic3R5bGUgPT09ICdkcm9wZG93bidcIlxyXG4gICAgW2lkXT1cImVsZW1lbnRVVUlEXCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJidG4gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICBbY2xhc3MuZHJvcGRvd24tdG9nZ2xlXT1cInNob3dDYXJldFwiXHJcbiAgICBbc3R5bGUuLS1zZHMtY3AtcmFkaXVzXT1cInNoYXBlID09PSAnc3F1YXJlJyA/IHNxdWFyZVJhZGl1cyA6IGNpcmNsZVJhZGl1c1wiXHJcbiAgICBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tYmFzaWNcIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxyXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY29sb3ItdGlsZSBjb2xvci10aWxlLWRyb3Bkb3duXCJcclxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzZWxlY3RlZENvbG9yIHx8IGRlZmF1bHRDb2xvclwiXHJcbiAgICAgICAgW2NsYXNzLnVuZGVmaW5lZC1jb2xvcl09XCIhKHNlbGVjdGVkQ29sb3IgfHwgZGVmYXVsdENvbG9yKVwiXHJcbiAgICA+XHJcbiAgICA8L2Rpdj5cclxuPC9idXR0b24+XHJcblxyXG48ZHgtcG9wb3ZlclxyXG4gICAgdGFyZ2V0PVwiI3t7ZWxlbWVudFVVSUR9fVwiXHJcbiAgICBwb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICBbKHZpc2libGUpXT1cInNob3dEcm9wZG93blwiXHJcbj5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbG9yLXRpbGVzLWNvbnRhaW5lci1zcXVhcmVcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6IGRyb3Bkb3duR3JpZFRlbXBsYXRlQ29sdW1uc31cIlxyXG4gICAgICAgIFtzdHlsZS4tLXNkcy1jcC1yYWRpdXNdPVwic2hhcGUgPT09ICdzcXVhcmUnID8gc3F1YXJlUmFkaXVzIDogY2lyY2xlUmFkaXVzXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2xvciBvZiBjb2xvcnNcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29sb3ItdGlsZSBjb2xvci10aWxlLXBvcG92ZXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Q29sb3IoY29sb3IpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPGZhLWljb25cclxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbG9yID09PSBjb2xvciB8fCAhc2VsZWN0ZWRDb2xvciAmJiBkZWZhdWx0Q29sb3IgPT09IGNvbG9yXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiY2hlY2tJY29uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9mYS1pY29uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2R4LXBvcG92ZXI+Il19