@ts-core/angular 15.0.1 → 15.0.3

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 (173) hide show
  1. package/VICommonModule.d.ts +10 -13
  2. package/application/ApplicationComponent.d.ts +1 -3
  3. package/directive/ResizeDirective.d.ts +2 -2
  4. package/directive/SelectOnFocusDirective.d.ts +1 -1
  5. package/esm2020/VICommonModule.mjs +4 -14
  6. package/esm2020/application/ApplicationComponent.mjs +2 -3
  7. package/esm2020/application/MessageBaseComponent.mjs +1 -1
  8. package/esm2020/directive/AutoScrollBottomDirective.mjs +2 -2
  9. package/esm2020/directive/ResizeDirective.mjs +5 -5
  10. package/esm2020/directive/SelectOnFocusDirective.mjs +2 -2
  11. package/esm2020/language/LanguageModule.mjs +1 -8
  12. package/esm2020/manager/ResizeManager.mjs +3 -11
  13. package/esm2020/pipe/CamelCasePipe.mjs +4 -12
  14. package/esm2020/pipe/StartCasePipe.mjs +4 -5
  15. package/esm2020/pipe/TimePipe.mjs +3 -2
  16. package/esm2020/pipe/TruncatePipe.mjs +3 -5
  17. package/esm2020/public-api.mjs +1 -68
  18. package/esm2020/service/PipeBaseService.mjs +1 -1
  19. package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
  20. package/esm2020/theme/ThemeStyleDirective.mjs +2 -2
  21. package/esm2020/util/ViewUtil.mjs +1 -1
  22. package/fesm2015/ts-core-angular.mjs +3091 -7551
  23. package/fesm2015/ts-core-angular.mjs.map +1 -1
  24. package/fesm2020/ts-core-angular.mjs +3057 -7515
  25. package/fesm2020/ts-core-angular.mjs.map +1 -1
  26. package/htdocs/common.js +3 -3
  27. package/manager/ResizeManager.d.ts +1 -1
  28. package/package.json +3 -10
  29. package/pipe/CamelCasePipe.d.ts +0 -1
  30. package/public-api.d.ts +0 -60
  31. package/style/_core.scss +120 -0
  32. package/style/_filter.scss +14 -0
  33. package/style/_mouse.scss +27 -0
  34. package/style/_scroll.scss +20 -0
  35. package/style/_text.scss +20 -0
  36. package/application/ShellBaseComponent.d.ts +0 -20
  37. package/bottomSheet/BottomSheetImpl.d.ts +0 -77
  38. package/bottomSheet/BottomSheetModule.d.ts +0 -13
  39. package/bottomSheet/BottomSheetService.d.ts +0 -31
  40. package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -13
  41. package/component/VIComponentModule.d.ts +0 -33
  42. package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
  43. package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
  44. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
  45. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
  46. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
  47. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
  48. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
  49. package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
  50. package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
  51. package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
  52. package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
  53. package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
  54. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
  55. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
  56. package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
  57. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
  58. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
  59. package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
  60. package/component/language/language-selector/language-selector.component.d.ts +0 -19
  61. package/component/menu-list/menu-list.component.d.ts +0 -9
  62. package/component/select-list/select-list.component.d.ts +0 -9
  63. package/component/tab-group/tab-group.component.d.ts +0 -16
  64. package/directive/MenuTriggerForDirective.d.ts +0 -11
  65. package/error/WindowClosedError.d.ts +0 -6
  66. package/esm2020/application/ShellBaseComponent.mjs +0 -78
  67. package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -273
  68. package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
  69. package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
  70. package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -59
  71. package/esm2020/component/VIComponentModule.mjs +0 -117
  72. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
  73. package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
  74. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
  75. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
  76. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
  77. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
  78. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
  79. package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
  80. package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
  81. package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
  82. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
  83. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
  84. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
  85. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
  86. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
  87. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
  88. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
  89. package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
  90. package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
  91. package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
  92. package/esm2020/component/select-list/select-list.component.mjs +0 -16
  93. package/esm2020/component/tab-group/tab-group.component.mjs +0 -71
  94. package/esm2020/directive/MenuTriggerForDirective.mjs +0 -53
  95. package/esm2020/error/WindowClosedError.mjs +0 -19
  96. package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -62
  97. package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
  98. package/esm2020/notification/INotification.mjs +0 -7
  99. package/esm2020/notification/INotificationContent.mjs +0 -132
  100. package/esm2020/notification/NotificationConfig.mjs +0 -16
  101. package/esm2020/notification/NotificationFactory.mjs +0 -19
  102. package/esm2020/notification/NotificationImpl.mjs +0 -139
  103. package/esm2020/notification/NotificationModule.mjs +0 -53
  104. package/esm2020/notification/NotificationProperties.mjs +0 -2
  105. package/esm2020/notification/NotificationService.mjs +0 -239
  106. package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
  107. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
  108. package/esm2020/notification/component/notification/notification.component.mjs +0 -61
  109. package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
  110. package/esm2020/window/IWindow.mjs +0 -32
  111. package/esm2020/window/IWindowContent.mjs +0 -132
  112. package/esm2020/window/WindowBase.mjs +0 -168
  113. package/esm2020/window/WindowConfig.mjs +0 -232
  114. package/esm2020/window/WindowFactory.mjs +0 -27
  115. package/esm2020/window/WindowImpl.mjs +0 -361
  116. package/esm2020/window/WindowModule.mjs +0 -58
  117. package/esm2020/window/WindowProperties.mjs +0 -2
  118. package/esm2020/window/WindowService.mjs +0 -366
  119. package/esm2020/window/WindowServiceEvent.mjs +0 -9
  120. package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
  121. package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
  122. package/esm2020/window/component/WindowDragable.mjs +0 -69
  123. package/esm2020/window/component/WindowElement.mjs +0 -95
  124. package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
  125. package/esm2020/window/component/WindowResizeable.mjs +0 -88
  126. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
  127. package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
  128. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
  129. package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
  130. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
  131. package/language/LanguageMatPaginatorIntl.d.ts +0 -20
  132. package/language/LanguageMomentDateAdapter.d.ts +0 -5
  133. package/notification/INotification.d.ts +0 -26
  134. package/notification/INotificationContent.d.ts +0 -31
  135. package/notification/NotificationConfig.d.ts +0 -13
  136. package/notification/NotificationFactory.d.ts +0 -11
  137. package/notification/NotificationImpl.d.ts +0 -38
  138. package/notification/NotificationModule.d.ts +0 -18
  139. package/notification/NotificationProperties.d.ts +0 -9
  140. package/notification/NotificationService.d.ts +0 -56
  141. package/notification/component/NotificationBaseComponent.d.ts +0 -3
  142. package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
  143. package/notification/component/notification/notification.component.d.ts +0 -14
  144. package/service/BootstrapBreakpointService.d.ts +0 -45
  145. package/style/mat/bootstrap/_background.scss +0 -10
  146. package/style/mat/bootstrap/_border.scss +0 -207
  147. package/style/mat/bootstrap/_text.scss +0 -43
  148. package/style/mat/bootstrap/_variables.scss +0 -8
  149. package/style/mat/vi-mat-bootstrap.scss +0 -50
  150. package/style/mat/vi-mat.scss +0 -570
  151. package/style/mixin.scss +0 -69
  152. package/style/mouse.scss +0 -47
  153. package/window/IWindow.d.ts +0 -41
  154. package/window/IWindowContent.d.ts +0 -34
  155. package/window/WindowBase.d.ts +0 -33
  156. package/window/WindowConfig.d.ts +0 -64
  157. package/window/WindowFactory.d.ts +0 -12
  158. package/window/WindowImpl.d.ts +0 -89
  159. package/window/WindowModule.d.ts +0 -20
  160. package/window/WindowProperties.d.ts +0 -9
  161. package/window/WindowService.d.ts +0 -71
  162. package/window/WindowServiceEvent.d.ts +0 -7
  163. package/window/component/WindowBaseComponent.d.ts +0 -20
  164. package/window/component/WindowDragAreaDirective.d.ts +0 -19
  165. package/window/component/WindowDragable.d.ts +0 -13
  166. package/window/component/WindowElement.d.ts +0 -22
  167. package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
  168. package/window/component/WindowResizeable.d.ts +0 -10
  169. package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
  170. package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
  171. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
  172. package/window/component/window-question/window-question.component.d.ts +0 -12
  173. package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
@@ -1,232 +0,0 @@
1
- import { MatDialogConfig } from '@angular/material/dialog';
2
- import * as _ from 'lodash';
3
- import { IDestroyable } from '@ts-core/common';
4
- import { ViewUtil } from '../util/ViewUtil';
5
- export class WindowConfig extends MatDialogConfig {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor(isModal = false, isResizeable = false, width = NaN, height = NaN) {
12
- super();
13
- this.isExpandable = false;
14
- this.isResizeable = false;
15
- this.isMinimizable = false;
16
- this.isContentDragable = true;
17
- this.x = NaN;
18
- this.y = NaN;
19
- this.defaultWidth = NaN;
20
- this.defaultMinWidth = NaN;
21
- this.defaultMaxWidth = NaN;
22
- this.defaultHeight = NaN;
23
- this.defaultMinHeight = NaN;
24
- this.defaultMaxHeight = NaN;
25
- this.paddingTop = NaN;
26
- this.paddingLeft = NaN;
27
- this.paddingRight = NaN;
28
- this.paddingBottom = NaN;
29
- this._isModal = false;
30
- this._elementMaxX = NaN;
31
- this._elementMinX = NaN;
32
- this._elementMaxY = NaN;
33
- this._elementMinY = NaN;
34
- this._elementMinWidth = NaN;
35
- this._elementMaxWidth = NaN;
36
- this._elementMinHeight = NaN;
37
- this._elementMaxHeight = NaN;
38
- this.isModal = this.hasBackdrop = isModal;
39
- this.isResizeable = isResizeable;
40
- if (!_.isNaN(width)) {
41
- this.defaultWidth = width;
42
- }
43
- if (!_.isNaN(height)) {
44
- this.defaultHeight = height;
45
- }
46
- }
47
- // --------------------------------------------------------------------------
48
- //
49
- // Public Methods
50
- //
51
- // --------------------------------------------------------------------------
52
- setDefaultProperties() {
53
- this.width = this.elementWidth;
54
- this.maxWidth = this.elementMaxWidth;
55
- this.minWidth = this.elementMinWidth;
56
- this.height = this.elementHeight;
57
- this.maxHeight = this.elementMaxHeight;
58
- this.minHeight = this.elementMinHeight;
59
- }
60
- parseX(value) {
61
- value = Math.max(value, this.elementMinX);
62
- value = Math.min(value, this.elementMaxX);
63
- return value;
64
- }
65
- parseY(value) {
66
- value = Math.max(value, this.elementMinY);
67
- value = Math.min(value, this.elementMaxY);
68
- return value;
69
- }
70
- parseWidth(value) {
71
- value = Math.max(value, this.elementMinWidth);
72
- value = Math.min(value, this.elementMaxWidth);
73
- return value;
74
- }
75
- parseHeight(value) {
76
- value = Math.max(value, this.elementMinHeight);
77
- value = Math.min(value, this.elementMaxHeight);
78
- return value;
79
- }
80
- destroy() {
81
- IDestroyable.destroy(this.data);
82
- this.data = null;
83
- }
84
- // --------------------------------------------------------------------------
85
- //
86
- // Public Properties
87
- //
88
- // --------------------------------------------------------------------------
89
- get isModal() {
90
- return this._isModal;
91
- }
92
- set isModal(value) {
93
- if (value === this._isModal) {
94
- return;
95
- }
96
- this._isModal = value;
97
- this.hasBackdrop = value;
98
- }
99
- get elementMinY() {
100
- if (!_.isNaN(this._elementMinY)) {
101
- return this._elementMinY;
102
- }
103
- this._elementMinY = 0 - ViewUtil.getStageHeight();
104
- if (!_.isNaN(this.paddingTop)) {
105
- this._elementMinY += this.paddingTop;
106
- }
107
- return this._elementMinY;
108
- }
109
- get elementMaxY() {
110
- if (!_.isNaN(this._elementMaxY)) {
111
- return this._elementMaxY;
112
- }
113
- this._elementMaxY = ViewUtil.getStageHeight();
114
- if (!_.isNaN(this.paddingBottom)) {
115
- this._elementMaxY -= this.paddingBottom;
116
- }
117
- return this._elementMaxY;
118
- }
119
- get elementMinX() {
120
- if (!_.isNaN(this._elementMinX)) {
121
- return this._elementMinX;
122
- }
123
- this._elementMinX = -ViewUtil.getStageWidth();
124
- if (!_.isNaN(this.paddingLeft)) {
125
- this._elementMinX += this.paddingLeft;
126
- }
127
- return this._elementMinX;
128
- }
129
- get elementMaxX() {
130
- if (!_.isNaN(this._elementMaxX)) {
131
- return this._elementMaxX;
132
- }
133
- this._elementMaxX = ViewUtil.getStageWidth();
134
- if (!_.isNaN(this.paddingRight)) {
135
- this._elementMaxX -= this.paddingRight;
136
- }
137
- return this._elementMaxX;
138
- }
139
- get elementWidth() {
140
- if (this._elementWidth) {
141
- return this._elementWidth;
142
- }
143
- this._elementWidth = 'auto';
144
- if (this.defaultWidth) {
145
- this._elementWidth = this.defaultWidth + 'px';
146
- }
147
- return this._elementWidth;
148
- }
149
- get elementMinWidth() {
150
- if (!_.isNaN(this._elementMinWidth)) {
151
- return this._elementMinWidth;
152
- }
153
- this._elementMinWidth = 0;
154
- if (!_.isNaN(this.defaultMinWidth)) {
155
- let value = ViewUtil.getStageWidth();
156
- if (!_.isNaN(this.paddingLeft)) {
157
- value -= this.paddingLeft;
158
- }
159
- if (!_.isNaN(this.paddingRight)) {
160
- value -= this.paddingRight;
161
- }
162
- this._elementMinWidth = Math.min(this.defaultMinWidth, value);
163
- }
164
- return this._elementMinWidth;
165
- }
166
- get elementMaxWidth() {
167
- if (!_.isNaN(this._elementMaxWidth)) {
168
- return this._elementMaxWidth;
169
- }
170
- this._elementMaxWidth = ViewUtil.getStageWidth();
171
- if (!_.isNaN(this.paddingLeft)) {
172
- this._elementMaxWidth -= this.paddingLeft;
173
- }
174
- if (!_.isNaN(this.paddingRight)) {
175
- this._elementMaxWidth -= this.paddingRight;
176
- }
177
- if (!_.isNaN(this.defaultMaxWidth)) {
178
- this._elementMaxWidth = Math.min(this.defaultMaxWidth, this._elementMaxWidth);
179
- }
180
- return this._elementMaxWidth;
181
- }
182
- get elementHeight() {
183
- if (this._elementHeight) {
184
- return this._elementHeight;
185
- }
186
- this._elementHeight = 'auto';
187
- if (this.defaultHeight) {
188
- this._elementHeight = this.defaultHeight + 'px';
189
- }
190
- return this._elementHeight;
191
- }
192
- get elementMinHeight() {
193
- if (!_.isNaN(this._elementMinHeight)) {
194
- return this._elementMinHeight;
195
- }
196
- this._elementMinHeight = 0;
197
- if (!_.isNaN(this.defaultMinHeight)) {
198
- let value = ViewUtil.getStageHeight();
199
- if (!_.isNaN(this.paddingTop)) {
200
- value -= this.paddingTop;
201
- }
202
- if (!_.isNaN(this.paddingBottom)) {
203
- value -= this.paddingBottom;
204
- }
205
- this._elementMinHeight = Math.min(this.defaultMinHeight, value);
206
- }
207
- return this._elementMinHeight;
208
- }
209
- get elementMaxHeight() {
210
- if (!_.isNaN(this._elementMaxHeight)) {
211
- return this._elementMaxHeight;
212
- }
213
- this._elementMaxHeight = ViewUtil.getStageHeight();
214
- if (!_.isNaN(this.paddingTop)) {
215
- this._elementMaxHeight -= this.paddingTop;
216
- }
217
- if (!_.isNaN(this.paddingBottom)) {
218
- this._elementMaxHeight -= this.paddingBottom;
219
- }
220
- if (!_.isNaN(this.defaultMaxHeight)) {
221
- this._elementMaxHeight = Math.min(this.defaultMaxHeight, this._elementMaxHeight);
222
- }
223
- return this._elementMaxHeight;
224
- }
225
- }
226
- export var WindowAlign;
227
- (function (WindowAlign) {
228
- WindowAlign["START"] = "START";
229
- WindowAlign["CENTER"] = "CENTER";
230
- WindowAlign["END"] = "END";
231
- })(WindowAlign || (WindowAlign = {}));
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsTUFBTSxPQUFPLFlBQXNCLFNBQVEsZUFBa0I7SUFxRHpELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUFtQixLQUFLLEVBQUUsZUFBd0IsS0FBSyxFQUFFLFFBQWdCLEdBQUcsRUFBRSxTQUFpQixHQUFHO1FBQzFHLEtBQUssRUFBRSxDQUFDO1FBcERMLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQU9sQyxNQUFDLEdBQVcsR0FBRyxDQUFDO1FBQ2hCLE1BQUMsR0FBVyxHQUFHLENBQUM7UUFFaEIsaUJBQVksR0FBVyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFDOUIsb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFFOUIsa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFDNUIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBQy9CLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUUvQixlQUFVLEdBQVcsR0FBRyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQzFCLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsR0FBRyxD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LFdBQVksV0FBVztJQUNuQiw4QkFBZSxDQUFBO0lBQ2YsZ0NBQWlCLENBQUE7SUFDakIsMEJBQVcsQ0FBQTtBQUNmLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldENvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuZXhwb3J0IGNsYXNzIFdpbmRvd0NvbmZpZzxUID0gYW55PiBleHRlbmRzIE1hdERpYWxvZ0NvbmZpZzxUPiBpbXBsZW1lbnRzIE1hdEJvdHRvbVNoZWV0Q29uZmlnPFQ+LCBJRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzUmVzaXplYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc01pbmltaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29udGVudERyYWdhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBwcm9wZXJ0aWVzSWQ6IHN0cmluZztcblxuICAgIC8vIE5lZWQgZm9yIG1hdGNoIE1hdERpYWxvZ0NvbmZpZyBhbmQgTWF0Qm90dG9tU2hlZXRDb25maWdcbiAgICBwdWJsaWMgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xuXG4gICAgcHVibGljIHg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgeTogbnVtYmVyID0gTmFOO1xuXG4gICAgcHVibGljIGRlZmF1bHRXaWR0aDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluV2lkdGg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgZGVmYXVsdE1heFdpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgZGVmYXVsdEhlaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluSGVpZ2h0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGRlZmF1bHRNYXhIZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIHB1YmxpYyBwYWRkaW5nVG9wOiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdSaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBwYWRkaW5nQm90dG9tOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbjogV2luZG93QWxpZ247XG4gICAgcHVibGljIGhvcml6b250YWxBbGlnbjogV2luZG93QWxpZ247XG5cbiAgICBwcm90ZWN0ZWQgX2lzTW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heFg6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5YOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhZOiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWluWTogbnVtYmVyID0gTmFOO1xuXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50V2lkdGg6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5XaWR0aDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heFdpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRIZWlnaHQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5IZWlnaHQ6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhIZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoaXNNb2RhbDogYm9vbGVhbiA9IGZhbHNlLCBpc1Jlc2l6ZWFibGU6IGJvb2xlYW4gPSBmYWxzZSwgd2lkdGg6IG51bWJlciA9IE5hTiwgaGVpZ2h0OiBudW1iZXIgPSBOYU4pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmlzTW9kYWwgPSB0aGlzLmhhc0JhY2tkcm9wID0gaXNNb2RhbDtcbiAgICAgICAgdGhpcy5pc1Jlc2l6ZWFibGUgPSBpc1Jlc2l6ZWFibGU7XG5cbiAgICAgICAgaWYgKCFfLmlzTmFOKHdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGggPSB3aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghXy5pc05hTihoZWlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRIZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzZXREZWZhdWx0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuZWxlbWVudFdpZHRoO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gdGhpcy5lbGVtZW50TWF4V2lkdGg7XG4gICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLmVsZW1lbnRNaW5XaWR0aDtcblxuICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMuZWxlbWVudEhlaWdodDtcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSB0aGlzLmVsZW1lbnRNYXhIZWlnaHQ7XG4gICAgICAgIHRoaXMubWluSGVpZ2h0ID0gdGhpcy5lbGVtZW50TWluSGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVgodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMuZWxlbWVudE1pblgpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCB0aGlzLmVsZW1lbnRNYXhYKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVkodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMuZWxlbWVudE1pblkpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCB0aGlzLmVsZW1lbnRNYXhZKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVdpZHRoKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCB0aGlzLmVsZW1lbnRNaW5XaWR0aCk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIHRoaXMuZWxlbWVudE1heFdpZHRoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZUhlaWdodCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgdGhpcy5lbGVtZW50TWluSGVpZ2h0KTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgdGhpcy5lbGVtZW50TWF4SGVpZ2h0KTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBJRGVzdHJveWFibGUuZGVzdHJveSh0aGlzLmRhdGEpO1xuICAgICAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBpc01vZGFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNb2RhbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc01vZGFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNNb2RhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzTW9kYWwgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYXNCYWNrZHJvcCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pblkoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5ZKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5ZO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5ZID0gMCAtIFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluWSArPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5ZO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNYXhZKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4WSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWF4WSA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4WSAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhZO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pblgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5YKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5YO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5YID0gLVZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluWCArPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluWDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4WCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1heFgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heFggPSBWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhYIC09IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRXaWR0aCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRXaWR0aCA9ICdhdXRvJztcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50V2lkdGggPSB0aGlzLmRlZmF1bHRXaWR0aCArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRXaWR0aDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWluV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5XaWR0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1pbldpZHRoID0gMDtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1pbldpZHRoKSkge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNaW5XaWR0aCA9IE1hdGgubWluKHRoaXMuZGVmYXVsdE1pbldpZHRoLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5XaWR0aDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNYXhXaWR0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heFdpZHRoID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nTGVmdCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCAtPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWF4V2lkdGgpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4V2lkdGggPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNYXhXaWR0aCwgdGhpcy5fZWxlbWVudE1heFdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFdpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudEhlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudEhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudEhlaWdodCA9IHRoaXMuZGVmYXVsdEhlaWdodCArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIZWlnaHQ7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pbkhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1pbkhlaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQgPSAwO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWluSGVpZ2h0KSkge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKTtcbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluSGVpZ2h0ID0gTWF0aC5taW4odGhpcy5kZWZhdWx0TWluSGVpZ2h0LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0IC09IHRoaXMucGFkZGluZ1RvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQgPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNYXhIZWlnaHQsIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0O1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gV2luZG93QWxpZ24ge1xuICAgIFNUQVJUID0gJ1NUQVJUJyxcbiAgICBDRU5URVIgPSAnQ0VOVEVSJyxcbiAgICBFTkQgPSAnRU5EJ1xufVxuXG5leHBvcnQgdHlwZSBXaW5kb3dDb25maWdPcHRpb25zPFQgPSBhbnk+ID0geyBbUCBpbiBrZXlvZiBXaW5kb3dDb25maWc8VD5dPzogYW55IH07XG4iXX0=
@@ -1,27 +0,0 @@
1
- import * as _ from 'lodash';
2
- export class WindowFactory {
3
- // --------------------------------------------------------------------------
4
- //
5
- // Constructor
6
- //
7
- // --------------------------------------------------------------------------
8
- constructor(defaultType) {
9
- this.defaultType = defaultType;
10
- }
11
- // --------------------------------------------------------------------------
12
- //
13
- // Public Methods
14
- //
15
- // --------------------------------------------------------------------------
16
- create(properties) {
17
- let item = null;
18
- if (!_.isNil(this.createFunction)) {
19
- item = this.createFunction(properties);
20
- }
21
- if (_.isNil(item)) {
22
- item = new this.defaultType(properties);
23
- }
24
- return item;
25
- }
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLE9BQU8sYUFBYTtJQVN0Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBQUcsQ0FBQztJQUVwRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxVQUE0QjtRQUN0QyxJQUFJLElBQUksR0FBTSxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2YsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXaW5kb3cgfSBmcm9tICcuL0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93UHJvcGVydGllcyB9IGZyb20gJy4vV2luZG93UHJvcGVydGllcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dGYWN0b3J5PFUgZXh0ZW5kcyBJV2luZG93PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjcmVhdGVGdW5jdGlvbjogQ3JlYXRlRnVuY3Rpb247XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkZWZhdWx0VHlwZTogV2luZG93VHlwZTxVPikge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNyZWF0ZShwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVSB7XG4gICAgICAgIGxldCBpdGVtOiBVID0gbnVsbDtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY3JlYXRlRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5jcmVhdGVGdW5jdGlvbihwcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05pbChpdGVtKSkge1xuICAgICAgICAgICAgaXRlbSA9IG5ldyB0aGlzLmRlZmF1bHRUeXBlKHByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVuY3Rpb24gPSA8VSBleHRlbmRzIElXaW5kb3c+KHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXMpID0+IFU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93VHlwZTxUPiB7XG4gICAgbmV3IChwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVDtcbn1cbiJdfQ==