@magic-xpa/engine 4.1200.0-dev4120.19 → 4.1200.0-dev4120.191

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 (213) hide show
  1. package/fesm2022/magic-xpa-engine.mjs +11347 -1307
  2. package/fesm2022/magic-xpa-engine.mjs.map +1 -1
  3. package/index.d.ts +4 -0
  4. package/package.json +5 -7
  5. package/src/ClientManager.d.ts +2 -0
  6. package/src/CommandsProcessorBase.d.ts +2 -1
  7. package/src/CommandsProcessorManager.d.ts +2 -1
  8. package/src/ConstInterface.d.ts +7 -0
  9. package/src/bridge/MagicBridge.d.ts +2 -0
  10. package/src/commands/ClientToServer/CachedFileQueryCommand.d.ts +9 -0
  11. package/src/commands/ClientToServer/CommandFactory.d.ts +4 -2
  12. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +1 -0
  13. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +1 -0
  14. package/src/event/EventHandler.d.ts +5 -0
  15. package/src/event/EventsManager.d.ts +4 -0
  16. package/src/exp/ExpressionEvaluator.d.ts +5 -0
  17. package/src/http/HttpManager.d.ts +2 -1
  18. package/src/http/client/HttpClientAsync.d.ts +2 -2
  19. package/src/http/client/HttpClientBase.d.ts +3 -3
  20. package/src/http/client/HttpClientSync.d.ts +2 -2
  21. package/src/remote/RemoteCommandsProcessor.d.ts +9 -2
  22. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +1 -0
  23. package/src/rt/Operation.d.ts +3 -1
  24. package/src/util/ParamParseResult.d.ts +3 -3
  25. package/esm2022/index.mjs +0 -188
  26. package/esm2022/magic-xpa-engine.mjs +0 -2
  27. package/esm2022/src/AccessHelper.mjs +0 -15
  28. package/esm2022/src/ClientManager.mjs +0 -420
  29. package/esm2022/src/CommandsProcessorBase.mjs +0 -56
  30. package/esm2022/src/CommandsProcessorManager.mjs +0 -26
  31. package/esm2022/src/CommandsTable.mjs +0 -162
  32. package/esm2022/src/ConstInterface.mjs +0 -517
  33. package/esm2022/src/CurrentClientVersion.mjs +0 -2
  34. package/esm2022/src/FlowMonitorInterface.mjs +0 -16
  35. package/esm2022/src/GUIManager.mjs +0 -62
  36. package/esm2022/src/GlobalCommandsManager.mjs +0 -34
  37. package/esm2022/src/GuiEventsProcessor.mjs +0 -156
  38. package/esm2022/src/ICommandsTable.mjs +0 -2
  39. package/esm2022/src/ServerConfig.mjs +0 -122
  40. package/esm2022/src/bridge/IGuiEvent.mjs +0 -20
  41. package/esm2022/src/bridge/MagicBridge.mjs +0 -41
  42. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -12
  43. package/esm2022/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +0 -9
  44. package/esm2022/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +0 -9
  45. package/esm2022/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +0 -9
  46. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -26
  47. package/esm2022/src/commands/ClientToServer/ClientOriginatedCommand.mjs +0 -15
  48. package/esm2022/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +0 -60
  49. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -29
  50. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +0 -261
  51. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -67
  52. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -26
  53. package/esm2022/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +0 -24
  54. package/esm2022/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +0 -23
  55. package/esm2022/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +0 -8
  56. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  57. package/esm2022/src/commands/ClientToServer/DataviewCommand.mjs +0 -44
  58. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +0 -40
  59. package/esm2022/src/commands/ClientToServer/EventCommand.mjs +0 -43
  60. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +0 -70
  61. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -25
  62. package/esm2022/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +0 -11
  63. package/esm2022/src/commands/ClientToServer/ICommandTaskTag.mjs +0 -2
  64. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -24
  65. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -26
  66. package/esm2022/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +0 -26
  67. package/esm2022/src/commands/ClientToServer/QueryCommand.mjs +0 -21
  68. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +0 -30
  69. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -30
  70. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -27
  71. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -43
  72. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -19
  73. package/esm2022/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +0 -9
  74. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -24
  75. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -27
  76. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +0 -34
  77. package/esm2022/src/commands/ClientToServer/UnloadCommand.mjs +0 -18
  78. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  79. package/esm2022/src/commands/DataViewCommandBase.mjs +0 -8
  80. package/esm2022/src/commands/IClientCommand.mjs +0 -2
  81. package/esm2022/src/commands/IClientTargetedCommand.mjs +0 -13
  82. package/esm2022/src/commands/IClientToServerCommandInfo.mjs +0 -2
  83. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  84. package/esm2022/src/commands/ServerToClient/AddLocateCommand.mjs +0 -22
  85. package/esm2022/src/commands/ServerToClient/AddRangeCommand.mjs +0 -62
  86. package/esm2022/src/commands/ServerToClient/AddSortCommand.mjs +0 -33
  87. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  88. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -24
  89. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  90. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  91. package/esm2022/src/commands/ServerToClient/ResetLocateCommand.mjs +0 -15
  92. package/esm2022/src/commands/ServerToClient/ResetRangeCommand.mjs +0 -15
  93. package/esm2022/src/commands/ServerToClient/ResetSortCommand.mjs +0 -15
  94. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  95. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  96. package/esm2022/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +0 -132
  97. package/esm2022/src/communications/IConnectionStateManager.mjs +0 -2
  98. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -15
  99. package/esm2022/src/data/DataSourceIdKey.mjs +0 -3
  100. package/esm2022/src/data/DataView.mjs +0 -1613
  101. package/esm2022/src/data/DataViewBase.mjs +0 -4
  102. package/esm2022/src/data/DataviewManager.mjs +0 -28
  103. package/esm2022/src/data/DataviewManagerBase.mjs +0 -15
  104. package/esm2022/src/data/DvCache.mjs +0 -67
  105. package/esm2022/src/data/Field.mjs +0 -646
  106. package/esm2022/src/data/FieldBase.mjs +0 -15
  107. package/esm2022/src/data/FieldsTable.mjs +0 -103
  108. package/esm2022/src/data/IRecordsTable.mjs +0 -2
  109. package/esm2022/src/data/Key.mjs +0 -88
  110. package/esm2022/src/data/Record.mjs +0 -880
  111. package/esm2022/src/data/RecordOutOfDataViewException.mjs +0 -16
  112. package/esm2022/src/data/RecordsTable.mjs +0 -267
  113. package/esm2022/src/data/TaskTransactionManager.mjs +0 -107
  114. package/esm2022/src/data/XMLBasedDcValuesBuilder.mjs +0 -74
  115. package/esm2022/src/enums.mjs +0 -24
  116. package/esm2022/src/env/EnvVariablesTable.mjs +0 -340
  117. package/esm2022/src/env/Environment.mjs +0 -487
  118. package/esm2022/src/env/ILanguageData.mjs +0 -2
  119. package/esm2022/src/env/LanguageData.mjs +0 -227
  120. package/esm2022/src/env/MirrorString.mjs +0 -67
  121. package/esm2022/src/event/ActionManager.mjs +0 -91
  122. package/esm2022/src/event/Event.mjs +0 -1333
  123. package/esm2022/src/event/EventHandler.mjs +0 -766
  124. package/esm2022/src/event/EventHandlerPosition.mjs +0 -204
  125. package/esm2022/src/event/EventsManager.mjs +0 -2988
  126. package/esm2022/src/event/IEventsManager.mjs +0 -7
  127. package/esm2022/src/event/RunTimeEvent.mjs +0 -399
  128. package/esm2022/src/event/RunTimeEventBase.mjs +0 -4
  129. package/esm2022/src/event/UserEventsTable.mjs +0 -47
  130. package/esm2022/src/exp/ExpTable.mjs +0 -57
  131. package/esm2022/src/exp/Expression.mjs +0 -200
  132. package/esm2022/src/exp/ExpressionDict.mjs +0 -727
  133. package/esm2022/src/exp/ExpressionEvaluator.mjs +0 -4206
  134. package/esm2022/src/exp/ExpressionLocalJpn.mjs +0 -314
  135. package/esm2022/src/exp/GlobalParamsTable.mjs +0 -85
  136. package/esm2022/src/exp/YesNoExp.mjs +0 -36
  137. package/esm2022/src/gui/CreatedFormVector.mjs +0 -23
  138. package/esm2022/src/gui/FormsTable.mjs +0 -66
  139. package/esm2022/src/gui/MgControl.mjs +0 -363
  140. package/esm2022/src/gui/MgForm.mjs +0 -1224
  141. package/esm2022/src/http/HttpManager.mjs +0 -97
  142. package/esm2022/src/http/client/HttpClientAsync.mjs +0 -68
  143. package/esm2022/src/http/client/HttpClientBase.mjs +0 -132
  144. package/esm2022/src/http/client/HttpClientEvents.mjs +0 -39
  145. package/esm2022/src/http/client/HttpClientSync.mjs +0 -42
  146. package/esm2022/src/http/client/HttpUtility.mjs +0 -84
  147. package/esm2022/src/http/client/ICommunicationsFailureHandler.mjs +0 -2
  148. package/esm2022/src/remote/AddUserLocateRemoteDataViewCommand.mjs +0 -18
  149. package/esm2022/src/remote/AddUserRangeRemoteDataViewCommand.mjs +0 -18
  150. package/esm2022/src/remote/AddUserSortRemoteDataViewCommand.mjs +0 -18
  151. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +0 -883
  152. package/esm2022/src/remote/RemoteControlItemsRefreshCommand.mjs +0 -25
  153. package/esm2022/src/remote/RemoteDataViewCommandBase.mjs +0 -24
  154. package/esm2022/src/remote/RemoteDataViewCommandFactory.mjs +0 -61
  155. package/esm2022/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +0 -16
  156. package/esm2022/src/remote/RemoteDataviewManager.mjs +0 -17
  157. package/esm2022/src/remote/RemoteInitDataViewCommand.mjs +0 -11
  158. package/esm2022/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +0 -17
  159. package/esm2022/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +0 -13
  160. package/esm2022/src/remote/ResetUserSortRemoteDataviewCommand.mjs +0 -16
  161. package/esm2022/src/remote/ServerError.mjs +0 -40
  162. package/esm2022/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +0 -20
  163. package/esm2022/src/rt/Argument.mjs +0 -265
  164. package/esm2022/src/rt/ArgumentsList.mjs +0 -103
  165. package/esm2022/src/rt/Boundary.mjs +0 -152
  166. package/esm2022/src/rt/CompMainPrgTable.mjs +0 -63
  167. package/esm2022/src/rt/DataviewHeaderBase.mjs +0 -98
  168. package/esm2022/src/rt/DataviewHeaderFactory.mjs +0 -7
  169. package/esm2022/src/rt/DataviewHeaders.mjs +0 -53
  170. package/esm2022/src/rt/DataviewHeadersSaxHandler.mjs +0 -38
  171. package/esm2022/src/rt/ExecutionStack.mjs +0 -94
  172. package/esm2022/src/rt/ExecutionStackEntry.mjs +0 -17
  173. package/esm2022/src/rt/HandlersTable.mjs +0 -96
  174. package/esm2022/src/rt/IDataSourceViewDefinition.mjs +0 -2
  175. package/esm2022/src/rt/IDataviewHeader.mjs +0 -2
  176. package/esm2022/src/rt/IResultValue.mjs +0 -2
  177. package/esm2022/src/rt/LastFocusedManager.mjs +0 -65
  178. package/esm2022/src/rt/Operation.mjs +0 -735
  179. package/esm2022/src/rt/OperationTable.mjs +0 -67
  180. package/esm2022/src/rt/Recompute.mjs +0 -355
  181. package/esm2022/src/rt/RecomputeTable.mjs +0 -63
  182. package/esm2022/src/rt/RemoteDataviewHeader.mjs +0 -108
  183. package/esm2022/src/rt/ResultValue.mjs +0 -10
  184. package/esm2022/src/rt/TableCache.mjs +0 -177
  185. package/esm2022/src/rt/TableCacheManager.mjs +0 -67
  186. package/esm2022/src/rt/Transaction.mjs +0 -53
  187. package/esm2022/src/security/UserDetails.mjs +0 -71
  188. package/esm2022/src/tasks/IMGDataCollection.mjs +0 -2
  189. package/esm2022/src/tasks/MGData.mjs +0 -552
  190. package/esm2022/src/tasks/MGDataCollection.mjs +0 -252
  191. package/esm2022/src/tasks/RCTimer.mjs +0 -63
  192. package/esm2022/src/tasks/RemoteTaskService.mjs +0 -45
  193. package/esm2022/src/tasks/Task.mjs +0 -2499
  194. package/esm2022/src/tasks/TaskBase.mjs +0 -83
  195. package/esm2022/src/tasks/TaskServiceBase.mjs +0 -25
  196. package/esm2022/src/tasks/TasksTable.mjs +0 -80
  197. package/esm2022/src/tasks/sort/Sort.mjs +0 -5
  198. package/esm2022/src/tasks/sort/SortCollection.mjs +0 -67
  199. package/esm2022/src/util/ConstUtils.mjs +0 -14
  200. package/esm2022/src/util/FlowMonitorQueue.mjs +0 -451
  201. package/esm2022/src/util/HeapSort.mjs +0 -70
  202. package/esm2022/src/util/IMirrorXML.mjs +0 -2
  203. package/esm2022/src/util/IServerConfig.mjs +0 -2
  204. package/esm2022/src/util/MgBlockingQueue.mjs +0 -2
  205. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +0 -74
  206. package/esm2022/src/util/MgPriorityQueue.mjs +0 -66
  207. package/esm2022/src/util/ParamParseResult.mjs +0 -8
  208. package/esm2022/src/util/PrmMap.mjs +0 -153
  209. package/esm2022/src/util/ReturnResult.mjs +0 -46
  210. package/esm2022/src/util/ReturnResultBase.mjs +0 -18
  211. package/esm2022/src/util/Scrambler.mjs +0 -89
  212. package/esm2022/src/util/UniqueIDUtils.mjs +0 -13
  213. package/esm2022/src/util/cookie.service.mjs +0 -92
@@ -1,4 +0,0 @@
1
- import { GuiDataViewBase } from "@magic-xpa/gui";
2
- export class DataViewBase extends GuiDataViewBase {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVZpZXdCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9kYXRhL0RhdGFWaWV3QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLakQsTUFBTSxPQUFnQixZQUFhLFNBQVEsZUFBZTtDQVl6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEd1aURhdGFWaWV3QmFzZSB9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tIFwiLi9SZWNvcmRcIjtcclxuaW1wb3J0IHsgVGFza0Jhc2UgfSBmcm9tIFwiLi4vdGFza3MvVGFza0Jhc2VcIjtcclxuaW1wb3J0IHsgTWdGb3JtIH0gZnJvbSBcIi4uL2d1aS9NZ0Zvcm1cIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhVmlld0Jhc2UgZXh0ZW5kcyBHdWlEYXRhVmlld0Jhc2Uge1xyXG4gIGFic3RyYWN0IGdldEN1cnJSZWMoKTogUmVjb3JkO1xyXG5cclxuICBhYnN0cmFjdCBnZXRTZXJ2ZXJDdXJyUmVjKCk6IFJlY29yZDtcclxuXHJcbiAgYWJzdHJhY3Qgc2V0Q2hhbmdlZCh2YWw6IGJvb2xlYW4pOiB2b2lkO1xyXG5cclxuICBhYnN0cmFjdCBnZXRUYXNrKCk6IFRhc2tCYXNlO1xyXG5cclxuICBhYnN0cmFjdCBnZXRGb3JtKCk6IE1nRm9ybTtcclxuXHJcbiAgYWJzdHJhY3QgIGluUm9sbGJhY2soKTogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { DataviewManagerBase } from "./DataviewManagerBase";
2
- import { RemoteDataviewManager } from "../remote/RemoteDataviewManager";
3
- export class DataviewManager extends DataviewManagerBase {
4
- RemoteDataviewManager = null;
5
- HasRemoteData = true;
6
- get TaskService() {
7
- return this.Task.TaskService;
8
- }
9
- get CurrentDataviewManager() {
10
- let result;
11
- if (this.HasRemoteData)
12
- result = this.RemoteDataviewManager;
13
- else
14
- result = this.VirtualDataviewManager;
15
- return result;
16
- }
17
- get VirtualDataviewManager() {
18
- return this.TaskService.GetDataviewManagerForVirtuals(this.Task);
19
- }
20
- constructor(task) {
21
- super(task);
22
- this.RemoteDataviewManager = new RemoteDataviewManager(task);
23
- }
24
- async Execute(command) {
25
- return await this.CurrentDataviewManager.Execute(command);
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9kYXRhL0RhdGF2aWV3TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQVF0RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQscUJBQXFCLEdBQTBCLElBQUksQ0FBQztJQUNwRCxhQUFhLEdBQVksSUFBSSxDQUFDO0lBRTlCLElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLE1BQTJCLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDOztZQUVwQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBRXZDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFZLHNCQUFzQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFNRCxZQUFZLElBQVU7UUFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBdUI7UUFDbEMsT0FBTyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhdmlld01hbmFnZXJCYXNlfSBmcm9tIFwiLi9EYXRhdmlld01hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCB7VGFza1NlcnZpY2VCYXNlfSBmcm9tIFwiLi4vdGFza3MvVGFza1NlcnZpY2VCYXNlXCI7XHJcbmltcG9ydCB7UmVtb3RlRGF0YXZpZXdNYW5hZ2VyfSBmcm9tIFwiLi4vcmVtb3RlL1JlbW90ZURhdGF2aWV3TWFuYWdlclwiO1xyXG5pbXBvcnQge0lDbGllbnRDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvSUNsaWVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBkYXRhdmlldyBtYW5hZ2VyIG9mIHRoZSB0YXNrXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEYXRhdmlld01hbmFnZXIgZXh0ZW5kcyBEYXRhdmlld01hbmFnZXJCYXNlIHtcclxuICBSZW1vdGVEYXRhdmlld01hbmFnZXI6IFJlbW90ZURhdGF2aWV3TWFuYWdlciA9IG51bGw7XHJcbiAgSGFzUmVtb3RlRGF0YTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgZ2V0IFRhc2tTZXJ2aWNlKCk6IFRhc2tTZXJ2aWNlQmFzZSB7XHJcbiAgICByZXR1cm4gdGhpcy5UYXNrLlRhc2tTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEN1cnJlbnREYXRhdmlld01hbmFnZXIoKTogRGF0YXZpZXdNYW5hZ2VyQmFzZSB7XHJcbiAgICBsZXQgcmVzdWx0OiBEYXRhdmlld01hbmFnZXJCYXNlO1xyXG4gICAgaWYgKHRoaXMuSGFzUmVtb3RlRGF0YSlcclxuICAgICAgcmVzdWx0ID0gdGhpcy5SZW1vdGVEYXRhdmlld01hbmFnZXI7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuVmlydHVhbERhdGF2aWV3TWFuYWdlcjtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgVmlydHVhbERhdGF2aWV3TWFuYWdlcigpOiBEYXRhdmlld01hbmFnZXJCYXNlIHtcclxuICAgIHJldHVybiB0aGlzLlRhc2tTZXJ2aWNlLkdldERhdGF2aWV3TWFuYWdlckZvclZpcnR1YWxzKHRoaXMuVGFzayk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tcIj48L3BhcmFtPlxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2spIHtcclxuICAgIHN1cGVyKHRhc2spO1xyXG4gICAgdGhpcy5SZW1vdGVEYXRhdmlld01hbmFnZXIgPSBuZXcgUmVtb3RlRGF0YXZpZXdNYW5hZ2VyKHRhc2spO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgRXhlY3V0ZShjb21tYW5kOiBJQ2xpZW50Q29tbWFuZCk6IFByb21pc2U8UmV0dXJuUmVzdWx0PiB7XHJcbiAgICAgcmV0dXJuIGF3YWl0IHRoaXMuQ3VycmVudERhdGF2aWV3TWFuYWdlci5FeGVjdXRlKGNvbW1hbmQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,15 +0,0 @@
1
- import { ReturnResult } from "../util/ReturnResult";
2
- export class DataviewManagerBase {
3
- Task = null;
4
- Transaction = null;
5
- constructor(task) {
6
- this.Task = task;
7
- }
8
- async Execute(command) {
9
- return new ReturnResult();
10
- }
11
- GetDbViewRowIdx() {
12
- return this.Task.DataView.getCurrDBViewRowIdx();
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdNYW5hZ2VyQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvZGF0YS9EYXRhdmlld01hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLElBQUksR0FBUyxJQUFJLENBQUM7SUFDbEIsV0FBVyxHQUFnQixJQUFJLENBQUM7SUFFaEMsWUFBWSxJQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQXVCO1FBQ25DLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhVmlld30gZnJvbSBcIi4vRGF0YVZpZXdcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbn0gZnJvbSBcIi4uL3J0L1RyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtJQ2xpZW50Q29tbWFuZH0gZnJvbSBcIi4uL2NvbW1hbmRzL0lDbGllbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0fSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhdmlld01hbmFnZXJCYXNlIHtcclxuICAvLyB0aGUgdGFzayB0aGF0IG93bnMgdGhlIGN1cnJlbnQgZGF0YSB2aWV3LlxyXG4gIFRhc2s6IFRhc2sgPSBudWxsO1xyXG4gIFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2spIHtcclxuICAgIHRoaXMuVGFzayA9IHRhc2s7XHJcbiAgfVxyXG5cclxuICBhc3luYyBFeGVjdXRlKGNvbW1hbmQ6IElDbGllbnRDb21tYW5kKTogUHJvbWlzZTxSZXR1cm5SZXN1bHQ+e1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcblxyXG4gIEdldERiVmlld1Jvd0lkeCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICg8RGF0YVZpZXc+dGhpcy5UYXNrLkRhdGFWaWV3KS5nZXRDdXJyREJWaWV3Um93SWR4KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,67 +0,0 @@
1
- import { Hashtable, List } from '@magic-xpa/mscorelib';
2
- export class DvCache {
3
- _cacheTable = null;
4
- _deletedList = null;
5
- _task = null;
6
- constructor(tsk) {
7
- this._task = tsk;
8
- this._cacheTable = new Hashtable(100, 0.7);
9
- this._deletedList = new List();
10
- }
11
- putInCache(repOfOriginal) {
12
- let hashKey = repOfOriginal.getDvPosValue();
13
- if (this._cacheTable.get_Item(hashKey) !== null)
14
- this.removeDvFromCache(hashKey, false);
15
- repOfOriginal.setCacheLRU();
16
- repOfOriginal.taskModeFromCache = this._task.getMode();
17
- repOfOriginal.zeroServerCurrRec();
18
- this._cacheTable.set_Item(hashKey, repOfOriginal);
19
- this._deletedList.Remove(hashKey);
20
- return true;
21
- }
22
- removeDvFromCache(DvPosValue, updateDel) {
23
- let rep = this._cacheTable.get_Item(DvPosValue);
24
- if (rep !== null) {
25
- if (updateDel)
26
- this._deletedList.push(DvPosValue);
27
- this._cacheTable.Remove(DvPosValue);
28
- return true;
29
- }
30
- return false;
31
- }
32
- getDeletedListToXML() {
33
- let list = '';
34
- for (let i = 0; i < this._deletedList.length; i++) {
35
- if (i > 0)
36
- list = list + ',';
37
- list += this._deletedList.get_Item(i).toString();
38
- }
39
- return list;
40
- }
41
- clearDeletedList() {
42
- this._deletedList.Clear();
43
- }
44
- getCachedDataView(DvPosValue) {
45
- let cached = this._cacheTable.get_Item(DvPosValue);
46
- if (cached !== null)
47
- cached = cached.replicate();
48
- return cached;
49
- }
50
- clearCache() {
51
- let dvKeysList = new List(this._cacheTable.Keys);
52
- for (let i = 0; i < dvKeysList.length; i++) {
53
- let dvKey = dvKeysList[i];
54
- this.removeDvFromCache(dvKey, true);
55
- }
56
- if (this._task.hasSubTasks()) {
57
- let subTasks = this._task.getSubTasks();
58
- for (let j = 0; j < subTasks.getSize(); j = j + 1)
59
- subTasks.getTask(j).getTaskCache().clearCache();
60
- }
61
- this._task.DataView.setChanged(true);
62
- }
63
- isDeleted(dvPosVal) {
64
- return this._deletedList.Contains(dvPosVal);
65
- }
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHZDYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvZGF0YS9EdkNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFRckQsTUFBTSxPQUFPLE9BQU87SUFDVixXQUFXLEdBQWdDLElBQUksQ0FBQztJQUNoRCxZQUFZLEdBQWlCLElBQUksQ0FBQztJQUNsQyxLQUFLLEdBQVMsSUFBSSxDQUFDO0lBTTNCLFlBQVksR0FBUztRQUVuQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksU0FBUyxDQUFtQixHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFNRCxVQUFVLENBQUMsYUFBdUI7UUFDaEMsSUFBSSxPQUFPLEdBQVcsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBR3BELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSTtZQUM3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBR3pDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixhQUFhLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2RCxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFHbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQsaUJBQWlCLENBQUMsVUFBa0IsRUFBRSxTQUFrQjtRQUd0RCxJQUFJLEdBQUcsR0FBdUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBRWhCLElBQUksU0FBUztnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBS0QsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxHQUFXLEVBQUUsQ0FBQztRQUV0QixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFDakIsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUM1QixDQUFDLEVBQUUsRUFBRTtZQUVSLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1AsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7WUFFcEIsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2xEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBT0QsaUJBQWlCLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxNQUFNLEdBQXVCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBR3ZFLElBQUksTUFBTSxLQUFLLElBQUk7WUFDakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBT0QsVUFBVTtRQUVSLElBQUksVUFBVSxHQUFpQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9ELEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFHLENBQUMsRUFBRSxFQUMzQztZQUNFLElBQUksS0FBSyxHQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3JDO1FBR0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzVCLElBQUksUUFBUSxHQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFcEQsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkQ7UUFHVSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SGFzaHRhYmxlLCBMaXN0fSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7VGFza3NUYWJsZX0gZnJvbSAnLi4vdGFza3MvVGFza3NUYWJsZSc7XHJcbmltcG9ydCB7RGF0YVZpZXd9IGZyb20gJy4vRGF0YVZpZXcnO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICB0aGlzIGNsYXNzIHJlcHJlc2VudHMgdGhlIGRhdGFzdHJ1Y3R1cmUgb2YgdGhlIHN1YmZvcm1zIGRhdGF2aWV3IGNhY2hlXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEdkNhY2hlIHtcclxuICBwcml2YXRlIF9jYWNoZVRhYmxlOiBIYXNodGFibGU8bnVtYmVyLCBEYXRhVmlldz4gPSBudWxsOyAvLyB0aGUgdGFibGUgdGhhdCBzYXZlIGFsbCBkYXRhdmlldyBpbiB0aGUgY2FjaGVcclxuICBwcml2YXRlIF9kZWxldGVkTGlzdDogTGlzdDxudW1iZXI+ID0gbnVsbDsgLy8gYSBsaXN0IG9mIGFsbCBkdlBvcyB2YWx1ZXMgKG5vbiBoYXNoZWQpIHRoYXQgd2VyZSBkZWxldGVkIGZyb20gdGhlIGNhY2hlXHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRza1wiPjwvcGFyYW0+XHJcbiAgY29uc3RydWN0b3IodHNrOiBUYXNrKSB7XHJcblxyXG4gICAgdGhpcy5fdGFzayA9IHRzaztcclxuICAgIHRoaXMuX2NhY2hlVGFibGUgPSBuZXcgSGFzaHRhYmxlPG51bWJlciwgRGF0YVZpZXc+KDEwMCwgMC43KTtcclxuICAgIHRoaXMuX2RlbGV0ZWRMaXN0ID0gbmV3IExpc3Q8bnVtYmVyPigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHB1dHMgYSBkYXRhdmlldyBvYmplY3QgaW4gdGhlIGNhY2hlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInJlcE9mT3JpZ2luYWxcIj5hIHJlcGxpY2F0ZSBvZiB0aGUgZGF0YXZpZXcgd2Ugd2lzaCB0byBpbnNlcnQgaW4gY2FjaGUgPC9wYXJhbT5cclxuICBwdXRJbkNhY2hlKHJlcE9mT3JpZ2luYWw6IERhdGFWaWV3KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaGFzaEtleTogbnVtYmVyID0gcmVwT2ZPcmlnaW5hbC5nZXREdlBvc1ZhbHVlKCk7XHJcblxyXG4gICAgLy8gaWYgdGhlIG5ldyBkLnYgYWxyZWFkeSBleGlzdHMgaW4gY2FjaGUgcmVtb3ZlIHRoZSBvbGQgZW50cnkgYW5kIGVudGVyIHRoZSBuZXcgb25lXHJcbiAgICBpZiAodGhpcy5fY2FjaGVUYWJsZS5nZXRfSXRlbShoYXNoS2V5KSAhPT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVEdkZyb21DYWNoZShoYXNoS2V5LCBmYWxzZSk7XHJcblxyXG4gICAgLy8gdGltZSBzdGFtcHMgdGhlIHN0b3JkZWQgZC52IHB1dCBpdCBpbiBjYWNoZSBhbmQgdXBkYXRlIGNhY2hlIHNpemVcclxuICAgIHJlcE9mT3JpZ2luYWwuc2V0Q2FjaGVMUlUoKTtcclxuICAgIHJlcE9mT3JpZ2luYWwudGFza01vZGVGcm9tQ2FjaGUgPSB0aGlzLl90YXNrLmdldE1vZGUoKTtcclxuICAgIHJlcE9mT3JpZ2luYWwuemVyb1NlcnZlckN1cnJSZWMoKTtcclxuICAgIHRoaXMuX2NhY2hlVGFibGUuc2V0X0l0ZW0oaGFzaEtleSwgcmVwT2ZPcmlnaW5hbCk7XHJcblxyXG4gICAgLy8gY2hlY2sgcyB0aGF0IHRoZXJlIHRoZSBuZXcgaW5zZXJ0ZWQgZGF0YSB2aWV3IGRvZXMgbm90IGFwcGVhciBpbiB0aGUgZGVsIGxpc3RcclxuICAgIC8vIHRoaXMgY291bGQgaGFwcGVuIGR1ZSB0byBscnUgbWFuYWdlbWVudFxyXG4gICAgdGhpcy5fZGVsZXRlZExpc3QuUmVtb3ZlKGhhc2hLZXkpO1xyXG5cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZW1vdmVzIGEgZHRhdHZpZXcgZnJvbSB0aGUgY2FjaGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiRHZQb3NWYWx1ZVwiPnRoZSBkdlBvcyB2YWx1ZSB3aGljaCB1bmlxdWVseSBpZGVudGlmeSB0aGUgZGF0YXZpZXcgPC9wYXJhbT5cclxuICByZW1vdmVEdkZyb21DYWNoZShEdlBvc1ZhbHVlOiBudW1iZXIsIHVwZGF0ZURlbDogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG5cclxuICAgIC8vIGxvY2F0ZSB0aGUgZGF0YXZpZXcgb2JqZWN0IGFjY29yZGluZyB0byB0aGUgZ2l2ZW4ga2V5XHJcbiAgICBsZXQgcmVwOiBEYXRhVmlldyA9IDxEYXRhVmlldz50aGlzLl9jYWNoZVRhYmxlLmdldF9JdGVtKER2UG9zVmFsdWUpO1xyXG5cclxuICAgIGlmIChyZXAgIT09IG51bGwpIHtcclxuXHJcbiAgICAgIGlmICh1cGRhdGVEZWwpXHJcbiAgICAgICAgdGhpcy5fZGVsZXRlZExpc3QucHVzaChEdlBvc1ZhbHVlKTtcclxuXHJcbiAgICAgIHRoaXMuX2NhY2hlVGFibGUuUmVtb3ZlKER2UG9zVmFsdWUpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjb25zdHJ1Y3RzIGZyb20gdGhlIGRlbGV0ZWQgbGlzdCBhIHN0cmluZyByZXByZXNlbnRhdGlvblxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0RGVsZXRlZExpc3RUb1hNTCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxpc3Q6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICAgICAgIGkgPCB0aGlzLl9kZWxldGVkTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgIGkrKykge1xyXG5cclxuICAgICAgaWYgKGkgPiAwKVxyXG4gICAgICAgIGxpc3QgPSBsaXN0ICsgJywnO1xyXG5cclxuICAgICAgbGlzdCArPSB0aGlzLl9kZWxldGVkTGlzdC5nZXRfSXRlbShpKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY2xlYXJzIHRoZSBkZWxldGVkIGxpc3RcclxuICAvLy8gICB1c2FsbHkgd2lsbCBiZSBpbnZva2VkIGFmdGVyIGEgc2VydmVyIGFjY2Vzc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY2xlYXJEZWxldGVkTGlzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RlbGV0ZWRMaXN0LkNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZ2V0cyBhIHJlcXVlc3RlZCBkYXRhdmlld1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJEdlBvc1ZhbHVlXCI+dGhlIGR2UG9zIHZhbHVlIHdoaWNoIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBkYXRhdmlldyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIHJlcXVlc3RlZCBjYWNoZWQgRGF0YVZpZXcgb2JqZWN0IDwvcmV0dXJucz5cclxuICBnZXRDYWNoZWREYXRhVmlldyhEdlBvc1ZhbHVlOiBudW1iZXIpOiBEYXRhVmlldyB7XHJcbiAgICBsZXQgY2FjaGVkOiBEYXRhVmlldyA9IDxEYXRhVmlldz50aGlzLl9jYWNoZVRhYmxlLmdldF9JdGVtKER2UG9zVmFsdWUpO1xyXG5cclxuICAgIC8vIGxvY2F0ZSB0aGUgZGF0YXZpZXcgb2JqZWN0IGFjY29yZGluZyB0byB0aGUgZ2l2ZW4ga2V5XHJcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKVxyXG4gICAgICBjYWNoZWQgPSBjYWNoZWQucmVwbGljYXRlKCk7XHJcbiAgICByZXR1cm4gY2FjaGVkO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZW1vdmUgYWxsIHJlY29yZHMgZnJvbSBjYWNoZVxyXG4gIC8vLyAgIGNsZWFyIHRoZSBjYWNoZSBvZiBhbGwgc3ViIGZvcm1zIHRvb1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY2xlYXJDYWNoZSgpOiB2b2lkIHtcclxuICAgIC8vIGNsZWFycyBjdXJyZW50IGNhY2hlXHJcbiAgICBsZXQgZHZLZXlzTGlzdDogTGlzdDxudW1iZXI+ID0gbmV3IExpc3QodGhpcy5fY2FjaGVUYWJsZS5LZXlzKTtcclxuXHJcbiAgICBmb3IobGV0IGkgPSAwIDsgaSA8IGR2S2V5c0xpc3QubGVuZ3RoIDsgaSsrKVxyXG4gICAge1xyXG4gICAgICBsZXQgZHZLZXk9IGR2S2V5c0xpc3RbaV07XHJcbiAgICAgIHRoaXMucmVtb3ZlRHZGcm9tQ2FjaGUoZHZLZXksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNsZWFycyBhbGwgc3ViLWZvcm1zIGNhY2hlXHJcbiAgICBpZiAodGhpcy5fdGFzay5oYXNTdWJUYXNrcygpKSB7XHJcbiAgICAgIGxldCBzdWJUYXNrczogVGFza3NUYWJsZSA9IHRoaXMuX3Rhc2suZ2V0U3ViVGFza3MoKTtcclxuXHJcbiAgICAgIGZvciAobGV0IGo6IG51bWJlciA9IDA7IGogPCBzdWJUYXNrcy5nZXRTaXplKCk7IGogPSBqICsgMSlcclxuICAgICAgICBzdWJUYXNrcy5nZXRUYXNrKGopLmdldFRhc2tDYWNoZSgpLmNsZWFyQ2FjaGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBpbnZhbGlkYXRlIHRoZSBjdXJyZW50IGQudiBzbyBpdCB3aWxsIG5vdCBlbnRlciB0aGUgY2FjaGUgb24gcmV0dXJuIGZyb20gc2VydmVyXHJcbiAgICAoPERhdGFWaWV3PnRoaXMuX3Rhc2suRGF0YVZpZXcpLnNldENoYW5nZWQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc0RlbGV0ZWQoZHZQb3NWYWw6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZWRMaXN0LkNvbnRhaW5zKGR2UG9zVmFsKTtcclxuICB9XHJcbn1cclxuIl19