@kontur.candy/tools 2.185.0 → 2.185.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/candy.js +0 -0
  2. package/distr/Common/AsyncUtils.js +1 -1
  3. package/distr/Common/AsyncUtils.js.map +1 -0
  4. package/distr/Common/AutoValidationUtils.js +2 -3
  5. package/distr/Common/AutoValidationUtils.js.map +1 -0
  6. package/distr/Common/CandyApiClient/CandyApiClient.js +2 -3
  7. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -0
  8. package/distr/Common/CandyApiClient/CandyApiClientContext.js +4 -5
  9. package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +1 -0
  10. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
  11. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -0
  12. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
  13. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +1 -0
  14. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -1
  15. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +1 -0
  16. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
  17. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +1 -0
  18. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -1
  19. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +1 -0
  20. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -1
  21. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +1 -0
  22. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -1
  23. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +1 -0
  24. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +2 -3
  25. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +1 -0
  26. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -1
  27. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +1 -0
  28. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +2 -3
  29. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +1 -0
  30. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
  31. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +1 -0
  32. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +4 -5
  33. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +1 -0
  34. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -1
  35. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +1 -0
  36. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +3 -5
  37. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -0
  38. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
  39. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -0
  40. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +1 -1
  41. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -0
  42. package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
  43. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -0
  44. package/distr/Common/CandyApiClient/IsBuffer.js +1 -1
  45. package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -0
  46. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
  47. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -0
  48. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
  49. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +1 -0
  50. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
  51. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +1 -0
  52. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
  53. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +1 -0
  54. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
  55. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +1 -0
  56. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +3 -5
  57. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -0
  58. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
  59. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +1 -0
  60. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
  61. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -0
  62. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -1
  63. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +1 -0
  64. package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
  65. package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +1 -0
  66. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +2 -3
  67. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +1 -0
  68. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +3 -5
  69. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -0
  70. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +2 -3
  71. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +1 -0
  72. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
  73. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -0
  74. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
  75. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +1 -0
  76. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +2 -3
  77. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +1 -0
  78. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
  79. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +1 -0
  80. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -1
  81. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +1 -0
  82. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
  83. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +1 -0
  84. package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
  85. package/distr/Common/CandyApiClient/Types/Guid.js.map +1 -0
  86. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
  87. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +1 -0
  88. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
  89. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +1 -0
  90. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +1 -1
  91. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +1 -0
  92. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +2 -3
  93. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +1 -0
  94. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
  95. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +1 -0
  96. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
  97. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +1 -0
  98. package/distr/Common/CandyApiClient/Types/Print/PrintType.js +2 -3
  99. package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +1 -0
  100. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +1 -1
  101. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +1 -0
  102. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +1 -1
  103. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +1 -0
  104. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +1 -1
  105. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +1 -0
  106. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +1 -1
  107. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +1 -0
  108. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +1 -1
  109. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +1 -0
  110. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +1 -1
  111. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +1 -0
  112. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +1 -1
  113. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +1 -0
  114. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +1 -1
  115. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +1 -0
  116. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +1 -1
  117. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +1 -0
  118. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +1 -1
  119. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +1 -0
  120. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +1 -1
  121. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +1 -0
  122. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +1 -1
  123. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +1 -0
  124. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +1 -1
  125. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -0
  126. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +1 -1
  127. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -0
  128. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +1 -1
  129. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +1 -0
  130. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +1 -1
  131. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +1 -0
  132. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +1 -1
  133. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +1 -0
  134. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
  135. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +1 -0
  136. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
  137. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +1 -0
  138. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
  139. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +1 -0
  140. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
  141. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +1 -0
  142. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
  143. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +1 -0
  144. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +2 -3
  145. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +1 -0
  146. package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
  147. package/distr/Common/CandyApiClient/Types/TestClassification.js.map +1 -0
  148. package/distr/Common/CollectionUtils.js +1 -1
  149. package/distr/Common/CollectionUtils.js.map +1 -0
  150. package/distr/Common/CommonConstants/SectionNames.js +1 -1
  151. package/distr/Common/CommonConstants/SectionNames.js.map +1 -0
  152. package/distr/Common/Comparers.js +1 -1
  153. package/distr/Common/Comparers.js.map +1 -0
  154. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +3 -3
  155. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +1 -0
  156. package/distr/Common/EndPoints.js +6 -11
  157. package/distr/Common/EndPoints.js.map +1 -0
  158. package/distr/Common/Enums/ButtonSettingsTypeEnum.js +2 -3
  159. package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +1 -0
  160. package/distr/Common/Errors.js +1 -1
  161. package/distr/Common/Errors.js.map +1 -0
  162. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +1 -1
  163. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +1 -0
  164. package/distr/Common/FSPrinterClient/FSPrinterClient.js +2 -2
  165. package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -0
  166. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +1 -1
  167. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +1 -0
  168. package/distr/Common/FSPrinterClient/IFSPrinterClient.js +6 -11
  169. package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +1 -0
  170. package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -1
  171. package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +1 -0
  172. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
  173. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +1 -0
  174. package/distr/Common/FormPathUtils.js +2 -2
  175. package/distr/Common/FormPathUtils.js.map +1 -0
  176. package/distr/Common/Funcs.js +1 -1
  177. package/distr/Common/Funcs.js.map +1 -0
  178. package/distr/Common/GFV.js +1 -1
  179. package/distr/Common/GFV.js.map +1 -0
  180. package/distr/Common/Hooks/UseLocalStorage.js +3 -3
  181. package/distr/Common/Hooks/UseLocalStorage.js.map +1 -0
  182. package/distr/Common/HttpClient/AuthenticationMode.js +1 -1
  183. package/distr/Common/HttpClient/AuthenticationMode.js.map +1 -0
  184. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +2 -3
  185. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +1 -0
  186. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +2 -3
  187. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +1 -0
  188. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
  189. package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +1 -0
  190. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +2 -3
  191. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +1 -0
  192. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +1 -1
  193. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -0
  194. package/distr/Common/HttpClient/HttpClient.js +2 -2
  195. package/distr/Common/HttpClient/HttpClient.js.map +1 -0
  196. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
  197. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +1 -0
  198. package/distr/Common/HttpClient/IHttpClient.js +1 -1
  199. package/distr/Common/HttpClient/IHttpClient.js.map +1 -0
  200. package/distr/Common/IndentString.js +1 -1
  201. package/distr/Common/IndentString.js.map +1 -0
  202. package/distr/Common/IntRangeUtils.js +1 -1
  203. package/distr/Common/IntRangeUtils.js.map +1 -0
  204. package/distr/Common/IterableUtils.js +1 -1
  205. package/distr/Common/IterableUtils.js.map +1 -0
  206. package/distr/Common/KCLangRuntimeUtils.js +1 -1
  207. package/distr/Common/KCLangRuntimeUtils.js.map +1 -0
  208. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +4 -2
  209. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -0
  210. package/distr/Common/ModelPath/BuildIterationSequence.js +1 -1
  211. package/distr/Common/ModelPath/BuildIterationSequence.js.map +1 -0
  212. package/distr/Common/ModelPath/EachCurrentCollision.js +2 -3
  213. package/distr/Common/ModelPath/EachCurrentCollision.js.map +1 -0
  214. package/distr/Common/ModelPath/IEquatable.js +1 -1
  215. package/distr/Common/ModelPath/IEquatable.js.map +1 -0
  216. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -1
  217. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +1 -0
  218. package/distr/Common/ModelPath/Map/Map2.js +1 -1
  219. package/distr/Common/ModelPath/Map/Map2.js.map +1 -0
  220. package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -1
  221. package/distr/Common/ModelPath/Map/ModelPathMap.js.map +1 -0
  222. package/distr/Common/ModelPath/ModelPath.js +1 -1
  223. package/distr/Common/ModelPath/ModelPath.js.map +1 -0
  224. package/distr/Common/ModelPath/ModelPathBuilder.js +1 -1
  225. package/distr/Common/ModelPath/ModelPathBuilder.js.map +1 -0
  226. package/distr/Common/ModelPath/ModelPathHelper.js +1 -1
  227. package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -0
  228. package/distr/Common/ModelPath/PathMatcher.js +2 -3
  229. package/distr/Common/ModelPath/PathMatcher.js.map +1 -0
  230. package/distr/Common/ModelPath/PathSplitHelper.js +1 -1
  231. package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -0
  232. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -1
  233. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +1 -0
  234. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -1
  235. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +1 -0
  236. package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -1
  237. package/distr/Common/ModelPath/Set/ModelPathSet.js.map +1 -0
  238. package/distr/Common/ModelPath/Set/Set2.js +1 -1
  239. package/distr/Common/ModelPath/Set/Set2.js.map +1 -0
  240. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -1
  241. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +1 -0
  242. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
  243. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +1 -0
  244. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -1
  245. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +1 -0
  246. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -1
  247. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +1 -0
  248. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -1
  249. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +1 -0
  250. package/distr/Common/NidusClient/INidusClient.js +1 -1
  251. package/distr/Common/NidusClient/INidusClient.js.map +1 -0
  252. package/distr/Common/NidusClient/NidusClientContext.js +3 -3
  253. package/distr/Common/NidusClient/NidusClientContext.js.map +1 -0
  254. package/distr/Common/NidusClient/NidusClientImpl.js +3 -3
  255. package/distr/Common/NidusClient/NidusClientImpl.js.map +1 -0
  256. package/distr/Common/PathConstants.js +4 -7
  257. package/distr/Common/PathConstants.js.map +1 -0
  258. package/distr/Common/PicklistApiClient/IPicklistApiClient.js +1 -1
  259. package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +1 -0
  260. package/distr/Common/PicklistApiClient/PicklistApiClient.js +1 -1
  261. package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -0
  262. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +1 -1
  263. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -0
  264. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +1 -1
  265. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -0
  266. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +1 -1
  267. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -0
  268. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +1 -1
  269. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -0
  270. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +1 -1
  271. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +1 -0
  272. package/distr/Common/RngSchemeTypes/types.js +1 -1
  273. package/distr/Common/RngSchemeTypes/types.js.map +1 -0
  274. package/distr/Common/StringArrayKey.js +1 -1
  275. package/distr/Common/StringArrayKey.js.map +1 -0
  276. package/distr/Common/TextExtractor/TextExtractorTypes.js +1 -1
  277. package/distr/Common/TextExtractor/TextExtractorTypes.js.map +1 -0
  278. package/distr/Common/TypingUtils.js +1 -1
  279. package/distr/Common/TypingUtils.js.map +1 -0
  280. package/distr/Common/UUID.js +1 -1
  281. package/distr/Common/UUID.js.map +1 -0
  282. package/distr/Common/UseAsyncEffect.js +3 -3
  283. package/distr/Common/UseAsyncEffect.js.map +1 -0
  284. package/distr/Common/UseShowOnce.js +1 -1
  285. package/distr/Common/UseShowOnce.js.map +1 -0
  286. package/distr/Common/UseTypedSelector.js +2 -3
  287. package/distr/Common/UseTypedSelector.js.map +1 -0
  288. package/distr/Common/WellKnownDirectories.js +1 -1
  289. package/distr/Common/WellKnownDirectories.js.map +1 -0
  290. package/distr/Common/getRngSchemaFilename.js +1 -1
  291. package/distr/Common/getRngSchemaFilename.js.map +1 -0
  292. package/distr/Common/hashUtils.js +1 -1
  293. package/distr/Common/hashUtils.js.map +1 -0
  294. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +9 -4
  295. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -0
  296. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +6 -12
  297. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +1 -0
  298. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -1
  299. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +1 -0
  300. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +3 -3
  301. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +1 -0
  302. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +4 -3
  303. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -0
  304. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -1
  305. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +1 -0
  306. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +1 -1
  307. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -0
  308. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -1
  309. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +1 -0
  310. package/distr/Tools/src/BuildTasks/FSTask.js +1 -1
  311. package/distr/Tools/src/BuildTasks/FSTask.js.map +1 -0
  312. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -3
  313. package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -0
  314. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
  315. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -0
  316. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -1
  317. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -0
  318. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -1
  319. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +1 -0
  320. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +3 -3
  321. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -0
  322. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -1
  323. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +1 -0
  324. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +3 -3
  325. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -0
  326. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +4 -3
  327. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -0
  328. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +1 -1
  329. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -0
  330. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -4
  331. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -0
  332. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -1
  333. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -0
  334. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
  335. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -0
  336. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +1 -1
  337. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -0
  338. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +1 -1
  339. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +1 -0
  340. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -1
  341. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +1 -0
  342. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +5 -5
  343. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -0
  344. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -3
  345. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -0
  346. package/distr/Tools/src/BuildTasks/ReadFormSource.js +1 -1
  347. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -0
  348. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +2 -3
  349. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -0
  350. package/distr/Tools/src/BuildTasks/Version.js +3 -3
  351. package/distr/Tools/src/BuildTasks/Version.js.map +1 -0
  352. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -1
  353. package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -0
  354. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +2 -3
  355. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +1 -0
  356. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +2 -3
  357. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -0
  358. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
  359. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -0
  360. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +3 -3
  361. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +1 -0
  362. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +3 -5
  363. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -0
  364. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +4 -5
  365. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -0
  366. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +5 -6
  367. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -0
  368. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +4 -5
  369. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -0
  370. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +2 -3
  371. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +1 -0
  372. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +4 -5
  373. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +1 -0
  374. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +4 -5
  375. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -0
  376. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +2 -3
  377. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +1 -0
  378. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +4 -5
  379. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +1 -0
  380. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +4 -5
  381. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +1 -0
  382. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +4 -4
  383. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -0
  384. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -1
  385. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -0
  386. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -1
  387. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -0
  388. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -1
  389. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +1 -0
  390. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +1 -1
  391. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -0
  392. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +1 -1
  393. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -0
  394. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
  395. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -0
  396. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
  397. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +1 -0
  398. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
  399. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -0
  400. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +3 -3
  401. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -0
  402. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -1
  403. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -0
  404. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -1
  405. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +1 -0
  406. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
  407. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -0
  408. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -1
  409. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -0
  410. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +1 -1
  411. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +1 -0
  412. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +2 -3
  413. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +1 -0
  414. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +3 -5
  415. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +1 -0
  416. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
  417. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +1 -0
  418. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +2 -3
  419. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -0
  420. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
  421. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -0
  422. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +2 -3
  423. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -0
  424. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +2 -2
  425. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -0
  426. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +4 -5
  427. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +1 -0
  428. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +1 -1
  429. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +1 -0
  430. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +2 -3
  431. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -0
  432. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +2 -3
  433. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +1 -0
  434. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +2 -3
  435. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +1 -0
  436. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +3 -3
  437. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +1 -0
  438. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +2 -3
  439. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +1 -0
  440. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +1 -1
  441. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -0
  442. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +2 -3
  443. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +1 -0
  444. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +3 -3
  445. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +1 -0
  446. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +2 -3
  447. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -0
  448. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -1
  449. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -0
  450. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +3 -3
  451. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -0
  452. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +2 -3
  453. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +1 -0
  454. package/distr/Tools/src/CandyCLI.js +1 -1
  455. package/distr/Tools/src/CandyCLI.js.map +1 -0
  456. package/distr/Tools/src/CheckNodeJsVersion.js +2 -3
  457. package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -0
  458. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -1
  459. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +1 -0
  460. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +3 -3
  461. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +1 -0
  462. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -1
  463. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +1 -0
  464. package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
  465. package/distr/Tools/src/Commons/ErrorUntyped.js.map +1 -0
  466. package/distr/Tools/src/Commons/EventObject.js +1 -1
  467. package/distr/Tools/src/Commons/EventObject.js.map +1 -0
  468. package/distr/Tools/src/Commons/ExecUtils.js +1 -1
  469. package/distr/Tools/src/Commons/ExecUtils.js.map +1 -0
  470. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -1
  471. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +1 -0
  472. package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -1
  473. package/distr/Tools/src/Commons/FormGlobsUtils.js.map +1 -0
  474. package/distr/Tools/src/Commons/FormLocationInfo.js +1 -1
  475. package/distr/Tools/src/Commons/FormLocationInfo.js.map +1 -0
  476. package/distr/Tools/src/Commons/FsUtils.js +5 -7
  477. package/distr/Tools/src/Commons/FsUtils.js.map +1 -0
  478. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -1
  479. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +1 -0
  480. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +1 -1
  481. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -0
  482. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -1
  483. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +1 -0
  484. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -1
  485. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -0
  486. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
  487. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +1 -0
  488. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -1
  489. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -0
  490. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -1
  491. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -0
  492. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +1 -1
  493. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -0
  494. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -1
  495. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -0
  496. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +2 -3
  497. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +1 -0
  498. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -1
  499. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +1 -0
  500. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -1
  501. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +1 -0
  502. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -1
  503. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +1 -0
  504. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -1
  505. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +1 -0
  506. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
  507. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +1 -0
  508. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -1
  509. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +1 -0
  510. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -1
  511. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +1 -0
  512. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +3 -3
  513. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -0
  514. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +2 -3
  515. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +1 -0
  516. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +6 -6
  517. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +1 -0
  518. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +1 -1
  519. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +1 -0
  520. package/distr/Tools/src/Commons/Locks/Lock.js +1 -1
  521. package/distr/Tools/src/Commons/Locks/Lock.js.map +1 -0
  522. package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -1
  523. package/distr/Tools/src/Commons/Locks/LockHandle.js.map +1 -0
  524. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -1
  525. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +1 -0
  526. package/distr/Tools/src/Commons/Logging/ELKLogger.js +2 -3
  527. package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -0
  528. package/distr/Tools/src/Commons/Logging/ILogger.js +1 -1
  529. package/distr/Tools/src/Commons/Logging/ILogger.js.map +1 -0
  530. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +1 -1
  531. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +1 -0
  532. package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
  533. package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -0
  534. package/distr/Tools/src/Commons/Logging/StaticLogger.js +1 -1
  535. package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +1 -0
  536. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
  537. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -0
  538. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -3
  539. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +1 -0
  540. package/distr/Tools/src/Commons/PathPattern.js +1 -1
  541. package/distr/Tools/src/Commons/PathPattern.js.map +1 -0
  542. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -1
  543. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +1 -0
  544. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
  545. package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +1 -0
  546. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +5 -5
  547. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -0
  548. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +3 -3
  549. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +1 -0
  550. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +1 -1
  551. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +1 -0
  552. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -1
  553. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -0
  554. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -1
  555. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -0
  556. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +1 -1
  557. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -0
  558. package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -1
  559. package/distr/Tools/src/Commons/TasksCore/Observe.js.map +1 -0
  560. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +1 -1
  561. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +1 -0
  562. package/distr/Tools/src/Commons/TimingUtils.js +1 -1
  563. package/distr/Tools/src/Commons/TimingUtils.js.map +1 -0
  564. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +3 -3
  565. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -0
  566. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +2 -2
  567. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -0
  568. package/distr/Tools/src/GenerateReadMe.js +1 -1
  569. package/distr/Tools/src/GenerateReadMe.js.map +1 -0
  570. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  571. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +5 -3
  572. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  573. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +5 -3
  574. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  575. package/distr/Tools/src/Options/CandyToolOptions.js +2 -3
  576. package/distr/Tools/src/Options/CandyToolOptions.js.map +1 -0
  577. package/distr/Tools/src/ReadFarmConfig.js +1 -1
  578. package/distr/Tools/src/ReadFarmConfig.js.map +1 -0
  579. package/distr/Tools/src/SelfUpdate.js +3 -3
  580. package/distr/Tools/src/SelfUpdate.js.map +1 -0
  581. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +681 -686
  582. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  583. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +581 -866
  584. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -1
  585. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  586. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +1 -1
  587. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +1 -0
  588. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1 -1
  589. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +1 -0
  590. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +1 -1
  591. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +1 -0
  592. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +1 -1
  593. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +1 -0
  594. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1 -1
  595. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +1 -0
  596. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +1 -1
  597. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +1 -0
  598. package/package.json +24 -24
  599. package/CHANGELOG.md +0 -1659
@@ -263,4 +263,4 @@ class KCLangRuntimeUtils {
263
263
  }
264
264
  exports.KCLangRuntimeUtils = KCLangRuntimeUtils;
265
265
  KCLangRuntimeUtils.kcLangUtilsName = "kcLangUtils";
266
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmlnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfVmFsaWRhdGlvbkhlbHBlciIsIl9BdXRvY2FsY0NvbW1vbkZ1bmN0aW9ucyIsIl9EYXRlSGVscGVycyIsIl9UeXBpbmdVdGlscyIsImlzQmlnU291cmNlIiwidmFsdWUiLCJCaWciLCJpc0JpZ09yTnVtYmVyIiwiS0NMYW5nUnVudGltZVV0aWxzIiwiYW5kIiwibGVmdCIsInJpZ2h0IiwidW5kZWZpbmVkIiwiZGl2aXNpb24iLCJ3cmFwRGVjaW1hbE9wZXJhbmQiLCJkaXYiLCJlcSIsImNtcCIsImdlIiwiZ3RlIiwiZ3QiLCJsZSIsImx0ZSIsImx0IiwibWludXMiLCJhcmd1bWVudCIsIm11bCIsIm11bHRpcGx5Iiwibm90Iiwibm90ZXEiLCJvciIsInJvdW5kIiwiZnJhY3Rpb25EaWdpdHMiLCJmbG9vciIsImdldFllYXIiLCJfRGF0ZSIsIkRhdGUiLCJnZXRGdWxsWWVhciIsImRhdGVUaW1lIiwiZGF0ZSIsImlzTm90TnVsbE9yRW1wdHkiLCJjb252ZXJ0RGF0ZSIsInN1bSIsImFkZCIsImFicyIsInhhYnMiLCJsZW5ndGgiLCJleGlzdHMiLCJ2YWx1ZVNlbGVjdG9yIiwicGF0aCIsImlzU25pbHMiLCJub3JtYWxpemVkU25pbHMiLCJyZXBsYWNlIiwiaXNOdWxsT3JXaGl0ZVNwYWNlIiwicmVzdWx0IiwiVmFsaWRhdGlvbkhlbHBlciIsImlzUmVnTnVtU2ZyIiwibm9ybWFsaXplZFJlZ051bSIsImlzSW5uIiwiaXNWYWxpZEFjY291bnROdW1iZXIiLCJiaWsiLCJhY2NvdW50IiwiYmlrVmFsdWUiLCJhY2NvdW50VmFsdWUiLCJpc1ZhbGlkTWlyQ2FyZE51bWJlciIsImNvbnZlcnRUb0RlY2ltYWwiLCJjb252ZXJ0VG9TdHJpbmciLCJ0b1N0cmluZyIsInJlZ2V4TWF0Y2giLCJwYXR0ZXJuIiwiUmVnRXhwIiwidGVzdCIsIm9uZW9mIiwidmFsdWVzIiwiaW5kZXhPZiIsInZhbHVlQXNCaWciLCJzb21lIiwiaXRlbSIsInN1YnN0cmluZyIsInN0ciIsInN0YXJ0IiwiZW5kIiwiZGF0ZU5vdyIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImV4cG9ydHMiLCJrY0xhbmdVdGlsc05hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9Db21tb24vS0NMYW5nUnVudGltZVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWcsIHsgQmlnU291cmNlIH0gZnJvbSBcImJpZy5qc1wiO1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uSGVscGVyIH0gZnJvbSBcIi4uL0VuZ2luZS9zcmMvRW5naW5lL1ZhbGlkYXRpb25IZWxwZXJcIjtcbmltcG9ydCB7IHdyYXBEZWNpbWFsT3BlcmFuZCB9IGZyb20gXCIuLi9FbmdpbmUvc3JjL0hlbHBlcnMvQXV0b2NhbGNDb21tb25GdW5jdGlvbnNcIjtcbmltcG9ydCB7IGNvbnZlcnREYXRlIH0gZnJvbSBcIi4uL0VuZ2luZS9zcmMvSGVscGVycy9EYXRlSGVscGVyc1wiO1xuXG5pbXBvcnQgeyBpc05vdE51bGxPckVtcHR5LCBpc051bGxPcldoaXRlU3BhY2UgfSBmcm9tIFwiLi9UeXBpbmdVdGlsc1wiO1xuXG5jb25zdCBpc0JpZ1NvdXJjZSA9ICh2YWx1ZTogQmlnU291cmNlKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdmFsdWUgaW5zdGFuY2VvZiBCaWcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzQmlnT3JOdW1iZXIgPSAodmFsdWU6IEJpZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwgfCB1bmtub3duKSA9PlxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB2YWx1ZSBpbnN0YW5jZW9mIEJpZztcblxuZXhwb3J0IGNsYXNzIEtDTGFuZ1J1bnRpbWVVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBrY0xhbmdVdGlsc05hbWUgPSBcImtjTGFuZ1V0aWxzXCI7XG5cbiAgICBwdWJsaWMgYW5kKGxlZnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsIHJpZ2h0OiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChsZWZ0ID09IHVuZGVmaW5lZCB8fCByaWdodCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxlZnQgJiYgcmlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGRpdmlzaW9uKGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkuZGl2KHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsZWZ0ID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiByaWdodCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkuY21wKHJpZ2h0KSA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdlKGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UobGVmdCkgJiYgaXNCaWdTb3VyY2UocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpLmd0ZShyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBndChsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5ndChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBsZShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5sdGUocmlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbHQobGVmdDogQmlnU291cmNlLCByaWdodDogQmlnU291cmNlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkubHQocmlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWludXMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IHVua25vd24ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UoYXJndW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KS5tdWwoLTEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG11bHRpcGx5KGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IHVua25vd24ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UobGVmdCkgJiYgaXNCaWdTb3VyY2UocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpLm11bChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90KGxlZnQ/OiBib29sZWFuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBsZWZ0ICE9IHVuZGVmaW5lZCA/ICFsZWZ0IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RlcShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmVxKGxlZnQsIHJpZ2h0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3IobGVmdDogYm9vbGVhbiB8IHVuZGVmaW5lZCwgcmlnaHQ6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsZWZ0ID09IFwiYm9vbGVhblwiIHx8IHR5cGVvZiByaWdodCA9PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgcmV0dXJuIGxlZnQgfHwgcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcm91bmQodmFsdWU6IEJpZ1NvdXJjZSwgZnJhY3Rpb25EaWdpdHM/OiBudW1iZXIpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKHZhbHVlKS5yb3VuZChmcmFjdGlvbkRpZ2l0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmxvb3IodmFsdWU6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQod3JhcERlY2ltYWxPcGVyYW5kKHZhbHVlKS5yb3VuZCh1bmRlZmluZWQsIDApKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRZZWFyKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpPy5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkYXRlVGltZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBpc05vdE51bGxPckVtcHR5KHZhbHVlKSA/IGNvbnZlcnREYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHN1bShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIWlzQmlnT3JOdW1iZXIobGVmdCkgJiYgIWlzQmlnT3JOdW1iZXIocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5hZGQocmlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhYnMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShhcmd1bWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQoYXJndW1lbnQpLmFicygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHhhYnMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShhcmd1bWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sdCgwKSA/IG5ldyBCaWcoMCkgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBsZW5ndGgoYXJndW1lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodHlwZW9mIGFyZ3VtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJndW1lbnQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGV4aXN0cyh2YWx1ZVNlbGVjdG9yOiAocGF0aDogc3RyaW5nKSA9PiB1bmtub3duLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlU2VsZWN0b3IgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVTZWxlY3RvcihwYXRoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NuaWxzKHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZywgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZVNlbGVjdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlU2VsZWN0b3IocGF0aCk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRTbmlscyA9IHZhbHVlPy5yZXBsYWNlKC9bXjAtOV0vZywgXCJcIik7XG4gICAgICAgIGlmIChpc051bGxPcldoaXRlU3BhY2Uobm9ybWFsaXplZFNuaWxzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFZhbGlkYXRpb25IZWxwZXIuaXNTbmlscyhub3JtYWxpemVkU25pbHMpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmVnTnVtU2ZyKHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZywgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZVNlbGVjdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlU2VsZWN0b3IocGF0aCk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWdOdW0gPSB2YWx1ZT8ucmVwbGFjZSgvW14wLTldL2csIFwiXCIpO1xuICAgICAgICBpZiAoaXNOdWxsT3JXaGl0ZVNwYWNlKG5vcm1hbGl6ZWRSZWdOdW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gVmFsaWRhdGlvbkhlbHBlci5pc1JlZ051bVNmcihub3JtYWxpemVkUmVnTnVtKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0lubih2YWx1ZVNlbGVjdG9yOiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWVTZWxlY3RvciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZVNlbGVjdG9yKHBhdGgpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkU25pbHMgPSB2YWx1ZT8ucmVwbGFjZSgvW14wLTldL2csIFwiXCIpO1xuICAgICAgICBpZiAoaXNOdWxsT3JXaGl0ZVNwYWNlKG5vcm1hbGl6ZWRTbmlscykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBWYWxpZGF0aW9uSGVscGVyLmlzSW5uKG5vcm1hbGl6ZWRTbmlscyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZEFjY291bnROdW1iZXIoXG4gICAgICAgIHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgYmlrOiBzdHJpbmcsXG4gICAgICAgIGFjY291bnQ6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWVTZWxlY3RvciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYmlrVmFsdWUgPSB2YWx1ZVNlbGVjdG9yKGJpayk7XG4gICAgICAgIGNvbnN0IGFjY291bnRWYWx1ZSA9IHZhbHVlU2VsZWN0b3IoYWNjb3VudCk7XG4gICAgICAgIGlmIChpc051bGxPcldoaXRlU3BhY2UoYmlrVmFsdWUpIHx8IGlzTnVsbE9yV2hpdGVTcGFjZShhY2NvdW50VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gVmFsaWRhdGlvbkhlbHBlci5pc1ZhbGlkQWNjb3VudE51bWJlcihiaWtWYWx1ZSwgYWNjb3VudFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZE1pckNhcmROdW1iZXIodmFsdWVTZWxlY3RvcjogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlU2VsZWN0b3IgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVTZWxlY3RvcihwYXRoKTtcbiAgICAgICAgaWYgKGlzTnVsbE9yV2hpdGVTcGFjZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBWYWxpZGF0aW9uSGVscGVyLmlzVmFsaWRNaXJDYXJkTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb252ZXJ0VG9EZWNpbWFsKGFyZ3VtZW50OiBCaWdTb3VyY2UgfCBzdHJpbmcgfCB1bmRlZmluZWQpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udmVydFRvU3RyaW5nKGFyZ3VtZW50OiBCaWdTb3VyY2UgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50LnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJndW1lbnQgaW5zdGFuY2VvZiBCaWcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudC50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnZXhNYXRjaChwYXR0ZXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHBhdHRlcm4gPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChwYXR0ZXJuKS50ZXN0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbmVvZih2YWx1ZXM6IEFycmF5PHN0cmluZyB8IG51bWJlciB8IEJpZz4sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBCaWcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlcyA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlcy5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNCaWdPck51bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXNCaWcgPSBuZXcgQmlnKHZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMuc29tZShpdGVtID0+IGlzQmlnT3JOdW1iZXIoaXRlbSkgJiYgdmFsdWVBc0JpZy5lcShpdGVtKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnN0cmluZyhcbiAgICAgICAgc3RyOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgIHN0YXJ0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgICAgIGxlbmd0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHN0ciA9PSB1bmRlZmluZWQgfHwgc3RhcnQgPT0gdW5kZWZpbmVkIHx8IGxlbmd0aCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmQgPSBzdGFydCArIGxlbmd0aDtcblxuICAgICAgICByZXR1cm4gc3RyLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGF0ZU5vdygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoXCJydS1SVVwiKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsd0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUVBLE1BQU1LLFdBQVcsR0FBSUMsS0FBZ0IsSUFBYztFQUMvQyxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUEsS0FBSyxZQUFZQyxZQUFHLEVBQUU7SUFDaEYsT0FBTyxJQUFJO0VBQ2Y7RUFDQSxPQUFPLEtBQUs7QUFDaEIsQ0FBQztBQUVELE1BQU1DLGFBQWEsR0FBSUYsS0FBZ0QsSUFDbkUsT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUEsS0FBSyxZQUFZQyxZQUFHO0FBRTlDLE1BQU1FLGtCQUFrQixDQUFDO0VBR3JCQyxHQUFHQSxDQUFDQyxJQUF5QixFQUFFQyxLQUEwQixFQUF1QjtJQUNuRixJQUFJRCxJQUFJLElBQUlFLFNBQVMsSUFBSUQsS0FBSyxJQUFJQyxTQUFTLEVBQUU7TUFDekMsT0FBT0Es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
266
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmlnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfVmFsaWRhdGlvbkhlbHBlciIsIl9BdXRvY2FsY0NvbW1vbkZ1bmN0aW9ucyIsIl9EYXRlSGVscGVycyIsIl9UeXBpbmdVdGlscyIsImlzQmlnU291cmNlIiwidmFsdWUiLCJCaWciLCJpc0JpZ09yTnVtYmVyIiwiS0NMYW5nUnVudGltZVV0aWxzIiwiYW5kIiwibGVmdCIsInJpZ2h0IiwidW5kZWZpbmVkIiwiZGl2aXNpb24iLCJ3cmFwRGVjaW1hbE9wZXJhbmQiLCJkaXYiLCJlcSIsImNtcCIsImdlIiwiZ3RlIiwiZ3QiLCJsZSIsImx0ZSIsImx0IiwibWludXMiLCJhcmd1bWVudCIsIm11bCIsIm11bHRpcGx5Iiwibm90Iiwibm90ZXEiLCJvciIsInJvdW5kIiwiZnJhY3Rpb25EaWdpdHMiLCJmbG9vciIsImdldFllYXIiLCJfRGF0ZSIsIkRhdGUiLCJnZXRGdWxsWWVhciIsImRhdGVUaW1lIiwiZGF0ZSIsImlzTm90TnVsbE9yRW1wdHkiLCJjb252ZXJ0RGF0ZSIsInN1bSIsImFkZCIsImFicyIsInhhYnMiLCJsZW5ndGgiLCJleGlzdHMiLCJ2YWx1ZVNlbGVjdG9yIiwicGF0aCIsImlzU25pbHMiLCJub3JtYWxpemVkU25pbHMiLCJyZXBsYWNlIiwiaXNOdWxsT3JXaGl0ZVNwYWNlIiwicmVzdWx0IiwiVmFsaWRhdGlvbkhlbHBlciIsImlzUmVnTnVtU2ZyIiwibm9ybWFsaXplZFJlZ051bSIsImlzSW5uIiwiaXNWYWxpZEFjY291bnROdW1iZXIiLCJiaWsiLCJhY2NvdW50IiwiYmlrVmFsdWUiLCJhY2NvdW50VmFsdWUiLCJpc1ZhbGlkTWlyQ2FyZE51bWJlciIsImNvbnZlcnRUb0RlY2ltYWwiLCJjb252ZXJ0VG9TdHJpbmciLCJ0b1N0cmluZyIsInJlZ2V4TWF0Y2giLCJwYXR0ZXJuIiwiUmVnRXhwIiwidGVzdCIsIm9uZW9mIiwidmFsdWVzIiwiaW5kZXhPZiIsInZhbHVlQXNCaWciLCJzb21lIiwiaXRlbSIsInN1YnN0cmluZyIsInN0ciIsInN0YXJ0IiwiZW5kIiwiZGF0ZU5vdyIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImV4cG9ydHMiLCJrY0xhbmdVdGlsc05hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9Db21tb24vS0NMYW5nUnVudGltZVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWcsIHsgQmlnU291cmNlIH0gZnJvbSBcImJpZy5qc1wiO1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uSGVscGVyIH0gZnJvbSBcIi4uL0VuZ2luZS9zcmMvRW5naW5lL1ZhbGlkYXRpb25IZWxwZXJcIjtcbmltcG9ydCB7IHdyYXBEZWNpbWFsT3BlcmFuZCB9IGZyb20gXCIuLi9FbmdpbmUvc3JjL0hlbHBlcnMvQXV0b2NhbGNDb21tb25GdW5jdGlvbnNcIjtcbmltcG9ydCB7IGNvbnZlcnREYXRlIH0gZnJvbSBcIi4uL0VuZ2luZS9zcmMvSGVscGVycy9EYXRlSGVscGVyc1wiO1xuXG5pbXBvcnQgeyBpc05vdE51bGxPckVtcHR5LCBpc051bGxPcldoaXRlU3BhY2UgfSBmcm9tIFwiLi9UeXBpbmdVdGlsc1wiO1xuXG5jb25zdCBpc0JpZ1NvdXJjZSA9ICh2YWx1ZTogQmlnU291cmNlKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdmFsdWUgaW5zdGFuY2VvZiBCaWcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzQmlnT3JOdW1iZXIgPSAodmFsdWU6IEJpZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwgfCB1bmtub3duKSA9PlxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB2YWx1ZSBpbnN0YW5jZW9mIEJpZztcblxuZXhwb3J0IGNsYXNzIEtDTGFuZ1J1bnRpbWVVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBrY0xhbmdVdGlsc05hbWUgPSBcImtjTGFuZ1V0aWxzXCI7XG5cbiAgICBwdWJsaWMgYW5kKGxlZnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsIHJpZ2h0OiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChsZWZ0ID09IHVuZGVmaW5lZCB8fCByaWdodCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxlZnQgJiYgcmlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGRpdmlzaW9uKGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkuZGl2KHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsZWZ0ID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiByaWdodCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkuY21wKHJpZ2h0KSA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdlKGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UobGVmdCkgJiYgaXNCaWdTb3VyY2UocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpLmd0ZShyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBndChsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5ndChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBsZShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5sdGUocmlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbHQobGVmdDogQmlnU291cmNlLCByaWdodDogQmlnU291cmNlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShsZWZ0KSAmJiBpc0JpZ1NvdXJjZShyaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQobGVmdCkubHQocmlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWludXMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IHVua25vd24ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UoYXJndW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KS5tdWwoLTEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG11bHRpcGx5KGxlZnQ6IEJpZ1NvdXJjZSwgcmlnaHQ6IEJpZ1NvdXJjZSk6IHVua25vd24ge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UobGVmdCkgJiYgaXNCaWdTb3VyY2UocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpLm11bChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90KGxlZnQ/OiBib29sZWFuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBsZWZ0ICE9IHVuZGVmaW5lZCA/ICFsZWZ0IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RlcShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmVxKGxlZnQsIHJpZ2h0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3IobGVmdDogYm9vbGVhbiB8IHVuZGVmaW5lZCwgcmlnaHQ6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsZWZ0ID09IFwiYm9vbGVhblwiIHx8IHR5cGVvZiByaWdodCA9PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgcmV0dXJuIGxlZnQgfHwgcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcm91bmQodmFsdWU6IEJpZ1NvdXJjZSwgZnJhY3Rpb25EaWdpdHM/OiBudW1iZXIpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNCaWdTb3VyY2UodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKHZhbHVlKS5yb3VuZChmcmFjdGlvbkRpZ2l0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmxvb3IodmFsdWU6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQod3JhcERlY2ltYWxPcGVyYW5kKHZhbHVlKS5yb3VuZCh1bmRlZmluZWQsIDApKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRZZWFyKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpPy5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkYXRlVGltZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBpc05vdE51bGxPckVtcHR5KHZhbHVlKSA/IGNvbnZlcnREYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHN1bShsZWZ0OiBCaWdTb3VyY2UsIHJpZ2h0OiBCaWdTb3VyY2UpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIWlzQmlnT3JOdW1iZXIobGVmdCkgJiYgIWlzQmlnT3JOdW1iZXIocmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpICYmIGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChsZWZ0KS5hZGQocmlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKGxlZnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQmlnU291cmNlKHJpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBEZWNpbWFsT3BlcmFuZChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhYnMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShhcmd1bWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwRGVjaW1hbE9wZXJhbmQoYXJndW1lbnQpLmFicygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHhhYnMoYXJndW1lbnQ6IEJpZ1NvdXJjZSk6IEJpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0JpZ1NvdXJjZShhcmd1bWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sdCgwKSA/IG5ldyBCaWcoMCkgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBsZW5ndGgoYXJndW1lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodHlwZW9mIGFyZ3VtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJndW1lbnQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGV4aXN0cyh2YWx1ZVNlbGVjdG9yOiAocGF0aDogc3RyaW5nKSA9PiB1bmtub3duLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlU2VsZWN0b3IgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVTZWxlY3RvcihwYXRoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NuaWxzKHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZywgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZVNlbGVjdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlU2VsZWN0b3IocGF0aCk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRTbmlscyA9IHZhbHVlPy5yZXBsYWNlKC9bXjAtOV0vZywgXCJcIik7XG4gICAgICAgIGlmIChpc051bGxPcldoaXRlU3BhY2Uobm9ybWFsaXplZFNuaWxzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFZhbGlkYXRpb25IZWxwZXIuaXNTbmlscyhub3JtYWxpemVkU25pbHMpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmVnTnVtU2ZyKHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZywgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZVNlbGVjdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlU2VsZWN0b3IocGF0aCk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWdOdW0gPSB2YWx1ZT8ucmVwbGFjZSgvW14wLTldL2csIFwiXCIpO1xuICAgICAgICBpZiAoaXNOdWxsT3JXaGl0ZVNwYWNlKG5vcm1hbGl6ZWRSZWdOdW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gVmFsaWRhdGlvbkhlbHBlci5pc1JlZ051bVNmcihub3JtYWxpemVkUmVnTnVtKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0lubih2YWx1ZVNlbGVjdG9yOiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWVTZWxlY3RvciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZVNlbGVjdG9yKHBhdGgpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkU25pbHMgPSB2YWx1ZT8ucmVwbGFjZSgvW14wLTldL2csIFwiXCIpO1xuICAgICAgICBpZiAoaXNOdWxsT3JXaGl0ZVNwYWNlKG5vcm1hbGl6ZWRTbmlscykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBWYWxpZGF0aW9uSGVscGVyLmlzSW5uKG5vcm1hbGl6ZWRTbmlscyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZEFjY291bnROdW1iZXIoXG4gICAgICAgIHZhbHVlU2VsZWN0b3I6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgYmlrOiBzdHJpbmcsXG4gICAgICAgIGFjY291bnQ6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWVTZWxlY3RvciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYmlrVmFsdWUgPSB2YWx1ZVNlbGVjdG9yKGJpayk7XG4gICAgICAgIGNvbnN0IGFjY291bnRWYWx1ZSA9IHZhbHVlU2VsZWN0b3IoYWNjb3VudCk7XG4gICAgICAgIGlmIChpc051bGxPcldoaXRlU3BhY2UoYmlrVmFsdWUpIHx8IGlzTnVsbE9yV2hpdGVTcGFjZShhY2NvdW50VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gVmFsaWRhdGlvbkhlbHBlci5pc1ZhbGlkQWNjb3VudE51bWJlcihiaWtWYWx1ZSwgYWNjb3VudFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZE1pckNhcmROdW1iZXIodmFsdWVTZWxlY3RvcjogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlU2VsZWN0b3IgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVTZWxlY3RvcihwYXRoKTtcbiAgICAgICAgaWYgKGlzTnVsbE9yV2hpdGVTcGFjZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBWYWxpZGF0aW9uSGVscGVyLmlzVmFsaWRNaXJDYXJkTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb252ZXJ0VG9EZWNpbWFsKGFyZ3VtZW50OiBCaWdTb3VyY2UgfCBzdHJpbmcgfCB1bmRlZmluZWQpOiBCaWcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gd3JhcERlY2ltYWxPcGVyYW5kKGFyZ3VtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udmVydFRvU3RyaW5nKGFyZ3VtZW50OiBCaWdTb3VyY2UgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50LnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJndW1lbnQgaW5zdGFuY2VvZiBCaWcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudC50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnZXhNYXRjaChwYXR0ZXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHBhdHRlcm4gPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChwYXR0ZXJuKS50ZXN0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbmVvZih2YWx1ZXM6IEFycmF5PHN0cmluZyB8IG51bWJlciB8IEJpZz4sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBCaWcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlcyA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlcy5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNCaWdPck51bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXNCaWcgPSBuZXcgQmlnKHZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMuc29tZShpdGVtID0+IGlzQmlnT3JOdW1iZXIoaXRlbSkgJiYgdmFsdWVBc0JpZy5lcShpdGVtKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnN0cmluZyhcbiAgICAgICAgc3RyOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgIHN0YXJ0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgICAgIGxlbmd0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHN0ciA9PSB1bmRlZmluZWQgfHwgc3RhcnQgPT0gdW5kZWZpbmVkIHx8IGxlbmd0aCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmQgPSBzdGFydCArIGxlbmd0aDtcblxuICAgICAgICByZXR1cm4gc3RyLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGF0ZU5vdygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoXCJydS1SVVwiKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsd0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUVBLE1BQU1LLFdBQVcsR0FBSUMsS0FBZ0IsSUFBYztFQUMvQyxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUEsS0FBSyxZQUFZQyxZQUFHLEVBQUU7SUFDaEYsT0FBTyxJQUFJO0VBQ2Y7RUFDQSxPQUFPLEtBQUs7QUFDaEIsQ0FBQztBQUVELE1BQU1DLGFBQWEsR0FBSUYsS0FBZ0QsSUFDbkUsT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUEsS0FBSyxZQUFZQyxZQUFHO0FBRTlDLE1BQU1FLGtCQUFrQixDQUFDO0VBR3JCQyxHQUFHQSxDQUFDQyxJQUF5QixFQUFFQyxLQUEwQixFQUF1QjtJQUNuRixJQUFJRCxJQUFJLElBQUlFLFNBQVMsSUFBSUQsS0FBSyxJQUFJQyxTQUFTLEVBQUU7TUFDekMsT0FBT0EsU0FBUztJQUNwQjtJQUNBLE9BQU9GLElBQUksSUFBSUMsS0FBSztFQUN4QjtFQUVPRSxRQUFRQSxDQUFDSCxJQUFlLEVBQUVDLEtBQWdCLEVBQW1CO0lBQ2hFLElBQUlQLFdBQVcsQ0FBQ00sSUFBSSxDQUFDLElBQUlOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDLEVBQUU7TUFDekMsT0FBTyxJQUFBRywyQ0FBa0IsRUFBQ0osSUFBSSxDQUFDLENBQUNLLEdBQUcsQ0FBQ0osS0FBSyxDQUFDO0lBQzlDO0lBQ0EsT0FBT0MsU0FBUztFQUNwQjtFQUVPSSxFQUFFQSxDQUFDTixJQUFlLEVBQUVDLEtBQWdCLEVBQVc7SUFDbEQsSUFBSSxPQUFPRCxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU9DLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDdkQsT0FBT0QsSUFBSSxLQUFLQyxLQUFLO0lBQ3pCO0lBQ0EsSUFBSVAsV0FBVyxDQUFDTSxJQUFJLENBQUMsSUFBSU4sV0FBVyxDQUFDTyxLQUFLLENBQUMsRUFBRTtNQUN6QyxPQUFPLElBQUFHLDJDQUFrQixFQUFDSixJQUFJLENBQUMsQ0FBQ08sR0FBRyxDQUFDTixLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BEO0lBQ0EsT0FBTyxLQUFLO0VBQ2hCO0VBRU9PLEVBQUVBLENBQUNSLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUNsRCxJQUFJUCxXQUFXLENBQUNNLElBQUksQ0FBQyxJQUFJTixXQUFXLENBQUNPLEtBQUssQ0FBQyxFQUFFO01BQ3pDLE9BQU8sSUFBQUcsMkNBQWtCLEVBQUNKLElBQUksQ0FBQyxDQUFDUyxHQUFHLENBQUNSLEtBQUssQ0FBQztJQUM5QztJQUNBLE9BQU8sS0FBSztFQUNoQjtFQUVPUyxFQUFFQSxDQUFDVixJQUFlLEVBQUVDLEtBQWdCLEVBQVc7SUFDbEQsSUFBSVAsV0FBVyxDQUFDTSxJQUFJLENBQUMsSUFBSU4sV0FBVyxDQUFDTyxLQUFLLENBQUMsRUFBRTtNQUN6QyxPQUFPLElBQUFHLDJDQUFrQixFQUFDSixJQUFJLENBQUMsQ0FBQ1UsRUFBRSxDQUFDVCxLQUFLLENBQUM7SUFDN0M7SUFDQSxPQUFPLEtBQUs7RUFDaEI7RUFFT1UsRUFBRUEsQ0FBQ1gsSUFBZSxFQUFFQyxLQUFnQixFQUFXO0lBQ2xELElBQUlQLFdBQVcsQ0FBQ00sSUFBSSxDQUFDLElBQUlOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDLEVBQUU7TUFDekMsT0FBTyxJQUFBRywyQ0FBa0IsRUFBQ0osSUFBSSxDQUFDLENBQUNZLEdBQUcsQ0FBQ1gsS0FBSyxDQUFDO0lBQzlDO0lBQ0EsT0FBTyxLQUFLO0VBQ2hCO0VBRU9ZLEVBQUVBLENBQUNiLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUNsRCxJQUFJUCxXQUFXLENBQUNNLElBQUksQ0FBQyxJQUFJTixXQUFXLENBQUNPLEtBQUssQ0FBQyxFQUFFO01BQ3pDLE9BQU8sSUFBQUcsMkNBQWtCLEVBQUNKLElBQUksQ0FBQyxDQUFDYSxFQUFFLENBQUNaLEtBQUssQ0FBQztJQUM3QztJQUNBLE9BQU8sS0FBSztFQUNoQjtFQUVPYSxLQUFLQSxDQUFDQyxRQUFtQixFQUFXO0lBQ3ZDLElBQUlyQixXQUFXLENBQUNxQixRQUFRLENBQUMsRUFBRTtNQUN2QixPQUFPLElBQUFYLDJDQUFrQixFQUFDVyxRQUFRLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DO0lBQ0EsT0FBT2QsU0FBUztFQUNwQjtFQUVPZSxRQUFRQSxDQUFDakIsSUFBZSxFQUFFQyxLQUFnQixFQUFXO0lBQ3hELElBQUlQLFdBQVcsQ0FBQ00sSUFBSSxDQUFDLElBQUlOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDLEVBQUU7TUFDekMsT0FBTyxJQUFBRywyQ0FBa0IsRUFBQ0osSUFBSSxDQUFDLENBQUNnQixHQUFHLENBQUNmLEtBQUssQ0FBQztJQUM5QztJQUNBLE9BQU9DLFNBQVM7RUFDcEI7RUFFT2dCLEdBQUdBLENBQUNsQixJQUFjLEVBQXVCO0lBQzVDLE9BQU9BLElBQUksSUFBSUUsU0FBUyxHQUFHLENBQUNGLElBQUksR0FBR0UsU0FBUztFQUNoRDtFQUVPaUIsS0FBS0EsQ0FBQ25CLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDSyxFQUFFLENBQUNOLElBQUksRUFBRUMsS0FBSyxDQUFDO0VBQ2hDO0VBRU9tQixFQUFFQSxDQUFDcEIsSUFBeUIsRUFBRUMsS0FBMEIsRUFBdUI7SUFDbEYsSUFBSSxPQUFPRCxJQUFJLElBQUksU0FBUyxJQUFJLE9BQU9DLEtBQUssSUFBSSxTQUFTLEVBQUU7TUFDdkQsT0FBT0QsSUFBSSxJQUFJQyxLQUFLO0lBQ3hCO0lBQ0EsT0FBT0MsU0FBUztFQUNwQjtFQUVPbUIsS0FBS0EsQ0FBQzFCLEtBQWdCLEVBQUUyQixjQUF1QixFQUFtQjtJQUNyRSxJQUFJNUIsV0FBVyxDQUFDQyxLQUFLLENBQUMsRUFBRTtNQUNwQixPQUFPLElBQUFTLDJDQUFrQixFQUFDVCxLQUFLLENBQUMsQ0FBQzBCLEtBQUssQ0FBQ0MsY0FBYyxDQUFDO0lBQzFEO0lBQ0EsT0FBT3BCLFNBQVM7RUFDcEI7RUFFT3FCLEtBQUtBLENBQUM1QixLQUFnQixFQUFtQjtJQUM1QyxJQUFJRCxXQUFXLENBQUNDLEtBQUssQ0FBQyxFQUFFO01BQ3BCLE9BQU8sSUFBQVMsMkNBQWtCLEVBQUMsSUFBQUEsMkNBQWtCLEVBQUNULEtBQUssQ0FBQyxDQUFDMEIsS0FBSyxDQUFDbkIsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVFO0lBQ0EsT0FBT0EsU0FBUztFQUNwQjtFQUVPc0IsT0FBT0EsQ0FBQzdCLEtBQWEsRUFBc0I7SUFBQSxJQUFBOEIsS0FBQTtJQUM5QyxRQUFBQSxLQUFBLEdBQU8sSUFBSUMsSUFBSSxDQUFDL0IsS0FBSyxDQUFDLGNBQUE4QixLQUFBLHVCQUFmQSxLQUFBLENBQWlCRSxXQUFXLENBQUMsQ0FBQztFQUN6QztFQUVPQyxRQUFRQSxDQUFDakMsS0FBYSxFQUFvQjtJQUM3QyxNQUFNa0MsSUFBSSxHQUFHLElBQUFDLDZCQUFnQixFQUFDbkMsS0FBSyxDQUFDLEdBQUcsSUFBQW9DLHdCQUFXLEVBQUNwQyxLQUFLLENBQUMsR0FBR08sU0FBUztJQUNyRSxJQUFJLENBQUMyQixJQUFJLEVBQUU7TUFDUCxPQUFPM0IsU0FBUztJQUNwQjtJQUVBLE9BQU8yQixJQUFJO0VBQ2Y7RUFFT0csR0FBR0EsQ0FBQ2hDLElBQWUsRUFBRUMsS0FBZ0IsRUFBbUI7SUFDM0QsSUFBSSxDQUFDSixhQUFhLENBQUNHLElBQUksQ0FBQyxJQUFJLENBQUNILGFBQWEsQ0FBQ0ksS0FBSyxDQUFDLEVBQUU7TUFDL0MsT0FBT0MsU0FBUztJQUNwQjtJQUVBLElBQUlSLFdBQVcsQ0FBQ00sSUFBSSxDQUFDLElBQUlOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDLEVBQUU7TUFDekMsT0FBTyxJQUFBRywyQ0FBa0IsRUFBQ0osSUFBSSxDQUFDLENBQUNpQyxHQUFHLENBQUNoQyxLQUFLLENBQUM7SUFDOUM7SUFFQSxJQUFJUCxXQUFXLENBQUNNLElBQUksQ0FBQyxFQUFFO01BQ25CLE9BQU8sSUFBQUksMkNBQWtCLEVBQUNKLElBQUksQ0FBQztJQUNuQztJQUVBLElBQUlOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDLEVBQUU7TUFDcEIsT0FBTyxJQUFBRywyQ0FBa0IsRUFBQ0gsS0FBSyxDQUFDO0lBQ3BDO0lBRUEsT0FBT0MsU0FBUztFQUNwQjtFQUVPZ0MsR0FBR0EsQ0FBQ25CLFFBQW1CLEVBQW1CO0lBQzdDLElBQUlyQixXQUFXLENBQUNxQixRQUFRLENBQUMsRUFBRTtNQUN2QixPQUFPLElBQUFYLDJDQUFrQixFQUFDVyxRQUFRLENBQUMsQ0FBQ21CLEdBQUcsQ0FBQyxDQUFDO0lBQzdDO0lBQ0EsT0FBT2hDLFNBQVM7RUFDcEI7RUFFT2lDLElBQUlBLENBQUNwQixRQUFtQixFQUFtQjtJQUM5QyxJQUFJckIsV0FBVyxDQUFDcUIsUUFBUSxDQUFDLEVBQUU7TUFDdkIsTUFBTXBCLEtBQUssR0FBRyxJQUFBUywyQ0FBa0IsRUFBQ1csUUFBUSxDQUFDO01BQzFDLE9BQU9wQixLQUFLLENBQUNrQixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSWpCLFlBQUcsQ0FBQyxDQUFDLENBQUMsR0FBR0QsS0FBSztJQUMzQztJQUNBLE9BQU9PLFNBQVM7RUFDcEI7RUFFT2tDLE1BQU1BLENBQUNyQixRQUFtQyxFQUFzQjtJQUNuRSxJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEVBQUU7TUFDOUIsT0FBT0EsUUFBUSxDQUFDcUIsTUFBTTtJQUMxQjtJQUNBLE9BQU9sQyxTQUFTO0VBQ3BCO0VBRU9tQyxNQUFNQSxDQUFDQyxhQUF3QyxFQUFFQyxJQUFZLEVBQXVCO0lBQ3ZGLElBQUlELGFBQWEsSUFBSXBDLFNBQVMsRUFBRTtNQUM1QixPQUFPQSxTQUFTO0lBQ3BCO0lBQ0EsTUFBTVAsS0FBSyxHQUFHMkMsYUFBYSxDQUFDQyxJQUFJLENBQUM7SUFDakMsT0FBTzVDLEtBQUssSUFBSU8sU0FBUyxJQUFJUCxLQUFLLElBQUksRUFBRTtFQUM1QztFQUVPNkMsT0FBT0EsQ0FBQ0YsYUFBdUMsRUFBRUMsSUFBWSxFQUF1QjtJQUN2RixJQUFJRCxhQUFhLElBQUlwQyxTQUFTLEVBQUU7TUFDNUIsT0FBT0EsU0FBUztJQUNwQjtJQUNBLE1BQU1QLEtBQUssR0FBRzJDLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDO0lBQ2pDLE1BQU1FLGVBQWUsR0FBRzlDLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFK0MsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDckQsSUFBSSxJQUFBQywrQkFBa0IsRUFBQ0YsZUFBZSxDQUFDLEVBQUU7TUFDckMsT0FBTyxLQUFLO0lBQ2hCO0lBQ0EsTUFBTUcsTUFBTSxHQUFHQyxrQ0FBZ0IsQ0FBQ0wsT0FBTyxDQUFDQyxlQUFlLENBQUM7SUFFeEQsT0FBT0csTUFBTTtFQUNqQjtFQUVPRSxXQUFXQSxDQUFDUixhQUF1QyxFQUFFQyxJQUFZLEVBQXVCO0lBQzNGLElBQUlELGFBQWEsSUFBSXBDLFNBQVMsRUFBRTtNQUM1QixPQUFPQSxTQUFTO0lBQ3BCO0lBQ0EsTUFBTVAsS0FBSyxHQUFHMkMsYUFBYSxDQUFDQyxJQUFJLENBQUM7SUFDakMsTUFBTVEsZ0JBQWdCLEdBQUdwRCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRStDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ3RELElBQUksSUFBQUMsK0JBQWtCLEVBQUNJLGdCQUFnQixDQUFDLEVBQUU7TUFDdEMsT0FBTyxLQUFLO0lBQ2hCO0lBQ0EsTUFBTUgsTUFBTSxHQUFHQyxrQ0FBZ0IsQ0FBQ0MsV0FBVyxDQUFDQyxnQkFBZ0IsQ0FBQztJQUU3RCxPQUFPSCxNQUFNO0VBQ2pCO0VBRU9JLEtBQUtBLENBQUNWLGFBQXVDLEVBQUVDLElBQVksRUFBdUI7SUFDckYsSUFBSUQsYUFBYSxJQUFJcEMsU0FBUyxFQUFFO01BQzVCLE9BQU9BLFNBQVM7SUFDcEI7SUFDQSxNQUFNUCxLQUFLLEdBQUcyQyxhQUFhLENBQUNDLElBQUksQ0FBQztJQUNqQyxNQUFNRSxlQUFlLEdBQUc5QyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRStDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ3JELElBQUksSUFBQUMsK0JBQWtCLEVBQUNGLGVBQWUsQ0FBQyxFQUFFO01BQ3JDLE9BQU8sS0FBSztJQUNoQjtJQUNBLE1BQU1HLE1BQU0sR0FBR0Msa0NBQWdCLENBQUNHLEtBQUssQ0FBQ1AsZUFBZSxDQUFDO0lBRXRELE9BQU9HLE1BQU07RUFDakI7RUFFT0ssb0JBQW9CQSxDQUN2QlgsYUFBdUMsRUFDdkNZLEdBQVcsRUFDWEMsT0FBZSxFQUNJO0lBQ25CLElBQUliLGFBQWEsSUFBSXBDLFNBQVMsRUFBRTtNQUM1QixPQUFPQSxTQUFTO0lBQ3BCO0lBQ0EsTUFBTWtELFFBQVEsR0FBR2QsYUFBYSxDQUFDWSxHQUFHLENBQUM7SUFDbkMsTUFBTUcsWUFBWSxHQUFHZixhQUFhLENBQUNhLE9BQU8sQ0FBQztJQUMzQyxJQUFJLElBQUFSLCtCQUFrQixFQUFDUyxRQUFRLENBQUMsSUFBSSxJQUFBVCwrQkFBa0IsRUFBQ1UsWUFBWSxDQUFDLEVBQUU7TUFDbEUsT0FBTyxLQUFLO0lBQ2hCO0lBQ0EsTUFBTVQsTUFBTSxHQUFHQyxrQ0FBZ0IsQ0FBQ0ksb0JBQW9CLENBQUNHLFFBQVEsRUFBRUMsWUFBWSxDQUFDO0lBQzVFLE9BQU9ULE1BQU07RUFDakI7RUFFT1Usb0JBQW9CQSxDQUFDaEIsYUFBdUMsRUFBRUMsSUFBWSxFQUF1QjtJQUNwRyxJQUFJRCxhQUFhLElBQUlwQyxTQUFTLEVBQUU7TUFDNUIsT0FBT0EsU0FBUztJQUNwQjtJQUNBLE1BQU1QLEtBQUssR0FBRzJDLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDO0lBQ2pDLElBQUksSUFBQUksK0JBQWtCLEVBQUNoRCxLQUFLLENBQUMsRUFBRTtNQUMzQixPQUFPLEtBQUs7SUFDaEI7SUFDQSxNQUFNaUQsTUFBTSxHQUFHQyxrQ0FBZ0IsQ0FBQ1Msb0JBQW9CLENBQUMzRCxLQUFLLENBQUM7SUFFM0QsT0FBT2lELE1BQU07RUFDakI7RUFFT1csZ0JBQWdCQSxDQUFDeEMsUUFBd0MsRUFBbUI7SUFDL0UsT0FBTyxJQUFBWCwyQ0FBa0IsRUFBQ1csUUFBUSxDQUFDO0VBQ3ZDO0VBRU95QyxlQUFlQSxDQUFDekMsUUFBc0MsRUFBc0I7SUFDL0UsSUFBSSxPQUFPQSxRQUFRLEtBQUssUUFBUSxFQUFFO01BQzlCLE9BQU9BLFFBQVE7SUFDbkI7SUFFQSxJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEVBQUU7TUFDOUIsT0FBT0EsUUFBUSxDQUFDMEMsUUFBUSxDQUFDLENBQUM7SUFDOUI7SUFFQSxJQUFJMUMsUUFBUSxZQUFZbkIsWUFBRyxFQUFFO01BQ3pCLE9BQU9tQixRQUFRLENBQUMwQyxRQUFRLENBQUMsQ0FBQztJQUM5QjtJQUVBLE9BQU92RCxTQUFTO0VBQ3BCO0VBRU93RCxVQUFVQSxDQUFDQyxPQUEyQixFQUFFaEUsS0FBeUIsRUFBdUI7SUFDM0YsSUFBSWdFLE9BQU8sSUFBSXpELFNBQVMsSUFBSVAsS0FBSyxJQUFJTyxTQUFTLEVBQUU7TUFDNUMsT0FBT0EsU0FBUztJQUNwQjtJQUNBLElBQUksT0FBT1AsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUMzQixPQUFPLElBQUlpRSxNQUFNLENBQUNELE9BQU8sQ0FBQyxDQUFDRSxJQUFJLENBQUNsRSxLQUFLLENBQUM7SUFDMUM7SUFDQSxPQUFPTyxTQUFTO0VBQ3BCO0VBRU80RCxLQUFLQSxDQUFDQyxNQUFvQyxFQUFFcEUsS0FBNEIsRUFBdUI7SUFDbEcsSUFBSW9FLE1BQU0sSUFBSTdELFNBQVMsRUFBRTtNQUNyQixPQUFPQSxTQUFTO0lBQ3BCO0lBQ0EsSUFBSSxPQUFPUCxLQUFLLEtBQUssUUFBUSxFQUFFO01BQzNCLE9BQU9vRSxNQUFNLENBQUNDLE9BQU8sQ0FBQ3JFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QztJQUVBLElBQUlFLGFBQWEsQ0FBQ0YsS0FBSyxDQUFDLEVBQUU7TUFDdEIsTUFBTXNFLFVBQVUsR0FBRyxJQUFJckUsWUFBRyxDQUFDRCxLQUFLLENBQUM7TUFDakMsT0FBT29FLE1BQU0sQ0FBQ0csSUFBSSxDQUFDQyxJQUFJLElBQUl0RSxhQUFhLENBQUNzRSxJQUFJLENBQUMsSUFBSUYsVUFBVSxDQUFDM0QsRUFBRSxDQUFDNkQsSUFBSSxDQUFDLENBQUM7SUFDMUU7SUFFQSxPQUFPLEtBQUs7RUFDaEI7RUFFT0MsU0FBU0EsQ0FDWkMsR0FBdUIsRUFDdkJDLEtBQXlCLEVBQ3pCbEMsTUFBMEIsRUFDUjtJQUNsQixJQUFJaUMsR0FBRyxJQUFJbkUsU0FBUyxJQUFJb0UsS0FBSyxJQUFJcEUsU0FBUyxJQUFJa0MsTUFBTSxJQUFJbEMsU0FBUyxFQUFFO01BQy9ELE9BQU9BLFNBQVM7SUFDcEI7SUFDQSxJQUFJa0MsTUFBTSxJQUFJLENBQUMsRUFBRTtNQUNiLE9BQU8sRUFBRTtJQUNiO0lBQ0EsTUFBTW1DLEdBQUcsR0FBR0QsS0FBSyxHQUFHbEMsTUFBTTtJQUUxQixPQUFPaUMsR0FBRyxDQUFDRCxTQUFTLENBQUNFLEtBQUssRUFBRUMsR0FBRyxDQUFDO0VBQ3BDO0VBRU9DLE9BQU9BLENBQUEsRUFBdUI7SUFDakMsT0FBTyxJQUFJOUMsSUFBSSxDQUFDLENBQUMsQ0FBQytDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztFQUNqRDtBQUNKO0FBQUNDLE9BQUEsQ0FBQTVFLGtCQUFBLEdBQUFBLGtCQUFBO0FBMVNZQSxrQkFBa0IsQ0FDYjZFLGVBQWUsR0FBRyxhQUFhIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KCLangRuntimeUtils.js","names":["_big","_interopRequireDefault","require","_ValidationHelper","_AutocalcCommonFunctions","_DateHelpers","_TypingUtils","isBigSource","value","Big","isBigOrNumber","KCLangRuntimeUtils","and","left","right","undefined","division","wrapDecimalOperand","div","eq","cmp","ge","gte","gt","le","lte","lt","minus","argument","mul","multiply","not","noteq","or","round","fractionDigits","floor","getYear","_Date","Date","getFullYear","dateTime","date","isNotNullOrEmpty","convertDate","sum","add","abs","xabs","length","exists","valueSelector","path","isSnils","normalizedSnils","replace","isNullOrWhiteSpace","result","ValidationHelper","isRegNumSfr","normalizedRegNum","isInn","isValidAccountNumber","bik","account","bikValue","accountValue","isValidMirCardNumber","convertToDecimal","convertToString","toString","regexMatch","pattern","RegExp","test","oneof","values","indexOf","valueAsBig","some","item","substring","str","start","end","dateNow","toLocaleDateString","exports","kcLangUtilsName"],"sources":["../../../Common/KCLangRuntimeUtils.ts"],"sourcesContent":["import Big, { BigSource } from \"big.js\";\n\nimport { ValidationHelper } from \"../Engine/src/Engine/ValidationHelper\";\nimport { wrapDecimalOperand } from \"../Engine/src/Helpers/AutocalcCommonFunctions\";\nimport { convertDate } from \"../Engine/src/Helpers/DateHelpers\";\n\nimport { isNotNullOrEmpty, isNullOrWhiteSpace } from \"./TypingUtils\";\n\nconst isBigSource = (value: BigSource): boolean => {\n if (typeof value === \"number\" || typeof value === \"string\" || value instanceof Big) {\n return true;\n }\n return false;\n};\n\nconst isBigOrNumber = (value: Big | number | undefined | null | unknown) =>\n typeof value === \"number\" || value instanceof Big;\n\nexport class KCLangRuntimeUtils {\n public static kcLangUtilsName = \"kcLangUtils\";\n\n public and(left: boolean | undefined, right: boolean | undefined): boolean | undefined {\n if (left == undefined || right == undefined) {\n return undefined;\n }\n return left && right;\n }\n\n public division(left: BigSource, right: BigSource): Big | undefined {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).div(right);\n }\n return undefined;\n }\n\n public eq(left: BigSource, right: BigSource): boolean {\n if (typeof left === \"string\" && typeof right === \"string\") {\n return left === right;\n }\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).cmp(right) === 0;\n }\n return false;\n }\n\n public ge(left: BigSource, right: BigSource): boolean {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).gte(right);\n }\n return false;\n }\n\n public gt(left: BigSource, right: BigSource): boolean {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).gt(right);\n }\n return false;\n }\n\n public le(left: BigSource, right: BigSource): boolean {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).lte(right);\n }\n return false;\n }\n\n public lt(left: BigSource, right: BigSource): boolean {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).lt(right);\n }\n return false;\n }\n\n public minus(argument: BigSource): unknown {\n if (isBigSource(argument)) {\n return wrapDecimalOperand(argument).mul(-1);\n }\n return undefined;\n }\n\n public multiply(left: BigSource, right: BigSource): unknown {\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).mul(right);\n }\n return undefined;\n }\n\n public not(left?: boolean): boolean | undefined {\n return left != undefined ? !left : undefined;\n }\n\n public noteq(left: BigSource, right: BigSource): boolean {\n return !this.eq(left, right);\n }\n\n public or(left: boolean | undefined, right: boolean | undefined): boolean | undefined {\n if (typeof left == \"boolean\" || typeof right == \"boolean\") {\n return left || right;\n }\n return undefined;\n }\n\n public round(value: BigSource, fractionDigits?: number): Big | undefined {\n if (isBigSource(value)) {\n return wrapDecimalOperand(value).round(fractionDigits);\n }\n return undefined;\n }\n\n public floor(value: BigSource): Big | undefined {\n if (isBigSource(value)) {\n return wrapDecimalOperand(wrapDecimalOperand(value).round(undefined, 0));\n }\n return undefined;\n }\n\n public getYear(value: string): number | undefined {\n return new Date(value)?.getFullYear();\n }\n\n public dateTime(value: string): Date | undefined {\n const date = isNotNullOrEmpty(value) ? convertDate(value) : undefined;\n if (!date) {\n return undefined;\n }\n\n return date;\n }\n\n public sum(left: BigSource, right: BigSource): Big | undefined {\n if (!isBigOrNumber(left) && !isBigOrNumber(right)) {\n return undefined;\n }\n\n if (isBigSource(left) && isBigSource(right)) {\n return wrapDecimalOperand(left).add(right);\n }\n\n if (isBigSource(left)) {\n return wrapDecimalOperand(left);\n }\n\n if (isBigSource(right)) {\n return wrapDecimalOperand(right);\n }\n\n return undefined;\n }\n\n public abs(argument: BigSource): Big | undefined {\n if (isBigSource(argument)) {\n return wrapDecimalOperand(argument).abs();\n }\n return undefined;\n }\n\n public xabs(argument: BigSource): Big | undefined {\n if (isBigSource(argument)) {\n const value = wrapDecimalOperand(argument);\n return value.lt(0) ? new Big(0) : value;\n }\n return undefined;\n }\n\n public length(argument: string | undefined | null): number | undefined {\n if (typeof argument === \"string\") {\n return argument.length;\n }\n return undefined;\n }\n\n public exists(valueSelector: (path: string) => unknown, path: string): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const value = valueSelector(path);\n return value != undefined && value != \"\";\n }\n\n public isSnils(valueSelector: (path: string) => string, path: string): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const value = valueSelector(path);\n const normalizedSnils = value?.replace(/[^0-9]/g, \"\");\n if (isNullOrWhiteSpace(normalizedSnils)) {\n return false;\n }\n const result = ValidationHelper.isSnils(normalizedSnils);\n\n return result;\n }\n\n public isRegNumSfr(valueSelector: (path: string) => string, path: string): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const value = valueSelector(path);\n const normalizedRegNum = value?.replace(/[^0-9]/g, \"\");\n if (isNullOrWhiteSpace(normalizedRegNum)) {\n return false;\n }\n const result = ValidationHelper.isRegNumSfr(normalizedRegNum);\n\n return result;\n }\n\n public isInn(valueSelector: (path: string) => string, path: string): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const value = valueSelector(path);\n const normalizedSnils = value?.replace(/[^0-9]/g, \"\");\n if (isNullOrWhiteSpace(normalizedSnils)) {\n return false;\n }\n const result = ValidationHelper.isInn(normalizedSnils);\n\n return result;\n }\n\n public isValidAccountNumber(\n valueSelector: (path: string) => string,\n bik: string,\n account: string\n ): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const bikValue = valueSelector(bik);\n const accountValue = valueSelector(account);\n if (isNullOrWhiteSpace(bikValue) || isNullOrWhiteSpace(accountValue)) {\n return false;\n }\n const result = ValidationHelper.isValidAccountNumber(bikValue, accountValue);\n return result;\n }\n\n public isValidMirCardNumber(valueSelector: (path: string) => string, path: string): boolean | undefined {\n if (valueSelector == undefined) {\n return undefined;\n }\n const value = valueSelector(path);\n if (isNullOrWhiteSpace(value)) {\n return false;\n }\n const result = ValidationHelper.isValidMirCardNumber(value);\n\n return result;\n }\n\n public convertToDecimal(argument: BigSource | string | undefined): Big | undefined {\n return wrapDecimalOperand(argument);\n }\n\n public convertToString(argument: BigSource | undefined | null): string | undefined {\n if (typeof argument === \"string\") {\n return argument;\n }\n\n if (typeof argument === \"number\") {\n return argument.toString();\n }\n\n if (argument instanceof Big) {\n return argument.toString();\n }\n\n return undefined;\n }\n\n public regexMatch(pattern: string | undefined, value: string | undefined): boolean | undefined {\n if (pattern == undefined || value == undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return new RegExp(pattern).test(value);\n }\n return undefined;\n }\n\n public oneof(values: Array<string | number | Big>, value: string | number | Big): boolean | undefined {\n if (values == undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return values.indexOf(value) !== -1;\n }\n\n if (isBigOrNumber(value)) {\n const valueAsBig = new Big(value);\n return values.some(item => isBigOrNumber(item) && valueAsBig.eq(item));\n }\n\n return false;\n }\n\n public substring(\n str: string | undefined,\n start: number | undefined,\n length: number | undefined\n ): string | undefined {\n if (str == undefined || start == undefined || length == undefined) {\n return undefined;\n }\n if (length <= 0) {\n return \"\";\n }\n const end = start + length;\n\n return str.substring(start, end);\n }\n\n public dateNow(): string | undefined {\n return new Date().toLocaleDateString(\"ru-RU\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ var _TypingUtils = require("../TypingUtils");
10
10
  var _IterableUtils = require("../IterableUtils");
11
11
  var _EachCurrentCollision = require("./EachCurrentCollision");
12
12
  var _ModelPath = require("./ModelPath");
13
+ var _AbsoluteModelFieldPath;
13
14
  class AbsoluteModelFieldPath {
14
15
  constructor(path, fieldName) {
15
16
  this.path = void 0;
@@ -48,6 +49,7 @@ class AbsoluteModelFieldPath {
48
49
  }
49
50
  }
50
51
  exports.AbsoluteModelFieldPath = AbsoluteModelFieldPath;
52
+ _AbsoluteModelFieldPath = AbsoluteModelFieldPath;
51
53
  AbsoluteModelFieldPath.extraFieldNames = ["\\$errorCount", "\\$warningCount"];
52
- AbsoluteModelFieldPath.fieldExtractRegex = new RegExp(`^(.*)\\.(${AbsoluteModelFieldPath.extraFieldNames.concat((0, _CoreTypes.getKnownViewModelFieldNames)()).join("|")})$`);
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29yZVR5cGVzIiwicmVxdWlyZSIsIl9oYXNoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfSXRlcmFibGVVdGlscyIsIl9FYWNoQ3VycmVudENvbGxpc2lvbiIsIl9Nb2RlbFBhdGgiLCJBYnNvbHV0ZU1vZGVsRmllbGRQYXRoIiwiY29uc3RydWN0b3IiLCJwYXRoIiwiZmllbGROYW1lIiwiZmllbGQiLCJnZXRIYXNoIiwiZ2V0U2ltcGxlSGFzaEJ5U3RyaW5nIiwiaXNFcXVhbHMiLCJtb2RlbFBhdGgiLCJlYWNoQ3VycmVudENvbGxpc2lvbiIsIkVhY2hDdXJyZW50Q29sbGlzaW9uIiwiQXJlU2FtZSIsImNyZWF0ZUZyb21TdHJpbmciLCJwYXRoV2l0aEZpZWxkTmFtZSIsImRlZmF1bHRGaWVsZE5hbWUiLCJjcmVhdGVGcm9tIiwiY3JlYXRlQWJzb2x1dGUiLCJjcmVhdGVGcm9tTWFzayIsIm11bHRpcGxpY2l0eVN5bWJvbCIsImNyZWF0ZUFic29sdXRlRnJvbU1hc2siLCJtb2RlbFBhdGhGYWN0b3J5IiwiX21hdGNoJCIsIl9yZWYiLCJtYXRjaCIsImZpZWxkRXh0cmFjdFJlZ2V4IiwiZXhlYyIsInVuZGVmaW5lZCIsInJlamVjdCIsInRvU3RyaW5nIiwidG9MZWdhY3lQYXRoIiwibGFzdFRva2VuIiwiSXRlclV0aWxzIiwibGFzdCIsImdldFBhdGhQYXJ0cyIsImlzTGFzdFRva2VuQW5JbnN0YW5jZU9yTXVsdGlwbGljaXR5IiwiUGF0aFRva2VucyIsImlzSW5zdGFuY2VUb2tlbk9ySW5zdGFuY2VzU3BlYyIsImlzTXVsdGlUb2tlbiIsInNsYXNoSWZSZXF1aXJlZCIsImlzTm90TnVsbE9yRW1wdHkiLCJkb3RJZlJlcXVpcmVkIiwiZXhwb3J0cyIsImV4dHJhRmllbGROYW1lcyIsIlJlZ0V4cCIsImNvbmNhdCIsImdldEtub3duVmlld01vZGVsRmllbGROYW1lcyIsImpvaW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0Fic29sdXRlTW9kZWxGaWVsZFBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0S25vd25WaWV3TW9kZWxGaWVsZE5hbWVzLCBWaWV3TW9kZWxGaWVsZE5hbWUgfSBmcm9tIFwiLi4vLi4vRW5naW5lL3NyYy9FbmdpbmUvQ29yZS9Db3JlVHlwZXNcIjtcbmltcG9ydCB7IGdldFNpbXBsZUhhc2hCeVN0cmluZyB9IGZyb20gXCIuLi9oYXNoVXRpbHNcIjtcbmltcG9ydCB7IGlzTm90TnVsbE9yRW1wdHksIHJlamVjdCB9IGZyb20gXCIuLi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgSXRlclV0aWxzIH0gZnJvbSBcIi4uL0l0ZXJhYmxlVXRpbHNcIjtcblxuaW1wb3J0IHsgRWFjaEN1cnJlbnRDb2xsaXNpb24gfSBmcm9tIFwiLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuaW1wb3J0IHsgSUVxdWF0YWJsZSB9IGZyb20gXCIuL0lFcXVhdGFibGVcIjtcbmltcG9ydCB7XG4gICAgQWJzb2x1dGVNb2RlbFBhdGgsXG4gICAgQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCxcbiAgICBjcmVhdGVBYnNvbHV0ZSxcbiAgICBjcmVhdGVBYnNvbHV0ZUZyb21NYXNrLFxuICAgIFBhdGhUb2tlbixcbiAgICBQYXRoVG9rZW5zLFxufSBmcm9tIFwiLi9Nb2RlbFBhdGhcIjtcblxuZXhwb3J0IHR5cGUgVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkcyA9IFZpZXdNb2RlbEZpZWxkTmFtZSB8IFwiJGVycm9yQ291bnRcIiB8IFwiJHdhcm5pbmdDb3VudFwiIHwgXCJcIjtcblxuZXhwb3J0IGNsYXNzIEFic29sdXRlTW9kZWxGaWVsZFBhdGggaW1wbGVtZW50cyBJRXF1YXRhYmxlPEFic29sdXRlTW9kZWxGaWVsZFBhdGg+IHtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBleHRyYUZpZWxkTmFtZXMgPSBbXCJcXFxcJGVycm9yQ291bnRcIiwgXCJcXFxcJHdhcm5pbmdDb3VudFwiXTtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBmaWVsZEV4dHJhY3RSZWdleCA9IG5ldyBSZWdFeHAoXG4gICAgICAgIGBeKC4qKVxcXFwuKCR7QWJzb2x1dGVNb2RlbEZpZWxkUGF0aC5leHRyYUZpZWxkTmFtZXMuY29uY2F0KGdldEtub3duVmlld01vZGVsRmllbGROYW1lcygpKS5qb2luKFwifFwiKX0pJGBcbiAgICApO1xuICAgIHB1YmxpYyByZWFkb25seSBwYXRoOiBBYnNvbHV0ZU1vZGVsUGF0aDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmllbGQ6IFZpZXdNb2RlbEZpZWxkTmFtZVdpdGhDdXN0b21GaWVsZHM7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocGF0aDogQWJzb2x1dGVNb2RlbFBhdGgsIGZpZWxkTmFtZTogVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkcykge1xuICAgICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgICAgICB0aGlzLmZpZWxkID0gZmllbGROYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIYXNoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGguZ2V0SGFzaCgpICsgZ2V0U2ltcGxlSGFzaEJ5U3RyaW5nKHRoaXMuZmllbGQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VxdWFscyhcbiAgICAgICAgbW9kZWxQYXRoOiBBYnNvbHV0ZU1vZGVsRmllbGRQYXRoLFxuICAgICAgICBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGguaXNFcXVhbHMobW9kZWxQYXRoLnBhdGgsIGVhY2hDdXJyZW50Q29sbGlzaW9uKSAmJiB0aGlzLmZpZWxkID09PSBtb2RlbFBhdGguZmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGcm9tU3RyaW5nKFxuICAgICAgICBwYXRoV2l0aEZpZWxkTmFtZTogc3RyaW5nLFxuICAgICAgICBkZWZhdWx0RmllbGROYW1lPzogVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkc1xuICAgICk6IEFic29sdXRlTW9kZWxGaWVsZFBhdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVGcm9tKHBhdGhXaXRoRmllbGROYW1lLCBwYXRoID0+IGNyZWF0ZUFic29sdXRlKHBhdGgpLCBkZWZhdWx0RmllbGROYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZyb21NYXNrKFxuICAgICAgICBwYXRoV2l0aEZpZWxkTmFtZTogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsaWNpdHlTeW1ib2w6IFBhdGhUb2tlbixcbiAgICAgICAgZGVmYXVsdEZpZWxkTmFtZT86IFZpZXdNb2RlbEZpZWxkTmFtZVdpdGhDdXN0b21GaWVsZHNcbiAgICApOiBBYnNvbHV0ZU1vZGVsRmllbGRQYXRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbShcbiAgICAgICAgICAgIHBhdGhXaXRoRmllbGROYW1lLFxuICAgICAgICAgICAgcGF0aCA9PiBjcmVhdGVBYnNvbHV0ZUZyb21NYXNrKHBhdGgsIG11bHRpcGxpY2l0eVN5bWJvbCksXG4gICAgICAgICAgICBkZWZhdWx0RmllbGROYW1lXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlRnJvbTxUTW9kZWxQYXRoIGV4dGVuZHMgQWJzb2x1dGVNb2RlbFBhdGggfCBBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoPihcbiAgICAgICAgcGF0aFdpdGhGaWVsZE5hbWU6IHN0cmluZyxcbiAgICAgICAgbW9kZWxQYXRoRmFjdG9yeTogKHBhdGg6IHN0cmluZykgPT4gVE1vZGVsUGF0aCxcbiAgICAgICAgZGVmYXVsdEZpZWxkTmFtZTogVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkcyA9IFwidmFsdWVcIlxuICAgICk6IEFic29sdXRlTW9kZWxGaWVsZFBhdGgge1xuICAgICAgICBjb25zdCBtYXRjaCA9IEFic29sdXRlTW9kZWxGaWVsZFBhdGguZmllbGRFeHRyYWN0UmVnZXguZXhlYyhwYXRoV2l0aEZpZWxkTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGggPSBtYXRjaCAhPSB1bmRlZmluZWQgPyBtYXRjaFsxXSA/PyByZWplY3QoKSA6IHBhdGhXaXRoRmllbGROYW1lO1xuICAgICAgICBjb25zdCBmaWVsZCA9IG1hdGNoICE9IHVuZGVmaW5lZCA/IChtYXRjaFsyXSBhcyBWaWV3TW9kZWxGaWVsZE5hbWUgfCB1bmRlZmluZWQpID8/IHJlamVjdCgpIDogZGVmYXVsdEZpZWxkTmFtZTtcblxuICAgICAgICByZXR1cm4gbmV3IEFic29sdXRlTW9kZWxGaWVsZFBhdGgobW9kZWxQYXRoRmFjdG9yeShwYXRoKSwgZmllbGQpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5wYXRoLnRvTGVnYWN5UGF0aCgpfS4ke3RoaXMuZmllbGR9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9MZWdhY3lQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGxhc3RUb2tlbiA9IEl0ZXJVdGlscy5sYXN0KHRoaXMucGF0aC5nZXRQYXRoUGFydHMoKSk7XG4gICAgICAgIGNvbnN0IGlzTGFzdFRva2VuQW5JbnN0YW5jZU9yTXVsdGlwbGljaXR5ID1cbiAgICAgICAgICAgIFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuT3JJbnN0YW5jZXNTcGVjKGxhc3RUb2tlbikgfHwgUGF0aFRva2Vucy5pc011bHRpVG9rZW4obGFzdFRva2VuKTtcbiAgICAgICAgY29uc3Qgc2xhc2hJZlJlcXVpcmVkID0gaXNMYXN0VG9rZW5Bbkluc3RhbmNlT3JNdWx0aXBsaWNpdHkgJiYgaXNOb3ROdWxsT3JFbXB0eSh0aGlzLmZpZWxkKSA/IFwiL1wiIDogXCJcIjtcbiAgICAgICAgY29uc3QgZG90SWZSZXF1aXJlZCA9IGlzTm90TnVsbE9yRW1wdHkodGhpcy5maWVsZCkgPyBcIi5cIiA6IFwiXCI7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnBhdGgudG9MZWdhY3lQYXRoKCl9JHtzbGFzaElmUmVxdWlyZWR9JHtkb3RJZlJlcXVpcmVkfSR7dGhpcy5maWVsZH1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsY0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUkscUJBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQVdPLE1BQU1NLHNCQUFzQixDQUErQztFQVF2RUMsV0FBV0EsQ0FBQ0MsSUFBdUIsRUFBRUMsU0FBNkMsRUFBRTtJQUFBLEtBSDNFRCxJQUFJO0lBQUEsS0FDSkUsS0FBSztJQUdqQixJQUFJLENBQUNGLElBQUksR0FBR0EsSUFBSTtJQUNoQixJQUFJLENBQUNFLEtBQUssR0FBR0QsU0FBUztFQUMxQjtFQUVPRSxPQUFPQSxDQUFBLEVBQVc7SUFDckIsT0FBTyxJQUFJLENBQUNILElBQUksQ0FBQ0csT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFBQyxnQ0FBcUIsRUFBQyxJQUFJLENBQUNGLEtBQUssQ0FBQztFQUNsRTtFQUVPRyxRQUFRQSxDQUNYQyxTQUFpQyxFQUNqQ0Msb0JBQTBDLEdBQUdDLDBDQUFvQixDQUFDQyxPQUFPLEVBQ2xFO0lBQ1AsT0FBTyxJQUFJLENBQUNULElBQUksQ0FBQ0ssUUFBUSxDQUFDQyxTQUFTLENBQUNOLElBQUksRUFBRU8sb0JBQW9CLENBQUMsSUFBSSxJQUFJLENBQUNMLEtBQUssS0FBS0ksU0FBUyxDQUFDSixLQUFLO0VBQ3JHO0VBRUEsT0FBY1EsZ0JBQWdCQSxDQUMxQkMsaUJBQXlCLEVBQ3pCQyxnQkFBcUQs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
54
+ AbsoluteModelFieldPath.fieldExtractRegex = new RegExp(`^(.*)\\.(${_AbsoluteModelFieldPath.extraFieldNames.concat((0, _CoreTypes.getKnownViewModelFieldNames)()).join("|")})$`);
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29yZVR5cGVzIiwicmVxdWlyZSIsIl9oYXNoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfSXRlcmFibGVVdGlscyIsIl9FYWNoQ3VycmVudENvbGxpc2lvbiIsIl9Nb2RlbFBhdGgiLCJfQWJzb2x1dGVNb2RlbEZpZWxkUGF0aCIsIkFic29sdXRlTW9kZWxGaWVsZFBhdGgiLCJjb25zdHJ1Y3RvciIsInBhdGgiLCJmaWVsZE5hbWUiLCJmaWVsZCIsImdldEhhc2giLCJnZXRTaW1wbGVIYXNoQnlTdHJpbmciLCJpc0VxdWFscyIsIm1vZGVsUGF0aCIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwiY3JlYXRlRnJvbVN0cmluZyIsInBhdGhXaXRoRmllbGROYW1lIiwiZGVmYXVsdEZpZWxkTmFtZSIsImNyZWF0ZUZyb20iLCJjcmVhdGVBYnNvbHV0ZSIsImNyZWF0ZUZyb21NYXNrIiwibXVsdGlwbGljaXR5U3ltYm9sIiwiY3JlYXRlQWJzb2x1dGVGcm9tTWFzayIsIm1vZGVsUGF0aEZhY3RvcnkiLCJfbWF0Y2gkIiwiX3JlZiIsIm1hdGNoIiwiZmllbGRFeHRyYWN0UmVnZXgiLCJleGVjIiwidW5kZWZpbmVkIiwicmVqZWN0IiwidG9TdHJpbmciLCJ0b0xlZ2FjeVBhdGgiLCJsYXN0VG9rZW4iLCJJdGVyVXRpbHMiLCJsYXN0IiwiZ2V0UGF0aFBhcnRzIiwiaXNMYXN0VG9rZW5Bbkluc3RhbmNlT3JNdWx0aXBsaWNpdHkiLCJQYXRoVG9rZW5zIiwiaXNJbnN0YW5jZVRva2VuT3JJbnN0YW5jZXNTcGVjIiwiaXNNdWx0aVRva2VuIiwic2xhc2hJZlJlcXVpcmVkIiwiaXNOb3ROdWxsT3JFbXB0eSIsImRvdElmUmVxdWlyZWQiLCJleHBvcnRzIiwiZXh0cmFGaWVsZE5hbWVzIiwiUmVnRXhwIiwiY29uY2F0IiwiZ2V0S25vd25WaWV3TW9kZWxGaWVsZE5hbWVzIiwiam9pbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvQWJzb2x1dGVNb2RlbEZpZWxkUGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRLbm93blZpZXdNb2RlbEZpZWxkTmFtZXMsIFZpZXdNb2RlbEZpZWxkTmFtZSB9IGZyb20gXCIuLi8uLi9FbmdpbmUvc3JjL0VuZ2luZS9Db3JlL0NvcmVUeXBlc1wiO1xuaW1wb3J0IHsgZ2V0U2ltcGxlSGFzaEJ5U3RyaW5nIH0gZnJvbSBcIi4uL2hhc2hVdGlsc1wiO1xuaW1wb3J0IHsgaXNOb3ROdWxsT3JFbXB0eSwgcmVqZWN0IH0gZnJvbSBcIi4uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJdGVyVXRpbHMgfSBmcm9tIFwiLi4vSXRlcmFibGVVdGlsc1wiO1xuXG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuL0VhY2hDdXJyZW50Q29sbGlzaW9uXCI7XG5pbXBvcnQgeyBJRXF1YXRhYmxlIH0gZnJvbSBcIi4vSUVxdWF0YWJsZVwiO1xuaW1wb3J0IHtcbiAgICBBYnNvbHV0ZU1vZGVsUGF0aCxcbiAgICBBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoLFxuICAgIGNyZWF0ZUFic29sdXRlLFxuICAgIGNyZWF0ZUFic29sdXRlRnJvbU1hc2ssXG4gICAgUGF0aFRva2VuLFxuICAgIFBhdGhUb2tlbnMsXG59IGZyb20gXCIuL01vZGVsUGF0aFwiO1xuXG5leHBvcnQgdHlwZSBWaWV3TW9kZWxGaWVsZE5hbWVXaXRoQ3VzdG9tRmllbGRzID0gVmlld01vZGVsRmllbGROYW1lIHwgXCIkZXJyb3JDb3VudFwiIHwgXCIkd2FybmluZ0NvdW50XCIgfCBcIlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbEZpZWxkUGF0aCBpbXBsZW1lbnRzIElFcXVhdGFibGU8QWJzb2x1dGVNb2RlbEZpZWxkUGF0aD4ge1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGV4dHJhRmllbGROYW1lcyA9IFtcIlxcXFwkZXJyb3JDb3VudFwiLCBcIlxcXFwkd2FybmluZ0NvdW50XCJdO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGZpZWxkRXh0cmFjdFJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgYF4oLiopXFxcXC4oJHtBYnNvbHV0ZU1vZGVsRmllbGRQYXRoLmV4dHJhRmllbGROYW1lcy5jb25jYXQoZ2V0S25vd25WaWV3TW9kZWxGaWVsZE5hbWVzKCkpLmpvaW4oXCJ8XCIpfSkkYFxuICAgICk7XG4gICAgcHVibGljIHJlYWRvbmx5IHBhdGg6IEFic29sdXRlTW9kZWxQYXRoO1xuICAgIHB1YmxpYyByZWFkb25seSBmaWVsZDogVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkcztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXRoOiBBYnNvbHV0ZU1vZGVsUGF0aCwgZmllbGROYW1lOiBWaWV3TW9kZWxGaWVsZE5hbWVXaXRoQ3VzdG9tRmllbGRzKSB7XG4gICAgICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuZmllbGQgPSBmaWVsZE5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhhc2goKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aC5nZXRIYXNoKCkgKyBnZXRTaW1wbGVIYXNoQnlTdHJpbmcodGhpcy5maWVsZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWxzKFxuICAgICAgICBtb2RlbFBhdGg6IEFic29sdXRlTW9kZWxGaWVsZFBhdGgsXG4gICAgICAgIGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbiA9IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZVNhbWVcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aC5pc0VxdWFscyhtb2RlbFBhdGgucGF0aCwgZWFjaEN1cnJlbnRDb2xsaXNpb24pICYmIHRoaXMuZmllbGQgPT09IG1vZGVsUGF0aC5maWVsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZyb21TdHJpbmcoXG4gICAgICAgIHBhdGhXaXRoRmllbGROYW1lOiBzdHJpbmcsXG4gICAgICAgIGRlZmF1bHRGaWVsZE5hbWU/OiBWaWV3TW9kZWxGaWVsZE5hbWVXaXRoQ3VzdG9tRmllbGRzXG4gICAgKTogQWJzb2x1dGVNb2RlbEZpZWxkUGF0aCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZyb20ocGF0aFdpdGhGaWVsZE5hbWUsIHBhdGggPT4gY3JlYXRlQWJzb2x1dGUocGF0aCksIGRlZmF1bHRGaWVsZE5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlRnJvbU1hc2soXG4gICAgICAgIHBhdGhXaXRoRmllbGROYW1lOiBzdHJpbmcsXG4gICAgICAgIG11bHRpcGxpY2l0eVN5bWJvbDogUGF0aFRva2VuLFxuICAgICAgICBkZWZhdWx0RmllbGROYW1lPzogVmlld01vZGVsRmllbGROYW1lV2l0aEN1c3RvbUZpZWxkc1xuICAgICk6IEFic29sdXRlTW9kZWxGaWVsZFBhdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVGcm9tKFxuICAgICAgICAgICAgcGF0aFdpdGhGaWVsZE5hbWUsXG4gICAgICAgICAgICBwYXRoID0+IGNyZWF0ZUFic29sdXRlRnJvbU1hc2socGF0aCwgbXVsdGlwbGljaXR5U3ltYm9sKSxcbiAgICAgICAgICAgIGRlZmF1bHRGaWVsZE5hbWVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVGcm9tPFRNb2RlbFBhdGggZXh0ZW5kcyBBYnNvbHV0ZU1vZGVsUGF0aCB8IEFic29sdXRlUmVzb2x2ZWRNb2RlbFBhdGg+KFxuICAgICAgICBwYXRoV2l0aEZpZWxkTmFtZTogc3RyaW5nLFxuICAgICAgICBtb2RlbFBhdGhGYWN0b3J5OiAocGF0aDogc3RyaW5nKSA9PiBUTW9kZWxQYXRoLFxuICAgICAgICBkZWZhdWx0RmllbGROYW1lOiBWaWV3TW9kZWxGaWVsZE5hbWVXaXRoQ3VzdG9tRmllbGRzID0gXCJ2YWx1ZVwiXG4gICAgKTogQWJzb2x1dGVNb2RlbEZpZWxkUGF0aCB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gQWJzb2x1dGVNb2RlbEZpZWxkUGF0aC5maWVsZEV4dHJhY3RSZWdleC5leGVjKHBhdGhXaXRoRmllbGROYW1lKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IG1hdGNoICE9IHVuZGVmaW5lZCA/IG1hdGNoWzFdID8/IHJlamVjdCgpIDogcGF0aFdpdGhGaWVsZE5hbWU7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbWF0Y2ggIT0gdW5kZWZpbmVkID8gKG1hdGNoWzJdIGFzIFZpZXdNb2RlbEZpZWxkTmFtZSB8IHVuZGVmaW5lZCkgPz8gcmVqZWN0KCkgOiBkZWZhdWx0RmllbGROYW1lO1xuXG4gICAgICAgIHJldHVybiBuZXcgQWJzb2x1dGVNb2RlbEZpZWxkUGF0aChtb2RlbFBhdGhGYWN0b3J5KHBhdGgpLCBmaWVsZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnBhdGgudG9MZWdhY3lQYXRoKCl9LiR7dGhpcy5maWVsZH1gO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0xlZ2FjeVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbGFzdFRva2VuID0gSXRlclV0aWxzLmxhc3QodGhpcy5wYXRoLmdldFBhdGhQYXJ0cygpKTtcbiAgICAgICAgY29uc3QgaXNMYXN0VG9rZW5Bbkluc3RhbmNlT3JNdWx0aXBsaWNpdHkgPVxuICAgICAgICAgICAgUGF0aFRva2Vucy5pc0luc3RhbmNlVG9rZW5Pckluc3RhbmNlc1NwZWMobGFzdFRva2VuKSB8fCBQYXRoVG9rZW5zLmlzTXVsdGlUb2tlbihsYXN0VG9rZW4pO1xuICAgICAgICBjb25zdCBzbGFzaElmUmVxdWlyZWQgPSBpc0xhc3RUb2tlbkFuSW5zdGFuY2VPck11bHRpcGxpY2l0eSAmJiBpc05vdE51bGxPckVtcHR5KHRoaXMuZmllbGQpID8gXCIvXCIgOiBcIlwiO1xuICAgICAgICBjb25zdCBkb3RJZlJlcXVpcmVkID0gaXNOb3ROdWxsT3JFbXB0eSh0aGlzLmZpZWxkKSA/IFwiLlwiIDogXCJcIjtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMucGF0aC50b0xlZ2FjeVBhdGgoKX0ke3NsYXNoSWZSZXF1aXJlZH0ke2RvdElmUmVxdWlyZWR9JHt0aGlzLmZpZWxkfWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxxQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBT3FCLElBQUFNLHVCQUFBO0FBSWQsTUFBTUMsc0JBQXNCLENBQStDO0VBUXZFQyxXQUFXQSxDQUFDQyxJQUF1QixFQUFFQyxTQUE2QyxFQUFFO0lBQUEsS0FIM0VELElBQUk7SUFBQSxLQUNKRSxLQUFLO0lBR2pCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0UsS0FBSyxHQUFHRCxTQUFTO0VBQzFCO0VBRU9FLE9BQU9BLENBQUEsRUFBVztJQUNyQixPQUFPLElBQUksQ0FBQ0gsSUFBSSxDQUFDRyxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUFDLGdDQUFxQixFQUFDLElBQUksQ0FBQ0YsS0FBSyxDQUFDO0VBQ2xFO0VBRU9HLFFBQVFBLENBQ1hDLFNBQWlDLEVBQ2pDQyxvQkFBMEMsR0FBR0MsMENBQW9CLENBQUNDLE9BQU8sRUFDbEU7SUFDUCxPQUFPLElBQUksQ0FBQ1QsSUFBSSxDQUFDSyxRQUFRLENBQUNDLFNBQVMsQ0FBQ04sSUFBSSxFQUFFTyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQ0wsS0FBSyxLQUFLSSxTQUFTLENBQUNKLEtBQUs7RUFDckc7RUFF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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbsoluteModelFieldPath.js","names":["_CoreTypes","require","_hashUtils","_TypingUtils","_IterableUtils","_EachCurrentCollision","_ModelPath","_AbsoluteModelFieldPath","AbsoluteModelFieldPath","constructor","path","fieldName","field","getHash","getSimpleHashByString","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","createFromString","pathWithFieldName","defaultFieldName","createFrom","createAbsolute","createFromMask","multiplicitySymbol","createAbsoluteFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","toString","toLegacyPath","lastToken","IterUtils","last","getPathParts","isLastTokenAnInstanceOrMultiplicity","PathTokens","isInstanceTokenOrInstancesSpec","isMultiToken","slashIfRequired","isNotNullOrEmpty","dotIfRequired","exports","extraFieldNames","RegExp","concat","getKnownViewModelFieldNames","join"],"sources":["../../../../Common/ModelPath/AbsoluteModelFieldPath.ts"],"sourcesContent":["import { getKnownViewModelFieldNames, ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { getSimpleHashByString } from \"../hashUtils\";\nimport { isNotNullOrEmpty, reject } from \"../TypingUtils\";\nimport { IterUtils } from \"../IterableUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { IEquatable } from \"./IEquatable\";\nimport {\n AbsoluteModelPath,\n AbsoluteResolvedModelPath,\n createAbsolute,\n createAbsoluteFromMask,\n PathToken,\n PathTokens,\n} from \"./ModelPath\";\n\nexport type ViewModelFieldNameWithCustomFields = ViewModelFieldName | \"$errorCount\" | \"$warningCount\" | \"\";\n\nexport class AbsoluteModelFieldPath implements IEquatable<AbsoluteModelFieldPath> {\n private static readonly extraFieldNames = [\"\\\\$errorCount\", \"\\\\$warningCount\"];\n private static readonly fieldExtractRegex = new RegExp(\n `^(.*)\\\\.(${AbsoluteModelFieldPath.extraFieldNames.concat(getKnownViewModelFieldNames()).join(\"|\")})$`\n );\n public readonly path: AbsoluteModelPath;\n public readonly field: ViewModelFieldNameWithCustomFields;\n\n public constructor(path: AbsoluteModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n this.path = path;\n this.field = fieldName;\n }\n\n public getHash(): number {\n return this.path.getHash() + getSimpleHashByString(this.field);\n }\n\n public isEquals(\n modelPath: AbsoluteModelFieldPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createAbsolute(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createAbsoluteFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends AbsoluteModelPath | AbsoluteResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): AbsoluteModelFieldPath {\n const match = AbsoluteModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? match[1] ?? reject() : pathWithFieldName;\n const field = match != undefined ? (match[2] as ViewModelFieldName | undefined) ?? reject() : defaultFieldName;\n\n return new AbsoluteModelFieldPath(modelPathFactory(path), field);\n }\n\n public toString(): string {\n return `${this.path.toLegacyPath()}.${this.field}`;\n }\n\n public toLegacyPath(): string {\n const lastToken = IterUtils.last(this.path.getPathParts());\n const isLastTokenAnInstanceOrMultiplicity =\n PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || PathTokens.isMultiToken(lastToken);\n const slashIfRequired = isLastTokenAnInstanceOrMultiplicity && isNotNullOrEmpty(this.field) ? \"/\" : \"\";\n const dotIfRequired = isNotNullOrEmpty(this.field) ? \".\" : \"\";\n return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -38,4 +38,4 @@ function buildIterationSequenceWithInstances(modelPath) {
38
38
  }
39
39
  return result;
40
40
  }
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsImJ1aWxkSXRlcmF0aW9uU2VxdWVuY2UiLCJtb2RlbFBhdGgiLCJyZXN1bHQiLCJ0b2tlbnMiLCJnZXRQYXRoUGFydHNBc0FycmF5IiwiY3JlYXRlUGF0aEZ1bmMiLCJpc0Fic29sdXRlIiwiY3JlYXRlQWJzb2x1dGVGcm9tVG9rZW5zIiwiY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zIiwiaSIsImxlbmd0aCIsIlBhdGhUb2tlbnMiLCJlYWNoIiwicHVzaCIsIml0ZXJhYmxlIiwic2xpY2UiLCJzdWZmaXgiLCJidWlsZEl0ZXJhdGlvblNlcXVlbmNlV2l0aEluc3RhbmNlcyIsImN1cnJlbnRJbnN0YW5jZXMiLCJ0b2tlbiIsImlzSW5zdGFuY2VUb2tlbiIsImNvbmNhdCIsIm1hcCIsIngiLCJpbnN0YW5jZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0J1aWxkSXRlcmF0aW9uU2VxdWVuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjcmVhdGVBYnNvbHV0ZUZyb21Ub2tlbnMsXG4gICAgY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zLFxuICAgIE1vZGVsUGF0aCxcbiAgICBQYXRoVG9rZW4sXG4gICAgUGF0aFRva2VucyxcbiAgICBSZWxhdGl2ZU1vZGVsUGF0aCxcbn0gZnJvbSBcIi4vTW9kZWxQYXRoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlcmF0aW9uRW50cnk8VE1vZGVsUGF0aCBleHRlbmRzIE1vZGVsUGF0aD4ge1xuICAgIGl0ZXJhYmxlOiBUTW9kZWxQYXRoO1xuICAgIHN1ZmZpeDogUmVsYXRpdmVNb2RlbFBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZXJhdGlvblNlcXVlbmNlPFRNb2RlbFBhdGggZXh0ZW5kcyBNb2RlbFBhdGg+KFxuICAgIG1vZGVsUGF0aDogVE1vZGVsUGF0aFxuKTogQXJyYXk8SXRlcmF0aW9uRW50cnk8VE1vZGVsUGF0aD4+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PEl0ZXJhdGlvbkVudHJ5PFRNb2RlbFBhdGg+PiA9IFtdO1xuICAgIGNvbnN0IHRva2VucyA9IG1vZGVsUGF0aC5nZXRQYXRoUGFydHNBc0FycmF5KCk7XG4gICAgY29uc3QgY3JlYXRlUGF0aEZ1bmMgPSBtb2RlbFBhdGguaXNBYnNvbHV0ZSgpID8gY3JlYXRlQWJzb2x1dGVGcm9tVG9rZW5zIDogY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICh0b2tlbnNbaV0gPT09IFBhdGhUb2tlbnMuZWFjaCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZXJhYmxlOiBjcmVhdGVQYXRoRnVuYyh0b2tlbnMuc2xpY2UoMCwgaSkpIGFzIFRNb2RlbFBhdGgsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBjcmVhdGVSZWxhdGl2ZUZyb21Ub2tlbnModG9rZW5zLnNsaWNlKGkgKyAxKSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl0ZXJhdGlvbkVudHJ5V2l0aEluc3RhbmNlczxUTW9kZWxQYXRoIGV4dGVuZHMgTW9kZWxQYXRoPiB7XG4gICAgaXRlcmFibGU6IFRNb2RlbFBhdGg7XG4gICAgc3VmZml4OiBSZWxhdGl2ZU1vZGVsUGF0aDtcbiAgICBpbnN0YW5jZXM6IFBhdGhUb2tlbltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJdGVyYXRpb25TZXF1ZW5jZVdpdGhJbnN0YW5jZXM8VE1vZGVsUGF0aCBleHRlbmRzIE1vZGVsUGF0aD4oXG4gICAgbW9kZWxQYXRoOiBUTW9kZWxQYXRoXG4pOiBBcnJheTxJdGVyYXRpb25FbnRyeVdpdGhJbnN0YW5jZXM8VE1vZGVsUGF0aD4+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PEl0ZXJhdGlvbkVudHJ5V2l0aEluc3RhbmNlczxUTW9kZWxQYXRoPj4gPSBbXTtcbiAgICBjb25zdCB0b2tlbnMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgIGNvbnN0IGNyZWF0ZVBhdGhGdW5jID0gbW9kZWxQYXRoLmlzQWJzb2x1dGUoKSA/IGNyZWF0ZUFic29sdXRlRnJvbVRva2VucyA6IGNyZWF0ZVJlbGF0aXZlRnJvbVRva2VucztcbiAgICBsZXQgY3VycmVudEluc3RhbmNlczogUGF0aFRva2VuW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgaWYgKHRva2VuID09PSBQYXRoVG9rZW5zLmVhY2ggfHwgUGF0aFRva2Vucy5pc0luc3RhbmNlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2VzID0gY3VycmVudEluc3RhbmNlcy5jb25jYXQodG9rZW4pO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZXJhYmxlOiBjcmVhdGVQYXRoRnVuYyhcbiAgICAgICAgICAgICAgICAgICAgdG9rZW5zLnNsaWNlKDAsIGkpLm1hcCh4ID0+IChQYXRoVG9rZW5zLmlzSW5zdGFuY2VUb2tlbih4KSA/IFBhdGhUb2tlbnMuZWFjaCA6IHgpKVxuICAgICAgICAgICAgICAgICkgYXMgVE1vZGVsUGF0aCxcbiAgICAgICAgICAgICAgICBzdWZmaXg6IGNyZWF0ZVJlbGF0aXZlRnJvbVRva2Vucyh0b2tlbnMuc2xpY2UoaSArIDEpKSxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZXM6IGN1cnJlbnRJbnN0YW5jZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBY08sU0FBU0Msc0JBQXNCQSxDQUNsQ0MsU0FBcUIsRUFDWTtFQUNqQyxNQUFNQyxNQUF5QyxHQUFHLEVBQUU7RUFDcEQsTUFBTUMsTUFBTSxHQUFHRixTQUFTLENBQUNHLG1CQUFtQixDQUFDLENBQUM7RUFDOUMsTUFBTUMsY0FBYyxHQUFHSixTQUFTLENBQUNLLFVBQVUsQ0FBQyxDQUFDLEdBQUdDLG1DQUF3QixHQUFHQyxtQ0FBd0I7RUFDbkcsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdOLE1BQU0sQ0FBQ08sTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwQyxJQUFJTixNQUFNLENBQUNNLENBQUMsQ0FBQyxLQUFLRSxxQkFBVSxDQUFDQyxJQUFJLEVBQUU7TUFDL0JWLE1BQU0sQ0FBQ1csSUFBSSxDQUFDO1FBQ1JDLFFBQVEsRUFBRVQsY0FBYyxDQUFDRixNQUFNLENBQUNZLEtBQUssQ0FBQyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFlO1FBQzFETyxNQUFNLEVBQUUsSUFBQVIsbUNBQXdCLEVBQUNMLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3hELENBQUMsQ0FBQztJQUNOO0VBQ0o7RUFDQSxPQUFPUCxNQUFNO0FBQ2pCO0FBUU8sU0FBU2UsbUNBQW1DQSxDQUMvQ2hCLFNBQXFCLEVBQ3lCO0VBQzlDLE1BQU1DLE1BQXNELEdBQUcsRUFBRTtFQUNqRSxNQUFNQyxNQUFNLEdBQUdGLFNBQVMsQ0FBQ0csbUJBQW1CLENBQUMsQ0FBQztFQUM5QyxNQUFNQyxjQUFjLEdBQUdKLFNBQVMsQ0FBQ0ssVUFBVSxDQUFDLENBQUMsR0FBR0MsbUNBQXdCLEdBQUdDLG1DQUF3QjtFQUNuRyxJQUFJVSxnQkFBNkIsR0FBRyxFQUFFO0VBQ3RDLEtBQUssSUFBSVQsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHTixNQUFNLENBQUNPLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEMsTUFBTVUsS0FBSyxHQUFHaEIsTUFBTSxDQUFDTSxDQUFDLENBQUM7SUFDdkIsSUFBSVUsS0FBSyxLQUFLUixxQkFBVSxDQUFDQyxJQUFJLElBQUlELHFCQUFVLENBQUNTLGVBQWUsQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7TUFDaEVELGdCQUFnQixHQUFHQSxnQkFBZ0IsQ0FBQ0csTUFBTSxDQUFDRixLQUFLLENBQUM7TUFDakRqQixNQUFNLENBQUNXLElBQUksQ0FBQztRQUNSQyxRQUFRLEVBQUVULGNBQWMsQ0FDcEJGLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUNhLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFLWixxQkFBVSxDQUFDUyxlQUFlLENBQUNHLENBQUMsQ0FBQyxHQUFHWixxQkFBVSxDQUFDQyxJQUFJLEdBQUdXLENBQUUsQ0FDckYsQ0FBZTtRQUNmUCxNQUFNLEVBQUUsSUFBQVIsbUNBQXdCLEVBQUNMLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckRlLFNBQVMsRUFBRU47TUFDZixDQUFDLENBQUM7SUFDTjtFQUNKO0VBQ0EsT0FBT2hCLE1BQU07QUFDakIifQ==
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsImJ1aWxkSXRlcmF0aW9uU2VxdWVuY2UiLCJtb2RlbFBhdGgiLCJyZXN1bHQiLCJ0b2tlbnMiLCJnZXRQYXRoUGFydHNBc0FycmF5IiwiY3JlYXRlUGF0aEZ1bmMiLCJpc0Fic29sdXRlIiwiY3JlYXRlQWJzb2x1dGVGcm9tVG9rZW5zIiwiY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zIiwiaSIsImxlbmd0aCIsIlBhdGhUb2tlbnMiLCJlYWNoIiwicHVzaCIsIml0ZXJhYmxlIiwic2xpY2UiLCJzdWZmaXgiLCJidWlsZEl0ZXJhdGlvblNlcXVlbmNlV2l0aEluc3RhbmNlcyIsImN1cnJlbnRJbnN0YW5jZXMiLCJ0b2tlbiIsImlzSW5zdGFuY2VUb2tlbiIsImNvbmNhdCIsIm1hcCIsIngiLCJpbnN0YW5jZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0J1aWxkSXRlcmF0aW9uU2VxdWVuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjcmVhdGVBYnNvbHV0ZUZyb21Ub2tlbnMsXG4gICAgY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zLFxuICAgIE1vZGVsUGF0aCxcbiAgICBQYXRoVG9rZW4sXG4gICAgUGF0aFRva2VucyxcbiAgICBSZWxhdGl2ZU1vZGVsUGF0aCxcbn0gZnJvbSBcIi4vTW9kZWxQYXRoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlcmF0aW9uRW50cnk8VE1vZGVsUGF0aCBleHRlbmRzIE1vZGVsUGF0aD4ge1xuICAgIGl0ZXJhYmxlOiBUTW9kZWxQYXRoO1xuICAgIHN1ZmZpeDogUmVsYXRpdmVNb2RlbFBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZXJhdGlvblNlcXVlbmNlPFRNb2RlbFBhdGggZXh0ZW5kcyBNb2RlbFBhdGg+KFxuICAgIG1vZGVsUGF0aDogVE1vZGVsUGF0aFxuKTogQXJyYXk8SXRlcmF0aW9uRW50cnk8VE1vZGVsUGF0aD4+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PEl0ZXJhdGlvbkVudHJ5PFRNb2RlbFBhdGg+PiA9IFtdO1xuICAgIGNvbnN0IHRva2VucyA9IG1vZGVsUGF0aC5nZXRQYXRoUGFydHNBc0FycmF5KCk7XG4gICAgY29uc3QgY3JlYXRlUGF0aEZ1bmMgPSBtb2RlbFBhdGguaXNBYnNvbHV0ZSgpID8gY3JlYXRlQWJzb2x1dGVGcm9tVG9rZW5zIDogY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICh0b2tlbnNbaV0gPT09IFBhdGhUb2tlbnMuZWFjaCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZXJhYmxlOiBjcmVhdGVQYXRoRnVuYyh0b2tlbnMuc2xpY2UoMCwgaSkpIGFzIFRNb2RlbFBhdGgsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBjcmVhdGVSZWxhdGl2ZUZyb21Ub2tlbnModG9rZW5zLnNsaWNlKGkgKyAxKSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl0ZXJhdGlvbkVudHJ5V2l0aEluc3RhbmNlczxUTW9kZWxQYXRoIGV4dGVuZHMgTW9kZWxQYXRoPiB7XG4gICAgaXRlcmFibGU6IFRNb2RlbFBhdGg7XG4gICAgc3VmZml4OiBSZWxhdGl2ZU1vZGVsUGF0aDtcbiAgICBpbnN0YW5jZXM6IFBhdGhUb2tlbltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJdGVyYXRpb25TZXF1ZW5jZVdpdGhJbnN0YW5jZXM8VE1vZGVsUGF0aCBleHRlbmRzIE1vZGVsUGF0aD4oXG4gICAgbW9kZWxQYXRoOiBUTW9kZWxQYXRoXG4pOiBBcnJheTxJdGVyYXRpb25FbnRyeVdpdGhJbnN0YW5jZXM8VE1vZGVsUGF0aD4+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PEl0ZXJhdGlvbkVudHJ5V2l0aEluc3RhbmNlczxUTW9kZWxQYXRoPj4gPSBbXTtcbiAgICBjb25zdCB0b2tlbnMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgIGNvbnN0IGNyZWF0ZVBhdGhGdW5jID0gbW9kZWxQYXRoLmlzQWJzb2x1dGUoKSA/IGNyZWF0ZUFic29sdXRlRnJvbVRva2VucyA6IGNyZWF0ZVJlbGF0aXZlRnJvbVRva2VucztcbiAgICBsZXQgY3VycmVudEluc3RhbmNlczogUGF0aFRva2VuW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgaWYgKHRva2VuID09PSBQYXRoVG9rZW5zLmVhY2ggfHwgUGF0aFRva2Vucy5pc0luc3RhbmNlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2VzID0gY3VycmVudEluc3RhbmNlcy5jb25jYXQodG9rZW4pO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZXJhYmxlOiBjcmVhdGVQYXRoRnVuYyhcbiAgICAgICAgICAgICAgICAgICAgdG9rZW5zLnNsaWNlKDAsIGkpLm1hcCh4ID0+IChQYXRoVG9rZW5zLmlzSW5zdGFuY2VUb2tlbih4KSA/IFBhdGhUb2tlbnMuZWFjaCA6IHgpKVxuICAgICAgICAgICAgICAgICkgYXMgVE1vZGVsUGF0aCxcbiAgICAgICAgICAgICAgICBzdWZmaXg6IGNyZWF0ZVJlbGF0aXZlRnJvbVRva2Vucyh0b2tlbnMuc2xpY2UoaSArIDEpKSxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZXM6IGN1cnJlbnRJbnN0YW5jZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBY08sU0FBU0Msc0JBQXNCQSxDQUNsQ0MsU0FBcUIsRUFDWTtFQUNqQyxNQUFNQyxNQUF5QyxHQUFHLEVBQUU7RUFDcEQsTUFBTUMsTUFBTSxHQUFHRixTQUFTLENBQUNHLG1CQUFtQixDQUFDLENBQUM7RUFDOUMsTUFBTUMsY0FBYyxHQUFHSixTQUFTLENBQUNLLFVBQVUsQ0FBQyxDQUFDLEdBQUdDLG1DQUF3QixHQUFHQyxtQ0FBd0I7RUFDbkcsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdOLE1BQU0sQ0FBQ08sTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwQyxJQUFJTixNQUFNLENBQUNNLENBQUMsQ0FBQyxLQUFLRSxxQkFBVSxDQUFDQyxJQUFJLEVBQUU7TUFDL0JWLE1BQU0sQ0FBQ1csSUFBSSxDQUFDO1FBQ1JDLFFBQVEsRUFBRVQsY0FBYyxDQUFDRixNQUFNLENBQUNZLEtBQUssQ0FBQyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFlO1FBQzFETyxNQUFNLEVBQUUsSUFBQVIsbUNBQXdCLEVBQUNMLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3hELENBQUMsQ0FBQztJQUNOO0VBQ0o7RUFDQSxPQUFPUCxNQUFNO0FBQ2pCO0FBUU8sU0FBU2UsbUNBQW1DQSxDQUMvQ2hCLFNBQXFCLEVBQ3lCO0VBQzlDLE1BQU1DLE1BQXNELEdBQUcsRUFBRTtFQUNqRSxNQUFNQyxNQUFNLEdBQUdGLFNBQVMsQ0FBQ0csbUJBQW1CLENBQUMsQ0FBQztFQUM5QyxNQUFNQyxjQUFjLEdBQUdKLFNBQVMsQ0FBQ0ssVUFBVSxDQUFDLENBQUMsR0FBR0MsbUNBQXdCLEdBQUdDLG1DQUF3QjtFQUNuRyxJQUFJVSxnQkFBNkIsR0FBRyxFQUFFO0VBQ3RDLEtBQUssSUFBSVQsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHTixNQUFNLENBQUNPLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEMsTUFBTVUsS0FBSyxHQUFHaEIsTUFBTSxDQUFDTSxDQUFDLENBQUM7SUFDdkIsSUFBSVUsS0FBSyxLQUFLUixxQkFBVSxDQUFDQyxJQUFJLElBQUlELHFCQUFVLENBQUNTLGVBQWUsQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7TUFDaEVELGdCQUFnQixHQUFHQSxnQkFBZ0IsQ0FBQ0csTUFBTSxDQUFDRixLQUFLLENBQUM7TUFDakRqQixNQUFNLENBQUNXLElBQUksQ0FBQztRQUNSQyxRQUFRLEVBQUVULGNBQWMsQ0FDcEJGLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUNhLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFLWixxQkFBVSxDQUFDUyxlQUFlLENBQUNHLENBQUMsQ0FBQyxHQUFHWixxQkFBVSxDQUFDQyxJQUFJLEdBQUdXLENBQUUsQ0FDckYsQ0FBZTtRQUNmUCxNQUFNLEVBQUUsSUFBQVIsbUNBQXdCLEVBQUNMLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckRlLFNBQVMsRUFBRU47TUFDZixDQUFDLENBQUM7SUFDTjtFQUNKO0VBQ0EsT0FBT2hCLE1BQU07QUFDakIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildIterationSequence.js","names":["_ModelPath","require","buildIterationSequence","modelPath","result","tokens","getPathPartsAsArray","createPathFunc","isAbsolute","createAbsoluteFromTokens","createRelativeFromTokens","i","length","PathTokens","each","push","iterable","slice","suffix","buildIterationSequenceWithInstances","currentInstances","token","isInstanceToken","concat","map","x","instances"],"sources":["../../../../Common/ModelPath/BuildIterationSequence.ts"],"sourcesContent":["import {\n createAbsoluteFromTokens,\n createRelativeFromTokens,\n ModelPath,\n PathToken,\n PathTokens,\n RelativeModelPath,\n} from \"./ModelPath\";\n\nexport interface IterationEntry<TModelPath extends ModelPath> {\n iterable: TModelPath;\n suffix: RelativeModelPath;\n}\n\nexport function buildIterationSequence<TModelPath extends ModelPath>(\n modelPath: TModelPath\n): Array<IterationEntry<TModelPath>> {\n const result: Array<IterationEntry<TModelPath>> = [];\n const tokens = modelPath.getPathPartsAsArray();\n const createPathFunc = modelPath.isAbsolute() ? createAbsoluteFromTokens : createRelativeFromTokens;\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i] === PathTokens.each) {\n result.push({\n iterable: createPathFunc(tokens.slice(0, i)) as TModelPath,\n suffix: createRelativeFromTokens(tokens.slice(i + 1)),\n });\n }\n }\n return result;\n}\n\nexport interface IterationEntryWithInstances<TModelPath extends ModelPath> {\n iterable: TModelPath;\n suffix: RelativeModelPath;\n instances: PathToken[];\n}\n\nexport function buildIterationSequenceWithInstances<TModelPath extends ModelPath>(\n modelPath: TModelPath\n): Array<IterationEntryWithInstances<TModelPath>> {\n const result: Array<IterationEntryWithInstances<TModelPath>> = [];\n const tokens = modelPath.getPathPartsAsArray();\n const createPathFunc = modelPath.isAbsolute() ? createAbsoluteFromTokens : createRelativeFromTokens;\n let currentInstances: PathToken[] = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token === PathTokens.each || PathTokens.isInstanceToken(token)) {\n currentInstances = currentInstances.concat(token);\n result.push({\n iterable: createPathFunc(\n tokens.slice(0, i).map(x => (PathTokens.isInstanceToken(x) ? PathTokens.each : x))\n ) as TModelPath,\n suffix: createRelativeFromTokens(tokens.slice(i + 1)),\n instances: currentInstances,\n });\n }\n }\n return result;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAcO,SAASC,sBAAsBA,CAClCC,SAAqB,EACY;EACjC,MAAMC,MAAyC,GAAG,EAAE;EACpD,MAAMC,MAAM,GAAGF,SAAS,CAACG,mBAAmB,CAAC,CAAC;EAC9C,MAAMC,cAAc,GAAGJ,SAAS,CAACK,UAAU,CAAC,CAAC,GAAGC,mCAAwB,GAAGC,mCAAwB;EACnG,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,MAAM,CAACO,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,IAAIN,MAAM,CAACM,CAAC,CAAC,KAAKE,qBAAU,CAACC,IAAI,EAAE;MAC/BV,MAAM,CAACW,IAAI,CAAC;QACRC,QAAQ,EAAET,cAAc,CAACF,MAAM,CAACY,KAAK,CAAC,CAAC,EAAEN,CAAC,CAAC,CAAe;QAC1DO,MAAM,EAAE,IAAAR,mCAAwB,EAACL,MAAM,CAACY,KAAK,CAACN,CAAC,GAAG,CAAC,CAAC;MACxD,CAAC,CAAC;IACN;EACJ;EACA,OAAOP,MAAM;AACjB;AAQO,SAASe,mCAAmCA,CAC/ChB,SAAqB,EACyB;EAC9C,MAAMC,MAAsD,GAAG,EAAE;EACjE,MAAMC,MAAM,GAAGF,SAAS,CAACG,mBAAmB,CAAC,CAAC;EAC9C,MAAMC,cAAc,GAAGJ,SAAS,CAACK,UAAU,CAAC,CAAC,GAAGC,mCAAwB,GAAGC,mCAAwB;EACnG,IAAIU,gBAA6B,GAAG,EAAE;EACtC,KAAK,IAAIT,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,MAAM,CAACO,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,MAAMU,KAAK,GAAGhB,MAAM,CAACM,CAAC,CAAC;IACvB,IAAIU,KAAK,KAAKR,qBAAU,CAACC,IAAI,IAAID,qBAAU,CAACS,eAAe,CAACD,KAAK,CAAC,EAAE;MAChED,gBAAgB,GAAGA,gBAAgB,CAACG,MAAM,CAACF,KAAK,CAAC;MACjDjB,MAAM,CAACW,IAAI,CAAC;QACRC,QAAQ,EAAET,cAAc,CACpBF,MAAM,CAACY,KAAK,CAAC,CAAC,EAAEN,CAAC,CAAC,CAACa,GAAG,CAACC,CAAC,IAAKZ,qBAAU,CAACS,eAAe,CAACG,CAAC,CAAC,GAAGZ,qBAAU,CAACC,IAAI,GAAGW,CAAE,CACrF,CAAe;QACfP,MAAM,EAAE,IAAAR,mCAAwB,EAACL,MAAM,CAACY,KAAK,CAACN,CAAC,GAAG,CAAC,CAAC,CAAC;QACrDe,SAAS,EAAEN;MACf,CAAC,CAAC;IACN;EACJ;EACA,OAAOhB,MAAM;AACjB","ignoreList":[]}
@@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.EachCurrentCollision = void 0;
7
- let EachCurrentCollision = /*#__PURE__*/function (EachCurrentCollision) {
7
+ let EachCurrentCollision = exports.EachCurrentCollision = /*#__PURE__*/function (EachCurrentCollision) {
8
8
  EachCurrentCollision[EachCurrentCollision["AreSame"] = 0] = "AreSame";
9
9
  EachCurrentCollision[EachCurrentCollision["AreDifferent"] = 1] = "AreDifferent";
10
10
  return EachCurrentCollision;
11
11
  }({});
12
- exports.EachCurrentCollision = EachCurrentCollision;
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFYWNoQ3VycmVudENvbGxpc2lvbiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0VhY2hDdXJyZW50Q29sbGlzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVhY2hDdXJyZW50Q29sbGlzaW9uIHtcbiAgICBBcmVTYW1lLFxuICAgIEFyZURpZmZlcmVudCxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQVlBLG9CQUFvQiwwQkFBcEJBLG9CQUFvQjtFQUFwQkEsb0JBQW9CLENBQXBCQSxvQkFBb0I7RUFBcEJBLG9CQUFvQixDQUFwQkEsb0JBQW9CO0VBQUEsT0FBcEJBLG9CQUFvQjtBQUFBO0FBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsR0FBQUEsb0JBQUEifQ==
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFYWNoQ3VycmVudENvbGxpc2lvbiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0VhY2hDdXJyZW50Q29sbGlzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVhY2hDdXJyZW50Q29sbGlzaW9uIHtcbiAgICBBcmVTYW1lLFxuICAgIEFyZURpZmZlcmVudCxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQVlBLG9CQUFvQixHQUFBQyxPQUFBLENBQUFELG9CQUFBLDBCQUFwQkEsb0JBQW9CO0VBQXBCQSxvQkFBb0IsQ0FBcEJBLG9CQUFvQjtFQUFwQkEsb0JBQW9CLENBQXBCQSxvQkFBb0I7RUFBQSxPQUFwQkEsb0JBQW9CO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EachCurrentCollision.js","names":["EachCurrentCollision","exports"],"sources":["../../../../Common/ModelPath/EachCurrentCollision.ts"],"sourcesContent":["export enum EachCurrentCollision {\n AreSame,\n AreDifferent,\n}\n"],"mappings":";;;;;;IAAYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9JRXF1YXRhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUVxdWF0YWJsZTxUPiB7XG4gICAgaXNFcXVhbHMocmlnaHQ6IFQpOiBib29sZWFuO1xuICAgIGdldEhhc2goKTogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9JRXF1YXRhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUVxdWF0YWJsZTxUPiB7XG4gICAgaXNFcXVhbHMocmlnaHQ6IFQpOiBib29sZWFuO1xuICAgIGdldEhhc2goKTogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEquatable.js","names":[],"sources":["../../../../Common/ModelPath/IEquatable.ts"],"sourcesContent":["export interface IEquatable<T> {\n isEquals(right: T): boolean;\n getHash(): number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -20,4 +20,4 @@ class AbsoluteModelPathMap extends _Map.Map2 {
20
20
  }
21
21
  }
22
22
  exports.AbsoluteModelPathMap = AbsoluteModelPathMap;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIkFic29sdXRlTW9kZWxQYXRoTWFwIiwiTWFwMiIsImNvbnN0cnVjdG9yIiwiZWFjaEN1cnJlbnRDb2xsaXNpb24iLCJFYWNoQ3VycmVudENvbGxpc2lvbiIsIkFyZVNhbWUiLCJhcmVLZXlFcXVhbCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiZ2V0S2V5SGFzaCIsImtleSIsImdldEhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvQWJzb2x1dGVNb2RlbFBhdGhNYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbFBhdGhNYXA8Vj4gZXh0ZW5kcyBNYXAyPEFic29sdXRlTW9kZWxQYXRoLCBWPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uID0gZWFjaEN1cnJlbnRDb2xsaXNpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFyZUtleUVxdWFsKGxlZnQ6IEFic29sdXRlTW9kZWxQYXRoLCByaWdodDogQWJzb2x1dGVNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGxlZnQuaXNFcXVhbHMocmlnaHQsIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogQWJzb2x1dGVNb2RlbFBhdGgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4ga2V5LmdldEhhc2godGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxxQkFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBRU8sTUFBTUUsb0JBQW9CLFNBQVlDLFNBQUksQ0FBdUI7RUFHN0RDLFdBQVdBLENBQUNDLG9CQUEwQyxHQUFHQywwQ0FBb0IsQ0FBQ0MsT0FBTyxFQUFFO0lBQzFGLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FIS0Ysb0JBQW9CO0lBSWpDLElBQUksQ0FBQ0Esb0JBQW9CLEdBQUdBLG9CQUFvQjtFQUNwRDtFQUVVRyxXQUFXQSxDQUFDQyxJQUF1QixFQUFFQyxLQUF3QixFQUFXO0lBQzlFLE9BQU9ELElBQUksQ0FBQ0UsUUFBUSxDQUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDTCxvQkFBb0IsQ0FBQztFQUMxRDtFQUVVTyxVQUFVQSxDQUFDQyxHQUFzQixFQUFVO0lBQ2pELE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLG9CQUFBLEdBQUFBLG9CQUFBIn0=
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIkFic29sdXRlTW9kZWxQYXRoTWFwIiwiTWFwMiIsImNvbnN0cnVjdG9yIiwiZWFjaEN1cnJlbnRDb2xsaXNpb24iLCJFYWNoQ3VycmVudENvbGxpc2lvbiIsIkFyZVNhbWUiLCJhcmVLZXlFcXVhbCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiZ2V0S2V5SGFzaCIsImtleSIsImdldEhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvQWJzb2x1dGVNb2RlbFBhdGhNYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbFBhdGhNYXA8Vj4gZXh0ZW5kcyBNYXAyPEFic29sdXRlTW9kZWxQYXRoLCBWPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uID0gZWFjaEN1cnJlbnRDb2xsaXNpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFyZUtleUVxdWFsKGxlZnQ6IEFic29sdXRlTW9kZWxQYXRoLCByaWdodDogQWJzb2x1dGVNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGxlZnQuaXNFcXVhbHMocmlnaHQsIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogQWJzb2x1dGVNb2RlbFBhdGgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4ga2V5LmdldEhhc2godGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxxQkFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBRU8sTUFBTUUsb0JBQW9CLFNBQVlDLFNBQUksQ0FBdUI7RUFHN0RDLFdBQVdBLENBQUNDLG9CQUEwQyxHQUFHQywwQ0FBb0IsQ0FBQ0MsT0FBTyxFQUFFO0lBQzFGLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FIS0Ysb0JBQW9CO0lBSWpDLElBQUksQ0FBQ0Esb0JBQW9CLEdBQUdBLG9CQUFvQjtFQUNwRDtFQUVVRyxXQUFXQSxDQUFDQyxJQUF1QixFQUFFQyxLQUF3QixFQUFXO0lBQzlFLE9BQU9ELElBQUksQ0FBQ0UsUUFBUSxDQUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDTCxvQkFBb0IsQ0FBQztFQUMxRDtFQUVVTyxVQUFVQSxDQUFDQyxHQUFzQixFQUFVO0lBQ2pELE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLG9CQUFBLEdBQUFBLG9CQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbsoluteModelPathMap.js","names":["_EachCurrentCollision","require","_Map","AbsoluteModelPathMap","Map2","constructor","eachCurrentCollision","EachCurrentCollision","AreSame","areKeyEqual","left","right","isEquals","getKeyHash","key","getHash","exports"],"sources":["../../../../../Common/ModelPath/Map/AbsoluteModelPathMap.ts"],"sourcesContent":["import { AbsoluteModelPath } from \"../ModelPath\";\nimport { EachCurrentCollision } from \"../EachCurrentCollision\";\n\nimport { Map2 } from \"./Map2\";\n\nexport class AbsoluteModelPathMap<V> extends Map2<AbsoluteModelPath, V> {\n private readonly eachCurrentCollision: EachCurrentCollision;\n\n public constructor(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame) {\n super();\n this.eachCurrentCollision = eachCurrentCollision;\n }\n\n protected areKeyEqual(left: AbsoluteModelPath, right: AbsoluteModelPath): boolean {\n return left.isEquals(right, this.eachCurrentCollision);\n }\n\n protected getKeyHash(key: AbsoluteModelPath): number {\n return key.getHash(this.eachCurrentCollision);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,qBAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAEO,MAAME,oBAAoB,SAAYC,SAAI,CAAuB;EAG7DC,WAAWA,CAACC,oBAA0C,GAAGC,0CAAoB,CAACC,OAAO,EAAE;IAC1F,KAAK,CAAC,CAAC;IAAC,KAHKF,oBAAoB;IAIjC,IAAI,CAACA,oBAAoB,GAAGA,oBAAoB;EACpD;EAEUG,WAAWA,CAACC,IAAuB,EAAEC,KAAwB,EAAW;IAC9E,OAAOD,IAAI,CAACE,QAAQ,CAACD,KAAK,EAAE,IAAI,CAACL,oBAAoB,CAAC;EAC1D;EAEUO,UAAUA,CAACC,GAAsB,EAAU;IACjD,OAAOA,GAAG,CAACC,OAAO,CAAC,IAAI,CAACT,oBAAoB,CAAC;EACjD;AACJ;AAACU,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -96,4 +96,4 @@ class Map2 {
96
96
  }
97
97
  }
98
98
  exports.Map2 = Map2;
99
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0l0ZXJhYmxlVXRpbHMiLCJNYXAyIiwiY29uc3RydWN0b3IiLCJpdGVyYWJsZSIsImhhc2hNYXAiLCJNYXAiLCJ1bmRlZmluZWQiLCJrZXkiLCJ2YWx1ZSIsInNldCIsInNldE9yVXBkYXRlIiwiZ2V0T3JTZXQiLCJkZWZhdWx0VmFsdWVGYWN0b3J5IiwiayIsInYiLCJnZXQiLCJfdGhpcyRnZXRFbnRyeU9yVW5kZWYiLCJnZXRFbnRyeU9yVW5kZWZpbmVkIiwiaGFzIiwicmVtb3ZlIiwiaGFzaCIsImdldEtleUhhc2giLCJsaXN0IiwicmVtb3ZpbmdFbnRyeSIsIkl0ZXJhdG9yIiwiZnJvbSIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwiZmluZCIsImluZGV4IiwiaXRlbUtleSIsIml0ZW1WYWx1ZSIsImFyZUtleUVxdWFsIiwic3BsaWNlIiwiaXNFbXB0eSIsInNpemUiLCJuZXdWYWx1ZUZhY3RvcnkiLCJ1cGRhdGVWYWx1ZUZhY3RvcnkiLCJyZXN1bHQiLCJpdGVtSW5kZXgiLCJmaW5kSW5kZXgiLCJ4IiwicHVzaCIsIl9saXN0JGl0ZW1JbmRleCIsImVudHJ5IiwicmVqZWN0Iiwia2V5cyIsImVudHJpZXMiLCJtYXAiLCJlIiwidmFsdWVzIiwiZmxhdE1hcCIsImNsZWFyIiwiZ2V0SGFzaCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiX3RoaXMkaGFzaE1hcCRnZXQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvTWFwMi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi4vSUVxdWF0YWJsZVwiO1xuaW1wb3J0IHsgSXRlclV0aWxzIH0gZnJvbSBcIi4uLy4uL0l0ZXJhYmxlVXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIE1hcDI8SyBleHRlbmRzIElFcXVhdGFibGU8Sz4sIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhc2hNYXAgPSBuZXcgTWFwPG51bWJlciwgQXJyYXk8W0ssIFZdPj4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpdGVyYWJsZT86IEl0ZXJhYmxlPHJlYWRvbmx5IFtLLCBWXT4pIHtcbiAgICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaXRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9yVXBkYXRlKFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKCkgPT4gdmFsdWUsXG4gICAgICAgICAgICAoKSA9PiB2YWx1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPclNldChrZXk6IEssIGRlZmF1bHRWYWx1ZUZhY3Rvcnk6ICgpID0+IFYpOiBWIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0T3JVcGRhdGUoa2V5LCBkZWZhdWx0VmFsdWVGYWN0b3J5LCAoaywgdikgPT4gdik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IEspOiBWIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpPy5bMV07XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IEspOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogSyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNoID0gdGhpcy5nZXRLZXlIYXNoKGtleSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgICAgICBpZiAobGlzdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbW92aW5nRW50cnkgPSBJdGVyYXRvci5mcm9tKEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhsaXN0KSkuZmluZCgoW2luZGV4LCBbaXRlbUtleSwgaXRlbVZhbHVlXV0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5hcmVLZXlFcXVhbChpdGVtS2V5LCBrZXkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHJlbW92aW5nRW50cnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5zcGxpY2UocmVtb3ZpbmdFbnRyeVswXSwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5zaXplID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGB0LvQvtCy0LDRgNC1INC/0L4g0LrQu9GO0YfRjiwg0LXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0YPRgdGC0L3QsNCy0LjRgiDQvdC+0LLQvtC1XG4gICAgICogQHBhcmFtIGtleSDQutC70Y7RhyDRgdC70L7QstCw0YDRjyDQtNC70Y8g0YDQvtCx0L3QvtCy0LvQtdC90LjRj1xuICAgICAqIEBwYXJhbSBuZXdWYWx1ZUZhY3Rvcnkg0JXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKiBAcGFyYW0gdXBkYXRlVmFsdWVGYWN0b3J5INCV0YHQu9C4INC30L3QsNGH0LXQvdC40LUg0LXRgdGC0YwgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0T3JVcGRhdGUoa2V5OiBLLCBuZXdWYWx1ZUZhY3Rvcnk6IChrZXk6IEspID0+IFYsIHVwZGF0ZVZhbHVlRmFjdG9yeTogKGtleTogSywgdXBkYXRlOiBWKSA9PiBWKTogViB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgICAgIGlmIChsaXN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3VmFsdWVGYWN0b3J5KGtleSk7XG4gICAgICAgICAgICB0aGlzLmhhc2hNYXAuc2V0KGhhc2gsIFtba2V5LCByZXN1bHRdXSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gbGlzdC5maW5kSW5kZXgoeCA9PiB0aGlzLmFyZUtleUVxdWFsKHhbMF0sIGtleSkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ld1ZhbHVlRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIGxpc3QucHVzaChba2V5LCByZXN1bHRdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGxpc3RbaXRlbUluZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICBlbnRyeVsxXSA9IHVwZGF0ZVZhbHVlRmFjdG9yeShrZXksIGVudHJ5WzFdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnlbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZTxLPiB7XG4gICAgICAgIHJldHVybiBJdGVyYXRvci5mcm9tKHRoaXMuZW50cmllcygpKS5tYXAoZSA9PiBlWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVzKCk6IEl0ZXJhYmxlPFY+IHtcbiAgICAgICAgcmV0dXJuIEl0ZXJhdG9yLmZyb20odGhpcy5lbnRyaWVzKCkpLm1hcChlID0+IGVbMV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlPFtrZXk6IEssIHZhbHVlOiBWXT4ge1xuICAgICAgICByZXR1cm4gSXRlcmF0b3IuZnJvbSh0aGlzLmhhc2hNYXAudmFsdWVzKCkpLmZsYXRNYXAoeCA9PiB4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzaE1hcC5jbGVhcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogSyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVLZXlFcXVhbChsZWZ0OiBLLCByaWdodDogSyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbGVmdC5pc0VxdWFscyhyaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbnRyeU9yVW5kZWZpbmVkKGtleTogSyk6IFtLLCBWXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk/LmZpbmQoeCA9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
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0l0ZXJhYmxlVXRpbHMiLCJNYXAyIiwiY29uc3RydWN0b3IiLCJpdGVyYWJsZSIsImhhc2hNYXAiLCJNYXAiLCJ1bmRlZmluZWQiLCJrZXkiLCJ2YWx1ZSIsInNldCIsInNldE9yVXBkYXRlIiwiZ2V0T3JTZXQiLCJkZWZhdWx0VmFsdWVGYWN0b3J5IiwiayIsInYiLCJnZXQiLCJfdGhpcyRnZXRFbnRyeU9yVW5kZWYiLCJnZXRFbnRyeU9yVW5kZWZpbmVkIiwiaGFzIiwicmVtb3ZlIiwiaGFzaCIsImdldEtleUhhc2giLCJsaXN0IiwicmVtb3ZpbmdFbnRyeSIsIkl0ZXJhdG9yIiwiZnJvbSIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwiZmluZCIsImluZGV4IiwiaXRlbUtleSIsIml0ZW1WYWx1ZSIsImFyZUtleUVxdWFsIiwic3BsaWNlIiwiaXNFbXB0eSIsInNpemUiLCJuZXdWYWx1ZUZhY3RvcnkiLCJ1cGRhdGVWYWx1ZUZhY3RvcnkiLCJyZXN1bHQiLCJpdGVtSW5kZXgiLCJmaW5kSW5kZXgiLCJ4IiwicHVzaCIsIl9saXN0JGl0ZW1JbmRleCIsImVudHJ5IiwicmVqZWN0Iiwia2V5cyIsImVudHJpZXMiLCJtYXAiLCJlIiwidmFsdWVzIiwiZmxhdE1hcCIsImNsZWFyIiwiZ2V0SGFzaCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiX3RoaXMkaGFzaE1hcCRnZXQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvTWFwMi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi4vSUVxdWF0YWJsZVwiO1xuaW1wb3J0IHsgSXRlclV0aWxzIH0gZnJvbSBcIi4uLy4uL0l0ZXJhYmxlVXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIE1hcDI8SyBleHRlbmRzIElFcXVhdGFibGU8Sz4sIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhc2hNYXAgPSBuZXcgTWFwPG51bWJlciwgQXJyYXk8W0ssIFZdPj4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpdGVyYWJsZT86IEl0ZXJhYmxlPHJlYWRvbmx5IFtLLCBWXT4pIHtcbiAgICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaXRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9yVXBkYXRlKFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKCkgPT4gdmFsdWUsXG4gICAgICAgICAgICAoKSA9PiB2YWx1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPclNldChrZXk6IEssIGRlZmF1bHRWYWx1ZUZhY3Rvcnk6ICgpID0+IFYpOiBWIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0T3JVcGRhdGUoa2V5LCBkZWZhdWx0VmFsdWVGYWN0b3J5LCAoaywgdikgPT4gdik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IEspOiBWIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpPy5bMV07XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IEspOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogSyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNoID0gdGhpcy5nZXRLZXlIYXNoKGtleSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgICAgICBpZiAobGlzdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbW92aW5nRW50cnkgPSBJdGVyYXRvci5mcm9tKEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhsaXN0KSkuZmluZCgoW2luZGV4LCBbaXRlbUtleSwgaXRlbVZhbHVlXV0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5hcmVLZXlFcXVhbChpdGVtS2V5LCBrZXkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHJlbW92aW5nRW50cnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5zcGxpY2UocmVtb3ZpbmdFbnRyeVswXSwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5zaXplID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGB0LvQvtCy0LDRgNC1INC/0L4g0LrQu9GO0YfRjiwg0LXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0YPRgdGC0L3QsNCy0LjRgiDQvdC+0LLQvtC1XG4gICAgICogQHBhcmFtIGtleSDQutC70Y7RhyDRgdC70L7QstCw0YDRjyDQtNC70Y8g0YDQvtCx0L3QvtCy0LvQtdC90LjRj1xuICAgICAqIEBwYXJhbSBuZXdWYWx1ZUZhY3Rvcnkg0JXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKiBAcGFyYW0gdXBkYXRlVmFsdWVGYWN0b3J5INCV0YHQu9C4INC30L3QsNGH0LXQvdC40LUg0LXRgdGC0YwgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0T3JVcGRhdGUoa2V5OiBLLCBuZXdWYWx1ZUZhY3Rvcnk6IChrZXk6IEspID0+IFYsIHVwZGF0ZVZhbHVlRmFjdG9yeTogKGtleTogSywgdXBkYXRlOiBWKSA9PiBWKTogViB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgICAgIGlmIChsaXN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3VmFsdWVGYWN0b3J5KGtleSk7XG4gICAgICAgICAgICB0aGlzLmhhc2hNYXAuc2V0KGhhc2gsIFtba2V5LCByZXN1bHRdXSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gbGlzdC5maW5kSW5kZXgoeCA9PiB0aGlzLmFyZUtleUVxdWFsKHhbMF0sIGtleSkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ld1ZhbHVlRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIGxpc3QucHVzaChba2V5LCByZXN1bHRdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGxpc3RbaXRlbUluZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICBlbnRyeVsxXSA9IHVwZGF0ZVZhbHVlRmFjdG9yeShrZXksIGVudHJ5WzFdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnlbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZTxLPiB7XG4gICAgICAgIHJldHVybiBJdGVyYXRvci5mcm9tKHRoaXMuZW50cmllcygpKS5tYXAoZSA9PiBlWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVzKCk6IEl0ZXJhYmxlPFY+IHtcbiAgICAgICAgcmV0dXJuIEl0ZXJhdG9yLmZyb20odGhpcy5lbnRyaWVzKCkpLm1hcChlID0+IGVbMV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlPFtrZXk6IEssIHZhbHVlOiBWXT4ge1xuICAgICAgICByZXR1cm4gSXRlcmF0b3IuZnJvbSh0aGlzLmhhc2hNYXAudmFsdWVzKCkpLmZsYXRNYXAoeCA9PiB4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzaE1hcC5jbGVhcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogSyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVLZXlFcXVhbChsZWZ0OiBLLCByaWdodDogSyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbGVmdC5pc0VxdWFscyhyaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbnRyeU9yVW5kZWZpbmVkKGtleTogSyk6IFtLLCBWXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk/LmZpbmQoeCA9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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Map2.js","names":["_TypingUtils","require","_IterableUtils","Map2","constructor","iterable","hashMap","Map","undefined","key","value","set","setOrUpdate","getOrSet","defaultValueFactory","k","v","get","_this$getEntryOrUndef","getEntryOrUndefined","has","remove","hash","getKeyHash","list","removingEntry","Iterator","from","IterUtils","iterateEntries","find","index","itemKey","itemValue","areKeyEqual","splice","isEmpty","size","newValueFactory","updateValueFactory","result","itemIndex","findIndex","x","push","_list$itemIndex","entry","reject","keys","entries","map","e","values","flatMap","clear","getHash","left","right","isEquals","_this$hashMap$get","exports"],"sources":["../../../../../Common/ModelPath/Map/Map2.ts"],"sourcesContent":["import { reject } from \"../../TypingUtils\";\nimport { IEquatable } from \"../IEquatable\";\nimport { IterUtils } from \"../../IterableUtils\";\n\nexport class Map2<K extends IEquatable<K>, V> {\n private readonly hashMap = new Map<number, Array<[K, V]>>();\n\n public constructor(iterable?: Iterable<readonly [K, V]>) {\n if (iterable != undefined) {\n for (const [key, value] of iterable) {\n this.set(key, value);\n }\n }\n }\n\n public set(key: K, value: V): void {\n this.setOrUpdate(\n key,\n () => value,\n () => value\n );\n }\n\n public getOrSet(key: K, defaultValueFactory: () => V): V {\n return this.setOrUpdate(key, defaultValueFactory, (k, v) => v);\n }\n\n public get(key: K): V | undefined {\n return this.getEntryOrUndefined(key)?.[1];\n }\n\n public has(key: K): boolean {\n return this.getEntryOrUndefined(key) != undefined;\n }\n\n public remove(key: K): boolean {\n const hash = this.getKeyHash(key);\n const list = this.hashMap.get(hash);\n if (list != undefined) {\n const removingEntry = Iterator.from(IterUtils.iterateEntries(list)).find(([index, [itemKey, itemValue]]) =>\n this.areKeyEqual(itemKey, key)\n );\n if (removingEntry != undefined) {\n list.splice(removingEntry[0], 1);\n return true;\n }\n }\n return false;\n }\n\n public get isEmpty(): boolean {\n return this.hashMap.size === 0;\n }\n\n /**\n * Обновляет значение в словаре по ключю, если значения нет -- устнавит новое\n * @param key ключ словаря для робновления\n * @param newValueFactory Если значения нет -- будет установлен результат этой функции\n * @param updateValueFactory Если значение есть -- будет установлен результат этой функции\n */\n public setOrUpdate(key: K, newValueFactory: (key: K) => V, updateValueFactory: (key: K, update: V) => V): V {\n const hash = this.getKeyHash(key);\n const list = this.hashMap.get(hash);\n if (list == undefined) {\n const result = newValueFactory(key);\n this.hashMap.set(hash, [[key, result]]);\n return result;\n } else {\n const itemIndex = list.findIndex(x => this.areKeyEqual(x[0], key));\n if (itemIndex == -1) {\n const result = newValueFactory(key);\n list.push([key, result]);\n return result;\n } else {\n const entry = list[itemIndex] ?? reject();\n entry[1] = updateValueFactory(key, entry[1]);\n return entry[1];\n }\n }\n }\n\n public keys(): Iterable<K> {\n return Iterator.from(this.entries()).map(e => e[0]);\n }\n\n public values(): Iterable<V> {\n return Iterator.from(this.entries()).map(e => e[1]);\n }\n\n public entries(): Iterable<[key: K, value: V]> {\n return Iterator.from(this.hashMap.values()).flatMap(x => x);\n }\n\n public clear(): void {\n this.hashMap.clear();\n }\n\n protected getKeyHash(key: K): number {\n return key.getHash();\n }\n\n protected areKeyEqual(left: K, right: K): boolean {\n return left.isEquals(right);\n }\n\n private getEntryOrUndefined(key: K): [K, V] | undefined {\n const hash = this.getKeyHash(key);\n return this.hashMap.get(hash)?.find(x => this.areKeyEqual(x[0], key));\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,4 +20,4 @@ class ModelPathMap extends _Map.Map2 {
20
20
  }
21
21
  }
22
22
  exports.ModelPathMap = ModelPathMap;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIk1vZGVsUGF0aE1hcCIsIk1hcDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwiYXJlS2V5RXF1YWwiLCJsZWZ0IiwicmlnaHQiLCJpc0VxdWFscyIsImdldEtleUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvTWFwL01vZGVsUGF0aE1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoTWFwPFY+IGV4dGVuZHMgTWFwMjxNb2RlbFBhdGgsIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24gPSBlYWNoQ3VycmVudENvbGxpc2lvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXJlS2V5RXF1YWwobGVmdDogTW9kZWxQYXRoLCByaWdodDogTW9kZWxQYXRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBsZWZ0LmlzRXF1YWxzKHJpZ2h0LCB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0S2V5SGFzaChrZXk6IE1vZGVsUGF0aCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCh0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLHFCQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxZQUFZLFNBQVlDLFNBQUksQ0FBZTtFQUc3Q0MsV0FBV0EsQ0FBQ0Msb0JBQTBDLEdBQUdDLDBDQUFvQixDQUFDQyxPQUFPLEVBQUU7SUFDMUYsS0FBSyxDQUFDLENBQUM7SUFBQyxLQUhLRixvQkFBb0I7SUFJakMsSUFBSSxDQUFDQSxvQkFBb0IsR0FBR0Esb0JBQW9CO0VBQ3BEO0VBRVVHLFdBQVdBLENBQUNDLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUM5RCxPQUFPRCxJQUFJLENBQUNFLFFBQVEsQ0FBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQ0wsb0JBQW9CLENBQUM7RUFDMUQ7RUFFVU8sVUFBVUEsQ0FBQ0MsR0FBYyxFQUFVO0lBQ3pDLE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLFlBQUEsR0FBQUEsWUFBQSJ9
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIk1vZGVsUGF0aE1hcCIsIk1hcDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwiYXJlS2V5RXF1YWwiLCJsZWZ0IiwicmlnaHQiLCJpc0VxdWFscyIsImdldEtleUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvTWFwL01vZGVsUGF0aE1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoTWFwPFY+IGV4dGVuZHMgTWFwMjxNb2RlbFBhdGgsIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24gPSBlYWNoQ3VycmVudENvbGxpc2lvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXJlS2V5RXF1YWwobGVmdDogTW9kZWxQYXRoLCByaWdodDogTW9kZWxQYXRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBsZWZ0LmlzRXF1YWxzKHJpZ2h0LCB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0S2V5SGFzaChrZXk6IE1vZGVsUGF0aCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCh0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLHFCQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxZQUFZLFNBQVlDLFNBQUksQ0FBZTtFQUc3Q0MsV0FBV0EsQ0FBQ0Msb0JBQTBDLEdBQUdDLDBDQUFvQixDQUFDQyxPQUFPLEVBQUU7SUFDMUYsS0FBSyxDQUFDLENBQUM7SUFBQyxLQUhLRixvQkFBb0I7SUFJakMsSUFBSSxDQUFDQSxvQkFBb0IsR0FBR0Esb0JBQW9CO0VBQ3BEO0VBRVVHLFdBQVdBLENBQUNDLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUM5RCxPQUFPRCxJQUFJLENBQUNFLFFBQVEsQ0FBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQ0wsb0JBQW9CLENBQUM7RUFDMUQ7RUFFVU8sVUFBVUEsQ0FBQ0MsR0FBYyxFQUFVO0lBQ3pDLE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLFlBQUEsR0FBQUEsWUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelPathMap.js","names":["_EachCurrentCollision","require","_Map","ModelPathMap","Map2","constructor","eachCurrentCollision","EachCurrentCollision","AreSame","areKeyEqual","left","right","isEquals","getKeyHash","key","getHash","exports"],"sources":["../../../../../Common/ModelPath/Map/ModelPathMap.ts"],"sourcesContent":["import { ModelPath } from \"../ModelPath\";\nimport { EachCurrentCollision } from \"../EachCurrentCollision\";\n\nimport { Map2 } from \"./Map2\";\n\nexport class ModelPathMap<V> extends Map2<ModelPath, V> {\n private readonly eachCurrentCollision: EachCurrentCollision;\n\n public constructor(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame) {\n super();\n this.eachCurrentCollision = eachCurrentCollision;\n }\n\n protected areKeyEqual(left: ModelPath, right: ModelPath): boolean {\n return left.isEquals(right, this.eachCurrentCollision);\n }\n\n protected getKeyHash(key: ModelPath): number {\n return key.getHash(this.eachCurrentCollision);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,qBAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAEO,MAAME,YAAY,SAAYC,SAAI,CAAe;EAG7CC,WAAWA,CAACC,oBAA0C,GAAGC,0CAAoB,CAACC,OAAO,EAAE;IAC1F,KAAK,CAAC,CAAC;IAAC,KAHKF,oBAAoB;IAIjC,IAAI,CAACA,oBAAoB,GAAGA,oBAAoB;EACpD;EAEUG,WAAWA,CAACC,IAAe,EAAEC,KAAgB,EAAW;IAC9D,OAAOD,IAAI,CAACE,QAAQ,CAACD,KAAK,EAAE,IAAI,CAACL,oBAAoB,CAAC;EAC1D;EAEUO,UAAUA,CAACC,GAAc,EAAU;IACzC,OAAOA,GAAG,CAACC,OAAO,CAAC,IAAI,CAACT,oBAAoB,CAAC;EACjD;AACJ;AAACU,OAAA,CAAAb,YAAA,GAAAA,YAAA","ignoreList":[]}