@magic-xpa/engine 4.1100.0-dev4110.98 → 4.1100.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. package/README.md +7 -7
  2. package/{esm2020 → esm2022}/index.mjs +188 -188
  3. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  4. package/esm2022/src/AccessHelper.mjs +15 -0
  5. package/esm2022/src/ClientManager.mjs +421 -0
  6. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  7. package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
  8. package/esm2022/src/CommandsTable.mjs +162 -0
  9. package/esm2022/src/ConstInterface.mjs +517 -0
  10. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  11. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  12. package/esm2022/src/GUIManager.mjs +62 -0
  13. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  14. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  15. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  16. package/esm2022/src/ServerConfig.mjs +122 -0
  17. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  18. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  19. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  22. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  23. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  24. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  25. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
  26. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  27. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  28. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  29. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  32. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  33. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  34. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  35. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  36. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  37. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  38. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  40. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  41. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  42. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  44. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  45. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  47. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  48. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  49. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  50. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  51. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  52. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  53. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  54. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  55. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  56. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  57. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  58. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  59. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  60. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  61. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  62. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
  63. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
  64. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  65. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  66. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  67. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  70. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  71. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  72. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  73. package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
  74. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  75. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  76. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  77. package/esm2022/src/data/DataView.mjs +1613 -0
  78. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  79. package/esm2022/src/data/DataviewManager.mjs +28 -0
  80. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  81. package/esm2022/src/data/DvCache.mjs +67 -0
  82. package/esm2022/src/data/Field.mjs +646 -0
  83. package/esm2022/src/data/FieldBase.mjs +15 -0
  84. package/esm2022/src/data/FieldsTable.mjs +103 -0
  85. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  86. package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
  87. package/esm2022/src/data/Record.mjs +880 -0
  88. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  89. package/esm2022/src/data/RecordsTable.mjs +267 -0
  90. package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
  91. package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
  92. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  93. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  94. package/esm2022/src/env/Environment.mjs +487 -0
  95. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  96. package/esm2022/src/env/LanguageData.mjs +227 -0
  97. package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
  98. package/esm2022/src/event/ActionManager.mjs +91 -0
  99. package/esm2022/src/event/Event.mjs +1333 -0
  100. package/esm2022/src/event/EventHandler.mjs +766 -0
  101. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  102. package/esm2022/src/event/EventsManager.mjs +2988 -0
  103. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  104. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  105. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  106. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  107. package/esm2022/src/exp/ExpTable.mjs +57 -0
  108. package/esm2022/src/exp/Expression.mjs +200 -0
  109. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  110. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  111. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  112. package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
  113. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  114. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  115. package/esm2022/src/gui/FormsTable.mjs +66 -0
  116. package/esm2022/src/gui/MgControl.mjs +363 -0
  117. package/esm2022/src/gui/MgForm.mjs +1224 -0
  118. package/esm2022/src/http/HttpManager.mjs +97 -0
  119. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  120. package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
  121. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  122. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  123. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  124. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  125. package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
  126. package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
  127. package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
  128. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  129. package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
  130. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  133. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  134. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  135. package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
  136. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  137. package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
  138. package/esm2022/src/remote/ServerError.mjs +40 -0
  139. package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
  140. package/esm2022/src/rt/Argument.mjs +265 -0
  141. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  142. package/esm2022/src/rt/Boundary.mjs +152 -0
  143. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  144. package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
  145. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  146. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  147. package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
  149. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  150. package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
  151. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  154. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  155. package/esm2022/src/rt/Operation.mjs +735 -0
  156. package/esm2022/src/rt/OperationTable.mjs +67 -0
  157. package/esm2022/src/rt/Recompute.mjs +355 -0
  158. package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
  159. package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
  160. package/esm2022/src/rt/ResultValue.mjs +10 -0
  161. package/esm2022/src/rt/TableCache.mjs +177 -0
  162. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  163. package/esm2022/src/rt/Transaction.mjs +53 -0
  164. package/esm2022/src/security/UserDetails.mjs +71 -0
  165. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  166. package/esm2022/src/tasks/MGData.mjs +552 -0
  167. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  168. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  169. package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
  170. package/esm2022/src/tasks/Task.mjs +2499 -0
  171. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  172. package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
  173. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  174. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  175. package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
  176. package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
  177. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  178. package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
  179. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  181. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  182. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  183. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  184. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  185. package/esm2022/src/util/PrmMap.mjs +152 -0
  186. package/esm2022/src/util/ReturnResult.mjs +46 -0
  187. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  188. package/esm2022/src/util/Scrambler.mjs +89 -0
  189. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  190. package/{esm2020 → esm2022}/src/util/cookie.service.mjs +92 -92
  191. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29888 -29690
  192. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  193. package/index.d.ts +187 -187
  194. package/package.json +8 -14
  195. package/src/AccessHelper.d.ts +20 -20
  196. package/src/ClientManager.d.ts +35 -32
  197. package/src/CommandsProcessorBase.d.ts +23 -23
  198. package/src/CommandsProcessorManager.d.ts +6 -6
  199. package/src/CommandsTable.d.ts +22 -22
  200. package/src/ConstInterface.d.ts +516 -515
  201. package/src/CurrentClientVersion.d.ts +1 -1
  202. package/src/FlowMonitorInterface.d.ts +15 -15
  203. package/src/GUIManager.d.ts +17 -17
  204. package/src/GlobalCommandsManager.d.ts +17 -17
  205. package/src/GuiEventsProcessor.d.ts +24 -24
  206. package/src/ICommandsTable.d.ts +9 -9
  207. package/src/ServerConfig.d.ts +35 -34
  208. package/src/bridge/IGuiEvent.d.ts +19 -19
  209. package/src/bridge/MagicBridge.d.ts +16 -16
  210. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  211. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  212. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  214. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  216. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  217. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  218. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  219. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  220. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  221. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  223. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  224. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  225. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  226. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  228. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  229. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  230. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  231. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  232. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  233. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  234. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  235. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  236. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  237. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  238. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  239. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  240. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  241. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  242. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  243. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  244. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  245. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  246. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  247. package/src/commands/DataViewCommandBase.d.ts +6 -6
  248. package/src/commands/IClientCommand.d.ts +2 -2
  249. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  250. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  251. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  252. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  253. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  254. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  255. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  256. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  257. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  258. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  259. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  262. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  263. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  264. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  265. package/src/communications/IConnectionStateManager.d.ts +4 -4
  266. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  267. package/src/data/DataSourceIdKey.d.ts +2 -2
  268. package/src/data/DataView.d.ts +162 -162
  269. package/src/data/DataViewBase.d.ts +12 -12
  270. package/src/data/DataviewManager.d.ts +14 -14
  271. package/src/data/DataviewManagerBase.d.ts +11 -11
  272. package/src/data/DvCache.d.ts +15 -15
  273. package/src/data/Field.d.ts +103 -103
  274. package/src/data/FieldBase.d.ts +23 -23
  275. package/src/data/FieldsTable.d.ts +27 -27
  276. package/src/data/IRecordsTable.d.ts +7 -7
  277. package/src/data/Key.d.ts +15 -15
  278. package/src/data/Record.d.ts +157 -156
  279. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  280. package/src/data/RecordsTable.d.ts +38 -38
  281. package/src/data/TaskTransactionManager.d.ts +17 -17
  282. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  283. package/src/enums.d.ts +21 -21
  284. package/src/env/EnvVariablesTable.d.ts +17 -17
  285. package/src/env/Environment.d.ts +118 -118
  286. package/src/env/ILanguageData.d.ts +3 -3
  287. package/src/env/LanguageData.d.ts +20 -20
  288. package/src/env/MirrorString.d.ts +15 -15
  289. package/src/event/ActionManager.d.ts +14 -14
  290. package/src/event/Event.d.ts +79 -79
  291. package/src/event/EventHandler.d.ts +66 -66
  292. package/src/event/EventHandlerPosition.d.ts +25 -25
  293. package/src/event/EventsManager.d.ts +205 -204
  294. package/src/event/IEventsManager.d.ts +77 -77
  295. package/src/event/RunTimeEvent.d.ts +126 -123
  296. package/src/event/RunTimeEventBase.d.ts +5 -5
  297. package/src/event/UserEventsTable.d.ts +11 -11
  298. package/src/exp/ExpTable.d.ts +11 -11
  299. package/src/exp/Expression.d.ts +37 -37
  300. package/src/exp/ExpressionDict.d.ts +12 -12
  301. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  302. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  303. package/src/exp/GlobalParamsTable.d.ts +19 -19
  304. package/src/exp/YesNoExp.d.ts +9 -9
  305. package/src/gui/CreatedFormVector.d.ts +10 -10
  306. package/src/gui/FormsTable.d.ts +15 -15
  307. package/src/gui/MgControl.d.ts +60 -60
  308. package/src/gui/MgForm.d.ts +96 -93
  309. package/src/http/HttpManager.d.ts +25 -25
  310. package/src/http/client/HttpClientAsync.d.ts +16 -16
  311. package/src/http/client/HttpClientBase.d.ts +30 -30
  312. package/src/http/client/HttpClientEvents.d.ts +18 -18
  313. package/src/http/client/HttpClientSync.d.ts +17 -17
  314. package/src/http/client/HttpUtility.d.ts +10 -10
  315. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  316. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  319. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  320. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  321. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  322. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  323. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  324. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  325. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  329. package/src/remote/ServerError.d.ts +16 -16
  330. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  331. package/src/rt/Argument.d.ts +36 -36
  332. package/src/rt/ArgumentsList.d.ts +24 -24
  333. package/src/rt/Boundary.d.ts +27 -27
  334. package/src/rt/CompMainPrgTable.d.ts +10 -10
  335. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  336. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  337. package/src/rt/DataviewHeaders.d.ts +12 -12
  338. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  339. package/src/rt/ExecutionStack.d.ts +22 -22
  340. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  341. package/src/rt/HandlersTable.d.ts +19 -19
  342. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  343. package/src/rt/IDataviewHeader.d.ts +10 -10
  344. package/src/rt/IResultValue.d.ts +4 -4
  345. package/src/rt/LastFocusedManager.d.ts +23 -23
  346. package/src/rt/Operation.d.ts +97 -97
  347. package/src/rt/OperationTable.d.ts +15 -15
  348. package/src/rt/Recompute.d.ts +41 -41
  349. package/src/rt/RecomputeTable.d.ts +9 -9
  350. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  351. package/src/rt/ResultValue.d.ts +7 -7
  352. package/src/rt/TableCache.d.ts +29 -29
  353. package/src/rt/TableCacheManager.d.ts +10 -10
  354. package/src/rt/Transaction.d.ts +23 -23
  355. package/src/security/UserDetails.d.ts +16 -16
  356. package/src/tasks/IMGDataCollection.d.ts +26 -26
  357. package/src/tasks/MGData.d.ts +63 -63
  358. package/src/tasks/MGDataCollection.d.ts +42 -42
  359. package/src/tasks/RCTimer.d.ts +13 -13
  360. package/src/tasks/RemoteTaskService.d.ts +16 -16
  361. package/src/tasks/Task.d.ts +312 -312
  362. package/src/tasks/TaskBase.d.ts +123 -123
  363. package/src/tasks/TaskServiceBase.d.ts +16 -16
  364. package/src/tasks/TasksTable.d.ts +21 -21
  365. package/src/tasks/sort/Sort.d.ts +4 -4
  366. package/src/tasks/sort/SortCollection.d.ts +11 -11
  367. package/src/util/ConstUtils.d.ts +3 -3
  368. package/src/util/FlowMonitorQueue.d.ts +70 -70
  369. package/src/util/HeapSort.d.ts +6 -6
  370. package/src/util/IMirrorXML.d.ts +6 -6
  371. package/src/util/IServerConfig.d.ts +11 -11
  372. package/src/util/MgBlockingQueue.d.ts +5 -5
  373. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  374. package/src/util/MgPriorityQueue.d.ts +13 -13
  375. package/src/util/ParamParseResult.d.ts +6 -6
  376. package/src/util/PrmMap.d.ts +28 -28
  377. package/src/util/ReturnResult.d.ts +18 -18
  378. package/src/util/ReturnResultBase.d.ts +11 -11
  379. package/src/util/Scrambler.d.ts +10 -10
  380. package/src/util/UniqueIDUtils.d.ts +4 -4
  381. package/src/util/cookie.service.d.ts +8 -8
  382. package/esm2020/src/AccessHelper.mjs +0 -9
  383. package/esm2020/src/ClientManager.mjs +0 -399
  384. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  385. package/esm2020/src/CommandsTable.mjs +0 -162
  386. package/esm2020/src/ConstInterface.mjs +0 -516
  387. package/esm2020/src/FlowMonitorInterface.mjs +0 -16
  388. package/esm2020/src/GUIManager.mjs +0 -62
  389. package/esm2020/src/GlobalCommandsManager.mjs +0 -34
  390. package/esm2020/src/GuiEventsProcessor.mjs +0 -154
  391. package/esm2020/src/ServerConfig.mjs +0 -117
  392. package/esm2020/src/bridge/MagicBridge.mjs +0 -41
  393. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  394. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
  395. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  396. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  397. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  398. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  399. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  400. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  401. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  402. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  403. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  404. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  405. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  406. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  407. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  408. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  409. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  410. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  411. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  412. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  413. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  414. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  415. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  416. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  417. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  418. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  419. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  420. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  421. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  422. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  423. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  424. package/esm2020/src/data/DataView.mjs +0 -1610
  425. package/esm2020/src/data/DataviewManager.mjs +0 -28
  426. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  427. package/esm2020/src/data/DvCache.mjs +0 -67
  428. package/esm2020/src/data/Field.mjs +0 -646
  429. package/esm2020/src/data/FieldBase.mjs +0 -18
  430. package/esm2020/src/data/FieldsTable.mjs +0 -103
  431. package/esm2020/src/data/Record.mjs +0 -846
  432. package/esm2020/src/data/RecordsTable.mjs +0 -267
  433. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  434. package/esm2020/src/env/Environment.mjs +0 -489
  435. package/esm2020/src/env/LanguageData.mjs +0 -226
  436. package/esm2020/src/event/ActionManager.mjs +0 -91
  437. package/esm2020/src/event/Event.mjs +0 -1333
  438. package/esm2020/src/event/EventHandler.mjs +0 -766
  439. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  440. package/esm2020/src/event/EventsManager.mjs +0 -2975
  441. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  442. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  443. package/esm2020/src/exp/ExpTable.mjs +0 -59
  444. package/esm2020/src/exp/Expression.mjs +0 -200
  445. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  446. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4208
  447. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  448. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  449. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  450. package/esm2020/src/gui/FormsTable.mjs +0 -66
  451. package/esm2020/src/gui/MgControl.mjs +0 -353
  452. package/esm2020/src/gui/MgForm.mjs +0 -1181
  453. package/esm2020/src/http/HttpManager.mjs +0 -97
  454. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  455. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  456. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  457. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  458. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  459. package/esm2020/src/remote/ServerError.mjs +0 -40
  460. package/esm2020/src/rt/Argument.mjs +0 -265
  461. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  462. package/esm2020/src/rt/Boundary.mjs +0 -152
  463. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  464. package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
  465. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  466. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  467. package/esm2020/src/rt/Operation.mjs +0 -735
  468. package/esm2020/src/rt/OperationTable.mjs +0 -67
  469. package/esm2020/src/rt/Recompute.mjs +0 -355
  470. package/esm2020/src/rt/ResultValue.mjs +0 -12
  471. package/esm2020/src/rt/TableCache.mjs +0 -177
  472. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  473. package/esm2020/src/rt/Transaction.mjs +0 -53
  474. package/esm2020/src/security/UserDetails.mjs +0 -71
  475. package/esm2020/src/tasks/MGData.mjs +0 -552
  476. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  477. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  478. package/esm2020/src/tasks/Task.mjs +0 -2496
  479. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  480. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  481. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  482. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  483. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  484. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  485. package/esm2020/src/util/PrmMap.mjs +0 -151
  486. package/esm2020/src/util/ReturnResult.mjs +0 -46
  487. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  488. package/esm2020/src/util/Scrambler.mjs +0 -89
  489. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  490. package/fesm2015/magic-xpa-engine.mjs +0 -30837
  491. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  492. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -0,0 +1,261 @@
1
+ import { NUM_TYPE } from '@magic-xpa/gui';
2
+ import { InternalInterface, StorageAttribute, ViewRefreshMode } from '@magic-xpa/utils';
3
+ import { EventCommand } from './EventCommand';
4
+ import { RollbackEventCommand } from './RollbackEventCommand';
5
+ import { DataviewCommand, DataViewCommandType } from './DataviewCommand';
6
+ import { AddUserRangeDataviewCommand } from './AddUserRangeDataviewCommand';
7
+ import { AddUserSortDataViewCommand } from './AddUserSortDataViewCommand';
8
+ import { AddUserLocateDataViewCommand } from './AddUserLocateDataViewCommand';
9
+ import { SetTransactionStateDataviewCommand } from './SetTransactionStateDataviewCommand';
10
+ import { RefreshEventCommand } from './RefreshEventCommand';
11
+ import { FetchDataControlValuesEventCommand } from './FetchDataControlValuesEventCommand';
12
+ import { SubformRefreshEventCommand } from './SubformRefreshEventCommand';
13
+ import { BrowserEscEventCommand } from './BrowserEscEventCommand';
14
+ import { IndexChangeEventCommand } from './IndexChangeEventCommand';
15
+ import { ColumnSortEventCommand } from './ColumnSortEventCommand';
16
+ import { RefreshScreenEventCommand } from './RefreshScreenEventCommand';
17
+ import { SubformOpenEventCommand } from './SubformOpenEventCommand';
18
+ import { ComputeEventCommand } from './ComputeEventCommand';
19
+ import { NonReversibleExitEventCommand } from './NonReversibleExitEventCommand';
20
+ import { RecomputeCommand } from './RecomputeCommand';
21
+ import { TransactionCommand } from './TransactionCommand';
22
+ import { UnloadCommand } from './UnloadCommand';
23
+ import { ExecOperCommand } from './ExecOperCommand';
24
+ import { EvaluateCommand } from './EvaluateCommand';
25
+ import { GlobalParamsQueryCommand } from './GlobalParamsQueryCommand';
26
+ import { IniputForceWriteCommand } from './IniputForceWriteCommand';
27
+ import { ContextTerminationEventCommand } from './ContextTerminationEventCommand';
28
+ import { ContextTimeoutResetCommand } from './ContextTimeoutResetCommand';
29
+ import { SelectProgramCommand } from './SelectProgramCommand';
30
+ import { ControlItemsRefreshCommand } from './ControlItemsRefreshCommand';
31
+ export class CommandFactory {
32
+ static CreateEventCommand(taskTag, magicEvent) {
33
+ let eventCommand = new EventCommand(magicEvent);
34
+ eventCommand.TaskTag = taskTag;
35
+ return eventCommand;
36
+ }
37
+ static CreateRollbackEventCommand(taskTag, rollbackType) {
38
+ let cmd = new RollbackEventCommand();
39
+ cmd.TaskTag = taskTag;
40
+ cmd.Rollback = rollbackType;
41
+ return cmd;
42
+ }
43
+ static CreateDataViewCommand(taskId, commandType) {
44
+ let dataviewCommand = new DataviewCommand();
45
+ dataviewCommand.CommandType = commandType;
46
+ dataviewCommand.TaskTag = taskId;
47
+ return dataviewCommand;
48
+ }
49
+ static CreateControlItemsRefreshCommand(taskId, control) {
50
+ let command = new ControlItemsRefreshCommand();
51
+ command.CommandType = DataViewCommandType.ControlItemsRefresh;
52
+ command.TaskTag = taskId;
53
+ command.Control = control;
54
+ return command;
55
+ }
56
+ static CreateAddUserRangeDataviewCommand(taskId, userRange) {
57
+ let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
58
+ addUserRangeDataviewCommand.TaskTag = taskId;
59
+ addUserRangeDataviewCommand.Range = userRange;
60
+ return addUserRangeDataviewCommand;
61
+ }
62
+ static CreateAddUserSortDataviewCommand(taskId, sort) {
63
+ let addUserSortDataViewCommand = new AddUserSortDataViewCommand();
64
+ addUserSortDataViewCommand.TaskTag = taskId;
65
+ addUserSortDataViewCommand.Sort = sort;
66
+ return addUserSortDataViewCommand;
67
+ }
68
+ static CreateAddUserLocateDataviewCommand(taskId, userRange) {
69
+ let addUserLocateDataViewCommand = new AddUserLocateDataViewCommand();
70
+ addUserLocateDataViewCommand.TaskTag = taskId;
71
+ addUserLocateDataViewCommand.Range = userRange;
72
+ return addUserLocateDataViewCommand;
73
+ }
74
+ static CreateSetTransactionStateDataviewCommand(taskId, transactionIsOpened) {
75
+ let setTransactionStateDataviewCommand = new SetTransactionStateDataviewCommand();
76
+ setTransactionStateDataviewCommand.TaskTag = taskId;
77
+ setTransactionStateDataviewCommand.TransactionIsOpen = transactionIsOpened;
78
+ return setTransactionStateDataviewCommand;
79
+ }
80
+ static CreateInternalRefreshCommand(taskId, magicEvent, currentRecId, currentRow) {
81
+ let refreshEventCommand = new RefreshEventCommand(magicEvent);
82
+ refreshEventCommand.TaskTag = taskId;
83
+ refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
84
+ refreshEventCommand.ClientRecId = currentRecId;
85
+ refreshEventCommand.IsInternalRefresh = true;
86
+ refreshEventCommand.CurrentRecordRow = currentRow;
87
+ return refreshEventCommand;
88
+ }
89
+ static async CreateRealRefreshCommand(taskId, magicEvent, currentRow, argList, currentRecId) {
90
+ let refreshEventCommand = new RefreshEventCommand(magicEvent);
91
+ refreshEventCommand.TaskTag = taskId;
92
+ refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
93
+ refreshEventCommand.KeepUserSort = false;
94
+ refreshEventCommand.ClientRecId = currentRecId;
95
+ refreshEventCommand.CurrentRecordRow = currentRow;
96
+ let cmd = refreshEventCommand;
97
+ if (magicEvent !== InternalInterface.MG_ACT_RT_REFRESH_RECORD && argList !== null && argList.getSize() !== 0) {
98
+ try {
99
+ let refreshMode = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
100
+ cmd.RefreshMode = refreshMode.NUM_2_LONG() + 1;
101
+ }
102
+ catch (e) {
103
+ cmd.RefreshMode = ViewRefreshMode.CurrentLocation;
104
+ }
105
+ if (argList.getSize() > 1) {
106
+ try {
107
+ cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === '1');
108
+ }
109
+ catch (e) {
110
+ cmd.KeepUserSort = false;
111
+ }
112
+ }
113
+ }
114
+ return cmd;
115
+ }
116
+ static CreatecFetchDataControlValuesCommand(taskTag, controlName) {
117
+ let fetchDataControlValuesEventCommand = new FetchDataControlValuesEventCommand();
118
+ fetchDataControlValuesEventCommand.TaskTag = taskTag;
119
+ fetchDataControlValuesEventCommand.ControlName = controlName;
120
+ return fetchDataControlValuesEventCommand;
121
+ }
122
+ static CreateSubformRefreshCommand(taskTag, subformTaskTag, explicitSubformRefresh) {
123
+ let subformRefreshEventCommand = new SubformRefreshEventCommand();
124
+ subformRefreshEventCommand.TaskTag = taskTag;
125
+ subformRefreshEventCommand.SubformTaskTag = subformTaskTag;
126
+ subformRefreshEventCommand.ExplicitSubformRefresh = explicitSubformRefresh;
127
+ subformRefreshEventCommand.RefreshMode = ViewRefreshMode.UseTaskLocate;
128
+ return subformRefreshEventCommand;
129
+ }
130
+ static CreateSubformOpenCommand(taskTag, subformDitIdx) {
131
+ let subformOpenEventCommand = new SubformOpenEventCommand();
132
+ subformOpenEventCommand.TaskTag = taskTag;
133
+ subformOpenEventCommand.DitIdx = subformDitIdx;
134
+ return subformOpenEventCommand;
135
+ }
136
+ static CreateScreenRefreshCommand(taskTag, topRecIdx, clientRecId) {
137
+ let refreshScreenEventCommand = new RefreshScreenEventCommand();
138
+ refreshScreenEventCommand.TaskTag = taskTag;
139
+ refreshScreenEventCommand.TopRecIdx = topRecIdx;
140
+ refreshScreenEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
141
+ refreshScreenEventCommand.ClientRecId = clientRecId;
142
+ return refreshScreenEventCommand;
143
+ }
144
+ static CreateColumnSortCommand(taskTag, direction, ditIdx, fieldId, recId) {
145
+ let columnSortEventCommand = new ColumnSortEventCommand();
146
+ columnSortEventCommand.TaskTag = taskTag;
147
+ columnSortEventCommand.DitIdx = ditIdx;
148
+ columnSortEventCommand.FldId = fieldId + 1;
149
+ columnSortEventCommand.ClientRecId = recId;
150
+ columnSortEventCommand.Direction = direction;
151
+ return columnSortEventCommand;
152
+ }
153
+ static async CreateIndexChangeCommand(taskTag, recId, argList) {
154
+ let indexChangeEventCommand = new IndexChangeEventCommand();
155
+ indexChangeEventCommand.TaskTag = taskTag;
156
+ indexChangeEventCommand.ClientRecId = recId;
157
+ let cmd = indexChangeEventCommand;
158
+ if (argList !== null && argList.getSize() !== 0) {
159
+ try {
160
+ let keyIndex = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
161
+ cmd.KeyIndex = keyIndex.NUM_2_LONG();
162
+ }
163
+ catch (e) {
164
+ cmd.KeyIndex = 0;
165
+ }
166
+ }
167
+ return cmd;
168
+ }
169
+ static CreateBrowserEscEventCommand(taskTag, closeSubformOnly) {
170
+ let browserEscEventCommand = new BrowserEscEventCommand();
171
+ browserEscEventCommand.TaskTag = taskTag;
172
+ browserEscEventCommand.CloseSubformOnly = closeSubformOnly;
173
+ return browserEscEventCommand;
174
+ }
175
+ static CreateComputeEventCommand(taskTag, subforms, clientRecId) {
176
+ let computeEventCommand = new ComputeEventCommand();
177
+ computeEventCommand.TaskTag = taskTag;
178
+ computeEventCommand.Subforms = subforms;
179
+ computeEventCommand.ClientRecId = clientRecId;
180
+ return computeEventCommand;
181
+ }
182
+ static CreateContextTerminationEventCommand(taskTag) {
183
+ let contextTerminationEventCommand = new ContextTerminationEventCommand();
184
+ contextTerminationEventCommand.TaskTag = taskTag;
185
+ return contextTerminationEventCommand;
186
+ }
187
+ static CreateContextTimeoutResetEventCommand() {
188
+ let contextTimeoutResetCommand = new ContextTimeoutResetCommand();
189
+ return contextTimeoutResetCommand;
190
+ }
191
+ static CreateNonReversibleExitCommand(taskTag, closeSubformOnly) {
192
+ let nonReversibleExitEventCommand = new NonReversibleExitEventCommand();
193
+ nonReversibleExitEventCommand.TaskTag = taskTag;
194
+ nonReversibleExitEventCommand.CloseSubformOnly = closeSubformOnly;
195
+ return nonReversibleExitEventCommand;
196
+ }
197
+ static CreateRecomputeCommand(taskTag, fieldId, ignoreSubformRecompute) {
198
+ let recomputeCommand = new RecomputeCommand();
199
+ recomputeCommand.TaskTag = taskTag;
200
+ recomputeCommand.FldId = fieldId;
201
+ recomputeCommand.IgnoreSubformRecompute = ignoreSubformRecompute;
202
+ return recomputeCommand;
203
+ }
204
+ static CreateTransactionCommand(oper, taskTag, cReversibleExit, level, updatedFields) {
205
+ let transactionCommand = new TransactionCommand();
206
+ transactionCommand.TaskTag = taskTag;
207
+ transactionCommand.Oper = oper;
208
+ transactionCommand.ReversibleExit = cReversibleExit;
209
+ transactionCommand.Level = level;
210
+ transactionCommand.UpdatedFields = updatedFields;
211
+ return transactionCommand;
212
+ }
213
+ static CreateUnloadCommand() {
214
+ return new UnloadCommand();
215
+ }
216
+ static CreateExecOperCommand(taskTag, handlerId, operIdx, ditIdx, value) {
217
+ let execOperCommand = new ExecOperCommand();
218
+ execOperCommand.OperIdx = operIdx;
219
+ execOperCommand.TaskTag = taskTag;
220
+ execOperCommand.HandlerId = handlerId;
221
+ execOperCommand.DitIdx = ditIdx;
222
+ let cmd = execOperCommand;
223
+ if (value !== null && value.length === 0)
224
+ cmd.Val = ' ';
225
+ else
226
+ cmd.Val = value;
227
+ return cmd;
228
+ }
229
+ static CreateSelectProgramCommand(taskTag, handlerId, operIdx, ditIdx, value) {
230
+ let execOperCommand = new SelectProgramCommand();
231
+ execOperCommand.OperIdx = operIdx;
232
+ execOperCommand.TaskTag = taskTag;
233
+ execOperCommand.HandlerId = handlerId;
234
+ execOperCommand.DitIdx = ditIdx;
235
+ let cmd = execOperCommand;
236
+ if (value !== null && value.length === 0)
237
+ cmd.Val = ' ';
238
+ else
239
+ cmd.Val = value;
240
+ return cmd;
241
+ }
242
+ static CreateEvaluateCommand(taskTag, expType, expIdx, expValLen, mprgCreator) {
243
+ let evaluateCommand = new EvaluateCommand();
244
+ evaluateCommand.TaskTag = taskTag;
245
+ evaluateCommand.ExpIdx = expIdx;
246
+ evaluateCommand.ExpType = expType;
247
+ evaluateCommand.MprgCreator = mprgCreator;
248
+ if (expValLen > 0)
249
+ evaluateCommand.LengthExpVal = expValLen;
250
+ return evaluateCommand;
251
+ }
252
+ static CreateQueryGlobalParamsCommand() {
253
+ return new GlobalParamsQueryCommand();
254
+ }
255
+ static CreateIniputForceWriteCommand(param) {
256
+ let iniputForceWriteCommand = new IniputForceWriteCommand();
257
+ iniputForceWriteCommand.Text = param;
258
+ return iniputForceWriteCommand;
259
+ }
260
+ }
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFB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QzNILElBQUksZUFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzdELGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFDLElBQUksU0FBUyxHQUFHLENBQUM7WUFDZixlQUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tICcuL0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Um9sbGJhY2tFdmVudENvbW1hbmQsIFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZX0gZnJvbSAnLi9Sb2xsYmFja0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tICcuL0RhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7VXNlclJhbmdlfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrQmFzZSc7XHJcbmltcG9ydCB7QWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vdGFza3Mvc29ydC9Tb3J0JztcclxuaW1wb3J0IHtBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7QWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge1JlZnJlc2hFdmVudENvbW1hbmR9IGZyb20gJy4vUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSAnLi4vLi4vcnQvQXJndW1lbnRzTGlzdCc7XHJcbmltcG9ydCB7RmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9TdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QnJvd3NlckVzY0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJbmRleENoYW5nZUV2ZW50Q29tbWFuZH0gZnJvbSAnLi9JbmRleENoYW5nZUV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db2x1bW5Tb3J0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbXB1dGVFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kfSBmcm9tICcuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWNvbXB1dGVDb21tYW5kfSBmcm9tICcuL1JlY29tcHV0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSAnLi9UcmFuc2FjdGlvbkNvbW1hbmQnO1xyXG5pbXBvcnQge1VubG9hZENvbW1hbmR9IGZyb20gJy4vVW5sb2FkQ29tbWFuZCc7XHJcbmltcG9ydCB7RXhlY09wZXJDb21tYW5kfSBmcm9tICcuL0V4ZWNPcGVyQ29tbWFuZCc7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tICcuL0V2YWx1YXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7R2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kfSBmcm9tICcuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZCc7XHJcbmltcG9ydCB7SW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmR9IGZyb20gJy4vSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kfSBmcm9tICcuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kJztcclxuaW1wb3J0IHsgU2VsZWN0UHJvZ3JhbUNvbW1hbmQgfSBmcm9tICcuL1NlbGVjdFByb2dyYW1Db21tYW5kJztcclxuaW1wb3J0IHsgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgfSBmcm9tICcuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIGNvbW1hbmRzXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kRmFjdG9yeSB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyKTogRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBldmVudENvbW1hbmQ6IEV2ZW50Q29tbWFuZCA9IG5ldyBFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICBldmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gZXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNIYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjT2JqXCI+dGhlIERJVCBpbmRleCBvZiB0aGUgY29udHJvbCB0aGF0IGhhZCB0aGUgZm9jdXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJvbGxiYWNrRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcm9sbGJhY2tUeXBlOiBSb2xsYmFja0V2ZW50Q29tbWFuZF9Sb2xsYmFja1R5cGUpOiBSb2xsYmFja0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY21kOiBSb2xsYmFja0V2ZW50Q29tbWFuZCA9IG5ldyBSb2xsYmFja0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgY21kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY21kLlJvbGxiYWNrID0gcm9sbGJhY2tUeXBlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgZ2VuZXJhbCBkYXRhdmlldyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVEYXRhVmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbW1hbmRUeXBlOiBEYXRhVmlld0NvbW1hbmRUeXBlKTogRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBkYXRhdmlld0NvbW1hbmQ6IERhdGF2aWV3Q29tbWFuZCA9IG5ldyBEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZXR1cm4gZGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBjb250cm9sIGl0ZW0gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbW1hbmQ6IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kID0gbmV3IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKCk7XHJcbiAgICBjb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgY29tbWFuZC5Db250cm9sID0gY29udHJvbDtcclxuICAgIHJldHVybiBjb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgc29ydDogU29ydCk6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5Tb3J0ID0gc29ydDtcclxuICAgIHJldHVybiBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBzZXQgdHJhbnNhY3Rpb24gc3RhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0cmFuc2FjdGlvbklzT3BlbmVkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB0cmFuc2FjdGlvbklzT3BlbmVkOiBib29sZWFuKTogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRyYW5zYWN0aW9uSXNPcGVuID0gdHJhbnNhY3Rpb25Jc09wZW5lZDtcclxuICAgIHJldHVybiBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSAnMScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudCBjb21tYW5kIHdoaWNoIHdpbGwgZmV0Y2ggdGhlIGRhdGEgY29udHJvbCB2YWx1ZXMgZnJvbSBzZXJ2ZXIuIFRoaXMgaXMgdXNlZCB3aGlsZSBleGVjdXRpbmcgQ29udHJvbEl0ZW1zUmVmcmVzaCgpIGZ1bmN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImdlbmVyYXRpb25QYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlY0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQgPSBuZXcgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuQ29udHJvbE5hbWUgPSBjb250cm9sTmFtZTtcclxuICAgIHJldHVybiBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybVJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybVRhc2tUYWc6IHN0cmluZywgZXhwbGljaXRTdWJmb3JtUmVmcmVzaDogYm9vbGVhbik6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuU3ViZm9ybVRhc2tUYWcgPSBzdWJmb3JtVGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLkV4cGxpY2l0U3ViZm9ybVJlZnJlc2ggPSBleHBsaWNpdFN1YmZvcm1SZWZyZXNoO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuVXNlVGFza0xvY2F0ZTtcclxuICAgIHJldHVybiBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgc3ViZm9ybSBvcGVuIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtT3BlbkNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtRGl0SWR4OiBudW1iZXIpOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLkRpdElkeCA9IHN1YmZvcm1EaXRJZHg7XHJcbiAgICByZXR1cm4gc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBzY3JlZW4gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2NyZWVuUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCB0b3BSZWNJZHg6IG51bWJlciwgY2xpZW50UmVjSWQ6IG51bWJlcik6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVG9wUmVjSWR4ID0gdG9wUmVjSWR4O1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgY29sdW1uIHNvcnQgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbHVtblNvcnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZGlyZWN0aW9uOiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCBmaWVsZElkOiBudW1iZXIsIHJlY0lkOiBudW1iZXIpOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kID0gbmV3IENvbHVtblNvcnRFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRmxkSWQgPSBmaWVsZElkICsgMTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGlyZWN0aW9uID0gZGlyZWN0aW9uO1xyXG4gICAgcmV0dXJuIGNvbHVtblNvcnRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gICBjcmVhdGVzIGFuIEluZGV4IENoYW5nZSBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgYXN5bmMgQ3JlYXRlSW5kZXhDaGFuZ2VDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcmVjSWQ6IG51bWJlciwgYXJnTGlzdDogQXJndW1lbnRzTGlzdCk6IFByb21pc2U8SW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ+IHtcclxuICAgIGxldCBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBuZXcgSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQoKTtcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGxldCBjbWQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgLy8gMSBwYXJhbWV0ZXIgOiBUaGUgbmV3IEtleSBJbmRleFxyXG4gICAgaWYgKGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQga2V5SW5kZXg6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0ga2V5SW5kZXguTlVNXzJfTE9ORygpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiZXhpdEJ5TWVudVwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImNsb3NlU3ViZm9ybU9ubHlcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVCcm93c2VyRXNjRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGJyb3dzZXJFc2NFdmVudENvbW1hbmQ6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQgPSBuZXcgQnJvd3NlckVzY0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gYnJvd3NlckVzY0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNsaWVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb21wdXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybXM6IGJvb2xlYW4sIGNsaWVudFJlY0lkOiBudW1iZXIpOiBDb21wdXRlRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb21wdXRlRXZlbnRDb21tYW5kOiBDb21wdXRlRXZlbnRDb21tYW5kID0gbmV3IENvbXB1dGVFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlN1YmZvcm1zID0gc3ViZm9ybXM7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gY29tcHV0ZUV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIHRoZSBjb250ZXh0IHRlcm1pbmF0aW9uIHJlcXVlc3RcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nKTogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCA9IG5ldyBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQoKTtcclxuICAgIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIGR1bW15IHJlcXVlc3QgdG8gemVyby1pbiB0aGUgY29udGV4dCBpbmFjdGl2aXR5IHRpbWVvdXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGltZW91dFJlc2V0RXZlbnRDb21tYW5kKCkgOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kID0gbmV3IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kKCk7XHJcbiAgICByZXR1cm4gY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBub25yZXZlcnNpYmxlIGV4aXQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVOb25SZXZlcnNpYmxlRXhpdENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCA9IG5ldyBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFJlY29tcHV0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmllbGRJZFwiPnRoZSBpZCBvZiB0aGUgZmllbGQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSZWNvbXB1dGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZmllbGRJZDogbnVtYmVyLCBpZ25vcmVTdWJmb3JtUmVjb21wdXRlOiBib29sZWFuKTogUmVjb21wdXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgcmVjb21wdXRlQ29tbWFuZDogUmVjb21wdXRlQ29tbWFuZCA9IG5ldyBSZWNvbXB1dGVDb21tYW5kKCk7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5GbGRJZCA9IGZpZWxkSWQ7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLklnbm9yZVN1YmZvcm1SZWNvbXB1dGUgPSBpZ25vcmVTdWJmb3JtUmVjb21wdXRlO1xyXG4gICAgcmV0dXJuIHJlY29tcHV0ZUNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBUcmFuc2FjdGlvbiBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJcIj50aGUgdHlwZSBvZiBvcGVyYXRpb246IEJlZ2luLCBDb21taXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1wiPnRoZSB0YXNrIG9mIHRoZSB0cmFuc2FjdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjUmV2ZXJzaWJsZUV4aXRcIj50cnVlIGlmIHRoZSB0YXNrIGV4aXQgaXMgcmV2ZXJzaWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsZXZlbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVRyYW5zYWN0aW9uQ29tbWFuZChvcGVyOiBzdHJpbmcsIHRhc2tUYWc6IHN0cmluZywgY1JldmVyc2libGVFeGl0OiBib29sZWFuLCBsZXZlbDogc3RyaW5nLCB1cGRhdGVkRmllbGRzOnN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5VcGRhdGVkRmllbGRzID0gdXBkYXRlZEZpZWxkcztcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9ICcgJztcclxuICAgIGVsc2VcclxuICAgICAgY21kLlZhbCA9IHZhbHVlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBTZWxlY3QgUHJvZ3JhbSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNlbGVjdFByb2dyYW1Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogU2VsZWN0UHJvZ3JhbUNvbW1hbmQgPSBuZXcgU2VsZWN0UHJvZ3JhbUNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZhbHVhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFR5cGVcIj5UaGUgZXhwZWN0ZWQgdHlwZSBpcyB0aGUgZGF0YSB0eXBlIChhdHRyaWJ1dGUpIG9mIHRoZSByZXN1bHQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwSWR4XCI+ZXhwcmVzc2lvbiBpZCBhdHRyaWJ1dGVzIGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHByZXNzaW9uIHRvIGV2YWx1YXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFZhbExlblwiPiByZXByZXNlbnRzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbiBhbHBoYSByZXN1bHQgb3IgdGhlIG1heGltdW0gZGlnaXRzIHRvIHRoZSByaWdodCBvZiB0aGUgZGVjaW1hbCBwb2ludCwgZm9yIG51bWVyaWMgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1wcmdDcmVhdG9yXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZhbHVhdGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZXhwVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgZXhwSWR4OiBudW1iZXIsIGV4cFZhbExlbjogbnVtYmVyLCBtcHJnQ3JlYXRvcjogVGFzayk6IEV2YWx1YXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgZXZhbHVhdGVDb21tYW5kOiBFdmFsdWF0ZUNvbW1hbmQgPSBuZXcgRXZhbHVhdGVDb21tYW5kKCk7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuRXhwSWR4ID0gZXhwSWR4O1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cFR5cGUgPSBleHBUeXBlO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLk1wcmdDcmVhdG9yID0gbXByZ0NyZWF0b3I7XHJcblxyXG4gICAgaWYgKGV4cFZhbExlbiA+IDApXHJcbiAgICAgIGV2YWx1YXRlQ29tbWFuZC5MZW5ndGhFeHBWYWwgPSBleHBWYWxMZW47XHJcbiAgICByZXR1cm4gZXZhbHVhdGVDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVF1ZXJ5R2xvYmFsUGFyYW1zQ29tbWFuZCgpOiBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3JjZSBpbmkgZmlsZSB1cGRhdGUgYnkgSU5JUHV0KClcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicGFyYW1cIj5lbnYgcGFyYW0gY2hhbmdlZCBieSBJTklQdXQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZChwYXJhbTogc3RyaW5nKTogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGluaXB1dEZvcmNlV3JpdGVDb21tYW5kOiBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCA9IG5ldyBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCgpO1xyXG4gICAgaW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQuVGV4dCA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { Int32, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { StorageAttribute, ViewRefreshMode, XMLConstants } from "@magic-xpa/utils";
3
+ import { ConstInterface } from "../../ConstInterface";
4
+ import { RecordUtils } from "@magic-xpa/gui";
5
+ import { AccessHelper } from "../../AccessHelper";
6
+ export class CommandSerializationHelper {
7
+ message = new StringBuilder();
8
+ GetString() {
9
+ return this.message.ToString();
10
+ }
11
+ SerializeTaskTag(taskTag) {
12
+ let id = AccessHelper.mgDataTable.getTaskIdById(taskTag);
13
+ this.SerializeAttribute(XMLConstants.MG_ATTR_TASKID, id);
14
+ }
15
+ SerializeFldId(fldId) {
16
+ this.SerializeAttribute(ConstInterface.MG_ATTR_FIELDID, fldId);
17
+ }
18
+ SerializeDitIdx(ditIdx) {
19
+ if (ditIdx > Int32.MinValue) {
20
+ this.SerializeAttribute(XMLConstants.MG_ATTR_DITIDX, ditIdx);
21
+ }
22
+ }
23
+ SerializeRouteParams(operation) {
24
+ let routeParams = operation.getRouteParams();
25
+ let routeValStr = '';
26
+ for (let i = 0; i < routeParams.length; i++) {
27
+ routeValStr = routeValStr.concat(RecordUtils.serializeItemVal(routeParams[i], StorageAttribute.UNICODE, StorageAttribute.SKIP, true));
28
+ }
29
+ this.SerializeAttribute(ConstInterface.MG_ATTR_ROUTE_PARAMS, routeValStr);
30
+ }
31
+ SerializeRefreshMode(refreshMode) {
32
+ if (refreshMode !== ViewRefreshMode.None) {
33
+ this.SerializeAttribute(ConstInterface.MG_ATTR_REALREFRESH, refreshMode);
34
+ }
35
+ }
36
+ SerializeMagicEvent(magicEvent) {
37
+ this.SerializeAttribute(ConstInterface.MG_ATTR_MAGICEVENT, magicEvent);
38
+ }
39
+ SerializeCloseSubformOnly(closeSubformOnly) {
40
+ if (closeSubformOnly)
41
+ this.SerializeAttribute(ConstInterface.MG_ATTR_CLOSE_SUBFORM_ONLY, "1");
42
+ }
43
+ SerializeKeyIndex(keyIndex) {
44
+ this.SerializeAttribute(ConstInterface.MG_ATTR_KEY, keyIndex);
45
+ }
46
+ SerializeAttribute(attribute, value) {
47
+ if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === String)) {
48
+ this.SerializeAttribute_0(attribute, value);
49
+ return;
50
+ }
51
+ if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === Number)) {
52
+ this.SerializeAttribute_1(attribute, value);
53
+ return;
54
+ }
55
+ this.SerializeAttribute_2(attribute, value);
56
+ }
57
+ SerializeAttribute_0(attribute, value) {
58
+ this.message.Append(" " + attribute + "=\"" + value + "\"");
59
+ }
60
+ SerializeAttribute_1(attribute, value) {
61
+ this.message.Append(" " + attribute + "=\"" + value + "\"");
62
+ }
63
+ SerializeAttribute_2(attribute, value) {
64
+ this.message.Append(" " + attribute + "=\"" + value + "\"");
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQzdCLE9BQU8sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUVyRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBRzlCLElBQUksRUFBRSxHQUFXLFlBQVksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJ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LElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludDMyLCBTdHJpbmdCdWlsZGVyLCBMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTdG9yYWdlQXR0cmlidXRlLCBWaWV3UmVmcmVzaE1vZGUsIFhNTENvbnN0YW50c30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkVXRpbHN9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge09wZXJhdGlvbn0gZnJvbSBcIi4uLy4uL3J0L09wZXJhdGlvblwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gaGVscGVyIGNsYXNzIC0gc3VwcGxpZXMgbWV0aG9kcyBmb3Igc2VyaWFsaXphdGlvbiBvZiBjb21tYW5kcyBkYXRhLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIge1xyXG4gIHByaXZhdGUgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gIEdldFN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplVGFza1RhZyh0YXNrVGFnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIFFDUiAjOTgwNDU0IC0gdGhlIHRhc2sgaWQgbWF5IGNoYW5nZSBkdXJpbmcgdGhlIHRhc2sncyBsaWZldGltZSwgc28gdGFza0lkIG1pZ2h0XHJcbiAgICAvLyBiZSBob2xkaW5nIHRoZSBvbGQgb25lIC0gZmluZCB0aGUgdGFzayBhbmQgcmUtZmV0Y2ggaXRzIGN1cnJlbnQgSUQuXHJcbiAgICBsZXQgaWQ6IHN0cmluZyA9IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRUYXNrSWRCeUlkKHRhc2tUYWcpO1xyXG5cclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX1RBU0tJRCwgaWQpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplRmxkSWQoZmxkSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9GSUVMRElELCBmbGRJZCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVEaXRJZHgoZGl0SWR4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChkaXRJZHggPiBJbnQzMi5NaW5WYWx1ZSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShYTUxDb25zdGFudHMuTUdfQVRUUl9ESVRJRFgsIGRpdElkeCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVSb3V0ZVBhcmFtcyhvcGVyYXRpb246IE9wZXJhdGlvbik6IHZvaWQge1xyXG5cclxuICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gb3BlcmF0aW9uLmdldFJvdXRlUGFyYW1zKCk7XHJcbiAgICBsZXQgcm91dGVWYWxTdHI6IHN0cmluZyA9ICcnO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlUGFyYW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgcm91dGVWYWxTdHIgPSByb3V0ZVZhbFN0ci5jb25jYXQoUmVjb3JkVXRpbHMuc2VyaWFsaXplSXRlbVZhbChyb3V0ZVBhcmFtc1tpXSwgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFLCBTdG9yYWdlQXR0cmlidXRlLlNLSVAsIHRydWUpKTtcclxuICAgICAgfVxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9ST1VURV9QQVJBTVMsIHJvdXRlVmFsU3RyKTtcclxuICB9XHJcblxyXG5cclxuICBTZXJpYWxpemVSZWZyZXNoTW9kZShyZWZyZXNoTW9kZTogVmlld1JlZnJlc2hNb2RlKTogdm9pZCB7XHJcbiAgICBpZiAocmVmcmVzaE1vZGUgIT09IFZpZXdSZWZyZXNoTW9kZS5Ob25lKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfUkVBTFJFRlJFU0gsIHJlZnJlc2hNb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZU1hZ2ljRXZlbnQobWFnaWNFdmVudDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX01BR0lDRVZFTlQsIG1hZ2ljRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ2xvc2VTdWJmb3JtT25seShjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoY2xvc2VTdWJmb3JtT25seSlcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DTE9TRV9TVUJGT1JNX09OTFksIFwiMVwiKTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUtleUluZGV4KGtleUluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfS0VZLCBrZXlJbmRleCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IG51bWJlcik6IHZvaWQ7XHJcbiAgU2VyaWFsaXplQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChhdHRyaWJ1dGUgPT09IG51bGwgfHwgYXR0cmlidXRlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8wKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiAoYXR0cmlidXRlID09PSBudWxsIHx8IGF0dHJpYnV0ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSAmJiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUuY29uc3RydWN0b3IgPT09IE51bWJlcikpIHtcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGVfMShhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGVfMihhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzAoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzEoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzIoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { NString } from "@magic-xpa/mscorelib";
2
+ import { InternalInterface } from "@magic-xpa/utils";
3
+ import { CommandSerializationHelper } from "./CommandSerializationHelper";
4
+ import { EventCommand } from "./EventCommand";
5
+ import { ConstInterface } from "../../ConstInterface";
6
+ export class ComputeEventCommand extends EventCommand {
7
+ Subforms = false;
8
+ constructor() {
9
+ super(InternalInterface.MG_ACT_COMPUTE);
10
+ }
11
+ SerializeCommandData() {
12
+ let helper = new CommandSerializationHelper();
13
+ helper.SerializeTaskTag(this.TaskTag);
14
+ helper.SerializeMagicEvent(this.MagicEvent);
15
+ if (this.Subforms)
16
+ helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "99999");
17
+ return helper.GetString();
18
+ }
19
+ getCommandInfo() {
20
+ return NString.Format('[{0} for {1} in {2}] ', this.EventDescription, this.Subforms ? 'Form and Subform' : 'Form', this.Task.getTaskInfo());
21
+ }
22
+ getFieldsInfo() {
23
+ return NString.Empty;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHV0ZUV2ZW50Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29tcHV0ZUV2ZW50Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUVuRCxRQUFRLEdBQVksS0FBSyxDQUFDO0lBSzFCO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wdXRlRXZlbnRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG5cclxuICBTdWJmb3JtczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTVBVVEUpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEoKTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVNYWdpY0V2ZW50KHRoaXMuTWFnaWNFdmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuU3ViZm9ybXMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiOTk5OTlcIik7XHJcblxyXG4gICAgcmV0dXJuIGhlbHBlci5HZXRTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTlN0cmluZy5Gb3JtYXQoJ1t7MH0gZm9yIHsxfSBpbiB7Mn1dICdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV2ZW50RGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHRoaXMuU3ViZm9ybXMgPyAnRm9ybSBhbmQgU3ViZm9ybScgOiAnRm9ybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLlRhc2suZ2V0VGFza0luZm8oKSk7XHJcbiAgfVxyXG5cclxuICBnZXRGaWVsZHNJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,21 +1,24 @@
1
- import { NString } from "@magic-xpa/mscorelib";
2
- import { InternalInterface } from "@magic-xpa/utils";
3
- import { EventCommand } from "./EventCommand";
4
- import { CommandSerializationHelper } from "./CommandSerializationHelper";
5
- import { ConstInterface } from "../../ConstInterface";
6
- export class ContextTerminationEventCommand extends EventCommand {
7
- constructor() {
8
- super(InternalInterface.MG_ACT_CONTEXT_TERMINATION);
9
- }
10
- SerializeCommandData() {
11
- let helper = new CommandSerializationHelper();
12
- helper.SerializeTaskTag(this.TaskTag);
13
- helper.SerializeMagicEvent(this.MagicEvent);
14
- helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "1");
15
- return helper.GetString();
16
- }
17
- getCommandInfo() {
18
- return NString.Empty;
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFFOUQ7UUFDRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTlELE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBRVosT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSBcIi4uL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCBleHRlbmRzIEV2ZW50Q29tbWFuZCBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ09OVEVYVF9URVJNSU5BVElPTik7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplVGFza1RhZyh0aGlzLlRhc2tUYWcpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZU1hZ2ljRXZlbnQodGhpcy5NYWdpY0V2ZW50KTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiMVwiKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { NString } from "@magic-xpa/mscorelib";
2
+ import { InternalInterface } from "@magic-xpa/utils";
3
+ import { EventCommand } from "./EventCommand";
4
+ import { CommandSerializationHelper } from "./CommandSerializationHelper";
5
+ import { ConstInterface } from "../../ConstInterface";
6
+ export class ContextTerminationEventCommand extends EventCommand {
7
+ constructor() {
8
+ super(InternalInterface.MG_ACT_CONTEXT_TERMINATION);
9
+ }
10
+ SerializeCommandData() {
11
+ let helper = new CommandSerializationHelper();
12
+ helper.SerializeTaskTag(this.TaskTag);
13
+ helper.SerializeMagicEvent(this.MagicEvent);
14
+ helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "1");
15
+ return helper.GetString();
16
+ }
17
+ getCommandInfo() {
18
+ return NString.Empty;
19
+ }
20
+ getFieldsInfo() {
21
+ return NString.Empty;
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFFOUQ7UUFDRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTlELE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBRVosT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSBcIi4uL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCBleHRlbmRzIEV2ZW50Q29tbWFuZCBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ09OVEVYVF9URVJNSU5BVElPTik7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplVGFza1RhZyh0aGlzLlRhc2tUYWcpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZU1hZ2ljRXZlbnQodGhpcy5NYWdpY0V2ZW50KTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiMVwiKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkc0luZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkVtcHR5O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,20 +1,23 @@
1
- import { EventCommand } from './EventCommand';
2
- import { CommandSerializationHelper } from './CommandSerializationHelper';
3
- import { ConstInterface } from '../../ConstInterface';
4
- import { InternalInterface } from '@magic-xpa/utils';
5
- import { NString } from '@magic-xpa/mscorelib';
6
- export class ContextTimeoutResetCommand extends EventCommand {
7
- constructor() {
8
- super(InternalInterface.MG_ACT_CONTEXT_TIMEOUT_RESET);
9
- }
10
- SerializeCommandData() {
11
- let helper = new CommandSerializationHelper();
12
- helper.SerializeMagicEvent(this.MagicEvent);
13
- helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, '1');
14
- return helper.GetString();
15
- }
16
- getCommandInfo() {
17
- return NString.Empty;
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxZQUFZO0lBRTFEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLE1BQU0sR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUQsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFFWixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gJy4vRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSAnLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8nO1xyXG5pbXBvcnQge0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyfSBmcm9tICcuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyJztcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSAnLi4vLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtOU3RyaW5nIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm97XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTlRFWFRfVElNRU9VVF9SRVNFVCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplTWFnaWNFdmVudCh0aGlzLk1hZ2ljRXZlbnQpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVCwgJzEnKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { EventCommand } from './EventCommand';
2
+ import { CommandSerializationHelper } from './CommandSerializationHelper';
3
+ import { ConstInterface } from '../../ConstInterface';
4
+ import { InternalInterface } from '@magic-xpa/utils';
5
+ import { NString } from '@magic-xpa/mscorelib';
6
+ export class ContextTimeoutResetCommand extends EventCommand {
7
+ constructor() {
8
+ super(InternalInterface.MG_ACT_CONTEXT_TIMEOUT_RESET);
9
+ }
10
+ SerializeCommandData() {
11
+ let helper = new CommandSerializationHelper();
12
+ helper.SerializeMagicEvent(this.MagicEvent);
13
+ helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, '1');
14
+ return helper.GetString();
15
+ }
16
+ getCommandInfo() {
17
+ return NString.Empty;
18
+ }
19
+ getFieldsInfo() {
20
+ return NString.Empty;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxZQUFZO0lBRTFEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLE1BQU0sR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUQsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFFWixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gJy4vRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSAnLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8nO1xyXG5pbXBvcnQge0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyfSBmcm9tICcuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyJztcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSAnLi4vLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtOU3RyaW5nIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm97XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTlRFWFRfVElNRU9VVF9SRVNFVCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplTWFnaWNFdmVudCh0aGlzLk1hZ2ljRXZlbnQpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVCwgJzEnKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkc0luZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkVtcHR5O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,8 @@
1
- import { DataviewCommand } from "./DataviewCommand";
2
- export class ControlItemsRefreshCommand extends DataviewCommand {
3
- constructor() {
4
- super();
5
- this.Control = null;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsZUFBZTtJQUc3RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBSFYsWUFBTyxHQUFrQixJQUFJLENBQUM7SUFJOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhdmlld0NvbW1hbmR9IGZyb20gXCIuL0RhdGF2aWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgY2xhc3NcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIGV4dGVuZHMgRGF0YXZpZXdDb21tYW5kIHtcclxuICBDb250cm9sOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { DataviewCommand } from "./DataviewCommand";
2
+ export class ControlItemsRefreshCommand extends DataviewCommand {
3
+ Control = null;
4
+ constructor() {
5
+ super();
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsZUFBZTtJQUM3RCxPQUFPLEdBQWtCLElBQUksQ0FBQztJQUU5QjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhdmlld0NvbW1hbmR9IGZyb20gXCIuL0RhdGF2aWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgY2xhc3NcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIGV4dGVuZHMgRGF0YXZpZXdDb21tYW5kIHtcclxuICBDb250cm9sOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { DataviewCommand } from "./DataviewCommand";
2
+ export class DataViewOutputCommand extends DataviewCommand {
3
+ Generation = 0;
4
+ TaskVarNames = null;
5
+ DestinationDataSourceNumber = 0;
6
+ DestinationDataSourceName = null;
7
+ DestinationColumns = null;
8
+ constructor(OutputCommandType) {
9
+ super();
10
+ this.CommandType = OutputCommandType;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVZpZXdPdXRwdXRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9EYXRhVmlld091dHB1dENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUt2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUN4RCxVQUFVLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBVyxJQUFJLENBQUM7SUFDNUIsMkJBQTJCLEdBQVcsQ0FBQyxDQUFDO0lBQ3hDLHlCQUF5QixHQUFXLElBQUksQ0FBQztJQUN6QyxrQkFBa0IsR0FBVyxJQUFJLENBQUM7SUFLbEMsWUFBWSxpQkFBc0M7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tIFwiLi9EYXRhdmlld0NvbW1hbmRcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGNvbW1hbmQgZm9yIHZhcmlvdXMgdHlwZXMgb2YgRGF0YVZpZXcgb3V0cHV0IG9wZXJhdGlvbi5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIERhdGFWaWV3T3V0cHV0Q29tbWFuZCBleHRlbmRzIERhdGF2aWV3Q29tbWFuZCB7XHJcbiAgR2VuZXJhdGlvbjogbnVtYmVyID0gMDtcclxuICBUYXNrVmFyTmFtZXM6IHN0cmluZyA9IG51bGw7XHJcbiAgRGVzdGluYXRpb25EYXRhU291cmNlTnVtYmVyOiBudW1iZXIgPSAwO1xyXG4gIERlc3RpbmF0aW9uRGF0YVNvdXJjZU5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgRGVzdGluYXRpb25Db2x1bW5zOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKE91dHB1dENvbW1hbmRUeXBlOiBEYXRhVmlld0NvbW1hbmRUeXBlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5Db21tYW5kVHlwZSA9IE91dHB1dENvbW1hbmRUeXBlO1xyXG4gIH1cclxufVxyXG4iXX0=