@magic-xpa/engine 4.1100.0-dev4110.26 → 4.1100.0-dev4110.260

Sign up to get free protection for your applications and to get access to all the features.
Files changed (491) hide show
  1. package/{esm2020 → esm2022}/index.mjs +188 -188
  2. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  3. package/esm2022/src/AccessHelper.mjs +15 -0
  4. package/esm2022/src/ClientManager.mjs +418 -0
  5. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  6. package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
  7. package/esm2022/src/CommandsTable.mjs +162 -0
  8. package/esm2022/src/ConstInterface.mjs +517 -0
  9. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  10. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  11. package/esm2022/src/GUIManager.mjs +62 -0
  12. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  13. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  14. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  15. package/esm2022/src/ServerConfig.mjs +122 -0
  16. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  17. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  18. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  19. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  22. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  23. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  24. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
  25. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  26. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  27. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  28. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  29. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  32. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  33. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  34. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  35. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  36. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  37. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  38. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  40. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  41. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  42. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  44. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  45. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  47. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  48. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  49. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  50. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  51. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  52. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  53. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  54. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  55. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  56. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  57. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  58. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  59. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  60. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  61. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
  62. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
  63. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  64. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  65. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  66. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  67. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  70. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  71. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  72. package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
  73. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  74. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  75. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  76. package/esm2022/src/data/DataView.mjs +1613 -0
  77. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  78. package/esm2022/src/data/DataviewManager.mjs +28 -0
  79. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  80. package/esm2022/src/data/DvCache.mjs +67 -0
  81. package/esm2022/src/data/Field.mjs +646 -0
  82. package/esm2022/src/data/FieldBase.mjs +15 -0
  83. package/esm2022/src/data/FieldsTable.mjs +103 -0
  84. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  85. package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
  86. package/esm2022/src/data/Record.mjs +880 -0
  87. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  88. package/esm2022/src/data/RecordsTable.mjs +267 -0
  89. package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
  90. package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
  91. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  92. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  93. package/esm2022/src/env/Environment.mjs +487 -0
  94. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  95. package/esm2022/src/env/LanguageData.mjs +227 -0
  96. package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
  97. package/esm2022/src/event/ActionManager.mjs +91 -0
  98. package/esm2022/src/event/Event.mjs +1333 -0
  99. package/esm2022/src/event/EventHandler.mjs +766 -0
  100. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  101. package/esm2022/src/event/EventsManager.mjs +2988 -0
  102. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  103. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  104. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  105. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  106. package/esm2022/src/exp/ExpTable.mjs +57 -0
  107. package/esm2022/src/exp/Expression.mjs +200 -0
  108. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  109. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  110. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  111. package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
  112. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  113. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  114. package/esm2022/src/gui/FormsTable.mjs +66 -0
  115. package/esm2022/src/gui/MgControl.mjs +363 -0
  116. package/esm2022/src/gui/MgForm.mjs +1224 -0
  117. package/esm2022/src/http/HttpManager.mjs +97 -0
  118. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  119. package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
  120. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  121. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  122. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  123. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  124. package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
  125. package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
  126. package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
  127. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  128. package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
  129. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
  130. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  133. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  134. package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
  135. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  136. package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
  137. package/esm2022/src/remote/ServerError.mjs +40 -0
  138. package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
  139. package/esm2022/src/rt/Argument.mjs +265 -0
  140. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  141. package/esm2022/src/rt/Boundary.mjs +152 -0
  142. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  143. package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
  144. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  145. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  146. package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
  147. package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  149. package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
  150. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  151. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  153. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  154. package/esm2022/src/rt/Operation.mjs +735 -0
  155. package/esm2022/src/rt/OperationTable.mjs +67 -0
  156. package/esm2022/src/rt/Recompute.mjs +355 -0
  157. package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
  158. package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
  159. package/esm2022/src/rt/ResultValue.mjs +10 -0
  160. package/esm2022/src/rt/TableCache.mjs +177 -0
  161. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  162. package/esm2022/src/rt/Transaction.mjs +53 -0
  163. package/esm2022/src/security/UserDetails.mjs +71 -0
  164. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  165. package/esm2022/src/tasks/MGData.mjs +552 -0
  166. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  167. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  168. package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
  169. package/esm2022/src/tasks/Task.mjs +2499 -0
  170. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  171. package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
  172. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  173. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  174. package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
  175. package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
  176. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  177. package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
  178. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  179. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  181. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  182. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  183. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  184. package/esm2022/src/util/PrmMap.mjs +152 -0
  185. package/esm2022/src/util/ReturnResult.mjs +46 -0
  186. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  187. package/esm2022/src/util/Scrambler.mjs +89 -0
  188. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  189. package/{esm2020 → esm2022}/src/util/cookie.service.mjs +91 -91
  190. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29885 -29693
  191. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  192. package/index.d.ts +187 -187
  193. package/package.json +8 -14
  194. package/src/AccessHelper.d.ts +20 -20
  195. package/src/ClientManager.d.ts +35 -32
  196. package/src/CommandsProcessorBase.d.ts +23 -23
  197. package/src/CommandsProcessorManager.d.ts +6 -6
  198. package/src/CommandsTable.d.ts +22 -22
  199. package/src/ConstInterface.d.ts +516 -515
  200. package/src/CurrentClientVersion.d.ts +1 -1
  201. package/src/FlowMonitorInterface.d.ts +15 -15
  202. package/src/GUIManager.d.ts +17 -17
  203. package/src/GlobalCommandsManager.d.ts +17 -17
  204. package/src/GuiEventsProcessor.d.ts +24 -24
  205. package/src/ICommandsTable.d.ts +9 -9
  206. package/src/ServerConfig.d.ts +35 -34
  207. package/src/bridge/IGuiEvent.d.ts +19 -19
  208. package/src/bridge/MagicBridge.d.ts +16 -16
  209. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  210. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  211. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  212. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  214. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  216. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  217. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  218. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  219. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  220. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  221. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  223. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  224. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  225. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  226. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  228. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  229. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  230. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  231. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  232. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  233. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  234. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  235. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  236. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  237. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  238. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  239. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  240. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  241. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  242. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  243. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  244. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  245. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  246. package/src/commands/DataViewCommandBase.d.ts +6 -6
  247. package/src/commands/IClientCommand.d.ts +2 -2
  248. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  249. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  250. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  251. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  252. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  253. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  254. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  255. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  256. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  257. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  258. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  259. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  262. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  263. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  264. package/src/communications/IConnectionStateManager.d.ts +4 -4
  265. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  266. package/src/data/DataSourceIdKey.d.ts +2 -2
  267. package/src/data/DataView.d.ts +162 -162
  268. package/src/data/DataViewBase.d.ts +12 -12
  269. package/src/data/DataviewManager.d.ts +14 -14
  270. package/src/data/DataviewManagerBase.d.ts +11 -11
  271. package/src/data/DvCache.d.ts +15 -15
  272. package/src/data/Field.d.ts +103 -103
  273. package/src/data/FieldBase.d.ts +23 -23
  274. package/src/data/FieldsTable.d.ts +27 -27
  275. package/src/data/IRecordsTable.d.ts +7 -7
  276. package/src/data/Key.d.ts +15 -15
  277. package/src/data/Record.d.ts +157 -156
  278. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  279. package/src/data/RecordsTable.d.ts +38 -38
  280. package/src/data/TaskTransactionManager.d.ts +17 -17
  281. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  282. package/src/enums.d.ts +21 -21
  283. package/src/env/EnvVariablesTable.d.ts +17 -17
  284. package/src/env/Environment.d.ts +118 -118
  285. package/src/env/ILanguageData.d.ts +3 -3
  286. package/src/env/LanguageData.d.ts +20 -20
  287. package/src/env/MirrorString.d.ts +15 -15
  288. package/src/event/ActionManager.d.ts +14 -14
  289. package/src/event/Event.d.ts +79 -79
  290. package/src/event/EventHandler.d.ts +66 -66
  291. package/src/event/EventHandlerPosition.d.ts +25 -25
  292. package/src/event/EventsManager.d.ts +205 -204
  293. package/src/event/IEventsManager.d.ts +77 -77
  294. package/src/event/RunTimeEvent.d.ts +126 -123
  295. package/src/event/RunTimeEventBase.d.ts +5 -5
  296. package/src/event/UserEventsTable.d.ts +11 -11
  297. package/src/exp/ExpTable.d.ts +11 -11
  298. package/src/exp/Expression.d.ts +37 -37
  299. package/src/exp/ExpressionDict.d.ts +12 -12
  300. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  301. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  302. package/src/exp/GlobalParamsTable.d.ts +19 -19
  303. package/src/exp/YesNoExp.d.ts +9 -9
  304. package/src/gui/CreatedFormVector.d.ts +10 -10
  305. package/src/gui/FormsTable.d.ts +15 -15
  306. package/src/gui/MgControl.d.ts +60 -60
  307. package/src/gui/MgForm.d.ts +96 -93
  308. package/src/http/HttpManager.d.ts +25 -25
  309. package/src/http/client/HttpClientAsync.d.ts +16 -16
  310. package/src/http/client/HttpClientBase.d.ts +30 -30
  311. package/src/http/client/HttpClientEvents.d.ts +18 -18
  312. package/src/http/client/HttpClientSync.d.ts +17 -17
  313. package/src/http/client/HttpUtility.d.ts +10 -10
  314. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  315. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  316. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  319. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  320. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  321. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  322. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  323. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  324. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  325. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ServerError.d.ts +16 -16
  329. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  330. package/src/rt/Argument.d.ts +36 -36
  331. package/src/rt/ArgumentsList.d.ts +24 -24
  332. package/src/rt/Boundary.d.ts +27 -27
  333. package/src/rt/CompMainPrgTable.d.ts +10 -10
  334. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  335. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  336. package/src/rt/DataviewHeaders.d.ts +12 -12
  337. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  338. package/src/rt/ExecutionStack.d.ts +22 -22
  339. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  340. package/src/rt/HandlersTable.d.ts +19 -19
  341. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  342. package/src/rt/IDataviewHeader.d.ts +10 -10
  343. package/src/rt/IResultValue.d.ts +4 -4
  344. package/src/rt/LastFocusedManager.d.ts +23 -23
  345. package/src/rt/Operation.d.ts +97 -97
  346. package/src/rt/OperationTable.d.ts +15 -15
  347. package/src/rt/Recompute.d.ts +41 -41
  348. package/src/rt/RecomputeTable.d.ts +9 -9
  349. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  350. package/src/rt/ResultValue.d.ts +7 -7
  351. package/src/rt/TableCache.d.ts +29 -29
  352. package/src/rt/TableCacheManager.d.ts +10 -10
  353. package/src/rt/Transaction.d.ts +23 -23
  354. package/src/security/UserDetails.d.ts +16 -16
  355. package/src/tasks/IMGDataCollection.d.ts +26 -26
  356. package/src/tasks/MGData.d.ts +63 -63
  357. package/src/tasks/MGDataCollection.d.ts +42 -42
  358. package/src/tasks/RCTimer.d.ts +13 -13
  359. package/src/tasks/RemoteTaskService.d.ts +16 -16
  360. package/src/tasks/Task.d.ts +312 -312
  361. package/src/tasks/TaskBase.d.ts +123 -123
  362. package/src/tasks/TaskServiceBase.d.ts +16 -16
  363. package/src/tasks/TasksTable.d.ts +21 -21
  364. package/src/tasks/sort/Sort.d.ts +4 -4
  365. package/src/tasks/sort/SortCollection.d.ts +11 -11
  366. package/src/util/ConstUtils.d.ts +3 -3
  367. package/src/util/FlowMonitorQueue.d.ts +70 -70
  368. package/src/util/HeapSort.d.ts +6 -6
  369. package/src/util/IMirrorXML.d.ts +6 -6
  370. package/src/util/IServerConfig.d.ts +11 -11
  371. package/src/util/MgBlockingQueue.d.ts +5 -5
  372. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  373. package/src/util/MgPriorityQueue.d.ts +13 -13
  374. package/src/util/ParamParseResult.d.ts +6 -6
  375. package/src/util/PrmMap.d.ts +28 -28
  376. package/src/util/ReturnResult.d.ts +18 -18
  377. package/src/util/ReturnResultBase.d.ts +11 -11
  378. package/src/util/Scrambler.d.ts +10 -10
  379. package/src/util/UniqueIDUtils.d.ts +4 -4
  380. package/src/util/cookie.service.d.ts +8 -8
  381. package/esm2020/src/AccessHelper.mjs +0 -9
  382. package/esm2020/src/ClientManager.mjs +0 -399
  383. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  384. package/esm2020/src/CommandsTable.mjs +0 -162
  385. package/esm2020/src/ConstInterface.mjs +0 -516
  386. package/esm2020/src/FlowMonitorInterface.mjs +0 -16
  387. package/esm2020/src/GUIManager.mjs +0 -62
  388. package/esm2020/src/GlobalCommandsManager.mjs +0 -34
  389. package/esm2020/src/GuiEventsProcessor.mjs +0 -154
  390. package/esm2020/src/ServerConfig.mjs +0 -117
  391. package/esm2020/src/bridge/MagicBridge.mjs +0 -41
  392. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  393. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
  394. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  395. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  396. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  397. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  398. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  399. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  400. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  401. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  402. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  403. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  404. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  405. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  406. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  407. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  408. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  409. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  410. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  411. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  412. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  413. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  414. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  415. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  416. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  417. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  418. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  419. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  420. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  421. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  422. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  423. package/esm2020/src/data/DataView.mjs +0 -1610
  424. package/esm2020/src/data/DataviewManager.mjs +0 -28
  425. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  426. package/esm2020/src/data/DvCache.mjs +0 -67
  427. package/esm2020/src/data/Field.mjs +0 -646
  428. package/esm2020/src/data/FieldBase.mjs +0 -18
  429. package/esm2020/src/data/FieldsTable.mjs +0 -103
  430. package/esm2020/src/data/Record.mjs +0 -846
  431. package/esm2020/src/data/RecordsTable.mjs +0 -267
  432. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  433. package/esm2020/src/env/Environment.mjs +0 -489
  434. package/esm2020/src/env/LanguageData.mjs +0 -226
  435. package/esm2020/src/event/ActionManager.mjs +0 -91
  436. package/esm2020/src/event/Event.mjs +0 -1333
  437. package/esm2020/src/event/EventHandler.mjs +0 -766
  438. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  439. package/esm2020/src/event/EventsManager.mjs +0 -2975
  440. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  441. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  442. package/esm2020/src/exp/ExpTable.mjs +0 -59
  443. package/esm2020/src/exp/Expression.mjs +0 -200
  444. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  445. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4212
  446. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  447. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  448. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  449. package/esm2020/src/gui/FormsTable.mjs +0 -66
  450. package/esm2020/src/gui/MgControl.mjs +0 -353
  451. package/esm2020/src/gui/MgForm.mjs +0 -1181
  452. package/esm2020/src/http/HttpManager.mjs +0 -97
  453. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  454. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  455. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  456. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  457. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  458. package/esm2020/src/remote/ServerError.mjs +0 -40
  459. package/esm2020/src/rt/Argument.mjs +0 -265
  460. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  461. package/esm2020/src/rt/Boundary.mjs +0 -152
  462. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  463. package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
  464. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  465. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  466. package/esm2020/src/rt/Operation.mjs +0 -735
  467. package/esm2020/src/rt/OperationTable.mjs +0 -67
  468. package/esm2020/src/rt/Recompute.mjs +0 -355
  469. package/esm2020/src/rt/ResultValue.mjs +0 -12
  470. package/esm2020/src/rt/TableCache.mjs +0 -177
  471. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  472. package/esm2020/src/rt/Transaction.mjs +0 -53
  473. package/esm2020/src/security/UserDetails.mjs +0 -71
  474. package/esm2020/src/tasks/MGData.mjs +0 -552
  475. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  476. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  477. package/esm2020/src/tasks/Task.mjs +0 -2495
  478. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  479. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  480. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  481. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  482. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  483. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  484. package/esm2020/src/util/PrmMap.mjs +0 -151
  485. package/esm2020/src/util/ReturnResult.mjs +0 -46
  486. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  487. package/esm2020/src/util/Scrambler.mjs +0 -89
  488. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  489. package/fesm2015/magic-xpa-engine.mjs +0 -30835
  490. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  491. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -1,314 +0,0 @@
1
- import { StringBuilder } from "@magic-xpa/mscorelib";
2
- import { StorageAttribute, StrUtil, UtilDateJpn } from "@magic-xpa/utils";
3
- import { Manager } from "@magic-xpa/gui";
4
- export class ExpressionLocalJpn {
5
- constructor(expressionEvaluator) {
6
- this._expressionEvaluator = null;
7
- this._expressionEvaluator = expressionEvaluator;
8
- }
9
- eval_op_han(strVal) {
10
- let strbufZenkaku = new StringBuilder(StrUtil.rtrim(strVal));
11
- let strbufHankaku = new StringBuilder(0);
12
- let strRet = null;
13
- for (let i = 0; i < strbufZenkaku.Length; i = i + 1) {
14
- let cLetter = strbufZenkaku.get_Item(i);
15
- if (0xff01 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0xff5e && cLetter.charCodeAt(0) !== 0xff3c && cLetter.charCodeAt(0) !== 0xff40) {
16
- strbufHankaku.Append(String.fromCharCode(cLetter.charCodeAt(0) - 0xfee0));
17
- }
18
- else if (0x309b <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0x30f6) {
19
- strbufHankaku.Append(ExpressionLocalJpn.tableZen2Han[cLetter.charCodeAt(0) - 0x309b][0]);
20
- if (ExpressionLocalJpn.tableZen2Han[cLetter.charCodeAt(0) - 0x309b][1].charCodeAt(0) > 0x0000) {
21
- strbufHankaku.Append(ExpressionLocalJpn.tableZen2Han[cLetter.charCodeAt(0) - 0x309b][1]);
22
- }
23
- }
24
- else {
25
- let j;
26
- for (j = 0; j < ExpressionLocalJpn.tableExceptZen2Han.length; j++) {
27
- if (cLetter === ExpressionLocalJpn.tableExceptZen2Han[j][0]) {
28
- strbufHankaku.Append(ExpressionLocalJpn.tableExceptZen2Han[j][1]);
29
- break;
30
- }
31
- }
32
- if (j === ExpressionLocalJpn.tableExceptZen2Han.length)
33
- strbufHankaku.Append(cLetter);
34
- }
35
- }
36
- strRet = strbufHankaku.ToString();
37
- strbufZenkaku = null;
38
- strbufHankaku = null;
39
- return strRet;
40
- }
41
- eval_op_zens(strVal, mode) {
42
- let strbufHankaku = new StringBuilder(StrUtil.rtrim(strVal));
43
- let strbufZenkaku = new StringBuilder(0);
44
- let strRet = null;
45
- for (let i = 0; i < strbufHankaku.Length; i = i + 1) {
46
- let cLetter = strbufHankaku.get_Item(i);
47
- if (0x0020 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0x007e) {
48
- switch (cLetter) {
49
- case String.fromCharCode(0x0020):
50
- if (mode === 1) {
51
- strbufZenkaku.Append(String.fromCharCode(0x3000));
52
- }
53
- else if (mode === 2) {
54
- strbufZenkaku.Append(String.fromCharCode(0x0020));
55
- strbufZenkaku.Append(String.fromCharCode(0x0020));
56
- }
57
- else {
58
- strbufZenkaku.Append(String.fromCharCode(0x0020));
59
- }
60
- break;
61
- case String.fromCharCode(0x0022):
62
- strbufZenkaku.Append(String.fromCharCode(0x201d));
63
- break;
64
- case String.fromCharCode(0x0027):
65
- strbufZenkaku.Append(String.fromCharCode(0x2019));
66
- break;
67
- case String.fromCharCode(0x005c):
68
- strbufZenkaku.Append(String.fromCharCode(0xffe5));
69
- break;
70
- case String.fromCharCode(0x0060):
71
- strbufZenkaku.Append(String.fromCharCode(0x2018));
72
- break;
73
- default:
74
- strbufZenkaku.Append(String.fromCharCode(cLetter.charCodeAt(0) + 0xfee0));
75
- break;
76
- }
77
- }
78
- else if (0xff61 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0xff9f) {
79
- let cCombine = String.fromCharCode(0x0000);
80
- if ((i + 1) < strbufHankaku.Length) {
81
- cCombine = strbufHankaku.get_Item(i + 1);
82
- if (cCombine.charCodeAt(0) !== 0xff9e && cCombine.charCodeAt(0) !== 0xff9f)
83
- cCombine = String.fromCharCode(0x0000);
84
- }
85
- if (cCombine.charCodeAt(0) === 0xff9e) {
86
- if (0xff76 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0xff84 || 0xff8a <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0xff8e)
87
- strbufZenkaku.Append((ExpressionLocalJpn.tableHan2Zen[cLetter.charCodeAt(0) - 0xff61] + 0x001));
88
- else if (cLetter.charCodeAt(0) === 0xff73)
89
- strbufZenkaku.Append(String.fromCharCode(0x30f4));
90
- else
91
- cCombine = String.fromCharCode(0x0000);
92
- }
93
- else if (cCombine.charCodeAt(0) === 0xff9f) {
94
- if (0xff8a <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0xff8e)
95
- strbufZenkaku.Append((ExpressionLocalJpn.tableHan2Zen[cLetter.charCodeAt(0) - 0xff61] + 0x002));
96
- else
97
- cCombine = String.fromCharCode(0x0000);
98
- }
99
- if (cCombine.charCodeAt(0) !== 0x0000)
100
- i++;
101
- else
102
- strbufZenkaku.Append(ExpressionLocalJpn.tableHan2Zen[cLetter.charCodeAt(0) - 0xff61]);
103
- }
104
- else {
105
- strbufZenkaku.Append(cLetter);
106
- }
107
- }
108
- strRet = strbufZenkaku.ToString();
109
- strbufHankaku = null;
110
- strbufZenkaku = null;
111
- return strRet;
112
- }
113
- eval_op_zimeread() {
114
- let strRet = null;
115
- let utilImeJpn = Manager.UtilImeJpn;
116
- if (utilImeJpn !== null)
117
- strRet = utilImeJpn.StrImeRead;
118
- return strRet;
119
- }
120
- eval_op_zkana(strVal, mode) {
121
- let strbufConverted = new StringBuilder(StrUtil.rtrim(strVal));
122
- let strRet = null;
123
- for (let i = 0; i < strbufConverted.Length; i = i + 1) {
124
- let cLetter = strbufConverted.get_Item(i);
125
- if (mode === 0) {
126
- if (0x3041 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0x3093)
127
- strbufConverted.set_Item(i, String.fromCharCode(cLetter.charCodeAt(0) + 0x0060));
128
- }
129
- else {
130
- if (0x30A1 <= cLetter.charCodeAt(0) && cLetter.charCodeAt(0) <= 0x30f3)
131
- strbufConverted.set_Item(i, String.fromCharCode(cLetter.charCodeAt(0) - 0x0060));
132
- }
133
- }
134
- strRet = strbufConverted.ToString();
135
- strbufConverted = null;
136
- return strRet;
137
- }
138
- eval_op_jcdow(resVal, val1, displayConvertor) {
139
- this._expressionEvaluator.eval_op_date_str(resVal, val1, "SSSSSST", displayConvertor);
140
- }
141
- eval_op_jmonth(resVal, val1) {
142
- if (val1.MgNumVal === null) {
143
- this._expressionEvaluator.SetNULL(resVal, StorageAttribute.ALPHA);
144
- return;
145
- }
146
- val1.MgNumVal = this._expressionEvaluator.mul_add(val1.MgNumVal, 31, -30);
147
- this._expressionEvaluator.eval_op_month(resVal, val1);
148
- let month = resVal.MgNumVal.NUM_2_LONG();
149
- resVal.Attr = StorageAttribute.ALPHA;
150
- resVal.StrVal = UtilDateJpn.convertStrMonth(month);
151
- }
152
- eval_op_jndow(resVal, val1, displayConvertor) {
153
- if (val1.MgNumVal === null) {
154
- this._expressionEvaluator.SetNULL(resVal, StorageAttribute.ALPHA);
155
- return;
156
- }
157
- val1.MgNumVal = this._expressionEvaluator.mul_add(val1.MgNumVal, 0, 6);
158
- this.eval_op_jcdow(resVal, val1.MgNumVal, displayConvertor);
159
- }
160
- eval_op_jyear(resVal, val1) {
161
- this._expressionEvaluator.eval_op_date_brk(resVal, val1.MgNumVal, 4);
162
- }
163
- eval_op_jgengo(resVal, val1, val2, displayConvertor) {
164
- let strFormat;
165
- resVal.Attr = StorageAttribute.ALPHA;
166
- if (val1 === null || val2 === null) {
167
- this._expressionEvaluator.SetNULL(resVal, StorageAttribute.ALPHA);
168
- return;
169
- }
170
- let intType = val2.NUM_2_LONG();
171
- if (intType >= 4)
172
- strFormat = "JJJJ";
173
- else if (intType >= 2)
174
- strFormat = "JJ";
175
- else if (intType >= 1)
176
- strFormat = "J";
177
- else {
178
- resVal.StrVal = "";
179
- return;
180
- }
181
- this._expressionEvaluator.eval_op_date_str(resVal, val1, strFormat, displayConvertor);
182
- }
183
- }
184
- ExpressionLocalJpn.tableZen2Han = [
185
- [String.fromCharCode(0xff9e), String.fromCharCode(0x0000)],
186
- [String.fromCharCode(0xff9f), String.fromCharCode(0x0000)],
187
- [String.fromCharCode(0x309d), String.fromCharCode(0x0000)],
188
- [String.fromCharCode(0x309e), String.fromCharCode(0x0000)],
189
- [String.fromCharCode(0x309f), String.fromCharCode(0x0000)],
190
- [String.fromCharCode(0x30a0), String.fromCharCode(0x0000)],
191
- [String.fromCharCode(0xff67), String.fromCharCode(0x0000)],
192
- [String.fromCharCode(0xff71), String.fromCharCode(0x0000)],
193
- [String.fromCharCode(0xff68), String.fromCharCode(0x0000)],
194
- [String.fromCharCode(0xff72), String.fromCharCode(0x0000)],
195
- [String.fromCharCode(0xff69), String.fromCharCode(0x0000)],
196
- [String.fromCharCode(0xff73), String.fromCharCode(0x0000)],
197
- [String.fromCharCode(0xff6a), String.fromCharCode(0x0000)],
198
- [String.fromCharCode(0xff74), String.fromCharCode(0x0000)],
199
- [String.fromCharCode(0xff6b), String.fromCharCode(0x0000)],
200
- [String.fromCharCode(0xff75), String.fromCharCode(0x0000)],
201
- [String.fromCharCode(0xff76), String.fromCharCode(0x0000)],
202
- [String.fromCharCode(0xff76), String.fromCharCode(0xff9e)],
203
- [String.fromCharCode(0xff77), String.fromCharCode(0x0000)],
204
- [String.fromCharCode(0xff77), String.fromCharCode(0xff9e)],
205
- [String.fromCharCode(0xff78), String.fromCharCode(0x0000)],
206
- [String.fromCharCode(0xff78), String.fromCharCode(0xff9e)],
207
- [String.fromCharCode(0xff79), String.fromCharCode(0x0000)],
208
- [String.fromCharCode(0xff79), String.fromCharCode(0xff9e)],
209
- [String.fromCharCode(0xff7a), String.fromCharCode(0x0000)],
210
- [String.fromCharCode(0xff7a), String.fromCharCode(0xff9e)],
211
- [String.fromCharCode(0xff7b), String.fromCharCode(0x0000)],
212
- [String.fromCharCode(0xff7b), String.fromCharCode(0xff9e)],
213
- [String.fromCharCode(0xff7c), String.fromCharCode(0x0000)],
214
- [String.fromCharCode(0xff7c), String.fromCharCode(0xff9e)],
215
- [String.fromCharCode(0xff7d), String.fromCharCode(0x0000)],
216
- [String.fromCharCode(0xff7d), String.fromCharCode(0xff9e)],
217
- [String.fromCharCode(0xff7e), String.fromCharCode(0x0000)],
218
- [String.fromCharCode(0xff7e), String.fromCharCode(0xff9e)],
219
- [String.fromCharCode(0xff7f), String.fromCharCode(0x0000)],
220
- [String.fromCharCode(0xff7f), String.fromCharCode(0xff9e)],
221
- [String.fromCharCode(0xff80), String.fromCharCode(0x0000)],
222
- [String.fromCharCode(0xff80), String.fromCharCode(0xff9e)],
223
- [String.fromCharCode(0xff81), String.fromCharCode(0x0000)],
224
- [String.fromCharCode(0xff81), String.fromCharCode(0xff9e)],
225
- [String.fromCharCode(0xff6f), String.fromCharCode(0x0000)],
226
- [String.fromCharCode(0xff82), String.fromCharCode(0x0000)],
227
- [String.fromCharCode(0xff82), String.fromCharCode(0xff9e)],
228
- [String.fromCharCode(0xff83), String.fromCharCode(0x0000)],
229
- [String.fromCharCode(0xff83), String.fromCharCode(0xff9e)],
230
- [String.fromCharCode(0xff84), String.fromCharCode(0x0000)],
231
- [String.fromCharCode(0xff84), String.fromCharCode(0xff9e)],
232
- [String.fromCharCode(0xff85), String.fromCharCode(0x0000)],
233
- [String.fromCharCode(0xff86), String.fromCharCode(0x0000)],
234
- [String.fromCharCode(0xff87), String.fromCharCode(0x0000)],
235
- [String.fromCharCode(0xff88), String.fromCharCode(0x0000)],
236
- [String.fromCharCode(0xff89), String.fromCharCode(0x0000)],
237
- [String.fromCharCode(0xff8a), String.fromCharCode(0x0000)],
238
- [String.fromCharCode(0xff8a), String.fromCharCode(0xff9e)],
239
- [String.fromCharCode(0xff8a), String.fromCharCode(0xff9f)],
240
- [String.fromCharCode(0xff8b), String.fromCharCode(0x0000)],
241
- [String.fromCharCode(0xff8b), String.fromCharCode(0xff9e)],
242
- [String.fromCharCode(0xff8b), String.fromCharCode(0xff9f)],
243
- [String.fromCharCode(0xff8c), String.fromCharCode(0x0000)],
244
- [String.fromCharCode(0xff8c), String.fromCharCode(0xff9e)],
245
- [String.fromCharCode(0xff8c), String.fromCharCode(0xff9f)],
246
- [String.fromCharCode(0xff8d), String.fromCharCode(0x0000)],
247
- [String.fromCharCode(0xff8d), String.fromCharCode(0xff9e)],
248
- [String.fromCharCode(0xff8d), String.fromCharCode(0xff9f)],
249
- [String.fromCharCode(0xff8e), String.fromCharCode(0x0000)],
250
- [String.fromCharCode(0xff8e), String.fromCharCode(0xff9e)],
251
- [String.fromCharCode(0xff8e), String.fromCharCode(0xff9f)],
252
- [String.fromCharCode(0xff8f), String.fromCharCode(0x0000)],
253
- [String.fromCharCode(0xff90), String.fromCharCode(0x0000)],
254
- [String.fromCharCode(0xff91), String.fromCharCode(0x0000)],
255
- [String.fromCharCode(0xff92), String.fromCharCode(0x0000)],
256
- [String.fromCharCode(0xff93), String.fromCharCode(0x0000)],
257
- [String.fromCharCode(0xff6c), String.fromCharCode(0x0000)],
258
- [String.fromCharCode(0xff94), String.fromCharCode(0x0000)],
259
- [String.fromCharCode(0xff6d), String.fromCharCode(0x0000)],
260
- [String.fromCharCode(0xff95), String.fromCharCode(0x0000)],
261
- [String.fromCharCode(0xff6e), String.fromCharCode(0x0000)],
262
- [String.fromCharCode(0xff96), String.fromCharCode(0x0000)],
263
- [String.fromCharCode(0xff97), String.fromCharCode(0x0000)],
264
- [String.fromCharCode(0xff98), String.fromCharCode(0x0000)],
265
- [String.fromCharCode(0xff99), String.fromCharCode(0x0000)],
266
- [String.fromCharCode(0xff9a), String.fromCharCode(0x0000)],
267
- [String.fromCharCode(0xff9b), String.fromCharCode(0x0000)],
268
- [String.fromCharCode(0x30ee), String.fromCharCode(0x0000)],
269
- [String.fromCharCode(0xff9c), String.fromCharCode(0x0000)],
270
- [String.fromCharCode(0x30f0), String.fromCharCode(0x0000)],
271
- [String.fromCharCode(0x30f1), String.fromCharCode(0x0000)],
272
- [String.fromCharCode(0xff66), String.fromCharCode(0x0000)],
273
- [String.fromCharCode(0xff9d), String.fromCharCode(0x0000)],
274
- [String.fromCharCode(0xff73), String.fromCharCode(0xff9e)],
275
- [String.fromCharCode(0xff76), String.fromCharCode(0x0000)],
276
- [String.fromCharCode(0xff79), String.fromCharCode(0x0000)]
277
- ];
278
- ExpressionLocalJpn.tableExceptZen2Han = [
279
- [String.fromCharCode(0x2018), String.fromCharCode(0x0060)],
280
- [String.fromCharCode(0x2019), String.fromCharCode(0x0027)],
281
- [String.fromCharCode(0x201D), String.fromCharCode(0x0022)],
282
- [String.fromCharCode(0x3000), String.fromCharCode(0x0020)],
283
- [String.fromCharCode(0x3001), String.fromCharCode(0xFF64)],
284
- [String.fromCharCode(0x3002), String.fromCharCode(0xFF61)],
285
- [String.fromCharCode(0x300C), String.fromCharCode(0xFF62)],
286
- [String.fromCharCode(0x300D), String.fromCharCode(0xFF63)],
287
- [String.fromCharCode(0x30FB), String.fromCharCode(0xFF65)],
288
- [String.fromCharCode(0x30FC), String.fromCharCode(0xFF70)],
289
- [String.fromCharCode(0xFFE5), String.fromCharCode(0x005C)]
290
- ];
291
- ExpressionLocalJpn.tableHan2Zen = [
292
- String.fromCharCode(0x3002), String.fromCharCode(0x300c), String.fromCharCode(0x300d),
293
- String.fromCharCode(0x3001), String.fromCharCode(0x30fb), String.fromCharCode(0x30f2),
294
- String.fromCharCode(0x30a1), String.fromCharCode(0x30a3), String.fromCharCode(0x30a5),
295
- String.fromCharCode(0x30a7), String.fromCharCode(0x30a9), String.fromCharCode(0x30e3),
296
- String.fromCharCode(0x30e5), String.fromCharCode(0x30e7), String.fromCharCode(0x30c3),
297
- String.fromCharCode(0x30fc), String.fromCharCode(0x30a2), String.fromCharCode(0x30a4),
298
- String.fromCharCode(0x30a6), String.fromCharCode(0x30a8), String.fromCharCode(0x30aa),
299
- String.fromCharCode(0x30ab), String.fromCharCode(0x30ad), String.fromCharCode(0x30af),
300
- String.fromCharCode(0x30b1), String.fromCharCode(0x30b3), String.fromCharCode(0x30b5),
301
- String.fromCharCode(0x30b7), String.fromCharCode(0x30b9), String.fromCharCode(0x30bb),
302
- String.fromCharCode(0x30bd), String.fromCharCode(0x30bf), String.fromCharCode(0x30c1),
303
- String.fromCharCode(0x30c4), String.fromCharCode(0x30c6), String.fromCharCode(0x30c8),
304
- String.fromCharCode(0x30ca), String.fromCharCode(0x30cb), String.fromCharCode(0x30cc),
305
- String.fromCharCode(0x30cd), String.fromCharCode(0x30ce), String.fromCharCode(0x30cf),
306
- String.fromCharCode(0x30d2), String.fromCharCode(0x30d5), String.fromCharCode(0x30d8),
307
- String.fromCharCode(0x30db), String.fromCharCode(0x30de), String.fromCharCode(0x30df),
308
- String.fromCharCode(0x30e0), String.fromCharCode(0x30e1), String.fromCharCode(0x30e2),
309
- String.fromCharCode(0x30e4), String.fromCharCode(0x30e6), String.fromCharCode(0x30e8),
310
- String.fromCharCode(0x30e9), String.fromCharCode(0x30ea), String.fromCharCode(0x30eb),
311
- String.fromCharCode(0x30ec), String.fromCharCode(0x30ed), String.fromCharCode(0x30ef),
312
- String.fromCharCode(0x30f3), String.fromCharCode(0x309b), String.fromCharCode(0x309c)
313
- ];
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwcmVzc2lvbkxvY2FsSnBuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9leHAvRXhwcmVzc2lvbkxvY2FsSnBuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBMkIsT0FBTyxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFRM0UsTUFBTSxPQUFPLGtCQUFrQjtJQTZKN0IsWUFBWSxtQkFBd0M7UUFGNUMseUJBQW9CLEdBQXdCLElBQUksQ0FBQztRQUd2RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7SUFDbEQsQ0FBQztJQVNELFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLElBQUksYUFBYSxHQUFrQixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxhQUFhLEdBQWtCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxHQUFXLElBQUksQ0FBQztRQUUxQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzRCxJQUFJLE9BQU8sR0FBVyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBR2hELElBQUksTUFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FB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QU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDM0QsQ0FBQztBQVdHLHFDQUFrQixHQUN2QjtJQUNFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzNELENBQUM7QUFVRywrQkFBWSxHQUNqQjtJQUNFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckYsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0NBQ3RGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGUsIFN0clV0aWwsIFV0aWxEYXRlSnBuLCBVdGlsSW1lSnBufSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0Rpc3BsYXlDb252ZXJ0b3IsIEV4cFZhbCwgTWFuYWdlciwgTlVNX1RZUEV9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0V4cHJlc3Npb25FdmFsdWF0b3J9IGZyb20gXCIuL0V4cHJlc3Npb25FdmFsdWF0b3JcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vICAgSlBOOiBDbGFzcyBmb3IgSmFwYW5lc2UgZXh0ZW5kZWQgZnVuY3Rpb25zXHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vLyA8YXV0aG9yPiAgVG9zaGlybyBOYWtheW9zaGkgKE1TSilcclxuLy8vIDwvYXV0aG9yPlxyXG5leHBvcnQgY2xhc3MgRXhwcmVzc2lvbkxvY2FsSnBuIHtcclxuICBzdGF0aWMgdGFibGVaZW4ySGFuOiBzdHJpbmdbXVtdID1cclxuICAgIFtcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjllKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjlmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMDlkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMDllKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMDlmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGEwKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjY3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjcxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjY4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjcyKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjY5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjczKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc0KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc1KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjdmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgwKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgwKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgyKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgyKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgzKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjgzKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg0KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg0KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg1KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjg5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWYpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWYpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWYpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWYpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWYpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjhmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjkwKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjkxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjkyKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjkzKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk0KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk1KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjZlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjk5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjlhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjliKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGVlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjljKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGYwKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGYxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjY2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjlkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjczKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweGZmOWUpXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXSxcclxuICAgICAgW1N0cmluZy5mcm9tQ2hhckNvZGUoMHhmZjc5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApXVxyXG4gICAgXTtcclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBtYXBwaW5nIHRhYmxlIG9mIEphcGFuZXNlIGNoYXJhY3RlcnMgIzJcclxuICAvLy8gICBjb252ZXJ0IGZyb20gemVua2FrdSAoZXhjZXB0aW9uYWwpIHRvIGhhbmtha3VcclxuICAvLy9cclxuICAvLy8gICByb3cgaW5kZXg6IG5vIHNwZWNpYWwgbWVhbmluZ1xyXG4gIC8vLyAgIGNvbHVtbiAjMTogemVua2FrdShmdWxsLXdpZHRoKSBjb2RlXHJcbiAgLy8vICAgY29sdW1uICMyOiBoYW5rYWt1KGhhbGYtd2lkdGgpIGNvZGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyB0YWJsZUV4Y2VwdFplbjJIYW46IHN0cmluZ1tdW10gPVxyXG4gICAgW1xyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDIwMTgpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDA2MCldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDIwMTkpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAyNyldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDIwMUQpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAyMildLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMDApLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAyMCldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMDEpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY2NCldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMDIpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY2MSldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMEMpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY2MildLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMEQpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY2MyldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwRkIpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY2NSldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwRkMpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RkY3MCldLFxyXG4gICAgICBbU3RyaW5nLmZyb21DaGFyQ29kZSgweEZGRTUpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDA1QyldXHJcbiAgICBdO1xyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIG1hcHBpbmcgdGFibGUgb2YgSmFwYW5lc2UgY2hhcmFjdGVycyAjM1xyXG4gIC8vLyAgIGNvbnZlcnQgZnJvbSBoYW5rYWt1ICgweGZmNjEgfiAweGZmOWYpIHRvIHplbmtha3VcclxuICAvLy9cclxuICAvLy8gICByb3cgaW5kZXg6IGhhbmtha3UoaGFsZi13aWR0aCkgY29kZSAtKG1pbnVzKSAweGZmNjFcclxuICAvLy8gICBjb2x1bW46ICAgIHplbmtha3UoZnVsbC13aWR0aCkgY29kZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHRhYmxlSGFuMlplbjogc3RyaW5nW10gPVxyXG4gICAgW1xyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzAwMiksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMDBjKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwMGQpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzAwMSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGZiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZjIpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBhMSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGEzKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYTUpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBhNyksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGE5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZTMpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBlNSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGU3KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYzMpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBmYyksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGEyKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYTQpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBhNiksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGE4KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYWEpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBhYiksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGFkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYWYpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBiMSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGIzKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYjUpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBiNyksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGI5KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYmIpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBiZCksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGJmKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYzEpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBjNCksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGM2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwYzgpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBjYSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGNiKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwY2MpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBjZCksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGNlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwY2YpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBkMiksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGQ1KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZDgpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBkYiksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGRlKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZGYpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBlMCksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGUxKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZTIpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBlNCksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGU2KSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZTgpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBlOSksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGVhKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZWIpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBlYyksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGVkKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwZWYpLFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBmMyksIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMDliKSwgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMwOWMpXHJcbiAgICBdO1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBfZXhwcmVzc2lvbkV2YWx1YXRvcjogRXhwcmVzc2lvbkV2YWx1YXRvciA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGV4cHJlc3Npb25FdmFsdWF0b3I6IEV4cHJlc3Npb25FdmFsdWF0b3IpIHtcclxuICAgIHRoaXMuX2V4cHJlc3Npb25FdmFsdWF0b3IgPSBleHByZXNzaW9uRXZhbHVhdG9yO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEhBTjogQ29udmVydCBhIHN0cmluZyBmcm9tIHplbmtha3UoZnVsbC13aWR0aCkgdG8gaGFua2FrdShoYWxmLXdpZHRoKVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHJWYWw6XCI+emVua2FrdSBzdHJpbmdcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IGhhbmFrYWt1IHN0cmluZ1xyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZXZhbF9vcF9oYW4oc3RyVmFsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cmJ1Zlplbmtha3U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcihTdHJVdGlsLnJ0cmltKHN0clZhbCkpO1xyXG4gICAgbGV0IHN0cmJ1Zkhhbmtha3U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigwKTtcclxuICAgIGxldCBzdHJSZXQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHN0cmJ1Zlplbmtha3UuTGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgbGV0IGNMZXR0ZXI6IHN0cmluZyA9IHN0cmJ1Zlplbmtha3UuZ2V0X0l0ZW0oaSk7XHJcblxyXG4gICAgICAvLyBkaWdpdCwgYWxwaGFiZXQgYW5kIGV0Yy5cclxuICAgICAgaWYgKDB4ZmYwMSA8PSBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgJiYgY0xldHRlci5jaGFyQ29kZUF0KDApIDw9IDB4ZmY1ZSAmJiBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgIT09IDB4ZmYzYyAmJiBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgIT09IDB4ZmY0MCkge1xyXG4gICAgICAgIHN0cmJ1Zkhhbmtha3UuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoY0xldHRlci5jaGFyQ29kZUF0KDApIC0gMHhmZWUwKSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8ga2F0YWthbmFcclxuICAgICAgZWxzZSBpZiAoMHgzMDliIDw9IGNMZXR0ZXIuY2hhckNvZGVBdCgwKSAmJiBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgPD0gMHgzMGY2KSB7XHJcbiAgICAgICAgc3RyYnVmSGFua2FrdS5BcHBlbmQoRXhwcmVzc2lvbkxvY2FsSnBuLnRhYmxlWmVuMkhhbltjTGV0dGVyLmNoYXJDb2RlQXQoMCkgLSAweDMwOWJdWzBdKTtcclxuXHJcbiAgICAgICAgaWYgKEV4cHJlc3Npb25Mb2NhbEpwbi50YWJsZVplbjJIYW5bY0xldHRlci5jaGFyQ29kZUF0KDApIC0gMHgzMDliXVsxXS5jaGFyQ29kZUF0KDApID4gMHgwMDAwKSB7XHJcbiAgICAgICAgICBzdHJidWZIYW5rYWt1LkFwcGVuZChFeHByZXNzaW9uTG9jYWxKcG4udGFibGVaZW4ySGFuW2NMZXR0ZXIuY2hhckNvZGVBdCgwKSAtIDB4MzA5Yl1bMV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBvdGhlcnNcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IGo6IG51bWJlcjtcclxuICAgICAgICBmb3IgKGogPSAwOyBqIDwgRXhwcmVzc2lvbkxvY2FsSnBuLnRhYmxlRXhjZXB0WmVuMkhhbi5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgaWYgKGNMZXR0ZXIgPT09IEV4cHJlc3Npb25Mb2NhbEpwbi50YWJsZUV4Y2VwdFplbjJIYW5bal1bMF0pIHtcclxuICAgICAgICAgICAgc3RyYnVmSGFua2FrdS5BcHBlbmQoRXhwcmVzc2lvbkxvY2FsSnBuLnRhYmxlRXhjZXB0WmVuMkhhbltqXVsxXSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaiA9PT0gRXhwcmVzc2lvbkxvY2FsSnBuLnRhYmxlRXhjZXB0WmVuMkhhbi5sZW5ndGgpXHJcbiAgICAgICAgICBzdHJidWZIYW5rYWt1LkFwcGVuZChjTGV0dGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0clJldCA9IHN0cmJ1Zkhhbmtha3UuVG9TdHJpbmcoKTtcclxuXHJcbiAgICBzdHJidWZaZW5rYWt1ID0gbnVsbDtcclxuICAgIHN0cmJ1Zkhhbmtha3UgPSBudWxsO1xyXG5cclxuICAgIHJldHVybiBzdHJSZXQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgWkVOL1pFTlM6IENvbnZlcnQgYSBzdHJpbmcgZnJvbSBoYW5rYWt1KGhhbGYtd2lkdGgpIHRvIHplbmtha3UoZnVsbC13aWR0aClcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyVmFsOlwiPmhhbmtha3Ugc3RyaW5nXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtb2RlOlwiPnNwZWNpZnkgaG93IHRvIGNvbnZlcnQgYSBoYW5rYWt1IHNwYWNlXHJcbiAgLy8vICAgMCA9IHRvIGhhbmtha3Ugc3BhY2UgeCAxXHJcbiAgLy8vICAgMSA9IHRvIHplbmtha3Ugc3BhY2UgeCAxXHJcbiAgLy8vICAgMiA9IHRvIGhhbmtha3Ugc3BhY2UgeCAyXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB6ZW5rYWt1IHN0cmluZ1xyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZXZhbF9vcF96ZW5zKHN0clZhbDogc3RyaW5nLCBtb2RlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cmJ1Zkhhbmtha3U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcihTdHJVdGlsLnJ0cmltKHN0clZhbCkpO1xyXG4gICAgbGV0IHN0cmJ1Zlplbmtha3U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigwKTtcclxuICAgIGxldCBzdHJSZXQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHN0cmJ1Zkhhbmtha3UuTGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgbGV0IGNMZXR0ZXI6IHN0cmluZyA9IHN0cmJ1Zkhhbmtha3UuZ2V0X0l0ZW0oaSk7XHJcblxyXG4gICAgICAvLyBzcGFjZSwgZGlnaXQsIGFscGhhYmV0IGFuZCBldGMuXHJcbiAgICAgIGlmICgweDAwMjAgPD0gY0xldHRlci5jaGFyQ29kZUF0KDApICYmIGNMZXR0ZXIuY2hhckNvZGVBdCgwKSA8PSAweDAwN2UpIHtcclxuXHJcbiAgICAgICAgc3dpdGNoIChjTGV0dGVyKSB7XHJcbiAgICAgICAgICBjYXNlIFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDIwKTogLy8gc3BhY2VcclxuICAgICAgICAgICAgaWYgKG1vZGUgPT09IDEpIHtcclxuICAgICAgICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzAwMCkpOyAvLyB6ZW5rYWt1IHNwYWNlIHggMS9Ccm93c2VyQ2xpZW50L1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKG1vZGUgPT09IDIpIHtcclxuICAgICAgICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAyMCkpOyAvLyBoYW5rYWt1IHNwYWNlIHggMlxyXG4gICAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDIwKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyogbW9kZSA9PSAwICovXHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDIwKSk7IC8vIGhhbmtha3Ugc3BhY2UgeCAxXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG5cclxuICAgICAgICAgIGNhc2UgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMjIpOiAvLyBcIlxyXG4gICAgICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MjAxZCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcblxyXG4gICAgICAgICAgY2FzZSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAyNyk6IC8vICdcclxuICAgICAgICAgICAgc3RyYnVmWmVua2FrdS5BcHBlbmQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDIwMTkpKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG5cclxuICAgICAgICAgIGNhc2UgU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNWMpOiAvLyBcXFxyXG4gICAgICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChTdHJpbmcuZnJvbUNoYXJDb2RlKDB4ZmZlNSkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcblxyXG4gICAgICAgICAgY2FzZSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDA2MCk6IC8vIGBcclxuICAgICAgICAgICAgc3RyYnVmWmVua2FrdS5BcHBlbmQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDIwMTgpKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoY0xldHRlci5jaGFyQ29kZUF0KDApICsgMHhmZWUwKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBrdXRvdXRlbiwga2F0YWthbmEgYW5kIGV0Yy5cclxuICAgICAgZWxzZSBpZiAoMHhmZjYxIDw9IGNMZXR0ZXIuY2hhckNvZGVBdCgwKSAmJiBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgPD0gMHhmZjlmKSB7XHJcbiAgICAgICAgbGV0IGNDb21iaW5lOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAwMCk7IC8vIGZsYWcgb2YgZGFrdW9uIG9yIGhhbi1kYWt1b25cclxuXHJcbiAgICAgICAgaWYgKChpICsgMSkgPCBzdHJidWZIYW5rYWt1Lkxlbmd0aCkge1xyXG4gICAgICAgICAgLy8gY2hlY2sgdGhlIG5leHQgbGV0dGVyXHJcbiAgICAgICAgICBjQ29tYmluZSA9IHN0cmJ1Zkhhbmtha3UuZ2V0X0l0ZW0oaSArIDEpO1xyXG4gICAgICAgICAgaWYgKGNDb21iaW5lLmNoYXJDb2RlQXQoMCkgIT09IDB4ZmY5ZSAmJiBjQ29tYmluZS5jaGFyQ29kZUF0KDApICE9PSAweGZmOWYpXHJcbiAgICAgICAgICAgIGNDb21iaW5lID0gU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNDb21iaW5lLmNoYXJDb2RlQXQoMCkgPT09IDB4ZmY5ZSlcclxuICAgICAgICAvLyBzeW1ib2wgb2YgZGFrdW9uXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWYgKDB4ZmY3NiA8PSBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgJiYgY0xldHRlci5jaGFyQ29kZUF0KDApIDw9IDB4ZmY4NCB8fCAweGZmOGEgPD0gY0xldHRlci5jaGFyQ29kZUF0KDApICYmIGNMZXR0ZXIuY2hhckNvZGVBdCgwKSA8PSAweGZmOGUpXHJcbiAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKChFeHByZXNzaW9uTG9jYWxKcG4udGFibGVIYW4yWmVuW2NMZXR0ZXIuY2hhckNvZGVBdCgwKSAtIDB4ZmY2MV0gKyAweDAwMSkpO1xyXG4gICAgICAgICAgZWxzZSBpZiAoY0xldHRlci5jaGFyQ29kZUF0KDApID09PSAweGZmNzMpXHJcbiAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMGY0KSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNDb21iaW5lID0gU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMDApOyAvLyB0aGUgc3ltYm9sIGlzIGluZGVwZW5kZW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGNDb21iaW5lLmNoYXJDb2RlQXQoMCkgPT09IDB4ZmY5ZilcclxuICAgICAgICAvLyBzeW1ib2wgb2YgaGFuLWRha3VvblxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlmICgweGZmOGEgPD0gY0xldHRlci5jaGFyQ29kZUF0KDApICYmIGNMZXR0ZXIuY2hhckNvZGVBdCgwKSA8PSAweGZmOGUpXHJcbiAgICAgICAgICAgIHN0cmJ1Zlplbmtha3UuQXBwZW5kKChFeHByZXNzaW9uTG9jYWxKcG4udGFibGVIYW4yWmVuW2NMZXR0ZXIuY2hhckNvZGVBdCgwKSAtIDB4ZmY2MV0gKyAweDAwMikpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjQ29tYmluZSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDAwKTsgLy8gdGhlIHN5bWJvbCBpcyBpbmRlcGVuZGVudFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNDb21iaW5lLmNoYXJDb2RlQXQoMCkgIT09IDB4MDAwMClcclxuICAgICAgICAgIGkrKztcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChFeHByZXNzaW9uTG9jYWxKcG4udGFibGVIYW4yWmVuW2NMZXR0ZXIuY2hhckNvZGVBdCgwKSAtIDB4ZmY2MV0pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG90aGVyc1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzdHJidWZaZW5rYWt1LkFwcGVuZChjTGV0dGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0clJldCA9IHN0cmJ1Zlplbmtha3UuVG9TdHJpbmcoKTtcclxuXHJcbiAgICBzdHJidWZIYW5rYWt1ID0gbnVsbDtcclxuICAgIHN0cmJ1Zlplbmtha3UgPSBudWxsO1xyXG5cclxuICAgIHJldHVybiBzdHJSZXQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgWklNRVJlYWQ6IHJldHVybiBjb21wb3NpdGlvbiBzdHJpbmcgaW4gSU1FXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBldmFsX29wX3ppbWVyZWFkKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3RyUmV0OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgbGV0IHV0aWxJbWVKcG46IFV0aWxJbWVKcG4gPSBNYW5hZ2VyLlV0aWxJbWVKcG47XHJcblxyXG4gICAgaWYgKHV0aWxJbWVKcG4gIT09IG51bGwpXHJcbiAgICAgIHN0clJldCA9IHV0aWxJbWVKcG4uU3RySW1lUmVhZDtcclxuXHJcbiAgICByZXR1cm4gc3RyUmV0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFpLQU5BOiBDb252ZXJ0IGEgc3RyaW5nIGZyb20gaGlyYWdhbmEgdG8ga2F0YWthbmEgKGFuZCB2aWNlIHZlcnNhKVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHJWYWw6XCI+aGFua2FrdShvciBrYXRha2FuYSkgc3RyaW5nXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtb2RlOlwiPnNwZWNpZnkgdGhlIGRpcmVjdGlvbiBvZiBjb252ZXJzaW9uXHJcbiAgLy8vICAgMCA9IGZyb20gaGlyYWdhbmEgdG8ga2F0YWthbmFcclxuICAvLy8gICAxID0gZnJvbSBrYXRha2FuYSB0byBoaXJhZ2FuYVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4ga2F0YWthbmEob3IgaGlyYWdhbmEpIHN0cmluZ1xyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZXZhbF9vcF96a2FuYShzdHJWYWw6IHN0cmluZywgbW9kZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGxldCBzdHJidWZDb252ZXJ0ZWQ6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcihTdHJVdGlsLnJ0cmltKHN0clZhbCkpO1xyXG4gICAgbGV0IHN0clJldDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgc3RyYnVmQ29udmVydGVkLkxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGxldCBjTGV0dGVyOiBzdHJpbmcgPSBzdHJidWZDb252ZXJ0ZWQuZ2V0X0l0ZW0oaSk7XHJcblxyXG4gICAgICBpZiAobW9kZSA9PT0gMCkge1xyXG4gICAgICAgIC8vIGhpcmFnYW5hIC0tPiBrYXRha2FuYVxyXG4gICAgICAgIGlmICgweDMwNDEgPD0gY0xldHRlci5jaGFyQ29kZUF0KDApICYmIGNMZXR0ZXIuY2hhckNvZGVBdCgwKSA8PSAweDMwOTMpXHJcbiAgICAgICAgICBzdHJidWZDb252ZXJ0ZWQuc2V0X0l0ZW0oaSwgU3RyaW5nLmZyb21DaGFyQ29kZShjTGV0dGVyLmNoYXJDb2RlQXQoMCkgKyAweDAwNjApKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBrYXRha2FuYSAtLT4gaGlyYWdhbmFcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKDB4MzBBMSA8PSBjTGV0dGVyLmNoYXJDb2RlQXQoMCkgJiYgY0xldHRlci5jaGFyQ29kZUF0KDApIDw9IDB4MzBmMylcclxuICAgICAgICAgIHN0cmJ1ZkNvbnZlcnRlZC5zZXRfSXRlbShpLCBTdHJpbmcuZnJvbUNoYXJDb2RlKGNMZXR0ZXIuY2hhckNvZGVBdCgwKSAtIDB4MDA2MCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzdHJSZXQgPSBzdHJidWZDb252ZXJ0ZWQuVG9TdHJpbmcoKTtcclxuICAgIHN0cmJ1ZkNvbnZlcnRlZCA9IG51bGw7XHJcblxyXG4gICAgcmV0dXJuIHN0clJldDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBKQ0RPVzogSmFwYW5lc2UgdmVyc2lvbiBvZiBDRE9XXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBldmFsX29wX2pjZG93KHJlc1ZhbDogRXhwVmFsLCB2YWwxOiBOVU1fVFlQRSwgZGlzcGxheUNvbnZlcnRvcjogRGlzcGxheUNvbnZlcnRvcik6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhwcmVzc2lvbkV2YWx1YXRvci5ldmFsX29wX2RhdGVfc3RyKHJlc1ZhbCwgdmFsMSwgXCJTU1NTU1NUXCIsIGRpc3BsYXlDb252ZXJ0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEpNT05USDogSmFwYW5lc2UgdmVyc2lvbiBvZiBOTU9OVEhcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGV2YWxfb3Bfam1vbnRoKHJlc1ZhbDogRXhwVmFsLCB2YWwxOiBFeHBWYWwpOiB2b2lkIHtcclxuICAgIGlmICh2YWwxLk1nTnVtVmFsID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2V4cHJlc3Npb25FdmFsdWF0b3IuU2V0TlVMTChyZXNWYWwsIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdmFsMS5NZ051bVZhbCA9IHRoaXMuX2V4cHJlc3Npb25FdmFsdWF0b3IubXVsX2FkZCh2YWwxLk1nTnVtVmFsLCAzMSwgLTMwKTtcclxuICAgIHRoaXMuX2V4cHJlc3Npb25FdmFsdWF0b3IuZXZhbF9vcF9tb250aChyZXNWYWwsIHZhbDEpO1xyXG4gICAgbGV0IG1vbnRoOiBudW1iZXIgPSByZXNWYWwuTWdOdW1WYWwuTlVNXzJfTE9ORygpO1xyXG5cclxuICAgIHJlc1ZhbC5BdHRyID0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTtcclxuICAgIHJlc1ZhbC5TdHJWYWwgPSBVdGlsRGF0ZUpwbi5jb252ZXJ0U3RyTW9udGgobW9udGgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEpORE9XOiBKYXBhbmVzZSB2ZXJzaW9uIG9mIE5ET1dcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGV2YWxfb3Bfam5kb3cocmVzVmFsOiBFeHBWYWwsIHZhbDE6IEV4cFZhbCwgZGlzcGxheUNvbnZlcnRvcjogRGlzcGxheUNvbnZlcnRvcik6IHZvaWQge1xyXG4gICAgaWYgKHZhbDEuTWdOdW1WYWwgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZXhwcmVzc2lvbkV2YWx1YXRvci5TZXROVUxMKHJlc1ZhbCwgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YWwxLk1nTnVtVmFsID0gdGhpcy5fZXhwcmVzc2lvbkV2YWx1YXRvci5tdWxfYWRkKHZhbDEuTWdOdW1WYWwsIDAsIDYpO1xyXG4gICAgdGhpcy5ldmFsX29wX2pjZG93KHJlc1ZhbCwgdmFsMS5NZ051bVZhbCwgZGlzcGxheUNvbnZlcnRvcik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgSllFQVI6IFJldHVybiBKYXBhbmVzZSB5ZWFyIG9mIGFuIGVyYVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZXZhbF9vcF9qeWVhcihyZXNWYWw6IEV4cFZhbCwgdmFsMTogRXhwVmFsKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leHByZXNzaW9uRXZhbHVhdG9yLmV2YWxfb3BfZGF0ZV9icmsocmVzVmFsLCB2YWwxLk1nTnVtVmFsLCA0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBKR0VOR086IFJldHVybiBKYXBhbmVzZSBnZW5nbyAodGhlIG5hbWUgb2YgYW4gZXJhKVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZXZhbF9vcF9qZ2VuZ28ocmVzVmFsOiBFeHBWYWwsIHZhbDE6IE5VTV9UWVBFLCB2YWwyOiBOVU1fVFlQRSwgZGlzcGxheUNvbnZlcnRvcjogRGlzcGxheUNvbnZlcnRvcik6IHZvaWQge1xyXG4gICAgbGV0IHN0ckZvcm1hdDogc3RyaW5nO1xyXG5cclxuICAgIHJlc1ZhbC5BdHRyID0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTtcclxuXHJcbiAgICBpZiAodmFsMSA9PT0gbnVsbCB8fCB2YWwyID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2V4cHJlc3Npb25FdmFsdWF0b3IuU2V0TlVMTChyZXNWYWwsIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGludFR5cGU6IG51bWJlciA9IHZhbDIuTlVNXzJfTE9ORygpO1xyXG5cclxuICAgIGlmIChpbnRUeXBlID49IDQpXHJcbiAgICAgIHN0ckZvcm1hdCA9IFwiSkpKSlwiO1xyXG4gICAgZWxzZSBpZiAoaW50VHlwZSA+PSAyKVxyXG4gICAgICBzdHJGb3JtYXQgPSBcIkpKXCI7XHJcbiAgICBlbHNlIGlmIChpbnRUeXBlID49IDEpXHJcbiAgICAgIHN0ckZvcm1hdCA9IFwiSlwiO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJlc1ZhbC5TdHJWYWwgPSBcIlwiO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZXhwcmVzc2lvbkV2YWx1YXRvci5ldmFsX29wX2RhdGVfc3RyKHJlc1ZhbCwgdmFsMSwgc3RyRm9ybWF0LCBkaXNwbGF5Q29udmVydG9yKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- import { XmlParser, StorageAttribute } from "@magic-xpa/utils";
2
- import { DisplayConvertor } from "@magic-xpa/gui";
3
- export class YesNoExp {
4
- constructor(defaultVal) {
5
- this._exp = null;
6
- this._val = false;
7
- this._val = defaultVal;
8
- this._exp = null;
9
- }
10
- setVal(task, strVal) {
11
- switch (strVal[0]) {
12
- case 'Y':
13
- this._val = true;
14
- break;
15
- case 'N':
16
- this._val = false;
17
- break;
18
- default:
19
- let expId = XmlParser.getInt(strVal);
20
- if (task != null)
21
- this._exp = task.getExpById(expId);
22
- break;
23
- }
24
- }
25
- async getVal() {
26
- if (this._exp !== null)
27
- return await DisplayConvertor.toBoolean(await this._exp.evaluateWithResultTypeAndLength(StorageAttribute.BOOLEAN, 0));
28
- return this._val;
29
- }
30
- isServerExp() {
31
- if (this._exp != null)
32
- return this._exp.computedByServerOnly();
33
- return false;
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWWVzTm9FeHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2V4cC9ZZXNOb0V4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFPaEQsTUFBTSxPQUFPLFFBQVE7SUFJbkIsWUFBWSxVQUFtQjtRQUh2QixTQUFJLEdBQWUsSUFBSSxDQUFDO1FBQ3hCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFHNUIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQU9ELE1BQU0sQ0FBQyxJQUFVLEVBQUUsTUFBYztRQUUvQixRQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixLQUFLLEdBQUc7Z0JBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2xCLE1BQU07WUFFUjtnQkFDRSxJQUFJLEtBQUssR0FBVyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLElBQUksSUFBSSxJQUFJO29CQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUtELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUk7WUFDcEIsT0FBTyxNQUFNLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFLRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1htbFBhcnNlciwgU3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtEaXNwbGF5Q29udmVydG9yfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtFeHByZXNzaW9ufSBmcm9tIFwiLi9FeHByZXNzaW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vICAgWWVzTm9FeHAgY2xhc3MgcmVwcmVzZW50IGEgWWVzL05vL0V4cHJlc3Npb24gY29tYmluYXRpb25cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIFllc05vRXhwIHtcclxuICBwcml2YXRlIF9leHA6IEV4cHJlc3Npb24gPSBudWxsO1xyXG4gIHByaXZhdGUgX3ZhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihkZWZhdWx0VmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl92YWwgPSBkZWZhdWx0VmFsO1xyXG4gICAgdGhpcy5fZXhwID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzZXQgdGhlIHZhbHVlIG9mIHRoZSBZZXMvTm8vRXhwcmVzc2lvblxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrXCI+dGhlIHRhc2sgdG8gbG9vayBmb3IgZXhwcmVzc2lvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHJWYWxcIj50aGUgc3RyaW5nIHRoYXQgY29udGFpbnMgdGhlIFllcy9Oby9FeHByZXNzaW9uPC9wYXJhbT5cclxuICBzZXRWYWwodGFzazogVGFzaywgc3RyVmFsOiBzdHJpbmcpOiB2b2lkIHtcclxuXHJcbiAgICBzd2l0Y2ggKHN0clZhbFswXSkge1xyXG4gICAgICBjYXNlICdZJzpcclxuICAgICAgICB0aGlzLl92YWwgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnTic6XHJcbiAgICAgICAgdGhpcy5fdmFsID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGxldCBleHBJZDogbnVtYmVyID0gWG1sUGFyc2VyLmdldEludChzdHJWYWwpO1xyXG4gICAgICAgIGlmICh0YXNrICE9IG51bGwpXHJcbiAgICAgICAgICB0aGlzLl9leHAgPSB0YXNrLmdldEV4cEJ5SWQoZXhwSWQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBZZXMvTm8vRXhwcmVzc2lvblxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYXN5bmMgZ2V0VmFsKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKHRoaXMuX2V4cCAhPT0gbnVsbClcclxuICAgICAgcmV0dXJuIGF3YWl0IERpc3BsYXlDb252ZXJ0b3IudG9Cb29sZWFuKGF3YWl0IHRoaXMuX2V4cC5ldmFsdWF0ZVdpdGhSZXN1bHRUeXBlQW5kTGVuZ3RoKFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiwgMCkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl92YWw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0cnVlIGlmIGFuIGV4cHJlc3Npb24gZXhpc3RzIGFuZCBpdCBpcyBhIHNlcnZlciBzaWRlIG9uZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgaXNTZXJ2ZXJFeHAoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5fZXhwICE9IG51bGwpXHJcbiAgICAgIHJldHVybiB0aGlzLl9leHAuY29tcHV0ZWRCeVNlcnZlck9ubHkoKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,23 +0,0 @@
1
- import { List } from "@magic-xpa/mscorelib";
2
- export class CreatedFormVector {
3
- constructor() {
4
- this._createdFormVec = null;
5
- this._createdFormVec = new List();
6
- }
7
- add(mgForm) {
8
- this._createdFormVec.push(mgForm);
9
- }
10
- remove(mgForm) {
11
- this._createdFormVec.Remove(mgForm);
12
- }
13
- Count() {
14
- return this._createdFormVec.length;
15
- }
16
- Clear() {
17
- this._createdFormVec.Clear();
18
- }
19
- get(index) {
20
- return this._createdFormVec.get_Item(index);
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlZEZvcm1WZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2d1aS9DcmVhdGVkRm9ybVZlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFNMUMsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QjtRQUZRLG9CQUFlLEdBQWlCLElBQUksQ0FBQztRQUczQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxFQUFVLENBQUM7SUFDNUMsQ0FBQztJQU1ELEdBQUcsQ0FBQyxNQUFjO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFNRCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBTUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUtELEtBQUs7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFPRCxHQUFHLENBQUMsS0FBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtNZ0Zvcm19IGZyb20gXCIuL01nRm9ybVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gd3JhcHBlciBjbGFzcyBmb3IgaW50ZXJhY3Rpb25zIHdpdGggdmVjdG9yIG9mIGNyZWF0ZWQgTWdGb3Jtc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlZEZvcm1WZWN0b3Ige1xyXG4gIHByaXZhdGUgX2NyZWF0ZWRGb3JtVmVjOiBMaXN0PE1nRm9ybT4gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuX2NyZWF0ZWRGb3JtVmVjID0gbmV3IExpc3Q8TWdGb3JtPigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBhZGQgZm9ybSBpbnRvIHZlY3RvclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdGb3JtXCI+PC9wYXJhbT5cclxuICBhZGQobWdGb3JtOiBNZ0Zvcm0pOiB2b2lkIHtcclxuICAgIHRoaXMuX2NyZWF0ZWRGb3JtVmVjLnB1c2gobWdGb3JtKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gcmVtb3ZlIGZvcm0gZnJvbSB2ZWN0b3JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1nRm9ybVwiPjwvcGFyYW0+XHJcbiAgcmVtb3ZlKG1nRm9ybTogTWdGb3JtKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jcmVhdGVkRm9ybVZlYy5SZW1vdmUobWdGb3JtKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gcmV0dXJuIGNvdW50IG9mIGVsZW1lbnRzIGluIHZlY3RvclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBDb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZWRGb3JtVmVjLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY2xlYXJzIHRoZSB2ZWN0b3JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIENsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3JlYXRlZEZvcm1WZWMuQ2xlYXIoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZ2V0cyB0aGUgZWxlbWVudCBhdCAnaW5kZXgnXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbmRleFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBnZXQoaW5kZXg6IG51bWJlcik6IE1nRm9ybSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlZEZvcm1WZWMuZ2V0X0l0ZW0oaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,66 +0,0 @@
1
- import { List } from "@magic-xpa/mscorelib";
2
- import { XMLConstants } from "@magic-xpa/utils";
3
- import { Manager, RuntimeContextBase } from "@magic-xpa/gui";
4
- import { RemoteTaskService } from "../tasks/RemoteTaskService";
5
- export class FormsTable {
6
- get Count() {
7
- return this._formsStringXml.length;
8
- }
9
- get_Item(formDisplayIndex) {
10
- if (formDisplayIndex > 0 && formDisplayIndex <= this._formsStringXml.length)
11
- return this._formsStringXml.get_Item(formDisplayIndex - 1);
12
- return null;
13
- }
14
- constructor(task, parentForm) {
15
- this._task = null;
16
- this._parentForm = null;
17
- this._formsStringXml = null;
18
- this._task = task;
19
- this._parentForm = parentForm;
20
- }
21
- async fillData() {
22
- this._formsStringXml = new List();
23
- let parser = Manager.GetCurrentRuntimeContext().Parser;
24
- while (await this.initInnerObjects(parser.getNextTag())) {
25
- }
26
- }
27
- InitFormFromXmlString(formDisplayIndex) {
28
- let formStrXml = this.get_Item(1);
29
- if (formDisplayIndex > 0 && formDisplayIndex <= this._formsStringXml.length)
30
- formStrXml = this.get_Item(formDisplayIndex);
31
- if (formStrXml !== null) {
32
- RuntimeContextBase.Instance.Parser.push();
33
- RuntimeContextBase.Instance.Parser.PrepareFormReadString(formStrXml);
34
- this._task.FormInitData(this._parentForm);
35
- RuntimeContextBase.Instance.Parser.pop();
36
- }
37
- }
38
- async initInnerObjects(foundTagName) {
39
- if (foundTagName === null)
40
- return false;
41
- let parser = Manager.GetCurrentRuntimeContext().Parser;
42
- if (foundTagName === XMLConstants.MG_TAG_FORMS) {
43
- parser.setCurrIndex(parser.getXMLdata().indexOf(XMLConstants.TAG_CLOSE, parser.getCurrIndex()) + 1);
44
- }
45
- else if (foundTagName === XMLConstants.MG_TAG_FORM) {
46
- let formStringXml = RuntimeContextBase.Instance.Parser.ReadToEndOfCurrentElement();
47
- this._formsStringXml.push(formStringXml);
48
- return true;
49
- }
50
- else if (foundTagName === ('/' + XMLConstants.MG_TAG_FORM)) {
51
- parser.setCurrIndex2EndOfTag();
52
- return true;
53
- }
54
- else if (foundTagName === ('/' + XMLConstants.MG_TAG_FORMS)) {
55
- await this.PrepareMainDisplayForConnectedTask();
56
- parser.setCurrIndex2EndOfTag();
57
- return false;
58
- }
59
- return true;
60
- }
61
- async PrepareMainDisplayForConnectedTask() {
62
- if (this._task.TaskService instanceof RemoteTaskService)
63
- await this._task.PrepareTaskForm();
64
- }
65
- }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybXNUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvZ3VpL0Zvcm1zVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBWSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFjLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFLN0QsTUFBTSxPQUFPLFVBQVU7SUFRckIsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBT0QsUUFBUSxDQUFDLGdCQUF3QjtRQUMvQixJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU07WUFDekUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU3RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZLElBQVUsRUFBRSxVQUFzQjtRQXZCdEMsVUFBSyxHQUFTLElBQUksQ0FBQztRQUNuQixnQkFBVyxHQUFlLElBQUksQ0FBQztRQUN2QyxvQkFBZSxHQUFpQixJQUFJLENBQUM7UUFzQm5DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFNRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVsQyxJQUFJLE1BQU0sR0FBYyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFbEUsT0FBTyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRTtTQUN4RDtJQUNILENBQUM7SUFNRCxxQkFBcUIsQ0FBQyxnQkFBd0I7UUFFNUMsSUFBSSxVQUFVLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxQyxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU07WUFDekUsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUvQyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDdkIsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQU9PLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFvQjtRQUNqRCxJQUFJLFlBQVksS0FBSyxJQUFJO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBRWYsSUFBSSxNQUFNLEdBQWMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2xFLElBQUksWUFBWSxLQUFLLFlBQVksQ0FBQyxZQUFZLEVBQUU7WUFDOUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDckc7YUFDSSxJQUFJLFlBQVksS0FBSyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ2xELElBQUksYUFBYSxHQUFXLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUMzRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQztTQUNiO2FBQ0ksSUFBSSxZQUFZLEtBQUssQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzFELE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFDSSxJQUFJLFlBQVksS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDM0QsTUFBTSxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztZQUVoRCxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS08sS0FBSyxDQUFDLGtDQUFrQztRQUM5QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxZQUFZLGlCQUFpQjtZQUNyRCxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtYbWxQYXJzZXIsIFhNTENvbnN0YW50c30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtNYW5hZ2VyLCBNZ0Zvcm1CYXNlLCBSdW50aW1lQ29udGV4dEJhc2V9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi90YXNrcy9UYXNrXCI7XHJcbmltcG9ydCB7UmVtb3RlVGFza1NlcnZpY2V9IGZyb20gXCIuLi90YXNrcy9SZW1vdGVUYXNrU2VydmljZVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gc2F2ZSBhbGwgZm9ybXMgb24gdGFza1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgRm9ybXNUYWJsZSB7XHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfcGFyZW50Rm9ybTogTWdGb3JtQmFzZSA9IG51bGw7XHJcbiAgX2Zvcm1zU3RyaW5nWG1sOiBMaXN0PHN0cmluZz4gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNvdW50IG9mIGZvcm1zXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXQgQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3Jtc1N0cmluZ1htbC5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHJldHVybiB0aGUgZm9ybSBieSBzZW5kIHRoZSBkaXNwbGF5IGluZGV4XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmb3JtRGlzcGxheUluZGV4XCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGdldF9JdGVtKGZvcm1EaXNwbGF5SW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoZm9ybURpc3BsYXlJbmRleCA+IDAgJiYgZm9ybURpc3BsYXlJbmRleCA8PSB0aGlzLl9mb3Jtc1N0cmluZ1htbC5sZW5ndGgpXHJcbiAgICAgIHJldHVybiB0aGlzLl9mb3Jtc1N0cmluZ1htbC5nZXRfSXRlbShmb3JtRGlzcGxheUluZGV4IC0gMSk7XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcih0YXNrOiBUYXNrLCBwYXJlbnRGb3JtOiBNZ0Zvcm1CYXNlKSB7XHJcbiAgICB0aGlzLl90YXNrID0gdGFzaztcclxuICAgIHRoaXMuX3BhcmVudEZvcm0gPSBwYXJlbnRGb3JtO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHBhcnNlIHRoZSBmb3JtIHN0cnVjdHVyZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrUmVmXCI+cmVmZXJlbmNlIHRvIHRoZSBvd25lclRhc2sgb2YgdGhpcyBmb3JtPC9wYXJhbT5cclxuICBhc3luYyBmaWxsRGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2Zvcm1zU3RyaW5nWG1sID0gbmV3IExpc3QoKTtcclxuXHJcbiAgICBsZXQgcGFyc2VyOiBYbWxQYXJzZXIgPSBNYW5hZ2VyLkdldEN1cnJlbnRSdW50aW1lQ29udGV4dCgpLlBhcnNlcjtcclxuXHJcbiAgICB3aGlsZSAoYXdhaXQgdGhpcy5pbml0SW5uZXJPYmplY3RzKHBhcnNlci5nZXROZXh0VGFnKCkpKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGluaXQgdGhlIGZvcm0gb2YgdGhlIHRhc2tcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImZvcm1EaXNwbGF5SW5kZXhcIj48L3BhcmFtPlxyXG4gIEluaXRGb3JtRnJvbVhtbFN0cmluZyhmb3JtRGlzcGxheUluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIHdoaWxlIHRoZSBmb3JtIGlzbid0IGV4aXN0IHRoZSBmaXJzdCBmb3JtIHdpbGwgYmUgb3Blbi4gKGl0IGlzIHRoZSBzYW1lIGluIG5vbiBvZmZsaW5lIHRhc2spXHJcbiAgICBsZXQgZm9ybVN0clhtbDogc3RyaW5nID0gdGhpcy5nZXRfSXRlbSgxKTtcclxuXHJcbiAgICBpZiAoZm9ybURpc3BsYXlJbmRleCA+IDAgJiYgZm9ybURpc3BsYXlJbmRleCA8PSB0aGlzLl9mb3Jtc1N0cmluZ1htbC5sZW5ndGgpXHJcbiAgICAgIGZvcm1TdHJYbWwgPSB0aGlzLmdldF9JdGVtKGZvcm1EaXNwbGF5SW5kZXgpO1xyXG5cclxuICAgIGlmIChmb3JtU3RyWG1sICE9PSBudWxsKSB7XHJcbiAgICAgIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZS5QYXJzZXIucHVzaCgpOyAvLyBhbGxvdyByZWN1cnNpdmUgcGFyc2luZ1xyXG4gICAgICBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2UuUGFyc2VyLlByZXBhcmVGb3JtUmVhZFN0cmluZyhmb3JtU3RyWG1sKTtcclxuXHJcbiAgICAgIHRoaXMuX3Rhc2suRm9ybUluaXREYXRhKHRoaXMuX3BhcmVudEZvcm0pO1xyXG4gICAgICBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2UuUGFyc2VyLnBvcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFRvIGFsbG9jYXRlIGFuZCBmaWxsIGlubmVyIG9iamVjdHMgb2YgdGhlIGNsYXNzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmb3VuZFRhZ05hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBhc3luYyBpbml0SW5uZXJPYmplY3RzKGZvdW5kVGFnTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgbGV0IHBhcnNlcjogWG1sUGFyc2VyID0gTWFuYWdlci5HZXRDdXJyZW50UnVudGltZUNvbnRleHQoKS5QYXJzZXI7XHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSBYTUxDb25zdGFudHMuTUdfVEFHX0ZPUk1TKSB7XHJcbiAgICAgIHBhcnNlci5zZXRDdXJySW5kZXgocGFyc2VyLmdldFhNTGRhdGEoKS5pbmRleE9mKFhNTENvbnN0YW50cy5UQUdfQ0xPU0UsIHBhcnNlci5nZXRDdXJySW5kZXgoKSkgKyAxKTsgLy8gbW92ZSBJbmRleCB0byBlbmQgb2YgPGR2aGVhZGVyPiArMSBmb3IgJz4nXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChmb3VuZFRhZ05hbWUgPT09IFhNTENvbnN0YW50cy5NR19UQUdfRk9STSkge1xyXG4gICAgICBsZXQgZm9ybVN0cmluZ1htbDogc3RyaW5nID0gUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLlBhcnNlci5SZWFkVG9FbmRPZkN1cnJlbnRFbGVtZW50KCk7XHJcbiAgICAgIHRoaXMuX2Zvcm1zU3RyaW5nWG1sLnB1c2goZm9ybVN0cmluZ1htbCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZm91bmRUYWdOYW1lID09PSAoJy8nICsgWE1MQ29uc3RhbnRzLk1HX1RBR19GT1JNKSkge1xyXG4gICAgICBwYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZm91bmRUYWdOYW1lID09PSAoJy8nICsgWE1MQ29uc3RhbnRzLk1HX1RBR19GT1JNUykpIHtcclxuICAgICAgYXdhaXQgdGhpcy5QcmVwYXJlTWFpbkRpc3BsYXlGb3JDb25uZWN0ZWRUYXNrKCk7XHJcblxyXG4gICAgICBwYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBmb3IgcmVtb3RlIHRhc2sgd2UgaGF2ZSBhbGwgdGhlIGluZm9ybWF0aW9uIHRoYXQgd2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIGZvcm0gZGlzcGxheVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBhc3luYyBQcmVwYXJlTWFpbkRpc3BsYXlGb3JDb25uZWN0ZWRUYXNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuX3Rhc2suVGFza1NlcnZpY2UgaW5zdGFuY2VvZiBSZW1vdGVUYXNrU2VydmljZSlcclxuICAgICAgYXdhaXQgdGhpcy5fdGFzay5QcmVwYXJlVGFza0Zvcm0oKTtcclxuICB9XHJcbn1cclxuIl19