@magic-xpa/angular 4.1100.0-dev4110.25 → 4.1100.0-dev4110.250

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 (171) hide show
  1. package/{esm2020 → esm2022}/index.mjs +59 -59
  2. package/{esm2020 → esm2022}/magic-xpa-angular.mjs +1 -1
  3. package/esm2022/src/controls.metadata.model.mjs +183 -0
  4. package/{esm2020 → esm2022}/src/interfaces/sub-form-definition.iterface.mjs +1 -1
  5. package/{esm2020 → esm2022}/src/magic.core.module.mjs +159 -160
  6. package/{esm2020 → esm2022}/src/services/ISubformMagicService.mjs +1 -1
  7. package/esm2022/src/services/OverlayWindowService.mjs +244 -0
  8. package/esm2022/src/services/StylesMapManager.mjs +28 -0
  9. package/esm2022/src/services/accessor.magic.service.mjs +358 -0
  10. package/esm2022/src/services/commands-collector.magic.service.mjs +47 -0
  11. package/esm2022/src/services/component-list.magic.service.mjs +45 -0
  12. package/{esm2020 → esm2022}/src/services/confirmation.components.magic.provider.mjs +21 -21
  13. package/esm2022/src/services/engine.magic.service.mjs +80 -0
  14. package/{esm2020 → esm2022}/src/services/exit.magic.service.mjs +13 -13
  15. package/esm2022/src/services/magic-color.service.mjs +101 -0
  16. package/{esm2020 → esm2022}/src/services/magic.lazy.loader.service.mjs +16 -16
  17. package/{esm2020 → esm2022}/src/services/magic.providers.mjs +24 -24
  18. package/esm2022/src/services/magic.services.mjs +36 -0
  19. package/esm2022/src/services/mg-date-adapter.mjs +108 -0
  20. package/{esm2020 → esm2022}/src/services/overlay.conainer.magic.provider.mjs +14 -14
  21. package/esm2022/src/services/router-commands.magic.service.mjs +31 -0
  22. package/esm2022/src/services/subform.magic.service.mjs +194 -0
  23. package/esm2022/src/services/table.magic.service.mjs +81 -0
  24. package/esm2022/src/services/task.magics.service.mjs +637 -0
  25. package/esm2022/src/services/title.magic.service.mjs +19 -0
  26. package/esm2022/src/ui/GuiInteractiveExecutor.mjs +109 -0
  27. package/esm2022/src/ui/components/base-magic-alert.component.mjs +24 -0
  28. package/esm2022/src/ui/components/base-magic-confirm.component.mjs +24 -0
  29. package/esm2022/src/ui/components/magic-alert.component.mjs +36 -0
  30. package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +42 -0
  31. package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +58 -0
  32. package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +29 -0
  33. package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +29 -0
  34. package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +37 -0
  35. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +27 -0
  36. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +85 -0
  37. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +32 -0
  38. package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +28 -0
  39. package/esm2022/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -0
  40. package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +62 -0
  41. package/esm2022/src/ui/directives/magic-focus.directive.mjs +20 -0
  42. package/esm2022/src/ui/directives/magic.directive.mjs +229 -0
  43. package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
  44. package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +579 -0
  45. package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +60 -0
  46. package/{esm2020 → esm2022}/src/ui/magic-confirmationBox.mjs +42 -42
  47. package/{esm2020 → esm2022}/src/ui/magic-modal/base-magic-overlay-container.mjs +22 -22
  48. package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +6 -0
  49. package/{esm2020 → esm2022}/src/ui/magic-modal/magic-modal-interface.mjs +1 -1
  50. package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +124 -0
  51. package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +162 -0
  52. package/esm2022/src/ui/magic-root.component.mjs +236 -0
  53. package/esm2022/src/ui/mgerror.magic.component.mjs +125 -0
  54. package/esm2022/src/ui/pipes/date.magic.pipe.mjs +106 -0
  55. package/esm2022/src/ui/pipes/time.magic.pipe.mjs +52 -0
  56. package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +35 -0
  57. package/esm2022/src/ui/router-container.magic.component.mjs +115 -0
  58. package/{esm2020 → esm2022}/src/ui/subform.magic.component.mjs +50 -46
  59. package/esm2022/src/ui/task-base.magic.component.mjs +91 -0
  60. package/esm2022/src/ui/utils.mjs +54 -0
  61. package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4827 -4444
  62. package/fesm2022/magic-xpa-angular.mjs.map +1 -0
  63. package/index.d.ts +58 -58
  64. package/package.json +10 -16
  65. package/src/controls.metadata.model.d.ts +62 -62
  66. package/src/interfaces/sub-form-definition.iterface.d.ts +12 -12
  67. package/src/magic.core.module.d.ts +41 -41
  68. package/src/services/ISubformMagicService.d.ts +4 -4
  69. package/src/services/OverlayWindowService.d.ts +30 -25
  70. package/src/services/StylesMapManager.d.ts +5 -5
  71. package/src/services/accessor.magic.service.d.ts +69 -69
  72. package/src/services/commands-collector.magic.service.d.ts +15 -15
  73. package/src/services/component-list.magic.service.d.ts +23 -23
  74. package/src/services/confirmation.components.magic.provider.d.ts +8 -8
  75. package/src/services/engine.magic.service.d.ts +27 -27
  76. package/src/services/exit.magic.service.d.ts +6 -6
  77. package/src/services/magic-color.service.d.ts +19 -19
  78. package/src/services/magic.lazy.loader.service.d.ts +6 -6
  79. package/src/services/magic.providers.d.ts +107 -107
  80. package/src/services/magic.services.d.ts +16 -16
  81. package/src/services/mg-date-adapter.d.ts +38 -40
  82. package/src/services/overlay.conainer.magic.provider.d.ts +7 -7
  83. package/src/services/router-commands.magic.service.d.ts +17 -17
  84. package/src/services/subform.magic.service.d.ts +43 -43
  85. package/src/services/table.magic.service.d.ts +30 -30
  86. package/src/services/task.magics.service.d.ts +100 -100
  87. package/src/services/title.magic.service.d.ts +9 -9
  88. package/src/ui/GuiInteractiveExecutor.d.ts +22 -21
  89. package/src/ui/components/base-magic-alert.component.d.ts +10 -10
  90. package/src/ui/components/base-magic-confirm.component.d.ts +10 -10
  91. package/src/ui/components/magic-alert.component.d.ts +6 -6
  92. package/src/ui/components/magic-confirmation-box.component.d.ts +6 -6
  93. package/src/ui/directives/NonMagicControlDirective.d.ts +26 -26
  94. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +9 -9
  95. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +9 -9
  96. package/src/ui/directives/magic/combobox.magic.directive.d.ts +10 -10
  97. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +7 -7
  98. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +23 -17
  99. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +7 -7
  100. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +9 -9
  101. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +18 -18
  102. package/src/ui/directives/magic/row.magic.directive.d.ts +17 -17
  103. package/src/ui/directives/magic-focus.directive.d.ts +9 -9
  104. package/src/ui/directives/magic.directive.d.ts +44 -44
  105. package/src/ui/directives/magicViewContainerRef.directive.d.ts +8 -8
  106. package/src/ui/directives/mgformat.magic.directive.d.ts +38 -31
  107. package/src/ui/directives/range-validator.magic.directive.d.ts +17 -17
  108. package/src/ui/magic-confirmationBox.d.ts +6 -6
  109. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +5 -5
  110. package/src/ui/magic-modal/magic-modal-form.d.ts +5 -5
  111. package/src/ui/magic-modal/magic-modal-interface.d.ts +10 -10
  112. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +30 -31
  113. package/src/ui/magic-modal/magic-overlay-container.d.ts +24 -25
  114. package/src/ui/magic-root.component.d.ts +43 -40
  115. package/src/ui/mgerror.magic.component.d.ts +20 -20
  116. package/src/ui/pipes/date.magic.pipe.d.ts +17 -17
  117. package/src/ui/pipes/time.magic.pipe.d.ts +11 -11
  118. package/src/ui/pipes/time24.magic.pipe.d.ts +10 -10
  119. package/src/ui/router-container.magic.component.d.ts +29 -30
  120. package/src/ui/subform.magic.component.d.ts +16 -16
  121. package/src/ui/task-base.magic.component.d.ts +34 -34
  122. package/src/ui/utils.d.ts +9 -9
  123. package/esm2020/src/controls.metadata.model.mjs +0 -180
  124. package/esm2020/src/services/OverlayWindowService.mjs +0 -208
  125. package/esm2020/src/services/StylesMapManager.mjs +0 -28
  126. package/esm2020/src/services/accessor.magic.service.mjs +0 -356
  127. package/esm2020/src/services/commands-collector.magic.service.mjs +0 -46
  128. package/esm2020/src/services/component-list.magic.service.mjs +0 -46
  129. package/esm2020/src/services/engine.magic.service.mjs +0 -82
  130. package/esm2020/src/services/magic-color.service.mjs +0 -99
  131. package/esm2020/src/services/magic.services.mjs +0 -31
  132. package/esm2020/src/services/mg-date-adapter.mjs +0 -109
  133. package/esm2020/src/services/router-commands.magic.service.mjs +0 -28
  134. package/esm2020/src/services/subform.magic.service.mjs +0 -184
  135. package/esm2020/src/services/table.magic.service.mjs +0 -77
  136. package/esm2020/src/services/task.magics.service.mjs +0 -624
  137. package/esm2020/src/services/title.magic.service.mjs +0 -18
  138. package/esm2020/src/ui/GuiInteractiveExecutor.mjs +0 -98
  139. package/esm2020/src/ui/components/base-magic-alert.component.mjs +0 -23
  140. package/esm2020/src/ui/components/base-magic-confirm.component.mjs +0 -23
  141. package/esm2020/src/ui/components/magic-alert.component.mjs +0 -35
  142. package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +0 -41
  143. package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +0 -49
  144. package/esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -28
  145. package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -28
  146. package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +0 -36
  147. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
  148. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -52
  149. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
  150. package/esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -27
  151. package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +0 -193
  152. package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
  153. package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
  154. package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
  155. package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
  156. package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
  157. package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
  158. package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
  159. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
  160. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
  161. package/esm2020/src/ui/magic-root.component.mjs +0 -203
  162. package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
  163. package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
  164. package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
  165. package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
  166. package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
  167. package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
  168. package/esm2020/src/ui/utils.mjs +0 -54
  169. package/fesm2015/magic-xpa-angular.mjs +0 -4832
  170. package/fesm2015/magic-xpa-angular.mjs.map +0 -1
  171. package/fesm2020/magic-xpa-angular.mjs.map +0 -1
@@ -0,0 +1,194 @@
1
+ import { Compiler, Injectable, Injector } from '@angular/core';
2
+ import { TaskMagicService } from './task.magics.service';
3
+ import { List, isNullOrUndefined } from '@magic-xpa/mscorelib';
4
+ import { ComponentListMagicService } from './component-list.magic.service';
5
+ import { ActivatedRoute, Router } from '@angular/router';
6
+ import { CommandsCollectorMagicService } from './commands-collector.magic.service';
7
+ import { RouterCommandsMagicService } from '../services/router-commands.magic.service';
8
+ import { MagicLazyLoaderService } from './magic.lazy.loader.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./task.magics.service";
11
+ import * as i2 from "@angular/router";
12
+ import * as i3 from "./component-list.magic.service";
13
+ import * as i4 from "./commands-collector.magic.service";
14
+ import * as i5 from "../services/router-commands.magic.service";
15
+ import * as i6 from "./magic.lazy.loader.service";
16
+ export class SubformMagicService {
17
+ task;
18
+ activatedRoute;
19
+ componentList;
20
+ pendingCommandsCollector;
21
+ router;
22
+ routerCommandsMagicService;
23
+ componentListMagicService;
24
+ loader;
25
+ injector;
26
+ compiler;
27
+ subformsDict = {};
28
+ routesDict = {};
29
+ currentRouteDefinition = null;
30
+ static currentCallerMgSubformServiceRef = null;
31
+ static routerContainers = new Array();
32
+ constructor(task, activatedRoute, componentList, pendingCommandsCollector, router, routerCommandsMagicService, componentListMagicService, loader, injector, compiler) {
33
+ this.task = task;
34
+ this.activatedRoute = activatedRoute;
35
+ this.componentList = componentList;
36
+ this.pendingCommandsCollector = pendingCommandsCollector;
37
+ this.router = router;
38
+ this.routerCommandsMagicService = routerCommandsMagicService;
39
+ this.componentListMagicService = componentListMagicService;
40
+ this.loader = loader;
41
+ this.injector = injector;
42
+ this.compiler = compiler;
43
+ }
44
+ mgGetComp(subformName) {
45
+ if (subformName in this.subformsDict) {
46
+ let formName = this.subformsDict[subformName].formName;
47
+ if (formName)
48
+ return this.componentList.getComponent(formName);
49
+ }
50
+ return null;
51
+ }
52
+ mgGetParameters(subformName) {
53
+ if (subformName in this.subformsDict) {
54
+ return this.subformsDict[subformName].parameters;
55
+ }
56
+ else
57
+ return '';
58
+ }
59
+ deleteSubformComp(subformControlName, formName) {
60
+ if (Object.keys(this.subformsDict).indexOf(subformControlName) >= 0) {
61
+ if (this.subformsDict[subformControlName].formName === formName) {
62
+ this.subformsDict[subformControlName] = {};
63
+ this.task.refreshView();
64
+ }
65
+ }
66
+ }
67
+ addSubformComp(subformControlName, formName, taskId, taskDescription, routerPath, params, inDefaultOutlet) {
68
+ this.pendingCommandsCollector.startCollecting();
69
+ let refreshNeeded = false;
70
+ if (isNullOrUndefined(routerPath)) {
71
+ if (Object.keys(this.subformsDict).indexOf(subformControlName) >= 0) {
72
+ if (this.subformsDict[subformControlName].formName === formName) {
73
+ this.subformsDict[subformControlName] = {};
74
+ this.task.refreshView();
75
+ }
76
+ }
77
+ let moduleRef = this.componentListMagicService.getModuleRef(formName);
78
+ if (moduleRef == null) {
79
+ let lazyLoadModule = this.componentListMagicService.getLazyLoadModuleData(formName);
80
+ if (lazyLoadModule != null) {
81
+ let moduleName = lazyLoadModule.moduleName.replace('Magic', '');
82
+ moduleName = moduleName.replace('Module', '');
83
+ this.loader.Load(moduleName).then(m => {
84
+ const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
85
+ moduleRef = compiled.ngModuleFactory.create(this.injector);
86
+ this.subformsDict[subformControlName] = {
87
+ formName,
88
+ parameters: { taskIdParam: taskId, taskDescription: taskDescription }
89
+ };
90
+ this.task.refreshView();
91
+ });
92
+ }
93
+ }
94
+ else {
95
+ this.subformsDict[subformControlName] = {
96
+ formName,
97
+ parameters: { taskIdParam: taskId, taskDescription: taskDescription }
98
+ };
99
+ refreshNeeded = true;
100
+ }
101
+ }
102
+ else {
103
+ if (inDefaultOutlet)
104
+ subformControlName = 'primary';
105
+ let routeParams = new List();
106
+ routeParams.push(routerPath);
107
+ if (params !== null) {
108
+ routeParams = routeParams.concat(params);
109
+ }
110
+ let routeCommand = {
111
+ callerMgSubformServiceRef: this,
112
+ routerOutletName: subformControlName,
113
+ formName: formName,
114
+ parameters: { taskIdParam: taskId, taskDescription: taskDescription },
115
+ routeParams: routeParams
116
+ };
117
+ if (SubformMagicService.currentCallerMgSubformServiceRef === null)
118
+ this.ExecuteRouteCommand(routeCommand);
119
+ else
120
+ this.routerCommandsMagicService.AddRouteCommand(routeCommand);
121
+ }
122
+ if (refreshNeeded)
123
+ this.task.refreshView();
124
+ }
125
+ ExecuteRouteCommand(routeCommand) {
126
+ let currentSubformMagicService = routeCommand.callerMgSubformServiceRef;
127
+ let relativeRoute = SubformMagicService.getRelativeRoute(currentSubformMagicService.activatedRoute);
128
+ if (currentSubformMagicService.routesDict[routeCommand.routerOutletName] === routeCommand.routeParams[0]) {
129
+ currentSubformMagicService.router.navigate([{ outlets: { [routeCommand.routerOutletName]: null } }], { relativeTo: relativeRoute })
130
+ .then((result) => {
131
+ SubformMagicService.currentCallerMgSubformServiceRef = currentSubformMagicService;
132
+ currentSubformMagicService.currentRouteDefinition = {
133
+ formName: routeCommand.formName,
134
+ parameters: routeCommand.parameters
135
+ };
136
+ currentSubformMagicService.PerformRouterNavigate(routeCommand.routerOutletName, routeCommand.routeParams);
137
+ });
138
+ }
139
+ else {
140
+ SubformMagicService.currentCallerMgSubformServiceRef = currentSubformMagicService;
141
+ currentSubformMagicService.currentRouteDefinition = {
142
+ formName: routeCommand.formName,
143
+ parameters: routeCommand.parameters
144
+ };
145
+ if (SubformMagicService.routerContainers.length > 0) {
146
+ let routeContainer = SubformMagicService.routerContainers[0];
147
+ SubformMagicService.routerContainers.shift();
148
+ routeContainer.initializeComponent();
149
+ }
150
+ else {
151
+ currentSubformMagicService.PerformRouterNavigate(routeCommand.routerOutletName, routeCommand.routeParams);
152
+ }
153
+ }
154
+ }
155
+ PerformRouterNavigate(routerOutletName, routeParams) {
156
+ let relativeRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
157
+ this.router.navigate([{ outlets: { [routerOutletName]: routeParams } }], { relativeTo: relativeRoute })
158
+ .then((result) => {
159
+ if (result !== null && !result) {
160
+ let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
161
+ subformMagicService.currentRouteDefinition = null;
162
+ SubformMagicService.currentCallerMgSubformServiceRef = null;
163
+ subformMagicService.pendingCommandsCollector.stopCollecting();
164
+ subformMagicService.routerCommandsMagicService.ExecuteNextCommand();
165
+ }
166
+ });
167
+ }
168
+ init() {
169
+ const pendingCommands = this.pendingCommandsCollector.GetCommands(this.task.taskId);
170
+ if (pendingCommands.length > 0) {
171
+ pendingCommands.forEach(command => { this.task.executeCommand(command); });
172
+ this.task.refreshView();
173
+ }
174
+ this.pendingCommandsCollector.stopCollecting();
175
+ }
176
+ refreshView() {
177
+ this.task.refreshView();
178
+ }
179
+ static getRelativeRoute(sendActivatedRoute) {
180
+ let currentActiveRoute = sendActivatedRoute;
181
+ if (currentActiveRoute.snapshot.routeConfig !== null && currentActiveRoute.snapshot.routeConfig.path === '') {
182
+ currentActiveRoute = currentActiveRoute.parent;
183
+ if (!currentActiveRoute.snapshot.routeConfig.loadChildren)
184
+ console.log('getRelativeRoute(): both path and currentActiveRoute.snapshot.routeConfig.loadChildren are empty.');
185
+ }
186
+ return currentActiveRoute;
187
+ }
188
+ static ɵfac = function SubformMagicService_Factory(t) { return new (t || SubformMagicService)(i0.ɵɵinject(i1.TaskMagicService), i0.ɵɵinject(i2.ActivatedRoute), i0.ɵɵinject(i3.ComponentListMagicService), i0.ɵɵinject(i4.CommandsCollectorMagicService), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i5.RouterCommandsMagicService), i0.ɵɵinject(i3.ComponentListMagicService), i0.ɵɵinject(i6.MagicLazyLoaderService), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.Compiler)); };
189
+ static ɵprov = i0.ɵɵdefineInjectable({ token: SubformMagicService, factory: SubformMagicService.ɵfac });
190
+ }
191
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicService, [{
192
+ type: Injectable
193
+ }], () => [{ type: i1.TaskMagicService }, { type: i2.ActivatedRoute }, { type: i3.ComponentListMagicService }, { type: i4.CommandsCollectorMagicService }, { type: i2.Router }, { type: i5.RouterCommandsMagicService }, { type: i3.ComponentListMagicService }, { type: i6.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }], null); })();
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWEsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQWdCLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFVVjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRjtJQUNBO0lBQ0E7SUFDQTtJQWpCcEIsWUFBWSxHQUEyQyxFQUFFLENBQUM7SUFDMUQsVUFBVSxHQUE0QixFQUFFLENBQUM7SUFDekMsc0JBQXNCLEdBQW9CLElBQUksQ0FBQztJQUUvQyxNQUFNLENBQUMsZ0NBQWdDLEdBQVEsSUFBSSxDQUFDO0lBRXBELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBeUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUU1RSxZQUFvQixJQUFzQixFQUNwQixjQUE4QixFQUM5QixhQUF3QyxFQUN4Qyx3QkFBdUQsRUFDdkQsTUFBYyxFQUNkLDBCQUFzRCxFQUN4RCx5QkFBb0QsRUFDcEQsTUFBOEIsRUFDOUIsUUFBa0IsRUFDbEIsUUFBa0I7UUFUbEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDcEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQStCO1FBQ3ZELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3hELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsV0FBTSxHQUFOLE1BQU0sQ0FBd0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3RDLENBQUM7SUFPRCxTQUFTLENBQUMsV0FBbUI7UUFDM0IsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQy9ELElBQUksUUFBUTtnQkFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFPRCxlQUFlLENBQUMsV0FBbUI7UUFDakMsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkQsQ0FBQzs7WUFFQyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFLRCxpQkFBaUIsQ0FBRSxrQkFBMEIsRUFBRSxRQUFnQjtRQUUzRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFDbkUsQ0FBQztZQUNDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFFbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztJQUNMLENBQUM7SUFLRCxjQUFjLENBQUUsa0JBQTBCLEVBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsZUFBb0IsRUFBRSxVQUFrQixFQUFFLE1BQWlCLEVBQUUsZUFBd0I7UUFDakssSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRWhELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQ25FLENBQUM7Z0JBQ0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUVoRSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQztZQUdELElBQUksU0FBUyxHQUFxQixJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXhGLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN0QixJQUFJLGNBQWMsR0FBZSxJQUFJLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWhHLElBQUksY0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUUzQixJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2hFLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxDQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzt3QkFDcEcsU0FBUyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHOzRCQUN0QyxRQUFROzRCQUNSLFVBQVUsRUFBRSxFQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQzt5QkFDcEUsQ0FBQzt3QkFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0gsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsR0FBRztvQkFDdEMsUUFBUTtvQkFDUixVQUFVLEVBQUUsRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUM7aUJBQ3BFLENBQUM7Z0JBRUYsYUFBYSxHQUFHLElBQUksQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLGVBQWU7Z0JBQ2pCLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUVqQyxJQUFJLFdBQVcsR0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLFdBQVcsR0FBYyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFFRCxJQUFJLFlBQVksR0FBaUI7Z0JBQy9CLHlCQUF5QixFQUFFLElBQUk7Z0JBQy9CLGdCQUFnQixFQUFFLGtCQUFrQjtnQkFDcEMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFVBQVUsRUFBRSxFQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQztnQkFDbkUsV0FBVyxFQUFFLFdBQVc7YUFDekIsQ0FBQztZQU1KLElBQUksbUJBQW1CLENBQUMsZ0NBQWdDLEtBQUssSUFBSTtnQkFDN0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDOztnQkFFdkMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSyxhQUFhO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUtELG1CQUFtQixDQUFDLFlBQTBCO1FBRTVDLElBQUksMEJBQTBCLEdBQTZDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztRQUNsSCxJQUFJLGFBQWEsR0FBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRyxJQUFJLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUN4RyxDQUFDO1lBR0MsMEJBQTBCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsYUFBYSxFQUFDLENBQUM7aUJBQzFILElBQUksQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO2dCQUN2QixtQkFBbUIsQ0FBQyxnQ0FBZ0MsR0FBRywwQkFBMEIsQ0FBQztnQkFDbEYsMEJBQTBCLENBQUMsc0JBQXNCLEdBQUc7b0JBQ2xELFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtvQkFDL0IsVUFBVSxFQUFFLFlBQVksQ0FBQyxVQUFVO2lCQUNwQyxDQUFDO2dCQUVGLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQ0ksQ0FBQztZQUNKLG1CQUFtQixDQUFDLGdDQUFnQyxHQUFHLDBCQUEwQixDQUFDO1lBQ2xGLDBCQUEwQixDQUFDLHNCQUFzQixHQUFHO2dCQUNsRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7Z0JBQy9CLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTthQUNwQyxDQUFDO1lBRUYsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksY0FBYyxHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0MsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdkMsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUcsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsZ0JBQXdCLEVBQUUsV0FBc0I7UUFFNUUsSUFBSSxhQUFhLEdBQUksbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDO2FBQ3BHLElBQUksQ0FBQyxDQUFDLE1BQWMsRUFBQyxFQUFFO1lBQ3BCLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixJQUFJLG1CQUFtQixHQUF3QixtQkFBbUIsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDcEcsbUJBQW1CLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUVsRCxtQkFBbUIsQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7Z0JBQzVELG1CQUFtQixDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM5RCxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7SUFLRCxJQUFJO1FBSUYsTUFBTSxlQUFlLEdBQWlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFLRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBS0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQztRQUN4RCxJQUFJLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzVDLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUcsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1lBQy9DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVk7Z0JBQ3ZELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUdBQW1HLENBQUMsQ0FBQztRQUNySCxDQUFDO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDOzZFQTNPVSxtQkFBbUI7a0RBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBpbGVyLCBDb21wb25lbnQsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4vdGFzay5tYWdpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0LCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcbmltcG9ydCB7IEd1aUNvbW1hbmQgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XG5pbXBvcnQge0NvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGF9IGZyb20gJy4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZURlZmluaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3N1Yi1mb3JtLWRlZmluaXRpb24uaXRlcmZhY2UnO1xuaW1wb3J0IHsgUm91dGVDb21tYW5kLCBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcbmltcG9ydCB7IElTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9JU3ViZm9ybU1hZ2ljU2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCB9IGZyb20gJy4uL3VpL3JvdXRlci1jb250YWluZXIubWFnaWMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2UnO1xuXG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgc3ViZm9ybXMgYW5kIHJvdXRpbmdcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY1NlcnZpY2UgaW1wbGVtZW50cyBJU3ViZm9ybU1hZ2ljU2VydmljZXtcblxuICBzdWJmb3Jtc0RpY3QgLyo6eyBbeDogc3RyaW5nXTogU3ViZm9ybURlZmluaXRpb24gfSovID0ge307XG4gIHJvdXRlc0RpY3Q6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge307IC8vIGRpY3Rpb25hcnkgb2Ygcm91dGVyIG91dGxldCB0byByb3V0ZXIgcGF0aFxuICBjdXJyZW50Um91dGVEZWZpbml0aW9uOiBSb3V0ZURlZmluaXRpb24gPSBudWxsO1xuXG4gIHN0YXRpYyBjdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogYW55ID0gbnVsbDtcblxuICBzdGF0aWMgcm91dGVyQ29udGFpbmVyczogQXJyYXk8Um91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQ+ID0gbmV3IEFycmF5KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlOiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvYWRlcjogTWFnaWNMYXp5TG9hZGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyKSB7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gdGhlIHN1YmZvcm0gbmFtZVxuICAgKiBAcGFyYW0gc3ViZm9ybU5hbWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIG1nR2V0Q29tcChzdWJmb3JtTmFtZTogc3RyaW5nKTogQ29tcG9uZW50IHtcbiAgICBpZiAoc3ViZm9ybU5hbWUgaW4gdGhpcy5zdWJmb3Jtc0RpY3QpIHtcbiAgICAgIGxldCBmb3JtTmFtZTogc3RyaW5nID0gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLmZvcm1OYW1lO1xuICAgICAgaWYgKGZvcm1OYW1lKVxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHN1YmZvcm1cbiAgICogQHBhcmFtIHN1YmZvcm1OYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBtZ0dldFBhcmFtZXRlcnMoc3ViZm9ybU5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHN1YmZvcm1OYW1lIGluIHRoaXMuc3ViZm9ybXNEaWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLnBhcmFtZXRlcnM7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBkZWxldGVTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcpICB7XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnN1YmZvcm1zRGljdCkuaW5kZXhPZihzdWJmb3JtQ29udHJvbE5hbWUpID49IDApXG4gICAgICB7XG4gICAgICAgIGlmICh0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdLmZvcm1OYW1lID09PSBmb3JtTmFtZSkge1xuXG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhZGRTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nLCB0YXNrRGVzY3JpcHRpb246IGFueSwgcm91dGVyUGF0aDogc3RyaW5nLCBwYXJhbXM6IExpc3Q8YW55PiwgaW5EZWZhdWx0T3V0bGV0OiBib29sZWFuKSAge1xuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0YXJ0Q29sbGVjdGluZygpO1xuXG4gICAgbGV0IHJlZnJlc2hOZWVkZWQgPSBmYWxzZTtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocm91dGVyUGF0aCkpIHsgLy8gY2FsbCBpbiBkZXN0aW5hdGlvbiBzdWJmb3JtXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5zdWJmb3Jtc0RpY3QpLmluZGV4T2Yoc3ViZm9ybUNvbnRyb2xOYW1lKSA+PSAwKVxuICAgICAge1xuICAgICAgICBpZiAodGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXS5mb3JtTmFtZSA9PT0gZm9ybU5hbWUpIHtcblxuICAgICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgICB0aGlzLnRhc2sucmVmcmVzaFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMb2FkIHRoZSBsYXp5IGxvYWQgbW9kdWxlLCBpZiBuZWVkZWRcbiAgICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UuZ2V0TW9kdWxlUmVmKGZvcm1OYW1lKTtcblxuICAgICAgaWYgKG1vZHVsZVJlZiA9PSBudWxsKSB7XG4gICAgICAgIGxldCBsYXp5TG9hZE1vZHVsZTogTW9kdWxlRGF0YSA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRMYXp5TG9hZE1vZHVsZURhdGEoZm9ybU5hbWUpO1xuXG4gICAgICAgIGlmIChsYXp5TG9hZE1vZHVsZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gZXh0cmFjdCBuYW1lIG9mIG1vZHVsZShYWCkgZnJvbSAnTWFnaWNYWE1vZHVsZSdcbiAgICAgICAgICBsZXQgbW9kdWxlTmFtZSA9IGxhenlMb2FkTW9kdWxlLm1vZHVsZU5hbWUucmVwbGFjZSgnTWFnaWMnLCAnJyk7XG4gICAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZSgnTW9kdWxlJywgJycpO1xuICAgICAgICAgIHRoaXMubG9hZGVyLkxvYWQobW9kdWxlTmFtZSkudGhlbiggbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21waWxlZCA9IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKDxhbnk+bVtsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lXSk7XG4gICAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICB0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdID0ge1xuICAgICAgICAgICAgICAgIGZvcm1OYW1lLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7XG4gICAgICAgICAgZm9ybU5hbWUsXG4gICAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufVxuICAgICAgICB9O1xuICAgICAgICAvL3RoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgcmVmcmVzaE5lZWRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgeyAvLyBjYWxsIHJvdXRlXG4gICAgICBpZiAoaW5EZWZhdWx0T3V0bGV0KVxuICAgICAgICBzdWJmb3JtQ29udHJvbE5hbWUgPSAncHJpbWFyeSc7XG5cbiAgICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gbmV3IExpc3QoKTtcbiAgICAgIHJvdXRlUGFyYW1zLnB1c2gocm91dGVyUGF0aCk7XG4gICAgICBpZiAocGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgIHJvdXRlUGFyYW1zID0gPExpc3Q8YW55Pj5yb3V0ZVBhcmFtcy5jb25jYXQocGFyYW1zKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kID0ge1xuICAgICAgICBjYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmOiB0aGlzLFxuICAgICAgICByb3V0ZXJPdXRsZXROYW1lOiBzdWJmb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcbiAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufSxcbiAgICAgICAgcm91dGVQYXJhbXM6IHJvdXRlUGFyYW1zXG4gICAgICB9O1xuXG4gICAgICAvLyBJZiBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmICE9PSBudWxsIG1lYW5zIHRoYXQgcm91dGVyLm5hdmlnYXRlKCkgaXMgYWxyZWFkeVxuICAgICAgLy8gY2FsbGVkIG9uY2UsIGJ1dCBhbmd1bGFyIGhhcyBub3QgeWV0IGV4ZWN1dGVkIGl0IChuZ09uSW5pdCBvZiB0aGUgbmV3IGNvbXBvbmVudCBpcyBub3QgY2FsbGVkKS5cbiAgICAgIC8vIEluIHN1Y2ggYSBjYXNlLCBkbyBub3QgZXhlY3V0ZWQgcm91dGVyLm5hdmlnYXRlKCkgYWdhaW4uIEJlY2F1c2UsIGFuZ3VsYXIgaWdub3JlcyB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgLy8gU28sIHB1dCBhIGNvbW1hbmQgaW4gdGhlIHF1ZXVlIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGZpcnN0IG9uZSBpcyBleGVjdXRlZC5cbiAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9PT0gbnVsbClcbiAgICAgICAgdGhpcy5FeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuQWRkUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgfVxuICAgIGlmICggcmVmcmVzaE5lZWRlZClcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHN1YmZvcm0gdXNpbmcgYSByb3V0ZSBjb21tYW5kXG4gICAqL1xuICBFeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kKVxuICB7XG4gICAgbGV0IGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gPFN1YmZvcm1NYWdpY1NlcnZpY2U+cm91dGVDb21tYW5kLmNhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XG4gICAgbGV0IHJlbGF0aXZlUm91dGUgPSAgU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmFjdGl2YXRlZFJvdXRlKTtcblxuICAgIGlmIChjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W3JvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lXSA9PT0gcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zWzBdKVxuICAgIHtcbiAgICAgIC8vIElmIHRoZSBzcGVjaWZpZWQgcm91dGVyIG91dGxldCBhbHJlYWR5IGhvc3RzIHRoZSBzYW1lIHJvdXRlciBwYXRoLCByb3V0ZXIubmF2aWdhdGUoKSBkb2Vzbid0IGFjdHVhbGx5IG5hdmlnYXRlLlxuICAgICAgLy8gU28sIGZpcnN0IGNsZWFyIHRoZSBvdXRsZXQgKHBhc3NpbmcgbnVsbCByb3V0ZSBwYXJhbXMsIGNsZWFycyB0aGUgb3V0bGV0KSBhbmQgdGhlbiBuYXZpZ2F0ZSBhZ2Fpbi5cbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHtbcm91dGVDb21tYW5kLnJvdXRlck91dGxldE5hbWVdOiBudWxsfX1dLCB7cmVsYXRpdmVUbzogcmVsYXRpdmVSb3V0ZX0pXG4gICAgICAgIC50aGVuKChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0ge1xuICAgICAgICAgICAgZm9ybU5hbWU6IHJvdXRlQ29tbWFuZC5mb3JtTmFtZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24gPSB7XG4gICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXG4gICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICB9O1xuXG4gICAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IHJvdXRlQ29udGFpbmVyID0gU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzWzBdO1xuICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlckNvbnRhaW5lcnMuc2hpZnQoKTtcbiAgICAgICAgcm91dGVDb250YWluZXIuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIFBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZXJPdXRsZXROYW1lOiBzdHJpbmcsIHJvdXRlUGFyYW1zOiBMaXN0PGFueT4pXG4gIHtcbiAgICBsZXQgcmVsYXRpdmVSb3V0ZSA9ICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IFtyb3V0ZXJPdXRsZXROYW1lXTogcm91dGVQYXJhbXMgfSB9XSwgeyByZWxhdGl2ZVRvOiByZWxhdGl2ZVJvdXRlIH0pXG4gICAgICAudGhlbigocmVzdWx0OmJvb2xlYW4pPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwgJiYgIXJlc3VsdCkge1xuICAgICAgICAgICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0gbnVsbDtcblxuICAgICAgICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IG51bGw7XG4gICAgICAgICAgICBzdWJmb3JtTWFnaWNTZXJ2aWNlLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdG9wQ29sbGVjdGluZygpO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaW5pdCgpXG4gIHtcbiAgICAvLyBJZiBjb21tYW5kcyB3ZXJlIGlzc3VlZCBmb3IgdGhpcyB0YXNrIGJlZm9yZSBuZ09uSW5pdCgpLCB0aGV5IHdlcmUgbm90IGV4ZWN1dGVkIGJlY2F1c2UgdGFzayBoYWQgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZW0uXG4gICAgLy8gU28sIGV4ZWN1dGUgdGhlbSBub3cuXG4gICAgY29uc3QgcGVuZGluZ0NvbW1hbmRzOiBHdWlDb21tYW5kW10gPSB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5HZXRDb21tYW5kcyh0aGlzLnRhc2sudGFza0lkKTtcbiAgICBpZiAocGVuZGluZ0NvbW1hbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21tYW5kcy5mb3JFYWNoKGNvbW1hbmQgPT4ge3RoaXMudGFzay5leGVjdXRlQ29tbWFuZChjb21tYW5kKTt9KTtcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0b3BDb2xsZWN0aW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVmcmVzaFZpZXcoKSB7XG4gICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gIH1cblxuICAvLy9cbiAgLy8gcmV0dXJuIHRoZSByZWxhdGl2ZSByb3V0ZVxuICAvL1xuICBzdGF0aWMgZ2V0UmVsYXRpdmVSb3V0ZShzZW5kQWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gc2VuZEFjdGl2YXRlZFJvdXRlO1xuICAgIGlmIChjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcgIT09IG51bGwgJiYgY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGggPT09ICcnKSB7XG4gICAgICBjdXJyZW50QWN0aXZlUm91dGUgPSBjdXJyZW50QWN0aXZlUm91dGUucGFyZW50O1xuICAgICAgaWYgKCFjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcubG9hZENoaWxkcmVuKVxuICAgICAgICBjb25zb2xlLmxvZygnZ2V0UmVsYXRpdmVSb3V0ZSgpOiBib3RoIHBhdGggYW5kIGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4gYXJlIGVtcHR5LicpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudEFjdGl2ZVJvdXRlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TaskMagicService } from "./task.magics.service";
3
+ import { ComponentListMagicService } from "./component-list.magic.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./component-list.magic.service";
6
+ import * as i2 from "./task.magics.service";
7
+ export class TableMagicService {
8
+ componentList;
9
+ task;
10
+ selectedItem;
11
+ chunkSize;
12
+ constructor(componentList, task) {
13
+ this.componentList = componentList;
14
+ this.task = task;
15
+ }
16
+ shouldOpenFieldTextEditor = true;
17
+ refreshDataSource() {
18
+ }
19
+ getPageSize() {
20
+ return this.chunkSize;
21
+ }
22
+ setChunkSize(size) {
23
+ this.chunkSize = size;
24
+ }
25
+ getMaxRowsInTable() {
26
+ return this.task.Records.list.length;
27
+ }
28
+ selectRow(rowId) {
29
+ this.selectedItem = rowId;
30
+ }
31
+ getSelectedRow() {
32
+ return this.selectedItem;
33
+ }
34
+ selectedRow() {
35
+ return null;
36
+ }
37
+ selectPage(pageId) {
38
+ }
39
+ OpenDialogForControl(element) {
40
+ if (element.tagName === "MAT-SELECT" || element.tagName === "MAT-CHECKBOX" ||
41
+ element.tagName === "INPUT" ||
42
+ element.tagName === "SELECT")
43
+ return false;
44
+ return true;
45
+ }
46
+ getDialog() {
47
+ return null;
48
+ }
49
+ onScrollDown() {
50
+ this.task.onScrollDown();
51
+ }
52
+ sortData(e) { }
53
+ mgOnPaginateChange(e, changeSelectedRow) { }
54
+ mgOptionChanged(e) { }
55
+ updateTableSize(size) {
56
+ if (size === 0) {
57
+ size = 1;
58
+ this.task.Records.clearFirstTableRecord(this.task.template);
59
+ }
60
+ this.task.formGroups.length = size;
61
+ this.task.Records.updateSize(size);
62
+ this.task.setIncludesFirst(false);
63
+ }
64
+ setTableTopIndex(value) {
65
+ if (!this.task.Records.includesFirst)
66
+ value++;
67
+ this.task.Records.setGuiTopIndex(value);
68
+ }
69
+ getTableTopIndex() {
70
+ let topIndex = this.task.Records.getGuiTopIndex();
71
+ if (!this.task.Records.includesFirst)
72
+ topIndex--;
73
+ return topIndex;
74
+ }
75
+ static ɵfac = function TableMagicService_Factory(t) { return new (t || TableMagicService)(i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.TaskMagicService)); };
76
+ static ɵprov = i0.ɵɵdefineInjectable({ token: TableMagicService, factory: TableMagicService.ɵfac });
77
+ }
78
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableMagicService, [{
79
+ type: Injectable
80
+ }], () => [{ type: i1.ComponentListMagicService }, { type: i2.TaskMagicService }], null); })();
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL3RhYmxlLm1hZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQU0zRSxNQUFNLE9BQU8saUJBQWlCO0lBVUo7SUFBb0Q7SUFSNUUsWUFBWSxDQUFPO0lBQ1gsU0FBUyxDQUFTO0lBTzFCLFlBQXdCLGFBQXdDLEVBQVksSUFBc0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBa0I7SUFDakcsQ0FBQztJQUVNLHlCQUF5QixHQUFZLElBQUksQ0FBQztJQUtsRCxpQkFBaUI7SUFDakIsQ0FBQztJQU1ELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFLRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQU1ELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFLRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQsVUFBVSxDQUFDLE1BQWM7SUFDekIsQ0FBQztJQU9ELG9CQUFvQixDQUFDLE9BQW9CO1FBRXZDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxZQUFZLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxjQUFjO1lBQ3RFLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTztZQUMzQixPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVE7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUtELFFBQVEsQ0FBQyxDQUFDLElBQUUsQ0FBQztJQUtiLGtCQUFrQixDQUFDLENBQUMsRUFBRSxpQkFBMkIsSUFBRSxDQUFDO0lBRXBELGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQU10QixlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQ2QsQ0FBQztZQUNDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFLRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRVYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFLRCxnQkFBZ0I7UUFFZCxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUNsQyxRQUFRLEVBQUUsQ0FBQztRQUViLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7MkVBL0lVLGlCQUFpQjtrREFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjs7aUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gXCIuL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlXCI7XG5cbi8qKlxuICogSW1wbGVtZW50cyB2YXJpb3VzIHRhYmxlLXJlbGF0ZWQgZnVuY3Rpb25hbGl0aWVzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZU1hZ2ljU2VydmljZSB7XG5cbiAgc2VsZWN0ZWRJdGVtIDogYW55O1xuICBwcml2YXRlIGNodW5rU2l6ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50TGlzdCBDb21wb25lbnQtbWFwcGluZyBzZXJ2aWNlXG4gICAqIEBwYXJhbSB0YXNrIE1hZ2ljIHRhc2sgc2VydmljZVxuICAgKi9cbiAgY29uc3RydWN0b3IoICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSwgcHJvdGVjdGVkIHRhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcbiAgIH1cblxuICAgcHVibGljIHNob3VsZE9wZW5GaWVsZFRleHRFZGl0b3I6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIERhdGFTb3VyY2VcbiAgICovXG4gIHJlZnJlc2hEYXRhU291cmNlKCk6IHZvaWQge1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRhYmxlIHBhZ2Ugc2l6ZVxuICAgKiBjaHVua1NpemUgYXMgZGVmYXVsdCB2YWx1ZSBmb3Igbm9uLXBhZ2luYXRlZCB0YWJsZXMuXG4gICAqL1xuICBnZXRQYWdlU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNodW5rU2l6ZTtcbiAgfVxuXG4gIHNldENodW5rU2l6ZShzaXplOiBudW1iZXIpOiB2b2lke1xuICAgIHRoaXMuY2h1bmtTaXplID0gc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG1heCBubyBvZiByb3dzIGluIHRoZSB0YWJsZS5cbiAgICovXG4gIGdldE1heFJvd3NJblRhYmxlKCk6IG51bWJlcntcbiAgICByZXR1cm4gdGhpcy50YXNrLlJlY29yZHMubGlzdC5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgc3BlY2lmaWVkIHJvd1xuICAgKiBAcGFyYW0gcm93SWQgVGhlIHJvdyB0byBzZWxlY3RcbiAgICovXG4gIHNlbGVjdFJvdyhyb3dJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSByb3dJZDtcbiAgfVxuXG4gIGdldFNlbGVjdGVkUm93KCkgOiBhbnl7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNlbGVjdGVkIHJvd1xuICAgKi9cbiAgc2VsZWN0ZWRSb3coKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBzcGVjaWZpZWQgcGFnZVxuICAgKiBAcGFyYW0gIHBhZ2VJZCBUaGUgcGFnZSB0byBzZWxlY3RcbiAgICovXG4gIHNlbGVjdFBhZ2UocGFnZUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgYSBkaWFsb2cgc2hvdWxkIGJlIG9wZW5lZCBmb3IgdGhlIEhUTUwgZWxlbWVudFxuICAgKiBAcGFyYW0gIGVsZW1lbnQgVGhlIEhUTUwgZWxlbWVudCBmb3Igd2hpY2ggYSBkaWFsb2cgbWF5IGJlIG5lZWRlZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgT3BlbkRpYWxvZ0ZvckNvbnRyb2woZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuXG4gIHtcbiAgICBpZiAoZWxlbWVudC50YWdOYW1lID09PSBcIk1BVC1TRUxFQ1RcIiB8fCBlbGVtZW50LnRhZ05hbWUgPT09IFwiTUFULUNIRUNLQk9YXCIgfHxcbiAgICAgICAgZWxlbWVudC50YWdOYW1lID09PSBcIklOUFVUXCIgfHxcbiAgICAgICAgZWxlbWVudC50YWdOYW1lID09PSBcIlNFTEVDVFwiKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRpYWxvZyB1c2VkIHRvIGVkaXQgdmFsdWVzXG4gICAqL1xuICBnZXREaWFsb2coKTogYW55ICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgdGFibGUgXCJzY3JvbGxlZFwiIGV2ZW50XG4gICAqL1xuICBvblNjcm9sbERvd24oKSB7XG4gICAgdGhpcy50YXNrLm9uU2Nyb2xsRG93bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvIGJlIG92ZXJ3aXR0ZW4gaW4gc3BlY2lmaWMgaW1wbGVsZW10YXRpb25zXG4gICAqL1xuICBzb3J0RGF0YShlKXt9XG5cbiAgLyoqXG4gICAqIFRvIGJlIG92ZXJ3aXR0ZW4gaW4gc3BlY2lmaWMgaW1wbGVsZW10YXRpb25zXG4gICAqL1xuICBtZ09uUGFnaW5hdGVDaGFuZ2UoZSwgY2hhbmdlU2VsZWN0ZWRSb3c/OiBib29sZWFuKXt9XG5cbiAgbWdPcHRpb25DaGFuZ2VkKGUpIHsgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIG51bWJlciBvZiBsaW5lcyBpbiBhIHRhYmxlXG4gICAqIEBwYXJhbSAgc2l6ZSBOZXcgbnVtYmVyIG9mIGxpbmVzIGluIHRhYmxlXG4gICAqL1xuICB1cGRhdGVUYWJsZVNpemUoc2l6ZTogbnVtYmVyKSB7XG4gICAgaWYgKHNpemUgPT09IDApIC8vIG5ldmVyIHJlbW92ZSByb3cgMCBmb3Igbm93XG4gICAge1xuICAgICAgc2l6ZSA9IDE7XG4gICAgICB0aGlzLnRhc2suUmVjb3Jkcy5jbGVhckZpcnN0VGFibGVSZWNvcmQodGhpcy50YXNrLnRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhc2suZm9ybUdyb3Vwcy5sZW5ndGggPSBzaXplO1xuICAgIHRoaXMudGFzay5SZWNvcmRzLnVwZGF0ZVNpemUoc2l6ZSk7XG4gICAgdGhpcy50YXNrLnNldEluY2x1ZGVzRmlyc3QoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHNldFRhYmxlVG9wSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdGhpcy50YXNrLlJlY29yZHMuaW5jbHVkZXNGaXJzdClcbiAgICAgIHZhbHVlKys7XG5cbiAgICB0aGlzLnRhc2suUmVjb3Jkcy5zZXRHdWlUb3BJbmRleCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgZ2V0VGFibGVUb3BJbmRleCgpOm51bWJlclxuICB7XG4gICAgbGV0IHRvcEluZGV4OiBudW1iZXIgPSB0aGlzLnRhc2suUmVjb3Jkcy5nZXRHdWlUb3BJbmRleCgpO1xuXG4gICAgaWYgKCF0aGlzLnRhc2suUmVjb3Jkcy5pbmNsdWRlc0ZpcnN0KVxuICAgICAgdG9wSW5kZXgtLTtcblxuICAgIHJldHVybiB0b3BJbmRleDtcbiAgfVxufVxuXG4iXX0=