ontimize-web-ngx 15.6.0-next.1 → 15.6.0-next.11

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 (161) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +3 -3
  2. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +19 -3
  3. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +17 -4
  4. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +7 -5
  5. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +1 -1
  6. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +42 -24
  7. package/esm2020/lib/components/form/o-form.component.mjs +4 -3
  8. package/esm2020/lib/components/form/services/o-form-message.service.mjs +2 -2
  9. package/esm2020/lib/components/grid/o-grid.component.mjs +19 -17
  10. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +12 -15
  11. package/esm2020/lib/components/index.mjs +2 -1
  12. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +3 -2
  13. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +9 -1
  14. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -3
  15. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +8 -3
  16. package/esm2020/lib/components/list/o-list.component.mjs +41 -16
  17. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +12 -15
  18. package/esm2020/lib/components/o-form-data-component.class.mjs +2 -2
  19. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +33 -0
  20. package/esm2020/lib/components/o-service-base-component.class.mjs +5 -4
  21. package/esm2020/lib/components/o-service-component.class.mjs +10 -9
  22. package/esm2020/lib/components/o-skeleton.component.mjs +15 -6
  23. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +2 -2
  24. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +1 -1
  25. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +5 -4
  26. package/esm2020/lib/components/table/column/o-column.class.mjs +2 -1
  27. package/esm2020/lib/components/table/column/o-table-column.component.mjs +10 -4
  28. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +24 -6
  29. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +75 -87
  30. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +53 -0
  31. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +12 -4
  32. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +2 -2
  33. package/esm2020/lib/components/table/extensions/o-table.dao.mjs +6 -4
  34. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +5 -19
  35. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  36. package/esm2020/lib/components/table/o-table.component.mjs +104 -10
  37. package/esm2020/lib/components/table/o-table.module.mjs +4 -1
  38. package/esm2020/lib/components/tree/o-tree.component.mjs +96 -14
  39. package/esm2020/lib/components/tree/o-tree.datasource.mjs +3 -3
  40. package/esm2020/lib/components/user-info/o-user-info.component.mjs +5 -4
  41. package/esm2020/lib/config/o-providers.mjs +5 -3
  42. package/esm2020/lib/i18n/i18n.mjs +6 -3
  43. package/esm2020/lib/injection-tokens/index.mjs +19 -0
  44. package/esm2020/lib/interfaces/base-response.interface.mjs +1 -1
  45. package/esm2020/lib/interfaces/form-layout-manager.interface.mjs +1 -1
  46. package/esm2020/lib/interfaces/index.mjs +3 -1
  47. package/esm2020/lib/interfaces/jsonapi-config.interface.mjs +3 -0
  48. package/esm2020/lib/interfaces/jsonapi-response.interface.mjs +2 -1
  49. package/esm2020/lib/interfaces/o-table-column.interface.mjs +1 -1
  50. package/esm2020/lib/interfaces/service-response.interface.mjs +1 -1
  51. package/esm2020/lib/layouts/app-layout/o-app-layout-base.class.mjs +1 -1
  52. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +26 -9
  53. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -3
  54. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +2 -2
  55. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +2 -1
  56. package/esm2020/lib/services/base-service.class.mjs +3 -3
  57. package/esm2020/lib/services/factories.mjs +25 -53
  58. package/esm2020/lib/services/index.mjs +2 -2
  59. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +2 -2
  60. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +53 -21
  61. package/esm2020/lib/services/request-adapter/base-request-argument.adapter.mjs +12 -0
  62. package/esm2020/lib/services/request-adapter/base-request-argument.interface.mjs +2 -0
  63. package/esm2020/lib/services/request-adapter/index.mjs +5 -0
  64. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +70 -0
  65. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +19 -0
  66. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +1 -1
  67. package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
  68. package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
  69. package/esm2020/lib/services/translate/o-translate.service.mjs +3 -2
  70. package/esm2020/lib/types/config.type.mjs +1 -1
  71. package/esm2020/lib/types/form-layout-detail-component-data.type.mjs +1 -1
  72. package/esm2020/lib/types/index.mjs +1 -2
  73. package/esm2020/lib/types/service-configuration.type.mjs +1 -1
  74. package/esm2020/lib/types/table/index.mjs +2 -1
  75. package/esm2020/lib/types/table/o-column-value-filter.type.mjs +1 -1
  76. package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
  77. package/esm2020/lib/util/codes.mjs +3 -1
  78. package/esm2020/lib/util/errors.mjs +3 -9
  79. package/esm2020/lib/util/factory.util.mjs +67 -0
  80. package/esm2020/lib/util/index.mjs +3 -1
  81. package/esm2020/lib/util/injection-token.utils.mjs +4 -0
  82. package/esm2020/lib/util/preference-mapping-util.mjs +2 -2
  83. package/esm2020/lib/util/sqltypes.mjs +2 -2
  84. package/esm2020/lib/util/util.mjs +11 -53
  85. package/esm2020/public-api.mjs +2 -1
  86. package/fesm2015/ontimize-web-ngx.mjs +6995 -6537
  87. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  88. package/fesm2020/ontimize-web-ngx.mjs +6634 -6194
  89. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  90. package/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.d.ts +3 -0
  91. package/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.d.ts +1 -0
  92. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +2 -1
  93. package/lib/components/filter-builder/o-filter-builder.component.d.ts +1 -1
  94. package/lib/components/form/navigation/o-form-navigation.component.d.ts +7 -4
  95. package/lib/components/grid/skeketon/o-grid-skeleton.component.d.ts +4 -7
  96. package/lib/components/index.d.ts +1 -0
  97. package/lib/components/input/o-boolean-form-data-component.class.d.ts +1 -0
  98. package/lib/components/list/o-list.component.d.ts +5 -1
  99. package/lib/components/list/skeleton/o-list-skeleton.component.d.ts +4 -7
  100. package/lib/components/o-repeatable-skeleton.component.d.ts +9 -0
  101. package/lib/components/o-skeleton.component.d.ts +10 -5
  102. package/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.d.ts +1 -1
  103. package/lib/components/table/column/o-column.class.d.ts +2 -1
  104. package/lib/components/table/column/o-table-column.component.d.ts +2 -2
  105. package/lib/components/table/extensions/contextmenu/o-table-context-menu.component.d.ts +2 -0
  106. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +9 -6
  107. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +12 -0
  108. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  109. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +1 -1
  110. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -10
  111. package/lib/components/table/o-table-base.class.d.ts +2 -0
  112. package/lib/components/table/o-table.component.d.ts +12 -2
  113. package/lib/components/tree/o-tree.component.d.ts +10 -1
  114. package/lib/components/user-info/o-user-info.component.d.ts +2 -1
  115. package/lib/config/o-directives.d.ts +1 -1
  116. package/lib/i18n/i18n.d.ts +3 -0
  117. package/lib/injection-tokens/index.d.ts +33 -0
  118. package/lib/interfaces/base-response.interface.d.ts +0 -2
  119. package/lib/interfaces/form-layout-manager.interface.d.ts +1 -1
  120. package/lib/interfaces/index.d.ts +2 -0
  121. package/lib/interfaces/jsonapi-config.interface.d.ts +3 -0
  122. package/lib/interfaces/jsonapi-response.interface.d.ts +47 -7
  123. package/lib/interfaces/o-table-column.interface.d.ts +2 -1
  124. package/lib/interfaces/service-response.interface.d.ts +2 -0
  125. package/lib/layouts/app-layout/o-app-layout-base.class.d.ts +1 -1
  126. package/lib/layouts/app-layout/o-app-layout.component.d.ts +7 -3
  127. package/lib/services/base-service.class.d.ts +2 -2
  128. package/lib/services/factories.d.ts +7 -28
  129. package/lib/services/index.d.ts +1 -1
  130. package/lib/services/jsonapi/jsonapi.service.d.ts +7 -4
  131. package/lib/services/{query-arguments/base-query-argument.adapter.d.ts → request-adapter/base-request-argument.adapter.d.ts} +2 -1
  132. package/lib/services/{query-arguments/base-query-argument.interface.d.ts → request-adapter/base-request-argument.interface.d.ts} +1 -1
  133. package/lib/services/request-adapter/index.d.ts +4 -0
  134. package/lib/services/request-adapter/jsonapi-request-arguments.adapter.d.ts +13 -0
  135. package/lib/services/request-adapter/ontimize-request-arguments.adapter.d.ts +8 -0
  136. package/lib/services/state/o-filter-builder-component-state.service.d.ts +1 -1
  137. package/lib/services/state/o-table-component-state.class.d.ts +3 -0
  138. package/lib/types/config.type.d.ts +2 -2
  139. package/lib/types/form-layout-detail-component-data.type.d.ts +1 -1
  140. package/lib/types/index.d.ts +0 -1
  141. package/lib/types/service-configuration.type.d.ts +12 -2
  142. package/lib/types/table/index.d.ts +1 -0
  143. package/lib/types/table/o-column-value-filter.type.d.ts +3 -0
  144. package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
  145. package/lib/util/codes.d.ts +3 -0
  146. package/lib/util/factory.util.d.ts +10 -0
  147. package/lib/util/index.d.ts +2 -0
  148. package/lib/util/injection-token.utils.d.ts +2 -0
  149. package/lib/util/util.d.ts +1 -5
  150. package/package.json +1 -1
  151. package/public-api.d.ts +1 -0
  152. package/esm2020/lib/services/query-arguments/base-query-argument.adapter.mjs +0 -9
  153. package/esm2020/lib/services/query-arguments/base-query-argument.interface.mjs +0 -2
  154. package/esm2020/lib/services/query-arguments/index.mjs +0 -5
  155. package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +0 -62
  156. package/esm2020/lib/services/query-arguments/ontimize-query-arguments.adapter.mjs +0 -19
  157. package/esm2020/lib/types/ontimize-service-config.type.mjs +0 -2
  158. package/lib/services/query-arguments/index.d.ts +0 -4
  159. package/lib/services/query-arguments/jsonapi-query-arguments.adapter.d.ts +0 -12
  160. package/lib/services/query-arguments/ontimize-query-arguments.adapter.d.ts +0 -8
  161. package/lib/types/ontimize-service-config.type.d.ts +0 -5
@@ -62,8 +62,8 @@ export class OTreeDataSource {
62
62
  }
63
63
  });
64
64
  this.data.splice(index + 1, 0, ...nodes);
65
- if (this.oTree.checklistSelection.isSelected(parentNode)) {
66
- this.oTree.checklistSelection.select(...nodes);
65
+ if (this.oTree.selection.isSelected(parentNode)) {
66
+ this.oTree.selection.select(...nodes);
67
67
  }
68
68
  }
69
69
  else {
@@ -76,4 +76,4 @@ export class OTreeDataSource {
76
76
  parentNode.isLoading = false;
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmVlLmRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90cmVlL28tdHJlZS5kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUs3RCxNQUFNLE9BQU8sZUFBZTtJQUsxQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFzQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQ1UsS0FBcUIsRUFDckIsWUFBNEMsRUFDNUMsUUFBa0I7UUFGbEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWdDO1FBQzVDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFmNUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQWlCcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1B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SSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxFQUM3RCxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUU7Z0JBQ2IsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDcEM7UUFHRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsVUFBVSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFL0IsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZSwgU2VsZWN0aW9uQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgT1RyZWVEYW8gfSBmcm9tICcuL28tdHJlZS1kYW8uc2VydmljZSc7XG5pbXBvcnQgeyBPVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vby10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPVHJlZUZsYXROb2RlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHJlZS1mbGF0LW5vZGUudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBPVHJlZURhdGFTb3VyY2UgaW1wbGVtZW50cyBEYXRhU291cmNlPE9UcmVlRmxhdE5vZGU+IHtcbiAgZGF0YUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T1RyZWVGbGF0Tm9kZVtdPihbXSk7XG4gIHRyYW5zbGF0ZVNlcnZpY2U6IGFueTtcbiAgcHJvdGVjdGVkIF9kYXRhYmFzZTogT1RyZWVEYW87XG5cbiAgZ2V0IGRhdGEoKTogT1RyZWVGbGF0Tm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlO1xuICB9XG4gIHNldCBkYXRhKHZhbHVlOiBPVHJlZUZsYXROb2RlW10pIHtcbiAgICB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMgPSB2YWx1ZTtcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9UcmVlOiBPVHJlZUNvbXBvbmVudCxcbiAgICBwcml2YXRlIF90cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPE9UcmVlRmxhdE5vZGU+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLl9kYXRhYmFzZSA9IHRoaXMub1RyZWUuZGFvVHJlZTtcbiAgfVxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8T1RyZWVGbGF0Tm9kZVtdPiB7XG4gICAgdGhpcy5fdHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuY2hhbmdlZC5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlLmFkZGVkIHx8XG4gICAgICAgIGNoYW5nZS5yZW1vdmVkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5oYW5kbGVUcmVlQ29udHJvbChjaGFuZ2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lcmdlKGNvbGxlY3Rpb25WaWV3ZXIudmlld0NoYW5nZSwgdGhpcy5kYXRhQ2hhbmdlKS5waXBlKG1hcCgoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH0pKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgfVxuXG4gIC8qKiBIYW5kbGUgZXhwYW5kL2NvbGxhcHNlIGJlaGF2aW9ycyAqL1xuICBoYW5kbGVUcmVlQ29udHJvbChjaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxPVHJlZUZsYXROb2RlPikge1xuICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgIGNoYW5nZS5hZGRlZC5mb3JFYWNoKG5vZGUgPT4gdGhpcy5vVHJlZS50b2dnbGVOb2RlKG5vZGUsIHRydWUpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICBjaGFuZ2UucmVtb3ZlZFxuICAgICAgICAuc2xpY2UoKVxuICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgIC5mb3JFYWNoKG5vZGUgPT4gdGhpcy5vVHJlZS50b2dnbGVOb2RlKG5vZGUsIGZhbHNlKSk7XG4gICAgfVxuICB9XG5cbiAgaXNUcmVlRmxhdE5vZGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiAnbGV2ZWwnIGluIHZhbHVlICYmICdsYWJlbCcgaW4gdmFsdWU7XG4gIH1cblxuICB1cGRhdGVUcmVlKHBhcmVudE5vZGU6IE9UcmVlRmxhdE5vZGUsIGNoaWxkcmVuOiBBcnJheTxhbnk+LCBleHBhbmQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB0cmVlTm9kZSA9IHBhcmVudE5vZGUudHJlZU5vZGUgPyBwYXJlbnROb2RlLnRyZWVOb2RlIDogdGhpcy5vVHJlZTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgobm9kZSA9PiBub2RlLmlkID09PSBwYXJlbnROb2RlLmlkKTtcblxuICAgIGlmICghY2hpbGRyZW4gfHwgaW5kZXggPCAwKSB7XG4gICAgICAvLyBJZiBubyBjaGlsZHJlbiwgb3IgY2Fubm90IGZpbmQgdGhlIG5vZGUsIG5vIG9wXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV4cGFuZCkge1xuICAgICAgbGV0IGxldmVsID0gcGFyZW50Tm9kZS5sZXZlbCArIDE7XG4gICAgICBsZXQgbm9kZXM6IEFycmF5PE9UcmVlRmxhdE5vZGU+O1xuICAgICAgbm9kZXMgPSBjaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1RyZWVGbGF0Tm9kZShjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRyZWVOb2RlLnRyYW5zZm9ybWVyKGNoaWxkLCBsZXZlbCwgcGFyZW50Tm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCArIDEsIDAsIC4uLm5vZGVzKTtcblxuICAgICAgLy9JZiBwYXJlbnROb2RlIGlzIHNlbGVjdGVkLCB0aGUgY2hpbGRyZW4gYWxzbyBhcmUgc2VsZWN0ZWRcbiAgICAgIGlmICh0aGlzLm9UcmVlLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKHBhcmVudE5vZGUpKSB7XG4gICAgICAgIHRoaXMub1RyZWUuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdCguLi5ub2RlcylcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGZvciAoXG4gICAgICAgIGxldCBpID0gaW5kZXggKyAxO1xuICAgICAgICBpIDwgdGhpcy5kYXRhLmxlbmd0aCAmJiB0aGlzLmRhdGFbaV0ubGV2ZWwgPiBwYXJlbnROb2RlLmxldmVsO1xuICAgICAgICBpKyssIGNvdW50KytcbiAgICAgICk7XG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4ICsgMSwgY291bnQpO1xuICAgIH1cblxuICAgIC8vIG5vdGlmeSB0aGUgY2hhbmdlXG4gICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhKTtcbiAgICBwYXJlbnROb2RlLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIH1cblxuXG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmVlLmRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90cmVlL28tdHJlZS5kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUs3RCxNQUFNLE9BQU8sZUFBZTtJQUsxQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFzQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQ1UsS0FBcUIsRUFDckIsWUFBNEMsRUFDNUMsUUFBa0I7UUFGbEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWdDO1FBQzVDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFmNUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQWlCcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1B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QUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQzdELENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRTtnQkFDYixDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUdELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxVQUFVLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUvQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uVmlld2VyLCBEYXRhU291cmNlLCBTZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBPVHJlZURhbyB9IGZyb20gJy4vby10cmVlLWRhby5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9vLXRyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IE9UcmVlRmxhdE5vZGUgfSBmcm9tICcuLi8uLi90eXBlcy90cmVlLWZsYXQtbm9kZS50eXBlJztcblxuZXhwb3J0IGNsYXNzIE9UcmVlRGF0YVNvdXJjZSBpbXBsZW1lbnRzIERhdGFTb3VyY2U8T1RyZWVGbGF0Tm9kZT4ge1xuICBkYXRhQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPVHJlZUZsYXROb2RlW10+KFtdKTtcbiAgdHJhbnNsYXRlU2VydmljZTogYW55O1xuICBwcm90ZWN0ZWQgX2RhdGFiYXNlOiBPVHJlZURhbztcblxuICBnZXQgZGF0YSgpOiBPVHJlZUZsYXROb2RlW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDaGFuZ2UudmFsdWU7XG4gIH1cbiAgc2V0IGRhdGEodmFsdWU6IE9UcmVlRmxhdE5vZGVbXSkge1xuICAgIHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2RlcyA9IHZhbHVlO1xuICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb1RyZWU6IE9UcmVlQ29tcG9uZW50LFxuICAgIHByaXZhdGUgX3RyZWVDb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8T1RyZWVGbGF0Tm9kZT4sXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT1RyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMuX2RhdGFiYXNlID0gdGhpcy5vVHJlZS5kYW9UcmVlO1xuICB9XG5cbiAgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxPVHJlZUZsYXROb2RlW10+IHtcbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbnNpb25Nb2RlbC5jaGFuZ2VkLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBjaGFuZ2UuYWRkZWQgfHxcbiAgICAgICAgY2hhbmdlLnJlbW92ZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmhhbmRsZVRyZWVDb250cm9sKGNoYW5nZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2UoY29sbGVjdGlvblZpZXdlci52aWV3Q2hhbmdlLCB0aGlzLmRhdGFDaGFuZ2UpLnBpcGUobWFwKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfSkpO1xuICB9XG5cbiAgZGlzY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICB9XG5cbiAgLyoqIEhhbmRsZSBleHBhbmQvY29sbGFwc2UgYmVoYXZpb3JzICovXG4gIGhhbmRsZVRyZWVDb250cm9sKGNoYW5nZTogU2VsZWN0aW9uQ2hhbmdlPE9UcmVlRmxhdE5vZGU+KSB7XG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgY2hhbmdlLmFkZGVkLmZvckVhY2gobm9kZSA9PiB0aGlzLm9UcmVlLnRvZ2dsZU5vZGUobm9kZSwgdHJ1ZSkpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgIGNoYW5nZS5yZW1vdmVkXG4gICAgICAgIC5zbGljZSgpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmZvckVhY2gobm9kZSA9PiB0aGlzLm9UcmVlLnRvZ2dsZU5vZGUobm9kZSwgZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICBpc1RyZWVGbGF0Tm9kZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuICdsZXZlbCcgaW4gdmFsdWUgJiYgJ2xhYmVsJyBpbiB2YWx1ZTtcbiAgfVxuXG4gIHVwZGF0ZVRyZWUocGFyZW50Tm9kZTogT1RyZWVGbGF0Tm9kZSwgY2hpbGRyZW46IEFycmF5PGFueT4sIGV4cGFuZDogYm9vbGVhbikge1xuICAgIGNvbnN0IHRyZWVOb2RlID0gcGFyZW50Tm9kZS50cmVlTm9kZSA/IHBhcmVudE5vZGUudHJlZU5vZGUgOiB0aGlzLm9UcmVlO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleChub2RlID0+IG5vZGUuaWQgPT09IHBhcmVudE5vZGUuaWQpO1xuXG4gICAgaWYgKCFjaGlsZHJlbiB8fCBpbmRleCA8IDApIHtcbiAgICAgIC8vIElmIG5vIGNoaWxkcmVuLCBvciBjYW5ub3QgZmluZCB0aGUgbm9kZSwgbm8gb3BcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXhwYW5kKSB7XG4gICAgICBsZXQgbGV2ZWwgPSBwYXJlbnROb2RlLmxldmVsICsgMTtcbiAgICAgIGxldCBub2RlczogQXJyYXk8T1RyZWVGbGF0Tm9kZT47XG4gICAgICBub2RlcyA9IGNoaWxkcmVuLm1hcChjaGlsZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzVHJlZUZsYXROb2RlKGNoaWxkKSkge1xuICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJlZU5vZGUudHJhbnNmb3JtZXIoY2hpbGQsIGxldmVsLCBwYXJlbnROb2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4ICsgMSwgMCwgLi4ubm9kZXMpO1xuXG4gICAgICAvL0lmIHBhcmVudE5vZGUgaXMgc2VsZWN0ZWQsIHRoZSBjaGlsZHJlbiBhbHNvIGFyZSBzZWxlY3RlZFxuICAgICAgaWYgKHRoaXMub1RyZWUuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocGFyZW50Tm9kZSkpIHtcbiAgICAgICAgdGhpcy5vVHJlZS5zZWxlY3Rpb24uc2VsZWN0KC4uLm5vZGVzKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgZm9yIChcbiAgICAgICAgbGV0IGkgPSBpbmRleCArIDE7XG4gICAgICAgIGkgPCB0aGlzLmRhdGEubGVuZ3RoICYmIHRoaXMuZGF0YVtpXS5sZXZlbCA+IHBhcmVudE5vZGUubGV2ZWw7XG4gICAgICAgIGkrKywgY291bnQrK1xuICAgICAgKTtcbiAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXggKyAxLCBjb3VudCk7XG4gICAgfVxuXG4gICAgLy8gbm90aWZ5IHRoZSBjaGFuZ2VcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLmRhdGEpO1xuICAgIHBhcmVudE5vZGUuaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -17,7 +17,8 @@ import * as i8 from "../../pipes/o-translate.pipe";
17
17
  export const DEFAULT_INPUTS_O_USER_INFO = [
18
18
  'showProfile: show-profile',
19
19
  'showSettings: show-settings',
20
- 'showLogout: show-logout'
20
+ 'showLogout: show-logout',
21
+ 'id'
21
22
  ];
22
23
  export const DEFAULT_OUTPUTS_O_USER_INFO = [];
23
24
  export class OUserInfoComponent {
@@ -68,7 +69,7 @@ export class OUserInfoComponent {
68
69
  }
69
70
  }
70
71
  OUserInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OUserInfoComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
71
- OUserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OUserInfoComponent, selector: "o-user-info", inputs: { showProfile: ["show-profile", "showProfile"], showSettings: ["show-settings", "showSettings"], showLogout: ["show-logout", "showLogout"] }, host: { properties: { "class.o-user-info": "true" } }, ngImport: i0, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
72
+ OUserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OUserInfoComponent, selector: "o-user-info", inputs: { showProfile: ["show-profile", "showProfile"], showSettings: ["show-settings", "showSettings"], showLogout: ["show-logout", "showLogout"], id: "id" }, host: { properties: { "class.o-user-info": "true" } }, ngImport: i0, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon id=\"arrow-icon\" svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button id=\"menu-settings\" type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button id=\"menu-logout\" type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
72
73
  __decorate([
73
74
  BooleanInputConverter(),
74
75
  __metadata("design:type", Boolean)
@@ -85,6 +86,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
85
86
  type: Component,
86
87
  args: [{ selector: 'o-user-info', inputs: DEFAULT_INPUTS_O_USER_INFO, outputs: DEFAULT_OUTPUTS_O_USER_INFO, encapsulation: ViewEncapsulation.None, host: {
87
88
  '[class.o-user-info]': 'true'
88
- }, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"] }]
89
+ }, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon id=\"arrow-icon\" svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button id=\"menu-settings\" type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button id=\"menu-logout\" type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"] }]
89
90
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Injector }, { type: i1.Router }]; }, propDecorators: { showLogout: [], showSettings: [], showProfile: [] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby11c2VyLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1pbmZvL28tdXNlci1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItaW5mby9vLXVzZXItaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBR2hGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IseUJBQXlCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxFQUFFLENBQUM7QUFhOUMsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDWSxLQUFpQixFQUNqQixRQUFrQixFQUNsQixNQUFjO1FBRmQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFibkIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUczQixpQkFBWSxH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TUFBTTtxQkFDOUI7NklBWU0sVUFBVSxNQUdWLFlBQVksTUFHWixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPVXNlckluZm9TZXJ2aWNlLCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL28tdXNlci1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vdXNlci1pbmZvLWNvbmZpZ3VyYXRpb24vby11c2VyLWluZm8tY29uZmlndXJhdGlvbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19VU0VSX0lORk8gPSBbXG4gICdzaG93UHJvZmlsZTogc2hvdy1wcm9maWxlJyxcbiAgJ3Nob3dTZXR0aW5nczogc2hvdy1zZXR0aW5ncycsXG4gICdzaG93TG9nb3V0OiBzaG93LWxvZ291dCdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19VU0VSX0lORk8gPSBbXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby11c2VyLWluZm8nLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVVNFUl9JTkZPLFxuICBvdXRwdXRzOiBERUZBVUxUX09VVFBVVFNfT19VU0VSX0lORk8sXG4gIHRlbXBsYXRlVXJsOiAnLi9vLXVzZXItaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28tdXNlci1pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tdXNlci1pbmZvXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9Vc2VySW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2U7XG4gIHByb3RlY3RlZCBvVXNlckluZm9TZXJ2aWNlOiBPVXNlckluZm9TZXJ2aWNlO1xuXG4gIHVzZXJJbmZvU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByb3RlY3RlZCB1c2VySW5mbzogVXNlckluZm87XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBzaG93TG9nb3V0OiBib29sZWFuID0gdHJ1ZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dTZXR0aW5nczogYm9vbGVhbiA9IHRydWU7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBzaG93UHJvZmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyB1c2VySW5mb0NvbmZpZ3VyYXRpb246IE9Vc2VySW5mb0NvbmZpZ3VyYXRpb25EaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KERpYWxvZ1NlcnZpY2UpO1xuICAgIHRoaXMuYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBdXRoU2VydmljZSk7XG4gICAgdGhpcy5vVXNlckluZm9TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT1VzZXJJbmZvU2VydmljZSk7XG5cbiAgICB0aGlzLnVzZXJJbmZvID0gdGhpcy5vVXNlckluZm9TZXJ2aWNlLmdldFVzZXJJbmZvKCk7XG4gICAgdGhpcy51c2VySW5mb1N1YnNjcmlwdGlvbiA9IHRoaXMub1VzZXJJbmZvU2VydmljZS5nZXRVc2VySW5mb09ic2VydmFibGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMudXNlckluZm8gPSByZXM7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVzZXJJbmZvU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkxvZ291dENsaWNrKCkge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0V2l0aENvbmZpcm1hdGlvbigpO1xuICB9XG5cbiAgb25TZXR0aW5nc0NsaWNrKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbWFpbi9zZXR0aW5ncyddKTtcbiAgfVxuXG4gIG9uUHJvZmlsZUNsaWNrKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbWFpbi9wcm9maWxlJ10pO1xuICB9XG5cbiAgZ2V0IGV4aXN0c1VzZXJJbmZvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgYXZhdGFyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8gPyB0aGlzLnVzZXJJbmZvLmF2YXRhciA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCB1c2VybmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvID8gdGhpcy51c2VySW5mby51c2VybmFtZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlZ2lzdGVyVXNlckluZm9Db25maWd1cmF0aW9uKHVzZXJJbmZvTWVudTogT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZSkge1xuICAgIHRoaXMudXNlckluZm9Db25maWd1cmF0aW9uID0gdXNlckluZm9NZW51O1xuICAgIHRoaXMudXBkYXRlSW5wdXRzQnlDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUlucHV0c0J5Q29uZmlndXJhdGlvbigpIHtcbiAgICB0aGlzLnNob3dMb2dvdXQgPSB0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbiA/IHRoaXMudXNlckluZm9Db25maWd1cmF0aW9uLnNob3dMb2dvdXQgOiB0aGlzLnNob3dMb2dvdXQ7XG4gICAgdGhpcy5zaG93UHJvZmlsZSA9IHRoaXMudXNlckluZm9Db25maWd1cmF0aW9uID8gdGhpcy51c2VySW5mb0NvbmZpZ3VyYXRpb24uc2hvd1Byb2ZpbGUgOiB0aGlzLnNob3dQcm9maWxlO1xuICAgIHRoaXMuc2hvd1NldHRpbmdzID0gdGhpcy51c2VySW5mb0NvbmZpZ3VyYXRpb24gPyB0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbi5zaG93U2V0dGluZ3MgOiB0aGlzLnNob3dTZXR0aW5ncztcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiby11c2VyLWluZm8tY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJleGlzdHNVc2VySW5mb1wiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXVzZXItaW5mby13cmFwcGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcbiAgICAgIGZ4TGF5b3V0R2FwPVwiMTZweFwiPlxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJvLXVzZXItaW5mby1hdmF0YXItd3JhcHBlclwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyXCIgKm5nSWY9XCJhdmF0YXJcIiBhbHQ9XCJhdmF0YXIgaW1hZ2VcIi8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiby11c2VyLWluZm8tdXNlcm5hbWVcIiAqbmdJZj1cInVzZXJuYW1lXCI+IHt7IHVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJvbnRpbWl6ZTprZXlib2FyZF9hcnJvd19kb3duXCI+PC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgeVBvc2l0aW9uPVwiYmVsb3dcIiBjbGFzcz1cIm8tbWF0LW1lbnVcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uUHJvZmlsZUNsaWNrKClcIiAqbmdJZj1cInNob3dQcm9maWxlXCI+XG4gICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnQVBQX0xBWU9VVC5VU0VSX1BST0ZJTEUnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25TZXR0aW5nc0NsaWNrKClcIiAqbmdJZj1cInNob3dTZXR0aW5nc1wiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOnNldHRpbmdzXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgJ0FQUF9MQVlPVVQuU0VUVElOR1MnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJJbmZvQ29uZmlndXJhdGlvblwiPlxuICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIHVzZXJJbmZvQ29uZmlndXJhdGlvbi51c2VySW5mb0NvbmZpZ3VyYXRpb25JdGVtc1wiIHR5cGU9XCJidXR0b25cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbS5uYW1lIHwgb1RyYW5zbGF0ZVwiIG1hdFRvb2x0aXBEaXNhYmxlZD1cIml0ZW0udG9vbHRpcFwiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NcIlxuICAgICAgICAgIChjbGljayk9XCJpdGVtLnRyaWdnZXJPbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICA8bWF0LWljb24+e3tpdGVtLmljb259fSA8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubmFtZSB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkxvZ291dENsaWNrKClcIiAqbmdJZj1cInNob3dMb2dvdXRcIj5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJvbnRpbWl6ZTpwb3dlcl9zZXR0aW5nc19uZXdcIj48L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnTE9HT1VUJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cblxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby11c2VyLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1pbmZvL28tdXNlci1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItaW5mby9vLXVzZXItaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBR2hGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IseUJBQXlCO0lBQ3pCLElBQUk7Q0FDTCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0FBYTlDLE1BQU0sT0FBTyxrQkFBa0I7SUFzQjdCLFlBQ1ksS0FBaUIsRUFDakIsUUFBa0IsRUFDbEIsTUFBYztRQUZkLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZm5CLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFH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QUFxQixFQUFFLE1BQU07cUJBQzlCOzZJQVlNLFVBQVUsTUFHVixZQUFZLE1BR1osV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQm9vbGVhbklucHV0Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1VzZXJJbmZvU2VydmljZSwgVXNlckluZm8gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vLXVzZXItaW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IE9Vc2VySW5mb0NvbmZpZ3VyYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3VzZXItaW5mby1jb25maWd1cmF0aW9uL28tdXNlci1pbmZvLWNvbmZpZ3VyYXRpb24uZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fVVNFUl9JTkZPID0gW1xuICAnc2hvd1Byb2ZpbGU6IHNob3ctcHJvZmlsZScsXG4gICdzaG93U2V0dGluZ3M6IHNob3ctc2V0dGluZ3MnLFxuICAnc2hvd0xvZ291dDogc2hvdy1sb2dvdXQnLFxuICAnaWQnXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRQVVRTX09fVVNFUl9JTkZPID0gW107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdXNlci1pbmZvJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX1VTRVJfSU5GTyxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fVVNFUl9JTkZPLFxuICB0ZW1wbGF0ZVVybDogJy4vby11c2VyLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXVzZXItaW5mby5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLXVzZXItaW5mb10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPVXNlckluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb1VzZXJJbmZvU2VydmljZTogT1VzZXJJbmZvU2VydmljZTtcblxuICB1c2VySW5mb1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcm90ZWN0ZWQgdXNlckluZm86IFVzZXJJbmZvO1xuXG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc2hvd0xvZ291dDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBzaG93U2V0dGluZ3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc2hvd1Byb2ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgdXNlckluZm9Db25maWd1cmF0aW9uOiBPVXNlckluZm9Db25maWd1cmF0aW9uRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQXV0aFNlcnZpY2UpO1xuICAgIHRoaXMub1VzZXJJbmZvU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9Vc2VySW5mb1NlcnZpY2UpO1xuXG4gICAgdGhpcy51c2VySW5mbyA9IHRoaXMub1VzZXJJbmZvU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgIHRoaXMudXNlckluZm9TdWJzY3JpcHRpb24gPSB0aGlzLm9Vc2VySW5mb1NlcnZpY2UuZ2V0VXNlckluZm9PYnNlcnZhYmxlKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLnVzZXJJbmZvID0gcmVzO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51c2VySW5mb1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25Mb2dvdXRDbGljaygpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dFdpdGhDb25maXJtYXRpb24oKTtcbiAgfVxuXG4gIG9uU2V0dGluZ3NDbGljaygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ21haW4vc2V0dGluZ3MnXSk7XG4gIH1cblxuICBvblByb2ZpbGVDbGljaygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ21haW4vcHJvZmlsZSddKTtcbiAgfVxuXG4gIGdldCBleGlzdHNVc2VySW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGF2YXRhcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvID8gdGhpcy51c2VySW5mby5hdmF0YXIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgdXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyA/IHRoaXMudXNlckluZm8udXNlcm5hbWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICByZWdpc3RlclVzZXJJbmZvQ29uZmlndXJhdGlvbih1c2VySW5mb01lbnU6IE9Vc2VySW5mb0NvbmZpZ3VyYXRpb25EaXJlY3RpdmUpIHtcbiAgICB0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbiA9IHVzZXJJbmZvTWVudTtcbiAgICB0aGlzLnVwZGF0ZUlucHV0c0J5Q29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dHNCeUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgdGhpcy5zaG93TG9nb3V0ID0gdGhpcy51c2VySW5mb0NvbmZpZ3VyYXRpb24gPyB0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbi5zaG93TG9nb3V0IDogdGhpcy5zaG93TG9nb3V0O1xuICAgIHRoaXMuc2hvd1Byb2ZpbGUgPSB0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbiA/IHRoaXMudXNlckluZm9Db25maWd1cmF0aW9uLnNob3dQcm9maWxlIDogdGhpcy5zaG93UHJvZmlsZTtcbiAgICB0aGlzLnNob3dTZXR0aW5ncyA9IHRoaXMudXNlckluZm9Db25maWd1cmF0aW9uID8gdGhpcy51c2VySW5mb0NvbmZpZ3VyYXRpb24uc2hvd1NldHRpbmdzIDogdGhpcy5zaG93U2V0dGluZ3M7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm8tdXNlci1pbmZvLWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhpc3RzVXNlckluZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiby11c2VyLWluZm8td3JhcHBlclwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICBmeExheW91dEdhcD1cIjE2cHhcIj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiby11c2VyLWluZm8tYXZhdGFyLXdyYXBwZXJcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cImF2YXRhclwiICpuZ0lmPVwiYXZhdGFyXCIgYWx0PVwiYXZhdGFyIGltYWdlXCIvPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cIm8tdXNlci1pbmZvLXVzZXJuYW1lXCIgKm5nSWY9XCJ1c2VybmFtZVwiPiB7eyB1c2VybmFtZSB9fTwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbiBpZD1cImFycm93LWljb25cIiBzdmdJY29uPVwib250aW1pemU6a2V5Ym9hcmRfYXJyb3dfZG93blwiPjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHlQb3NpdGlvbj1cImJlbG93XCIgY2xhc3M9XCJvLW1hdC1tZW51XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvblByb2ZpbGVDbGljaygpXCIgKm5nSWY9XCJzaG93UHJvZmlsZVwiPlxuICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgJ0FQUF9MQVlPVVQuVVNFUl9QUk9GSUxFJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gaWQ9XCJtZW51LXNldHRpbmdzXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uU2V0dGluZ3NDbGljaygpXCIgKm5nSWY9XCJzaG93U2V0dGluZ3NcIj5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJvbnRpbWl6ZTpzZXR0aW5nc1wiPjwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdBUFBfTEFZT1VULlNFVFRJTkdTJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VySW5mb0NvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB1c2VySW5mb0NvbmZpZ3VyYXRpb24udXNlckluZm9Db25maWd1cmF0aW9uSXRlbXNcIiB0eXBlPVwiYnV0dG9uXCIgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0ubmFtZSB8IG9UcmFuc2xhdGVcIiBtYXRUb29sdGlwRGlzYWJsZWQ9XCJpdGVtLnRvb2x0aXBcIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzXCJcbiAgICAgICAgICAoY2xpY2spPVwiaXRlbS50cmlnZ2VyT25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnt7aXRlbS5pY29ufX0gPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBpdGVtLm5hbWUgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvbiBpZD1cIm1lbnUtbG9nb3V0XCIgdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTG9nb3V0Q2xpY2soKVwiICpuZ0lmPVwic2hvd0xvZ291dFwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOnBvd2VyX3NldHRpbmdzX25ld1wiPjwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdMT0dPVVQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9tYXQtbWVudT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -5,7 +5,7 @@ import { Router } from '@angular/router';
5
5
  import { combineLatest } from 'rxjs';
6
6
  import { AppConfig, O_INPUTS_OPTIONS } from '../config/app-config';
7
7
  import { appConfigFactory } from '../services/app-config.provider';
8
- import { ComponentStateServiceProvider, ExportDataServiceProvider, NameConventionProvider, O_MAT_ERROR_OPTIONS, OntimizeAuthServiceProvider, OntimizeExportServiceProvider, OntimizeLocalStorageServiceProvider, OntimizeServiceProvider, ServiceRequestAdapter, ServiceResponseAdapter } from '../services/factories';
8
+ import { ComponentStateServiceProvider, ExportDataServiceProvider, NameConventionProvider, OntimizeAuthServiceProvider, OntimizeExportServiceProvider, OntimizeLocalStorageServiceProvider, OntimizeServiceProvider, ServiceRequestAdapter, ServiceResponseAdapter } from '../services/factories';
9
9
  import { LocalStorageService } from '../services/local-storage.service';
10
10
  import { NavigationService } from '../services/navigation.service';
11
11
  import { OntimizeMatIconRegistry } from '../services/ontimize-icon-registry.service';
@@ -14,6 +14,7 @@ import { ORemoteConfigurationService } from '../services/remote-config.service';
14
14
  import { Error403Component } from '../shared/components/error403/o-error-403.component';
15
15
  import { Codes } from '../util/codes';
16
16
  import { Util } from '../util/util';
17
+ import { O_JSON_API_CONFIG, O_MAT_ERROR_OPTIONS } from '../injection-tokens';
17
18
  function addPermissionsRouteGuard(injector) {
18
19
  const route = injector.get(Router);
19
20
  const exists403 = route.config.find(r => r.path === Codes.FORBIDDEN_ROUTE);
@@ -80,6 +81,7 @@ export const ONTIMIZE_PROVIDERS = [
80
81
  OPreferenceResponseAdapter,
81
82
  { provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: { disabled: true } },
82
83
  { provide: O_MAT_ERROR_OPTIONS, useValue: {} },
83
- { provide: O_INPUTS_OPTIONS, useValue: {} }
84
+ { provide: O_INPUTS_OPTIONS, useValue: {} },
85
+ { provide: O_JSON_API_CONFIG, useValue: {} }
84
86
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29uZmlnL28tcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixtQ0FBbUMsRUFDbkMsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdkIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFcEMsU0FBUyx3QkFBd0IsQ0FBQyxRQUFrQjtJQUNsRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0UsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztLQUNsRjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBa0IsRUFBRSxNQUFjLEVBQUUsVUFBNkI7SUFDckcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQVksRUFBRSxFQUFFO1FBQzdDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN4RixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzRixJQUFJLFVBQVUsRUFBRTtnQkFDZCxRQUFRLEdBQUcsVUFBVSxDQUFDO2FBQ3ZCO2lCQUFNLElBQUksVUFBVSxFQUFFO2dCQUNyQixRQUFRLEdBQUcsVUFBVSxDQUFDO2dCQUN0QixXQUFXLEdBQUcsVUFBVSxDQUFDO2FBQzFCO2lCQUFNLElBQUksV0FBVyxFQUFFO2dCQUN0QixRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUN2QixXQUFXLEdBQUcsV0FBVyxDQUFDO2FBQzNCO1lBQ0QsVUFBVSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDekQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBR3RCLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzlCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7YUFDMUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO2dCQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLCtIQUErSCxDQUFDLENBQUM7Z0JBQy9JLEtBQUssQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO2FBQ3hJO1lBQ0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuRCxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUM3RCx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN0RCxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUN0RSxlQUFlLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDdkQsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFlO0lBQzVDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7SUFDdEUsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBRTFCLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNwRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzlDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExPQ0FUSU9OX0lOSVRJQUxJWkVEIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdG9yLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX1JJUFBMRV9HTE9CQUxfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnLCBPX0lOUFVUU19PUFRJT05TIH0gZnJvbSAnLi4vY29uZmlnL2FwcC1jb25maWcnO1xuaW1wb3J0IHsgYXBwQ29uZmlnRmFjdG9yeSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC1jb25maWcucHJvdmlkZXInO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50U3RhdGVTZXJ2aWNlUHJvdmlkZXIsXG4gIEV4cG9ydERhdGFTZXJ2aWNlUHJvdmlkZXIsXG4gIE5hbWVDb252ZW50aW9uUHJvdmlkZXIsXG4gIE9fTUFUX0VSUk9SX09QVElPTlMsXG4gIE9udGltaXplQXV0aFNlcnZpY2VQcm92aWRlcixcbiAgT250aW1pemVFeHBvcnRTZXJ2aWNlUHJvdmlkZXIsXG4gIE9udGltaXplTG9jYWxTdG9yYWdlU2VydmljZVByb3ZpZGVyLFxuICBPbnRpbWl6ZVNlcnZpY2VQcm92aWRlcixcbiAgU2VydmljZVJlcXVlc3RBZGFwdGVyLFxuICBTZXJ2aWNlUmVzcG9uc2VBZGFwdGVyXG59IGZyb20gJy4uL3NlcnZpY2VzL2ZhY3Rvcmllcyc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vc2VydmljZXMvb250aW1pemUtaWNvbi1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9QcmVmZXJlbmNlUmVzcG9uc2VBZGFwdGVyIH0gZnJvbSAnLi4vc2VydmljZXMvb250aW1pemUvby1wcmVmZXJlbmNlLXJlc3BvbnNlLmFkYXB0ZXInO1xuaW1wb3J0IHsgT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVtb3RlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3I0MDNDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy9lcnJvcjQwMy9vLWVycm9yLTQwMy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuXG5mdW5jdGlvbiBhZGRQZXJtaXNzaW9uc1JvdXRlR3VhcmQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gIGNvbnN0IGV4aXN0czQwMyA9IHJvdXRlLmNvbmZpZy5maW5kKHIgPT4gci5wYXRoID09PSBDb2Rlcy5GT1JCSURERU5fUk9VVEUpO1xuICBpZiAoIWV4aXN0czQwMykge1xuICAgIHJvdXRlLmNvbmZpZy5wdXNoKHsgcGF0aDogQ29kZXMuRk9SQklEREVOX1JPVVRFLCBjb21wb25lbnQ6IEVycm9yNDAzQ29tcG9uZW50IH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBJbml0aWFsaXplckZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yLCBjb25maWc6IENvbmZpZywgb1RyYW5zbGF0ZTogT1RyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgcmV0dXJuICgpID0+IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmU6IGFueSkgPT4ge1xuICAgIGNvbnN0IG9ic2VydmFibGVBcnJheSA9IFtdO1xuICAgIGNvbnN0IGxvY2F0aW9uSW5pdGlhbGl6ZWQgPSBpbmplY3Rvci5nZXQoTE9DQVRJT05fSU5JVElBTElaRUQsIFByb21pc2UucmVzb2x2ZShudWxsKSk7XG4gICAgbG9jYXRpb25Jbml0aWFsaXplZC50aGVuKCgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlZExhbmcgPSBvVHJhbnNsYXRlLmdldFN0b3JlZExhbmd1YWdlKCk7XG4gICAgICBjb25zdCBjb25maWdMYW5nID0gY29uZmlnWydsb2NhbGUnXTtcbiAgICAgIGNvbnN0IGJyb3dzZXJMYW5nID0gb1RyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpO1xuICAgICAgbGV0IHVzZXJMYW5nID0gVXRpbC5pc0RlZmluZWQoY29uZmlnWydkZWZhdWx0TG9jYWxlJ10pID8gY29uZmlnWydkZWZhdWx0TG9jYWxlJ10gOiAnZW4nO1xuICAgICAgbGV0IGRlZmF1bHRMYW5nID0gVXRpbC5pc0RlZmluZWQoY29uZmlnWydkZWZhdWx0TG9jYWxlJ10pID8gY29uZmlnWydkZWZhdWx0TG9jYWxlJ10gOiAnZW4nO1xuICAgICAgaWYgKHN0b3JlZExhbmcpIHtcbiAgICAgICAgdXNlckxhbmcgPSBzdG9yZWRMYW5nO1xuICAgICAgfSBlbHNlIGlmIChjb25maWdMYW5nKSB7XG4gICAgICAgIHVzZXJMYW5nID0gY29uZmlnTGFuZztcbiAgICAgICAgZGVmYXVsdExhbmcgPSBjb25maWdMYW5nO1xuICAgICAgfSBlbHNlIGlmIChicm93c2VyTGFuZykge1xuICAgICAgICB1c2VyTGFuZyA9IGJyb3dzZXJMYW5nO1xuICAgICAgICBkZWZhdWx0TGFuZyA9IGJyb3dzZXJMYW5nO1xuICAgICAgfVxuICAgICAgb1RyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhkZWZhdWx0TGFuZyk7XG5cbiAgICAgIGNvbnN0IGxvY2FsZXMgPSBuZXcgU2V0KGNvbmZpZy5hcHBsaWNhdGlvbkxvY2FsZXMgfHwgW10pO1xuICAgICAgbG9jYWxlcy5hZGQoJ2VuJyk7XG4gICAgICBsb2NhbGVzLmFkZCh1c2VyTGFuZyk7XG5cbiAgICAgIC8vIGluaXRpYWxpemUgYXZhaWxhYmxlIGxvY2FsZXMgYXJyYXkgaWYgbmVlZGVkXG4gICAgICBpZiAoIWNvbmZpZy5hcHBsaWNhdGlvbkxvY2FsZXMpIHtcbiAgICAgICAgY29uZmlnLmFwcGxpY2F0aW9uTG9jYWxlcyA9IFsuLi5sb2NhbGVzXTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbmZpZy51dWlkID09IG51bGwgfHwgY29uZmlnLnV1aWQgPT09ICcnKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdXIgYXBwIG11c3QgaGF2ZSBhbiBcXCd1dWlkXFwnIHByb3BlcnR5IGRlZmluZWQgb24geW91ciBhcHAuY29uZmlnIGZpbGUuIE90aGVyd2lzZSwgeW91ciBhcHBsaWNhdGlvbiB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseS4nKTtcbiAgICAgICAgYWxlcnQoJ1lvdXIgYXBwIG11c3QgaGF2ZSBhbiBcXCd1dWlkXFwnIHByb3BlcnR5IGRlZmluZWQgb24geW91ciBhcHAuY29uZmlnIGZpbGUuIE90aGVyd2lzZSwgeW91ciBhcHBsaWNhdGlvbiB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseS4nKTtcbiAgICAgIH1cbiAgICAgIGluamVjdG9yLmdldChOYXZpZ2F0aW9uU2VydmljZSkuaW5pdGlhbGl6ZSgpO1xuICAgICAgaW5qZWN0b3IuZ2V0KE9udGltaXplTWF0SWNvblJlZ2lzdHJ5KS5pbml0aWFsaXplKCk7XG4gICAgICBpbmplY3Rvci5nZXQoTG9jYWxTdG9yYWdlU2VydmljZSkuc2V0QmFja3dhcmRDb21wYXRpYmlsaXR5KCk7XG4gICAgICBhZGRQZXJtaXNzaW9uc1JvdXRlR3VhcmQoaW5qZWN0b3IpO1xuICAgICAgb2JzZXJ2YWJsZUFycmF5LnB1c2gob1RyYW5zbGF0ZS5zZXRBcHBMYW5nKHVzZXJMYW5nKSk7XG4gICAgICBjb25zdCByZW1vdGVDb25maWdTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE9SZW1vdGVDb25maWd1cmF0aW9uU2VydmljZSk7XG4gICAgICBvYnNlcnZhYmxlQXJyYXkucHVzaChyZW1vdGVDb25maWdTZXJ2aWNlLmluaXRpYWxpemUoKSk7XG4gICAgICBjb21iaW5lTGF0ZXN0KG9ic2VydmFibGVBcnJheSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgT05USU1JWkVfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICB7IHByb3ZpZGU6IEFwcENvbmZpZywgdXNlRmFjdG9yeTogYXBwQ29uZmlnRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9LFxuICBPbnRpbWl6ZVNlcnZpY2VQcm92aWRlcixcbiAgU2VydmljZVJlc3BvbnNlQWRhcHRlcixcbiAgU2VydmljZVJlcXVlc3RBZGFwdGVyLFxuICBPbnRpbWl6ZUF1dGhTZXJ2aWNlUHJvdmlkZXIsXG4gIENvbXBvbmVudFN0YXRlU2VydmljZVByb3ZpZGVyLFxuICBFeHBvcnREYXRhU2VydmljZVByb3ZpZGVyLFxuICBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlcixcbiAgTmFtZUNvbnZlbnRpb25Qcm92aWRlcixcbiAgT250aW1pemVMb2NhbFN0b3JhZ2VTZXJ2aWNlUHJvdmlkZXIsXG4gIE9QcmVmZXJlbmNlUmVzcG9uc2VBZGFwdGVyLFxuICAvLyBkaXNhYmxlZCBnbG9iYWwgcmlwcGxlXG4gIHsgcHJvdmlkZTogTUFUX1JJUFBMRV9HTE9CQUxfT1BUSU9OUywgdXNlVmFsdWU6IHsgZGlzYWJsZWQ6IHRydWUgfSB9LFxuICB7IHByb3ZpZGU6IE9fTUFUX0VSUk9SX09QVElPTlMsIHVzZVZhbHVlOiB7fSB9LFxuICB7IHByb3ZpZGU6IE9fSU5QVVRTX09QVElPTlMsIHVzZVZhbHVlOiB7fSB9XG5dO1xuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29uZmlnL28tcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLG1DQUFtQyxFQUNuQyx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXhGLE9B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RUFBRSxFQUFFLEVBQUU7SUFDOUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUMzQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0NBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMT0NBVElPTl9JTklUSUFMSVpFRCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9SSVBQTEVfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZywgT19JTlBVVFNfT1BUSU9OUyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IGFwcENvbmZpZ0ZhY3RvcnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAtY29uZmlnLnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFN0YXRlU2VydmljZVByb3ZpZGVyLFxuICBFeHBvcnREYXRhU2VydmljZVByb3ZpZGVyLFxuICBOYW1lQ29udmVudGlvblByb3ZpZGVyLFxuICBPbnRpbWl6ZUF1dGhTZXJ2aWNlUHJvdmlkZXIsXG4gIE9udGltaXplRXhwb3J0U2VydmljZVByb3ZpZGVyLFxuICBPbnRpbWl6ZUxvY2FsU3RvcmFnZVNlcnZpY2VQcm92aWRlcixcbiAgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIsXG4gIFNlcnZpY2VSZXF1ZXN0QWRhcHRlcixcbiAgU2VydmljZVJlc3BvbnNlQWRhcHRlclxufSBmcm9tICcuLi9zZXJ2aWNlcy9mYWN0b3JpZXMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZU1hdEljb25SZWdpc3RyeSB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplLWljb24tcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBPUHJlZmVyZW5jZVJlc3BvbnNlQWRhcHRlciB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplL28tcHJlZmVyZW5jZS1yZXNwb25zZS5hZGFwdGVyJztcbmltcG9ydCB7IE9SZW1vdGVDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlbW90ZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBPVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS9vLXRyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZXJyb3I0MDMvby1lcnJvci00MDMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZy50eXBlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9fSlNPTl9BUElfQ09ORklHLCBPX01BVF9FUlJPUl9PUFRJT05TIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5cbmZ1bmN0aW9uIGFkZFBlcm1pc3Npb25zUm91dGVHdWFyZChpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgY29uc3QgZXhpc3RzNDAzID0gcm91dGUuY29uZmlnLmZpbmQociA9PiByLnBhdGggPT09IENvZGVzLkZPUkJJRERFTl9ST1VURSk7XG4gIGlmICghZXhpc3RzNDAzKSB7XG4gICAgcm91dGUuY29uZmlnLnB1c2goeyBwYXRoOiBDb2Rlcy5GT1JCSURERU5fUk9VVEUsIGNvbXBvbmVudDogRXJyb3I0MDNDb21wb25lbnQgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcEluaXRpYWxpemVyRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IsIGNvbmZpZzogQ29uZmlnLCBvVHJhbnNsYXRlOiBPVHJhbnNsYXRlU2VydmljZSkge1xuICByZXR1cm4gKCkgPT4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZTogYW55KSA9PiB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZUFycmF5ID0gW107XG4gICAgY29uc3QgbG9jYXRpb25Jbml0aWFsaXplZCA9IGluamVjdG9yLmdldChMT0NBVElPTl9JTklUSUFMSVpFRCwgUHJvbWlzZS5yZXNvbHZlKG51bGwpKTtcbiAgICBsb2NhdGlvbkluaXRpYWxpemVkLnRoZW4oKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVkTGFuZyA9IG9UcmFuc2xhdGUuZ2V0U3RvcmVkTGFuZ3VhZ2UoKTtcbiAgICAgIGNvbnN0IGNvbmZpZ0xhbmcgPSBjb25maWdbJ2xvY2FsZSddO1xuICAgICAgY29uc3QgYnJvd3NlckxhbmcgPSBvVHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCk7XG4gICAgICBsZXQgdXNlckxhbmcgPSBVdGlsLmlzRGVmaW5lZChjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSkgPyBjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSA6ICdlbic7XG4gICAgICBsZXQgZGVmYXVsdExhbmcgPSBVdGlsLmlzRGVmaW5lZChjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSkgPyBjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSA6ICdlbic7XG4gICAgICBpZiAoc3RvcmVkTGFuZykge1xuICAgICAgICB1c2VyTGFuZyA9IHN0b3JlZExhbmc7XG4gICAgICB9IGVsc2UgaWYgKGNvbmZpZ0xhbmcpIHtcbiAgICAgICAgdXNlckxhbmcgPSBjb25maWdMYW5nO1xuICAgICAgICBkZWZhdWx0TGFuZyA9IGNvbmZpZ0xhbmc7XG4gICAgICB9IGVsc2UgaWYgKGJyb3dzZXJMYW5nKSB7XG4gICAgICAgIHVzZXJMYW5nID0gYnJvd3Nlckxhbmc7XG4gICAgICAgIGRlZmF1bHRMYW5nID0gYnJvd3Nlckxhbmc7XG4gICAgICB9XG4gICAgICBvVHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5nKTtcblxuICAgICAgY29uc3QgbG9jYWxlcyA9IG5ldyBTZXQoY29uZmlnLmFwcGxpY2F0aW9uTG9jYWxlcyB8fCBbXSk7XG4gICAgICBsb2NhbGVzLmFkZCgnZW4nKTtcbiAgICAgIGxvY2FsZXMuYWRkKHVzZXJMYW5nKTtcblxuICAgICAgLy8gaW5pdGlhbGl6ZSBhdmFpbGFibGUgbG9jYWxlcyBhcnJheSBpZiBuZWVkZWRcbiAgICAgIGlmICghY29uZmlnLmFwcGxpY2F0aW9uTG9jYWxlcykge1xuICAgICAgICBjb25maWcuYXBwbGljYXRpb25Mb2NhbGVzID0gWy4uLmxvY2FsZXNdO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29uZmlnLnV1aWQgPT0gbnVsbCB8fCBjb25maWcudXVpZCA9PT0gJycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignWW91ciBhcHAgbXVzdCBoYXZlIGFuIFxcJ3V1aWRcXCcgcHJvcGVydHkgZGVmaW5lZCBvbiB5b3VyIGFwcC5jb25maWcgZmlsZS4gT3RoZXJ3aXNlLCB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5LicpO1xuICAgICAgICBhbGVydCgnWW91ciBhcHAgbXVzdCBoYXZlIGFuIFxcJ3V1aWRcXCcgcHJvcGVydHkgZGVmaW5lZCBvbiB5b3VyIGFwcC5jb25maWcgZmlsZS4gT3RoZXJ3aXNlLCB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5LicpO1xuICAgICAgfVxuICAgICAgaW5qZWN0b3IuZ2V0KE5hdmlnYXRpb25TZXJ2aWNlKS5pbml0aWFsaXplKCk7XG4gICAgICBpbmplY3Rvci5nZXQoT250aW1pemVNYXRJY29uUmVnaXN0cnkpLmluaXRpYWxpemUoKTtcbiAgICAgIGluamVjdG9yLmdldChMb2NhbFN0b3JhZ2VTZXJ2aWNlKS5zZXRCYWNrd2FyZENvbXBhdGliaWxpdHkoKTtcbiAgICAgIGFkZFBlcm1pc3Npb25zUm91dGVHdWFyZChpbmplY3Rvcik7XG4gICAgICBvYnNlcnZhYmxlQXJyYXkucHVzaChvVHJhbnNsYXRlLnNldEFwcExhbmcodXNlckxhbmcpKTtcbiAgICAgIGNvbnN0IHJlbW90ZUNvbmZpZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICAgIG9ic2VydmFibGVBcnJheS5wdXNoKHJlbW90ZUNvbmZpZ1NlcnZpY2UuaW5pdGlhbGl6ZSgpKTtcbiAgICAgIGNvbWJpbmVMYXRlc3Qob2JzZXJ2YWJsZUFycmF5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBPTlRJTUlaRV9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gIHsgcHJvdmlkZTogQXBwQ29uZmlnLCB1c2VGYWN0b3J5OiBhcHBDb25maWdGYWN0b3J5LCBkZXBzOiBbSW5qZWN0b3JdIH0sXG4gIE9udGltaXplU2VydmljZVByb3ZpZGVyLFxuICBTZXJ2aWNlUmVzcG9uc2VBZGFwdGVyLFxuICBTZXJ2aWNlUmVxdWVzdEFkYXB0ZXIsXG4gIE9udGltaXplQXV0aFNlcnZpY2VQcm92aWRlcixcbiAgQ29tcG9uZW50U3RhdGVTZXJ2aWNlUHJvdmlkZXIsXG4gIEV4cG9ydERhdGFTZXJ2aWNlUHJvdmlkZXIsXG4gIE9udGltaXplRXhwb3J0U2VydmljZVByb3ZpZGVyLFxuICBOYW1lQ29udmVudGlvblByb3ZpZGVyLFxuICBPbnRpbWl6ZUxvY2FsU3RvcmFnZVNlcnZpY2VQcm92aWRlcixcbiAgT1ByZWZlcmVuY2VSZXNwb25zZUFkYXB0ZXIsXG4gIC8vIGRpc2FibGVkIGdsb2JhbCByaXBwbGVcbiAgeyBwcm92aWRlOiBNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNhYmxlZDogdHJ1ZSB9IH0sXG4gIHsgcHJvdmlkZTogT19NQVRfRVJST1JfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH0sXG4gIHsgcHJvdmlkZTogT19JTlBVVFNfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH0sXG4gIHsgcHJvdmlkZTogT19KU09OX0FQSV9DT05GSUcsIHVzZVZhbHVlOiB7fSB9XG5dO1xuIl19