ontimize-web-ngx 15.6.0-next.0 → 15.6.0-next.10

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 (177) 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 +5 -4
  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 +14 -14
  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/app-config.mjs +1 -1
  42. package/esm2020/lib/config/o-providers.mjs +6 -6
  43. package/esm2020/lib/i18n/i18n.mjs +6 -3
  44. package/esm2020/lib/injection-tokens/index.mjs +19 -0
  45. package/esm2020/lib/interfaces/base-response.interface.mjs +1 -1
  46. package/esm2020/lib/interfaces/form-layout-manager.interface.mjs +1 -1
  47. package/esm2020/lib/interfaces/index.mjs +3 -1
  48. package/esm2020/lib/interfaces/jsonapi-config.interface.mjs +3 -0
  49. package/esm2020/lib/interfaces/jsonapi-response.interface.mjs +2 -1
  50. package/esm2020/lib/interfaces/o-table-column.interface.mjs +1 -1
  51. package/esm2020/lib/interfaces/service-response.interface.mjs +1 -1
  52. package/esm2020/lib/layouts/app-layout/o-app-layout-base.class.mjs +1 -1
  53. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +26 -9
  54. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -3
  55. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +2 -2
  56. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +2 -1
  57. package/esm2020/lib/services/base-data-service.class.mjs +2 -1
  58. package/esm2020/lib/services/base-service.class.mjs +3 -3
  59. package/esm2020/lib/services/factories.mjs +26 -54
  60. package/esm2020/lib/services/index.mjs +3 -2
  61. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +16 -14
  62. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +54 -23
  63. package/esm2020/lib/services/ontimize/index.mjs +1 -2
  64. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +1 -5
  65. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +2 -2
  66. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -6
  67. package/esm2020/lib/services/request-adapter/base-request-argument.adapter.mjs +12 -0
  68. package/esm2020/lib/services/request-adapter/base-request-argument.interface.mjs +2 -0
  69. package/esm2020/lib/services/request-adapter/index.mjs +5 -0
  70. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +70 -0
  71. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +19 -0
  72. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +1 -1
  73. package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
  74. package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
  75. package/esm2020/lib/services/translate/o-translate.service.mjs +8 -4
  76. package/esm2020/lib/types/config.type.mjs +1 -1
  77. package/esm2020/lib/types/form-layout-detail-component-data.type.mjs +1 -1
  78. package/esm2020/lib/types/index.mjs +1 -2
  79. package/esm2020/lib/types/service-configuration.type.mjs +1 -1
  80. package/esm2020/lib/types/table/index.mjs +2 -1
  81. package/esm2020/lib/types/table/o-column-value-filter.type.mjs +1 -1
  82. package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
  83. package/esm2020/lib/util/codes.mjs +3 -1
  84. package/esm2020/lib/util/errors.mjs +3 -9
  85. package/esm2020/lib/util/factory.util.mjs +67 -0
  86. package/esm2020/lib/util/index.mjs +3 -1
  87. package/esm2020/lib/util/injection-token.utils.mjs +4 -0
  88. package/esm2020/lib/util/preference-mapping-util.mjs +22 -7
  89. package/esm2020/lib/util/sqltypes.mjs +2 -2
  90. package/esm2020/lib/util/util.mjs +11 -38
  91. package/esm2020/public-api.mjs +2 -1
  92. package/fesm2015/ontimize-web-ngx.mjs +6801 -6332
  93. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  94. package/fesm2020/ontimize-web-ngx.mjs +6660 -6211
  95. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  96. package/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.d.ts +3 -0
  97. package/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.d.ts +1 -0
  98. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +2 -1
  99. package/lib/components/filter-builder/o-filter-builder.component.d.ts +1 -1
  100. package/lib/components/form/navigation/o-form-navigation.component.d.ts +7 -4
  101. package/lib/components/grid/skeketon/o-grid-skeleton.component.d.ts +4 -7
  102. package/lib/components/index.d.ts +1 -0
  103. package/lib/components/input/o-boolean-form-data-component.class.d.ts +1 -0
  104. package/lib/components/list/o-list.component.d.ts +5 -1
  105. package/lib/components/list/skeleton/o-list-skeleton.component.d.ts +4 -7
  106. package/lib/components/o-repeatable-skeleton.component.d.ts +9 -0
  107. package/lib/components/o-skeleton.component.d.ts +10 -5
  108. package/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.d.ts +1 -1
  109. package/lib/components/table/column/o-column.class.d.ts +2 -1
  110. package/lib/components/table/column/o-table-column.component.d.ts +2 -2
  111. package/lib/components/table/extensions/contextmenu/o-table-context-menu.component.d.ts +2 -0
  112. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +9 -6
  113. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +12 -0
  114. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  115. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +1 -1
  116. package/lib/components/table/extensions/o-table.dao.d.ts +3 -2
  117. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -10
  118. package/lib/components/table/o-table-base.class.d.ts +3 -0
  119. package/lib/components/table/o-table.component.d.ts +12 -2
  120. package/lib/components/tree/o-tree.component.d.ts +10 -1
  121. package/lib/components/user-info/o-user-info.component.d.ts +2 -1
  122. package/lib/config/app-config.d.ts +1 -1
  123. package/lib/config/o-directives.d.ts +1 -1
  124. package/lib/i18n/i18n.d.ts +3 -0
  125. package/lib/injection-tokens/index.d.ts +33 -0
  126. package/lib/interfaces/base-response.interface.d.ts +0 -2
  127. package/lib/interfaces/form-layout-manager.interface.d.ts +1 -1
  128. package/lib/interfaces/index.d.ts +2 -0
  129. package/lib/interfaces/jsonapi-config.interface.d.ts +3 -0
  130. package/lib/interfaces/jsonapi-response.interface.d.ts +47 -7
  131. package/lib/interfaces/o-table-column.interface.d.ts +2 -1
  132. package/lib/interfaces/service-response.interface.d.ts +2 -0
  133. package/lib/layouts/app-layout/o-app-layout-base.class.d.ts +1 -1
  134. package/lib/layouts/app-layout/o-app-layout.component.d.ts +7 -3
  135. package/lib/services/base-data-service.class.d.ts +1 -0
  136. package/lib/services/base-service.class.d.ts +2 -2
  137. package/lib/services/factories.d.ts +10 -31
  138. package/lib/services/index.d.ts +2 -1
  139. package/lib/services/jsonapi/jsonapi-preferences.service.d.ts +1 -1
  140. package/lib/services/jsonapi/jsonapi.service.d.ts +7 -5
  141. package/lib/services/ontimize/index.d.ts +0 -1
  142. package/lib/services/ontimize/ontimize-ee.service.d.ts +0 -1
  143. package/lib/services/{query-arguments/base-query-argument.adapter.d.ts → request-adapter/base-request-argument.adapter.d.ts} +2 -1
  144. package/lib/services/{query-arguments/base-query-argument.interface.d.ts → request-adapter/base-request-argument.interface.d.ts} +1 -1
  145. package/lib/services/request-adapter/index.d.ts +4 -0
  146. package/lib/services/request-adapter/jsonapi-request-arguments.adapter.d.ts +13 -0
  147. package/lib/services/request-adapter/ontimize-request-arguments.adapter.d.ts +8 -0
  148. package/lib/services/state/o-filter-builder-component-state.service.d.ts +1 -1
  149. package/lib/services/state/o-table-component-state.class.d.ts +3 -0
  150. package/lib/services/translate/o-translate.service.d.ts +1 -0
  151. package/lib/types/config.type.d.ts +2 -2
  152. package/lib/types/form-layout-detail-component-data.type.d.ts +1 -1
  153. package/lib/types/index.d.ts +0 -1
  154. package/lib/types/service-configuration.type.d.ts +12 -2
  155. package/lib/types/table/index.d.ts +1 -0
  156. package/lib/types/table/o-column-value-filter.type.d.ts +3 -0
  157. package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
  158. package/lib/util/codes.d.ts +3 -0
  159. package/lib/util/factory.util.d.ts +10 -0
  160. package/lib/util/index.d.ts +2 -0
  161. package/lib/util/injection-token.utils.d.ts +2 -0
  162. package/lib/util/preference-mapping-util.d.ts +22 -3
  163. package/lib/util/util.d.ts +1 -3
  164. package/package.json +1 -1
  165. package/public-api.d.ts +1 -0
  166. package/esm2020/lib/services/ontimize/o-preference-query-argument.adapter.mjs +0 -17
  167. package/esm2020/lib/services/query-arguments/base-query-argument.adapter.mjs +0 -9
  168. package/esm2020/lib/services/query-arguments/base-query-argument.interface.mjs +0 -2
  169. package/esm2020/lib/services/query-arguments/index.mjs +0 -5
  170. package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +0 -63
  171. package/esm2020/lib/services/query-arguments/ontimize-query-arguments.adapter.mjs +0 -19
  172. package/esm2020/lib/types/ontimize-service-config.type.mjs +0 -2
  173. package/lib/services/ontimize/o-preference-query-argument.adapter.d.ts +0 -7
  174. package/lib/services/query-arguments/index.d.ts +0 -4
  175. package/lib/services/query-arguments/jsonapi-query-arguments.adapter.d.ts +0 -12
  176. package/lib/services/query-arguments/ontimize-query-arguments.adapter.d.ts +0 -8
  177. 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=
@@ -93,4 +93,4 @@ export class AppConfig {
93
93
  return this._config.nameConvention || 'database';
94
94
  }
95
95
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFcEMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQVc7SUFDN0IsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQixLQUFLLEVBQUUsa0JBQWtCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztBQUV2RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBWSxNQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElB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Q0FBQyxFQUFFO1lBQzFFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDN0M7YUFBTSxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDMUU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxNQUFjLENBQUM7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7U0FDaEQ7YUFBTTtZQUNMLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgTWVudVJvb3RJdGVtIH0gZnJvbSAnLi4vdHlwZXMvbWVudS1yb290LWl0ZW0udHlwZSc7XG5pbXBvcnQgeyBPSW5wdXRzT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL28taW5wdXRzLW9wdGlvbnMudHlwZSc7XG5pbXBvcnQgeyBPUmVtb3RlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzL3JlbW90ZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmNvbnN0IERFRkFVTFRfTE9DQUxfU1RPUkFHRV9LRVkgPSB1bmRlZmluZWQ7XG5jb25zdCBERUZBVUxUX0NPTkZJRzogQ29uZmlnID0ge1xuICB1dWlkOiBERUZBVUxUX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICB0aXRsZTogJ09udGltaXplIFdlYiBBcHAnXG59O1xuXG5leHBvcnQgY29uc3QgT19JTlBVVFNfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPSW5wdXRzT3B0aW9ucz4oJ28taW5wdXRzLW9wdGlvbnMnKTtcblxuZXhwb3J0IGNvbnN0IEFQUF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnPignYXBwLmNvbmZpZycpO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcbiAgcHJpdmF0ZSBfY29uZmlnOiBDb25maWc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnPykge1xuICAgIHRoaXMuX2NvbmZpZyA9IChjb25maWcgJiYgVXRpbC5pc09iamVjdChjb25maWcpICYmICFBcnJheS5pc0FycmF5KGNvbmZpZykpID8gY29uZmlnIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlndXJhdGlvbigpOiBDb25maWcge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKERFRkFVTFRfQ09ORklHLCB0aGlzLl9jb25maWcpO1xuICB9XG5cbiAgcHVibGljIGdldFNlcnZpY2VDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zZXJ2aWNlc0NvbmZpZ3VyYXRpb24gfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVudUNvbmZpZ3VyYXRpb24oKTogTWVudVJvb3RJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuYXBwTWVudUNvbmZpZ3VyYXRpb24gfHwgW107XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQnVuZGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCdW5kbGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNCdW5kbGVDb25mID0gdGhpcy51c2VSZW1vdGVCdW5kbGUoKTtcbiAgICBpZiAoZXhpc3RzQnVuZGxlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmJ1bmRsZS5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c0J1bmRsZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldEkxOG5Bc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaTE4bikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmkxOG47XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3NzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmNzcykpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZXNBc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldEpzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmpzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuanM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkNvbmZpZygpOiBPUmVtb3RlQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZW1vdGVDb25maWc7XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQ29uZmlndXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGV4aXN0c1JlbW90ZUNvbmYgPSB0aGlzLnVzZVJlbW90ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICBpZiAoZXhpc3RzUmVtb3RlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcucmVtb3RlQ29uZmlnLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHVzZUV4cG9ydENvbmZpZ3VyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBvcnRQYXRoKCkge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNSZW1vdGVDb25mID0gdGhpcy51c2VFeHBvcnRDb25maWd1cmF0aW9uKCk7XG4gICAgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmV4cG9ydENvbmZpZ3VyYXRpb24ucGF0aCkpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5hcGlFbmRwb2ludCArICcvZXhwb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldE5hbWVDb252ZW50aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcubmFtZUNvbnZlbnRpb24gfHwgJ2RhdGFiYXNlJztcbiAgfVxufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFcEMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQVc7SUFDN0IsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQixLQUFLLEVBQUUsa0JBQWtCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztBQUV2RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBWSxNQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElB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Q0FBQyxFQUFFO1lBQzFFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDN0M7YUFBTSxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDMUU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxNQUFjLENBQUM7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7U0FDaEQ7YUFBTTtZQUNMLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgTWVudVJvb3RJdGVtIH0gZnJvbSAnLi4vdHlwZXMvbWVudS1yb290LWl0ZW0udHlwZSc7XG5pbXBvcnQgeyBPSW5wdXRzT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL28taW5wdXRzLW9wdGlvbnMudHlwZSc7XG5pbXBvcnQgeyBPUmVtb3RlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzL3JlbW90ZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmNvbnN0IERFRkFVTFRfTE9DQUxfU1RPUkFHRV9LRVkgPSB1bmRlZmluZWQ7XG5jb25zdCBERUZBVUxUX0NPTkZJRzogQ29uZmlnID0ge1xuICB1dWlkOiBERUZBVUxUX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICB0aXRsZTogJ09udGltaXplIFdlYiBBcHAnXG59O1xuXG5leHBvcnQgY29uc3QgT19JTlBVVFNfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPSW5wdXRzT3B0aW9ucz4oJ28taW5wdXRzLW9wdGlvbnMnKTtcblxuZXhwb3J0IGNvbnN0IEFQUF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnPignYXBwLmNvbmZpZycpO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnOiBDb25maWc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnPykge1xuICAgIHRoaXMuX2NvbmZpZyA9IChjb25maWcgJiYgVXRpbC5pc09iamVjdChjb25maWcpICYmICFBcnJheS5pc0FycmF5KGNvbmZpZykpID8gY29uZmlnIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlndXJhdGlvbigpOiBDb25maWcge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKERFRkFVTFRfQ09ORklHLCB0aGlzLl9jb25maWcpO1xuICB9XG5cbiAgcHVibGljIGdldFNlcnZpY2VDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zZXJ2aWNlc0NvbmZpZ3VyYXRpb24gfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVudUNvbmZpZ3VyYXRpb24oKTogTWVudVJvb3RJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuYXBwTWVudUNvbmZpZ3VyYXRpb24gfHwgW107XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQnVuZGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCdW5kbGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNCdW5kbGVDb25mID0gdGhpcy51c2VSZW1vdGVCdW5kbGUoKTtcbiAgICBpZiAoZXhpc3RzQnVuZGxlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmJ1bmRsZS5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c0J1bmRsZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldEkxOG5Bc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaTE4bikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmkxOG47XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3NzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmNzcykpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZXNBc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldEpzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmpzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuanM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkNvbmZpZygpOiBPUmVtb3RlQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZW1vdGVDb25maWc7XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQ29uZmlndXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGV4aXN0c1JlbW90ZUNvbmYgPSB0aGlzLnVzZVJlbW90ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICBpZiAoZXhpc3RzUmVtb3RlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcucmVtb3RlQ29uZmlnLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHVzZUV4cG9ydENvbmZpZ3VyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBvcnRQYXRoKCkge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNSZW1vdGVDb25mID0gdGhpcy51c2VFeHBvcnRDb25maWd1cmF0aW9uKCk7XG4gICAgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmV4cG9ydENvbmZpZ3VyYXRpb24ucGF0aCkpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5hcGlFbmRwb2ludCArICcvZXhwb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldE5hbWVDb252ZW50aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcubmFtZUNvbnZlbnRpb24gfHwgJ2RhdGFiYXNlJztcbiAgfVxufVxuIl19
@@ -5,16 +5,16 @@ 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, OntimizeServiceProvider, ServiceRequestAdapter, ServiceResponseAdapter, OntimizeLocalStorageServiceProvider } 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';
12
+ import { OPreferenceResponseAdapter } from '../services/ontimize/o-preference-response.adapter';
12
13
  import { ORemoteConfigurationService } from '../services/remote-config.service';
13
14
  import { Error403Component } from '../shared/components/error403/o-error-403.component';
14
15
  import { Codes } from '../util/codes';
15
16
  import { Util } from '../util/util';
16
- import { OPreferenceResponseAdapter } from '../services/ontimize/o-preference-response.adapter';
17
- import { OPreferenceQueryArgumentsAdapter } from '../services/ontimize/o-preference-query-argument.adapter';
17
+ import { O_JSON_API_CONFIG, O_MAT_ERROR_OPTIONS } from '../injection-tokens';
18
18
  function addPermissionsRouteGuard(injector) {
19
19
  const route = injector.get(Router);
20
20
  const exists403 = route.config.find(r => r.path === Codes.FORBIDDEN_ROUTE);
@@ -78,10 +78,10 @@ export const ONTIMIZE_PROVIDERS = [
78
78
  OntimizeExportServiceProvider,
79
79
  NameConventionProvider,
80
80
  OntimizeLocalStorageServiceProvider,
81
- OPreferenceQueryArgumentsAdapter,
82
81
  OPreferenceResponseAdapter,
83
82
  { provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: { disabled: true } },
84
83
  { provide: O_MAT_ERROR_OPTIONS, useValue: {} },
85
- { provide: O_INPUTS_OPTIONS, useValue: {} }
84
+ { provide: O_INPUTS_OPTIONS, useValue: {} },
85
+ { provide: O_JSON_API_CONFIG, useValue: {} }
86
86
  ];
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29uZmlnL28tcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZULE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FB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QUFRLEVBQUUsRUFBRSxFQUFFO0lBQzlDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExPQ0FUSU9OX0lOSVRJQUxJWkVEIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdG9yLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX1JJUFBMRV9HTE9CQUxfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnLCBPX0lOUFVUU19PUFRJT05TIH0gZnJvbSAnLi4vY29uZmlnL2FwcC1jb25maWcnO1xuaW1wb3J0IHsgYXBwQ29uZmlnRmFjdG9yeSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC1jb25maWcucHJvdmlkZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVTZXJ2aWNlUHJvdmlkZXIsIEV4cG9ydERhdGFTZXJ2aWNlUHJvdmlkZXIsIE5hbWVDb252ZW50aW9uUHJvdmlkZXIsIE9fTUFUX0VSUk9SX09QVElPTlMsIE9udGltaXplQXV0aFNlcnZpY2VQcm92aWRlciwgT250aW1pemVFeHBvcnRTZXJ2aWNlUHJvdmlkZXIsIE9udGltaXplU2VydmljZVByb3ZpZGVyLCBTZXJ2aWNlUmVxdWVzdEFkYXB0ZXIsIFNlcnZpY2VSZXNwb25zZUFkYXB0ZXIsIE9udGltaXplTG9jYWxTdG9yYWdlU2VydmljZVByb3ZpZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvZmFjdG9yaWVzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVNYXRJY29uUmVnaXN0cnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9vbnRpbWl6ZS1pY29uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVtb3RlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3I0MDNDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy9lcnJvcjQwMy9vLWVycm9yLTQwMy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT1ByZWZlcmVuY2VSZXNwb25zZUFkYXB0ZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy9vbnRpbWl6ZS9vLXByZWZlcmVuY2UtcmVzcG9uc2UuYWRhcHRlcic7XG5pbXBvcnQgeyBPUHJlZmVyZW5jZVF1ZXJ5QXJndW1lbnRzQWRhcHRlciB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplL28tcHJlZmVyZW5jZS1xdWVyeS1hcmd1bWVudC5hZGFwdGVyJztcblxuZnVuY3Rpb24gYWRkUGVybWlzc2lvbnNSb3V0ZUd1YXJkKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCByb3V0ZSA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICBjb25zdCBleGlzdHM0MDMgPSByb3V0ZS5jb25maWcuZmluZChyID0+IHIucGF0aCA9PT0gQ29kZXMuRk9SQklEREVOX1JPVVRFKTtcbiAgaWYgKCFleGlzdHM0MDMpIHtcbiAgICByb3V0ZS5jb25maWcucHVzaCh7IHBhdGg6IENvZGVzLkZPUkJJRERFTl9ST1VURSwgY29tcG9uZW50OiBFcnJvcjQwM0NvbXBvbmVudCB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwSW5pdGlhbGl6ZXJGYWN0b3J5KGluamVjdG9yOiBJbmplY3RvciwgY29uZmlnOiBDb25maWcsIG9UcmFuc2xhdGU6IE9UcmFuc2xhdGVTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICBjb25zdCBvYnNlcnZhYmxlQXJyYXkgPSBbXTtcbiAgICBjb25zdCBsb2NhdGlvbkluaXRpYWxpemVkID0gaW5qZWN0b3IuZ2V0KExPQ0FUSU9OX0lOSVRJQUxJWkVELCBQcm9taXNlLnJlc29sdmUobnVsbCkpO1xuICAgIGxvY2F0aW9uSW5pdGlhbGl6ZWQudGhlbigoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZWRMYW5nID0gb1RyYW5zbGF0ZS5nZXRTdG9yZWRMYW5ndWFnZSgpO1xuICAgICAgY29uc3QgY29uZmlnTGFuZyA9IGNvbmZpZ1snbG9jYWxlJ107XG4gICAgICBjb25zdCBicm93c2VyTGFuZyA9IG9UcmFuc2xhdGUuZ2V0QnJvd3NlckxhbmcoKTtcbiAgICAgIGxldCB1c2VyTGFuZyA9IFV0aWwuaXNEZWZpbmVkKGNvbmZpZ1snZGVmYXVsdExvY2FsZSddKSA/IGNvbmZpZ1snZGVmYXVsdExvY2FsZSddIDogJ2VuJztcbiAgICAgIGxldCBkZWZhdWx0TGFuZyA9IFV0aWwuaXNEZWZpbmVkKGNvbmZpZ1snZGVmYXVsdExvY2FsZSddKSA/IGNvbmZpZ1snZGVmYXVsdExvY2FsZSddIDogJ2VuJztcbiAgICAgIGlmIChzdG9yZWRMYW5nKSB7XG4gICAgICAgIHVzZXJMYW5nID0gc3RvcmVkTGFuZztcbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnTGFuZykge1xuICAgICAgICB1c2VyTGFuZyA9IGNvbmZpZ0xhbmc7XG4gICAgICAgIGRlZmF1bHRMYW5nID0gY29uZmlnTGFuZztcbiAgICAgIH0gZWxzZSBpZiAoYnJvd3NlckxhbmcpIHtcbiAgICAgICAgdXNlckxhbmcgPSBicm93c2VyTGFuZztcbiAgICAgICAgZGVmYXVsdExhbmcgPSBicm93c2VyTGFuZztcbiAgICAgIH1cbiAgICAgIG9UcmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoZGVmYXVsdExhbmcpO1xuXG4gICAgICBjb25zdCBsb2NhbGVzID0gbmV3IFNldChjb25maWcuYXBwbGljYXRpb25Mb2NhbGVzIHx8IFtdKTtcbiAgICAgIGxvY2FsZXMuYWRkKCdlbicpO1xuICAgICAgbG9jYWxlcy5hZGQodXNlckxhbmcpO1xuXG4gICAgICAvLyBpbml0aWFsaXplIGF2YWlsYWJsZSBsb2NhbGVzIGFycmF5IGlmIG5lZWRlZFxuICAgICAgaWYgKCFjb25maWcuYXBwbGljYXRpb25Mb2NhbGVzKSB7XG4gICAgICAgIGNvbmZpZy5hcHBsaWNhdGlvbkxvY2FsZXMgPSBbLi4ubG9jYWxlc107XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcudXVpZCA9PSBudWxsIHx8IGNvbmZpZy51dWlkID09PSAnJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdZb3VyIGFwcCBtdXN0IGhhdmUgYW4gXFwndXVpZFxcJyBwcm9wZXJ0eSBkZWZpbmVkIG9uIHlvdXIgYXBwLmNvbmZpZyBmaWxlLiBPdGhlcndpc2UsIHlvdXIgYXBwbGljYXRpb24gd2lsbCBub3Qgd29yayBjb3JyZWN0bHkuJyk7XG4gICAgICAgIGFsZXJ0KCdZb3VyIGFwcCBtdXN0IGhhdmUgYW4gXFwndXVpZFxcJyBwcm9wZXJ0eSBkZWZpbmVkIG9uIHlvdXIgYXBwLmNvbmZpZyBmaWxlLiBPdGhlcndpc2UsIHlvdXIgYXBwbGljYXRpb24gd2lsbCBub3Qgd29yayBjb3JyZWN0bHkuJyk7XG4gICAgICB9XG4gICAgICBpbmplY3Rvci5nZXQoTmF2aWdhdGlvblNlcnZpY2UpLmluaXRpYWxpemUoKTtcbiAgICAgIGluamVjdG9yLmdldChPbnRpbWl6ZU1hdEljb25SZWdpc3RyeSkuaW5pdGlhbGl6ZSgpO1xuICAgICAgaW5qZWN0b3IuZ2V0KExvY2FsU3RvcmFnZVNlcnZpY2UpLnNldEJhY2t3YXJkQ29tcGF0aWJpbGl0eSgpO1xuICAgICAgYWRkUGVybWlzc2lvbnNSb3V0ZUd1YXJkKGluamVjdG9yKTtcbiAgICAgIG9ic2VydmFibGVBcnJheS5wdXNoKG9UcmFuc2xhdGUuc2V0QXBwTGFuZyh1c2VyTGFuZykpO1xuICAgICAgY29uc3QgcmVtb3RlQ29uZmlnU2VydmljZSA9IGluamVjdG9yLmdldChPUmVtb3RlQ29uZmlndXJhdGlvblNlcnZpY2UpO1xuICAgICAgb2JzZXJ2YWJsZUFycmF5LnB1c2gocmVtb3RlQ29uZmlnU2VydmljZS5pbml0aWFsaXplKCkpO1xuICAgICAgY29tYmluZUxhdGVzdChvYnNlcnZhYmxlQXJyYXkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IE9OVElNSVpFX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgeyBwcm92aWRlOiBBcHBDb25maWcsIHVzZUZhY3Rvcnk6IGFwcENvbmZpZ0ZhY3RvcnksIGRlcHM6IFtJbmplY3Rvcl0gfSxcbiAgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIsXG4gIFNlcnZpY2VSZXNwb25zZUFkYXB0ZXIsXG4gIFNlcnZpY2VSZXF1ZXN0QWRhcHRlcixcbiAgT250aW1pemVBdXRoU2VydmljZVByb3ZpZGVyLFxuICBDb21wb25lbnRTdGF0ZVNlcnZpY2VQcm92aWRlcixcbiAgRXhwb3J0RGF0YVNlcnZpY2VQcm92aWRlcixcbiAgT250aW1pemVFeHBvcnRTZXJ2aWNlUHJvdmlkZXIsXG4gIE5hbWVDb252ZW50aW9uUHJvdmlkZXIsXG4gIE9udGltaXplTG9jYWxTdG9yYWdlU2VydmljZVByb3ZpZGVyLFxuICBPUHJlZmVyZW5jZVF1ZXJ5QXJndW1lbnRzQWRhcHRlcixcbiAgT1ByZWZlcmVuY2VSZXNwb25zZUFkYXB0ZXIsXG4gIC8vIGRpc2FibGVkIGdsb2JhbCByaXBwbGVcbiAgeyBwcm92aWRlOiBNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNhYmxlZDogdHJ1ZSB9IH0sXG4gIHsgcHJvdmlkZTogT19NQVRfRVJST1JfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH0sXG4gIHsgcHJvdmlkZTogT19JTlBVVFNfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH1cbl07XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29uZmlnL28tcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLG1DQUFtQyxFQUNuQyx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXhGLE9B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RUFBRSxFQUFFLEVBQUU7SUFDOUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUMzQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0NBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMT0NBVElPTl9JTklUSUFMSVpFRCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9SSVBQTEVfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZywgT19JTlBVVFNfT1BUSU9OUyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IGFwcENvbmZpZ0ZhY3RvcnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAtY29uZmlnLnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFN0YXRlU2VydmljZVByb3ZpZGVyLFxuICBFeHBvcnREYXRhU2VydmljZVByb3ZpZGVyLFxuICBOYW1lQ29udmVudGlvblByb3ZpZGVyLFxuICBPbnRpbWl6ZUF1dGhTZXJ2aWNlUHJvdmlkZXIsXG4gIE9udGltaXplRXhwb3J0U2VydmljZVByb3ZpZGVyLFxuICBPbnRpbWl6ZUxvY2FsU3RvcmFnZVNlcnZpY2VQcm92aWRlcixcbiAgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIsXG4gIFNlcnZpY2VSZXF1ZXN0QWRhcHRlcixcbiAgU2VydmljZVJlc3BvbnNlQWRhcHRlclxufSBmcm9tICcuLi9zZXJ2aWNlcy9mYWN0b3JpZXMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZU1hdEljb25SZWdpc3RyeSB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplLWljb24tcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBPUHJlZmVyZW5jZVJlc3BvbnNlQWRhcHRlciB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplL28tcHJlZmVyZW5jZS1yZXNwb25zZS5hZGFwdGVyJztcbmltcG9ydCB7IE9SZW1vdGVDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlbW90ZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBPVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS9vLXRyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZXJyb3I0MDMvby1lcnJvci00MDMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZy50eXBlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9fSlNPTl9BUElfQ09ORklHLCBPX01BVF9FUlJPUl9PUFRJT05TIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5cbmZ1bmN0aW9uIGFkZFBlcm1pc3Npb25zUm91dGVHdWFyZChpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgY29uc3QgZXhpc3RzNDAzID0gcm91dGUuY29uZmlnLmZpbmQociA9PiByLnBhdGggPT09IENvZGVzLkZPUkJJRERFTl9ST1VURSk7XG4gIGlmICghZXhpc3RzNDAzKSB7XG4gICAgcm91dGUuY29uZmlnLnB1c2goeyBwYXRoOiBDb2Rlcy5GT1JCSURERU5fUk9VVEUsIGNvbXBvbmVudDogRXJyb3I0MDNDb21wb25lbnQgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcEluaXRpYWxpemVyRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IsIGNvbmZpZzogQ29uZmlnLCBvVHJhbnNsYXRlOiBPVHJhbnNsYXRlU2VydmljZSkge1xuICByZXR1cm4gKCkgPT4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZTogYW55KSA9PiB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZUFycmF5ID0gW107XG4gICAgY29uc3QgbG9jYXRpb25Jbml0aWFsaXplZCA9IGluamVjdG9yLmdldChMT0NBVElPTl9JTklUSUFMSVpFRCwgUHJvbWlzZS5yZXNvbHZlKG51bGwpKTtcbiAgICBsb2NhdGlvbkluaXRpYWxpemVkLnRoZW4oKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVkTGFuZyA9IG9UcmFuc2xhdGUuZ2V0U3RvcmVkTGFuZ3VhZ2UoKTtcbiAgICAgIGNvbnN0IGNvbmZpZ0xhbmcgPSBjb25maWdbJ2xvY2FsZSddO1xuICAgICAgY29uc3QgYnJvd3NlckxhbmcgPSBvVHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCk7XG4gICAgICBsZXQgdXNlckxhbmcgPSBVdGlsLmlzRGVmaW5lZChjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSkgPyBjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSA6ICdlbic7XG4gICAgICBsZXQgZGVmYXVsdExhbmcgPSBVdGlsLmlzRGVmaW5lZChjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSkgPyBjb25maWdbJ2RlZmF1bHRMb2NhbGUnXSA6ICdlbic7XG4gICAgICBpZiAoc3RvcmVkTGFuZykge1xuICAgICAgICB1c2VyTGFuZyA9IHN0b3JlZExhbmc7XG4gICAgICB9IGVsc2UgaWYgKGNvbmZpZ0xhbmcpIHtcbiAgICAgICAgdXNlckxhbmcgPSBjb25maWdMYW5nO1xuICAgICAgICBkZWZhdWx0TGFuZyA9IGNvbmZpZ0xhbmc7XG4gICAgICB9IGVsc2UgaWYgKGJyb3dzZXJMYW5nKSB7XG4gICAgICAgIHVzZXJMYW5nID0gYnJvd3Nlckxhbmc7XG4gICAgICAgIGRlZmF1bHRMYW5nID0gYnJvd3Nlckxhbmc7XG4gICAgICB9XG4gICAgICBvVHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5nKTtcblxuICAgICAgY29uc3QgbG9jYWxlcyA9IG5ldyBTZXQoY29uZmlnLmFwcGxpY2F0aW9uTG9jYWxlcyB8fCBbXSk7XG4gICAgICBsb2NhbGVzLmFkZCgnZW4nKTtcbiAgICAgIGxvY2FsZXMuYWRkKHVzZXJMYW5nKTtcblxuICAgICAgLy8gaW5pdGlhbGl6ZSBhdmFpbGFibGUgbG9jYWxlcyBhcnJheSBpZiBuZWVkZWRcbiAgICAgIGlmICghY29uZmlnLmFwcGxpY2F0aW9uTG9jYWxlcykge1xuICAgICAgICBjb25maWcuYXBwbGljYXRpb25Mb2NhbGVzID0gWy4uLmxvY2FsZXNdO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29uZmlnLnV1aWQgPT0gbnVsbCB8fCBjb25maWcudXVpZCA9PT0gJycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignWW91ciBhcHAgbXVzdCBoYXZlIGFuIFxcJ3V1aWRcXCcgcHJvcGVydHkgZGVmaW5lZCBvbiB5b3VyIGFwcC5jb25maWcgZmlsZS4gT3RoZXJ3aXNlLCB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5LicpO1xuICAgICAgICBhbGVydCgnWW91ciBhcHAgbXVzdCBoYXZlIGFuIFxcJ3V1aWRcXCcgcHJvcGVydHkgZGVmaW5lZCBvbiB5b3VyIGFwcC5jb25maWcgZmlsZS4gT3RoZXJ3aXNlLCB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5LicpO1xuICAgICAgfVxuICAgICAgaW5qZWN0b3IuZ2V0KE5hdmlnYXRpb25TZXJ2aWNlKS5pbml0aWFsaXplKCk7XG4gICAgICBpbmplY3Rvci5nZXQoT250aW1pemVNYXRJY29uUmVnaXN0cnkpLmluaXRpYWxpemUoKTtcbiAgICAgIGluamVjdG9yLmdldChMb2NhbFN0b3JhZ2VTZXJ2aWNlKS5zZXRCYWNrd2FyZENvbXBhdGliaWxpdHkoKTtcbiAgICAgIGFkZFBlcm1pc3Npb25zUm91dGVHdWFyZChpbmplY3Rvcik7XG4gICAgICBvYnNlcnZhYmxlQXJyYXkucHVzaChvVHJhbnNsYXRlLnNldEFwcExhbmcodXNlckxhbmcpKTtcbiAgICAgIGNvbnN0IHJlbW90ZUNvbmZpZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICAgIG9ic2VydmFibGVBcnJheS5wdXNoKHJlbW90ZUNvbmZpZ1NlcnZpY2UuaW5pdGlhbGl6ZSgpKTtcbiAgICAgIGNvbWJpbmVMYXRlc3Qob2JzZXJ2YWJsZUFycmF5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBPTlRJTUlaRV9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gIHsgcHJvdmlkZTogQXBwQ29uZmlnLCB1c2VGYWN0b3J5OiBhcHBDb25maWdGYWN0b3J5LCBkZXBzOiBbSW5qZWN0b3JdIH0sXG4gIE9udGltaXplU2VydmljZVByb3ZpZGVyLFxuICBTZXJ2aWNlUmVzcG9uc2VBZGFwdGVyLFxuICBTZXJ2aWNlUmVxdWVzdEFkYXB0ZXIsXG4gIE9udGltaXplQXV0aFNlcnZpY2VQcm92aWRlcixcbiAgQ29tcG9uZW50U3RhdGVTZXJ2aWNlUHJvdmlkZXIsXG4gIEV4cG9ydERhdGFTZXJ2aWNlUHJvdmlkZXIsXG4gIE9udGltaXplRXhwb3J0U2VydmljZVByb3ZpZGVyLFxuICBOYW1lQ29udmVudGlvblByb3ZpZGVyLFxuICBPbnRpbWl6ZUxvY2FsU3RvcmFnZVNlcnZpY2VQcm92aWRlcixcbiAgT1ByZWZlcmVuY2VSZXNwb25zZUFkYXB0ZXIsXG4gIC8vIGRpc2FibGVkIGdsb2JhbCByaXBwbGVcbiAgeyBwcm92aWRlOiBNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNhYmxlZDogdHJ1ZSB9IH0sXG4gIHsgcHJvdmlkZTogT19NQVRfRVJST1JfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH0sXG4gIHsgcHJvdmlkZTogT19JTlBVVFNfT1BUSU9OUywgdXNlVmFsdWU6IHt9IH0sXG4gIHsgcHJvdmlkZTogT19KU09OX0FQSV9DT05GSUcsIHVzZVZhbHVlOiB7fSB9XG5dO1xuIl19