@kontur.candy/tools 2.122.0 → 2.126.0

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 (242) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/distr/Common/AsyncUtils.js +30 -1
  3. package/distr/Common/CandyApiClient/CandyApiClient.js +42 -1
  4. package/distr/Common/CandyApiClient/CandyApiClientContext.js +33 -1
  5. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +4 -0
  6. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +4 -0
  7. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +29 -1
  8. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +4 -0
  9. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +35 -1
  10. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +35 -1
  11. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +37 -1
  12. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +29 -1
  13. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +34 -1
  14. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +28 -1
  15. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +4 -0
  16. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +33 -1
  17. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +29 -1
  18. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +6 -1
  19. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +4 -0
  20. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestResponse.js +4 -0
  21. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +41 -1
  22. package/distr/Common/CandyApiClient/ICandyApiClient.js +5 -1
  23. package/distr/Common/CandyApiClient/IsBuffer.js +29 -1
  24. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +4 -0
  25. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +4 -0
  26. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +4 -0
  27. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +4 -0
  28. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +4 -0
  29. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +6 -1
  30. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +4 -0
  31. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +4 -0
  32. package/distr/Common/CandyApiClient/Types/DraftFullId.js +4 -0
  33. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +4 -0
  34. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +6 -1
  35. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +4 -0
  36. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +4 -0
  37. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +6 -1
  38. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +4 -0
  39. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +4 -0
  40. package/distr/Common/CandyApiClient/Types/Guid.js +4 -0
  41. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +6 -1
  42. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +4 -0
  43. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +4 -0
  44. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +6 -1
  45. package/distr/Common/CommonConstants/SectionNames.js +28 -1
  46. package/distr/Common/Comparers.js +30 -8
  47. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +29 -1
  48. package/distr/Common/EndPoints.js +34 -1
  49. package/distr/Common/Errors.js +69 -1
  50. package/distr/Common/FormActionHandlers/ContextualActionNames.js +30 -1
  51. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +4 -0
  52. package/distr/Common/Funcs.js +38 -1
  53. package/distr/Common/GFV.js +4 -0
  54. package/distr/Common/HttpClient/AuthenticationMode.js +32 -1
  55. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +28 -1
  56. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +4 -0
  57. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +29 -1
  58. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +31 -1
  59. package/distr/Common/HttpClient/HttpClient.js +62 -4
  60. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +4 -0
  61. package/distr/Common/HttpClient/IHttpClient.js +4 -0
  62. package/distr/Common/IntRangeUtils.js +31 -1
  63. package/distr/Common/IterableUtils.js +38 -1
  64. package/distr/Common/KCLangRuntimeUtils.js +36 -1
  65. package/distr/Common/ModelPath/AbsoluteModelPathSet.js +34 -1
  66. package/distr/Common/ModelPath/BuildIterationSequence.js +29 -1
  67. package/distr/Common/ModelPath/EachCurrentCollision.js +6 -1
  68. package/distr/Common/ModelPath/IEquatable.js +4 -0
  69. package/distr/Common/ModelPath/ModelPath.js +58 -1
  70. package/distr/Common/ModelPath/ModelPathBuilder.js +34 -1
  71. package/distr/Common/ModelPath/ModelPathMap.js +41 -1
  72. package/distr/Common/ModelPath/ModelPathSet.js +34 -1
  73. package/distr/Common/ModelPath/PathMatcher.js +28 -1
  74. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +34 -1
  75. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +4 -0
  76. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +29 -1
  77. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +34 -1
  78. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +38 -1
  79. package/distr/Common/NidusClient/INidusClient.js +30 -1
  80. package/distr/Common/NidusClient/NidusClientContext.js +38 -1
  81. package/distr/Common/NidusClient/NidusClientImpl.js +34 -1
  82. package/distr/Common/PathConstants.js +29 -1
  83. package/distr/Common/TypingUtils.js +55 -1
  84. package/distr/Common/UUID.js +30 -1
  85. package/distr/Common/UseAsyncEffect.js +31 -1
  86. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +34 -1
  87. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +29 -1
  88. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +30 -1
  89. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +34 -1
  90. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +34 -1
  91. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +29 -1
  92. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +32 -1
  93. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +28 -1
  94. package/distr/Tools/src/BuildTasks/FSTask.js +28 -1
  95. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +30 -1
  96. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +37 -1
  97. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +34 -1
  98. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +29 -1
  99. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +29 -1
  100. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +31 -1
  101. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +34 -1
  102. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +35 -1
  103. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +37 -2
  104. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +34 -2
  105. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +5 -1
  106. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +5 -1
  107. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +33 -3
  108. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +29 -2
  109. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +28 -1
  110. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +34 -1
  111. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +45 -1
  112. package/distr/Tools/src/BuildTasks/ReadFormSource.js +37 -1
  113. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +31 -1
  114. package/distr/Tools/src/BuildTasks/Version.js +32 -1
  115. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +29 -1
  116. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +30 -1
  117. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +28 -1
  118. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +31 -1
  119. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +48 -6
  120. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +29 -1
  121. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +34 -1
  122. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +42 -1
  123. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +34 -1
  124. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +36 -2
  125. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +35 -1
  126. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +34 -1
  127. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +45 -4
  128. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +34 -1
  129. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +34 -1
  130. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +41 -3
  131. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +41 -3
  132. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +39 -21
  133. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +29 -1
  134. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +43 -3
  135. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +78 -19
  136. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +29 -1
  137. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +4 -0
  138. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +4 -0
  139. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +50 -7
  140. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +34 -1
  141. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +29 -1
  142. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +4 -0
  143. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +34 -15
  144. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +29 -1
  145. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +25 -13
  146. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +30 -1
  147. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +4 -0
  148. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +28 -1
  149. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +29 -8
  150. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +28 -1
  151. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +29 -1
  152. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +43 -4
  153. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}.calc.js +30 -1
  154. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/setKppValue.js +29 -1
  155. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +34 -1
  156. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +34 -1
  157. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/kppValue.js +29 -1
  158. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +28 -1
  159. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +30 -1
  160. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +28 -1
  161. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +30 -1
  162. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +33 -2
  163. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +29 -1
  164. package/distr/Tools/src/CandyCLI.js +32 -2
  165. package/distr/Tools/src/CheckNodeJsVersion.js +31 -1
  166. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +33 -2
  167. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +34 -1
  168. package/distr/Tools/src/Commons/ErrorUntyped.js +4 -0
  169. package/distr/Tools/src/Commons/EventObject.js +44 -2
  170. package/distr/Tools/src/Commons/ExecUtils.js +29 -1
  171. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +29 -1
  172. package/distr/Tools/src/Commons/FormGlobsUtils.js +34 -1
  173. package/distr/Tools/src/Commons/FsUtils.js +32 -1
  174. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +32 -1
  175. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +33 -2
  176. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +34 -1
  177. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +34 -1
  178. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +4 -0
  179. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +34 -1
  180. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +34 -1
  181. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +34 -2
  182. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +34 -1
  183. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +37 -2
  184. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +34 -1
  185. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +34 -1
  186. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +34 -1
  187. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +34 -1
  188. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +4 -0
  189. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +34 -1
  190. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +34 -1
  191. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +71 -5
  192. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +28 -1
  193. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +83 -12
  194. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +35 -2
  195. package/distr/Tools/src/Commons/Locks/Lock.js +34 -1
  196. package/distr/Tools/src/Commons/Locks/LockHandle.js +34 -1
  197. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +34 -1
  198. package/distr/Tools/src/Commons/Logging/ELKLogger.js +31 -1
  199. package/distr/Tools/src/Commons/Logging/ILogger.js +36 -1
  200. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +41 -1
  201. package/distr/Tools/src/Commons/Logging/Logger.js +35 -2
  202. package/distr/Tools/src/Commons/Logging/StaticLogger.js +38 -1
  203. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +30 -1
  204. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +48 -1
  205. package/distr/Tools/src/Commons/PathPattern.js +34 -1
  206. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +34 -1
  207. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +4 -0
  208. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +89 -1
  209. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +34 -1
  210. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +34 -1
  211. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +34 -1
  212. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +34 -1
  213. package/distr/Tools/src/Commons/TasksCore/Observe.js +28 -1
  214. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +34 -1
  215. package/distr/Tools/src/Commons/TimingUtils.js +29 -1
  216. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +42 -1
  217. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +32 -2
  218. package/distr/Tools/src/GenerateReadMe.js +31 -1
  219. package/distr/Tools/src/Keys/localhost-key.pem +35 -0
  220. package/distr/Tools/src/Keys/localhost.pem +80 -0
  221. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +2 -46786
  222. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +38 -0
  223. package/distr/Tools/src/LocalServerFrontEndDist/favicon-16x16.png +0 -0
  224. package/distr/Tools/src/LocalServerFrontEndDist/favicon-32x32.png +0 -0
  225. package/distr/Tools/src/LocalServerFrontEndDist/favicon.ico +0 -0
  226. package/distr/Tools/src/LocalServerFrontEndDist/index.html +1 -10
  227. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -92060
  228. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +49 -0
  229. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  230. package/distr/Tools/src/Options/CandyToolOptions.js +28 -1
  231. package/distr/Tools/src/ReadFarmConfig.js +29 -1
  232. package/distr/Tools/src/SelfUpdate.js +44 -10
  233. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +5 -1
  234. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +5 -1
  235. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +5 -1
  236. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +5 -1
  237. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +5 -1
  238. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +5 -1
  239. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +5 -1
  240. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +5 -1
  241. package/package.json +6 -8
  242. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ <a name="2.126.0"></a>
2
+ # [2.126.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.125.0...release/tools/v2.126.0) (2021-11-29)
3
+
4
+ <a name="2.125.0"></a>
5
+ # [2.125.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.124.0...release/tools/v2.125.0) (2021-11-28)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **Tools:** Удалён вывод бесполезного предупреждения про отладочный режим ([fda4dff](https://git.skbkontur.ru/ke/candy-utils/commit/fda4dff))
11
+
12
+ <a name="2.124.0"></a>
13
+ # [2.124.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.123.0...release/tools/v2.124.0) (2021-11-28)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **Tools:** Обновление библиотек ([74245a6](https://git.skbkontur.ru/ke/candy-utils/commit/74245a6))
19
+
20
+
21
+ ### Features
22
+
23
+ * Теперь обязательный элемент или нет решается по schema rng ([c59fbb7](https://git.skbkontur.ru/ke/candy-utils/commit/c59fbb7)), see [#6120](https://yt.skbkontur.ru/issue/FS-6120)
24
+ * **Tools:** Forms helper использует Lab Grotesque K ([c023afd](https://git.skbkontur.ru/ke/candy-utils/commit/c023afd))
25
+
26
+ <a name="2.123.0"></a>
27
+ # [2.123.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.116.0...release/tools/v2.123.0) (2021-11-22)
28
+
1
29
  <a name="2.122.0"></a>
2
30
  # [2.122.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.116.0...release/tools/v2.122.0) (2021-11-21)
3
31
 
@@ -6,6 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.delay = delay;
7
7
  exports.nextTick = nextTick;
8
8
 
9
+ (function () {
10
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
11
+ enterModule && enterModule(module);
12
+ })();
13
+
14
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
15
+ return a;
16
+ };
17
+
9
18
  function delay(timeout) {
10
19
  return new Promise(resolve => {
11
20
  setTimeout(resolve, timeout);
@@ -17,4 +26,24 @@ function nextTick() {
17
26
  setTimeout(resolve, 0);
18
27
  });
19
28
  }
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzLnRzIl0sIm5hbWVzIjpbImRlbGF5IiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsIm5leHRUaWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFPLFNBQVNBLEtBQVQsQ0FBZUMsT0FBZixFQUErQztBQUNsRCxTQUFPLElBQUlDLE9BQUosQ0FBWUMsT0FBTyxJQUFJO0FBQzFCQyxJQUFBQSxVQUFVLENBQUNELE9BQUQsRUFBVUYsT0FBVixDQUFWO0FBQ0gsR0FGTSxDQUFQO0FBR0g7O0FBRU0sU0FBU0ksUUFBVCxHQUFtQztBQUN0QyxTQUFPLElBQUlILE9BQUosQ0FBWUMsT0FBTyxJQUFJO0FBQzFCQyxJQUFBQSxVQUFVLENBQUNELE9BQUQsRUFBVSxDQUFWLENBQVY7QUFDSCxHQUZNLENBQVA7QUFHSCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWxheSh0aW1lb3V0OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZW91dCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0VGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgMCk7XG4gICAgfSk7XG59XG4iXX0=
29
+
30
+ ;
31
+
32
+ (function () {
33
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
34
+
35
+ if (!reactHotLoader) {
36
+ return;
37
+ }
38
+
39
+ reactHotLoader.register(delay, "delay", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\AsyncUtils.ts");
40
+ reactHotLoader.register(nextTick, "nextTick", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\AsyncUtils.ts");
41
+ })();
42
+
43
+ ;
44
+
45
+ (function () {
46
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
47
+ leaveModule && leaveModule(module);
48
+ })();
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzLnRzIl0sIm5hbWVzIjpbImRlbGF5IiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsIm5leHRUaWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFPLFNBQVNBLEtBQVQsQ0FBZUMsT0FBZixFQUErQztBQUNsRCxTQUFPLElBQUlDLE9BQUosQ0FBWUMsT0FBTyxJQUFJO0FBQzFCQyxJQUFBQSxVQUFVLENBQUNELE9BQUQsRUFBVUYsT0FBVixDQUFWO0FBQ0gsR0FGTSxDQUFQO0FBR0g7O0FBRU0sU0FBU0ksUUFBVCxHQUFtQztBQUN0QyxTQUFPLElBQUlILE9BQUosQ0FBWUMsT0FBTyxJQUFJO0FBQzFCQyxJQUFBQSxVQUFVLENBQUNELE9BQUQsRUFBVSxDQUFWLENBQVY7QUFDSCxHQUZNLENBQVA7QUFHSDs7Ozs7Ozs7Ozs7MEJBVmVILEs7MEJBTUFLLFEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZGVsYXkodGltZW91dDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWVvdXQpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV4dFRpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KHJlc29sdmUsIDApO1xuICAgIH0pO1xufVxuIl19
@@ -19,6 +19,15 @@ var _IsBuffer = require("./IsBuffer");
19
19
 
20
20
  var _DigestApiClient = require("./DigestApiClient/DigestApiClient");
21
21
 
22
+ (function () {
23
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
24
+ enterModule && enterModule(module);
25
+ })();
26
+
27
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28
+ return a;
29
+ };
30
+
22
31
  const strangeOptions = {
23
32
  src: "changeSet",
24
33
  dataVersion: "0"
@@ -120,6 +129,12 @@ class CandyApiClient {
120
129
  return await this.httpClient.get("v1/features/flags").json();
121
130
  }
122
131
 
132
+ // @ts-ignore
133
+ __reactstandin__regenerateByEval(key, code) {
134
+ // @ts-ignore
135
+ this[key] = eval(code);
136
+ }
137
+
123
138
  }
124
139
 
125
140
  exports.CandyApiClient = CandyApiClient;
@@ -363,7 +378,33 @@ class CandyApiDraftClient {
363
378
  return this.getDraftUrl(`presentations/${presentationType.toString()}`);
364
379
  }
365
380
 
381
+ // @ts-ignore
382
+ __reactstandin__regenerateByEval(key, code) {
383
+ // @ts-ignore
384
+ this[key] = eval(code);
385
+ }
386
+
366
387
  }
367
388
 
368
389
  exports.CandyApiDraftClient = CandyApiDraftClient;
369
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DYW5keUFwaUNsaWVudC50cyJdLCJuYW1lcyI6WyJzdHJhbmdlT3B0aW9ucyIsInNyYyIsImRhdGFWZXJzaW9uIiwiQ2FuZHlBcGlDbGllbnQiLCJjb25zdHJ1Y3RvciIsImZldGNoSW1wbCIsImJhc2VVcmwiLCJyZXNvdXJjZVpvbmUiLCJhdXRoZW50aWNhdGlvbiIsImh0dHBDbGllbnQiLCJIdHRwQ2xpZW50IiwiZm9yRHJhZnQiLCJkcmFmdEZ1bGxJZCIsIkNhbmR5QXBpRHJhZnRDbGllbnQiLCJjcmVhdGVEaWdlc3RBcGlDbGllbnQiLCJEaWdlc3RBcGlDbGllbnQiLCJnZXRJbmZvQnlJbm5zIiwiaW5ucyIsInBhdGhzIiwibWFwIiwiaW5uIiwicmVzcG9uc2UiLCJwb3N0IiwiZ2V0RHJhZnRVcmwiLCJ3aXRoSnNvbkJvZHkiLCJqc29uIiwicmVzdWx0IiwiaW5uU2VydmVyVmFsdWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImVycm9yIiwiZXJyb3JDb2RlIiwiRm9jdXNTZXJ2ZXJFcnJvckNvZGUiLCJOb0lubkVycm9yIiwiZ2V0QWxsR2Z2cyIsImFib3J0U2lnbmFsIiwiYm9keSIsImdldCIsIk9iamVjdCIsImtleXMiLCJmb3JtcyIsImNyZWF0ZURyYWZ0RnJvbURyaXZlIiwibnMiLCJmdWZEcml2ZVVyaSIsIndpdGhRdWVyeVBhcmFtcyIsIndpdGhBYm9ydFNpZ25hbCIsImNyZWF0ZUVtcHR5RHJhZnQiLCJnZnYiLCJjcmVhdGVEcmFmdCIsImZ1ZkNvbnRlbnQiLCJ3aXRoQ29udGVudFR5cGUiLCJ3aXRoQm9keUZyb21CdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwiRXJyb3IiLCJjaGVja0FsaXZlIiwiZHJhZnRSZWxhdGVkVXJsIiwiZHJhZnRJZCIsImdldEZlYXR1cmVGbGFncyIsImdldEhyZWZUb0lubmVyRWRpdG9yIiwidXJsIiwiZ2V0SHJlZkRvd25sb2FkRnVmIiwiZ2V0SHJlZlRvQ29udmVydGF0aW9uTG9nIiwiZ2V0SHJlZlRvRG93bmxvYWRJbm5lckZ1ZiIsImdldEhyZWZEb3dubG9hZERyYWZ0UHJlc2VudGF0aW9uIiwiRHJhZnRQcmVzZW50YXRpb25UeXBlIiwiaW5uZXJGdWYiLCJnZXRIcmVmVG9Eb3dubG9hZENsaWVudEluZm8iLCJjbGllbnRJbmZvIiwiZ2V0SHJlZlRvRG93bmxvYWRGb3Jtc0NsaWVudEluZm8iLCJmb3Jtc0NsaWVudEluZm8iLCJnZXRIcmVmRG93bmxvYWRJbm5lciIsImlubmVyIiwiZ2V0RXJyb3JMb2ciLCJnZXREcmFmdFByZXNlbnRhdGlvblVybCIsImVycm9yTG9nIiwiZ2V0VGFza0J5SWQiLCJ0YXNrSWQiLCJ0YXNrcyIsImdldEFsbFRhc2tzIiwidmFsdWVzIiwieCIsImVucXVldWVUYXNrIiwidGFza0luZm8iLCJhZGRlZCIsImNoYW5nZWQiLCJpZCIsInJlbW92ZWQiLCJjYW5jZWxUYXNrIiwiZ2V0RXhwZXJ0RXJyb3JMb2ciLCJlcnJvcmxvZ0V4cGVydCIsImdldEhyZWZUb0Vycm9yTG9nUGRmIiwiZXJyb3JMb2dOYW1lIiwicHJvcHNOYW1lIiwicHJvcHNEcml2ZU5hbWUiLCJjbGVhckRyYWZ0IiwiY29udmVydERyYWZ0RnJvbVByZXZHZnYiLCJwcmV2R2Z2RHJhZnRJZCIsInNlbmRDaGFuZ2VTZXQiLCJkYXRhIiwic2VuZENoYW5nZVNldFN5bmMiLCJwb3N0U3luYyIsImdldFJlcXVpc2l0ZXMiLCJyZXF1aXNpdGVMaXN0IiwiZ2V0SW5uZXIiLCJnZXRQYXJ0aWFsSW5uZXIiLCJydWxlcyIsIm1heEluc3RhbmNlQ291bnQiLCJ0b1N0cmluZyIsImdldEV4cGxhbmF0b3J5Tm90ZSIsImV4cGxhbmF0b3J5Tm90ZSIsImdldEF0dGFjaG1lbnRCeUlkIiwiYXR0YWNobWVudElkIiwiZ2V0QWxsQXR0YWNobWVudHMiLCJyZW1vdmVBdHRhY2htZW50cyIsImF0dGFjaG1lbnRJZHMiLCJjcmVhdGVPclVwZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJhdHRhY2htZW50IiwiY29udGVudFVyaSIsIm1ldGEiLCJzZXRQcmVzZW50YXRpb24iLCJwcmVzZW50YXRpb25UeXBlIiwiY29udGVudCIsInJlcXVlc3QiLCJwdXQiLCJ3aXRoUmF3Qm9keSIsInBhdGNoUHJlc2VudGF0aW9uIiwicHJlc2VudGF0aW9uQ29udGVudCIsInBhdGNoIiwiZ2V0RmlsZVByb3BlcnRpZXMiLCJkcml2ZVVyaSIsImFjY2VwdENvZGUiLCJzdGF0dXMiLCJwcmVwYXJlQW5kR2V0RmlsZVByb3BlcnRpZXMiLCJzZXRGdWZCeURyaXZlVXJpIiwiY29tYmluZUZ1ZkJ5RHJpdmVVcmkiLCJjb21iaW5lTWV0aG9kIiwibm9ybWFsaXplQnlSdWxlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQVdBOztBQUVBOztBQVFBOztBQUdBOztBQUdBLE1BQU1BLGNBQWMsR0FBRztBQUFFQyxFQUFBQSxHQUFHLEVBQUUsV0FBUDtBQUFvQkMsRUFBQUEsV0FBVyxFQUFFO0FBQWpDLENBQXZCOztBQUVPLE1BQU1DLGNBQU4sQ0FBZ0Q7QUFHNUNDLEVBQUFBLFdBQVcsQ0FDZEMsU0FEYyxFQUVkQyxPQUZjLEVBR2RDLFlBSGMsRUFJZEMsY0FKYyxFQUtoQjtBQUFBLFNBUGVDLFVBT2Y7QUFDRSxTQUFLQSxVQUFMLEdBQWtCLElBQUlDLHNCQUFKLENBQWVMLFNBQWYsRUFBMEJDLE9BQTFCLEVBQW1DLHNEQUE2QkUsY0FBN0IsQ0FBbkMsRUFBaUY7QUFDL0ZELE1BQUFBLFlBQVksRUFBRUE7QUFEaUYsS0FBakYsQ0FBbEI7QUFHSDs7QUFFTUksRUFBQUEsUUFBUSxDQUFDQyxXQUFELEVBQWlEO0FBQzVELFdBQU8sSUFBSUMsbUJBQUosQ0FBd0IsS0FBS0osVUFBN0IsRUFBeUNHLFdBQXpDLENBQVA7QUFDSDs7QUFFTUUsRUFBQUEscUJBQXFCLENBQUNGLFdBQUQsRUFBNkM7QUFDckUsV0FBTyxJQUFJRyxnQ0FBSixDQUFvQixLQUFLTixVQUF6QixFQUFxQ0cs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Q2lDLGVBQUQsRUFBa0M7QUFDakQsV0FBUSxTQUFRLEtBQUs1QyxXQUFMLENBQWlCOEIsRUFBRyxXQUFVLEtBQUs5QixXQUFMLENBQWlCNkMsT0FBUSxJQUFHRCxlQUFnQixFQUExRjtBQUNIOztBQUVPa0IsRUFBQUEsdUJBQXVCLENBQUNnRCxnQkFBRCxFQUFrRDtBQUM3RSxXQUFPLEtBQUtuRyxXQUFMLENBQWtCLGlCQUFnQm1HLGdCQUFnQixDQUFDZCxRQUFqQixFQUE0QixFQUE5RCxDQUFQO0FBQ0g7O0FBN1E0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgRmV0Y2ggfSBmcm9tIFwiLi4vSHR0cENsaWVudC9GZXRjaEltcGxlbWVudGF0aW9uL0ZldGNoXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIi4uL0h0dHBDbGllbnQvSHR0cENsaWVudFwiO1xuaW1wb3J0IHsgSHR0cFN0YXR1c0NvZGUsIElIdHRwQ2xpZW50IH0gZnJvbSBcIi4uL0h0dHBDbGllbnQvSUh0dHBDbGllbnRcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uTW9kZSwgY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlciB9IGZyb20gXCIuLi9IdHRwQ2xpZW50L0F1dGhlbnRpY2F0aW9uTW9kZVwiO1xuXG5pbXBvcnQgeyBJQ2FuZHlBcGlDbGllbnQsIElDYW5keUFwaURyYWZ0Q2xpZW50IH0gZnJvbSBcIi4vSUNhbmR5QXBpQ2xpZW50XCI7XG5pbXBvcnQgeyBTZXJ2ZXJFcnJvckxvZyB9IGZyb20gXCIuL1R5cGVzL0Vycm9yTG9nL1NlcnZlckVycm9yTG9nXCI7XG5pbXBvcnQgeyBTZXJ2ZXJJbm5lclJlc3BvbnNlIH0gZnJvbSBcIi4vVHlwZXMvR2V0SW5uZXIvU2VydmVySW5uZXJSZXNwb25zZVwiO1xuaW1wb3J0IHsgRmlsZVByb3BlcnRpZXMgfSBmcm9tIFwiLi9UeXBlcy9EcmFmdEFjdGlvbnMvRmlsZVByb3BlcnRpZXNcIjtcbmltcG9ydCB7IENyZWF0ZURyYWZ0UmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9DcmVhdGVEcmFmdC9DcmVhdGVEcmFmdFJlc3BvbnNlXCI7XG5pbXBvcnQgeyBDcmVhdGVFeHBsYW5hdG9yeU5vdGVSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0V4cGxhbmF0b3J5Tm90ZS9DcmVhdGVFeHBsYW5hdG9yeU5vdGVSZXNwb25zZVwiO1xuaW1wb3J0IHsgRHJhZnRGdWxsSWQgfSBmcm9tIFwiLi9UeXBlcy9EcmFmdEZ1bGxJZFwiO1xuaW1wb3J0IHsgU2VydmVyQ2hhbmdlU2V0IH0gZnJvbSBcIi4vVHlwZXMvQ2hhbmdlU2V0L1NlcnZlckNoYW5nZVNldFwiO1xuaW1wb3J0IHsgU2VydmVyVGFzaywgVmVyaWZ5QW5kRml4Rm5zUmVxdWlyZW1lbnRzVGFza0luZm8gfSBmcm9tIFwiLi9UeXBlcy9UYXNrcy9UYXNrc1wiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2ZXJFcnJvckNvZGUsIEdldEJ5SW5uUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9Gb2N1cy9Gb2N1c1R5cGVzXCI7XG5pbXBvcnQgeyBBdHRhY2hJbmZvIH0gZnJvbSBcIi4vVHlwZXMvQXR0YWNobWVudHMvQXR0YWNtZW50c1wiO1xuaW1wb3J0IHsgRHJhZnRQcmVzZW50YXRpb25UeXBlIH0gZnJvbSBcIi4vVHlwZXMvUHJlc2VudGF0aW9ucy9EcmFmdFByZXNlbnRhdGlvblR5cGVcIjtcbmltcG9ydCB7IFByZXNlbnRhdGlvbkNvbnRlbnQgfSBmcm9tIFwiLi9UeXBlcy9QcmVzZW50YXRpb25zL1ByZXNlbnRhdGlvbkNvbnRlbnRcIjtcbmltcG9ydCB7IENvbnZlcnREcmFmdFJlcXVlc3QgfSBmcm9tIFwiLi9UeXBlcy9EcmFmdEFjdGlvbnMvQ29udmVydERyYWZ0UmVxdWVzdFwiO1xuaW1wb3J0IHsgR2V0QXR0YWNobWVudHNSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0F0dGFjaG1lbnRzL0dldEF0dGFjaG1lbnRzUmVzcG9uc2VcIjtcbmltcG9ydCB7IEZvY3VzU2VydmVyUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9Gb2N1cy9Gb2N1c1NlcnZlclJlc3BvbnNlXCI7XG5pbXBvcnQgeyBHZXRUYXNrc1NlcnZlclJlc3BvbnNlIH0gZnJvbSBcIi4vVHlwZXMvVGFza3MvR2V0VGFza3NTZXJ2ZXJSZXNwb25zZVwiO1xuaW1wb3J0IHsgRGlhZ1Jlc291cmNlc1Jlc3BvbnNlIH0gZnJvbSBcIi4vVHlwZXMvRGlhZ1Jlc291cmNlc1Jlc3BvbnNlXCI7XG5pbXBvcnQgeyBTZXJ2ZXJSZXF1aXNpdGVzUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9HZXRJbm5lci9TZXJ2ZXJSZXF1aXNpdGVzUmVzcG9uc2VcIjtcbmltcG9ydCB7IGlzQnVmZmVyIH0gZnJvbSBcIi4vSXNCdWZmZXJcIjtcbmltcG9ydCB7IENvbWJpbmVGdWZSZXN1bHQsIEZ1ZkNvbWJpbmVNZXRob2QgfSBmcm9tIFwiLi9UeXBlcy9EcmFmdEFjdGlvbnMvQ29tYmluZUZ1ZlJlc3VsdFwiO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdzUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9GZWF0dXJlRmxhZ3MvRmVhdHVyZUZsYWdzUmVzcG9uc2VcIjtcbmltcG9ydCB7IERpZ2VzdEFwaUNsaWVudCB9IGZyb20gXCIuL0RpZ2VzdEFwaUNsaWVudC9EaWdlc3RBcGlDbGllbnRcIjtcbmltcG9ydCB7IElEaWdlc3RBcGlDbGllbnQgfSBmcm9tIFwiLi9EaWdlc3RBcGlDbGllbnQvSURpZ2VzdEFwaUNsaWVudFwiO1xuXG5jb25zdCBzdHJhbmdlT3B0aW9ucyA9IHsgc3JjOiBcImNoYW5nZVNldFwiLCBkYXRhVmVyc2lvbjogXCIwXCIgfTtcblxuZXhwb3J0IGNsYXNzIENhbmR5QXBpQ2xpZW50IGltcGxlbWVudHMgSUNhbmR5QXBpQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IElIdHRwQ2xpZW50O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBmZXRjaEltcGw6IEZldGNoLFxuICAgICAgICBiYXNlVXJsOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlWm9uZTogdW5kZWZpbmVkIHwgc3RyaW5nLFxuICAgICAgICBhdXRoZW50aWNhdGlvbjogdW5kZWZpbmVkIHwgQXV0aGVudGljYXRpb25Nb2RlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudCA9IG5ldyBIdHRwQ2xpZW50KGZldGNoSW1wbCwgYmFzZVVybCwgY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlcihhdXRoZW50aWNhdGlvbiksIHtcbiAgICAgICAgICAgIHJlc291cmNlWm9uZTogcmVzb3VyY2Vab25lLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9yRHJhZnQoZHJhZnRGdWxsSWQ6IERyYWZ0RnVsbElkKTogSUNhbmR5QXBpRHJhZnRDbGllbnQge1xuICAgICAgICByZXR1cm4gbmV3IENhbmR5QXBpRHJhZnRDbGllbnQodGhpcy5odHRwQ2xpZW50LCBkcmFmdEZ1bGxJZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZURpZ2VzdEFwaUNsaWVudChkcmFmdEZ1bGxJZDogRHJhZnRGdWxsSWQpOiBJRGlnZXN0QXBpQ2xpZW50IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEaWdlc3RBcGlDbGllbnQodGhpcy5odHRwQ2xpZW50LCBkcmFmdEZ1bGxJZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEluZm9CeUlubnMoZHJhZnRGdWxsSWQ6IERyYWZ0RnVsbElkLCBpbm5zOiByZWFkb25seSBzdHJpbmdbXSk6IFByb21pc2U8R2V0QnlJbm5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBwYXRocyA9IGlubnMubWFwKGlubiA9PiBgQGZvY3VzLyR7aW5ufWApO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChkcmFmdEZ1bGxJZCwgXCJnZXQtaW5uZXJcIikpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHBhdGhzKVxuICAgICAgICAgICAgLmpzb248Rm9jdXNTZXJ2ZXJSZXNwb25zZT4oKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBHZXRCeUlublJlc3BvbnNlID0ge307XG4gICAgICAgIGZvciAoY29uc3QgaW5uIG9mIGlubnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGlublNlcnZlclZhbHVlID0gcmVzcG9uc2VbYEBmb2N1cy8ke2lubn1gXT8udmFsdWU7XG4gICAgICAgICAgICBpZiAoaW5uU2VydmVyVmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2lubl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBcIlNlcnZlciBkb2VzIG5vdCByZXR1cm4gaW5uIGluZm9cIixcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlOiBGb2N1c1NlcnZlckVycm9yQ29kZS5Ob0lubkVycm9yLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtpbm5dID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW5uU2VydmVyVmFsdWUudmFsdWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGU6IGlublNlcnZlclZhbHVlLmVycm9yQ29kZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBpbm5TZXJ2ZXJWYWx1ZS5lcnJvciA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxHZnZzKGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnQuZ2V0KGB2MS9kaWFnL3Jlc291cmNlc2ApLmpzb248RGlhZ1Jlc291cmNlc1Jlc3BvbnNlPigpO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYm9keS5mb3Jtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZURyYWZ0RnJvbURyaXZlKFxuICAgICAgICBuczogc3RyaW5nLFxuICAgICAgICBmdWZEcml2ZVVyaTogc3RyaW5nLFxuICAgICAgICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsXG4gICAgKTogUHJvbWlzZTxDcmVhdGVEcmFmdFJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KGB2MS9ucy8ke25zfS9jcmVhdGUtZHJhZnQtZnJvbS1kcml2ZWApXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHtcbiAgICAgICAgICAgICAgICBuczogbnMsXG4gICAgICAgICAgICAgICAgZnVmRHJpdmVVcmk6IGZ1ZkRyaXZlVXJpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoQWJvcnRTaWduYWwoYWJvcnRTaWduYWwpXG4gICAgICAgICAgICAuanNvbjxDcmVhdGVEcmFmdFJlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVFbXB0eURyYWZ0KG5zOiBzdHJpbmcsIGdmdjogc3RyaW5nLCBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxDcmVhdGVEcmFmdFJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KGB2MS9ucy8ke25zfS9jcmVhdGUtZHJhZnRgKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGdmdjogZ2Z2IH0pXG4gICAgICAgICAgICAud2l0aEFib3J0U2lnbmFsKGFib3J0U2lnbmFsKVxuICAgICAgICAgICAgLmpzb248Q3JlYXRlRHJhZnRSZXNwb25zZT4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlRHJhZnQobnM6IHN0cmluZywgZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZURyYWZ0UmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVEcmFmdChuczogc3RyaW5nLCBnZnY6IHVuZGVmaW5lZCwgZnVmQ29udGVudDogQnVmZmVyKTogUHJvbWlzZTxDcmVhdGVEcmFmdFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlRHJhZnQobnM6IHN0cmluZywgZ2Z2OiB1bmRlZmluZWQgfCBzdHJpbmcsIGZ1ZkNvbnRlbnQ/OiBCdWZmZXIpOiBQcm9taXNlPENyZWF0ZURyYWZ0UmVzcG9uc2U+IHtcbiAgICAgICAgaWYgKGdmdiA9PSB1bmRlZmluZWQgJiYgZnVmQ29udGVudCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgICAgICAucG9zdChgdjEvbnMvJHtuc30vY3JlYXRlLWRyYWZ0YClcbiAgICAgICAgICAgICAgICAud2l0aENvbnRlbnRUeXBlKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpXG4gICAgICAgICAgICAgICAgLndpdGhCb2R5RnJvbUJ1ZmZlcihmdWZDb250ZW50KVxuICAgICAgICAgICAgICAgIC5qc29uPENyZWF0ZURyYWZ0UmVzcG9uc2U+KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdmdiAhPSB1bmRlZmluZWQgJiYgZnVmQ29udGVudCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgICAgICAucG9zdChgdjEvbnMvJHtuc30vY3JlYXRlLWRyYWZ0YClcbiAgICAgICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHsgZ2Z2OiBnZnYgfSlcbiAgICAgICAgICAgICAgICAud2l0aENvbnRlbnRUeXBlKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpXG4gICAgICAgICAgICAgICAgLndpdGhCb2R5RnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShbXSkpXG4gICAgICAgICAgICAgICAgLmpzb248Q3JlYXRlRHJhZnRSZXNwb25zZT4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ2Z2ID09IHVuZGVmaW5lZCAmJiBmdWZDb250ZW50ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGNyZWF0ZSBkcmFmdDogbm8gZ2Z2IGFuZCBubyBmdWYgc3BlY2lmaWVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KGB2MS9ucy8ke25zfS9jcmVhdGUtZHJhZnRgKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGdmdjogZ2Z2IH0pXG4gICAgICAgICAgICAud2l0aENvbnRlbnRUeXBlKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpXG4gICAgICAgICAgICAud2l0aEJvZHlGcm9tQnVmZmVyKGZ1ZkNvbnRlbnQpXG4gICAgICAgICAgICAuanNvbjxDcmVhdGVEcmFmdFJlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjaGVja0FsaXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnQuZ2V0KGBfc3RhdHVzL3BpbmdgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERyYWZ0VXJsKGRyYWZ0RnVsbElkOiBEcmFmdEZ1bGxJZCwgZHJhZnRSZWxhdGVkVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHYxL25zLyR7ZHJhZnRGdWxsSWQubnN9L2RyYWZ0cy8ke2RyYWZ0RnVsbElkLmRyYWZ0SWR9LyR7ZHJhZnRSZWxhdGVkVXJsfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZlYXR1cmVGbGFncygpOiBQcm9taXNlPEZlYXR1cmVGbGFnc1Jlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnQuZ2V0KFwidjEvZmVhdHVyZXMvZmxhZ3NcIikuanNvbjxGZWF0dXJlRmxhZ3NSZXNwb25zZT4oKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYW5keUFwaURyYWZ0Q2xpZW50IGltcGxlbWVudHMgSUNhbmR5QXBpRHJhZnRDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSUh0dHBDbGllbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFmdEZ1bGxJZDogRHJhZnRGdWxsSWQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaHR0cENsaWVudDogSUh0dHBDbGllbnQsIGRyYWZ0RnVsbElkOiBEcmFmdEZ1bGxJZCkge1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQgPSBodHRwQ2xpZW50O1xuICAgICAgICB0aGlzLmRyYWZ0RnVsbElkID0gZHJhZnRGdWxsSWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZUb0lubmVyRWRpdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQudXJsKGBpbm5lci1lZGl0b3IvbnMvJHt0aGlzLmRyYWZ0RnVsbElkLm5zfS9kcmFmdHMvJHt0aGlzLmRyYWZ0RnVsbElkLmRyYWZ0SWR9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZEb3dubG9hZEZ1ZigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnVybCh0aGlzLmdldERyYWZ0VXJsKFwiZ2V0LWZ1ZlwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZUb0NvbnZlcnRhdGlvbkxvZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnVybCh0aGlzLmdldERyYWZ0VXJsKFwiY29udmVyc2lvblwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZUb0Rvd25sb2FkSW5uZXJGdWYoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SHJlZkRvd25sb2FkRHJhZnRQcmVzZW50YXRpb24oRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyRnVmKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZlRvRG93bmxvYWRDbGllbnRJbmZvKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhyZWZEb3dubG9hZERyYWZ0UHJlc2VudGF0aW9uKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5jbGllbnRJbmZvKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZlRvRG93bmxvYWRGb3Jtc0NsaWVudEluZm8oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SHJlZkRvd25sb2FkRHJhZnRQcmVzZW50YXRpb24oRHJhZnRQcmVzZW50YXRpb25UeXBlLmZvcm1zQ2xpZW50SW5mbyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZEb3dubG9hZElubmVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhyZWZEb3dubG9hZERyYWZ0UHJlc2VudGF0aW9uKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5pbm5lcik7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEVycm9yTG9nKCk6IFByb21pc2U8U2VydmVyRXJyb3JMb2c+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuZXJyb3JMb2cpKS5qc29uPFNlcnZlckVycm9yTG9nPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRUYXNrQnlJZCh0YXNrSWQ6IHN0cmluZyk6IFByb21pc2U8U2VydmVyVGFzayB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCB0YXNrcyA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoW2BAdGFzay8qYF0pXG4gICAgICAgICAgICAuanNvbjxHZXRUYXNrc1NlcnZlclJlc3BvbnNlPigpO1xuICAgICAgICByZXR1cm4gdGFza3NbYEB0YXNrLyR7dGFza0lkfWBdPy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsVGFza3MoKTogUHJvbWlzZTxTZXJ2ZXJUYXNrW10+IHtcbiAgICAgICAgY29uc3QgdGFza3MgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRVcmwoXCJnZXQtaW5uZXJcIikpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KFtgQHRhc2svKmBdKVxuICAgICAgICAgICAgLmpzb248R2V0VGFza3NTZXJ2ZXJSZXNwb25zZT4oKTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGFza3MpLm1hcCh4ID0+IHgudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBlbnF1ZXVlVGFzayh0YXNrSWQ6IHN0cmluZywgdGFza0luZm86IFZlcmlmeUFuZEZpeEZuc1JlcXVpcmVtZW50c1Rhc2tJbmZvKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuaW5uZXIpKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyhzdHJhbmdlT3B0aW9ucylcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoe1xuICAgICAgICAgICAgICAgIGFkZGVkOiBbXSxcbiAgICAgICAgICAgICAgICBjaGFuZ2VkOiB7XG4gICAgICAgICAgICAgICAgICAgIFtgQHRhc2svJHt0YXNrSWR9YF06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRhc2tJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRhc2tJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlbW92ZWQ6IFtdLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNhbmNlbFRhc2sodGFza0lkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5pbm5lcikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHN0cmFuZ2VPcHRpb25zKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keSh7XG4gICAgICAgICAgICAgICAgYWRkZWQ6IFtdLFxuICAgICAgICAgICAgICAgIGNoYW5nZWQ6IHt9LFxuICAgICAgICAgICAgICAgIHJlbW92ZWQ6IFtgQHRhc2svJHt0YXNrSWR9YF0sXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXhwZXJ0RXJyb3JMb2coKTogUHJvbWlzZTxTZXJ2ZXJFcnJvckxvZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAuZ2V0KHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwoRHJhZnRQcmVzZW50YXRpb25UeXBlLmVycm9ybG9nRXhwZXJ0KSlcbiAgICAgICAgICAgIC5qc29uPFNlcnZlckVycm9yTG9nPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIcmVmVG9FcnJvckxvZ1BkZihlcnJvckxvZ05hbWU6IHN0cmluZywgcHJvcHNOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnVybCh0aGlzLmdldERyYWZ0VXJsKFwicHJlc2VudGF0aW9ucy9lcnJvckxvZy9wcmludFwiKSwge1xuICAgICAgICAgICAgZXJyb3JMb2dOYW1lOiBlcnJvckxvZ05hbWUsXG4gICAgICAgICAgICBwcm9wc0RyaXZlTmFtZTogcHJvcHNOYW1lLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xlYXJEcmFmdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5nZXREcmFmdFVybChcImNsZWFyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY29udmVydERyYWZ0RnJvbVByZXZHZnYoeyBwcmV2R2Z2RHJhZnRJZCwgZ2Z2IH06IENvbnZlcnREcmFmdFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5nZXREcmFmdFVybChcImNvbnZlcnRcIikpLndpdGhRdWVyeVBhcmFtcyh7XG4gICAgICAgICAgICBpZDogcHJldkdmdkRyYWZ0SWQsXG4gICAgICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbmRDaGFuZ2VTZXQoZGF0YTogU2VydmVyQ2hhbmdlU2V0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuaW5uZXIpKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyhzdHJhbmdlT3B0aW9ucylcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRDaGFuZ2VTZXRTeW5jKGRhdGE6IFNlcnZlckNoYW5nZVNldCk6IEh0dHBTdGF0dXNDb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0U3luYyhcbiAgICAgICAgICAgIHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwoRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyKSxcbiAgICAgICAgICAgIHN0cmFuZ2VPcHRpb25zLFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRSZXF1aXNpdGVzKHJlcXVpc2l0ZUxpc3Q6IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTxTZXJ2ZXJSZXF1aXNpdGVzUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkocmVxdWlzaXRlTGlzdClcbiAgICAgICAgICAgIC5qc29uPFNlcnZlclJlcXVpc2l0ZXNSZXNwb25zZT4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0SW5uZXIocGF0aHM6IHVuZGVmaW5lZCB8IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTxTZXJ2ZXJJbm5lclJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRVcmwoXCJnZXQtaW5uZXJcIikpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHBhdGhzKVxuICAgICAgICAgICAgLmpzb248U2VydmVySW5uZXJSZXNwb25zZT4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFydGlhbElubmVyKHJ1bGVzOiBbXCIqXCJdIHwgc3RyaW5nW10sIG1heEluc3RhbmNlQ291bnQ/OiBudW1iZXIpOiBQcm9taXNlPFNlcnZlcklubmVyUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1wYXJ0aWFsLWlubmVyXCIpKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyhtYXhJbnN0YW5jZUNvdW50ICE9IHVuZGVmaW5lZCAmJiB7IG1heEluc3RhbmNlQ291bnQ6IG1heEluc3RhbmNlQ291bnQudG9TdHJpbmcoKSB9KVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShydWxlcylcbiAgICAgICAgICAgIC5qc29uPFNlcnZlcklubmVyUmVzcG9uc2U+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEV4cGxhbmF0b3J5Tm90ZSgpOiBQcm9taXNlPENyZWF0ZUV4cGxhbmF0b3J5Tm90ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuZXhwbGFuYXRvcnlOb3RlKSlcbiAgICAgICAgICAgIC5qc29uPENyZWF0ZUV4cGxhbmF0b3J5Tm90ZVJlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBdHRhY2htZW50QnlJZChhdHRhY2htZW50SWQ6IHN0cmluZyk6IFByb21pc2U8QXR0YWNoSW5mbz4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRVcmwoXCJnZXQtaW5uZXJcIikpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KFtgQGF0dGFjaG1lbnQvJHthdHRhY2htZW50SWR9YF0pXG4gICAgICAgICAgICAuanNvbjxHZXRBdHRhY2htZW50c1Jlc3BvbnNlPigpO1xuICAgICAgICByZXR1cm4gcmVzdWx0W2BAYXR0YWNobWVudC8ke2F0dGFjaG1lbnRJZH1gXT8udmFsdWUgPz8gcmVqZWN0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEF0dGFjaG1lbnRzKCk6IFByb21pc2U8QXR0YWNoSW5mb1tdPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoW2BAYXR0YWNobWVudC8qYF0pXG4gICAgICAgICAgICAuanNvbjxHZXRBdHRhY2htZW50c1Jlc3BvbnNlPigpO1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhyZXN1bHQpLm1hcCh4ID0+IHgudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZW1vdmVBdHRhY2htZW50cyhhdHRhY2htZW50SWRzOiByZWFkb25seSBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwoRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyKSlcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoc3RyYW5nZU9wdGlvbnMpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHtcbiAgICAgICAgICAgICAgICBhZGRlZDogW10sXG4gICAgICAgICAgICAgICAgY2hhbmdlZDoge30sXG4gICAgICAgICAgICAgICAgcmVtb3ZlZDogYXR0YWNobWVudElkcy5tYXAoaWQgPT4gYEBhdHRhY2htZW50LyR7aWR9YCksXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlT3JVcGRhdGVBdHRhY2htZW50cyhhdHRhY2htZW50czogcmVhZG9ubHkgQXR0YWNoSW5mb1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBhdHRhY2htZW50IG9mIGF0dGFjaG1lbnRzKSB7XG4gICAgICAgICAgICBjaGFuZ2VkW2BAYXR0YWNobWVudC8ke2F0dGFjaG1lbnQuaWR9YF0gPSB7XG4gICAgICAgICAgICAgICAgY29udGVudFVyaTogYXR0YWNobWVudC5jb250ZW50VXJpLFxuICAgICAgICAgICAgICAgIGlkOiBhdHRhY2htZW50LmlkLFxuICAgICAgICAgICAgICAgIG1ldGE6IGF0dGFjaG1lbnQubWV0YSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5pbm5lcikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHN0cmFuZ2VPcHRpb25zKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keSh7XG4gICAgICAgICAgICAgICAgYWRkZWQ6IFtdLFxuICAgICAgICAgICAgICAgIGNoYW5nZWQ6IGNoYW5nZWQsXG4gICAgICAgICAgICAgICAgcmVtb3ZlZDogW10sXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2V0UHJlc2VudGF0aW9uKHByZXNlbnRhdGlvblR5cGU6IERyYWZ0UHJlc2VudGF0aW9uVHlwZSwgY29udGVudDogc3RyaW5nIHwgdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cENsaWVudC5wdXQodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChwcmVzZW50YXRpb25UeXBlKSk7XG4gICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3Qud2l0aFJhd0JvZHkoY29udGVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNCdWZmZXIoY29udGVudCkpIHtcbiAgICAgICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LndpdGhSYXdCb2R5KGNvbnRlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3Qud2l0aEpzb25Cb2R5KGNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHBhdGNoUHJlc2VudGF0aW9uKFxuICAgICAgICBwcmVzZW50YXRpb25UeXBlOiBEcmFmdFByZXNlbnRhdGlvblR5cGUsXG4gICAgICAgIHByZXNlbnRhdGlvbkNvbnRlbnQ6IFByZXNlbnRhdGlvbkNvbnRlbnRcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50LnBhdGNoKHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwocHJlc2VudGF0aW9uVHlwZSkpLndpdGhKc29uQm9keShwcmVzZW50YXRpb25Db250ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVByb3BlcnRpZXMoZHJpdmVVcmk6IHN0cmluZyk6IFByb21pc2U8RmlsZVByb3BlcnRpZXMgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQoYHYxL2ZpbGVzL2dldC1wcm9wZXJ0aWVzYClcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoeyBkcml2ZVVyaTogZHJpdmVVcmkgfSlcbiAgICAgICAgICAgIC5hY2NlcHRDb2RlKDQwMCk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbjxGaWxlUHJvcGVydGllcz4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJlcGFyZUFuZEdldEZpbGVQcm9wZXJ0aWVzKGRyaXZlVXJpOiBzdHJpbmcsIGdmdjogc3RyaW5nKTogUHJvbWlzZTxGaWxlUHJvcGVydGllcyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldChgdjEvZmlsZXMvcHJlcGFyZS1hbmQtZ2V0LXByb3BlcnRpZXNgKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGdmdjogZ2Z2LCBkcml2ZVVyaTogZHJpdmVVcmkgfSlcbiAgICAgICAgICAgIC5hY2NlcHRDb2RlKDQwMCk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbjxGaWxlUHJvcGVydGllcz4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2V0RnVmQnlEcml2ZVVyaShkcml2ZVVyaTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudC5wdXQodGhpcy5nZXREcmFmdFVybChcInNldC1mdWZcIikpLndpdGhRdWVyeVBhcmFtcyh7IGRyaXZlVXJpOiBkcml2ZVVyaSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY29tYmluZUZ1ZkJ5RHJpdmVVcmkoXG4gICAgICAgIGRyaXZlVXJpOiBzdHJpbmcsXG4gICAgICAgIGNvbWJpbmVNZXRob2Q6IEZ1ZkNvbWJpbmVNZXRob2RcbiAgICApOiBQcm9taXNlPENvbWJpbmVGdWZSZXN1bHQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRVcmwoXCJ0cmFuc2Zlci9jb21iaW5lLXdpdGgtZnVmXCIpKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGZ1ZkRyaXZlVXJpOiBkcml2ZVVyaSwgY29tYmluZU1ldGhvZDogY29tYmluZU1ldGhvZCB9KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uPENvbWJpbmVGdWZSZXN1bHQ+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG5vcm1hbGl6ZUJ5UnVsZXMocnVsZXM6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwibm9ybWFsaXplXCIpKS53aXRoSnNvbkJvZHkocnVsZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SHJlZkRvd25sb2FkRHJhZnRQcmVzZW50YXRpb24ocHJlc2VudGF0aW9uVHlwZTogRHJhZnRQcmVzZW50YXRpb25UeXBlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC51cmwodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChwcmVzZW50YXRpb25UeXBlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREcmFmdFVybChkcmFmdFJlbGF0ZWRVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgdjEvbnMvJHt0aGlzLmRyYWZ0RnVsbElkLm5zfS9kcmFmdHMvJHt0aGlzLmRyYWZ0RnVsbElkLmRyYWZ0SWR9LyR7ZHJhZnRSZWxhdGVkVXJsfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREcmFmdFByZXNlbnRhdGlvblVybChwcmVzZW50YXRpb25UeXBlOiBEcmFmdFByZXNlbnRhdGlvblR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREcmFmdFVybChgcHJlc2VudGF0aW9ucy8ke3ByZXNlbnRhdGlvblR5cGUudG9TdHJpbmcoKX1gKTtcbiAgICB9XG59XG4iXX0=
390
+ ;
391
+
392
+ (function () {
393
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
394
+
395
+ if (!reactHotLoader) {
396
+ return;
397
+ }
398
+
399
+ reactHotLoader.register(strangeOptions, "strangeOptions", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClient.ts");
400
+ reactHotLoader.register(CandyApiClient, "CandyApiClient", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClient.ts");
401
+ reactHotLoader.register(CandyApiDraftClient, "CandyApiDraftClient", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClient.ts");
402
+ })();
403
+
404
+ ;
405
+
406
+ (function () {
407
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
408
+ leaveModule && leaveModule(module);
409
+ })();
410
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DYW5keUFwaUNsaWVudC50cyJdLCJuYW1lcyI6WyJzdHJhbmdlT3B0aW9ucyIsInNyYyIsImRhdGFWZXJzaW9uIiwiQ2FuZHlBcGlDbGllbnQiLCJjb25zdHJ1Y3RvciIsImZldGNoSW1wbCIsImJhc2VVcmwiLCJyZXNvdXJjZVpvbmUiLCJhdXRoZW50aWNhdGlvbiIsImh0dHBDbGllbnQiLCJIdHRwQ2xpZW50IiwiZm9yRHJhZnQiLCJkcmFmdEZ1bGxJZCIsIkNhbmR5QXBpRHJhZnRDbGllbnQiLCJjcmVhdGVEaWdlc3RBcGlDbGllbnQiLCJEaWdlc3RBcGlDbGllbnQiLCJnZXRJbmZvQnlJbm5zIiwiaW5ucyIsInBhdGhzIiwibWFwIiwiaW5uIiwicmVzcG9uc2UiLCJwb3N0IiwiZ2V0RHJhZnRVcmwiLCJ3aXRoSnNvbkJvZHkiLCJqc29uIiwicmVzdWx0IiwiaW5uU2VydmVyVmFsdWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImVycm9yIiwiZXJyb3JDb2RlIiwiRm9jdXNTZXJ2ZXJFcnJvckNvZGUiLCJOb0lubkVycm9yIiwiZ2V0QWxsR2Z2cyIsImFib3J0U2lnbmFsIiwiYm9keSIsImdldCIsIk9iamVjdCIsImtleXMiLCJmb3JtcyIsImNyZWF0ZURyYWZ0RnJvbURyaXZlIiwibnMiLCJmdWZEcml2ZVVyaSIsIndpdGhRdWVyeVBhcmFtcyIsIndpdGhBYm9ydFNpZ25hbCIsImNyZWF0ZUVtcHR5RHJhZnQiLCJnZnYiLCJjcmVhdGVEcmFmdCIsImZ1ZkNvbnRlbnQiLCJ3aXRoQ29udGVudFR5cGUiLCJ3aXRoQm9keUZyb21CdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwiRXJyb3IiLCJjaGVja0FsaXZlIiwiZHJhZnRSZWxhdGVkVXJsIiwiZHJhZnRJZCIsImdldEZlYXR1cmVGbGFncyIsImdldEhyZWZUb0lubmVyRWRpdG9yIiwidXJsIiwiZ2V0SHJlZkRvd25sb2FkRnVmIiwiZ2V0SHJlZlRvQ29udmVydGF0aW9uTG9nIiwiZ2V0SHJlZlRvRG93bmxvYWRJbm5lckZ1ZiIsImdldEhyZWZEb3dubG9hZERyYWZ0UHJlc2VudGF0aW9uIiwiRHJhZnRQcmVzZW50YXRpb25UeXBlIiwiaW5uZXJGdWYiLCJnZXRIcmVmVG9Eb3dubG9hZENsaWVudEluZm8iLCJjbGllbnRJbmZvIiwiZ2V0SHJlZlRvRG93bmxvYWRGb3Jtc0NsaWVudEluZm8iLCJmb3Jtc0NsaWVudEluZm8iLCJnZXRIcmVmRG93bmxvYWRJbm5lciIsImlubmVyIiwiZ2V0RXJyb3JMb2ciLCJnZXREcmFmdFByZXNlbnRhdGlvblVybCIsImVycm9yTG9nIiwiZ2V0VGFza0J5SWQiLCJ0YXNrSWQiLCJ0YXNrcyIsImdldEFsbFRhc2tzIiwidmFsdWVzIiwieCIsImVucXVldWVUYXNrIiwidGFza0luZm8iLCJhZGRlZCIsImNoYW5nZWQiLCJpZCIsInJlbW92ZWQiLCJjYW5jZWxUYXNrIiwiZ2V0RXhwZXJ0RXJyb3JMb2ciLCJlcnJvcmxvZ0V4cGVydCIsImdldEhyZWZUb0Vycm9yTG9nUGRmIiwiZXJyb3JMb2dOYW1lIiwicHJvcHNOYW1lIiwicHJvcHNEcml2ZU5hbWUiLCJjbGVhckRyYWZ0IiwiY29udmVydERyYWZ0RnJvbVByZXZHZnYiLCJwcmV2R2Z2RHJhZnRJZCIsInNlbmRDaGFuZ2VTZXQiLCJkYXRhIiwic2VuZENoYW5nZVNldFN5bmMiLCJwb3N0U3luYyIsImdldFJlcXVpc2l0ZXMiLCJyZXF1aXNpdGVMaXN0IiwiZ2V0SW5uZXIiLCJnZXRQYXJ0aWFsSW5uZXIiLCJydWxlcyIsIm1heEluc3RhbmNlQ291bnQiLCJ0b1N0cmluZyIsImdldEV4cGxhbmF0b3J5Tm90ZSIsImV4cGxhbmF0b3J5Tm90ZSIsImdldEF0dGFjaG1lbnRCeUlkIiwiYXR0YWNobWVudElkIiwiZ2V0QWxsQXR0YWNobWVudHMiLCJyZW1vdmVBdHRhY2htZW50cyIsImF0dGFjaG1lbnRJZHMiLCJjcmVhdGVPclVwZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJhdHRhY2htZW50IiwiY29udGVudFVyaSIsIm1ldGEiLCJzZXRQcmVzZW50YXRpb24iLCJwcmVzZW50YXRpb25UeXBlIiwiY29udGVudCIsInJlcXVlc3QiLCJwdXQiLCJ3aXRoUmF3Qm9keSIsInBhdGNoUHJlc2VudGF0aW9uIiwicHJlc2VudGF0aW9uQ29udGVudCIsInBhdGNoIiwiZ2V0RmlsZVByb3BlcnRpZXMiLCJkcml2ZVVyaSIsImFjY2VwdENvZGUiLCJzdGF0dXMiLCJwcmVwYXJlQW5kR2V0RmlsZVByb3BlcnRpZXMiLCJzZXRGdWZCeURyaXZlVXJpIiwiY29tYmluZUZ1ZkJ5RHJpdmVVcmkiLCJjb21iaW5lTWV0aG9kIiwibm9ybWFsaXplQnlSdWxlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQVdBOztBQUVBOztBQVFBOztBQUdBOzs7Ozs7Ozs7OztBQUdBLE1BQU1BLGNBQWMsR0FBRztBQUFFQyxFQUFBQSxHQUFHLEVBQUUsV0FBUDtBQUFvQkMsRUFBQUEsV0FBVyxFQUFFO0FBQWpDLENBQXZCOztBQUVPLE1BQU1DLGNBQU4sQ0FBZ0Q7QUFHNUNDLEVBQUFBLFdBQVcsQ0FDZEMsU0FEYyxFQUVkQyxPQUZjLEVBR2RDLFlBSGMsRUFJZEMsY0FKYyxFQUtoQjtBQUFBLFNBUGVDLFVBT2Y7QUFDRSxTQUFLQSxVQUFMLEdBQWtCLElBQUlDLHNCQUFKLENBQWVMLFNBQWYsRUFBMEJDLE9BQTFCLEVBQW1DLHNEQUE2QkUsY0FBN0IsQ0FBbkMsRUFBaUY7QUFDL0ZELE1BQUFBLFlBQVksRUFBRUE7QUFEaUYsS0FBakYsQ0FBbEI7QUFHSDs7QUFFTUksRUFBQUEsUUFBUSxDQUFDQyxXQUFELEVBQWlEO0FBQzVELFdBQU8sSUFBSUMsbUJBQUosQ0FBd0IsS0FBS0osVUFBN0IsRUFBeUNHLFdBQXpDLENBQVA7QUFDSDs7QUFFTUUsRUFBQUEscUJBQXFCLENBQUNGLFdBQUQsRUFBNkM7QUFDckUsV0FBTyxJQUFJRyxnQ0FBSixDQUFvQixLQUFLTixVQUF6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cEIsQ0FBUDtBQUNIOztBQUVPbkcsRUFBQUEsV0FBVyxDQUFDaUMsZUFBRCxFQUFrQztBQUNqRCxXQUFRLFNBQVEsS0FBSzVDLFdBQUwsQ0FBaUI4QixFQUFHLFdBQVUsS0FBSzlCLFdBQUwsQ0FBaUI2QyxPQUFRLElBQUdELGVBQWdCLEVBQTFGO0FBQ0g7O0FBRU9rQixFQUFBQSx1QkFBdUIsQ0FBQ2dELGdCQUFELEVBQWtEO0FBQzdFLFdBQU8sS0FBS25HLFdBQUwsQ0FBa0IsaUJBQWdCbUcsZ0JBQWdCLENBQUNkLFFBQWpCLEVBQTRCLEVBQTlELENBQVA7QUFDSDs7QUE3UTREO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7Ozs7Ozs7Ozs7OzswQkF4SDNENUcsYzswQkFFT0csYzswQkFzSEFVLG1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gXCIuLi9IdHRwQ2xpZW50L0ZldGNoSW1wbGVtZW50YXRpb24vRmV0Y2hcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiLi4vSHR0cENsaWVudC9IdHRwQ2xpZW50XCI7XG5pbXBvcnQgeyBIdHRwU3RhdHVzQ29kZSwgSUh0dHBDbGllbnQgfSBmcm9tIFwiLi4vSHR0cENsaWVudC9JSHR0cENsaWVudFwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25Nb2RlLCBjcmVhdGVBdXRoZW50aWNhdGlvblByb3ZpZGVyIH0gZnJvbSBcIi4uL0h0dHBDbGllbnQvQXV0aGVudGljYXRpb25Nb2RlXCI7XG5cbmltcG9ydCB7IElDYW5keUFwaUNsaWVudCwgSUNhbmR5QXBpRHJhZnRDbGllbnQgfSBmcm9tIFwiLi9JQ2FuZHlBcGlDbGllbnRcIjtcbmltcG9ydCB7IFNlcnZlckVycm9yTG9nIH0gZnJvbSBcIi4vVHlwZXMvRXJyb3JMb2cvU2VydmVyRXJyb3JMb2dcIjtcbmltcG9ydCB7IFNlcnZlcklubmVyUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9HZXRJbm5lci9TZXJ2ZXJJbm5lclJlc3BvbnNlXCI7XG5pbXBvcnQgeyBGaWxlUHJvcGVydGllcyB9IGZyb20gXCIuL1R5cGVzL0RyYWZ0QWN0aW9ucy9GaWxlUHJvcGVydGllc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHJhZnRSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0NyZWF0ZURyYWZ0L0NyZWF0ZURyYWZ0UmVzcG9uc2VcIjtcbmltcG9ydCB7IENyZWF0ZUV4cGxhbmF0b3J5Tm90ZVJlc3BvbnNlIH0gZnJvbSBcIi4vVHlwZXMvRXhwbGFuYXRvcnlOb3RlL0NyZWF0ZUV4cGxhbmF0b3J5Tm90ZVJlc3BvbnNlXCI7XG5pbXBvcnQgeyBEcmFmdEZ1bGxJZCB9IGZyb20gXCIuL1R5cGVzL0RyYWZ0RnVsbElkXCI7XG5pbXBvcnQgeyBTZXJ2ZXJDaGFuZ2VTZXQgfSBmcm9tIFwiLi9UeXBlcy9DaGFuZ2VTZXQvU2VydmVyQ2hhbmdlU2V0XCI7XG5pbXBvcnQgeyBTZXJ2ZXJUYXNrLCBWZXJpZnlBbmRGaXhGbnNSZXF1aXJlbWVudHNUYXNrSW5mbyB9IGZyb20gXCIuL1R5cGVzL1Rhc2tzL1Rhc2tzXCI7XG5pbXBvcnQgeyBGb2N1c1NlcnZlckVycm9yQ29kZSwgR2V0QnlJbm5SZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0ZvY3VzL0ZvY3VzVHlwZXNcIjtcbmltcG9ydCB7IEF0dGFjaEluZm8gfSBmcm9tIFwiLi9UeXBlcy9BdHRhY2htZW50cy9BdHRhY21lbnRzXCI7XG5pbXBvcnQgeyBEcmFmdFByZXNlbnRhdGlvblR5cGUgfSBmcm9tIFwiLi9UeXBlcy9QcmVzZW50YXRpb25zL0RyYWZ0UHJlc2VudGF0aW9uVHlwZVwiO1xuaW1wb3J0IHsgUHJlc2VudGF0aW9uQ29udGVudCB9IGZyb20gXCIuL1R5cGVzL1ByZXNlbnRhdGlvbnMvUHJlc2VudGF0aW9uQ29udGVudFwiO1xuaW1wb3J0IHsgQ29udmVydERyYWZ0UmVxdWVzdCB9IGZyb20gXCIuL1R5cGVzL0RyYWZ0QWN0aW9ucy9Db252ZXJ0RHJhZnRSZXF1ZXN0XCI7XG5pbXBvcnQgeyBHZXRBdHRhY2htZW50c1Jlc3BvbnNlIH0gZnJvbSBcIi4vVHlwZXMvQXR0YWNobWVudHMvR2V0QXR0YWNobWVudHNSZXNwb25zZVwiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2ZXJSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0ZvY3VzL0ZvY3VzU2VydmVyUmVzcG9uc2VcIjtcbmltcG9ydCB7IEdldFRhc2tzU2VydmVyUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9UYXNrcy9HZXRUYXNrc1NlcnZlclJlc3BvbnNlXCI7XG5pbXBvcnQgeyBEaWFnUmVzb3VyY2VzUmVzcG9uc2UgfSBmcm9tIFwiLi9UeXBlcy9EaWFnUmVzb3VyY2VzUmVzcG9uc2VcIjtcbmltcG9ydCB7IFNlcnZlclJlcXVpc2l0ZXNSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0dldElubmVyL1NlcnZlclJlcXVpc2l0ZXNSZXNwb25zZVwiO1xuaW1wb3J0IHsgaXNCdWZmZXIgfSBmcm9tIFwiLi9Jc0J1ZmZlclwiO1xuaW1wb3J0IHsgQ29tYmluZUZ1ZlJlc3VsdCwgRnVmQ29tYmluZU1ldGhvZCB9IGZyb20gXCIuL1R5cGVzL0RyYWZ0QWN0aW9ucy9Db21iaW5lRnVmUmVzdWx0XCI7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ3NSZXNwb25zZSB9IGZyb20gXCIuL1R5cGVzL0ZlYXR1cmVGbGFncy9GZWF0dXJlRmxhZ3NSZXNwb25zZVwiO1xuaW1wb3J0IHsgRGlnZXN0QXBpQ2xpZW50IH0gZnJvbSBcIi4vRGlnZXN0QXBpQ2xpZW50L0RpZ2VzdEFwaUNsaWVudFwiO1xuaW1wb3J0IHsgSURpZ2VzdEFwaUNsaWVudCB9IGZyb20gXCIuL0RpZ2VzdEFwaUNsaWVudC9JRGlnZXN0QXBpQ2xpZW50XCI7XG5cbmNvbnN0IHN0cmFuZ2VPcHRpb25zID0geyBzcmM6IFwiY2hhbmdlU2V0XCIsIGRhdGFWZXJzaW9uOiBcIjBcIiB9O1xuXG5leHBvcnQgY2xhc3MgQ2FuZHlBcGlDbGllbnQgaW1wbGVtZW50cyBJQ2FuZHlBcGlDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSUh0dHBDbGllbnQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGZldGNoSW1wbDogRmV0Y2gsXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgcmVzb3VyY2Vab25lOiB1bmRlZmluZWQgfCBzdHJpbmcsXG4gICAgICAgIGF1dGhlbnRpY2F0aW9uOiB1bmRlZmluZWQgfCBBdXRoZW50aWNhdGlvbk1vZGVcbiAgICApIHtcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50ID0gbmV3IEh0dHBDbGllbnQoZmV0Y2hJbXBsLCBiYXNlVXJsLCBjcmVhdGVBdXRoZW50aWNhdGlvblByb3ZpZGVyKGF1dGhlbnRpY2F0aW9uKSwge1xuICAgICAgICAgICAgcmVzb3VyY2Vab25lOiByZXNvdXJjZVpvbmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3JEcmFmdChkcmFmdEZ1bGxJZDogRHJhZnRGdWxsSWQpOiBJQ2FuZHlBcGlEcmFmdENsaWVudCB7XG4gICAgICAgIHJldHVybiBuZXcgQ2FuZHlBcGlEcmFmdENsaWVudCh0aGlzLmh0dHBDbGllbnQsIGRyYWZ0RnVsbElkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlRGlnZXN0QXBpQ2xpZW50KGRyYWZ0RnVsbElkOiBEcmFmdEZ1bGxJZCk6IElEaWdlc3RBcGlDbGllbnQge1xuICAgICAgICByZXR1cm4gbmV3IERpZ2VzdEFwaUNsaWVudCh0aGlzLmh0dHBDbGllbnQsIGRyYWZ0RnVsbElkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0SW5mb0J5SW5ucyhkcmFmdEZ1bGxJZDogRHJhZnRGdWxsSWQsIGlubnM6IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTxHZXRCeUlublJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHBhdGhzID0gaW5ucy5tYXAoaW5uID0+IGBAZm9jdXMvJHtpbm59YCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0VXJsKGRyYWZ0RnVsbElkLCBcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkocGF0aHMpXG4gICAgICAgICAgICAuanNvbjxGb2N1c1NlcnZlclJlc3BvbnNlPigpO1xuICAgICAgICBjb25zdCByZXN1bHQ6IEdldEJ5SW5uUmVzcG9uc2UgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBpbm4gb2YgaW5ucykge1xuICAgICAgICAgICAgY29uc3QgaW5uU2VydmVyVmFsdWUgPSByZXNwb25zZVtgQGZvY3VzLyR7aW5ufWBdPy52YWx1ZTtcbiAgICAgICAgICAgIGlmIChpbm5TZXJ2ZXJWYWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbaW5uXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFwiU2VydmVyIGRvZXMgbm90IHJldHVybiBpbm4gaW5mb1wiLFxuICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGU6IEZvY3VzU2VydmVyRXJyb3JDb2RlLk5vSW5uRXJyb3IsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2lubl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbm5TZXJ2ZXJWYWx1ZS52YWx1ZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZTogaW5uU2VydmVyVmFsdWUuZXJyb3JDb2RlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGlublNlcnZlclZhbHVlLmVycm9yID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEdmdnMoYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudC5nZXQoYHYxL2RpYWcvcmVzb3VyY2VzYCkuanNvbjxEaWFnUmVzb3VyY2VzUmVzcG9uc2U+KCk7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhib2R5LmZvcm1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlRHJhZnRGcm9tRHJpdmUoXG4gICAgICAgIG5zOiBzdHJpbmcsXG4gICAgICAgIGZ1ZkRyaXZlVXJpOiBzdHJpbmcsXG4gICAgICAgIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWxcbiAgICApOiBQcm9taXNlPENyZWF0ZURyYWZ0UmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QoYHYxL25zLyR7bnN9L2NyZWF0ZS1kcmFmdC1mcm9tLWRyaXZlYClcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoe1xuICAgICAgICAgICAgICAgIG5zOiBucyxcbiAgICAgICAgICAgICAgICBmdWZEcml2ZVVyaTogZnVmRHJpdmVVcmksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLndpdGhBYm9ydFNpZ25hbChhYm9ydFNpZ25hbClcbiAgICAgICAgICAgIC5qc29uPENyZWF0ZURyYWZ0UmVzcG9uc2U+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZUVtcHR5RHJhZnQobnM6IHN0cmluZywgZ2Z2OiBzdHJpbmcsIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPENyZWF0ZURyYWZ0UmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QoYHYxL25zLyR7bnN9L2NyZWF0ZS1kcmFmdGApXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHsgZ2Z2OiBnZnYgfSlcbiAgICAgICAgICAgIC53aXRoQWJvcnRTaWduYWwoYWJvcnRTaWduYWwpXG4gICAgICAgICAgICAuanNvbjxDcmVhdGVEcmFmdFJlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVEcmFmdChuczogc3RyaW5nLCBnZnY6IHN0cmluZyk6IFByb21pc2U8Q3JlYXRlRHJhZnRSZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZURyYWZ0KG5zOiBzdHJpbmcsIGdmdjogdW5kZWZpbmVkLCBmdWZDb250ZW50OiBCdWZmZXIpOiBQcm9taXNlPENyZWF0ZURyYWZ0UmVzcG9uc2U+O1xuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVEcmFmdChuczogc3RyaW5nLCBnZnY6IHVuZGVmaW5lZCB8IHN0cmluZywgZnVmQ29udGVudD86IEJ1ZmZlcik6IFByb21pc2U8Q3JlYXRlRHJhZnRSZXNwb25zZT4ge1xuICAgICAgICBpZiAoZ2Z2ID09IHVuZGVmaW5lZCAmJiBmdWZDb250ZW50ICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgICAgIC5wb3N0KGB2MS9ucy8ke25zfS9jcmVhdGUtZHJhZnRgKVxuICAgICAgICAgICAgICAgIC53aXRoQ29udGVudFR5cGUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIilcbiAgICAgICAgICAgICAgICAud2l0aEJvZHlGcm9tQnVmZmVyKGZ1ZkNvbnRlbnQpXG4gICAgICAgICAgICAgICAgLmpzb248Q3JlYXRlRHJhZnRSZXNwb25zZT4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ2Z2ICE9IHVuZGVmaW5lZCAmJiBmdWZDb250ZW50ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgICAgIC5wb3N0KGB2MS9ucy8ke25zfS9jcmVhdGUtZHJhZnRgKVxuICAgICAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoeyBnZnY6IGdmdiB9KVxuICAgICAgICAgICAgICAgIC53aXRoQ29udGVudFR5cGUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIilcbiAgICAgICAgICAgICAgICAud2l0aEJvZHlGcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKFtdKSlcbiAgICAgICAgICAgICAgICAuanNvbjxDcmVhdGVEcmFmdFJlc3BvbnNlPigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChnZnYgPT0gdW5kZWZpbmVkICYmIGZ1ZkNvbnRlbnQgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY3JlYXRlIGRyYWZ0OiBubyBnZnYgYW5kIG5vIGZ1ZiBzcGVjaWZpZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QoYHYxL25zLyR7bnN9L2NyZWF0ZS1kcmFmdGApXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHsgZ2Z2OiBnZnYgfSlcbiAgICAgICAgICAgIC53aXRoQ29udGVudFR5cGUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIilcbiAgICAgICAgICAgIC53aXRoQm9keUZyb21CdWZmZXIoZnVmQ29udGVudClcbiAgICAgICAgICAgIC5qc29uPENyZWF0ZURyYWZ0UmVzcG9uc2U+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNoZWNrQWxpdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudC5nZXQoYF9zdGF0dXMvcGluZ2ApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RHJhZnRVcmwoZHJhZnRGdWxsSWQ6IERyYWZ0RnVsbElkLCBkcmFmdFJlbGF0ZWRVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgdjEvbnMvJHtkcmFmdEZ1bGxJZC5uc30vZHJhZnRzLyR7ZHJhZnRGdWxsSWQuZHJhZnRJZH0vJHtkcmFmdFJlbGF0ZWRVcmx9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmVhdHVyZUZsYWdzKCk6IFByb21pc2U8RmVhdHVyZUZsYWdzUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudC5nZXQoXCJ2MS9mZWF0dXJlcy9mbGFnc1wiKS5qc29uPEZlYXR1cmVGbGFnc1Jlc3BvbnNlPigpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbmR5QXBpRHJhZnRDbGllbnQgaW1wbGVtZW50cyBJQ2FuZHlBcGlEcmFmdENsaWVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBJSHR0cENsaWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyYWZ0RnVsbElkOiBEcmFmdEZ1bGxJZDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihodHRwQ2xpZW50OiBJSHR0cENsaWVudCwgZHJhZnRGdWxsSWQ6IERyYWZ0RnVsbElkKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudCA9IGh0dHBDbGllbnQ7XG4gICAgICAgIHRoaXMuZHJhZnRGdWxsSWQgPSBkcmFmdEZ1bGxJZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZlRvSW5uZXJFZGl0b3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC51cmwoYGlubmVyLWVkaXRvci9ucy8ke3RoaXMuZHJhZnRGdWxsSWQubnN9L2RyYWZ0cy8ke3RoaXMuZHJhZnRGdWxsSWQuZHJhZnRJZH1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZkRvd25sb2FkRnVmKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQudXJsKHRoaXMuZ2V0RHJhZnRVcmwoXCJnZXQtZnVmXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZlRvQ29udmVydGF0aW9uTG9nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQudXJsKHRoaXMuZ2V0RHJhZnRVcmwoXCJjb252ZXJzaW9uXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZlRvRG93bmxvYWRJbm5lckZ1ZigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIcmVmRG93bmxvYWREcmFmdFByZXNlbnRhdGlvbihEcmFmdFByZXNlbnRhdGlvblR5cGUuaW5uZXJGdWYpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIcmVmVG9Eb3dubG9hZENsaWVudEluZm8oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SHJlZkRvd25sb2FkRHJhZnRQcmVzZW50YXRpb24oRHJhZnRQcmVzZW50YXRpb25UeXBlLmNsaWVudEluZm8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIcmVmVG9Eb3dubG9hZEZvcm1zQ2xpZW50SW5mbygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIcmVmRG93bmxvYWREcmFmdFByZXNlbnRhdGlvbihEcmFmdFByZXNlbnRhdGlvblR5cGUuZm9ybXNDbGllbnRJbmZvKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SHJlZkRvd25sb2FkSW5uZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SHJlZkRvd25sb2FkRHJhZnRQcmVzZW50YXRpb24oRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RXJyb3JMb2coKTogUHJvbWlzZTxTZXJ2ZXJFcnJvckxvZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5lcnJvckxvZykpLmpzb248U2VydmVyRXJyb3JMb2c+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFRhc2tCeUlkKHRhc2tJZDogc3RyaW5nKTogUHJvbWlzZTxTZXJ2ZXJUYXNrIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IHRhc2tzID0gYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiZ2V0LWlubmVyXCIpKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShbYEB0YXNrLypgXSlcbiAgICAgICAgICAgIC5qc29uPEdldFRhc2tzU2VydmVyUmVzcG9uc2U+KCk7XG4gICAgICAgIHJldHVybiB0YXNrc1tgQHRhc2svJHt0YXNrSWR9YF0/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxUYXNrcygpOiBQcm9taXNlPFNlcnZlclRhc2tbXT4ge1xuICAgICAgICBjb25zdCB0YXNrcyA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoW2BAdGFzay8qYF0pXG4gICAgICAgICAgICAuanNvbjxHZXRUYXNrc1NlcnZlclJlc3BvbnNlPigpO1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0YXNrcykubWFwKHggPT4geC52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGVucXVldWVUYXNrKHRhc2tJZDogc3RyaW5nLCB0YXNrSW5mbzogVmVyaWZ5QW5kRml4Rm5zUmVxdWlyZW1lbnRzVGFza0luZm8pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5pbm5lcikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHN0cmFuZ2VPcHRpb25zKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keSh7XG4gICAgICAgICAgICAgICAgYWRkZWQ6IFtdLFxuICAgICAgICAgICAgICAgIGNoYW5nZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgW2BAdGFzay8ke3Rhc2tJZH1gXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGFza0luZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogdGFza0lkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVtb3ZlZDogW10sXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2FuY2VsVGFzayh0YXNrSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwoRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyKSlcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoc3RyYW5nZU9wdGlvbnMpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHtcbiAgICAgICAgICAgICAgICBhZGRlZDogW10sXG4gICAgICAgICAgICAgICAgY2hhbmdlZDoge30sXG4gICAgICAgICAgICAgICAgcmVtb3ZlZDogW2BAdGFzay8ke3Rhc2tJZH1gXSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFeHBlcnRFcnJvckxvZygpOiBQcm9taXNlPFNlcnZlckVycm9yTG9nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuZXJyb3Jsb2dFeHBlcnQpKVxuICAgICAgICAgICAgLmpzb248U2VydmVyRXJyb3JMb2c+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhyZWZUb0Vycm9yTG9nUGRmKGVycm9yTG9nTmFtZTogc3RyaW5nLCBwcm9wc05hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQudXJsKHRoaXMuZ2V0RHJhZnRVcmwoXCJwcmVzZW50YXRpb25zL2Vycm9yTG9nL3ByaW50XCIpLCB7XG4gICAgICAgICAgICBlcnJvckxvZ05hbWU6IGVycm9yTG9nTmFtZSxcbiAgICAgICAgICAgIHByb3BzRHJpdmVOYW1lOiBwcm9wc05hbWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjbGVhckRyYWZ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiY2xlYXJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjb252ZXJ0RHJhZnRGcm9tUHJldkdmdih7IHByZXZHZnZEcmFmdElkLCBnZnYgfTogQ29udmVydERyYWZ0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiY29udmVydFwiKSkud2l0aFF1ZXJ5UGFyYW1zKHtcbiAgICAgICAgICAgIGlkOiBwcmV2R2Z2RHJhZnRJZCxcbiAgICAgICAgICAgIGdmdjogZ2Z2LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2VuZENoYW5nZVNldChkYXRhOiBTZXJ2ZXJDaGFuZ2VTZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5pbm5lcikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHN0cmFuZ2VPcHRpb25zKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VuZENoYW5nZVNldFN5bmMoZGF0YTogU2VydmVyQ2hhbmdlU2V0KTogSHR0cFN0YXR1c0NvZGUge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3RTeW5jKFxuICAgICAgICAgICAgdGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuaW5uZXIpLFxuICAgICAgICAgICAgc3RyYW5nZU9wdGlvbnMsXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFJlcXVpc2l0ZXMocmVxdWlzaXRlTGlzdDogcmVhZG9ubHkgc3RyaW5nW10pOiBQcm9taXNlPFNlcnZlclJlcXVpc2l0ZXNSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiZ2V0LWlubmVyXCIpKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShyZXF1aXNpdGVMaXN0KVxuICAgICAgICAgICAgLmpzb248U2VydmVyUmVxdWlzaXRlc1Jlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRJbm5lcihwYXRoczogdW5kZWZpbmVkIHwgcmVhZG9ubHkgc3RyaW5nW10pOiBQcm9taXNlPFNlcnZlcklubmVyUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkocGF0aHMpXG4gICAgICAgICAgICAuanNvbjxTZXJ2ZXJJbm5lclJlc3BvbnNlPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXJ0aWFsSW5uZXIocnVsZXM6IFtcIipcIl0gfCBzdHJpbmdbXSwgbWF4SW5zdGFuY2VDb3VudD86IG51bWJlcik6IFByb21pc2U8U2VydmVySW5uZXJSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiZ2V0LXBhcnRpYWwtaW5uZXJcIikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKG1heEluc3RhbmNlQ291bnQgIT0gdW5kZWZpbmVkICYmIHsgbWF4SW5zdGFuY2VDb3VudDogbWF4SW5zdGFuY2VDb3VudC50b1N0cmluZygpIH0pXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHJ1bGVzKVxuICAgICAgICAgICAgLmpzb248U2VydmVySW5uZXJSZXNwb25zZT4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RXhwbGFuYXRvcnlOb3RlKCk6IFByb21pc2U8Q3JlYXRlRXhwbGFuYXRvcnlOb3RlUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKERyYWZ0UHJlc2VudGF0aW9uVHlwZS5leHBsYW5hdG9yeU5vdGUpKVxuICAgICAgICAgICAgLmpzb248Q3JlYXRlRXhwbGFuYXRvcnlOb3RlUmVzcG9uc2U+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEF0dGFjaG1lbnRCeUlkKGF0dGFjaG1lbnRJZDogc3RyaW5nKTogUHJvbWlzZTxBdHRhY2hJbmZvPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcImdldC1pbm5lclwiKSlcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoW2BAYXR0YWNobWVudC8ke2F0dGFjaG1lbnRJZH1gXSlcbiAgICAgICAgICAgIC5qc29uPEdldEF0dGFjaG1lbnRzUmVzcG9uc2U+KCk7XG4gICAgICAgIHJldHVybiByZXN1bHRbYEBhdHRhY2htZW50LyR7YXR0YWNobWVudElkfWBdPy52YWx1ZSA/PyByZWplY3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsQXR0YWNobWVudHMoKTogUHJvbWlzZTxBdHRhY2hJbmZvW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldERyYWZ0VXJsKFwiZ2V0LWlubmVyXCIpKVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShbYEBhdHRhY2htZW50LypgXSlcbiAgICAgICAgICAgIC5qc29uPEdldEF0dGFjaG1lbnRzUmVzcG9uc2U+KCk7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlc3VsdCkubWFwKHggPT4geC52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlbW92ZUF0dGFjaG1lbnRzKGF0dGFjaG1lbnRJZHM6IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChEcmFmdFByZXNlbnRhdGlvblR5cGUuaW5uZXIpKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyhzdHJhbmdlT3B0aW9ucylcbiAgICAgICAgICAgIC53aXRoSnNvbkJvZHkoe1xuICAgICAgICAgICAgICAgIGFkZGVkOiBbXSxcbiAgICAgICAgICAgICAgICBjaGFuZ2VkOiB7fSxcbiAgICAgICAgICAgICAgICByZW1vdmVkOiBhdHRhY2htZW50SWRzLm1hcChpZCA9PiBgQGF0dGFjaG1lbnQvJHtpZH1gKSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVPclVwZGF0ZUF0dGFjaG1lbnRzKGF0dGFjaG1lbnRzOiByZWFkb25seSBBdHRhY2hJbmZvW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlZCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGF0dGFjaG1lbnQgb2YgYXR0YWNobWVudHMpIHtcbiAgICAgICAgICAgIGNoYW5nZWRbYEBhdHRhY2htZW50LyR7YXR0YWNobWVudC5pZH1gXSA9IHtcbiAgICAgICAgICAgICAgICBjb250ZW50VXJpOiBhdHRhY2htZW50LmNvbnRlbnRVcmksXG4gICAgICAgICAgICAgICAgaWQ6IGF0dGFjaG1lbnQuaWQsXG4gICAgICAgICAgICAgICAgbWV0YTogYXR0YWNobWVudC5tZXRhLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuZ2V0RHJhZnRQcmVzZW50YXRpb25VcmwoRHJhZnRQcmVzZW50YXRpb25UeXBlLmlubmVyKSlcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoc3RyYW5nZU9wdGlvbnMpXG4gICAgICAgICAgICAud2l0aEpzb25Cb2R5KHtcbiAgICAgICAgICAgICAgICBhZGRlZDogW10sXG4gICAgICAgICAgICAgICAgY2hhbmdlZDogY2hhbmdlZCxcbiAgICAgICAgICAgICAgICByZW1vdmVkOiBbXSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRQcmVzZW50YXRpb24ocHJlc2VudGF0aW9uVHlwZTogRHJhZnRQcmVzZW50YXRpb25UeXBlLCBjb250ZW50OiBzdHJpbmcgfCB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGxldCByZXF1ZXN0ID0gdGhpcy5odHRwQ2xpZW50LnB1dCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKHByZXNlbnRhdGlvblR5cGUpKTtcbiAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC53aXRoUmF3Qm9keShjb250ZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0J1ZmZlcihjb250ZW50KSkge1xuICAgICAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3Qud2l0aFJhd0JvZHkoY29udGVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC53aXRoSnNvbkJvZHkoY29udGVudCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgcmVxdWVzdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGF0Y2hQcmVzZW50YXRpb24oXG4gICAgICAgIHByZXNlbnRhdGlvblR5cGU6IERyYWZ0UHJlc2VudGF0aW9uVHlwZSxcbiAgICAgICAgcHJlc2VudGF0aW9uQ29udGVudDogUHJlc2VudGF0aW9uQ29udGVudFxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmh0dHBDbGllbnQucGF0Y2godGhpcy5nZXREcmFmdFByZXNlbnRhdGlvblVybChwcmVzZW50YXRpb25UeXBlKSkud2l0aEpzb25Cb2R5KHByZXNlbnRhdGlvbkNvbnRlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlUHJvcGVydGllcyhkcml2ZVVyaTogc3RyaW5nKTogUHJvbWlzZTxGaWxlUHJvcGVydGllcyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldChgdjEvZmlsZXMvZ2V0LXByb3BlcnRpZXNgKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGRyaXZlVXJpOiBkcml2ZVVyaSB9KVxuICAgICAgICAgICAgLmFjY2VwdENvZGUoNDAwKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uPEZpbGVQcm9wZXJ0aWVzPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBwcmVwYXJlQW5kR2V0RmlsZVByb3BlcnRpZXMoZHJpdmVVcmk6IHN0cmluZywgZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPEZpbGVQcm9wZXJ0aWVzIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAuZ2V0KGB2MS9maWxlcy9wcmVwYXJlLWFuZC1nZXQtcHJvcGVydGllc2ApXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHsgZ2Z2OiBnZnYsIGRyaXZlVXJpOiBkcml2ZVVyaSB9KVxuICAgICAgICAgICAgLmFjY2VwdENvZGUoNDAwKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uPEZpbGVQcm9wZXJ0aWVzPigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRGdWZCeURyaXZlVXJpKGRyaXZlVXJpOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5odHRwQ2xpZW50LnB1dCh0aGlzLmdldERyYWZ0VXJsKFwic2V0LWZ1ZlwiKSkud2l0aFF1ZXJ5UGFyYW1zKHsgZHJpdmVVcmk6IGRyaXZlVXJpIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjb21iaW5lRnVmQnlEcml2ZVVyaShcbiAgICAgICAgZHJpdmVVcmk6IHN0cmluZyxcbiAgICAgICAgY29tYmluZU1ldGhvZDogRnVmQ29tYmluZU1ldGhvZFxuICAgICk6IFByb21pc2U8Q29tYmluZUZ1ZlJlc3VsdCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnBvc3QodGhpcy5nZXREcmFmdFVybChcInRyYW5zZmVyL2NvbWJpbmUtd2l0aC1mdWZcIikpXG4gICAgICAgICAgICAud2l0aFF1ZXJ5UGFyYW1zKHsgZnVmRHJpdmVVcmk6IGRyaXZlVXJpLCBjb21iaW5lTWV0aG9kOiBjb21iaW5lTWV0aG9kIH0pO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb248Q29tYmluZUZ1ZlJlc3VsdD4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbm9ybWFsaXplQnlSdWxlcyhydWxlczogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuZ2V0RHJhZnRVcmwoXCJub3JtYWxpemVcIikpLndpdGhKc29uQm9keShydWxlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIcmVmRG93bmxvYWREcmFmdFByZXNlbnRhdGlvbihwcmVzZW50YXRpb25UeXBlOiBEcmFmdFByZXNlbnRhdGlvblR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnVybCh0aGlzLmdldERyYWZ0UHJlc2VudGF0aW9uVXJsKHByZXNlbnRhdGlvblR5cGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERyYWZ0VXJsKGRyYWZ0UmVsYXRlZFVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGB2MS9ucy8ke3RoaXMuZHJhZnRGdWxsSWQubnN9L2RyYWZ0cy8ke3RoaXMuZHJhZnRGdWxsSWQuZHJhZnRJZH0vJHtkcmFmdFJlbGF0ZWRVcmx9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERyYWZ0UHJlc2VudGF0aW9uVXJsKHByZXNlbnRhdGlvblR5cGU6IERyYWZ0UHJlc2VudGF0aW9uVHlwZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERyYWZ0VXJsKGBwcmVzZW50YXRpb25zLyR7cHJlc2VudGF0aW9uVHlwZS50b1N0cmluZygpfWApO1xuICAgIH1cbn1cbiJdfQ==
@@ -14,6 +14,15 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
14
14
 
15
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
16
 
17
+ (function () {
18
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
19
+ enterModule && enterModule(module);
20
+ })();
21
+
22
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
23
+ return a;
24
+ };
25
+
17
26
  const CandyApiClientContext = /*#__PURE__*/React.createContext(undefined);
18
27
  const CandyApiClientProvider = CandyApiClientContext.Provider;
19
28
  exports.CandyApiClientProvider = CandyApiClientProvider;
@@ -23,4 +32,27 @@ function useCandyApiClient() {
23
32
 
24
33
  return (_React$useContext = React.useContext(CandyApiClientContext)) !== null && _React$useContext !== void 0 ? _React$useContext : (0, _TypingUtils.reject)("ICandyApiClient must be provided with CandyApiClientProvider");
25
34
  }
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DYW5keUFwaUNsaWVudENvbnRleHQudHMiXSwibmFtZXMiOlsiQ2FuZHlBcGlDbGllbnRDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIiwiQ2FuZHlBcGlDbGllbnRQcm92aWRlciIsIlByb3ZpZGVyIiwidXNlQ2FuZHlBcGlDbGllbnQiLCJ1c2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUVBOzs7Ozs7QUFJQSxNQUFNQSxxQkFBcUIsZ0JBQUdDLEtBQUssQ0FBQ0MsYUFBTixDQUFpREMsU0FBakQsQ0FBOUI7QUFFTyxNQUFNQyxzQkFBc0IsR0FBR0oscUJBQXFCLENBQUNLLFFBQXJEOzs7QUFFQSxTQUFTQyxpQkFBVCxHQUE4QztBQUFBOztBQUNqRCw4QkFDSUwsS0FBSyxDQUFDTSxVQUFOLENBQWlCUCxxQkFBakIsQ0FESixpRUFFSSx5QkFBTyw4REFBUCxDQUZKO0FBSUgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IElDYW5keUFwaUNsaWVudCB9IGZyb20gXCIuL0lDYW5keUFwaUNsaWVudFwiO1xuXG5jb25zdCBDYW5keUFwaUNsaWVudENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PElDYW5keUFwaUNsaWVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IENhbmR5QXBpQ2xpZW50UHJvdmlkZXIgPSBDYW5keUFwaUNsaWVudENvbnRleHQuUHJvdmlkZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VDYW5keUFwaUNsaWVudCgpOiBJQ2FuZHlBcGlDbGllbnQge1xuICAgIHJldHVybiAoXG4gICAgICAgIFJlYWN0LnVzZUNvbnRleHQoQ2FuZHlBcGlDbGllbnRDb250ZXh0KSA/P1xuICAgICAgICByZWplY3QoXCJJQ2FuZHlBcGlDbGllbnQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIENhbmR5QXBpQ2xpZW50UHJvdmlkZXJcIilcbiAgICApO1xufVxuIl19
35
+
36
+ __signature__(useCandyApiClient, "useContext{}");
37
+
38
+ ;
39
+
40
+ (function () {
41
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
42
+
43
+ if (!reactHotLoader) {
44
+ return;
45
+ }
46
+
47
+ reactHotLoader.register(CandyApiClientContext, "CandyApiClientContext", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClientContext.ts");
48
+ reactHotLoader.register(CandyApiClientProvider, "CandyApiClientProvider", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClientContext.ts");
49
+ reactHotLoader.register(useCandyApiClient, "useCandyApiClient", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\CandyApiClientContext.ts");
50
+ })();
51
+
52
+ ;
53
+
54
+ (function () {
55
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
56
+ leaveModule && leaveModule(module);
57
+ })();
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DYW5keUFwaUNsaWVudENvbnRleHQudHMiXSwibmFtZXMiOlsiQ2FuZHlBcGlDbGllbnRDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIiwiQ2FuZHlBcGlDbGllbnRQcm92aWRlciIsIlByb3ZpZGVyIiwidXNlQ2FuZHlBcGlDbGllbnQiLCJ1c2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7QUFJQSxNQUFNQSxxQkFBcUIsZ0JBQUdDLEtBQUssQ0FBQ0MsYUFBTixDQUFpREMsU0FBakQsQ0FBOUI7QUFFTyxNQUFNQyxzQkFBc0IsR0FBR0oscUJBQXFCLENBQUNLLFFBQXJEOzs7QUFFQSxTQUFTQyxpQkFBVCxHQUE4QztBQUFBOztBQUNqRCw4QkFDSUwsS0FBSyxDQUFDTSxVQUFOLENBQWlCUCxxQkFBakIsQ0FESixpRUFFSSx5QkFBTyw4REFBUCxDQUZKO0FBSUg7O2NBTGVNLGlCOzs7Ozs7Ozs7OzswQkFKVk4scUI7MEJBRU9JLHNCOzBCQUVHRSxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vVHlwaW5nVXRpbHNcIjtcblxuaW1wb3J0IHsgSUNhbmR5QXBpQ2xpZW50IH0gZnJvbSBcIi4vSUNhbmR5QXBpQ2xpZW50XCI7XG5cbmNvbnN0IENhbmR5QXBpQ2xpZW50Q29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8SUNhbmR5QXBpQ2xpZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgQ2FuZHlBcGlDbGllbnRQcm92aWRlciA9IENhbmR5QXBpQ2xpZW50Q29udGV4dC5Qcm92aWRlcjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUNhbmR5QXBpQ2xpZW50KCk6IElDYW5keUFwaUNsaWVudCB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgUmVhY3QudXNlQ29udGV4dChDYW5keUFwaUNsaWVudENvbnRleHQpID8/XG4gICAgICAgIHJlamVjdChcIklDYW5keUFwaUNsaWVudCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggQ2FuZHlBcGlDbGllbnRQcm92aWRlclwiKVxuICAgICk7XG59XG4iXX0=
@@ -3,4 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+
7
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
8
+ return a;
9
+ };
6
10
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -3,4 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+
7
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
8
+ return a;
9
+ };
6
10
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -5,9 +5,37 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getClientDraftInfoUrl = getClientDraftInfoUrl;
7
7
 
8
+ (function () {
9
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
10
+ enterModule && enterModule(module);
11
+ })();
12
+
13
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
14
+ return a;
15
+ };
16
+
8
17
  function getClientDraftInfoUrl(draftId) {
9
18
  // NOTE Эта функция объявлена отдельно, ибо она входит в состав client.js и
10
19
  // не должно происходить утежеления client.js-а
11
20
  return `v1/ns/${draftId.ns}/drafts/${draftId.draftId}/client-draft-info`;
12
21
  }
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DbGllbnREcmFmdEluZm8vR2V0Q2xpZW50RHJhZnRJbmZvVXJsLnRzIl0sIm5hbWVzIjpbImdldENsaWVudERyYWZ0SW5mb1VybCIsImRyYWZ0SWQiLCJucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVPLFNBQVNBLHFCQUFULENBQStCQyxPQUEvQixFQUFxRDtBQUN4RDtBQUNBO0FBQ0EsU0FBUSxTQUFRQSxPQUFPLENBQUNDLEVBQUcsV0FBVUQsT0FBTyxDQUFDQSxPQUFRLG9CQUFyRDtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZnRGdWxsSWQgfSBmcm9tIFwiLi4vVHlwZXMvRHJhZnRGdWxsSWRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsaWVudERyYWZ0SW5mb1VybChkcmFmdElkOiBEcmFmdEZ1bGxJZCkge1xuICAgIC8vIE5PVEUg0K3RgtCwINGE0YPQvdC60YbQuNGPINC+0LHRitGP0LLQu9C10L3QsCDQvtGC0LTQtdC70YzQvdC+LCDQuNCx0L4g0L7QvdCwINCy0YXQvtC00LjRgiDQsiDRgdC+0YHRgtCw0LIgY2xpZW50LmpzINC4XG4gICAgLy8g0L3QtSDQtNC+0LvQttC90L4g0L/RgNC+0LjRgdGF0L7QtNC40YLRjCDRg9GC0LXQttC10LvQtdC90LjRjyBjbGllbnQuanMt0LBcbiAgICByZXR1cm4gYHYxL25zLyR7ZHJhZnRJZC5uc30vZHJhZnRzLyR7ZHJhZnRJZC5kcmFmdElkfS9jbGllbnQtZHJhZnQtaW5mb2A7XG59XG4iXX0=
22
+
23
+ ;
24
+
25
+ (function () {
26
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
27
+
28
+ if (!reactHotLoader) {
29
+ return;
30
+ }
31
+
32
+ reactHotLoader.register(getClientDraftInfoUrl, "getClientDraftInfoUrl", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\ClientDraftInfo\\GetClientDraftInfoUrl.ts");
33
+ })();
34
+
35
+ ;
36
+
37
+ (function () {
38
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
39
+ leaveModule && leaveModule(module);
40
+ })();
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9DbGllbnREcmFmdEluZm8vR2V0Q2xpZW50RHJhZnRJbmZvVXJsLnRzIl0sIm5hbWVzIjpbImdldENsaWVudERyYWZ0SW5mb1VybCIsImRyYWZ0SWQiLCJucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLFNBQVNBLHFCQUFULENBQStCQyxPQUEvQixFQUFxRDtBQUN4RDtBQUNBO0FBQ0EsU0FBUSxTQUFRQSxPQUFPLENBQUNDLEVBQUcsV0FBVUQsT0FBTyxDQUFDQSxPQUFRLG9CQUFyRDtBQUNIOzs7Ozs7Ozs7OzswQkFKZUQscUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFmdEZ1bGxJZCB9IGZyb20gXCIuLi9UeXBlcy9EcmFmdEZ1bGxJZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xpZW50RHJhZnRJbmZvVXJsKGRyYWZ0SWQ6IERyYWZ0RnVsbElkKSB7XG4gICAgLy8gTk9URSDQrdGC0LAg0YTRg9C90LrRhtC40Y8g0L7QsdGK0Y/QstC70LXQvdCwINC+0YLQtNC10LvRjNC90L4sINC40LHQviDQvtC90LAg0LLRhdC+0LTQuNGCINCyINGB0L7RgdGC0LDQsiBjbGllbnQuanMg0LhcbiAgICAvLyDQvdC1INC00L7Qu9C20L3QviDQv9GA0L7QuNGB0YXQvtC00LjRgtGMINGD0YLQtdC20LXQu9C10L3QuNGPIGNsaWVudC5qcy3QsFxuICAgIHJldHVybiBgdjEvbnMvJHtkcmFmdElkLm5zfS9kcmFmdHMvJHtkcmFmdElkLmRyYWZ0SWR9L2NsaWVudC1kcmFmdC1pbmZvYDtcbn1cbiJdfQ==
@@ -3,4 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+
7
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
8
+ return a;
9
+ };
6
10
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -10,6 +10,15 @@ var _TypingUtils = require("../../../TypingUtils");
10
10
 
11
11
  var _IterableUtils = require("../../../IterableUtils");
12
12
 
13
+ (function () {
14
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
15
+ enterModule && enterModule(module);
16
+ })();
17
+
18
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
19
+ return a;
20
+ };
21
+
13
22
  function withCache(client) {
14
23
  return new DigestApiClientWithCache(client);
15
24
  }
@@ -54,7 +63,32 @@ class DigestApiClientWithCache {
54
63
  return JSON.stringify(request);
55
64
  }
56
65
 
66
+ // @ts-ignore
67
+ __reactstandin__regenerateByEval(key, code) {
68
+ // @ts-ignore
69
+ this[key] = eval(code);
70
+ }
71
+
57
72
  }
58
73
 
59
74
  exports.DigestApiClientWithCache = DigestApiClientWithCache;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9EaWdlc3RBcGlDbGllbnQvRGVjb3JhdG9ycy9EaWdlc3RBcGlDbGllbnRXaXRoQ2FjaGUudHMiXSwibmFtZXMiOlsid2l0aENhY2hlIiwiY2xpZW50IiwiRGlnZXN0QXBpQ2xpZW50V2l0aENhY2hlIiwiY29uc3RydWN0b3IiLCJpbm5lckNsaWVudCIsInJlc3BvbnNlQ2FjaGUiLCJNYXAiLCJnZXREaWdlc3QiLCJyZXF1ZXN0IiwiZGlnZXN0UmVzcG9uc2VzIiwiZ2V0RGlnZXN0cyIsInJlcXVlc3RzIiwibm90SW5DYWNoZVJlcXVlc3RzIiwiZmlsdGVyIiwieCIsImhhcyIsImdldFJlcXVlc3RLZXkiLCJsZW5ndGgiLCJub3RJbkNhY2hlUmVzcG9uc2VzIiwiaW5kZXgiLCJub3RJbkNhY2hlUmVzcG9uc2UiLCJJdGVyVXRpbHMiLCJpdGVyYXRlRW50cmllcyIsIm5vdEluQ2FjaGVSZXF1ZXN0Iiwic2V0IiwibWFwIiwicmVxdWVzdEtleSIsImdldCIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBRU8sU0FBU0EsU0FBVCxDQUFtQkMsTUFBbkIsRUFBK0Q7QUFDbEUsU0FBTyxJQUFJQyx3QkFBSixDQUE2QkQsTUFBN0IsQ0FBUDtBQUNIOztBQUVNLE1BQU1DLHdCQUFOLENBQTJEO0FBSXZEQyxFQUFBQSxXQUFXLENBQUNDLFdBQUQsRUFBZ0M7QUFBQSxTQUhqQ0EsV0FHaUM7QUFBQSxTQUZqQ0MsYUFFaUMsR0FGWSxJQUFJQyxHQUFKLEVBRVo7QUFDOUMsU0FBS0YsV0FBTCxHQUFtQkEsV0FBbkI7QUFDSDs7QUFFcUIsUUFBVEcsU0FBUyxDQUFDQyxPQUFELEVBQWtEO0FBQUE7O0FBQ3BFLFVBQU1DLGVBQWUsR0FBRyxNQUFNLEtBQUtDLFVBQUwsQ0FBZ0IsQ0FBQ0YsT0FBRCxDQUFoQixDQUE5QjtBQUNBLGdDQUFPQyxlQUFQLGFBQU9BLGVBQVAsdUJBQU9BLGVBQWUsQ0FBRyxDQUFILENBQXRCLGlFQUErQiwwQkFBL0I7QUFDSDs7QUFFc0IsUUFBVkMsVUFBVSxDQUFDQyxRQUFELEVBQThFO0FBQ2pHLFVBQU1DLGtCQUFrQixHQUFHRCxRQUFRLENBQUNFLE1BQVQsQ0FBZ0JDLENBQUMsSUFBSSxDQUFDLEtBQUtULGFBQUwsQ0FBbUJVLEdBQW5CLENBQXVCLEtBQUtDLGFBQUwsQ0FBbUJGLENBQW5CLENBQXZCLENBQXRCLENBQTNCOztBQUNBLFFBQUlGLGtCQUFrQixDQUFDSyxNQUFuQixHQUE0QixDQUFoQyxFQUFtQztBQUMvQixZQUFNQyxtQkFBbUIsR0FBRyxNQUFNLEtBQUtkLFdBQUwsQ0FBaUJNLFVBQWpCLENBQTRCRSxrQkFBNUIsQ0FBbEM7O0FBQ0EsV0FBSyxNQUFNLENBQUNPLEtBQUQsRUFBUUMsa0JBQVIsQ0FBWCxJQUEwQ0MseUJBQVVDLGNBQVYsQ0FBeUJKLG1CQUF6QixDQUExQyxFQUF5RjtBQUFBOztBQUNyRixjQUFNSyxpQkFBaUIsNEJBQUdYLGtCQUFrQixDQUFDTyxLQUFELENBQXJCLHlFQUFnQywwQkFBdkQ7QUFDQSxhQUFLZCxhQUFMLENBQW1CbUIsR0FBbkIsQ0FBdUIsS0FBS1IsYUFBTCxDQUFtQk8saUJBQW5CLENBQXZCLEVBQThESCxrQkFBOUQ7QUFDSDtBQUNKOztBQUNELFdBQU9ULFFBQVEsQ0FBQ2MsR0FBVCxDQUFhakIsT0FBTyxJQUFJO0FBQUE7O0FBQzNCLFlBQU1rQixVQUFVLEdBQUcsS0FBS1YsYUFBTCxDQUFtQlIsT0FBbkIsQ0FBbkI7QUFDQSxzQ0FBTyxLQUFLSCxhQUFMLENBQW1Cc0IsR0FBbkIsQ0FBdUJELFVBQXZCLENBQVAseUVBQTZDLDBCQUE3QztBQUNILEtBSE0sQ0FBUDtBQUlIOztBQUVPVixFQUFBQSxhQUFhLENBQUNSLE9BQUQsRUFBeUI7QUFDMUMsV0FBT29CLElBQUksQ0FBQ0MsU0FBTCxDQUFlckIsT0FBZixDQUFQO0FBQ0g7O0FBOUI2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpZ2VzdFJlcXVlc3QgfSBmcm9tIFwiLi4vVHlwZXMvRGlnZXN0UmVxdWVzdFwiO1xuaW1wb3J0IHsgRGlnZXN0UmVzcG9uc2UgfSBmcm9tIFwiLi4vVHlwZXMvRGlnZXN0UmVzcG9uc2VcIjtcbmltcG9ydCB7IElEaWdlc3RBcGlDbGllbnQgfSBmcm9tIFwiLi4vSURpZ2VzdEFwaUNsaWVudFwiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJdGVyVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vSXRlcmFibGVVdGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENhY2hlKGNsaWVudDogSURpZ2VzdEFwaUNsaWVudCk6IElEaWdlc3RBcGlDbGllbnQge1xuICAgIHJldHVybiBuZXcgRGlnZXN0QXBpQ2xpZW50V2l0aENhY2hlKGNsaWVudCk7XG59XG5cbmV4cG9ydCBjbGFzcyBEaWdlc3RBcGlDbGllbnRXaXRoQ2FjaGUgaW1wbGVtZW50cyBJRGlnZXN0QXBpQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlubmVyQ2xpZW50OiBJRGlnZXN0QXBpQ2xpZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VDYWNoZTogTWFwPHN0cmluZywgRGlnZXN0UmVzcG9uc2U+ID0gbmV3IE1hcDxzdHJpbmcsIERpZ2VzdFJlc3BvbnNlPigpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGlubmVyQ2xpZW50OiBJRGlnZXN0QXBpQ2xpZW50KSB7XG4gICAgICAgIHRoaXMuaW5uZXJDbGllbnQgPSBpbm5lckNsaWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGlnZXN0KHJlcXVlc3Q6IERpZ2VzdFJlcXVlc3QpOiBQcm9taXNlPERpZ2VzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGRpZ2VzdFJlc3BvbnNlcyA9IGF3YWl0IHRoaXMuZ2V0RGlnZXN0cyhbcmVxdWVzdF0pO1xuICAgICAgICByZXR1cm4gZGlnZXN0UmVzcG9uc2VzPy5bMF0gPz8gcmVqZWN0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldERpZ2VzdHMocmVxdWVzdHM6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHk8RGlnZXN0UmVxdWVzdD4+KTogUHJvbWlzZTxEaWdlc3RSZXNwb25zZVtdPiB7XG4gICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXF1ZXN0cyA9IHJlcXVlc3RzLmZpbHRlcih4ID0+ICF0aGlzLnJlc3BvbnNlQ2FjaGUuaGFzKHRoaXMuZ2V0UmVxdWVzdEtleSh4KSkpO1xuICAgICAgICBpZiAobm90SW5DYWNoZVJlcXVlc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXNwb25zZXMgPSBhd2FpdCB0aGlzLmlubmVyQ2xpZW50LmdldERpZ2VzdHMobm90SW5DYWNoZVJlcXVlc3RzKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2luZGV4LCBub3RJbkNhY2hlUmVzcG9uc2VdIG9mIEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhub3RJbkNhY2hlUmVzcG9uc2VzKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXF1ZXN0ID0gbm90SW5DYWNoZVJlcXVlc3RzW2luZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlQ2FjaGUuc2V0KHRoaXMuZ2V0UmVxdWVzdEtleShub3RJbkNhY2hlUmVxdWVzdCksIG5vdEluQ2FjaGVSZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcXVlc3RzLm1hcChyZXF1ZXN0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RLZXkgPSB0aGlzLmdldFJlcXVlc3RLZXkocmVxdWVzdCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZUNhY2hlLmdldChyZXF1ZXN0S2V5KSA/PyByZWplY3QoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1ZXN0S2V5KHJlcXVlc3Q6IERpZ2VzdFJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpO1xuICAgIH1cbn1cbiJdfQ==
75
+ ;
76
+
77
+ (function () {
78
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
79
+
80
+ if (!reactHotLoader) {
81
+ return;
82
+ }
83
+
84
+ reactHotLoader.register(withCache, "withCache", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\DigestApiClient\\Decorators\\DigestApiClientWithCache.ts");
85
+ reactHotLoader.register(DigestApiClientWithCache, "DigestApiClientWithCache", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\DigestApiClient\\Decorators\\DigestApiClientWithCache.ts");
86
+ })();
87
+
88
+ ;
89
+
90
+ (function () {
91
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
92
+ leaveModule && leaveModule(module);
93
+ })();
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9EaWdlc3RBcGlDbGllbnQvRGVjb3JhdG9ycy9EaWdlc3RBcGlDbGllbnRXaXRoQ2FjaGUudHMiXSwibmFtZXMiOlsid2l0aENhY2hlIiwiY2xpZW50IiwiRGlnZXN0QXBpQ2xpZW50V2l0aENhY2hlIiwiY29uc3RydWN0b3IiLCJpbm5lckNsaWVudCIsInJlc3BvbnNlQ2FjaGUiLCJNYXAiLCJnZXREaWdlc3QiLCJyZXF1ZXN0IiwiZGlnZXN0UmVzcG9uc2VzIiwiZ2V0RGlnZXN0cyIsInJlcXVlc3RzIiwibm90SW5DYWNoZVJlcXVlc3RzIiwiZmlsdGVyIiwieCIsImhhcyIsImdldFJlcXVlc3RLZXkiLCJsZW5ndGgiLCJub3RJbkNhY2hlUmVzcG9uc2VzIiwiaW5kZXgiLCJub3RJbkNhY2hlUmVzcG9uc2UiLCJJdGVyVXRpbHMiLCJpdGVyYXRlRW50cmllcyIsIm5vdEluQ2FjaGVSZXF1ZXN0Iiwic2V0IiwibWFwIiwicmVxdWVzdEtleSIsImdldCIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0E7O0FBQ0E7Ozs7Ozs7Ozs7O0FBRU8sU0FBU0EsU0FBVCxDQUFtQkMsTUFBbkIsRUFBK0Q7QUFDbEUsU0FBTyxJQUFJQyx3QkFBSixDQUE2QkQsTUFBN0IsQ0FBUDtBQUNIOztBQUVNLE1BQU1DLHdCQUFOLENBQTJEO0FBSXZEQyxFQUFBQSxXQUFXLENBQUNDLFdBQUQsRUFBZ0M7QUFBQSxTQUhqQ0EsV0FHaUM7QUFBQSxTQUZqQ0MsYUFFaUMsR0FGWSxJQUFJQyxHQUFKLEVBRVo7QUFDOUMsU0FBS0YsV0FBTCxHQUFtQkEsV0FBbkI7QUFDSDs7QUFFcUIsUUFBVEcsU0FBUyxDQUFDQyxPQUFELEVBQWtEO0FBQUE7O0FBQ3BFLFVBQU1DLGVBQWUsR0FBRyxNQUFNLEtBQUtDLFVBQUwsQ0FBZ0IsQ0FBQ0YsT0FBRCxDQUFoQixDQUE5QjtBQUNBLGdDQUFPQyxlQUFQLGFBQU9BLGVBQVAsdUJBQU9BLGVBQWUsQ0FBRyxDQUFILENBQXRCLGlFQUErQiwwQkFBL0I7QUFDSDs7QUFFc0IsUUFBVkMsVUFBVSxDQUFDQyxRQUFELEVBQThFO0FBQ2pHLFVBQU1DLGtCQUFrQixHQUFHRCxRQUFRLENBQUNFLE1BQVQsQ0FBZ0JDLENBQUMsSUFBSSxDQUFDLEtBQUtULGFBQUwsQ0FBbUJVLEdBQW5CLENBQXVCLEtBQUtDLGFBQUwsQ0FBbUJGLENBQW5CLENBQXZCLENBQXRCLENBQTNCOztBQUNBLFFBQUlGLGtCQUFrQixDQUFDSyxNQUFuQixHQUE0QixDQUFoQyxFQUFtQztBQUMvQixZQUFNQyxtQkFBbUIsR0FBRyxNQUFNLEtBQUtkLFdBQUwsQ0FBaUJNLFVBQWpCLENBQTRCRSxrQkFBNUIsQ0FBbEM7O0FBQ0EsV0FBSyxNQUFNLENBQUNPLEtBQUQsRUFBUUMsa0JBQVIsQ0FBWCxJQUEwQ0MseUJBQVVDLGNBQVYsQ0FBeUJKLG1CQUF6QixDQUExQyxFQUF5RjtBQUFBOztBQUNyRixjQUFNSyxpQkFBaUIsNEJBQUdYLGtCQUFrQixDQUFDTyxLQUFELENBQXJCLHlFQUFnQywwQkFBdkQ7QUFDQSxhQUFLZCxhQUFMLENBQW1CbUIsR0FBbkIsQ0FBdUIsS0FBS1IsYUFBTCxDQUFtQk8saUJBQW5CLENBQXZCLEVBQThESCxrQkFBOUQ7QUFDSDtBQUNKOztBQUNELFdBQU9ULFFBQVEsQ0FBQ2MsR0FBVCxDQUFhakIsT0FBTyxJQUFJO0FBQUE7O0FBQzNCLFlBQU1rQixVQUFVLEdBQUcsS0FBS1YsYUFBTCxDQUFtQlIsT0FBbkIsQ0FBbkI7QUFDQSxzQ0FBTyxLQUFLSCxhQUFMLENBQW1Cc0IsR0FBbkIsQ0FBdUJELFVBQXZCLENBQVAseUVBQTZDLDBCQUE3QztBQUNILEtBSE0sQ0FBUDtBQUlIOztBQUVPVixFQUFBQSxhQUFhLENBQUNSLE9BQUQsRUFBeUI7QUFDMUMsV0FBT29CLElBQUksQ0FBQ0MsU0FBTCxDQUFlckIsT0FBZixDQUFQO0FBQ0g7O0FBOUI2RDtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOzs7Ozs7Ozs7Ozs7MEJBSmxEUixTOzBCQUlIRSx3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpZ2VzdFJlcXVlc3QgfSBmcm9tIFwiLi4vVHlwZXMvRGlnZXN0UmVxdWVzdFwiO1xuaW1wb3J0IHsgRGlnZXN0UmVzcG9uc2UgfSBmcm9tIFwiLi4vVHlwZXMvRGlnZXN0UmVzcG9uc2VcIjtcbmltcG9ydCB7IElEaWdlc3RBcGlDbGllbnQgfSBmcm9tIFwiLi4vSURpZ2VzdEFwaUNsaWVudFwiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJdGVyVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vSXRlcmFibGVVdGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENhY2hlKGNsaWVudDogSURpZ2VzdEFwaUNsaWVudCk6IElEaWdlc3RBcGlDbGllbnQge1xuICAgIHJldHVybiBuZXcgRGlnZXN0QXBpQ2xpZW50V2l0aENhY2hlKGNsaWVudCk7XG59XG5cbmV4cG9ydCBjbGFzcyBEaWdlc3RBcGlDbGllbnRXaXRoQ2FjaGUgaW1wbGVtZW50cyBJRGlnZXN0QXBpQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlubmVyQ2xpZW50OiBJRGlnZXN0QXBpQ2xpZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VDYWNoZTogTWFwPHN0cmluZywgRGlnZXN0UmVzcG9uc2U+ID0gbmV3IE1hcDxzdHJpbmcsIERpZ2VzdFJlc3BvbnNlPigpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGlubmVyQ2xpZW50OiBJRGlnZXN0QXBpQ2xpZW50KSB7XG4gICAgICAgIHRoaXMuaW5uZXJDbGllbnQgPSBpbm5lckNsaWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGlnZXN0KHJlcXVlc3Q6IERpZ2VzdFJlcXVlc3QpOiBQcm9taXNlPERpZ2VzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGRpZ2VzdFJlc3BvbnNlcyA9IGF3YWl0IHRoaXMuZ2V0RGlnZXN0cyhbcmVxdWVzdF0pO1xuICAgICAgICByZXR1cm4gZGlnZXN0UmVzcG9uc2VzPy5bMF0gPz8gcmVqZWN0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldERpZ2VzdHMocmVxdWVzdHM6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHk8RGlnZXN0UmVxdWVzdD4+KTogUHJvbWlzZTxEaWdlc3RSZXNwb25zZVtdPiB7XG4gICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXF1ZXN0cyA9IHJlcXVlc3RzLmZpbHRlcih4ID0+ICF0aGlzLnJlc3BvbnNlQ2FjaGUuaGFzKHRoaXMuZ2V0UmVxdWVzdEtleSh4KSkpO1xuICAgICAgICBpZiAobm90SW5DYWNoZVJlcXVlc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXNwb25zZXMgPSBhd2FpdCB0aGlzLmlubmVyQ2xpZW50LmdldERpZ2VzdHMobm90SW5DYWNoZVJlcXVlc3RzKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2luZGV4LCBub3RJbkNhY2hlUmVzcG9uc2VdIG9mIEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhub3RJbkNhY2hlUmVzcG9uc2VzKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vdEluQ2FjaGVSZXF1ZXN0ID0gbm90SW5DYWNoZVJlcXVlc3RzW2luZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlQ2FjaGUuc2V0KHRoaXMuZ2V0UmVxdWVzdEtleShub3RJbkNhY2hlUmVxdWVzdCksIG5vdEluQ2FjaGVSZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcXVlc3RzLm1hcChyZXF1ZXN0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RLZXkgPSB0aGlzLmdldFJlcXVlc3RLZXkocmVxdWVzdCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZUNhY2hlLmdldChyZXF1ZXN0S2V5KSA/PyByZWplY3QoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1ZXN0S2V5KHJlcXVlc3Q6IERpZ2VzdFJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpO1xuICAgIH1cbn1cbiJdfQ==
@@ -12,6 +12,15 @@ var _IterableUtils = require("../../../IterableUtils");
12
12
 
13
13
  var _TypingUtils = require("../../../TypingUtils");
14
14
 
15
+ (function () {
16
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
17
+ enterModule && enterModule(module);
18
+ })();
19
+
20
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
21
+ return a;
22
+ };
23
+
15
24
  function withDebouncedBatching(client, debounceInterval) {
16
25
  return new DigestApiClientWithDebouncedBatching(client, debounceInterval);
17
26
  }
@@ -45,7 +54,32 @@ class DigestApiClientWithDebouncedBatching {
45
54
  return Promise.all(requests.map(x => this.getDigest(x)));
46
55
  }
47
56
 
57
+ // @ts-ignore
58
+ __reactstandin__regenerateByEval(key, code) {
59
+ // @ts-ignore
60
+ this[key] = eval(code);
61
+ }
62
+
48
63
  }
49
64
 
50
65
  exports.DigestApiClientWithDebouncedBatching = DigestApiClientWithDebouncedBatching;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9EaWdlc3RBcGlDbGllbnQvRGVjb3JhdG9ycy9EaWdlc3RBcGlDbGllbnRXaXRoRGVib3VuY2VkQmF0Y2hpbmcudHMiXSwibmFtZXMiOlsid2l0aERlYm91bmNlZEJhdGNoaW5nIiwiY2xpZW50IiwiZGVib3VuY2VJbnRlcnZhbCIsIkRpZ2VzdEFwaUNsaWVudFdpdGhEZWJvdW5jZWRCYXRjaGluZyIsImNvbnN0cnVjdG9yIiwiaW5uZXJDbGllbnQiLCJnZXREaWdlc3REZWJvdW5jZWQiLCJyZXF1ZXN0cyIsImRpZ2VzdFJlcXVlc3RzIiwibWFwIiwieCIsImFyZyIsImRpZ2VzdFJlc3BvbnNlcyIsImdldERpZ2VzdHMiLCJpIiwicmVxdWVzdCIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwicmVzb2x2ZSIsImdJZCIsImVycm9yIiwicmVqZWN0IiwiSlNPTiIsInN0cmluZ2lmeSIsImdldERpZ2VzdCIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBR08sU0FBU0EscUJBQVQsQ0FBK0JDLE1BQS9CLEVBQXlEQyxnQkFBekQsRUFBcUc7QUFDeEcsU0FBTyxJQUFJQyxvQ0FBSixDQUF5Q0YsTUFBekMsRUFBaURDLGdCQUFqRCxDQUFQO0FBQ0g7O0FBRU0sTUFBTUMsb0NBQU4sQ0FBdUU7QUFHbkVDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUFnQ0gsZ0JBQWhDLEVBQTBEO0FBQUEsU0FGM0RJLGtCQUUyRDtBQUN4RSxTQUFLQSxrQkFBTCxHQUEwQixnQ0FDdEIsTUFBT0MsUUFBUCxJQUFtRTtBQUMvRCxVQUFJO0FBQ0EsY0FBTUMsY0FBYyxHQUFHRCxRQUFRLENBQUNFLEdBQVQsQ0FBYUMsQ0FBQyxJQUFJQSxDQUFDLENBQUNDLEdBQXBCLENBQXZCO0FBQ0EsY0FBTUMsZUFBZSxHQUFHLE1BQU1QLFdBQVcsQ0FBQ1EsVUFBWixDQUF1QkwsY0FBdkIsQ0FBOUI7O0FBQ0EsYUFBSyxNQUFNLENBQUNNLENBQUQsRUFBSUMsT0FBSixDQUFYLElBQTJCQyx5QkFBVUMsY0FBVixDQUF5QlYsUUFBekIsQ0FBM0IsRUFBK0Q7QUFBQTs7QUFDM0RRLFVBQUFBLE9BQU8sQ0FBQ0csT0FBUix1QkFDSU4sZUFBZSxDQUFDRSxDQUFELENBRG5CLG1FQUMwQix5QkFBUSxvQkFBbUJDLE9BQU8sQ0FBQ0osR0FBUixDQUFZUSxHQUFJLHFCQUEzQyxDQUQxQjtBQUdIO0FBQ0osT0FSRCxDQVFFLE9BQU9DLEtBQVAsRUFBYztBQUNaLGFBQUssTUFBTUwsT0FBWCxJQUFzQlIsUUFBdEIsRUFBZ0M7QUFDNUJRLFVBQUFBLE9BQU8sQ0FBQ00sTUFBUixDQUFlRCxLQUFmO0FBQ0g7QUFDSjtBQUNKLEtBZnFCLEVBZ0J0QmxCLGdCQWhCc0IsRUFpQnRCUSxDQUFDLElBQUlZLElBQUksQ0FBQ0MsU0FBTCxDQUFlYixDQUFmLENBakJpQixDQUExQjtBQW1CSDs7QUFFTWMsRUFBQUEsU0FBUyxDQUFDVCxPQUFELEVBQWtEO0FBQzlELFdBQU8sS0FBS1Qsa0JBQUwsQ0FBd0JTLE9BQXhCLENBQVA7QUFDSDs7QUFFTUYsRUFBQUEsVUFBVSxDQUFDTixRQUFELEVBQThFO0FBQzNGLFdBQU9rQixPQUFPLENBQUNDLEdBQVIsQ0FBWW5CLFFBQVEsQ0FBQ0UsR0FBVCxDQUFhQyxDQUFDLElBQUksS0FBS2MsU0FBTCxDQUFlZCxDQUFmLENBQWxCLENBQVosQ0FBUDtBQUNIOztBQS9CeUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWdlc3RSZXF1ZXN0IH0gZnJvbSBcIi4uL1R5cGVzL0RpZ2VzdFJlcXVlc3RcIjtcbmltcG9ydCB7IERpZ2VzdFJlc3BvbnNlIH0gZnJvbSBcIi4uL1R5cGVzL0RpZ2VzdFJlc3BvbnNlXCI7XG5pbXBvcnQgeyBkZWJvdW5jZWRNZXJnZSwgTWVyZ2VkUmVxdWVzdHMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vRW5naW5lL3NyYy9IZWxwZXJzL0FzeW5jVXRpbHNcIjtcbmltcG9ydCB7IEl0ZXJVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9JdGVyYWJsZVV0aWxzXCI7XG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vLi4vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IElEaWdlc3RBcGlDbGllbnQgfSBmcm9tIFwiLi4vSURpZ2VzdEFwaUNsaWVudFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aERlYm91bmNlZEJhdGNoaW5nKGNsaWVudDogSURpZ2VzdEFwaUNsaWVudCwgZGVib3VuY2VJbnRlcnZhbDogbnVtYmVyKTogSURpZ2VzdEFwaUNsaWVudCB7XG4gICAgcmV0dXJuIG5ldyBEaWdlc3RBcGlDbGllbnRXaXRoRGVib3VuY2VkQmF0Y2hpbmcoY2xpZW50LCBkZWJvdW5jZUludGVydmFsKTtcbn1cblxuZXhwb3J0IGNsYXNzIERpZ2VzdEFwaUNsaWVudFdpdGhEZWJvdW5jZWRCYXRjaGluZyBpbXBsZW1lbnRzIElEaWdlc3RBcGlDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0RGlnZXN0RGVib3VuY2VkOiAocmVxdWVzdDogRGlnZXN0UmVxdWVzdCkgPT4gUHJvbWlzZTxEaWdlc3RSZXNwb25zZT47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5uZXJDbGllbnQ6IElEaWdlc3RBcGlDbGllbnQsIGRlYm91bmNlSW50ZXJ2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLmdldERpZ2VzdERlYm91bmNlZCA9IGRlYm91bmNlZE1lcmdlKFxuICAgICAgICAgICAgYXN5bmMgKHJlcXVlc3RzOiBNZXJnZWRSZXF1ZXN0czxEaWdlc3RSZXF1ZXN0LCBEaWdlc3RSZXNwb25zZT4pID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaWdlc3RSZXF1ZXN0cyA9IHJlcXVlc3RzLm1hcCh4ID0+IHguYXJnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlnZXN0UmVzcG9uc2VzID0gYXdhaXQgaW5uZXJDbGllbnQuZ2V0RGlnZXN0cyhkaWdlc3RSZXF1ZXN0cyk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2ksIHJlcXVlc3RdIG9mIEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhyZXF1ZXN0cykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdlc3RSZXNwb25zZXNbaV0gPz8gcmVqZWN0KGBSZXF1ZXN0IGZvciBnSWQ6JyR7cmVxdWVzdC5hcmcuZ0lkfSBkb2VzIG5vdCByZWNlaXZlZCdgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVxdWVzdCBvZiByZXF1ZXN0cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlYm91bmNlSW50ZXJ2YWwsXG4gICAgICAgICAgICB4ID0+IEpTT04uc3RyaW5naWZ5KHgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpZ2VzdChyZXF1ZXN0OiBEaWdlc3RSZXF1ZXN0KTogUHJvbWlzZTxEaWdlc3RSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREaWdlc3REZWJvdW5jZWQocmVxdWVzdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpZ2VzdHMocmVxdWVzdHM6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHk8RGlnZXN0UmVxdWVzdD4+KTogUHJvbWlzZTxEaWdlc3RSZXNwb25zZVtdPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChyZXF1ZXN0cy5tYXAoeCA9PiB0aGlzLmdldERpZ2VzdCh4KSkpO1xuICAgIH1cbn1cbiJdfQ==
66
+ ;
67
+
68
+ (function () {
69
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
70
+
71
+ if (!reactHotLoader) {
72
+ return;
73
+ }
74
+
75
+ reactHotLoader.register(withDebouncedBatching, "withDebouncedBatching", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\DigestApiClient\\Decorators\\DigestApiClientWithDebouncedBatching.ts");
76
+ reactHotLoader.register(DigestApiClientWithDebouncedBatching, "DigestApiClientWithDebouncedBatching", "C:\\buildAgent\\work\\8df8f1edd755969c\\Common\\CandyApiClient\\DigestApiClient\\Decorators\\DigestApiClientWithDebouncedBatching.ts");
77
+ })();
78
+
79
+ ;
80
+
81
+ (function () {
82
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
83
+ leaveModule && leaveModule(module);
84
+ })();
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9DYW5keUFwaUNsaWVudC9EaWdlc3RBcGlDbGllbnQvRGVjb3JhdG9ycy9EaWdlc3RBcGlDbGllbnRXaXRoRGVib3VuY2VkQmF0Y2hpbmcudHMiXSwibmFtZXMiOlsid2l0aERlYm91bmNlZEJhdGNoaW5nIiwiY2xpZW50IiwiZGVib3VuY2VJbnRlcnZhbCIsIkRpZ2VzdEFwaUNsaWVudFdpdGhEZWJvdW5jZWRCYXRjaGluZyIsImNvbnN0cnVjdG9yIiwiaW5uZXJDbGllbnQiLCJnZXREaWdlc3REZWJvdW5jZWQiLCJyZXF1ZXN0cyIsImRpZ2VzdFJlcXVlc3RzIiwibWFwIiwieCIsImFyZyIsImRpZ2VzdFJlc3BvbnNlcyIsImdldERpZ2VzdHMiLCJpIiwicmVxdWVzdCIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwicmVzb2x2ZSIsImdJZCIsImVycm9yIiwicmVqZWN0IiwiSlNPTiIsInN0cmluZ2lmeSIsImdldERpZ2VzdCIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7O0FBR08sU0FBU0EscUJBQVQsQ0FBK0JDLE1BQS9CLEVBQXlEQyxnQkFBekQsRUFBcUc7QUFDeEcsU0FBTyxJQUFJQyxvQ0FBSixDQUF5Q0YsTUFBekMsRUFBaURDLGdCQUFqRCxDQUFQO0FBQ0g7O0FBRU0sTUFBTUMsb0NBQU4sQ0FBdUU7QUFHbkVDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUFnQ0gsZ0JBQWhDLEVBQTBEO0FBQUEsU0FGM0RJLGtCQUUyRDtBQUN4RSxTQUFLQSxrQkFBTCxHQUEwQixnQ0FDdEIsTUFBT0MsUUFBUCxJQUFtRTtBQUMvRCxVQUFJO0FBQ0EsY0FBTUMsY0FBYyxHQUFHRCxRQUFRLENBQUNFLEdBQVQsQ0FBYUMsQ0FBQyxJQUFJQSxDQUFDLENBQUNDLEdBQXBCLENBQXZCO0FBQ0EsY0FBTUMsZUFBZSxHQUFHLE1BQU1QLFdBQVcsQ0FBQ1EsVUFBWixDQUF1QkwsY0FBdkIsQ0FBOUI7O0FBQ0EsYUFBSyxNQUFNLENBQUNNLENBQUQsRUFBSUMsT0FBSixDQUFYLElBQTJCQyx5QkFBVUMsY0FBVixDQUF5QlYsUUFBekIsQ0FBM0IsRUFBK0Q7QUFBQTs7QUFDM0RRLFVBQUFBLE9BQU8sQ0FBQ0csT0FBUix1QkFDSU4sZUFBZSxDQUFDRSxDQUFELENBRG5CLG1FQUMwQix5QkFBUSxvQkFBbUJDLE9BQU8sQ0FBQ0osR0FBUixDQUFZUSxHQUFJLHFCQUEzQyxDQUQxQjtBQUdIO0FBQ0osT0FSRCxDQVFFLE9BQU9DLEtBQVAsRUFBYztBQUNaLGFBQUssTUFBTUwsT0FBWCxJQUFzQlIsUUFBdEIsRUFBZ0M7QUFDNUJRLFVBQUFBLE9BQU8sQ0FBQ00sTUFBUixDQUFlRCxLQUFmO0FBQ0g7QUFDSjtBQUNKLEtBZnFCLEVBZ0J0QmxCLGdCQWhCc0IsRUFpQnRCUSxDQUFDLElBQUlZLElBQUksQ0FBQ0MsU0FBTCxDQUFlYixDQUFmLENBakJpQixDQUExQjtBQW1CSDs7QUFFTWMsRUFBQUEsU0FBUyxDQUFDVCxPQUFELEVBQWtEO0FBQzlELFdBQU8sS0FBS1Qsa0JBQUwsQ0FBd0JTLE9BQXhCLENBQVA7QUFDSDs7QUFFTUYsRUFBQUEsVUFBVSxDQUFDTixRQUFELEVBQThFO0FBQzNGLFdBQU9rQixPQUFPLENBQUNDLEdBQVIsQ0FBWW5CLFFBQVEsQ0FBQ0UsR0FBVCxDQUFhQyxDQUFDLElBQUksS0FBS2MsU0FBTCxDQUFlZCxDQUFmLENBQWxCLENBQVosQ0FBUDtBQUNIOztBQS9CeUU7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7Ozs7Ozs7Ozs7OzBCQUo5RFYscUI7MEJBSUhHLG9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlnZXN0UmVxdWVzdCB9IGZyb20gXCIuLi9UeXBlcy9EaWdlc3RSZXF1ZXN0XCI7XG5pbXBvcnQgeyBEaWdlc3RSZXNwb25zZSB9IGZyb20gXCIuLi9UeXBlcy9EaWdlc3RSZXNwb25zZVwiO1xuaW1wb3J0IHsgZGVib3VuY2VkTWVyZ2UsIE1lcmdlZFJlcXVlc3RzIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0VuZ2luZS9zcmMvSGVscGVycy9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBJdGVyVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vSXRlcmFibGVVdGlsc1wiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJRGlnZXN0QXBpQ2xpZW50IH0gZnJvbSBcIi4uL0lEaWdlc3RBcGlDbGllbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhEZWJvdW5jZWRCYXRjaGluZyhjbGllbnQ6IElEaWdlc3RBcGlDbGllbnQsIGRlYm91bmNlSW50ZXJ2YWw6IG51bWJlcik6IElEaWdlc3RBcGlDbGllbnQge1xuICAgIHJldHVybiBuZXcgRGlnZXN0QXBpQ2xpZW50V2l0aERlYm91bmNlZEJhdGNoaW5nKGNsaWVudCwgZGVib3VuY2VJbnRlcnZhbCk7XG59XG5cbmV4cG9ydCBjbGFzcyBEaWdlc3RBcGlDbGllbnRXaXRoRGVib3VuY2VkQmF0Y2hpbmcgaW1wbGVtZW50cyBJRGlnZXN0QXBpQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldERpZ2VzdERlYm91bmNlZDogKHJlcXVlc3Q6IERpZ2VzdFJlcXVlc3QpID0+IFByb21pc2U8RGlnZXN0UmVzcG9uc2U+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGlubmVyQ2xpZW50OiBJRGlnZXN0QXBpQ2xpZW50LCBkZWJvdW5jZUludGVydmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5nZXREaWdlc3REZWJvdW5jZWQgPSBkZWJvdW5jZWRNZXJnZShcbiAgICAgICAgICAgIGFzeW5jIChyZXF1ZXN0czogTWVyZ2VkUmVxdWVzdHM8RGlnZXN0UmVxdWVzdCwgRGlnZXN0UmVzcG9uc2U+KSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlnZXN0UmVxdWVzdHMgPSByZXF1ZXN0cy5tYXAoeCA9PiB4LmFyZyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZ2VzdFJlc3BvbnNlcyA9IGF3YWl0IGlubmVyQ2xpZW50LmdldERpZ2VzdHMoZGlnZXN0UmVxdWVzdHMpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtpLCByZXF1ZXN0XSBvZiBJdGVyVXRpbHMuaXRlcmF0ZUVudHJpZXMocmVxdWVzdHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnZXN0UmVzcG9uc2VzW2ldID8/IHJlamVjdChgUmVxdWVzdCBmb3IgZ0lkOicke3JlcXVlc3QuYXJnLmdJZH0gZG9lcyBub3QgcmVjZWl2ZWQnYClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlcXVlc3Qgb2YgcmVxdWVzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWJvdW5jZUludGVydmFsLFxuICAgICAgICAgICAgeCA9PiBKU09OLnN0cmluZ2lmeSh4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaWdlc3QocmVxdWVzdDogRGlnZXN0UmVxdWVzdCk6IFByb21pc2U8RGlnZXN0UmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGlnZXN0RGVib3VuY2VkKHJlcXVlc3QpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaWdlc3RzKHJlcXVlc3RzOiBSZWFkb25seUFycmF5PFJlYWRvbmx5PERpZ2VzdFJlcXVlc3Q+Pik6IFByb21pc2U8RGlnZXN0UmVzcG9uc2VbXT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVxdWVzdHMubWFwKHggPT4gdGhpcy5nZXREaWdlc3QoeCkpKTtcbiAgICB9XG59XG4iXX0=